Veszélyek – I.
Rootkitek becsempészése, titkos dokumentumok elolvasása, telefonok lehallgatása – félelmetesen egyszerűen megy mindez. Szimuláltuk a legveszélyesebb támadásokat, és megmutatjuk, hogyan lehet védekezni a legújabb hackertrükkök ellen.
- www.rootkit.com: A legismertebb oldal a témában, sok technikai részlettel
- www.bo2k.com: Az open source trójaiak angol nyelvű weboldala
- www.securityfocus.com: Biztonsági hírek weboldala, sok szakcikkel
Tűzfallal, antivírus programmal és szervizcsomaggal védjük számítógépes rendszerünket? Helyes! De ha azt hisszük, hogy a gépünk így már védett az adatkémkedés, a hackerek és az internetmaffia ellen, akkor tévedünk. Aki nem telepíti a PC-jére a legújabb patcheket, az kifejezetten megkönnyíti a támadók dolgát, s nem is csodálkozhat a kéretlen látogatókon. De még ha telepítjük is a legutolsó patchet, az sem jelenti azt, hogy a számítógépünk száz százalékosan védett: az úgynevezett 0 day exploitokkal még ismeretlen és befoltozatlan biztonsági réseket használnak ki a hackerek, és a látszólag biztonságos védőfalakat is másodpercek alatt áttörik. Ráadásul megy ez még egyszerűbben is: egy megfelelően manipulált CD-vel a legkeményebb tűzfalat is le lehet győzni.
Mindezeket a módszereket mi is kipróbáltuk a gyakorlatban: új hackermódszerekkel szimuláltuk az internetről érkező legveszélyesebb támadásokat, beleértve a rootkiteket is. Az eredmény ijesztő: ha a támadó igazán elszánt, hamar birtokába juthat az áldozat PC-je feletti ellenőrzésnek. Megmutatjuk, hogyan történik ez, és milyen intézkedésekkel védhetjük hatékonyan a rendszerünket.
1. Az áldozat kikémlelése
Az első számú szabály egy sikeres kém számára: ismerd meg pontosan az ellenséget.
A webböngészővel könnyű dolguk van a hackereknek, a szörfözőknek még mindig több mint a 90 százaléka Internet Explorert használ. Érdekes, hogy a cégeknél szinte mindig az előre telepített Microsoft programot használják. A hackernek tehát elég csak egy előzőleg preparált weboldalra csalni az áldozatát, és kihasználni a böngésző gyengéit.
A támadás. Azt tervezzük, hogy egy buffer-overflow exploit, azaz puffertúlcsordulást lehetővé tevő sérülékenység segítségével megszerezzük az uralmat a böngésző és ezzel a PC felett. Ezért először áldozatunk szoftvereiről tájékozódunk. Milyen jó, hogy csak mostanában mutogattuk a kollégáknak online nyaralási albumunkat, így könnyen hozzájutunk a böngészők nevéhez és verziószámához. Minden telepített patch-csel kisebb lesz a támadási felületünk, ezért először tudnunk kell, melyik böngészőt használja az áldozat. Ezeket az információkat a böngésző előzékenyen mindjárt el is küldi, amit azután a webszerver naplójából kiolvashatunk. De a fájlverzió is fontos, mivel a legtöbb buffer-overflow csak bizonyos verziókkal működik. „Szerencsénk” van, mert az Internet Explorer 6-hoz találunk egy univerzális 0 day exploitot.
A FrSIRT hackerei egy Proof of Concept weboldalon pontosan demonstrálják, hogyan lehet kihasználni a gyenge pontot. Köszönjük szépen, ez sokat segít abban, hogy saját rohamot indítsunk. Példánkban ugyan csak az ártalmatlan Windows Számológépet indítjuk el, a szkriptbe azonban beleszövünk egy backdoort. A nyitva hagyott hátsó ajtón keresztül később további programokat csempészünk a rendszerbe. Még a szükséges backdoort is megtaláljuk az interneten, így a támadásunkat, akárcsak egy script-kiddie, egy egész egyszerű copy&paste-tel el tudjuk intézni. Most már csak arról kell gondoskodnunk, hogy áldozatunk meg is nyissa a preparált weboldalt. Ezért elküldjük neki a weboldal linkjét azzal, hogy ott megtalálja az utolsó céges buli fotóit. Egyszerű trükk, de szinte mindig bejön. Esetünkben is olajozottan működik a támadás. Miután kiszemeltünk a linkre kattint, megnyílik az Internet Explorer, és rögtön le is fagy. De előbb nem mulasztja el telepíteni kis búcsúajándékát: a backdoort.
A védekezés. Használjunk alternatív böngészőt (Firefox, Opera). Bár a biztonsági szakértők ezeknél is súlyos biztonsági réseket találtak, ezeket messze nem olyan gyakran használják ki a hackerek, mivel az IE – elterjedtsége miatt – sokkal kézenfekvőbb célpont. Fontos: ne nyissunk meg minden e-mailben minden linket. Az ismeretlen feladóktól származó leveleket rendkívül óvatosan kezeljük.
2. A tűzfal feltörése
Kettes számú szabály a kémek kézikönyvében: megtévesztés és álcázás.
Tökéletesen álcázható például egy trójai egy látszatra ártalmatlan CD-n. A hacker előnye, hogy a felhasználó mit sem sejt a veszélyről. Alig néhány embernek jut csak eszébe, hogy egy csábító tartalmú reklám-CD trójait is rejthet.
A támadás. Ahelyett, hogy először egy backdoort telepítenénk és utána a trójait, ezúttal kihasználjuk az adathordozó kapacitását, és mindjárt az egész trójait a CD-re pakoljuk. Támadásunkhoz a már réginek számító Back Orifice 2000-et választjuk. A nyílt forráskódú trójai előnye, hogy néhány egyszerű fogással testre szabható. Egy kevés új kód, egy másik compiler, és már nem is ismerik fel a trójait a ma használatos vírusvizsgálók.
Trójai CD öt perc alatt: az NSIS ingyenes setupkészítő programmal összerakjuk
a demó CD eredeti telepítőjének megtévesztő mását, hogy elrejtsük benne a trójait [+]
Hogy a trójai a CD behelyezésekor fel is települjön, egy már létező demó CD-t használunk, és a telepítőrutint a szabadon kapható NSIS programmal átalakítjuk. A különbség: ez alkalommal a telepítő a trójainkat is a hátán hordozza, ráadásul még automatikus indítási funkcióval is felszereltük a csalimadarat. Így ugyanis automatikusan elindul a telepítő, amint a felhasználó a meghajtóba helyezi a lemezt. Az áldozatnak már csak telepítenie kell a demó CD-t, és a trójai elindul. Esetünkben az áldozat minden billentyűleütését naplózza és továbbítja nekünk.
A védekezés. Az ilyen támadások ellen nem létezik tökéletes védelem. De ugyanúgy, ahogy az e-mailekre, a CD-kre is érvényes, hogy olyan programokat, amelyeket nem ismerünk, ne telepítsünk. Ezt azonban a gyakorlatban aligha lehet kibírni. Ilyenkor jobb egy külön tesztrendszert használni, ahol egy trójai nem tud kárt okozni. A tesztgépet természetesen ne kössük hálózatba a működő rendszerrel.
Veszélyek – II.
3. Láthatatlannak lenni
A harmadik szabály: akit nem látnak, azt nem tudják leleplezni.
A PC-kémkedésre alkalmazva ezt a szabályt: rootkit kell, hiszen azzal az egyszerű backdoorból is szuper trójai lesz, amit, ha egyszer már bekerült a rendszerbe, nehéz felfedezni, és még nehezebb eltávolítani. A Windowshoz készült legismertebb rootkit a FU Rootkit névre hallgat. Ez elrejti a Feladatkezelőben a felhasználó szeme elől a károkozó programokat, így nem lehet leállítani a trójait. A modernebb rootkitek, mint például a Beast, még többet elrejtenek, például Registry-bejegyzéseket, TCP/IP-kapcsolatokat és fájlokat a merevlemezen. Speciális szoftver nélkül még egy profi sem tudja felfedezni a trójait, nem is beszélve az eltávolításról. Ezt az okozza, hogy a rootkitek eltérítik a Windows-funkciókat és manipulálják a válaszokat, amelyekre a normál vírusvizsgálók hagyatkoznak.
Gyilkos program: egyetlen kattintással megadjuk a Beast nevű trójainak,
hogy melyik védelmi szoftvert lője ki
A támadás. Kibővítjük a már egyébként is erősen személyre szabott Back Orifice 2000-ünket a FU Rootkits egy továbbfejlesztett változatával. Ez ugyanolyan egyszerű, mint például egy plugint telepíteni a Photoshopba. Az egyetlen, amit tennünk kell, hogy telepítünk egy rootkit plugint, és definiáljuk, hogy mely fájljokat ne lássa később a felhasználó. Tesztcéljainkhoz elrejtjük magát a trójait és minden fájlt, amelyet később fogunk létrehozni, például a keylogger naplófájlját.
A védekezés. Az ilyesfajta lopakodó technika ellen gyakorlatilag nem lehet védekezni. Ha a trójai egyszer feltelepült a rendszerre, csak speciális eszközökkel távolítható el (ilyen például a Rootkit-Revealer a Sysinternalstól). Ráadásul nagyon jól kell ismerni a rendszerünket ahhoz, hogy egyáltalán felfedezzük a trójait. Ehhez ugyanis memóriacímeket és Windows-funkciókat kell egymáshoz rendelni. Tovább nehezíti a dolgot, hogy még olyan ártalmatlan programok is ugyanezt a technikát használják, mint például a DaemonTools, amely csak virtuális meghajtókat hoz létre, hogy észrevétlenül a rendszerbe illeszkedjen.
4. Telefonok lehallgatása
Mindent hallani és semmit nem mondani – ez a negyedik szabály.
A telefonbeszélgetések lehallgatása már régen nem a titkosszolgálatok privilégiuma. Míg néhány évvel ezelőtt az ISDN készülékek sok gyenge pontja csábította a hackereket, most a VoIP telefonokat hallgatják le előszeretettel az interneten.
A támadás. Demonstrációs célokból letöltjük a Cain & Abel nevű hacker programcsomagot az internetről. Ez nemcsak alaptrükköket ismer, mint például a jelszavak feltörését, hanem azt is lehetővé teszi, hogy naplóztassuk a felkeresett internetoldalakat, és főleg, hogy WAV fájlként vegyük fel a VoIP beszélgetéseket. Ennek a támadásnak az egyetlen előfeltétele, hogy a hacker a hálózat egy olyan pontján kapcsolódjon be, amelyen minden adat keresztülhalad. Ez lehet a helyi (vezeték nélküli) hálózat egy csatlakozása, vagy akár egy trójai is a két áldozatgép egyikén. Mi egy úgynevezett man in the middle támadást indítunk, és megcsapoljuk kollégánk adatfolyamát. Ehhez azt a parancsot adjuk trójainknak, hogy az adatokat először hozzánk küldje. Ezután továbbítjuk a másik résztvevőnek, de persze csak azután, hogy kielégítettük kíváncsiságunkat. Kedves kollégánk mindebből semmit nem vett észre.
A védekezés. A legegyszerűbb intézkedések kézenfekvők: a helyi hálózat biztonságossá tétele legalább MAC-címszűrőkkel idegen hálózati kártyák ellen, és vírusvizsgáló a trójaiak ellen. Ezen kívül már vannak megoldások a VoIP beszélgetések kódolására is, mint a Zfone nevű program a PGP-feltaláló Phil Zimmermantól. Sajnos a szolgáltatók nem mindig támogatják ezeket a verziókat, így a felhasználó kimarad egy sor kényelmi szolgáltatásból.
5. Adatok kicsempészése
Az utolsó és legfontosabb szabály így hangzik: ne hagyd, hogy kémkedés közben elkapjanak!
Egy trójai falovat telepíteni a számítógépre még csak fél munka: mert hazafelé irányuló kapcsolat nélkül még a legelvetemültebb kártevő sem ér semmit. Mivel nem ismerjük áldozatunk infrastruktúráját, minden lehetséges tűzfalra fel kell készülnünk, köztük az olyan desktoptűzfalakra is, amelyek lehet, hogy minden aktív programot blokkolnak, és egy IDS-re (Intrusion Detection System) is, amely minden csomag tartalmát elemzi. Ez azt jelenti, hogy nem elég csak elküldeni az adatokat a számítógépről, hanem az információknak olyan jól álcázottnak is kell lenniük, hogy az akció ne bukjon le. Ebből a célból egyre újabb trükköket találnak ki a hackerek. A Back Orifice 2000 trójaihoz alig vannak szabadon hozzáférhető pluginek, amelyek alkalmasak erre a célra. Mégis akad elég eljárás, amellyel a hackerek tűzfalon keresztül kommunikálni tudnak.
Pillantás az alagútba: a DNStesttel veszélytelenül ellenőrizhetjük,
mennyire (nem) biztonságos a tűzfalunk. Ígérjük: lesz min csodálkozni!
A támadás. A messze legkedveltebb eszköz a tunnelezés, vagyis alagútfúrás egy másik, látszólag ártalmatlan protokollon keresztül, mint a HTTP, az SMTP vagy a DNS. Mi a DNS-alagút mellett döntünk, hogy a hálózat minden biztonsági ellenőrzőpontján észrevétlenül átjuthassunk. Ez azt jelenti, hogy csomagjainkat senkinek fel nem tűnő domainnévcsomagokba rejtjük. Ezeket a tűzfalak több mint 90 százaléka átengedi, mert a DNS protokoll elengedhetetlen az internettel való zavartalan kommunikációhoz. Ezen kívül enyhén kódoljuk az információkat, és lehetőleg kevés csomagot küldünk, hogy az IDS-nek ne tűnjön fel semmi. A domainnévcsomagok hirtelen megnövekedett mértékű cseréje ugyanis szintén feltűnő lenne, és egy jó IDS-nél megkongatná a vészharangokat.
Már csak a desktoptűzfal hiányzik. Ezt egy injection attackkal kerüljük ki. Ez azt jelenti, hogy keresünk magunknak egy programot, amelyet a tűzfal garantáltan nem blokkol – például az alapértelmezett böngészőt. Hogy ez az Internet Explorer vagy a Firefox, azt megtudjuk a Windows-registryből, amelyet egyszerűen kiolvastatunk a trójaival. Most már csak várnunk kell, míg mit sem sejtő áldozatunk elindítja a programot, és ezáltal betölti a memóriába. Már meg is történt! Trójaink beékelődik az átmenő forgalomba, és megkaparintja saját céljaira.
A védekezés. Itt mutatkozik meg a legjobban a hackerek és a biztonsági cégek közti macska-egér harc. A tűzfalak, vírusvizsgálók és IDS-ek ugyan egyre több támadást ismernek fel és blokkolnak, amazok viszont egyre rafináltabbak lesznek. Minél többet tud a támadó a célpontjáról, annál valószínűtlenebb, hogy lelepleződik. Általában minden védőmechanizmushoz akad olyan trükk, amellyel meg lehet kerülni azt, ezért fontos, hogy a rendszergazdák olyan frissen tartsák a számítógépeket és a védőprogramokat is, amennyire csak lehet!
A rootkitekről bővebben
Rootkitek: a láthatatlan veszély
A rootkitek olyan mélyen beássák magukat az operációs rendszerbe, hogy a szabványos biztonsági programoknak esélyük sincs, hogy felfedezzék őket. A csúcsfejlesztésű trójaiak olyan programgyűjtemények, amelyek jelszavakat naplóznak, elérést szereznek a hackereknek, minden billentyűleütést feljegyeznek, a hálózatban hallgatóznak információk után – feltűnés nélkül.
Ha hiszünk (és miért ne hinnénk) az olyan specialistáknak, mint az F-Secure, a technológiában még nagy lehetőségek rejlenek, amelyet a jövőben még nagyobb erővel fognak vírusok és férgek álcázásához felhasználni. Már most vannak olyan férgek, amelyek a Sony rootkitet használják. Ennek az az oka, hogy a vírusvizsgálók nem tudják felderíteni a rootkiteket, mivel ezek mélyen a Windows-API-ba (Application Program Interface) ékelődnek. Az alkalmazások – tehát a vírusvizsgálók és a tűzfalak is – az API-n keresztül indítják el az operációs rendszer alapvető funkcióit, például a merevlemez vagy a Registry elérését. A rootkit minden kérést elfog és eldönti, mely adatokat láthat a biztonsági alkalmazás. Például, ha egy vírusölő a rootkit fájlnevét keresi, kiszűr minden megfelelő bejegyzést az operációs rendszer válaszából. A trójai tehát láthatatlan marad.
Így leplezhetjük le a rootkiteket: Az ismert Windows-rootkitek nagyja szerencsére (még) nem álcázza magát tökéletesen. A Slanret trójait rendszer-meghajtóként írták meg, ezért csökkentett módban láthatóvá válik. Ezen kívül gyakran okoz lefagyásokat. További rootkitre utaló jelek az erősen zsugorodó merevlemezhely, a CPU-teljesítmény megmagyarázhatatlan változásai, és persze az ismeretlen internetkapcsolatok. A profik ezen kívül olyan programokat is használnak, mint a RootkitRevealer, hogy kitalálják, melyik API-cím lett eltérítve. Az is célravezető, ha összehasonlítják a fájlokat a merevlemezen egy előzőleg készített tiszta backuppal.
Így távolíthatjuk el a rootkiteket: A legradikálisabb megoldás a legjobb – a formattálás és az újratelepítés minden rosszindulatú programot kiiktat. Utána minden jelszót újra kell cserélni. Sajnos a speciális szkennerek, mint például a BlackLight, bonyolultak, és csak a profiknak segítenek felkutatni és törölni a rootkiteket. A vad rootkitek számos variációjához sajnos még nincs egyszerű eltávolító program, mint amilyen a Sony audio írásvédelmének rootkitje elleni program. A rootkiteknek azonban van egy közös gyengéjük: patchelt tűzfallal és vírusvizsgálóval ellátott PC-kre először egyáltalán nem jutnak fel, mert a felhasználó nem nyit meg gyanús csatolmányokat, és lemond ismeretlen szerzők kétes fájljainak letöltéséről.
Céges hacker-trükkök
Aki vesz egy zenei CD-t a Sony BMG-től vagy egy játékot a Blizzard Entertainmenttől, nem gondol aljas hackertrükkökre. Pedig amit a nagy konszernek megengednek maguknak, az jogilag legalábbis a szürke zónába tartozik.
Hogy védje zenéjét a rablómásolatoktól, a Sony BMG konszern egy egészen különleges másolásvédelmet programoztatott magának. Ha meg akarjuk hallgatni a zenéjüket egy Windows számítógépen, telepíteni kell egy lejátszót, amely a CD-n található. A felhasználó elől azonban azt elhallgatták, hogy a lejátszóval együtt mindjárt egy rootkit is feltelepül a gépre, amely eltakarja a másolásvédelem fájljait a kíváncsi tekintetek elől.
Ezt Mark Russinovich, a Sysinternals egyik programozójának véletlen felfedezése leplezte le. Mivel a titokzatos XPC névre hallgató másolásvédelem instabillá teszi az operációs rendszert, ezen kívül kapcsolatot vesz fel az internettel, a felhasználók heves tiltakozásának hatására a Sonynak be kellett vonnia a piacról az érintett CD-ket. Mindeközben az alternatív operációs rendszerek felhasználói akadálytalanul tudnak másolatokat készíteni, ezekre ugyanis nem telepíthető fel a rootkit.
Hogy megóvja a World of Warcraft online játék résztvevőit a cheaterektől (csalóktól), a Blizzard Entertainment olyan trükkhöz folyamodott, amelyet a játékostársadalom egyáltalán nem talált viccesnek.
A profi csalók, akik az eBay-en nem létező tárgyak eladásával keresnek pénzt, úgynevezett botokat, azaz olyan programokat használnak, amelyek teljesen automatizáltan vezérlik a játékfigurákat, és így fölöslegessé teszik. Hogy ezt megakadályozzák, a játékgyártó cég nekiállt minden aktív program címsorát kiolvasni és a játékszervernek elküldeni. Több mint kellemetlen, ha például épp ebben a pillanatban nyitva van egy online banking ablak, ugyanis akkor ez az információ is átmegy.
Szupervírus – made by Microsoft
Feje tetejére állt a világ: a Microsoft (együttműködve a Michigani Egyetem kutatóival) egy olyan rootkitet fejleszt, amely kiakasztja a Windowst. Az új, virtual machine based rootkit (VMBR) technikán alapuló, SubVirt névre hallgató szuper-rootkit ellen tehetetlenek a vírusvizsgálók. Ez ugyanis nem a megtámadott operációs rendszerben fut, hanem azzal párhuzamosan, virtuális környezetben.
A Microsoft természetesen nem állt át a másik oldalra. Ezzel a forgatókönyvvel csak bemutatja, mi minden juthat a hackerek eszébe a jövőben – és persze azt is demonstrálja, hogy a redmondiak fel vannak készülve az ilyesfajta fenyegetésekre.
A SubVirt ennek ellenére nyugtalanító: mi van ugyanis akkor, ha a redmondi fejlesztők a VMBR alapelvét felhasználva a felhasználók PC-it ellenőrzik? Ahogyan a rootkit működik, az egyfajta „Big Brother” forgatókönyvhöz is felhasználható: a SubVirt alapja a Microsoft VirtualPC szoftvere, amely egy PC-t emulál. A VMBR az operációs rendszer alá települ fel, és újraindítás után egy virtuális környezetben futtatja azt. Az alig 100 megabájtos telepítőfájl P2P-hálózatokon keresztül terjedhetne, a merevlemezen pedig észrevétlen méretet, 250 megabájtot foglal el. Felhasználóként alig lehet teljesítménycsökkenést észlelni, legfeljebb a hosszabb bootolás tűnhetne fel. Még a Microsoft egyik munkatársa is úgy ült egy fertőzött rendszer előtt, hogy semmit nem vett észre belőle.
Egy ilyen VMBR-t ugyan nem tud minden szkriptírkáló kölyök összehozni, de a kicsit képzettebb programozók már simán. Ha egyszer feltelepült, a rootkit minden elképzelhető alkalmazást tud futtatni. A Microsoft-kísérletben phishing mailszerver és keylogger futott – elméletileg azonban egy kikerülhetetlen másolásvédelmet is futtathatna, vagy egy ellenőrző mechanizmust, amely megakadályozza a nyílt forráskódú programok futtatását.