Tarkvara haavatavused. Nutikas skannimine. Avastatud probleemide lahendamine

Haavatavuse haldamine on haavatavuste kõrvaldamiseks mõeldud lahenduste tuvastamine, hindamine, klassifitseerimine ja valimine. Haavatavuse haldamise aluseks on haavatavuste kohta teabe hoidlad, millest üks on haavatavuse haldussüsteem "Edasi jälgimine".

Meie lahendus jälgib teabe ilmumist haavatavuste kohta operatsioonisüsteemides (Windows, Linux/Unix-põhine), kontori- ja rakendustarkvaras, riistvaratarkvaras ja infoturbetööriistades.

Andmeallikad

Tarkvara haavatavuse haldussüsteemi Perspective Monitoring andmebaasi uuendatakse automaatselt järgmistest allikatest:

  • Venemaa infoturbeohtude andmepank (BDU BI) FSTEC.
  • National Vulnerability Database (NVD) NIST.
  • Red Hat Bugzilla.
  • Debiani turvalisuse veajälgija.
  • CentOS-i meililist.

Samuti kasutame oma haavatavuse andmebaasi värskendamiseks automatiseeritud meetodit. Oleme välja töötanud veebilehtede roomaja ja struktureerimata andmeparseri, mis analüüsib iga päev enam kui sadat erinevat välis- ja venekeelset allikat mitmete märksõnade jaoks – sotsiaalvõrgustike grupid, ajaveebid, mikroblogid, infotehnoloogiale ja infoturbele pühendatud meedia. Kui need tööriistad leiavad midagi, mis vastab otsingukriteeriumidele, kontrollib analüütik seda teavet käsitsi ja sisestab selle haavatavuse andmebaasi.

Tarkvara haavatavuse jälgimine

Haavatavuse haldussüsteemi abil saavad arendajad jälgida avastatud turvaaukude olemasolu ja olekut oma tarkvara kolmanda osapoole komponentides.

Näiteks Hewlett Packard Enterprise'i Secure Software Developer Life Cycle (SSDLC) mudelis on kolmanda osapoole teekide juhtimine kesksel kohal.

Meie süsteem jälgib haavatavuste olemasolu sama tarkvaratoote paralleelsetes versioonides/järgides.

See toimib järgmiselt:

1. Arendaja esitab meile tootes kasutatavate kolmandate osapoolte teekide ja komponentide loendi.

2. Kontrollime iga päev:

b. kas on ilmnenud meetodid varem avastatud haavatavuste kõrvaldamiseks.

3. Teavitame arendajat, kui haavatavuse olek või skoor on muutunud, vastavalt määratud eeskujule. See tähendab, et sama ettevõtte erinevad arendusmeeskonnad saavad hoiatusi ja näevad haavatavuse olekut ainult selle toote puhul, millega nad töötavad.

Haavatavuse haldussüsteemi hoiatussagedus on konfigureeritav, kuid kui tuvastatakse haavatavus, mille CVSS skoor on suurem kui 7,5, saavad arendajad kohe hoiatuse.

Integratsioon ViPNet TIAS-iga

ViPNet Threat Intelligence Analytics System tarkvara- ja riistvarasüsteem tuvastab automaatselt arvutirünnakud ja tuvastab intsidendid erinevatest allikatest saadud infoturbesündmuste põhjal. ViPNet TIAS-i peamiseks sündmuste allikaks on ViPNet IDS, mis analüüsib sissetulevat ja väljaminevat võrguliiklust, kasutades AM Rules'i otsustusreeglite baasi, mille on välja töötanud Perspective Monitoring. Mõned allkirjad on kirjutatud turvaaukude ärakasutamise tuvastamiseks.

Kui ViPNet TIAS tuvastab infoturbe intsidendi, milles turvaauku ära kasutati, siis kogu haavatavusega seotud info, sealhulgas negatiivse mõju kõrvaldamise või kompenseerimise meetodid, sisestatakse haldussüsteemist automaatselt juhtumikaardile.

Juhtumihaldussüsteem aitab ka infoturbeintsidentide uurimisel, pakkudes analüütikutele teavet ohunäitajate ja võimalike intsidendi poolt mõjutatud infoinfrastruktuuri sõlmede kohta.

Turvaaukude olemasolu jälgimine infosüsteemides

Teine haavatavuse haldussüsteemi kasutamise stsenaarium on nõudmisel skaneerimine.

