Viedā skenēšana. Neaizsargātas programmatūras identificēšana klientu datoros Ko nozīmē neaizsargāta programmatūra?

Šobrīd ir izstrādāts liels skaits rīku, lai automatizētu programmu ievainojamību meklēšanu. Šajā rakstā tiks apspriesti daži no tiem.

Ievads

Statiskā koda analīze ir analīze programmatūra, kas tiek ražots uz programmu pirmkoda un tiek realizēts bez pētāmās programmas faktiskās izpildes.

Programmatūra bieži satur dažādas ievainojamības programmas koda kļūdu dēļ. Programmas izstrādes laikā pieļautās kļūdas dažās situācijās noved pie programmas atteices, līdz ar to tiek traucēta normāla programmas darbība: tas bieži izraisa izmaiņas un datu bojājumus, apturot programmu vai pat sistēmu. Lielākā daļa ievainojamību ir saistītas ar nepareizu no ārpuses saņemto datu apstrādi vai nepietiekami stingru to pārbaudi.

Ievainojamību identificēšanai tiek izmantotas dažādas metodes instrumenti, piemēram, programmas pirmkoda statiskie analizatori, kuru pārskats ir sniegts šajā rakstā.

Drošības ievainojamību klasifikācija

Ja tiek pārkāpta prasība programmai pareizi darboties ar visiem iespējamajiem ievades datiem, kļūst iespējama tā saukto drošības ievainojamību parādīšanās. Drošības ievainojamības var nozīmēt, ka vienu programmu var izmantot, lai pārvarētu visas sistēmas drošības ierobežojumus.

Drošības ievainojamību klasifikācija atkarībā no programmatūras kļūdām:

  • Bufera pārpilde. Šī ievainojamība rodas tāpēc, ka programmas izpildes laikā netiek kontrolēta masīva ārpus robežām atmiņā. Ja pārāk liela datu pakete pārpilda ierobežota izmēra buferi, ārējās atmiņas vietu saturs tiek pārrakstīts, izraisot programmas avāriju un iziešanu. Pamatojoties uz bufera atrašanās vietu procesa atmiņā, bufera pārpildes izšķir stekā (steka bufera pārpilde), kaudzītē (kaudzes bufera pārpilde) un statisko datu apgabalā (bss bufera pārpilde).
  • Bojāta ievades ievainojamība. Bojātas ievades ievainojamības var rasties, ja lietotāja ievade tiek nodota kādas ārējas valodas (parasti Unix apvalka vai SQL) tulkam bez pietiekamas kontroles. Šajā gadījumā lietotājs var norādīt ievades datus tādā veidā, ka palaists tulks izpildīs pavisam citu komandu, nekā bija iecerējuši ievainojamās programmas autori.
  • Formāta virknes ievainojamība. Šis tips Drošības ievainojamības ir "piesārņotās ievades" ievainojamības apakšklase. Tas rodas nepietiekamas parametru kontroles dēļ, izmantojot formāta I/O funkcijas printf, fprintf, scanf utt. standarta bibliotēka C valoda. Šo funkciju viens no parametriem izmanto rakstzīmju virkni, kas norāda turpmāko funkciju argumentu ievades vai izvades formātu. Ja lietotājs var norādīt formatējuma veidu, šī ievainojamība var rasties neveiksmīgas virkņu formatēšanas funkciju izmantošanas rezultātā.
  • Neaizsargātības sinhronizācijas kļūdu rezultātā (sacīkšu apstākļi). Problēmas, kas saistītas ar vairākuzdevumu veikšanu, rada situācijas, ko sauc par "sacīkšu nosacījumiem": programma, kas nav paredzēta darbībai daudzuzdevumu vidē, var uzskatīt, ka, piemēram, tās izmantotos failus nevar mainīt cita programma. Rezultātā uzbrucējs, kurš laikus nomaina šo darba failu saturu, var piespiest programmu veikt noteiktas darbības.

Protams, papildus uzskaitītajām ir arī citas drošības ievainojamību klases.

Esošo analizatoru apskats

Lai atklātu programmu drošības ievainojamības, tiek izmantoti šādi rīki:

  • Dinamiskie atkļūdotāji. Rīki, kas ļauj atkļūdot programmu tās izpildes laikā.
  • Statiskie analizatori (statiskie atkļūdotāji). Rīki, kas izmanto programmas statiskās analīzes laikā uzkrāto informāciju.

Statiskie analizatori norāda uz tām vietām programmā, kur var atrasties kļūda. Šīs aizdomīgās koda daļas var saturēt kļūdu vai būt pilnīgi nekaitīgas.

