Přejít k hlavnímu obsahu

Jak virové skenery odhalují viry?

NA DVD 

Nástroje najdete na Chip DVD pod indexem Viry.

Jak virové skenery odhalují viry?

Bezpečnostní balíky jsou pravděpodobně nejlepší cestou k zabezpečení počítače, u nových virů však překvapivě často selhávají. Chip vám ukáže, jak je to možné…
CLAUDIO MÜLLER

Průměrná délka života nového malwaru je přibližně 24 hodin – v praxi častokrát i mnohem méně. I tak je to ale dostatek času pro maximální rozšíření na internetu, ukradení osobních dat tisíců uživatelů a jejich proměnu na hotovost.
Během několika málo hodin dokážou nové viry infikovat obrovské množství počítačů, a to i těch chráněných antiviry – tento předpoklad potvrdil i náš test bezpečnostních balíků, který najdete v Chipu 2/2011. Žádný z testovaných nástrojů nedokázal odhalit a zablokovat 100 procent nového malwaru, a výsledky pokusů o vyčištění počítače byly ještě žalostnější.
Hlavním problémem výrobců v boji proti virům je jejich počet. Podle společnosti Panda software, jedné z antivirových firem, se každý den objevuje přibližně 63 000 nových hrozeb. Většina z nich je aktivní pouze krátkou dobu a zamoří jen relativně menší množství počítačů. Kvůli tomu není možné rozpoznat a odstranit každý nový virus. Pro pochopení rozdílů mezi jednotlivými typy skenerů vám ukážeme a popíšeme jednotlivé fáze testování.

Webový filtr: Blokování virových hnízd

Pro přesun z infikované webové stránky do počítače uživatele se musí malware nejprve dostat přes webový filtr a firewall. K tomuto cíli hackeři využívají webové stránky (respektive škodlivý kód na nich ukrytý), slabá místa v prohlížeči a jeho doplňcích – exploity jsou obvykle skryty v HTML kódu a javascriptu. Důležité ale je, že pro infikování počítače je nutné stránky nejprve načíst do prohlížeče. Zde se nejdříve antivir brání pomocí "blacklistu" – seznamu URL webových stránek sloužících k šíření škodlivého kódu. Ani tato cesta však není pro výrobce antivirů nejjednodušší. Podle firmy Panda software se na internetu objeví za týden přibližně 57 000 nových internetových stránek s malwarem, a je tedy nemožné všechny detekovat a označit.
Proto webové skenery fungují tak, že neznámou stránku nejprve stáhnou na lokální disk a prozkoumají ji pomocí antivirového skeneru. Zároveň firewall monitoruje provoz v síti a analyzuje příchozí datové pakety. Dále například bezpečnostní balík od firmy F-Secure využívá SPI firewall (Stateful Packet Inspection), aby prozkoumal také všechny odeslané datové pakety. Tak lze odhalit potenciální hrozbu v podobě malwaru typu "Backdoor". Podobný princip využívá například nástroj od společnosti Symantec, který také analyzuje obsah datových paketů (pomocí Deep Packet Inspection), aby okamžitě na této úrovni blokoval škodlivý kód skriptu nebo XXS útoky.
Antivirová ochrana dokáže zablokovat většinu starých exploitů, nové hrozby v podobě nových typů malwaru nebo zeroday exploitů však mohou být snadno přehlédnuty. Pokud webový filtr a firewall na takovýto útok nezareagují, exploit nahraje malware do počítače a pokouší se v systému spustit kód a aktivovat malware. Dříve než se ale škodlivý soubor může stát aktivním, musí nejprve co nejrychleji odstranit i zbývající překážky: detekci na základě signatur, heuristiku a detekci na základě chování.
Při detekci na základě signatur provede engine antiviru analýzu neznámých dat a vytvoří z nich unikátní otisk prstu (hash hodnotu). Ten poté porovná s databází známých vzorků malwaru a v případě shody varuje uživatele před malwarem. Vzhledem k této taktice má malware šanci k útoku na počítač uživatele maximálně 3–4 hodiny od doby svého vzniku. Poté už antivirové laboratoře nové vzorky malwaru prozkoumají, do databáze přidají nový "otisk prstu malwaru", a škůdce může být velmi snadno odhalen. O tom, že tato taktika funguje, nás opět přesvědčil již zmiňovaný test bezpečnostních balíků – v něm všechny testované nástroje dokázaly detekovat 100 % známého malwaru.
JAK MALWARE PŘEKONÁVÁ TUTO OCHRANU? Řešení tohoto problému je pro autory virů snadné – rychlost: musí být zkrátka rychlejší než virové laboratoře. Podle Stefana Wesche, bezpečnostního experta společnosti Symantec, bývá častým problémem antivirových laboratoří dostat včas vzorky "krátkodobého" a méně rozšířeného malwaru.