Klient genereerib iseseisvalt, kasutades sisseehitatud tööriistu või meie poolt väljatöötatud skripti, nimekirja süsteemi- ja rakendustarkvarast ning sõlme installitud komponentidest (tööjaam, server, DBMS, tarkvarapakett, võrguseadmed), edastab selle loendi juhtseadmele. süsteemi ja saab aruande avastatud turvaaukude kohta ja perioodilisi teateid nende oleku kohta.

Erinevused süsteemi ja tavaliste haavatavusskannerite vahel:

  • Ei nõua seireagentide paigaldamist sõlmedele.
  • Ei koorma võrku, kuna lahenduse arhitektuur ise ei paku skannimisagente ja servereid.
  • Ei koorma seadmeid, kuna komponentide loend luuakse süsteemikäskude või kerge avatud lähtekoodiga skripti abil.
  • Kõrvaldab teabelekke võimaluse. "Prospektiivne monitooring" ei saa usaldusväärselt teada midagi infosüsteemi sõlme füüsilise ja loogilise asukoha või funktsionaalse eesmärgi kohta. Ainus teave, mis väljub kliendi kontrollitavast perimeetrist, on txt-fail tarkvarakomponentide loendiga. Selle faili sisu kontrollib ja laadib kontrollsüsteemi üles klient ise.
  • Süsteemi toimimiseks ei vaja me kontrollitud sõlmedes kontosid. Teavet kogub saidi administraator enda nimel.
  • Turvaline infovahetus ViPNet VPN, IPseci või https kaudu.

Haavatavuse haldusteenusega "Prospektiivne jälgimine" ühendamine aitab kliendil täita Venemaa FSTECi korralduste nr 17 ja 21 nõuet ANZ.1 "Infosüsteemi haavatavuste tuvastamine, analüüs ja äsja tuvastatud haavatavuste kiire kõrvaldamine". Meie ettevõte on Venemaa FSTECi litsentsisaaja konfidentsiaalse teabe tehnilise kaitsega seotud tegevusteks.

Hind

Miinimumkulu - 25 000 rubla aastas 50 süsteemiga ühendatud sõlme kohta, kui on olemas kehtiv liitumisleping

Alglaadimisel nutikas skaneerimine Avast kontrollib teie arvutit järgmist tüüpi probleemide suhtes ja pakub seejärel neile lahendusi.

  • Viirused: failid, mis sisaldavad pahatahtlikku koodi, mis võib mõjutada teie arvuti turvalisust ja jõudlust.
  • Haavatav tarkvara: programmid, mis vajavad värskendamist ja mida ründajad saavad kasutada teie süsteemile juurdepääsu saamiseks.
  • Halva mainega brauserilaiendid: brauserilaiendused, mis installitakse tavaliselt teie teadmata ja mõjutavad süsteemi jõudlust.
  • Nõrgad paroolid: paroolid, mida kasutatakse rohkem kui ühele võrgukontole juurdepääsuks ja mida saab kergesti häkkida või ohustada.
  • Võrguohud: teie võrgu haavatavused, mis võivad lubada rünnata teie võrguseadmeid ja ruuterit.
  • Jõudlusprobleemid: objektid (ebavajalikud failid ja rakendused, seadistustega seotud probleemid), mis võivad arvuti tööd häirida.
  • Vastuolulised viirusetõrjed: Avastiga teie arvutisse installitud viirusetõrjeprogrammid. Mitme viirusetõrjeprogrammi olemasolu aeglustab teie arvutit ja vähendab viirusetõrje tõhusust.

Märge. Teatud Smart Scani tuvastatud probleemide lahendamiseks võib olla vaja eraldi litsentsi. Mittevajalike probleemitüüpide tuvastamise saab rakenduses keelata.

Avastatud probleemide lahendamine

Roheline linnuke skannimisala kõrval näitab, et selle alaga probleeme ei leitud. Punane rist tähendab, et skannimine on tuvastanud ühe või mitu seotud probleemi.

Avastatud probleemide täpsemate üksikasjade vaatamiseks klõpsake nuppu Lahenda kõik. Smart Scan näitab iga probleemi üksikasju ja pakub võimalust see kohe üksusel klõpsates lahendada Otsustama või tehke seda hiljem, klõpsates Jätke see samm vahele.

Märge. Viirusetõrjekontrolli logisid näete kontrollimise ajaloos, millele pääseb juurde valides Kaitse viirusetõrje.

Nutika skannimise seadete haldamine