Šajā rakstā ir sniegts pārskats par vairākiem esošajiem statiskajiem analizatoriem. Apskatīsim katru no tiem tuvāk.

Dažos gadījumos ievainojamības rodas, izmantojot dažādas izcelsmes izstrādes rīkus, kas palielina risku, ka programmas kodā parādās sabotāžas tipa defekti.

Ievainojamības parādās, jo programmatūrai ir pievienoti trešās puses komponenti vai brīvi izplatīts kods (atvērtais kods). Kāda cita kods bieži tiek izmantots “tāds, kāds ir” bez rūpīgas analīzes un drošības pārbaudes.

Nedrīkst izslēgt arī iekšēju programmētāju klātbūtni komandā, kas apzināti ievieš papildus nedokumentētas funkcijas vai elementus topošajā produktā.

Programmas ievainojamību klasifikācija

Ievainojamības rodas kļūdu rezultātā, kas rodas projektēšanas vai kodēšanas posmā.

Atkarībā no rašanās stadijas šāda veida draudus iedala projektēšanas, ieviešanas un konfigurācijas ievainojamībās.

  1. Projektēšanas laikā pieļautās kļūdas ir visgrūtāk atklāt un novērst. Tās ir algoritmu neprecizitātes, grāmatzīmes, dažādu moduļu saskarnes vai protokolu nekonsekvence mijiedarbībai ar aparatūru un neoptimālu tehnoloģiju ieviešana. To likvidēšana ir ļoti darbietilpīgs process, tostarp tāpēc, ka tie var parādīties nepārprotamos gadījumos - piemēram, ja tiek pārsniegts paredzētais satiksmes apjoms vai pieslēgts liels daudzums papildu iekārtu, kas apgrūtina nepieciešamās nodrošināšanas drošības līmeni un rada veidus, kā apiet ugunsmūri.
  2. Īstenošanas ievainojamības parādās programmas rakstīšanas vai drošības algoritmu ieviešanas posmā. Tā ir nepareiza skaitļošanas procesa organizācija, sintaktiskie un loģiskie defekti. Pastāv risks, ka defekts var izraisīt bufera pārpildīšanu vai citas problēmas. To noteikšana aizņem daudz laika, un to novēršana ietver noteiktu mašīnas koda daļu labošanu.
  3. Aparatūras un programmatūras konfigurācijas kļūdas ir diezgan izplatītas. To bieži sastopamie iemesli ir nepietiekami kvalitatīva izstrāde un testu trūkums pareiza darbība papildu funkcijas. Šajā kategorijā var iekļaut arī vienkāršas paroles un noklusējuma konti atstāti nemainīgi.

Saskaņā ar statistiku, ievainojamības īpaši bieži tiek atrastas populāros un izplatītos produktos – galddatoros un mobilajos. operētājsistēmas, pārlūkprogrammas.

Ievainojamu programmu lietošanas risks

Programmas, kas atrod lielākais skaitlis ievainojamības ir instalētas gandrīz visos datoros. No kibernoziedznieku puses ir tieša interese atrast šādus trūkumus un rakstīt viņiem.

Tā kā no ievainojamības atklāšanas brīža līdz labojuma (ielāpa) publicēšanai paiet diezgan daudz laika, pastāv diezgan daudz iespēju inficēties datorsistēmas caur nepilnībām programmas koda drošībā. Šādā gadījumā lietotājam tikai vienu reizi jāatver, piemēram, ļaunprātīgs PDF fails ar izlietojumu, pēc kura uzbrucēji iegūs piekļuvi datiem.

Pēdējā gadījumā infekcija notiek saskaņā ar šādu algoritmu:

  • Lietotājs saņem e-pasts pikšķerēšanas e-pasts no uzticama sūtītāja.
  • Vēstulei ir pievienots fails ar eksploitu.
  • Ja lietotājs mēģina atvērt failu, dators tiek inficēts ar vīrusu, Trojas zirgu (šifrētāju) vai citu ļaunprātīgu programmu.
  • Kibernoziedznieki iegūst nesankcionētu piekļuvi sistēmai.
  • Tiek nozagti vērtīgi dati.

Dažādu uzņēmumu (Kaspersky Lab, Positive Technologies) veiktie pētījumi liecina, ka ievainojamības pastāv gandrīz jebkurā lietojumprogrammā, tostarp antivīrusos. Tāpēc iespējamība, ka tiks instalēts programmatūras produkts, kurā ir dažādas kritiskuma pakāpes trūkumi, ir ļoti augsta.

