Chytáme viry na pískovišti

Při odhalování neznámých virů si běžné antivirové programy často vylámou zuby. Většinou totiž reagují pouze na...


Při odhalování neznámých virů si běžné antivirové programy často vylámou zuby.
Většinou totiž reagují pouze na sekvence kódů, které jsou pro daný virus
charakteristické, případně provádějí heuristickou analýzu, která bývá v řadě
případů neúspěšná. Existuje však ještě jedna možnost: Chytat viry na pískovišti.
Tzv. systémy typu sandbox (pískoviště) vytvářejí simulované prostředí, ve
kterém je zkoumáno chování spustitelných souborů před tím, než se mohou dostat
do opravdového systému. Některé verze sandbox systémů již identifikují i
hybridní viry, jako jsou Nimda nebo Code Red.

Klasické antiviry
Běžné antivirové programy obsahují databázi sekvencí kódů, které jsou
charakteristické pro určitý virus, případně pro skupinu virů. Podle ní mohou s
vysokou spolehlivostí zjistit, zda hledané místo (soubor, paměť) virus
obsahuje, či nikoli.
Druhý běžně používaný postup představuje heuristická analýza: Systémy, které ji
používají, hledají určitý počet příznaků, které charakterizují infekční chování
např. to, že jeden soubor otevře jiný a něco do něj zapíše. Problém je ovšem v
tom, že takové "podezřelé" akce mohou provádět i neškodné programy. "Počet
zbytečných alarmů je proto velmi vysoký, chybí skutečná analýza viru," popisuje
slabiny většiny takových postupů Volker Krause, ředitel firmy Norman Data
Defense.

Karanténa pro viry
Řešení by měla přinést heuristická metoda systémů typu sandbox. Sandbox je
virtuální prostředí, v němž může být podezřelý virus bezpečně otestován.
Představuje v podstatě něco na způsob karanténní stanice pro přicházející
soubory.
Základní myšlenka je velice jednoduchá: Pokud se nějaký soubor v sandboxu
replikuje a duplikát je znovu infekční, jedná se o virus. V tomto případě není
soubor vpuštěn do skutečného systému.
Tento postup je bezpečný, protože na pevný disk není fyzicky nic ukládáno, a to
ani když se o to nějaký program pokusí. Testovací prostředí musí simulovat
paměťová média, správce vstupů a výstupů, ROM, RAM, CPU a uživatele (vkládání
přes klávesnici apod.).
Problém ale vězí v jednom malém detailu: I když virtuální svět simuluje řadu
aspektů, vždy něco chybí, určité API nebo nějaká služba. Na základě toho mohou
viry za určitých okolností rozpoznat, že se nacházejí ve virtuálním světě.
Někteří původci infekcí jsou totiž velmi vybíraví v tom ohledu, které soubory
napadnou a kdy to provedou. Proto musí být dobře zvážen také výběr cílových
souborů v sandboxu.

Hybridní hrozby
U hybridních virů, jako je Code Red nebo Nimda, existují ještě další problémy.
Označení "hybridní" v této souvislosti znamená, že viry k útoku používají také
klasické hackerské metody. Využívají nedostatků v zabezpečení a šíří se přes
e-mail nebo přístupy k síti. Aby byla viru dána takováto možnost k dispozici,
musí simulační prostředí tyto funkce uvolnit.
Základní otázka tedy zní: Jak simulovat síť? Naštěstí není třeba použít více
emulovaných počítačů, v zásadě pro simulaci LAN stačí počítač jediný. Emulovaný
počítač musí disponovat možností zapisování na přidělené zdroje a mít schopnost
komunikovat se simulovaným SMTP serverem. To je důvodem spousty komplikací.
Nesmí pochopitelně chybět simulace veškerých potřebných rozhraní a API.
Většina uživatelů se ani tak nezabývá tím, jak systém pracuje, ale konkrétními
možnostmi jeho užití v praxi. Zde je zatím rozhodující jeden nepříjemný
handicap systémů typu sandbox: "Pokud chce uživatel otestovat, jestli program
něco nekalého provádí, musí toto testování sledovat," vysvětluje Gernot Hacker,
Senior Technical Consultant firmy Sophos z Nieder-Olmu. "To je ale při
každodenním používání velmi nepraktické a nepohodlné." Krause doplňuje: "Taková
emulace se neprovádí u každého souboru. Časová náročnost by byla příliš velká."

Doplňující opatření
Využití sandboxů je tedy vhodné spíše jako doplňující opatření vedle
stávajících antivirových skenerů. Při stálé virové kontrole, která probíhá
nepřetržitě na pozadí při běžné práci systému, však takovýto postup nepřipadá v
úvahu. U e-mailových bran je ovšem malá časová prodleva akceptovatelná, a tak
tu lze o sandboxu uvažovat.
Mezi výrobci panují značně odlišné názory na to, co to vlastně sandbox ve
skutečnosti je. "My jsme jediní, kteří mají vlastní sandbox," nárokuje si
Krause tuto techniku pro firmu Norman Data Defense. Sandboxy jiných výrobců
jsou údajně tzv. policy based systémy. S tím nesouhlasí Hacker od Sophosu: "Do
určité míry využívá každý výrobce nějakou metodu sandboxu," tvrdí. Nástroj
antivirové ochrany simuluje například operační systém Windows a přitom testuje,
jestli se nějaký soubor nepokouší odeslat e-mail.

Komprimované soubory
Také Sophos využívá základní myšlenku této techniky, ale ještě speciálnějším
způsobem. Mnoho virů se ukrývá v kódovaných a komprimovaných souborech, které
se krátce před provedením rozbalí. Software Code Emulator rozpozná, jaký způsob
dekomprese byl použit. Tu provede a souboru vnutí představu, že on je operační
systém. Podle dalšího chování souboru program pozná, jestli se jedná o virus.
Předností tohoto speciálního postupu je podstatné zrychlení celého procesu. "V
zásadě se jedná o dobrou myšlenku, ale přece jen trochu náročnější na výkon
systému," hodnotí systém Hacker a dodává, že pro řadu použití je vhodné prostě
použití osobního firewallu.









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.