Heuristika: Detailní pohled na kód

Pokud je vývoj malwaru rychlejší než práce virové laboratoře, musí ještě škůdce oklamat další proaktivní ochranné mechanismy. Ty analyzují kód (pomocí heuristiky), otestují ho a vytvoří záznam chování souboru (tzv. behaviorální analýza). Důležitou součástí heuristiky jsou tzv. unpackery – nástroje, které detekují algoritmy komprimace spustitelného souboru. Ty dokáží rozpoznat exotické metody, speciálně naprogramované a především typické pro malware (tzn. využívá ho velké procento škodlivého softwaru). Heuristická analýza dále zkoumá kód a hledá v něm neobvyklé atributy, charakteristické pro malware.
JAK MALWARE PŘEKONÁVÁ TUTO OCHRANU? Autoři virů vyplňují soubory s malwarem pomocí generátoru náhodných čísel a aby zamaskovali skutečné funkce souboru, přidávají další zbytečné části kódu. Dalším protiopatřením, které ztěžuje analýzu souboru, je šifrování. Kromě jednoduchého základního 64bitového šifrování se také výrobci antivirů setkávají s použitím silného RSA šifrování – například v malware toolkitu MaxSploit. Některé viry, jako například trojský kůň Alisa, také využívají nové typů jazyků pro řízení CPU nebo používají neobvyklé API funkce, aby co nejvíce ztížily heuristickou analýzu. Bez pořádného maskování se totiž rapidně zkracuje funkčnost malwaru, který nemá šanci projít heuristickou analýzou hledající v kódu podobnosti se známým malwarem. V rámci této kontroly se například provádí analýza z hlediska formátu souboru a jeho velikosti, porovnávají se signatury malých částí kódu a digitální certifikáty. Novinkou je prověřování tzv. geometrie souboru, která ukazuje entropii kódu – zjednodušeně řečeno efektivitu kódu v poměru k jeho velikosti. Tímto způsobem lze detekovat kód malwaru obsahující přidaná, náhodně vygenerovaná čísla. Podle firmy Avira, výrobce antivirů, má heuristika "na svědomí" rozpoznání přibližně 60 procent neznámého malwaru. Zbývajících 40 procent malwaru se může pokusit dostat ještě přes behaviorální analýzu (detekci na základě chování), která následuje po heuristické analýze. U některých skenerů jsou ale obě tyto detekční metody propojené a hranice mezi nimi jsou "rozmazané".

Sandbox: Virtuální test souboru

