Sociálne siete

SecIT.sk na Facebooku SecIT.sk na Google+ SecIT.sk na Twitteri

Podporte nás


V prípade, že Vám obsah nášho portálu niekedy nejakým spôsobom pomohol, či bol pre Vás prínosom prosím podporte jeho chod ľubovoľnou čiastkou. Ďakujeme!

Prihlásenie

Štítky

Vyhľadávanie

You are here

Domov
Upozornenie: Obsah je licenčne chránený a bez písomných súhlasov autora článku a vlastníka webovej stránky nesmie byť v žiadnej forme ďalej kopírovaný a šírený v pôvodnom, či v akokoľvek upravenom stave.

Antivírusové techniky a možnosti detekcie malware

Tento článok Vás oboznámi so základnými technikami, ktoré používa v dnešnej dobe bezpečnostný software, hlavne antivírusy na detekciu infiltrácií. Bude sa zaoberať algoritmickými a programovými technikami detekcie a nie manuálnou detekciou, spomenie tiež detekciu na základe signatúr.

Heuristická analýza a emulácia kódu

Heuristická analýza skúma kód a štruktúru súboru (programu) hľadaním určitých znakov alebo postupov pre činnosť malware, ktoré by mali signalizovať, že sa jedná o infiltráciu. Tento spôsob detekcie je v súčasnosti neoddeliteľnou súčasťou antivírusového software, ktorý využitím tejto techniky deteguje nové a zatiaľ neznáme infiltrácie. Rizikom tejto techniky sú možné falošné poplachy, v dnešnej dobe je však ich výskyt nízky. Vývoj kvalitnej heuristiky je náročný, keďže sa musia eliminovať možnosti falošnej detekcie a naopak detegovať čo najviac nových infiltrácií. Pasívna heuristika mala svoj význam hlavne v dávnejšej dobe. Pasívna heuristika prehľadáva súbory, hľadá určité známky, nezrovnalosti (sekvencie znakov) v ich štruktúre. Jej hlavnou nevýhodou bolo, že nedokázala identifikovať polymorfné a kódované vírusy. Taktiež malware mohol často pasívnu heuristiku oklamať použitím jednoduchého "triku" (napr. zámenou sekvencii).

Aktívna binárna heuristika

Aktívna heuristika je spätá s emuláciou kódu. Jej základom je emulátor (virtuálny počítač). Malware je spustený v izolovanom prostredí virtuálneho počítača. Toto prostredie obsahujú v súčasnosti všetky antivírusy. Súbor môže byť v tomto prostredí spustený bez ohrozenia reálneho systému. Počas priebehu emulácie sú zbierané informácie o jeho aktivitách, heuristika na základe získaných informácií vyhodnotí či ide o správanie odpovedajúce malware a rozhodne či je daný súbor infiltrácia. Heuristika teda simuluje niektoré funkcie operačného systému. Virtuálny počítač môže malware aj replikovať. Problémom pri tejto metóde môže byť výkon. Vývoj kvalitnej aktívnej heuristiky s použitím emulácie pri zachovaní menších nárokov na výkon počítača je preto náročný. Problémom je aj doba, kedy emuláciu a ako emuláciu zastaviť (článok sa tomu venuje nižšie), existuje totiž malware, ktorý môže tento systém pomerne jednoducho prekonať napr. technikou Entrypoint Obscuring (EPO).

Heuristika a PE

Príklad niektorých heuristických príznakov, ktoré sa môžu nachádzať v štruktúre PE programov:
Kód sa začína vykonávať až poslednej sekcii, podozrenie tu vzniká pokiaľ vstupný bod PE programu nevedie do sekcie kódu. Ďalším znakom môžu byť podozrivé príznaky sekcie napríklad sekcia má dva príznaky zapisovateľná aj spustiteľná alebo sú vynulované. Ďalšími príznakmi môžu byť tiež presmerovanie kódu, prepísaná tabuľka importovaných adries, viacnásobné PE hlavičky...

Detekcia polymorfných vírusov

Emulácia kódu sa využíva aj pri detekcii polymorfných vírusov. Táto detekcia sa dá dosiahnuť preskúmaním pamäte vitálneho počítača napríklad po splnení podmienky prerušenia alebo po určitom počte inštrukcií. Keďže polymorfné vírusy dekódujú svoje telo, po určitom počte inštrukcií budú v pamäti virtuálneho počítača v dekódovanom stave. Vtedy je potrebné emuláciu zastaviť. K jej zastaveniu sa využívajú určité metódy ako napríklad sledovanie aktívnych inštrukcií, sledovanie decryptoru pomocou profilov a tiež zastavenie s použitím breakpointov.

Generická detekcia

