V súčasnosti je vyvinuté veľké množstvo nástrojov na automatizáciu vyhľadávania zraniteľností programu. Tento článok sa bude venovať niektorým z nich.

Úvod

Statická analýza kódu je softvérová analýza, ktorá sa vykonáva na zdrojovom kóde programov a je implementovaná bez skutočného vykonania študovaného programu.

Softvér často obsahuje rôzne chyby zabezpečenia v dôsledku chýb v programovom kóde. Chyby, ktoré sa počas vývoja programov vyskytnú, v niektorých situáciách vedú k zlyhaniu programu a v dôsledku toho je narušená normálna prevádzka programu: v takom prípade často dochádza k zmene a poškodeniu údajov, k zastaveniu programu alebo dokonca systému. . Väčšina zraniteľností súvisí s nesprávnym spracovaním údajov prijatých zvonka alebo s ich nedostatočným overením.

Na identifikáciu slabých miest sa používajú rôzne nástroje, napríklad statické analyzátory zdrojový kód programy, ktorých prehľad je uvedený v tomto článku.

Klasifikácia bezpečnostných zraniteľností

Ak dôjde k porušeniu požiadavky na správnu činnosť programu na všetkých možných vstupných údajoch, je možný výskyt takzvaných bezpečnostných chýb. Zraniteľnosti zabezpečenia môžu viesť k tomu, že na prekonanie bezpečnostných obmedzení celého systému ako celku je možné použiť jeden program.

Klasifikácia bezpečnostných chýb v závislosti od chýb softvéru:

  • Prepad nárazníka. Táto zraniteľnosť vyplýva z nedostatku kontroly nad hranicami poľa v pamäti počas vykonávania programu. Keď príliš veľký dátový paket pretečie vyrovnávacou pamäťou obmedzenej veľkosti, obsah buniek cudzej pamäte sa prepíše a program zlyhá a ukončí sa. Na základe umiestnenia medzipamäte v procesnej pamäti sa vyskytujú pretečenia vyrovnávacej pamäte v zásobníku (pretečenie vyrovnávacej pamäte vyrovnávacej pamäte), haldy (pretečenie vyrovnávacej pamäte vyrovnávacej pamäte) a oblasti statických údajov (pretečenie vyrovnávacej pamäte bss).
  • Poškodená chyba vstupu. Zraniteľné chyby vstupu môžu vzniknúť, keď sa vstup používateľa odovzdá bez dostatočnej kontroly tlmočníkovi nejakého externého jazyka (zvyčajne Unix shell alebo SQL). V takom prípade môže používateľ určiť vstupné údaje tak, aby spustený tlmočník vykonal príkaz, ktorý je úplne odlišný od príkazu určeného autormi zraniteľného programu.
  • Naformátujte chyby zraniteľnosti reťazca. Tento typ Zraniteľnosť zabezpečenia je podtriedou zraniteľnosti poškvrneného vstupu. Vyskytuje sa z dôvodu nedostatočnej kontroly parametrov pri použití formátových I / O funkcií printf, fprintf, scanf atď. Štandardnej knižnice C. Tieto funkcie berú ako jeden z parametrov reťazec znakov, ktorý určuje formát pre vstup alebo výstup následných argumentov k funkcii. Ak si používateľ môže nastaviť formátovanie sám, môže táto chyba zabezpečenia vzniknúť v dôsledku neúspešného použitia funkcií formátovania reťazca.
  • Zraniteľnosti v dôsledku časových chýb (podmienky závodu). Problémy spojené s multitaskingom vedú k situáciám nazývaným „závodné podmienky“: program, ktorý nie je navrhnutý na spustenie v prostredí multitaskingu, si môže myslieť, že napríklad súbory, ktoré používa pri prevádzke, nemôže zmeniť iný program. Výsledkom je, že útočník, ktorý včas nahradí obsah týchto pracovných súborov, môže program prinútiť k vykonaniu určitých akcií.

Samozrejme, okrem uvedených sú aj ďalšie triedy bezpečnostných chýb.

Prehľad existujúcich analyzátorov

Na zisťovanie slabín zabezpečenia v programoch sa používajú nasledujúce nástroje:

  • Dynamické ladiace programy. Nástroje, ktoré umožňujú ladiť program počas jeho vykonávania.
  • Statické analyzátory (statické debuggery). Nástroje, ktoré využívajú informácie zhromaždené počas statickej analýzy programu.