Při tomto typu ochrany je kód spuštěn ve virtuálním prostředí (sandboxu) tak, aby neohrozil počítač uživatele. Po spuštění potenciálního malwaru v sandboxu dokáže engine antiviru rozpoznat neobvyklé chování, stejně jako možnost, že kód slouží jen jako nástroj pro stažení dalších souborů z webu nebo se snaží skrýt před uživatelem své procesy.
V rámci této analýzy například skenovací motor firmy Bit Defender považuje za podezřelé činnosti také to, pokud soubor vytváří nové položky registru. Za každou podezřelou činnost jsou procesu přiděleny "trestné body", a pokud jejich počet překročí určitý limit, proces je okamžitě zablokován nebo (v závislosti na nastavení bezpečnostního softwaru) je na něj uživatel upozorněn a může schválit či zakázat jeho další aktivity. Tento limit umožňuje vyvážit poměr mezi účinností ochrany a použitelností antiviru – především množství falešných poplachů. Je totiž nutné si uvědomit, že i neškodné programy mohou provádět některé (na první pohled) podezřelé činnosti, jako přidání svého automatického spouštění do registrů.
JAK MALWARE PŘEKONÁVÁ TUTO OCHRANU? Malware využívá klasický problém virových skenerů. Aby nedošlo ke zpomalení počítače, může bezpečnostní nástroj spustit malware v sandboxu jen na velmi krátkou chvíli. Dobře naprogramovaný malware překonává tuto emulaci snadno pomocí časovače – zpožděním spuštění kódu. Proběhne-li virtuální test bez problémů a virový skener neoznačí soubor jako podezřelý, je uživateli umožněno klasické spuštění souboru.
Nicméně většina bezpečnostních programů si vede záznamy obsahující informace o tom, jaké akce jsou hlídaným souborem prováděny a jaké provádí změny v systému. V případě nouze dokážou některé bezpečnostní programy tyto změny zrušit.
Tato funkce používá protokol dat z Windows API, který ukazuje změny v registrační databázi a systému souborů. Tímto způsobem je monitorován každý proces. Ze sledování jsou vyloučeny pouze některé systémové procesy, jako jsou "crss.exe", "lsass.exe"nebo "Smss.exe" (které by měly být "čisté") a procesy spuštěné bezpečnostním balíkem. Jakmile je soubor spuštěn, je monitorován jeho proces a získaná data jsou porovnávána s informacemi v "cloud databázi". Pokud je stejný soubor nahrán a spuštěn na jiném počítači, může antivir využít jeho zjištění, zda je hodnocen jako neškodný, podezřelý, nebo přímo škodlivý. Tato globální detekce na základě "pověsti" pomáhá především u velmi nových nebo méně rozšířených malwarů, které ještě nebyly analyzovány a u kterých ještě nebyla vytvořena signatura. Například u McAfee je na všech instalovaných "klientech" po celém světě každý den skenováno téměř 4,7 miliardy souborů, což znamená, že malware nemůže nepozorovaně nakazit příliš mnoho systémů. Výhody "cloud technologie" jsou v tomto případě zřejmé, protože je nemožné u každého počítače uložit tak obrovské množství dat pro vytvoření lokální databáze signatur.
JAK MALWARE PŘEKONÁVÁ TUTO OCHRANU? Tvůrci virů se snaží vytvořit dynamický kód. Například Bohu, trojský kůň původem z Číny, v rámci každé infekce připojí do svého zdrojového souboru nová náhodná data. Díky tomu se jeho otisk prstu (hash hodnota) neustále mění a porovnání s databází v cloudu je zbytečné. Jednoduché, ale účinné.

Dezinfekce: Slabý výkon

