Ağıllı tarama. Müştəri kompüterlərində həssas proqram təminatının müəyyən edilməsi Həssas proqram təminatı nə deməkdir?

Hazırda proqram zəifliklərinin axtarışını avtomatlaşdırmaq üçün çoxlu sayda alətlər hazırlanmışdır. Bu məqalə onlardan bəzilərini müzakirə edəcək.

Giriş

Statik kod analizi analizdir proqram təminatı, proqramların mənbə kodunda istehsal olunur və tədqiq olunan proqramın faktiki icrası olmadan həyata keçirilir.

Proqram kodundakı səhvlər səbəbindən proqram tez-tez müxtəlif boşluqları ehtiva edir. Proqramın işlənməsi zamanı buraxılan səhvlər bəzi hallarda proqramın uğursuzluğuna gətirib çıxarır və nəticədə proqramın normal fəaliyyəti pozulur: bu, çox vaxt məlumatların dəyişməsi və zədələnməsi, proqramın və ya hətta sistemin dayandırılması ilə nəticələnir. Əksər boşluqlar kənardan alınan məlumatların düzgün işlənməməsi və ya onların kifayət qədər ciddi yoxlanılması ilə bağlıdır.

Zəiflikləri müəyyən etmək üçün müxtəlif üsullardan istifadə olunur alətlər məsələn, proqramın mənbə kodunun statik analizatorları, onların icmalı bu məqalədə verilmişdir.

Təhlükəsizlik zəifliklərinin təsnifatı

Proqramın bütün mümkün giriş məlumatları üzərində düzgün işləməsi tələbi pozulduqda, sözdə təhlükəsizlik zəifliklərinin görünüşü mümkün olur. Təhlükəsizlik zəiflikləri bir proqramın bütün sistemin təhlükəsizlik məhdudiyyətlərini aradan qaldırmaq üçün istifadə oluna biləcəyini ifadə edə bilər.

Proqram xətalarından asılı olaraq təhlükəsizlik zəifliklərinin təsnifatı:

  • Bufer daşması. Bu zəiflik proqramın icrası zamanı yaddaşda həddən artıq massiv üzərində nəzarətin olmaması səbəbindən baş verir. Çox böyük olan məlumat paketi məhdud ölçülü buferi aşdıqda, kənar yaddaş yerlərinin məzmunu üzərinə yazılır, bu da proqramın çökməsinə və çıxmasına səbəb olur. Proses yaddaşında buferin yerləşdiyi yerdən asılı olaraq, bufer daşqınları stekdə (stek buferinin daşması), yığın (yığın buferin daşması) və statik məlumat sahəsində (bss bufer daşması) fərqlənir.
  • Zədələnmiş giriş zəifliyi. İstifadəçi girişi kifayət qədər nəzarət olmadan bəzi xarici dilin (adətən Unix qabığı və ya SQL) tərcüməçisinə ötürüldükdə korlanmış giriş zəiflikləri baş verə bilər. Bu halda, istifadəçi giriş məlumatlarını elə təyin edə bilər ki, işə salınmış tərcüməçi həssas proqramın müəllifləri tərəfindən nəzərdə tutulduğundan tamamilə fərqli bir əmr yerinə yetirəcək.
  • Format sətri zəifliyi. Bu tip Təhlükəsizlik zəiflikləri "çirklənmiş giriş" zəifliyinin alt sinfidir. Bu, printf, fprintf, scanf və s. format I/O funksiyalarından istifadə edərkən parametrlərin qeyri-kafi idarə olunması səbəbindən baş verir. standart kitabxana C dili. Bu funksiyalar öz parametrlərindən biri kimi sonrakı funksiya arqumentlərinin giriş və ya çıxış formatını təyin edən simvol sətrini götürür. Əgər istifadəçi formatlaşdırma növünü təyin edə bilsə, bu zəiflik sətir formatlaşdırma funksiyalarından uğursuz istifadə nəticəsində yarana bilər.
  • Sinxronizasiya xətaları nəticəsində yaranan zəifliklər (yarış şərtləri). Multitasking ilə bağlı problemlər "yarış şərtləri" adlanan vəziyyətlərə gətirib çıxarır: multitasking mühitində işləmək üçün nəzərdə tutulmayan proqram, məsələn, istifadə etdiyi faylların başqa proqram tərəfindən dəyişdirilə bilməyəcəyinə inana bilər. Nəticədə, bu iş fayllarının məzmununu vaxtında əvəz edən təcavüzkar proqramı müəyyən hərəkətləri etməyə məcbur edə bilər.