Statické analyzátory označujú tie miesta v programe, kde možno chybu nájsť. Tieto podozrivé časti kódu môžu obsahovať chybu alebo byť úplne bezpečné.

Tento článok poskytuje prehľad niekoľkých existujúcich statických analyzátorov. Poďme sa na každú z nich pozrieť bližšie.

Pri štarte inteligentné skenovanie Avast vyhľadá vo vašom počítači nasledujúce typy problémov a potom navrhne ich riešenie.

  • Vírusy: súbory obsahujúce škodlivý kód, ktorý môže ovplyvniť bezpečnosť a výkon vášho počítača.
  • Zraniteľný softvér: programy vyžadujúce aktualizáciu, ktoré môžu útočníci použiť na prístup do vášho systému.
  • Zlé renomované rozšírenia prehľadávača: Rozšírenia prehľadávača, ktoré sa zvyčajne inštalujú bez vášho vedomia a majú vplyv na výkon systému.
  • Slabé heslá: Heslá, ktoré sa používajú na prístup k viacerým internetovým účtom a môžu byť ľahko napadnuté alebo napadnuté.
  • Sieťové hrozby: zraniteľnosti vo vašej sieti, ktoré by mohli umožniť útoky na vašu sieť sieťové zariadenia a router.
  • Problémy s výkonom: objekty ( nepotrebné súbory a aplikácie, problémy súvisiace s nastavením), ktoré môžu rušiť váš počítač.
  • Konfliktné antivírusy: Antivírusový softvér nainštalovaný vo vašom počítači pomocou Avastu. Niekoľko antivirusový softvér spomalí váš počítač a zníži účinnosť antivírusovej ochrany.

Poznámka... Niektoré problémy s inteligentným skenovaním môžu vyžadovať samostatnú licenciu. Zisťovanie nepotrebných typov problémov je možné deaktivovať v prehliadači.

Riešenie nájdených problémov

Zelená značka vedľa oblasti skenovania znamená, že s ňou neboli nájdené žiadne problémy. Červený kríž znamená, že skenovanie identifikovalo jeden alebo viac súvisiacich problémov.

Konkrétne podrobnosti o nájdených problémoch zobrazíte kliknutím na ikonu Vyriešiť všetko. Inteligentné skenovanie zobrazuje podrobnosti o každom probléme a ponúka možnosť okamžite ho vyriešiť kliknutím na položku Rozhodnúť sa, alebo to urobíte neskôr stlačením Tento krok preskočte.

Poznámka... Protokoly antivírusovej kontroly sa zobrazujú v histórii skenovania, do ktorej sa dostanete výberom Antivírusová ochrana.

Správa nastavení inteligentného skenovania

Ak chcete zmeniť nastavenie inteligentného skenovania, zvoľte Nastavenia Všeobecné Inteligentné skenovanie a označte, pre ktorý z uvedených typov problémov chcete vykonať inteligentné skenovanie.

  • Vírusy
  • Zastaraný softvér
  • Doplnky prehliadača
  • Sieťové hrozby
  • Problémy s kompatibilitou
  • Problémy s výkonom
  • Slabé heslá

Všetky typy problémov sú predvolene povolené. Ak chcete ukončiť kontrolu konkrétneho problému pri vykonávaní inteligentného skenovania, kliknite na posúvač Zahrnuté vedľa typu problému, aby sa zmenil stav na Vypnutý.

Kliknite nastavenie vedľa nápisu Skenovanie na prítomnosť vírusovzmeniť nastavenia skenovania.

Ďalším spôsobom, ako sa na tento problém pozerať, je, že spoločnosti musia rýchlo zareagovať, keď je aplikácia zraniteľná. To si vyžaduje, aby IT oddelenie bolo schopné definitívne sledovať nainštalované aplikácie, komponenty a opravy pomocou automatizácie a štandardných nástrojov. V súčasnosti existuje úsilie v priemysle štandardizovať softvérové \u200b\u200bznačky (19770-2), čo sú súbory XML nainštalované s aplikáciou, komponentom alebo opravou, ktoré identifikujú nainštalované aplikácie. softvéra v prípade komponentu alebo opravy, ktorej aplikácie sú súčasťou. Značky obsahujú smerodajné informácie o vydavateľovi, informácie o verzii, zoznam súborov s názvom súboru, bezpečnú hodnotu hash súboru a veľkosť, pomocou ktorej je možné potvrdiť, že nainštalovaná aplikácia je v systéme a že binárne súbory neboli upravené tretinou večierok. Tieto štítky sú podpísané digitálne podpísaný vydavateľ.

