A hagyományos viselkedéselemzéstől eltérően a BEAST egy gráfadatbázisban gyűjti össze a rendszer viselkedését. Arnas Staude, a G DATA munkatársa az interjúsorozat második részében a BEAST technológia fejlesztési folyamatáról beszél.
Az interjú első része itt olvasható.
– Egy példán keresztül elmagyarázná, hogyan is működik a BEAST?
– A BEAST a folyamatok viselkedésére összpontosít. A háttérben működő gráfok rossz és jó viselkedést tárolnak. A szabályokat a kártékony folyamatok azonosítására használhatjuk. Minden, a gráfban történt módosítás során a csomópont környezetét szkenneljük ismert mintákra. A BEAST akkor mutatja ki erejét, amikor a káros tevékenység több folyamatban is jelen van, és a technológia felismeri ezeket a kapcsolatokat a subgráf segítségével, majd a tapasztalt viselkedést a meglévő szabályokkal hasonlítja össze.
Egy kártékony folyamat tipikusan a következőket teszi a számítógépen. Az első folyamat létrehoz egy fájlt egy adott mappában és elindítja a második folyamatot. A második folyamat megváltoztatja a tűzfalat vagy módosít egy biztonsági beállítást, hogy később zavartalanul tudjon működni. Ugyanakkor az első folyamat letölt egy másik fájlt, és elindítja a harmadik folyamatot is, majd automatikusan törli önmagát, ezzel is fedezve a nyomokat. A harmadik folyamat beégeti a kártevőt a rendszerbe. Létrehoz egy RunKey-t, melyet a registry-ben is bejegyez a második folyamat számára. Ha a rendszert újraindítják, a kártevő is újraindul.
A szabály ebben az esetben így néz ki: van egy irányított gráf három folyamatcsomóponttal és három fájlcsomóponttal. Ismerjük az egyéni folyamatok sorrendjét. A szkenner összehasonlítja ezt a viselkedést a meglévő gráfokkal, majd kártevőnek osztályozza. Az egyéni folyamatok önmagukban nem kártékonyak, például nemcsak a kártevő tölt le fájlokat az internetről, hanem a telepített programok is.
– Miért döntöttek egy gráfadatbázis mellett? Melyek a technológia előnyei az előző viselkedéselemző technológiákhoz képest?
– Az adatok megjelenítésével szerettük volna még pontosabban megérteni, hogyan is működnek az egyes kártevők. A gráfadatbázis segítségével az adatokat és az adatok növekedését egyaránt tudjuk hatékonyan kezelni. Egyszerűen és gyorsan működik. A folyamatokat faként tudjuk például ábrázolni. Egy magas fokú folyamat több alacsony fokozatú folyamatot indít el, amelyek további alacsonyabb fokozatú folyamatokat generálnak. A gráfadatbázisban a folyamatstruktúrát és egyéb adatot is tudunk tárolni, ezzel jobban megértjük a különböző kapcsolatokat.
A gráf kitűnően megjeleníti a különböző viselkedéseket, de ugyanakkor lehetővé teszi a kártevő fertőző útvonalának precíz felderítését, hiszen a folyamatok történetét is tároljuk. A folyamatokat ellenőrizzük, megnézzük, hogy a viselkedés kártékony vagy sem.
A gráfadatbázist és az adatokat a kliens gépeken tároljuk, egy hét után pedig töröljük, ezzel biztosítva a helytakarékosságot. Az elvárt tárhely maximuma 200 MB. Ha a BEAST a szokásostól eltérő viselkedést regisztrál, az adatokat névtelenül elküldi hozzánk – persze, ha az ügyfél engedélyezte az adatok továbbítását. Ezzel kiszűrjük a hamis pozitív találatokat, és javítjuk az észlelést.
– Milyen kritériumok alapján választották ki a használt adatbázist?
– A projekt 2014-ben indítottuk, akkor a gráfadatbázisok még nagyon gyermekcipőben jártak. Egy olyan adatbázist szerettünk volna, mely közvetlenül a kliensben fut, kevés memóriát, processzoridőt használ. A saját megoldásainkba integrálható megoldást kerestünk, hogy maximálisan ellenőrizhessük, mennyi memóriát használ és mennyi erőforrást igényel. A piacon ilyen adatbázist nem találtunk, ezért az SQLite segítségével sajátot építettünk.
– Hogyan történt a fejlesztési folyamat?
– Rengeteg saját fejlesztés van ebben a technológiában. A gráfadatbázis fejlesztése előtt az események feldolgozását kellett rendeznünk. A Behaviour Blocker ebben segítségünkre volt, ezt fejlesztenünk kellett, hogy a teljesítményre vonatkozó elvárásoknak megfeleljen. A gráfot is ki kellett találnunk: meg kellett határozni, mi is a csomópont és az él. Ahogyan azt is nekünk kellett kitalálni, hogyan kapcsolódnak az adatok, hogy hatékonyan tudjunk keresni.
A gráf szkennelését és két gráf összehasonlítását matematikailag egyébként elég nehéz megoldani. Ugyanakkor szükségünk volt gráfalapú algoritmusokra, hogy törölhessünk adatokat. A gráf exportálására a GraphML-t, a gráf vizualizálására a yEd-et használtuk, de saját eszközöket is fejlesztettünk. A szkennert közvetlenül beépítettük a vizualizációba.
– Voltak pillaantok, amikor meglepődött?
– Nagyon meglepődtem a termék elindításakor, mert igazából egyből működött. Szeretnék köszönetet mondani a csapatnak és mindenkinek, akinek köze volt ehhez a nagy projekthez. Az elvárások óriásiak voltak, hiszen egy korábbi, és egyébként jól működő technológiát kellett helyettesítenünk. Persze, kisebb problémák akadtak, de azokat gyorsan javítottuk. A technológiát első körben ügyfeleink egy kisebb csoportján próbáltuk ki, így gyorsan tudtunk mozogni probléma esetén.
– Melyek a további tervek a BEAST technológia fejlesztésére?
– Tervezzük, hogy a meglévő technológiákkal összekapcsoljuk a BEAST-et, ahogyan azt a Deep Ray-jel már megtettük. Sokat dolgozunk a technológia teljesítményének javításán, és ugyanakkor új eseményforrások adatait is szeretnénk figyelni. Nem tudunk minden processzor utasítást figyelni, de rendszerinformációkat kaphatunk. Az új adatok segítségével tudjuk finomítani a szabályokat. A BEAST-ben nagy a potenciál, így számos új ötletet meg tudunk valósítani a jövőben.