Əlbəttə ki, sadalananlara əlavə olaraq, təhlükəsizlik zəifliklərinin başqa sinifləri də var.

Mövcud analizatorların nəzərdən keçirilməsi

Proqramlarda təhlükəsizlik zəifliklərini aşkar etmək üçün aşağıdakı vasitələrdən istifadə olunur:

  • Dinamik sazlayıcılar. Proqramın icrası zamanı onu sazlamağa imkan verən alətlər.
  • Statik analizatorlar (statik sazlayıcılar). Proqramın statik təhlili zamanı toplanmış məlumatlardan istifadə edən alətlər.

Statik analizatorlar proqramda xətanın yerləşə biləcəyi yerləri göstərir. Bu şübhəli kod parçaları ya xəta ehtiva edə bilər, ya da tamamilə zərərsiz ola bilər.

Bu məqalə bir neçə mövcud statik analizatorun icmalını təqdim edir. Gəlin onların hər birinə daha yaxından nəzər salaq.

Bəzi hallarda zəifliklər proqram kodunda təxribat xarakterli qüsurların yaranması riskini artıran müxtəlif mənşəli inkişaf alətlərinin istifadəsi səbəbindən yaranır.

Zəifliklər proqram təminatına üçüncü tərəf komponentlərinin və ya sərbəst paylanmış kodun (açıq mənbə) əlavə edilməsi səbəbindən yaranır. Başqasının kodu tez-tez hərtərəfli təhlil və təhlükəsizlik testi olmadan “olduğu kimi” istifadə olunur.

Yaradılan məhsula qəsdən əlavə sənədsiz funksiyalar və ya elementlər daxil edən komandada insayder proqramçıların olmasını istisna etmək olmaz.

Proqram zəifliklərinin təsnifatı

Zəifliklər dizayn və ya kodlaşdırma mərhələsində baş verən səhvlər nəticəsində yaranır.

Baş vermə mərhələsindən asılı olaraq, bu təhlükə növü dizayn, həyata keçirmə və konfiqurasiya zəifliklərinə bölünür.

  1. Dizayn zamanı edilən səhvləri aşkar etmək və aradan qaldırmaq ən çətin olanlardır. Bunlar alqoritmlərdə, əlfəcinlərdəki qeyri-dəqiqliklər, müxtəlif modullar arasındakı interfeysdə və ya texniki vasitələrlə qarşılıqlı əlaqə protokollarında uyğunsuzluqlar və optimal olmayan texnologiyaların tətbiqidir. Onların aradan qaldırılması çox zəhmət tələb edən bir prosesdir, o cümlədən qeyri-aşkar hallarda - məsələn, nəzərdə tutulan trafik həcmini aşdıqda və ya böyük miqdarda əlavə avadanlıq qoşulduqda görünə bilər ki, bu da tələb olunan avadanlıqların təmin edilməsini çətinləşdirir. təhlükəsizlik səviyyəsini artırır və firewalldan yan keçmə yollarının yaranmasına gətirib çıxarır.
  2. Tətbiqetmə zəiflikləri proqramın yazılması və ya ona təhlükəsizlik alqoritmlərinin tətbiqi mərhələsində görünür. Bu, hesablama prosesinin düzgün təşkil edilməməsi, sintaktik və məntiqi qüsurlardır. Qüsurun buferin daşmasına və ya digər problemlərə səbəb olması riski var. Onları aşkar etmək çox vaxt aparır və onların aradan qaldırılması maşın kodunun müəyyən hissələrinin düzəldilməsini nəzərdə tutur.
  3. Avadanlıq və proqram təminatının konfiqurasiya səhvləri olduqca yaygındır. Onların ümumi səbəbləri kifayət qədər yüksək keyfiyyətli inkişaf və testlərin olmamasıdır düzgün əməliyyat əlavə funksiyalar. Bu kateqoriyaya da daxil ola bilər sadə parollar və defolt hesablar dəyişməz qalıb.