Čištění infikovaných systémů způsobuje bezpečnostním balíkům stejné problémy, jako mají při rozpoznávání nového malwaru. Jak ukázal náš poslední test, všechny antivirové programy jdou jen velmi obtížně spustit, pokud se instalují na infikovaný počítači a detekují vir.
Některé procesy malwaru lze odstranit poměrně snadno: pokud skener detekuje proces jako škodlivý, okamžitě ho ukončí a soubory s ním spojené smaže nebo je přesune do karantény –bezpečného prostoru, z něhož už nemohou být spuštěny, ale v případě nutnosti (například u falešného poplachu) je lze ještě obnovit. Kromě složky s umístěním podezřelého souboru se v následném procesu čištění systému prohledávají i další (pro malware) typická místa – například registry Windows, položky "po spuštění" nebo domovská stránka prohlížeče. Toto takzvané generické čištění je nutné, protože pro nový malware obvykle ještě nejsou k dispozici "skripty pro odstranění", které by obsahovaly informace o všech systémových změnách, které analyzovaný malware provedl. Ačkoliv nejsou odstraněny všechny systémové změny, většinou tento postup stačí pro eliminování aktivního malwaru – obvykle zůstanou jen neškodné pozůstatky.
JAK MALWARE PŘEKONÁVÁ TUTO OCHRANU? Některé viry dokážou pracovat společně. Například "dropper" Dunik neustále do systému nahrává snadno odstranitelného trojského koně. Rootkit pracující na úrovni jádra systému Windows chrání oba malwary.
V tomto případě je obvykle proces malwaru často chráněn před přístupem skeneru prostřednictvím zámku souboru a díky tomu unikne před analýzou souboru. Pro potvrzení podezření na malware tak musí skener vytvořit snímek souboru pomocí stínové kopie ovladače z Windows a teprve ten analyzovat. Pokud je soubor označen jako malware, musí uživatel spustit nový sken systému z bootovacího CD a vyčistit počítač pomocí speciálního nástroje. Jedině tak lze odstranit rootkit ze systému.
Nevýhoda: Zatímco při běžném skenování Windows je možné u podezřelého souboru využít analýzu chování a cloud technologie, v rámci použití "bootovacího CD" je prozatím možná jen analýza na základě signatur a heuristické analýzy. Pokud je malware dobře napsaný a jeho signatura v databázi ještě není, neodhalí ho ani důsledná analýza využívající bootovací CD. V některých případech lze proto doporučit opětovnou kontrolu například po 24 hodinách.
AUTOR@CHIP.CZ

TENTO GRAF UKAZUJE, JAK JSOU JEDNOTLIVÉ BEZPEČNOSTNÍ BALÍKY EFEKTIVNÍ.

Většina bezpečnostních nástrojů je na světelné roky vzdálena od perfektní detekce a spolehlivého odstranění škodlivého softwaru. Zde jsou výsledky našeho posledního srovnávacího testu.


To je pro skener podezřelé:
V rámci heuristické analýzy a detekce na základě chování monitoruje antivi- aktivní procesy a systémové komponenty. Pokud je proces spuštěn vícekrát, obvykle obsahuje vir. Podezřelé jsou ale i jiné činnosti.

NA ÚROVNI SOUBORŮ:

- Uložení záznamu v systémovém registru.
- Vlastní replikace procesů.
- Spuštění kódu neznámého uživatele v paměti.
- Spuštění procesu s vysokou prioritou.
- Chybějící rozhraní po spuštění aplikace.
- Akce provedena automaticky.
- Neobvyklé ikony – například jen systémové symboly pro spustitelný soubor.

V OPERAČNÍM SYSTÉMU:

- Položka v registru, která se automaticky načte při spouštění systému Windows.
- Jádro ovladače, které maskuje procesy.
- Datové pakety, které vstupují do systému prostřednictvím webového protokolu.
- Otevřené porty, jejichž prostřednictvím aplikace odesílá a přijímá data.
- Monitoring rozhraní (například USB), přes který může malware vstoupit do systému.


Tyto nástroje vám pomohou:
Ocster Backup PRO 5 S tímto nástrojem je pravidelné zálohování důležitých dat snadné. Díky tomu vás už neznervózní žádné útoky viru – jste kdykoliv připraveni reinstalovat Windows bez obavy o ztrátu dat. Tento nástroj najdete na www.ocster.com.
Secunia PSI Tento program zná zranitelná místa v softwaru a ví, kudy může malware proniknout do systému. Secunia PSI zjistí starou verzi nainstalovaného softwaru a umí aktualizace nahrát automaticky, nebo alespoň zobrazí odkaz na stažení záplaty.
Remove Fake Antivirus Pokud váš antivirový program nezablokuje falešný antivir, může být obtížné odstranit tohoto škůdce ze systému. Tento nástroj dokáže rozpoznat a odstranit 69 falešných antivirových programů.
McAfee Labs Stinger Tento malý nástroj je ideální pro dezinfekci infikovaného počítače. Rozpozná charakteristické rysy infekce a dokáže je s minimálním úsilím i odstranit.


Foto: Schopnosti: Detekce a odstranění virů nemusí být vždy úspěšně dokončeny. Proti novým trikům jsou bezpečnostní balíky často bezmocné.