Egy etikus hacker, első rész

2011.03.22. 17:14 | aliceesbob | Szólj hozzá!

Címkék: hacking rootkit gépházból jelentjük

Saját bevallása szerint sem túl divatos dolog manapság rootkitekkel foglalkozni, mégis ez hozta meg a jól megérdemelt szakmai elismerést Barta Csabának. Egy általa kedvtelésből írt rootkit a nemzetközi konferenciák sztárja lett, és bekerült a világ 60 országában oktatott információbiztonsági tananyagba is. 

Mit kell tudnunk a rootkitekről? Mik ezek, milyen fajtái vannak?

Gyakori félreértés, hogy a rootkitet sérülékenységnek, biztonsági résnek tekintik. Ez nem igaz. A rootkit olyan program, amelynek célja, hogy egy -- már előzőleg megszerzett -- hozzáférést tudjon hosszú időn keresztül fenntartani anélkül, hogy a felhasználó vagy a rendszergazda észrevenné. Alapvetően három fajtáját szokták megkülönböztetni: felhasználói módban működő; kernel módban futó; és a hardveres rootkitek.

A felhasználói módban futó rootkit telepítéséhez nem feltétlenül kell adminisztrátori jogosultság, ezért könnyebb megcsinálni, de észlelni is. Ezek nem rendszerállományokat módosítanak, hanem az operációs rendszer szolgáltatásait meghívó API-kat, függvényeket alakítják át, és a visszaadott eredményt szűrik.

A kernel módban futó rootkithez már adminisztrátori jogosultság kell -- illetve a csupán az adminisztrátornak meglévő Load Driver Privilege --, mert a legtöbb esetben kernelmeghajtót is kell hozzá telepíteni. A támadó szempontjából annyiban jobb, hogy mélyebbre ágyazódik be a rendszerbe, így nehezebb észrevenni. (Egyébként az én rootkitem is kernel módú.) A hardver -- vagy virtuális környezetekben hypervisor -- szintű rootkitek a legjobbak, mert ezeket szinte képtelen észlelni az operációs rendszer: a rootkitet ő már a hardver elemeként látja, és mint ilyet, érvényesnek fogadja el. Nemrégiben hallottam, hogy egy hálózati kártya firmware-ét módosították és helyeztek el rajta rootkitet, de már arra is születtek elképzelések, hogy a processzorok mikrokódjába írjanak bele plusz utasításokat.

Régi szerelem

Bár még nincs 30 éves, nem ma kezdte a szakmát Barta Csaba. "Hét éves voltam, amikor megkaptam az első számítógépemet (egy 286-os PC-t), egy évvel később már jártam az iskolai programozó szakkörbe és megírtam az első kis programjaimat Basicben", mesél arról, honnan jutott el a kernelmeghajtók fizikai memóriacímzésének rejtelmeiig. Ezután a nyolcosztályos gimnáziumban elvégzett egy ötéves tanfolyamot is, amelyen programozó-rendszertervező képzettséget szerzett, innen pedig egyenes út vezetett a Budapest Műszaki Főiskoláig (ma már Óbudai Egyetem).

A szoftverek sérülékenysége iránti érdeklődést a játékprogramok hozták elő belőle: a programozói ismereteire támaszkodva megnézte, hogy a lementett pályák visszatöltésekor honnan szedi az információt a szoftver. Ez akkoriban még viszonylag egyszerűen ment, a sikerélmények pedig még inkább felkeltették a kíváncsiságát a szoftverek sebezhetősége iránt. "Klasszikus, a tudásvágy volt ez…", jellemzi akkori tevékenységét.

Az információbiztonsági kérdések iránti affinitásának jó hasznát vette első munkahelyén, az OTP Bankban is, ahol egy biztonsági alkalmazás továbbfejlesztésére vették fel. Jelenlegi munkahelyén, a Deloitte-nál már kimondottan a biztonság kérdései, azon belül is a "számítógépes nyomrögzítés", a forensic foglalkoztatják, ezt a területet oktatja is a NetAcademián, és újabban sűrűn jár nemzetközi konferenciákra is előadni. A rootkitek mégis megmaradtak amolyan hobbinak.