Statistikaya görə, zəifliklərə xüsusilə populyar və ümumi məhsullarda - masaüstü və mobil cihazlarda rast gəlinir. əməliyyat sistemləri, brauzerlər.

Zəif proqramlardan istifadə riskləri

Tapan proqramlar ən böyük rəqəm zəifliklər demək olar ki, bütün kompüterlərdə quraşdırılıb. Kibercinayətkarların birbaşa marağı var ki, bu cür qüsurları tapıb onlar üçün yazılar.

Zəifliyin aşkar edildiyi andan düzəlişin (yamanın) dərcinə qədər xeyli vaxt keçdiyi üçün yoluxdurmaq üçün kifayət qədər imkanlar var. kompüter sistemləri proqram kodunun təhlükəsizliyindəki boşluqlar vasitəsilə. Bu halda, istifadəçi yalnız bir dəfə, məsələn, istismara malik zərərli PDF faylını açmalıdır, bundan sonra təcavüzkarlar məlumatlara giriş əldə edəcəklər.

Sonuncu halda infeksiya aşağıdakı alqoritmə uyğun olaraq baş verir:

  • İstifadəçi qəbul edir e-poçt etibarlı göndəricidən gələn fişinq e-poçtu.
  • Məktuba istismarı olan fayl əlavə olunur.
  • Əgər istifadəçi faylı açmağa cəhd edərsə, kompüter virus, troyan (şifrələyici) və ya digər zərərli proqramla yoluxmuş olur.
  • Kibercinayətkarlar sistemə icazəsiz giriş əldə edirlər.
  • Dəyərli məlumatlar oğurlanır.

Müxtəlif şirkətlər (Kaspersky Lab, Positive Technologies) tərəfindən aparılan araşdırmalar göstərir ki, zəifliklər antiviruslar da daxil olmaqla, demək olar ki, istənilən proqramda mövcuddur. Buna görə də, müxtəlif dərəcədə tənqidi qüsurları olan bir proqram məhsulunun quraşdırılması ehtimalı çox yüksəkdir.

Proqram təminatındakı boşluqların sayını minimuma endirmək üçün SDL-dən (Security Development Lifecycle, secure development lifecycle) istifadə etmək lazımdır. SDL texnologiyası tətbiqlərin yaradılmasının və dəstəklənməsinin bütün mərhələlərində tətbiqlərdəki səhvlərin sayını azaltmaq üçün istifadə olunur. Beləliklə, proqram təminatının layihələndirilməsi zamanı informasiya təhlükəsizliyi üzrə mütəxəssislər və proqramçılar zəiflikləri tapmaq üçün kibertəhlükələri modelləşdirirlər. Proqramlaşdırma zamanı potensial qüsurları dərhal bildirmək üçün avtomatik alətlər prosesə daxil edilir. Tərtibatçılar etibarsız istifadəçilər üçün mövcud olan funksionallığı əhəmiyyətli dərəcədə məhdudlaşdırmağa çalışırlar ki, bu da hücum səthini azaltmağa kömək edir.