Generická detekcia je založená na vyhľadávaní určitých znakov (ako isté rovnaké časti kódu, rovnaké alebo podobné spôsoby replikácie, podobné identifikačné reťazce...). Táto detekčná technika sa teda môže využiť pri detekcii nových variant infiltrácii z pôvodnej infiltrácie alebo variant veľmi podobných už zachytenej a analyzovanej variante. Táto detekčná technika môže viesť taktiež k falošným poplachom ale v súčasnosti pomerne zriedkavým.

Kontrola integrity a monitorovacie systémy

Kontrola integrity sleduje zmeny v súboroch, ktoré môžu nastať ich modifikáciou. Za túto modifikáciu môže byť zodpovedný malware. Kontrola integrity spočíva väčšinou v skontrolovaní počiatočného stavu súboru, na báze kontrolného súčtu (CRC), podľa algoritmov ako MD5 či SHA1. S touto metódou súvisí niekoľko problémov. V prvom rade záleží od pôvodného stavu systému, kedy je bezpečnostný software inštalovaný, uloží si aktuálny stav súborov a tie následne porovnáva, už v tomto čase by mohol byť súbor infikovaný. K zmene integrity dochádza celkom bežne a legitímne napr. pri aktualizácii software, vtedy väčšinou bezpečnostný software zobrazí výzvu na používateľa či chce danú zmenu povoliť (tu môže dôjsť k falošným poplachom), takže záleží od jeho rozhodnutia. Výnimkou môžu byť napríklad digitálne podpísané aplikácie, kde sú zmeny automaticky tolerované. Táto forma detekcie sa dá použiť napríklad pri kontrolovaní stavu systémových prvkov. S touto problematikou úzko súvisia monitorovacie programy, ktoré monitorujú systém, prípadne chránia niektoré jeho súčasti a pri pokuse o ich modifikáciu sa pýtajú na povolenie používateľa. Tak isto môžu monitorovať aj správanie samotného programu, kontrolovať jeho aktivitu a pýtať sa na povolenia, pre prístup do určitých oblastí systému, používateľa.

Sand-Box (sand-boxing)

Sand-Box je systém, ktorého princíp spočíva vo vytvorení virtuálneho systému, ktorý zabráni aktivite alebo šíreniu infiltrácie v reálnom systéme. Podozrivý súbor, aplikácia alebo malware beží v prostredí, ktoré má zvyčajne prístup k rovnakým prostriedkom a informáciám ako používateľ ale iba ako kópiu vo svojom izolovanom prostredí. Môže čítať súbory, či údaje z registra systému ale určité funkcie budú značne obmedzené napr. sieťová aktivita. V prípade, že sa aplikácia pokúsi negatívne zasiahnuť do systému, vykonať zmeny alebo sa nejakým spôsobom replikovať bude sa to diať len v rámci virtuálneho prostredia a pre reálny systém by tieto aktivity nemali byť škodlivé, zmeny v súboroch alebo v registri sa môžu vrátiť späť, všetká činnosť sa dá zaznamenávať a neskôr analyzovať.
Sand-box má samozrejme aj nevýhody alebo určité riziká. Jedným z problémov je kompatibilita samotných podozrivých aplikácii, ktoré do sand-boxu pridáte, keďže možnosti sú do istej miery obmedzené, aplikácia nemusí fungovať korektne, škodlivá aplikácia môže tiež sand-box identifikovať a nefungovať vôbec, ďalším variantom je možnosť bezpečnostnej chyby v samotnom sand-boxe, ktorú môže malware zneužiť a infikovať tak reálny systém namiesto virtuálneho prostredia. Túto techniku v súčasnosti využívajú niektoré antivírusy.

Záver

Tu spomenuté techniky sa veľmi často používajú v bezpečnostnom software. Mnohé z nich využívajú antivírusy, monitorovacie techniky využívajú niekedy aj firewally a IDS systémy. Nemôžeme zabúdať aj na detekciu malware pomocou signatúr, a teda s využitím databáz vzoriek antivírusových spoločností, na základe ktorých sa dá zvyčajne infiltrácia identifikovať presne. Identifikácia na základe týchto signatúr prebieha podľa určitých jednoznačných identifikačných reťazcov (môže ich byť viac) danej infiltrácie a tiež pomocou kontrolného súčtu väčšinou statických oblastí danej vzorky. Taktiež nesmieme zabúdať na manuálnu detekciu malware, formou analýz logov špeciálnych programov. Tento článok však popisoval len programové a algoritmizačné techniky. Budúcnosť bude prinášať neustále zmeny a zlepšovanie jednotlivých techník a taktiež techniky úplne nové aj v oblasti hardware.


Podporte nás


Páčil sa Vám tento článok? Ak áno, prosím podporte nás ľubovoľnou čiastkou. Ďakujeme!


ITC manažer Security-portal.cz Soom.cz
Hoax.cz Antivirove centrum Crypto-world.info