Hlavné menuUser loginSearch |
Antivírusové techniky a možnosti detekcie malware
Thursday, 09.07.2009 12:47
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óduHeuristická 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 heuristikaAktí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 PEPríklad niektorých heuristických príznakov, ktoré sa môžu nachádzať v štruktúre PE programov: Detekcia polymorfných vírusovEmulá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á detekciaGenerická 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émyKontrola 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ť. ZáverTu 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. |
LinksOdkazy |