"Imádom a munkámat, mert a hobbim is, de otthon igyekszem a családomnak élni, és nem minden időt a számítógép előtt tölteni", mesél még arról, hogy az informatikai kártevőkön és az ellenük való védekezésen kívül mi tölti még ki az életét.

 Mire használják őket leggyakrabban?

A rootkit abban a legjobb, hogy egy hozzáférést nyitva, de ugyanakkor rejtve tartsak. Mondjuk, hogy kinéztünk egy célpontot, valamilyen úton-módon (egy sérülékenységet vagy gyenge jelszót kihasználva) bejutottunk a rendszerbe, és adminisztrátori jogosultságot szereztünk. A rootkit arra szolgál, hogy ezt a csatornát hosszú időn keresztül nyitva tartsuk, ugyanis egyáltalán nem biztos, hogy egy hét vagy egy hónap múlva ugyanezzel a módszerrel ismét bejutnánk. De ha már az első alkalommal telepítettük a rootkitet, akkor később is be tudunk lépni a rendszerre, és a távolból tudjuk vezérelni. Nézzünk egy konkrét példát. Bejutottunk egy Windows domainbe, és ott a legmagasabb, enterprise adminisztrátori jogosultságot szereztünk. Ennek birtokában telepítettük a rootkitet és létrehoztunk egy felhasználót a domainben, szintén enterprise admin jogosultságokkal -- csak ő már nem fog megjelenni, amikor az igazi rendszergazda kilistázza a felhasználókat. És ez így marad akkor is, ha frissítik a domain controllert vagy lecserélik a szerver operációs rendszert. Egyvalamire nem alkalmas a rootkit: jogosultságot szerezni. A rootkit telepítéséhez szükséges adminisztrátori jogosultságot valamilyen más módszerrel kell megszerezni.

Miből lehet észrevenni egyáltalán, hogy rootkit van a gépen? A működésének lényege éppen az észrevétlenség.

Árulkodó jel lehet, hogy instabillá válik a rendszer, vagy furcsa tüneteket produkál. Amikor a saját rootkitemet írtam, belefutottam abba, hogy egy olyan könyvtárat is eltüntettem, amire a Windowsnak is szüksége lett volna; nem csoda, hogy az operációs rendszer nem akart működni. Emellett azért a rootkit sem képes mindenre. Ha az a célja, hogy adatokat szivárogtasson ki a rendszerről, akkor a hálózati forgalomból egy IPS révén mindig kiszűrhetők a működésének a nyomai. Vagy tömegével mennek a spamek a gépemről. Vagyis a megfertőzött gépen valóban képes eltűnni, de a teljes környezetben már észrevehető a jelenléte.

A hagyományos biztonsági szoftverek (például az antivírus eszközök) mennyire hatékonyak a rootkitek észlelésében?

A már ismert rootkiteket a szignatúra alapján észleli egy modern antivírus program, de ha minimális mértékben módosítják őket -- ami azért a legtöbb esetben nem bonyolult --, akkor már nem tud velük mit kezdeni. Amikor megírtam a saját rootkitemet, és az bekerült a tananyagba, fel is hívtuk rá a gyártók figyelmét, és egyeztettük a szükséges lépéseket, hogy megelőzzük a rosszindulatú felhasználást. Fejlődik a heurisztikus technológia is, ami már nem a program bájtjait nézi, hanem a viselkedését, működését, az általa végrehajtott műveleteket. A heurisztikában alkalmazott mesterséges intelligencia persze még nem tökéletes, de ilyen alapokon egyre nagyobb esély van az ismeretlen variánsok megtalálására is.

Holnap folytatjuk...

A bejegyzés trackback címe:

https://aliceesbob.blog.hu/api/trackback/id/tr452762611

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása