Az ESET programban található fejlett víruskereső motor örökölte a “régi stílusú antivírus” technológia előnyeit, melyet fejlesztése során kibővítettek és új funkciókkal láttak el, hogy hatékonyan szállhasson harcba korunk modern fertőzéseivel szemben.
A víruskereső motor feladata az esetleges fenyegetések felismerése és automatizált döntések hozatala arról, hogy a megvizsgált kód milyen valószínűséggel tartalmazhat rosszindulatú programkódot.
Az ESET víruskereső motorjának teljesítménye sokáig a fejlett algoritmusaiban, speciálisan megírt gépi kódjában, valamint integrált sandboxing technológiájában rejlett, amelyek a mélyanalízises vizsgálat esetén kialakuló drasztikus teljesítménycsökkenés kivédésében vállaltak főszerepet. Az ESET a jövőben is ezt a szemléletet megtartva fejleszti tovább védelmi megoldásait. Legújabb termékeinkben a maximális teljesítmény megtartása érdekében saját fejlesztésű, speciális emulációs megoldásunkat alkalmazzuk.
A terméken belüli sandbox technológia használata esetén számos különböző hardver- és szoftverkomponens emulálása szükséges egy állomány virtualizált környezetben való futtatásához. Ilyen emulált komponens lehet a memória, a fájlrendszer, az operációs rendszer API-ja vagy a számítógép CPU-ja (processzora).
A múltban a CPU-kat speciális assembly kód segítségével emulálták. Azonban ez egy “értelmezett kód”(interpreted code) volt, ami azt jelenti, hogy minden egyes utasítást külön-külön, egymástól elszeparálva emuláltak. A bináris kódra fordítással emulált utasításokat natív módon lehet valós CPU-n futtatni. Ez a módszer sokszor gyorsabb, különösen kódban szereplő hurkok esetében: a többszörös hurkolás bevezetése védelmet nyújt minden olyan esetben, ahol a futtatható állományt meg szeretnék védeni bármilyen jellegű biztonsági program által indított vizsgálattól.
Az ESET termékek több száz különböző fájlformátum (végrehajtható fájlok, telepítőfájlok, szkriptek, tömörített fájlok, dokumentumok, bájtkódok stb.) elemzésére képesek, esetlegesen beágyazott rosszindulatú komponensek felderítése érdekében.
A következő oldalon látható ábrán az ESET termékek számos különböző technológiai összetevői láthatók, illetve az, hogy az egyes komponensek várhatóan mikor észlelnek és blokkolnak egy, a rendszerbe bejutó potenciális fenyegetést.
1. ábra: Az ESET védelmének rétegei
UEFI Scanner
Az ESET az első olyan IT biztonsági vállalat, amely védelmet biztosít azon, a számítógépet mélyebb szinten támadó fertőzésekkel szemben, amelyek még az operációs rendszer betöltődése előtt indulnak. Az ESET UEFI Scanner ellenőrzi és szavatolja az UEFI szabványnak megfelelő, bootolás előtti rendszerkörnyezet érintetlenségét, biztonságát. Feladata a rendszer firmware-ének ellenőrzése, illetve annak módosulása esetén a felhasználó értesítése a váratlan eseményről.
Az UEFI (Unified Extensible Firmware Interface) a számítógép firmware-e és az operációs rendszer között elhelyezkedő szoftveres felület rendszeresített szabványa, amely átvette az 1970- es évek közepe óta használt BIOS (Basic Input/ Output System) helyét. Az UEFI szabvány pontos definiálásának köszönhetően a firmware-ek elemzése és értelmezése könnyen megoldható, így azok fejlesztése vagy bővítése sem túl időigényes a fejlesztők számára. Sajnos az UEFI ezen tulajdonsága azonban megnyitja az ajtót olyan programfejlesztők előtt is, akik így könnyebben megfertőzhetik az UEFI-t a saját maguk által készített rosszindulatú moduljaikkal.
Viselkedés-alapú észlelés
Az észlelés módszerei a kártevőkre jellemző speciális ellenőrzőösszeg használatától (hasznos statisztikai adatok rendezésekor, speciális fertőzések bináris állományainak, vagy más egyedi fertőzés típusainak felderítése során, vagy akkor, ha egy korábban már észlelt fertőzés elnevezését szeretnénk pontosítani) egészen az ESET viselkedés-alapú észleléséig terjednek, amely során az észlelés egy kártékony viselkedési mintákon és a kártevők jellegzetességein alapuló bonyolult algoritmus alapján történik.
Az elavult technológiákat alkalmazó víruskeresők által használt, minta alapú felismerési módszer a fertőzést tartalmazó kód módosításával vagy annak értelmezhetetlenné tételével könnyen megkerülhető. Egy ilyen objektum viselkedése azonban már nem változtatható meg olyan könnyen.
Az ESET viselkedés-alapú észlelési technológiája pontosan ezt az elvet használja fel a fertőzések keresése során. Mélyrehatóan elemzi a kódokat és kigyűjti belőlük a kártékony működésért felelős „géneket”. Az ilyen viselkedési „gének” sokkal több információt tartalmaznak, mint más behatolásra utaló jelek vagy más néven IOC-k (Indicators Of Compromise), amelyeket sok „next-gen” gyártó tévesen a minta alapú keresés modern alternatívájaként aposztrofál.
Az ESET „génkészletéből” épül fel a viselkedés-alapú észlelési eljárás, amely kiértékeli a merevlemezen vagy éppen a memóriában található gyanús kódokat. A keresőmotor más megkülönböztető gének kigyűjtésére is alkalmas a szokásostól eltérő viselkedési minták kiszűrése érdekében: minden olyan akció, amely a szabálytalan működés jegyeit mutatja, potenciális veszélyt jelenthet.
A beállítható küszöbszinttől és egyezési jegyektől függően a viselkedés-alapú észlelés egyaránt képes azonosítani az ismert kártevők mintáját, azok új variánsait, vagy akár az ismeretlen, új kártevőket is, ha azok rendelkeznek a kártékony működésért felelős génekkel. Más szóval egyetlen jól megtervezett viselkedés-alapú vírusminta több ezer fertőzés észlelésére képes, így az ESET szoftvere nem csak a már ismert vagy korábban detektált fenyegetések ellen nyújthat hathatós védelmet, hanem az új, eddig nem ismert fertőzések ellen is.
Ezen túlmenően az automatizált, hasonló tulajdonságokon alapuló, objektumcsoportosítás és gépi tanulással létrehozott algoritmusok vírusmintákon való alkalmazásának segítségével a víruskereső motor új kártékony „géneket” és viselkedési mintákat használhat fel. Az így létrehozott „génállomány” könnyen összehasonítható a téves riasztások elkerülése érdekében létrehozott nagyméretű fehérlista elemeivel.
2. ábra: Viselkedés alapú észlelés minta
Gépi tanulás
A kártevők hatékonyabb felismerése és semlegesítése érdekében az ESET a 90-es évek óta kísérletezik gépi tanuláson alapuló algoritmusokkal, és neurális hálókkal, amelyek 1998-ban már termékeinkben is alkalmazásra kerültek. Ezek a modern technológiák azóta is szerves részét képezik az ESET többrétegű védelmi megoldásainak.
A viselkedés alapú észlelés is használja a gépi tanulás alapján létrehozott modelleket, mivel így felhőkapcsolattal, vagy akár anélkül is hatékonyan tud működni. A gépi tanulás-alapú algoritmusok létfontosságúak az újonnan beérkezett vírusminták kezdeti válogatása, rendezése, valamint azok kibervédelmi relevancia-térképen való elhelyezése során.
Az ESET kifejlesztette saját, házon belüli, gépi tanulást alkalmazó motorját, az ESET Augurt. Ez a motor a neurális hálók (mint mély-tanulás vagy kiterjesztett rövidtávú memória), illetve hat, nagy körültekintéssel kiválasztott osztályozó algoritmus erőforrásait kombinálva működik, így lehetőség nyílik konszolidált kimeneti adatok generálására, illetve arra, hogy kategorizáláskor helyesen, tiszta, kéretlen vagy fertőző kategóriába legyenek besorolva a beérkező vírusminták.
Az ESET Augur motor természetesen együtt tud működni a viselkedés-alapú észleléssel, a sandboxing technológiával vagy a memória analízissel is, de egy, a viselkedési sajátosságok kivonatolásával kapcsolatos feladattal sem hozható zavarba, így biztosítva a legmagasabb észlelési arányt és a legkevesebb téves riasztást generáló, megbízható működést.
3. ábra: Az ESET gépi tanulást alkalmazó Augur motorjának sémája
ESET LiveGrid
A védelem biztosításának legegyszerűbb módja egy felhő alapú rendszer esetén egzakt hashalapú feketelista használata. Ez a módszer jól használható állományok és URL-ek vizsgálatakor, de csak pontos hash-értékegyezés esetben képes az objektumok blokkolására. Ez a korlát vezetett a fuzzy hash-elés kifejlesztéséhez. A fuzzy hashelés figyelembe veszi az objektumok bináris hasonlóságait, miszerint a hasonló objektumok hasonló vagy azonos hash-értékekkel rendelkeznek.
Az ESET továbbfejlesztette a fuzzy hash-eléses módszert. Itt már nem az adatok vannak ellátva hash-értékekel, hanem a viselkedés-alapú észlelés által leírt viselkedési minta, így a viselkedés-alapú hash-elés segítségével lehetőség nyílik több ezer különböző vírusvariáns azonnali blokkolására.
4. ábra: Egyedi fájlok száma (y tengely) egyedi DNS hasheléssel észlelve (x tengely)
Felhő alapú védelem
Az ESET felhő alapú védelem az ESET LiveGrid rendszer számos technológiai összetevőinek egyike. Feladata az ismeretlen, potenciálisan rosszindulatú alkalmazások és más lehetséges veszélyforrások megfigyelése és szükség esetén továbbítása az ESET LiveGrid visszacsatolási rendszer segítségével az ESET felhő-rendszerébe. A begyűjtött mintákat automatikus sandboxing tesztnek és viselkedési analízisnek vetik alá, amely a kártékony jellemzők esetén egy automatikus észlelés létrehozását eredményezi. Az ESET végponti alkalmazások az ESET LiveGrid megbízhatósági rendszerén keresztül átveszik ezeket az automatikus észlelési mintákat anélkül, hogy meg kellene várni a keresőmotor következő frissítését. Az ESET LiveGrid rendszer teljes reakcióideje általában kevesebb, mint 20 perc, ezért hatékonyabb védelmet képes nyújtani az újonnan felbukkanó fenyegetések ellen, mint a hagyományosan érkező felismerési minták esetében.
Az ESET felhő alapú védelmének nem az az egyedüli feladata, hogy minél frissebb feketelistákat készítsen a felhasználók számára. Amennyiben egy felhasználó úgy dönt, hogy részt vesz az egyedi minták küldésében, úgy minden esetben, ha a védelmi program olyan állományt talál, amelynek szándékai megkérdőjelezhetők, azt haladéktalanul elküldi az ESET felé további mélyvizsgálatra.
A felhő alapú védelem teljes potenciáljának kihasználásához érdemes bekapcsolni az ESET LiveGrid visszacsatolási rendszert is, hiszen így a felhasználó gépén talált, gyanús viselkedést mutató állományok mélyanalízis céljából elküldésre kerülnek az ESET felé.
6. ábra: Az ESET felhőalapú védelme
Megbízhatósági információk és gyorsítótár
Egy fájl vagy URL vizsgálata során az objektum ellenőrzése előtt az ESET védelmi program először helyi gyorsítótárához fordul (az ESET Endpoint Security esetében az ESET Shared Local Cache-éhez) ismert fertőző, vagy fehérlistán szereplő, jóindulatú objektum mintáját keresve, amellyel lerövidítheti az ellenőrzés idejét.
Ezt követően a program lekérdezi a vizsgált objektummal kapcsolatban az ESET LiveGrid megbízhatósági rendszerben tárolt adatokat (pl. hogy az objektumot észlelték-e már máshol is, ahol kártékonynak minősítették). Ez javítja az ellenőrzés hatékonyságát és ügyfeleink is gyorsan megoszthatják egymással a kártevőkkel kapcsolatos információkat.
Az URL-ek tiltólistája és a megbízhatósági adatok használata megakadályozza, hogy a felhasználók kártékony és/vagy adathalász weboldalakat nyissanak meg.
Viselkedés-alapú észlelés és blokkolás – HIPS
Az ESET host-alapú behatolásmegelőző rendszere (Host-based Intrusion Detection System - HIPS) figyeli a rendszer aktivitását és előre meghatározott szabályok segítségével azonosítja a rendszer szokatlan viselkedését. Ilyen gyanús tevékenység azonosítása esetén a HIPS önvédelmi mechanizmus megakadályozza a kérdéses program vagy folyamat potenciálisan káros működését. A felhasználónak az előre beállított szabályok használatán kívül lehetősége van egyéni szabályok létrehozására is, noha ehhez mélyebb tudásra van szükség az operációs rendszert és a programokat illetően.
7. ábra: Hogyan működik az ESET viselkedés alapú észlelése?
Beépített sandbox technológia
1995-től kezdődően az ESET a viselkedés-alapú felismeréseket szétválasztotta emulálandó és nem emulálandó csoportokra, elősegítve a rosszindulatú programfolyamatok teljesebb és mélyebb megismerését. Az ESET első emulátorában a híres Doom játék is futtatható volt. A beépített sandbox többek között viselkedéssel kapcsolatos metaadatok kivonására is alkalmas, amelyeket a védelmi program a viselkedésalapú észlelés során használ fel. A fertőzések megpróbálhatják elkerülni az azonosításukat, forráskódjuk értelmezhetetlenné tételével. A sandbox technológiával kiküszöbölhető a forráskód ilyen módú olvashatatlanná tétele, felfedve a fertőzés eredeti célját és működési mechanizmusát. Az ESET védelmi program a teljes emulációs folyamat során bináris kódot használ a számítógép lelassulásának elkerülése érdekében.
8. ábra: Miért használ az ESET beépített Sandbox technológiát?
Hálózati támadások elleni védelem
A hálózati támadások elleni védelem a tűzfal technológiánk egy kiterjesztése, amely hálózati szinten javítja az ismert sérülékenységeket célzó támadások felismerését. A széles körben használt protokollokat (pl. SMB, RPC vagy RDP) érintő sérülékenységek felismeréséért felelős modul a védelmi rendszernek egy olyan fontos rétege, amely védelmet nyújt a kártevők terjedésével és a hálózati támadásokkal szemben, illetve az olyan sérülékenységek kiaknázása ellen is, amelyekre a gyártó által kiadott javítás még nem létezik, vagy nincs telepítve.
Továbbfejlesztett memóriaellenőrzés
A továbbfejlesztett memóriaellenőrzés az ESET egyedülálló technológiája, amely hatékonyan kezeli a modern kártevőkre jellemző védelmi mechanizmusokat: a bonyolult összezavarást és/vagy az erős titkosítást.
Ezek, a leginkább futásidejű tömörítőkben illetve un. „code-protector”-okban alkalmazott rosszindulatú programokat védő módszerek olyan esetben okoznak problémát a fertőzések detektálása során, amikor a felderítéshez olyan kicsomagolási technikák kerülnek alkalmazásra, mint az emuláció vagy a sandboxing. Sőt, a virtuális vagy fizikai sandboxinggal, illetve emulációval elvégzett ellenőrzést követően nincs garancia arra, hogy a vizsgálat alatt a fertőzés mutat-e bármilyen kártékony viselkedést, amely miatt fertőzésként lehetne osztályozni.
A fertőzés forráskódját olyan módon lehet értelmezhetetlenné tenni, hogy ne lehessen az összes végrehajtási útvonalát ellenőrizni, így az tartalmazhat valamilyen feltétel vagy időpont alapján működő triggert, amely működése során képes bármikor új programkomponensek letöltésére is. Az ilyen események elkerülése érdekében a továbbfejlesztett memóriaellenőrzés monitorozza a fertőző folyamatok viselkedését és akkor kezdi meg az ellenőrzését, amikor az felfedve magát, a memóriába betöltődik.
Ez a mai napig működő fogás a tradicionális futás előtti vagy futás alatti proaktív forráskód analízisnek köszönhető.
Korábban vírusmentes folyamatok is fertőzővé válhatnak kód injektálás vagy egy biztonsági rés kihasználása okán, ezért az objektumok egyszeri ellenőrzése sosem elegendő. Folyamatos monitorozásra van szükség, amely a továbbfejlesztett memóriaellenőrző modul fő feladata. Minden esetben, ha egy folyamat rendszerhívást kezdeményez egy új kódlapon, a továbbfejlesztett memóriaellenőrző modul el fog végezni rajta egy viselkedési kód analízist, az ESET viselkedés-alapú észlelési technológiája segítségével.
A kód analizálása nem csak a futtatható memóriaterületen történik, hanem a vírusírok által a dinamikus analízis megakadályozása érdekében használt .NET MSIL (Microsoft Intermediate Language) kódon is végrehajtásra kerül. A „smart caching” modul implementálásának köszönhetően a továbbfejlesztett memóriaellenőrzés nem igényel további jelentős erőforrást és nem okoz észlelhető lassulást a processzor sebességét illetően sem.
A továbbfejlesztett memóriaellenőrző és az exploit blokkoló modulok zökkenőmentesen együtt tudnak működni. Ez az előzőektől eltérően egy, a kód futtatását követően alkalmazható módszer, amely magában rejti a veszélyt, hogy ekkor valamilyen kártékony tevékenység már elindulhatott az eszközön. Ezért ez a módszer a védelmi vonal utolsó bástyája arra a valószínűtlen esetre, ha egy támadónak sikerülne áthatolnia az ezt megelőző védelmi rétegeken.
A fejlett kártevőkben megfigyelhető egy új trend, miszerint azok egyre gyakrabban “kizárólag a memóriában” működnek, anélkül, hogy lenne a fájlrendszeren bármilyen komponensük, amelyet a hagyományos módszerekkel észlelni lehetne.
Ezek a fertőzéstípusok eleinte csak szervereken fordultak elő az újraindítások között eltelt idő miatt, ugyanis a szerverek esetében akár több hónap is eltelhet két újraindítás között, így a fertőzés hosszú ideig a memóriában tud maradni anélkül, hogy túl kellene élnie egy újraindítást. A jelenlegi üzleti területeket érintő támadások alapján most már a végponti eszközök esetében is számolni kell ezzel a támadási módszerrel. Csak memóriaellenőrzéssel lehetséges az ilyen támadásokat felfedezni, és éppen erre való az ESET továbbfejlesztett memóriaellenőrzés modulja.
Exploit blokkoló
Az ESET moduljai különböző típusú és szintű sérülékenységek ellen is védelmet nyújtanak, keresőmotorja a rosszul formázott dokumentumokban rejlő sebezhetőségekre figyel, a hálózati támadások elleni védelem a kommunikációt ellenőrzi, az exploit blokkoló pedig magát a sebezhetőséget kihasználó folyamatot blokkolja.
Ez a modul azokat a programokat figyeli, amelyeknek gyakran kihasználják a sebezhetőségeit (pl. böngészők, PDF-olvasók, levelezőprogramok, Flash Player stb.), de nem csupán a sebezhetőségek azonosítóit figyeli, hanem észleli az azok kihasználására irányuló technikákat is.
Minden sebezhetőség egy nem várt működés egy folyamat vagy programszál végrehajtása során, melyek esetében a védelmi program „figyelme” olyan eltérésekre összpontosul, amelyek egy sérülékenységet kihasználó technika alkalmazását sejtetik. Az exploit blokkoló technológiát folyamatosan fejlesztjük, és rendszeresen új észlelési módszerekkel bővítjük, hogy a sebezhetőségeket kihasználó új technikákat is felismerje. Az exploit blokkoló működése során ellenőrzi az adott folyamatot, és ha azt gyanúsnak találja, akkor azt a fenyegetést azon nyomban blokkolja a számítógépen, miközben az azzal kapcsolatos metaadatokkal együtt a fertőzés mintáját elküldi az ESET LiveGrid felhő rendszerébe.
Az így elküldött, majd pedig feldolgozott adatoknak köszönhetően felismerhetővé válnak korábban még nem ismert fenyegetések, illetve nulladik napi támadások is, valamint víruslaborunk is profitálhat az új fertőzésekkel kapcsolatos értékes felderítési adatokból.
Az exploit blokkoló egy olyan réteggel járul hozzá a védelmi struktúrához, amely technológiáját tekintve teljesen különbözik azoktól a hagyományos megoldásoktól, amelyek magát a fertőző kód vizsgálatát tartják szem előtt.
Zsarolóprogramok elleni védelem
Az ESET Zsarolóprogramok elleni védelme a védelmi alkalmazás egyik kiegészítő rétege, melynek feladata a felhasználók megóvása a váltságdíjat követelő vírusoktól, más néven zsarolóprogramoktól. Ez a védelmi modul a viselkedés- és reputáció alapú heurisztika segítségével figyeli és kiértékeli az összes futtatott alkalmazást. Zsarolóvírusra utaló viselkedés észlelésekor vagy olyan esetben, amikor egy potenciális fertőzés meglévő állományon engedély nélküli módosításokat eszközölne (pl.: fájlok titkosítása), a védelmi modul jelzi azt a felhasználónak. A zsarolóprogramok elleni modul a lehető legmagasabb szintű finomhangolt védelmet nyújtja a váltságdíjat követelő fertőzések ellen.
Botnet elleni védelem
A rosszindulatú programok funkciói közül a C&C szerverekkel való kommunikáció megváltoztatása a legnehezebb a vírusírók számára.
Az ESET botnet elleni védelme észleli a botnetek kártékony kommunikációját, és egyúttal azonosítja is a káros folyamatot.
Az ESET Hálózati támadások elleni védelme kiterjeszti a Botnet elleni védelmet hálózati forgalomanalízissel kapcsolatos általános problémákra is, meggyorsítva a hálózaton folyó illetéktelen kommunikáció felismerését és blokkolását. Az iparágban kialakult defacto szabványnak megfelelő Snort vagy Bro támadásdetektálási technológiáin felül az ESET hálózati támadások elleni védelmi modulja képes speciálisan a hálózati sérülékenységek, exploit kitek valamint korszerű fertőzések kommunikációjának detektálására.
A hálózati végpontok forgalmának analizálása további előnyöket hordoz magában, segítségével lehetőség nyílik arra, hogy meghatározásra kerüljön, melyik programszál vagy modul felelős a fertőzéssel kapcsolatos kommunikációért. A vírusos objektum azonosítását követően meg lehet tenni a szükséges ellenlépéseket, sőt alkalmanként még a kommunikálása során használt titkosítást is vissza lehet fejteni.
Botnet Tracker
Ha egy mintát vagy annak memóriaképét a védelmi rendszer „botnet”-ként felismeri, akkor azt továbbítja az ESET Botnet Nyomkövető Rendszerének, amely azonosítja a fertőzés pontos variánsát, majd pedig esetspecifikus kicsomagoló/visszafejtő rutint használva kinyeri a fertőzés által használt C&C szerverekkel kapcsolatos információkat és kommunikációhoz vagy titkosításhoz alkalmazott kulcsokat. A szükséges adatok kinyerését követően az ESET Botnet Nyomkövető Rendszer különböző földrajzi helyekről indít hamis kommunikációt további adatok kinyerése céljából. Ezek az adatok később feldolgozásra kerülnek, növelve az ESET ügyfeleinek biztonságát. A biztonsági szint növelése megnyilvánulhat új, káros URL-ek blokkolásában, a számítógépre letöltődő fertőző állományok (payload-ok) újabb felismerési mintáiban vagy a többi felhasználó végpontjainak értesítésében az ESET Threat Intelligence-en (az ESET fenyegetéseket felderítő rendszere) keresztül egy aktuálisan terjedő fertőzést illetően.
9. ábra: Hogyan működik az ESET Botnet Tracker?