Tvůrci antimalwarových programů používají technologie umělé inteligence (AI), jako je strojové učení, pro ochranu počítačů před ransomwarem. I tvůrci virů ale mají své rozhodující výhody.
Byznys související s antivirovou ochranou je na vzestupu. Přitom podle společnosti Gartner činila už v roce 2015 hodnota celosvětově prodaného bezpečnostního softwaru 22 miliard amerických dolarů. Avšak i bez ohledu na to, kolik peněz společnosti a soukromí uživatelé na antivirovou ochranu vynaloží, zatím neexistuje nic jako stoprocentní zabezpečení. Zejména vývojáři antivirových programů mají plné ruce práce s jedním specifickým typem malwaru: ransomwarem.
Jen za třetí čtvrtletí loňského roku bylo zaznamenáno 821 865 ransomwarových útoků cílených na uživatele programů Kaspersky. Co je ale opravdu děsivé, je úspěšnost těchto útočníků. Ta je podle společnosti Kaspersky následující - každá třetí oběť musela kvůli nedostatku protiopatření zaplatit hackerům výkupné, a navíc asi 20 procent z těch, kteří výkupné zaplatili, nakonec od vyděračů ani nedostalo klíč k dešifrování svých dat. V průměru útočníci vydělají asi 280 eur na každého poškozeného - a to je opravdu lukrativní byznys.
Každý den se přitom objeví 300 000 nových typů malwaru, takže pro antivirové firmy jde o jakousi nekonečnou hru na kočku a myš. Riziko lze totiž jen těžko odstranit pomocí klasické databáze popisující jednotlivé viry a malware. V důsledku toho používá moderní bezpečnostní software nové přístupy založené na chování. Program totiž běží neustále na pozadí a v reálném čase sleduje, co na počítači domnělý malware dělá. Pokud narazí na podezřelé chování, monitorovací antivirový program jeho činnost zastaví a dá o tom uživateli vědět. Ale i to přináší problémy, protože útočníci vynalézají způsoby, jak tyto heuristické analýzy obejít. Například skrývají ransomware do legitimních programů. A proti těmto postupům jsou zase vynalézány zcela nové metody, které by tento modus operandi porazily.
Pomoct mohou různé typy skenovacích metod
Nejnovější produkty z oblasti počítačové bezpečnosti jsou vybaveny ochranou proti ransomwaru, která neustále v reálném čase kontroluje celý systém a zjišťuje podivné přístupy k souborům. Ve stejnou chvíli bezpečnostní software sleduje systémové hodnoty, kontroluje například, zda se vytížení procesoru náhle nezvýšilo, zda významně a bezdůvodně nezesílily přístupové operace na disk počítače - to jsou totiž první příznaky útoku. Podle oficiálních vyjádření jsou výrobci bezpečnostního softwaru přesvědčeni, že takto mohou poskytnout účinnou ochranu proti útokům.
Nicméně zasvěcení odborníci tvrdí, že i tato metoda má svá zranitelná místa. A důvod je celkem jasný. Kybernetičtí zločinci si totiž mohou na izolovaný počítač nainstalovat všechna obvyklá antivirová řešení a na něm testovat a vyvíjet perfektní virus, který neodhalí ani všechny nainstalované a běžící monitorovací enginy. Naprogramují ho tak, aby nevzbuzoval jejich podezření a obešel tak i nejmodernější heuristické analýzy a další procesy.
Takto pečlivě vyvinutá varianta zákeřného softwaru pak přemůže v podstatě jakýkoli bezpečností produkt. Samozřejmě že i tento vir se nakonec stane známým a antivirové firmy pro něj i třeba během několika hodin vyvinou protilék, ale toto antidotum už bude málo platné počátečním obětem. Důvod pro zpoždění je čistě lidský - výzkumníci musí nejprve specializovaný malware analyzovat, prozkoumat a připravit signaturu a tu zařadit do virové databáze.
Ta se pak ještě musí dostat prostřednictvím aktualizace do bezpečnostních produktů klientských systémů. Pokud je malware složitý, může tento postup trvat i několik dní. A v případě opravdu důmyslného kybernetického útočného stroje může jeho analýza trvat i několik měsíců. Právě proto někteří producenti bezpečnostních nástrojů věří, že v budoucnu nebudou mít analýzu virů a dalšího škodlivého softwaru na starosti lidé, ale že tuto úlohu převezmou počítače, které pak vytvoří i aktualizaci.
Analýza pomocí strojového učení
Různí tvůrci bezpečnostního softwaru -od Symantecu po Malwarebytes - v současné době vyvíjejí postupy, v nichž IT systémy přebírají úkol analýzy malwaru. V případě strojového učení (Machine Learning) vědci krmí superpočítače miliony souborů, které zahrnují jak viry, tak běžné soubory a programy. Pomocí tzv. příznakových vektorů počítači říkají, jak virus vypadá, jaké jsou jeho charakteristiky, jak se obvykle chová malware, když se dostane do počítače oběti, a podobně. Na začátku tedy vědci algoritmu pomáhají a ten se postupně učí - je to analogické k učení dítěte, které je později schopno samostatně myslet. A také počítač se postupně zaučuje a stává se stále samostatnějším. Pak je schopen spolehlivěji rozlišit mezi virem a legitimním programem. I když je u něj míra výskytu chyb stále velmi vysoká, měla by časem klesat a algoritmus by měl být stále dokonalejší.
Nicméně takovýto vývojový cyklus vyžaduje spoustu času a prostředků. Společnost Symantec má své vlastní výpočetní středisko pro strojové učení a toto centrum pracuje na optimalizaci algoritmu. U moderních antivirových produktů už je tento algoritmus součástí strategie detekce. Nicméně v této fázi jsou samozřejmě ještě vždy za scénou lidští vědci, protože nová technologie si zatím prodělává své dětské nemoci.
Problém s univerzálním lékem
Myšlenka strojového učení je sice skvělá, ale stále převládají poměrně velké nevýhody, které zabraňují uplatnění v praxi a vítězství nad viry. Hlavní nevýhodou jsou finanční náklady. Infrastrukturu potřebnou pro strojové učení si totiž mohou dovolit jen skutečně velké a úspěšné AV firmy. A i v případě „přepnutí“ na strojové učení musí být stále k dispozici tým odborníků, který analýzu kontroluje a monitoruje algoritmus. V případě pochybností je pak na nich, aby rozhodli, zda program je nebo není virem a provádí nezbytné úpravy. Společnosti, které se rozhodnou snížit personální náklady a zcela se spolehnou na strojovou analýzu, riskují, že do algoritmu učení začlení i nesprávné výsledky. Spolehlivost celého procesu pak dramaticky klesá.
Podle Alexeje Malanova, který je virovým analytikem společnosti Kaspersky, spočívá problém strojového učení především v jazyce. Představíme-li si aktuální hrozbu analogicky jako spojenou s anglicky hovořícími zeměmi, pak bude algoritmus úspěšný pouze proti anglické verzi malwaru. Ale protože hrozby se neustále mění (přidávají se nové jazykové verze), musel by se změněné situaci přizpůsobit i algoritmus. Ale to je poměrně obtížné. Například rodina malwaru Trojan-Ransom. Win32. Shade se skládá z 30 000 podtypů. Žádný algoritmus totiž nemůže poskytnout ochranu proti všem podtypům pouhou identifikací rodiny malwaru. To by vyžadovalo stovky příkladů jednotlivých typů malwaru - teprve potom by byl algoritmus schopen se učit automaticky. Nástroj strojového učení by také nebyl schopen vás ochránit proti specializovaným útokům.
Co chybí, to je datový korpus. Alexej Malanov se domnívá, že technika strojového učení nebude sama o sobě stačit. Může být pouze jedním kolečkem v komplexním antivirovém zařízení. Nicméně i se strojovým učením a dalšími sofistikovanými technikami jsou stále antivirové systémy v kritické nevýhodě oproti tvůrcům malwaru.
Všechny antivirové nástroje dělají chyby
I když antivirové softwary využívají sandboxy, karantény, heuristickou analýzu a strojové učení, stále mohou útočníci k přelstění těchto systémů použít relativně jednoduché nástroje. Jak již bylo zmíněno dříve, vše, co je nutné udělat, je vyzkoušet AV systémy na izolovaném počítači a jednoduše hledat mezery v mechanismu detekce.
A dokonce samotné antivirové produkty představují bezpečnostní riziko. Jako v případě jiného softwaru i u nich totiž mohou útočníci využít chyb při jejich naprogramovaní a mohou je ovládnout. To se také stalo například v červnu 2016 u produktu společnosti Symantec. Vědci totiž zjistili, že téměř všechny AV produkty této firmy mají sedm kritických děr. V důsledku toho mohli útočnici velmi snadno infiltrovat prostřednictvím AV programu celý počítač, nebo dokonce celé podnikové sítě. Chcete-li využít slabého místa, jediné, co potřebujete, je přesvědčit oběti, aby navštívily škodlivé webové stránky útočníka. Vzhledem k tomu, že antivirové produkty mají nejvyšší oprávnění na počítači, na kterém běží, je takováto zranitelnost skutečně fatální.
Celkově vzato, hra na kočku a myš mezi útočníky a obránci podle všeho stále pokračuje. Nicméně strojové učení se chystá autorům malwaru alespoň trochu ztížit život.
Jak se počítače učí
Strojové učení se skládá ze dvou oblastí: z fáze učení a fáze detekce. > Fáze učení: Výzkumníci musí nejprve počítači přesně říct, co představuje virus. V následujících krocích se to počítač učí a stává se inteligentnějším. > Fáze detekce: Na základě chování spuštěného programu vytrénovaný algoritmus může rozhodnout, zda jde o legitimní aplikaci, nebo jde o malware, který byl v tomto souboru ukrytý.
Metody detekce
Moderní antivirové systémy využívají celou řadu detekčních metod. Nové soubory procházejí jednotlivými stanicemi během několika sekund.
> Kontrola chování V případě pochybností spustí skenery soubor, který potenciálně obsahuje virus, v takzvaném sandboxu, což je chráněná cvičná oblast. Rudimentální algoritmus pak kontroluje, zda je soubor infikován.
> Rychlé zhodnocení Očekává se, že v budoucnu strojové učení současný model výrazně zrychlí a zajistí lepší ochranu a výkon. Nicméně nakonec uživatel před počítačem bude muset učinit konečné rozhodnutí o tom, zda je pochybný soubor pro něj důvěryhodný, nebo zda se má odsunout do karantény.
Foto popis| Programy se strojovým učením Malwarebytes 1 již od verze 3 a dále spoléhají na počítačem podporované učení. Společnost Symantec 2 má dokonce vlastní datové centrum pro strojové učení, umístěné ve Velké Británii.
Foto popis| Moderní AV systémy mají odhalit a zastavit ransomware ještě v raném stadiu.
Foto popis| „Strojové učení samo o sobě nestačí.“ Alexej Malanov, virový analytik Kaspersky Lab
O autorovi| FABIAN VON KOUDELL, autor@chip.cz