Nutika skannimise sätete muutmiseks valige Seaded Üldine Smart Scan ja määrake, millist järgmistest probleemitüüpidest soovite nutikalt skannida.

  • Viirused
  • Aegunud tarkvara
  • Brauseri lisandmoodulid
  • Võrguohud
  • Ühilduvusprobleemid
  • Jõudlusprobleemid
  • Nõrgad paroolid

Vaikimisi on kõik probleemitüübid lubatud. Konkreetse probleemi kontrollimise lõpetamiseks Smart Scani käivitamisel klõpsake liugurit Kaasas probleemi tüübi kõrval, nii et see muudab olekuks Välja lülitatud.

Klõpsake Seaded pealdise kõrval Viiruste skaneerimine skannimisseadete muutmiseks.

Praegu on programmi haavatavuste otsimise automatiseerimiseks välja töötatud suur hulk tööriistu. Selles artiklis käsitletakse mõnda neist.

Sissejuhatus

Staatilise koodi analüüs on tarkvaraanalüüs, mida tehakse programmide lähtekoodil ja mida rakendatakse uuritavat programmi tegelikult käivitamata.

Tarkvara sisaldab sageli erinevaid turvaauke, mis on tingitud programmikoodi vigadest. Programmi arendamise käigus tehtud vead viivad mõnes olukorras programmi tõrkeni ja sellest tulenevalt on häiritud programmi normaalne töö: selle tagajärjeks on sageli muudatused ja andmete kahjustamine, programmi või isegi süsteemi seiskumine. Enamik turvaauke on seotud väljastpoolt saadud andmete ebaõige töötlemisega või nende ebapiisavalt range kontrollimisega.

Turvaaukude tuvastamiseks kasutatakse erinevaid tööriistu, näiteks programmi lähtekoodi staatilisi analüsaatoreid, millest antud artikkel annab ülevaate.

Turvahaavatavuste klassifikatsioon

Kui rikutakse nõuet, et programm töötaks korrektselt kõigil võimalikel sisendandmetel, muutub võimalikuks nn turvaaukude ilmnemine. Turvanõrkused võivad tähendada, et ühte programmi saab kasutada terve süsteemi turvapiirangute ületamiseks.

Turvahaavatavuste klassifikatsioon sõltuvalt tarkvaravigadest:

  • Puhvri ülevool. See haavatavus ilmneb seetõttu, et programmi täitmise ajal ei ole kontrollitud massiivi, mis on mälus olevatest piiridest väljas. Kui liiga suur andmepakett ajab üle piiratud suurusega puhvri, kirjutatakse kõrvaliste mälukohtade sisu üle, mis põhjustab programmi krahhi ja väljumise. Puhvri asukoha järgi protsessimälus eristatakse puhvri ületäitumisi pinul (stack buffer overflow), kuhja (heap buffer overflow) ja staatilist andmeala (bss buffer overflow).
  • Rikutud sisendi haavatavus. Rikutud sisendi haavatavused võivad ilmneda siis, kui kasutaja sisend edastatakse mõne välise keele (tavaliselt Unixi shell või SQL) tõlgile ilma piisava kontrollita. Sel juhul saab kasutaja määrata sisendandmed nii, et käivitatud tõlk täidab hoopis teistsuguse käsu, kui haavatava programmi autorid ette nägid.
  • Vormingu stringi haavatavus. Seda tüüpi turvahaavatavus on "rikutud sisendi" haavatavuse alamklass. See tekib parameetrite ebapiisava kontrolli tõttu, kui kasutatakse C standardteegi vormingu I/O funktsioone printf, fprintf, scanf jne. Need funktsioonid võtavad ühe parameetrina märgistringi, mis määrab järgnevate funktsiooniargumentide sisend- või väljundvormingu. Kui kasutaja saab määrata vormingu tüübi, võib see haavatavus tuleneda stringivormingu funktsioonide ebaõnnestunud kasutamisest.
  • Sünkroniseerimisvigade (rassitingimuste) tagajärjel tekkinud haavatavused. Multitegumtööga seotud probleemid toovad kaasa olukordi, mida nimetatakse "võistlustingimusteks": programm, mis ei ole loodud töötama multitegumtöökeskkonnas, võib arvata, et näiteks tema kasutatavaid faile ei saa teine ​​programm muuta. Selle tulemusena võib ründaja, kes asendab nende tööfailide sisu õigel ajal, sundida programmi teatud toiminguid tegema.

Loomulikult on lisaks loetletutele ka teisi turvanõrkuste klasse.

