Az automatikus elemzések határai
Mindannyian követünk el hibákat, ez természetes. Néha ezek a hibák azonban váratlan következményekkel járnak – ahogyan erre nemrég egy X-felhasználó is rájött. A tanulság, hogy amennyiben sandboxok automatikus elemzéseire bízzuk, hogy ítéletet mondjanak a fájlokról, az könnyen téves eredményre vezethet.
Egy X-felhasználó nemrégiben posztolt egy olcsó, hálózati csatlakozással és memóriával rendelkező USB-C adapterrel kapcsolatban, azt állítva, hogy a kínai oldalról rendelt eszköz kártevőt tartalmaz.
A következtetésre úgy jutott, hogy egy – szimulált környezetben, azaz homokozóban – automatikus elemzéseket végző rendszer segítségét vette igénybe, hogy megnézze, az USB-C adapter szoftvere milyen tevékenységet végez(ne). A sandbox kimenete ijesztő olvasmány, a különféle kritériumok egymás után felsorolva, olyan kategóriákba rendezve, mint a „gyanús” és „rosszindulatú”.
A fájlokat automatikusan elemző homokozók jó eszközök és segédeszközök, amelyek segíthetnek a rosszindulatú programok elemzésében. Használatuk során azonban óvatosan kell eljárni, mivel gyakran téves következtetésekhez vezetnek, ezt a G DATA malware kutatója, Karsten Hahn is megerősíti. „Sok kritérium nem értelmezhető a laikusok számára, sőt néha félrevezető is” – mondja.
A példában a sandbox „rosszindulatúnak” minősítette, hogy az eszközön tárolt .exe fájl rendszer-illesztőprogramot tartalmaz, és olyan folyamatot hoz létre, amely „alvó módban” indul („felfüggesztve”). A sandbox olyan jeleket is talált, amelyek arra utalnak, hogy az alkalmazás kifejezetten vizsgálja, hogy virtuális gépen fut-e, és megpróbál elbújni az elemzés elől. Ezután további kritériumok következnek, mint például a fájlrendszeri műveletek végrehajtásának képessége, mappák létrehozása és törlése, a rendszerleíró adatbázis elérése, és még sok más.
A szerző végül a sandbox elemzésére támaszkodva arra a következtetésre jutott, hogy ez egyértelműen rosszindulatú program. Bárki, aki nem rendelkezik a szükséges szaktudással, ugyanerre a következtetésre jutott volna.
Az egyetlen probléma, hogy ez a következtetés teljesen téves.
Ennek az az oka, hogy a kritériumokat félreértelmezték, és nem minden említett kritérium alkalmas annak eldöntésére, hogy egy fájl ártalmatlan vagy rosszindulatú-e.
A kontextus szerepe
A homokozóból származó adatokat mindig egy átfogó kontextusba kell beágyazni. E kontextus nélkül könnyű rossz irányba nyomozni. Ez az oka annak, hogy az automatikus sandbox jelentés nem helyettesíti a vírusvédelmet. Hogy ez miért van így, álljon itt egy ellenpélda. Ugyanaz a homokozó, ugyanaz az eljárás.
A feltöltött fájl egy „Space Fighter Rebellion” nevű játék. A homokozóba helyezett verzió nem tartalmaz rosszindulatú programokat, és határozottan tiszta – a sandbox azonban nem így gondolja:
Mélyebb megértés és további kontextus nélkül könnyen arra a következtetésre juthatunk, hogy ez egy kémprogram, amely regisztrálja, amit a számítógépen csinálunk. A keylogger funkcióval rendelkező kémprogramokra jellemző lenne, hogy a program beolvassa az egérmozgásunkat és a billentyűleütéseinket is.
De ha emlékszünk arra, hogy a fájl egy játék, akkor az is kiderülhet, hogy a billentyűleütések és az egérmozgások miért érdekesek egy program számára: ezek nélkül egyáltalán nem lehetne játszani a játékkal. Láthatjuk tehát, hogy valójában nem minden kártékony, ami első pillantásra gyanúsnak tűnik. Néhány baljós hangvételű elemzés mögött teljesen normális és legitim tevékenység húzódik meg.
Mi a rosszindulatú program (és mi nem az)
A rosszindulatú programok is „csak szoftverek”, amelyek egy adott feladatot hajtanak végre a rendszeren, és ehhez az operációs rendszer által biztosított funkciókat használják. Ez a tény önmagában nem meglepő – éppen ezért fontos, hogy az elemzés gondosan válassza ki azokat a kritériumokat, amelyek miatt a fájl rosszindulatúnak tűnik.
Kézzelfoghatóbb példában fogalmazva: ha egy riasztórendszert szeretnénk megtanítani a betörő jelzésére kialakított kritériumokkal, mint például „cipőt visel”, „táska van nála”, „gyapjúsapka van rajta” vagy „mozog az otthon körül sötétedés után”, ez nem lenne hatékony. Ezek a kritériumok túl általánosak, és sok olyan emberre vonatkoznak, akiknek jogos oka van ott lenni, így végül ez a hipotetikus rendszer teljesen értéktelenné válik. Természetesen ezen kritériumok mindegyike a betörőkre is vonatkozhat – de nagyon sok olyan emberre is, aki nem betörő. A fenti feltételek mentén a rendszer betörőnek fogja azonosítani a háztulajdonost, aki egy csípős téli estén este 7 órakor hazajön a munkából, és lerakja a táskáját.
A sandoxos rendszerek például gyakran rosszindulatúként észlelik az adatmentést készítő programokat, és azt gyanítják, hogy azok zsarolóprogramok. Ennek az az oka, hogy hozzáférési jogokkal rendelkeznek a fájlrendszerhez, titkosítási összetevőket tartalmaznak, és sok fájlrendszeri tevékenységet generálnak – például fájlok létrehozását, áthelyezését, másolását és törlését. Nagyon könnyű itt rossz következtetésre jutni, ha nincs kontextus.
Rögzítési hiba
A fent említett ügy nagy feltűnést keltett, nem utolsósorban a geopolitikai helyzet miatt. És mivel már korábban is érkeztek hírek kínai „gyárból” manipulált eszközökről, azt gondolhattuk, hogy ez egy újabb ilyen eset lehet. Az állítólagos rosszindulatú programot először jelentő személyeknek azonban nem volt tapasztalatuk a rosszindulatú programok elemzése terén. Olyan nyilvánosan elérhető eszközökre támaszkodtak, mint például az online sandbox, anélkül, hogy megfelelően osztályozták volna eredményeiket.
Az automatizált sandbox azonban nem malwarekereső – és jó esetben nem is állítja, hogy az lenne. Laikusként azonban könnyű téves következtetést levonni. A probléma az, hogy amennyiben úgy tűnik, hogy az eredmények ilyen világosak és egyértelműek, az emberek gyorsan abbahagyják más bizonyítékok keresését, vagy akár aktívan figyelmen kívül hagyják azokat. Hiszen saját felfogásuk szerint az eredmény (threat score: 100/100) már teljesen egyértelmű. A szakértők ezt rögzítési hibának nevezik.
Fájó tanulság
A sandbox rendszerek által használt besorolások és kritériumok még a tapasztalt elemzőket is tévútra tudják vezetni. „Amit egy homokozó rosszindulatúnak tekint, nem feltétlenül az is. Számomra ezek legfeljebb érdeklődési kritériumok, amelyeket érdemes alaposabban megvizsgálni” – mondja Karsten Hahn. „De mindig emlékeztetnem kell magam arra, hogy a homokozó kritériumait ne tegyem saját kritériummá, mert különben elfogult lennék.”
Ezen érdekes kritériumok megtalálása a sandboxos elemzés igazi haszna. A homokozó használata munkát takarít meg az elemzés során, de az eredmények nem helyettesítik az elemzést, és az eredmény önmagában nem alkalmas a fájl jóindulatúnak vagy rosszindulatúnak való minősítésére.
Nyugodtan feltételezhetjük, hogy a szerzőt eléggé zavarba hozta ez a nagyon nyilvános tévedés. Nem volt hiány azokból sem, akik kemény kritikát fogalmaztak meg azért, ami a csak egy őszinte tévedés volt.
Egy dolgot azonban határozottan meg lehet tanulni ebből a történetből: ne bízzunk a homokozó ítéletében a kontextus ismerete és további elemzés nélkül.