Zəifliklərin təsirini və onların vurduğu zərəri minimuma endirmək üçün bəzi qaydalara əməl etməlisiniz:

  • Tətbiqlər üçün tərtibatçı tərəfindən buraxılmış düzəlişləri (yamaqları) dərhal quraşdırın və ya (tercihen) aktivləşdirin avtomatik rejim yeniləmələr.
  • Mümkünsə, keyfiyyəti və keyfiyyəti şübhəli olan proqramları quraşdırmayın texniki dəstək suallar qaldırın.
  • Təhlükəsizlik xətalarını axtarmağa və lazım olduqda proqramı yeniləməyə imkan verən xüsusi zəiflik skanerlərindən və ya antivirus məhsullarının xüsusi funksiyalarından istifadə edin.

Başlanğıcda ağıllı tarama Avast proqramı kompüterinizi aşağıdakı problem növləri üçün yoxlayacaq və sonra onları həll etmək üçün həll yolları təklif edəcək.

  • Viruslar: ehtiva edən fayllar zərərli kod, bu, kompüterinizin təhlükəsizliyinə və performansına təsir edə bilər.
  • Həssas proqram təminatı: Yenilənmə tələb edən və sisteminizə daxil olmaq üçün təcavüzkarlar tərəfindən istifadə edilə bilən proqramlar.
  • Pis reputasiyaya malik brauzer uzantıları: Adətən sizin məlumatınız olmadan quraşdırılan və sistemin işinə təsir edən brauzer genişləndirmələri.
  • Zəif parollar: Birdən çox daxil olmaq üçün istifadə edilən parollar hesab online və asanlıqla sındırıla və ya sındırıla bilər.
  • Şəbəkə təhdidləri: Şəbəkə cihazlarınıza və marşrutlaşdırıcınıza hücumlara icazə verə biləcək şəbəkənizdəki boşluqlar.
  • Performans problemləri: obyektlər ( lazımsız fayllar və proqramlar, parametrlərlə bağlı problemlər) kompüterin işinə mane ola bilər.
  • Ziddiyyətli antiviruslar: Avast ilə kompüterinizdə quraşdırılmış antivirus proqramları. Bir neçəsinin mövcudluğu antivirus proqramları kompüterinizi yavaşlatır və antivirusdan qorunmanın effektivliyini azaldır.

Qeyd. Smart Scan tərəfindən aşkar edilən bəzi problemlərin həlli üçün ayrıca lisenziya tələb oluna bilər. Lazımsız problem növlərinin aşkarlanması .

Aşkar edilmiş problemlərin həlli

Skan sahəsinin yanındakı yaşıl onay işarəsi həmin sahədə heç bir problem aşkar edilmədiyini göstərir. Qırmızı xaç, taramanın bir və ya daha çox əlaqəli problemi müəyyən etdiyini bildirir.

Aşkar edilmiş problemlər haqqında xüsusi təfərrüatları görmək üçün klikləyin Hər şeyi həll edin. Smart Scan hər bir problemin təfərrüatlarını göstərir və elementə klikləməklə onu dərhal həll etmək seçimini təklif edir Qərar ver və ya klikləməklə bunu daha sonra edin Bu addımı keçmək.

Qeyd. Antivirus skan qeydləri skan tarixçəsində görünə bilər ki, bu da seçimlə əldə edilə bilər Qoruma Antivirus.

Smart Scan Parametrlərini idarə edin

Smart Scan parametrlərini dəyişmək üçün seçin Parametrlər Ümumi Smart Scan və aşağıdakı problem növlərindən hansını ağıllı skan etmək istədiyinizi təyin edin.

  • Viruslar
  • Köhnəlmiş proqram təminatı
  • Brauzer əlavələri
  • Şəbəkə təhdidləri
  • Uyğunluq problemləri
  • Performans problemləri
  • Zəif parollar

Varsayılan olaraq, bütün problem növləri aktivdir. Smart Scan işlədərkən müəyyən bir problemin yoxlanılmasını dayandırmaq üçün slayderə klikləyin Daxildir vəziyyəti dəyişdirmək üçün problem tipinin yanında Söndürülüb.

basın Parametrlər yazısının yanında Virus taraması skan parametrlərini dəyişdirmək üçün.