Olemasolevate analüsaatorite ülevaade

Programmide turvaaukude tuvastamiseks kasutatakse järgmisi tööriistu.

  • Dünaamilised silujad. Tööriistad, mis võimaldavad teil programmi täitmise ajal siluda.
  • Staatilised analüsaatorid (staatilised silurid). Tööriistad, mis kasutavad programmi staatilise analüüsi käigus kogutud teavet.

Staatilised analüsaatorid osutavad programmis neile kohtadele, kus võib viga olla. Need kahtlased koodilõigud võivad sisaldada viga või olla täiesti kahjutud.

See artikkel annab ülevaate mitmest olemasolevast staatilisest analüsaatorist. Vaatame igaüks neist lähemalt.

Teine viis probleemi lahendamiseks on see, et ettevõtted peavad kiiresti reageerima, kui rakendusel on haavatavus. See eeldab, et IT suudab automatiseerimise ja standardsete tööriistade abil lõpuks jälgida installitud rakendusi, komponente ja plaastreid. Tööstuses on tehtud jõupingutusi, et standardida tarkvarasilte (19770-2), mis on XML-failid, mis on installitud koos rakenduse, komponendi ja/või paigaga, mis tuvastavad installitud tarkvara ja komponendi või paiga puhul, mis rakenduse need on. osa. Märgistustel on teave avaldaja volituste kohta, versiooniteave, failide loend koos failinimega, faili turvaline räsi ja suurus, mille abil saab kinnitada, et installitud rakendus on süsteemis ja binaarfaile pole installitud. mida on muutnud kolmas osapool. Need sildid on kirjastaja poolt digitaalselt allkirjastatud.

Kui haavatavus on teada, saavad IT-osakonnad kasutada oma varahaldustarkvara haavatava tarkvaraga süsteemide viivitamatuks tuvastamiseks ja astuda samme süsteemide värskendamiseks. Sildid võivad olla osa paigast või värskendusest, mille abil saab kontrollida, kas plaaster on installitud. Nii saavad IT-osakonnad kasutada ressursse, nagu NIST National Vulnerability Database, oma varahaldustööriistade haldamiseks, nii et kui ettevõte on haavatavuse NVD-le esitanud, saab IT kohe võrrelda uusi turvaauke enda omadega.

Rühm ettevõtteid töötab IEEE/ISTO mittetulundusühingu TagVault.org (www.tagvault.org) kaudu koos USA valitsusega standardi ISO 19770-2 standardse juurutamise nimel, mis võimaldab seda automatiseerimist. Mingil hetkel on need sellele rakendusele vastavad sildid tõenäoliselt USA valitsusele müüdava tarkvara jaoks järgmise paari aasta jooksul kohustuslikud.

Nii et päeva lõpuks on hea tava mitte postitada selle kohta, milliseid rakendusi ja konkreetseid tarkvaraversioone kasutate, kuid see võib olla keeruline, nagu varem öeldud. Soovite tagada, et teil oleks täpne ja ajakohane tarkvaravaru, et seda võrreldaks regulaarselt teadaolevate haavatavuste loendiga (nt NVD NVID-iga) ja et IT saaks ohu kõrvaldamiseks kohe tegutseda. uusima tuvastamisega Sissetungimised, viirusetõrje ja muud keskkonna lukustamise tehnikad muudavad teie keskkonna ohustamise vähemalt väga keeruliseks ja kui/kui see juhtub, ei tuvastata seda pikka aega.

Mõnel juhul tekivad haavatavused erineva päritoluga arendustööriistade kasutamise tõttu, mis suurendavad sabotaaži tüüpi defektide ilmnemise ohtu programmikoodis.

Turvaaukud ilmnevad tarkvarale kolmanda osapoole komponentide või vabalt levitatava koodi (avatud lähtekoodiga) lisamise tõttu. Sageli kasutatakse kellegi teise koodi „nagu on” ilma põhjaliku analüüsi ja turvatestideta.

Ei tohiks välistada ka siseringi programmeerijate olemasolu meeskonnas, kes sihilikult lisavad loodavasse tootesse täiendavaid dokumenteerimata funktsioone või elemente.

Programmi haavatavuste klassifikatsioon

Haavatavused tekivad projekteerimise või kodeerimise etapis ilmnevate vigade tõttu.