Ak je známa zraniteľnosť, oddelenia IT môžu pomocou svojho softvéru na správu majetku okamžite identifikovať systémy so zraniteľným softvérom a môžu podniknúť kroky na aktualizáciu systémov. Značky môžu byť súčasťou opravy alebo aktualizácie, pomocou ktorej je možné overiť, či je oprava nainštalovaná. Týmto spôsobom môžu oddelenia IT využívať zdroje, ako je napríklad NIST National Vulnerability Database, ako nástroj na správu svojich nástrojov na správu aktív, takže keď spoločnosť NVD predloží zraniteľnosť, môže IT okamžite porovnať nové chyby so svojimi. By teraz.

Existuje skupina spoločností pracujúcich prostredníctvom neziskovej organizácie IEEE / ISTO s názvom TagVault.org (www.tagvault.org) s vládou USA na štandardnej implementácii ISO 19770-2, ktorá umožní túto úroveň automatizácie. V určitom okamihu budú tieto značky zodpovedajúce tejto implementácii pravdepodobne povinné v prípade softvéru predávaného vláde USA niekedy v priebehu niekoľkých nasledujúcich rokov.

Je teda dobrým zvykom nezverejňovať informácie o tom, ktoré aplikácie a konkrétne verzie softvéru používate, ale ako už bolo uvedené, môže to byť ťažké. Chcete sa ubezpečiť, že máte presný a aktuálny inventár softvéru, ktorý sa pravidelne porovnáva so zoznamom známych slabých miest, ako sú NVID od NVD, a že IT môžu podniknúť okamžité kroky na pripomenutie hrozby. spolu s najnovšími detekčnými vniknutiami, antivírusovým skenovaním a inými metódami blokovania životného prostredia bude aspoň veľmi ťažké ohroziť vaše prostredie, a ak / bude tak, nebude detekované dlho.

Správa zraniteľnosti je identifikácia, hodnotenie, klasifikácia a výber riešenia na riešenie slabých miest. Správa zraniteľnosti je založená na úložiskách informácií o zraniteľnosti, jedným z nich je Prospective Monitoring Vulnerability Management System.

Naše riešenie riadi vznik informácií o zraniteľnostiach v systéme Windows operačné systémy (Windows, Linux / Unix), kancelársky a aplikačný softvér, hardvérový softvér, nástroje na zabezpečenie informácií.

Zdroje dát

Databáza systému riadenia zraniteľnosti softvéru Prospective Monitoring sa automaticky aktualizuje z nasledujúcich zdrojov:

  • Databáza ohrození bezpečnosti informácií (BDU BI) FSTEC Ruska.
  • Národná databáza zraniteľnosti (NVD) NIST.
  • Red Hat Bugzilla.
  • Sledovač chýb zabezpečenia Debianu.
  • Zoznam adresátov CentOS.

Tiež používame automatizovanú metódu na doplnenie našej databázy zraniteľností. Vyvinuli sme prehľadávač webových stránok a syntaktický analyzátor neštruktúrovaných údajov, ktoré každý deň analyzuje viac ako sto rôznych zahraničných a ruských zdrojov pre množstvo kľúčové slová - skupiny v sociálnych sieťach, blogoch, mikroblogoch, médiách určených pre informačné technológie a informačná bezpečnosť. Ak tieto nástroje nájdu niečo, čo zodpovedá podmienkam vyhľadávania, analytik ručne skontroluje informácie a vstúpi do databázy zraniteľností.

Ovládajte chyby softvéru

Pomocou systému Vulnerability Management System môžu vývojári kontrolovať prítomnosť a stav zistených zraniteľností v súčastiach ich softvéru od tretích strán.

Napríklad v modeli Hewlett Packard Enterprise Secure Software Developer Life Cycle (SSDLC) je ústredné riadenie knižnice tretích strán.

Náš systém monitoruje prítomnosť zraniteľností v paralelných verziách / zostaveniach jedného softvérového produktu.

Funguje to takto:

1. Vývojár nám poskytne zoznam knižníc a komponentov tretích strán, ktoré sa používajú v produkte.

2. Denne kontrolujeme:

b. či existujú metódy na odstránenie skôr objavených zraniteľností.

3. Ak sa stav alebo hodnotenie zraniteľnosti zmenilo v súlade so zadaným modelom role, upozorníme to vývojára. To znamená, že rôzne vývojové tímy tej istej spoločnosti dostanú upozornenia a uvidia stav zraniteľností iba pre produkt, na ktorom pracujú.

Frekvencia výstrah systému riadenia zraniteľnosti je prispôsobiteľná, ale ak sa zistí chyba zabezpečenia so skóre CVSS vyšším ako 7,5, vývojári dostanú okamžité výstrahy.

Integrácia s ViPNet TIAS

Hardvérový a softvérový komplex systému ViPNet Threat Intelligence Analytics System automaticky detekuje počítačové útoky a detekuje incidenty na základe udalostí prijatých z rôznych zdrojov. informačná bezpečnosť... Hlavným zdrojom udalostí pre ViPNet TIAS je ViPNet IDS, ktorý analyzuje prichádzajúce a odchádzajúce sieťové prenosy pomocou zásad rozhodovacích pravidiel AM AM vyvinutých „Perspective Monitoring“. Niektoré podpisy sú napísané s cieľom zistiť zneužitie slabých miest.

Ak ViPNet TIAS zistí incident informačnej bezpečnosti, pri ktorom sa zneužila zraniteľnosť, potom sa všetky informácie týkajúce sa zraniteľnosti automaticky vložia do karty incidentu z CMS vrátane metód eliminácie alebo kompenzácie negatívnych dopadov.

Systém riadenia incidentov pomáha aj pri vyšetrovaní incidentov informačnej bezpečnosti a poskytuje analytikom informácie o indikátoroch kompromisu a potenciálnych uzloch informačnej infraštruktúry ovplyvnených incidentom.

Monitorovanie zraniteľností v informačných systémoch

Ďalším prípadom použitia systému riadenia zraniteľnosti je skenovanie na požiadanie.

Zákazník nezávisle na sebe vygeneruje zoznam systémového a aplikačného softvéru a komponentov nainštalovaných v uzle (AWP, server, DBMS, PAC SZI, sieťové zariadenie) pomocou vstavaných nástrojov alebo nami vyvinutého skriptu systémového a aplikačného softvéru a komponentov , prenesie tento zoznam do CMS a dostane správu o objavených zraniteľnostiach a pravidelné oznámenia o ich stave.

Rozdiely medzi systémom a bežnými skenermi zraniteľnosti:

  • Nevyžaduje inštaláciu monitorovacích agentov na uzloch.
  • Nevytvára to zaťaženie siete, pretože samotná architektúra riešenia neposkytuje agentov a skenovacie servery.
  • Nevytvára to záťaž na hardvér, pretože zoznam komponentov sa vytvára pomocou systémových príkazov alebo ľahkého skriptu otvoreného zdroja.
  • Eliminuje možnosť úniku informácií. Perspektívne monitorovanie nemôže spoľahlivo vedieť nič o fyzickom a logickom umiestnení alebo funkčnosti uzla v informačnom systéme. Jedinou informáciou, ktorá opúšťa kontrolovaný obvod zákazníka, je súbor txt so zoznamom softvérových komponentov. Obsah tohto súboru je skontrolovaný a zákazník ho nahrá do CMS.
  • Aby systém fungoval, nepotrebujeme Účty na kontrolovaných stránkach. Informácie zhromažďuje administrátor stránky vo svojom vlastnom mene.
  • Bezpečná výmena informácií prostredníctvom ViPNet VPN, IPsec alebo https.

Pripojenie k službe na správu zraniteľností Prospective Monitoring pomáha zákazníkovi splniť požiadavku ANZ.1 „Identifikácia a analýza zraniteľností informačný systém a rýchle odstránenie novoobjavených slabých miest “objednávok FSTEC Ruska č. 17 a 21. Naša spoločnosť je držiteľom licencie FSTEC Ruska na technickú ochranu dôverných informácií.

Náklady

Minimálne náklady sú 25 000 rubľov ročne pre 50 uzlov pripojených k systému s platnou zmluvou o pripojení