Lai minimizētu programmatūras nepilnību skaitu, nepieciešams izmantot SDL (Security Development Lifecycle, safe development life cycle). SDL tehnoloģija tiek izmantota, lai samazinātu kļūdu skaitu lietojumprogrammās visos to izveides un atbalsta posmos. Tādējādi, izstrādājot programmatūru, informācijas drošības speciālisti un programmētāji modelē kiberdraudus, lai atrastu ievainojamības. Programmēšanas laikā procesā tiek iekļauti automātiskie rīki, lai nekavējoties ziņotu par iespējamiem trūkumiem. Izstrādātāji cenšas būtiski ierobežot neuzticamiem lietotājiem pieejamo funkcionalitāti, kas palīdz samazināt uzbrukuma virsmu.

Lai samazinātu ievainojamību ietekmi un to radīto kaitējumu, jums jāievēro daži noteikumi:

  • Nekavējoties instalējiet izstrādātāju izdotos labojumus (ielāpus) lietojumprogrammām vai (vēlams) iespējojiet automātiskais režīms atjauninājumus.
  • Ja iespējams, neinstalējiet apšaubāmas programmas, kuru kvalitāte un tehniskā palīdzība uzdot jautājumus.
  • Izmantojiet īpašus ievainojamības skenerus vai specializētas pretvīrusu produktu funkcijas, kas ļauj meklēt drošības kļūdas un, ja nepieciešams, atjaunināt programmatūru.

Uzsākšanas laikā viedā skenēšana Avast programma pārbaudīs, vai jūsu datorā nav šādu problēmu veidu, un pēc tam piedāvās risinājumus to risināšanai.

  • Vīrusi: faili, kas satur ļaunprātīgs kods, kas var ietekmēt datora drošību un veiktspēju.
  • Neaizsargāta programmatūra: programmas, kuras ir jāatjaunina un kuras var izmantot uzbrucēji, lai piekļūtu jūsu sistēmai.
  • Pārlūka paplašinājumi ar sliktu reputāciju: pārlūkprogrammas paplašinājumi, kas parasti tiek instalēti bez jūsu ziņas un ietekmē sistēmas veiktspēju.
  • Vājas paroles: paroles, kas tiek izmantotas, lai piekļūtu vairāk nekā vienai konts tiešsaistē, un to var viegli uzlauzt vai uzlauzt.
  • Tīkla draudi: jūsu tīkla ievainojamības, kas var pieļaut uzbrukumus jūsu tīkla ierīcēm un maršrutētājam.
  • Veiktspējas problēmas: objekti ( nevajadzīgos failus un lietojumprogrammas, problēmas, kas saistītas ar iestatījumiem), kas var traucēt datora darbību.
  • Konfliktējoši antivīrusi: datorā instalētas pretvīrusu programmas, izmantojot Avast. Vairāku pieejamība pretvīrusu programmas palēnina datora darbību un samazina pretvīrusu aizsardzības efektivitāti.

Piezīme. Lai atrisinātu noteiktas problēmas, ko atklāj Smart Scan, var būt nepieciešama atsevišķa licence. Nevajadzīgu problēmu veidu noteikšanu var atspējot .

Atklāto problēmu risināšana

Zaļa atzīme blakus skenēšanas apgabalam norāda, ka ar šo apgabalu nav atrastas problēmas. Sarkanais krusts nozīmē, ka skenēšana ir identificējusi vienu vai vairākas saistītas problēmas.

Lai skatītu konkrētu informāciju par konstatētajām problēmām, noklikšķiniet uz Atrisiniet visu. Smart Scan parāda detalizētu informāciju par katru problēmu un piedāvā iespēju to nekavējoties novērst, noklikšķinot uz vienuma Izlemiet vai dariet to vēlāk, noklikšķinot Izlaist šo soli.

Piezīme. Pretvīrusu skenēšanas žurnālus var redzēt skenēšanas vēsturē, kurai var piekļūt, atlasot Aizsardzība pretvīrusu.

Pārvaldiet viedās skenēšanas iestatījumus

Lai mainītu Smart Scan iestatījumus, atlasiet Iestatījumi Vispārīgi Smart Scan un norādiet, kuram no tālāk norādītajiem problēmu veidiem vēlaties veikt viedo skenēšanu.

  • Vīrusi
  • Novecojusi programmatūra
  • Pārlūka papildinājumi
  • Tīkla draudi
  • Saderības problēmas
  • Veiktspējas problēmas
  • Vājas paroles

Pēc noklusējuma visi problēmu veidi ir iespējoti. Lai pārtrauktu konkrētas problēmas pārbaudi, palaižot viedo skenēšanu, noklikšķiniet uz slīdņa Iekļauts blakus problēmas veidam, lai tas mainītu stāvokli uz Izslēgts.

Klikšķis Iestatījumi blakus uzrakstam Vīrusu skenēšana lai mainītu skenēšanas iestatījumus.