Sõltuvalt esinemise staadiumist jagunevad seda tüüpi ohud kujunduse, rakendamise ja konfiguratsiooni haavatavusteks.

  1. Projekteerimisel tehtud vigu on kõige raskem avastada ja kõrvaldada. Need on ebatäpsused algoritmides, järjehoidjad, ebakõlad erinevate moodulite liideses või riistvaraga suhtlemise protokollides ja mitteoptimaalsete tehnoloogiate kasutuselevõtt. Nende kõrvaldamine on väga töömahukas protsess, muuhulgas seetõttu, et need võivad ilmneda mitteilmsetel juhtudel – näiteks kavandatud liiklusmahu ületamisel või suure hulga lisaseadmete ühendamisel, mis raskendab vajaliku hankimist. turvalisuse taset ja viib tulemüürist mööda hiilimise viiside esilekerkimiseni.
  2. Rakenduse haavatavused ilmnevad programmi kirjutamise või sellesse turvaalgoritmide rakendamise etapis. See on arvutusprotsessi vale korraldus, süntaktilised ja loogilised vead. On oht, et viga põhjustab puhvri ületäitumist või muid probleeme. Nende tuvastamine võtab palju aega ja nende kõrvaldamine hõlmab masinkoodi teatud osade parandamist.
  3. Riist- ja tarkvara konfiguratsioonivead on üsna tavalised. Nende levinumad põhjused on ebapiisavalt kvaliteetne arendus ja testide puudumine lisafunktsioonide korrektseks toimimiseks. Sellesse kategooriasse võivad kuuluda ka liiga lihtsad paroolid ja muutmata jäetud vaikekontod.

Statistika järgi avastatakse haavatavusi eriti sageli populaarsetes ja laialt levinud toodetes – laua- ja mobiilioperatsioonisüsteemides, brauserites.

Haavatavate programmide kasutamise riskid

Peaaegu kõikidesse arvutitesse on installitud programmid, mis sisaldavad kõige rohkem turvaauke. Küberkurjategijate poolt on otsene huvi selliste vigade leidmiseks ja neile kirjutamiseks.

Kuna haavatavuse avastamise hetkest kuni paranduse (plaastri) avaldamiseni möödub üsna palju aega, on võimalusi arvutisüsteemide nakatamiseks programmikoodi turvalünkade kaudu küllaltki palju. Sel juhul tuleb kasutajal avada vaid üks kord exploitiga näiteks pahatahtlik PDF-fail, misjärel saavad ründajad ligipääsu andmetele.

Viimasel juhul toimub nakatumine järgmise algoritmi järgi:

  • Kasutaja saab andmepüügimeili usaldusväärselt saatjalt.
  • Kirjale on lisatud exploitiga fail.
  • Kui kasutaja üritab faili avada, nakatub arvuti viiruse, troojalase (krüpteerija) või muu pahatahtliku programmiga.
  • Küberkurjategijad saavad süsteemile volitamata juurdepääsu.
  • Varastatakse väärtuslikke andmeid.

Erinevate ettevõtete (Kaspersky Lab, Positive Technologies) läbiviidud uuringud näitavad, et turvaauke on peaaegu igas rakenduses, sealhulgas viirusetõrjetes. Seetõttu on erineva kriitilisusastmega vigu sisaldava tarkvaratoote installimise tõenäosus väga suur.

Tarkvara lünkade arvu minimeerimiseks on vaja kasutada SDL-i (Security Development Lifecycle, turvaline arenduselutsükkel). SDL-tehnoloogiat kasutatakse rakenduste vigade arvu vähendamiseks nende loomise ja toe kõigis etappides. Nii modelleerivad infoturbe spetsialistid ja programmeerijad tarkvara projekteerimisel küberohte, et leida turvaauke. Programmeerimise ajal kaasatakse protsessi automaatsed tööriistad, mis annavad kohe teada võimalikest vigadest. Arendajad püüavad oluliselt piirata ebausaldusväärsetele kasutajatele saadaolevaid funktsioone, mis aitab vähendada rünnaku pinda.

Haavatavuste mõju ja nende tekitatud kahju minimeerimiseks peate järgima mõnda reeglit:

  • Installige viivitamatult rakenduste arendaja välja antud parandused (paigad) või (soovitavalt) lubage automaatne värskendusrežiim.
  • Võimalusel ärge installige kahtlaseid programme, mille kvaliteet ja tehniline tugi tekitavad küsimusi.
  • Kasutage spetsiaalseid haavatavuse skannereid või viirusetõrjetoodete spetsiaalseid funktsioone, mis võimaldavad teil otsida turvavigu ja vajadusel värskendada tarkvara.