5. Támadási típusok

5.1. Támadást megelőző technikák

5.1.1. Információgyűjtés

Egy támadás előtt mindenképpen fontos az adott rendszer feltérképezése. Erre a hackernek számos lehetősége kínálkozik. Ilyen módszer lehet, ha ügyfélnek adja ki magát, és érdeklődik a rendszer biztonságáról, vagy fizikailag megpróbál hozzáférni egy rövid időre a rendszerhez. Ezen eljárásokról részletesebben a 5.8. fejezetben lesz szó.

Egy idegen rendszerbe való behatolás általában a következő koncepció szerint zajlik:

•  Az adott rendszer feltérképezése

•  Védelmi mechanizmusok ellenőrzése

•  Logfájlok ellenőrzése

•  Adatátviteli csatornák megfigyelése

•  Hitelesítési mechanizmusok keresése, ellenőrzése

•  Betörés

 

5.1.2. Szkennelés

Maga a port szkennelés még nem tekinthető támadási kísérletnek, de nagy valószínűséggel megelőzi azt. Ha valaki támadási pontot keres egy szerveren, olyan technikát alkalmaz, amely segítségével feltérképezhető, hogy egy kiszemelt gépen milyen hálózati szolgáltatások futnak.

A különböző szkennelési eljárások más-más lehetőséget kínálnak.

 

5.1.2.1. Vanilla

Ez a módszer a legegyszerűbb, és leggyorsabb. Egyszerre mind a 65536 porton megpróbál a program kapcsolatot létesíteni.

 

5.1.2.2. Strobe

Hasonló az előzőhöz, azzal a különbséggel, hogy csak azoknak a szolgáltatásoknak a portjaira próbál kapcsolódni, amiket a támadó ki is tud használni.

 

5.1.2.3. Stealth scan

A támadó többféleképpen is megvizsgálhatja, hogy nyitva van-e a port, anélkül, hogy kapcsolatot építene ki. Ezen eljárás azért közkedvelt, mivel nem kerül kiépítésre kapcsolat, így a rendszer nem is logolja azt.

SYN scan: Egy SYN csomagot küld, mintha kapcsolódni akarna. Ha kap választ, akkor bizonyos, hogy a port nyitva van. Mindehhez csak egyetlen csomag elküldésére van szükség. Azonban, ha nem érkezik válasz, az nem szükségszerűen jelenti a port bezártságát. Elképzelhető, hogy a csomag vagy a válaszcsomag elveszett a hálózatban. Ezért kis várakozás után újból elküldheti.

FIN scan: A kliens küld egy FIN csomagot, végjelet, mintha zárni akarná a kapcsolatot. A szervernek - ha az adott port nyitva van -, kötelessége erre válaszolni. Még akkor is, ha nem létezett kapcsolat a klienssel azon a porton. Ez nem mindig van így, bizonyos TCP/IP implementációkban csak akkor jön válasz, ha létezett kapcsolat.

NULL scan: Egy üres (egy flag sincs beállítva) TCP csomagot küld a szervernek. Ha a port nyitva van, választ fog kapni egy hibaüzenet formájában. A hibaüzenetből pedig következtetni lehet a szerveren futó operációs rendszerre.

 

5.1.2.4. FTP bounce scan

Az FTP szolgáltatás egyik érdekessége, hogy "proxy" funkciója is van. Egy ilyen szerveren keresztül a szkennelt gép nem fogja látni a támadó IP címét. A legtöbb FTP szerveren már le van tiltva ez a lehetőség.

 

5.1.2.5. Fragmented packets

A stealth scan-t lehet vele kombinálni. A TCP csomagot nem egyben, hanem darabonként küldi el a program. Ezzel néhány csomag filterező tűzfalat át lehet ejteni, mivel nem látják az egész IP csomagot nem tudják azonosítani egy tűzfal szabállyal sem, és átengedik. Az újabb Linux kernelek alapértelmezés szerint megvárják az összes töredéket, és összerakva vizsgálják ( CONFIG_IP_ALWAYS_DEFRAG opció a kernelfordításkor), így erre immúnisak.

 

5.1.2.6. UDP scan

Számos szolgáltatás működik UDP-n is. Az UDP egyszerűbb protokoll, de néha nehezebb szkennelni, mivel itt a nyitott port-ok nem szükségszerűen küldenek választ.

 

5.1.2.7. Sweep scan

Az előző technikák valamelyikével egyszerre több gép ugyanazon portjára próbálunk kapcsolódni.

 

5.1.2.8. ICMP scan

Egy adott IP tartomány gépeit megpingeljük, hogy egyáltalán van-e ott valaki (ICMP ECHO csomaggal). Csak azt lehet megállapítani, hogy az adott címen van-e számítógép. Ha van, akkor ICMP ECHO REPLY csomaggal válaszol. Ezzel az eljárással máris adott a lehetőség, hogy a különféle szkennelési eljárásokkal az adott gépen réseket keressünk. Nem tartozik szorosan a port szkenneléshez, hiszen az ICMP-nek nincsenek is portjai.


5.2. DoS – Denial of Service

A Denial of Service ( DoS – szolgáltatás megtagadás) egy koncepció, a számítógép eszközeinek, erőforrásainak, vagy néhány általa végzett szolgáltatás szándékos elfoglalására. A támadás végső soron az áldozatul kiszemelt – többnyire szerver – számítógép sávszélességét, erőforrásait annyira leterheli, hogy nem képes többé elfogadható sebességgel tovább folytatni azon szolgáltatásokat, amelynek megvalósítására üzembe helyezték. Egy ilyen támadás a számítógép erőforrásainak kimerítését tűzi ki célul. Legyen szó a memória vagy a tárolókapacitás elfoglalásáról, a processzor vagy a kommunikációhoz használt adatátviteli sáv túlterheléséről, a hatás a számítógép teljes leállásában, vagy némely esetben – a használt operációs rendszertől függően – csak az adott pillanatban működő folyamat leállításában nyilvánul meg.

A legegyszerűbb módszer az eddigi tapasztalataim szerint, amikor a rendszermemória telítődik haszontalan adatokkal. Ily módon kimerül a számítógép kapacitása és nem képes folytatni a munkát. Hasonlóképpen blokkolja a tevékenységet a merevlemez szándékos feltöltése. Elegendő, ha a támadó valami módon hozzáfér a merevlemezhez és végteleníti az adott fájl másolásának folyamatát.

Az erőforrások kimerítésének egy másik módja az, hogy egyszerre sok alkalmazást nyitnak meg, melyek vagy a hozzáférhető memóriát foglalják le, vagy a processzort blokkolják. A használt módszertől függetlenül az eredmény ugyanaz lesz: a megtámadott rendszer időleges vagy állandó leállása. A telepített operációs rendszertől függően egyes esetekben az újraindításkor figyelmen kívül hagyható a biztonsági rendszer.

Sokféle védelmi módszer kínálkozik támadás elhárításra. Úgy gondolom a legfontosabb a rendszerek konfigurációjának alaposabb beállítása - amennyiben ez lehetséges -, valamint a biztonsági javításokat tartalmazó szoftverfrissítések gyors, mielőbbi alkalmazása. A rendszeradminisztrátoroknak naponta meg kell(ene) látogatniuk azokat a speciális honlapokat, ahol alkalmazott és felügyelt operációs rendszereik ilyen irányú frissítő- és javítócsomagjai találhatók, valamit késedelem nélkül alkalmazni is kell azokat.


Az új generációs operációs rendszerek lehetővé teszik a memória, a merevlemez és a processzor korlátozott lefoglalását, a támadások megelőzése végett. Ezért is olyan fontos a dokumentációk áttanulmányozása minden egyes program vagy operációs rendszer telepítése esetén.

A DDoS (Distributed Denial of Service – elosztott szolgáltatás megtagadás) hasonlóan a DoS támadáshoz szolgáltatás megtagadást jelent, csak annyiban módosul, hogy a tulajdonképpeni támadás előtt a hacker jogosultságot és elérést szerez néhány másik rendszeren is, amiket szintén arra használ fel, hogy a kiszemelt host ellen támadást indítsanak. A probléma jelen esetben nem csupán az adott host terhelhetősége, hanem a hozzá tartozó sávszélesség is, amelyet milliónyi TCP kérés foglal el.

A gépek feletti irányítás megszerzéséhez számos eljárás létezik. Például a támadó kereshet hibás rendszereket szkenneléssel, amelyekben trójaiakat helyez el, hogy a megfelelő időben támadást indítsanak. Egy másik lehetőség, amikor scripteket vírusba ágyazva fertőz meg gépeket és kényszerít a támadás végrehajtására.

Az elosztott támadások nem a legutolsó hullámot képviselik, belőlük újabb támadások is származhatnak.

Védekezés a DDoS támadás ellen:

Sajnos teljesen soha nem védhetjük meg magunkat az ilyen típusú támadás ellen. Ennek oka az, hogy mindig lesznek olyan számítógépek az Interneten, amelyek nem rendelkeznek megfelelő védelemmel, vírusirtóval, így ezen gépek tökéletes „katonái” lehetnek egy hackernek. Az első biztonsági lépést a csomagszűrők és a jól konfigurált tűzfalak jelentenék. Ezenkívül elengedhetetlen a friss vírusinformációs adatbázissal rendelkező vírusirtó is.

 

5.2.1. SYN árasztás

5.2.1.1. TCP SYN Flood

A számítógépek közötti kommunikációban a kapcsolat nagyrészben a TCP/IP protokollon keresztül valósul meg. A kommunikációban résztvevők először egy tree-way handshake-et várnak (háromutas kézfogás). Ezt a normál módú kapcsolatot szemlélteti a 19a,b. ábra. Gond akkor van, ha a szerver elküldi ugyan a SYN/ACK csomagot (a TCP/IP működési elvével a 3.2.2. és a 3.2.3. fejezet foglalkozik), de a kliens nem kap vissza válaszul ACK csomagot (20a,b. ábra). A host megpróbálja ugyan nyugtázni és előállítani a kapcsolatot, de a kísérlet a nemlétező feladó miatt sikertelen lesz. A szerver ezzel időt (az ACK üzenetre várva TCP_SYN_RECV állapotba kerül) és kapacitás veszít, mivel a kapcsolat szabályos lezártáig az ügyféladatokat is őriznie kell a memóriájában. A várakozási időt kihasználva a támadó a hostot nagy mennyiségű további SYN/ACK csomaggal „bombázza”. Ennek köszönhetően a szerver egyszerűen „belefullad” a félkész kapcsolatokba. A várakozási sorok megtelnek s azok az ügyfelek nem lesznek képesek hozzáférni a rendszerhez, akik elküldték a visszaigazoló csomagot.

19a. ábra: Normál üzemmódú TCP kapcsolat

 

Normál TCP/IP kapcsolat esetén:

19b. ábra: Normál üzemmódú számítógép

 

 

 

20a. ábra: TCP SYN Flood támadás elve

 

SYN Flood támadás alatt:

20b. ábra: TCP SYN Flood támadás alatt lévő számítógép

 

A SYN Flood támadás megvalósításához hackerek olyan programokat használnak fel, amelyek megváltoztatják a szerver felé küldött csomagok IP forráscímét. (ez a forráscím célcímmé válik a kapcsolat során). A szerver így nem tudja kivel áll szemben, mivel nem képes különbséget tenni a hamis és valódi IP címek között. Ezért a kapcsolat nem jön létre.

Az ilyen típusú támadások nem a sávszélesség csökkentésén alapulnak, hanem a szerver memória-felhasználásán. Bár DDoS támadás esetén akár a kettő kombinációja is elképzelhető.

A hamis IP ellen az egress- és ingress filtering jelenthet megoldást (lásd 5.1.4. fejezet), míg a SYN Flood ellen sajnos nem létezik általánosan érvényes védekezési mechanizmus. Tapasztalataim szerint az egyik lehetséges védekezési eljárást a SYN Threshold (küszöb) szolgáltathatja. Ezen alkalmazást a tűzfalakban alkalmazzák a félig nyitott kapcsolatok számának maximalizálására. A beállított határértékek túllépésekor minden félig nyitott kapcsolat megszűnik.

A következőkben illusztrálom egy tűzfallal ellátott hálózat működését normál, illetve SYN Flood támadás esetén (21. ábra):

A hálózat leírása: A szerver egy elkülönített hálózatban helyezkedik el. Minden hálózati forgalmat a tűzfal továbbít, ami követi és megszűri a SYN támadást.

21. ábra: Tűzfallal ellátott hálózat működése

 

Normál működés esetén a szerver és a kliens között a 22.ábra szerinti kommunikáció zajlik le:

22. ábra: Kliens – Szerver kommunikáció normál működés esetén

Mint látható, mindegy egyes adatot felügyel a tűzfal, ezáltal is biztosítva a zavartalan kapcsolatot a két számítógép között. TCP SYN támadás esetén ez a következőkben módosul (23. ábra):

23. ábra: Kliens – Szerver kommunikáció TCP SYN támadás esetén

A tűzfal érzékeli, hogy a kliens (hacker) számítógépe kommunikációt kezdeményez, amelyet nyugtáz. Mivel a klienstől nem érkezik ACK csomag, amely a két gép közti kommunikáció megkezdéséhez nélkülözhetetlen, a tűzfal a kapcsolatot megszakítja a felhasználóval időtúllépésre hivatkozva.

A párbeszéd mindvégig a támadó és a tűzfal között zajlik, ezért a belső hálózat stabilitása megmarad. A szerver sem erőforrást, sem sávszélességet nem veszít a támadásból kifolyólag.

 

5.2.1.2. UDP Flood

A TCP-vel ellentétben ezen kapcsolat létrehozásához nem szükséges előkészítő elem. Amikor a host egy UDP csomagot kap, megpróbálja megtalálni a csomagot küldő alkalmazást, s amennyiben ez nem sikerül, elküld egy „címzett ismeretlen” ICMP üzenetet (UDP részletesebb működésével a 3.2.3. fejezet foglalkozik). A támadás jelen esetben is nagy mennyiségű csomag elküldésével kívánja leterhelni a hostot. Egy egyszerűbb UDP Flood támadás a chargen szolgáltatáson (karakter folyam) és az echozáson (visszhang) alapul. A chargen egy olyan szolgáltatás, amely a forrás felé karaktercsomagot küld vissza minden kapott csomag esetén, az echo pedig visszhangot hoz létre, megkettőzve minden egyes karaktert. A támadó e két szolgáltatás segítségével olyan adatáramlást hozhat létre, amely lefoglalja a sávszélességet.

Az ilyen támadások ellen a védekezés a port és UDP szolgáltatás blokkolásával valósítható meg. Elsősorban az említett echo és chargen szolgáltatásokat kell a gazdagép szintjén inaktívvá tenni (1. számú melléklet), illetve a tűzfal szintjén az UDP portokat, amennyiben nincs szükség ezek használatára. Ha bizonyos UDP szolgáltatásokra mégis igényt tartunk, akkor javaslom proxy közbeiktatását, ami segítségével elvégezhető a kellő mélységű szűrés.

 

5.2.2. Land támadás

Ez a fajta támadás mára már a múlté. Funkcióját tekintve lényegében a TCP protokoll egy hibáját használja ki. A háromutas kézfogásnál a támadó hamisított SYN csomagokat küld a szerverre, amelyben a feladó címe és a célcím megegyezik. A szerver minden egyes SYN csomagra ACK csomaggal válaszol, de ezt a saját nyitott portjára küldi el, ahol az IP-stack (verem) egyfajta túlcsordulást idéz elő.

A támadásnak ezen fajtáját a legtöbb operációs rendszer képes visszaverni, azonban régebbi rendszerek esetén javaslom hibajavító csomagok letöltését. Probléma a Win NT és Win 95 esetén áll fenn.

 

5.2.3. Smurf

A hacker először egy hamis IP címet hoz létre a kiszemelt hálózathoz igazodva, majd a hálózat broadcast címére küld egy pinget, amelyre minden hálózatban lévő számítógép válaszol. A pingelésnél ICMP üzenetről van szó. Az üzenet megváltoztatott feladócímet tartalmaz, ami az áldozatul kiszemelt számítógépé. Ezért a hálózatban lévő kliensgépek válaszát mind a kiszemelt gép kapja. Az érintett rendszer könnyen összeomolhat a megnövekedett forgalomnak köszönhetően.

Az első lépés amit (router szinten) is meg kell tennünk az, hogy a kívülről jövő broadcast üzeneteket letiltjuk. A routereken letiltható az ICMP válaszüzenet is, ez viszont csak a belső hálózat stabilitásában segít. Lényeges, hogy a belső hálózatból ne tudjon senki támadást indítani. Különösen fontos ez az Internet kávézók és más közfelhasználásra szánt rendszerek esetén. Általában a router és az Internet-szolgáltató között ez a fajta forgalom blokkolva van. Amikor a támadás megosztva, több közvetítő hálózat felhasználásával érkezik, akkor a forgalmat minden egyes irányból blokkolni kell.

 

5.2.4. IP hamisítás

Az IP Spoofing (IP hamisítás) egy olyan támadási eljárás, amelynél az elküldött SYN csomagban nem a tényleges forrás van feltüntetve feladóként. Ezért ezen eljárás sok DoS támadás alapját képezheti, vagy arra szolgál, hogy a támadó nyomait eltüntesse és megakadályozzák azonosítását.

A megtámadott gép SYN/ACK üzenettel válaszol, és várja a TCP kapcsolatot inicializáló lépést lezáró visszaigazolást. Ez nem érkezik meg, mivel a szerver nem a kommunikációt kezdeményező fél felé továbbította a kérést (a hamis IP miatt), így a kapcsolat félig nyitott állapotban marad. A támadó az elévülési időn belül nagy mennyiségű ilyen félig-inicializált kapcsolatot hoz létre, ezzel lefoglalva az áldozat gép kapacitását, amely ilyenkor teljesen elérhetetlenné válhat, akár össze is omolhat.

Védekezésre több megoldás is létezik:

  • Kapcsoljuk ki a Source Route funkciót, hogy a küldő ne mondhassa meg mit kell tenni a csomagjával.
  • Szűrőlisták alkalmazása

Egress filtering – Csomagok szűrésekor ellenőrizni kell a szervezeten belülről küldött összes csomagot, hogy benne van-e a forráscím az illető szervezet címtartományában [23].

Ingress Filtering – az Internet szolgáltató csak akkor adja tovább a csomagot, ha az jóváhagyott forrásból érkezik.

  • Az egyik legjobb megoldás a forráscím hitelesítés (Source Address Verification), amit az útválasztó kód végez, nem pedig a tűzfal.

Linux alatt a következő módon állíthatjuk be a forráscím hitelesítést:

Ha létezik a /proc/sys/net/ipv4/conf/all/rp_filter állomány, akkor bekapcsolható az eljárás a számítógép indításakor: Ehhez az induló scriptek valamelyikét kell módosítani az alábbi sorokkal [27]:

 

Ha ez nem oldható meg, egyenként kell szabályozni a különböző interface-ek védelmét.


5.2.5. Teardrop

(Könnycsepp) Ez a fajta támadási típus is mára már a múlté. Leginkább a Windows NT rendszerekben volt a kedvelt támadási eljárások egyike. A támadás azon alapszik, hogy egy IP csomag maximális mérete 64 KB, azonban a legtöbb hálózat ezt nem tudja kezelni, ezért szétdarabolja, és az újbóli összerakáshoz információkkal látja el a csomagokat. A támadás során hamis fejléccel rendelkező csomagokat küldenek a célgépnek, amely a valótlan adatok alapján megpróbálja összerakni az eredeti csomagot – persze sikertelenül. Ennek során jelentősen lelassulhat, vagy teljesen le is állhat.

 

5.2.6. Ping of death

Szintén egy régi eljárásról van szó. Az Internet Protokoll a fejléccel együtt 65535 bájtot csomagol egyetlen csomagba, az Ethernet csomagok pedig csak 1500 bájtosak. Az ennél nagyobb csomagokat fragmentája (feldarabolja). A fogadó oldalon ezután összerakja a csomagokat.

Minden csomagtöredék tartalmaz egy offset értéket és egy azonosítási számot. Az első csomagban még egy TCP-header (fejléc) is található, valamint a portszám , amely meghatározza, hogy milyen csomagról van szó. Ez lehet ICMP, UDP vagy TCP. Ha az utolsó csomag olyan offset értéket kap, amely a teljes csomagot nagyobbnak mutatja, mint a megengedett 65535 bájt, akkor ezáltal túlcsordulás (Buffer Overflow) jön létre. [3]

 

5.2.7. Védelem a DoS támadások ellen

5.2.7.1. Windows 2000 Server és Windows 2003 Server esetén

Tapasztalataim szerint az alábbi registry kulcsok alkalmazásával hathatós védelmet valósíthatunk meg. A kulcsok többségét alapesetben a registry nem tartalmazza, ezért ezeket nekünk kell deklarálnunk.

 

Registry Key [25-26]:

 

5.2.7.2. Linux rendszeren magvalósítható védekezési mechanizmusok

A Linux rendelkezik beépített SYN szűrő mechanizmussal, ami a következőképpen aktiválható:

A rendszer indulásakor lefutó scriptet kell bővíteni az alábbiakkal:

echo 1 > /proc/sys/net/ipv4/tcp_syncookies

Valamint maximalizálni kell a félig nyitott kapcsolatok számát is a backlogban

sysctl -w net.ipv4.tcp_max_syn_backlog="2048"


5.3. Buffer Overflow

A buffer egy összefüggő memóriaterület, amelyben több példánya található egy azonos adattípusnak. Általában buffer tömbökről lehet beszélni, legfőképpen karaktertömbökről. A tömbök, akárcsak minden más változó kétféleképpen foglalható: statikusan és dinamikusan. A statikus változókat a program töltődése közben allokálja a program az adatszegmensre, míg a dinamikus változókat futási időben a stackre.

A processzeknek (eljárások) a memóriában három elkülöníthető része van (24. ábra): szöveg, adat és a verem

 

24. ábra: A processzek memóriaterülete

Szöveg

A szöveg rész helye rögzített. Kódot és csak olvasható karakterláncokat tartalmaz. Az operációs rendszer ezeket „read only”-ként kezeli, vagyis nem lehet megváltoztatni.

 

Adatrész

Inicializált és inicializálatlan adatokat egyaránt tartalmaz. A statikus változók itt tárolódnak. Rendszerhívás segítségével mérete megváltoztatható. Ha a bővítésnél a rendszer kifogy a szabad memóriából, az eljárás blokkolódik és az átütemező egy nagyobb memóriablokkal futtatja újra.

 

Verem

Mint absztrakt adattípus, sűrűn használatos a számítástechnikában. A veremnek az a legfontosabb tulajdonsága, hogy az utoljára beletett érték lesz az első, amit ki tudunk venni. Ez az elv a LIFO (last in, first out queue). A PUSH művelet egy elemet tesz a verem tetejére, a POP pedig kiveszi a legfelső elemet.

A modernebb számítógépek tervezésekor figyelembe vették a magasszintű programnyelvek igényeit is. A strukturált programozás legfontosabb eszközei a függvények és eljárások. Egy eljárás hívása megszakítja a "program folyását", mint egy ugrás, de azzal ellentétben vissza is tér a hívást követő utasításhoz, miután befejezte az eljárás végrehajtását. Mindez a vermek segítségével valósítható meg.

A vermet használják még a függvényekben használt lokális változók dinamikus létrehozására, a függvény paramétereinek és visszatérési értékének átadásához is.

Verem túlcsordulásról (Buffer Overflow) akkor beszélhetünk, ha több adatot akarunk a verembe tenni, mint amennyit az kezelni képes. Egyes programozási hibák során erre sor kerülhet. Ilyen esetben az adott függvény visszatérési címe - amely a stacken a buffer vége után tárolódik - átírható. Ennek oka az, hogy a C compilerek fordításkor nem ügyelnek a tömbhatár-túllépésre, illetve léteznek olyan könyvtári függvények, melyek a bufferbe írás során nem ellenőrzik, hogy a beírandó adat mérete nem haladja-e meg a tömb méretét.

A buffer overflow eljárás felhasználható arra, hogy segítségével scripteket futtassunk le.

Ezek felhasználása úgy történik, hogy az általunk megírt programot el kell helyeznünk egy karaktersorozatban, amit a bufferbe töltünk. A visszatérési címet át kell úgy írni, hogy az a bufferre mutasson (ez ad lehetőséget arra, hogy tetszőleges utasításokat helyezzünk a címterületre). A karaktersorozatot ellenőrzés nélkül kell a bufferbe másolni, hogy a visszatérési címet felülírhassuk a saját kódunk kezdőcímével. Az eljárás végén a program megpróbál visszatérni az eredeti állapotba, de a visszatérési cím megváltoztatása miatt a mi kódunkra ugrik.

A gond csak az, hogy nem tudjuk pontosan, milyen címen fog a buffer és a mi kódunk elhelyezkedni. Ezért feltöltjük a bufferünk elejét NOP (0x90=No process) utasításokkal. Szinte minden processzornak van NOP utasítása, ami üres utasítás, azaz nem csinál semmit. Általában más utasítás késleltetésére használják, időzítési célokból. Mi is felhasználjuk, és feltöltjük vele a felülíró buffer felét. A kódot középen helyezzük el, és mögé írjuk a visszatérési címeket. Ha szerencsénk van, a visszatérési cím a NOP-ok belsejébe fog mutatni, és ezek fognak végrehajtódni a mi kódunk kezdetéig.


5.4. Trójai falovak

A program működése egyezik a történelemből már jól ismert homéroszi mintával. Lényege, hogy egy legitim programon belül elhelyezésre kerül egy kódrészlet, ami a program futtatása közben a háttérben tevékenykedik. A trójai programok működése nem korlátozódik minden esetben az eredeti forrásfájl futásidejére.

Céljuk, hogy a megtámadott rendszerben elindulásuk után kárt tegyenek, vagy biztonsági rést nyissanak rajta, ami akár egy későbbi támadás előzménye is lehet.

Az egyszerűbb trójaiak kémprogramok, melyek adatokat közvetítenek a hacker és a megtámadott gép között. Ilyen alkalmazás például egy keylogger, ami a billentyűzeten leütött karaktereket naplózza és online kapcsolat esetén egy előre definiált e-mail címre ezt a logfile-t elküldi.

Léteznek jóval komplexebb megoldások is, amik nem csak bizonyos adatok elküldésében játszanak szerepet, hanem a kiszemelt számítógép „távfelügyeletét” is képesek ellátni. Jelen esetben ez inkább távvezérlést jelent.

A Symatec cég PC Anywhere programjához hasonló megoldások is megvalósíthatók trójaiak segítségével.

A trójaiak használatával kapcsolatban két megoldásra váró feladattal kell a betörőnek megbirkóznia:

  • El kell juttatnia a programot a kiszemelt célgépre, úgy hogy az átmenjen a tűzfalon és a használt vírusvédelmi-rendszer se fogjon gyanút.
  • Rá kell vennie a felhasználót, hogy futtassa le ezt az alkalmazást.

Ismertebb Trójai programok:

FakeGINA: Bejelentkezéskor a felhasználó nevét és jelszavát menti el egy txt fájlba. Windows 2000 esetén jelenthet ez a fajta program gondot.

Sub7: A megtámadott gép teljes ellenőrzését át lehetett venni a segítségével. Elavult program, ami leginkább a Win 95 és 98-as számítógépekre volt hatással. Mára a vírusirtók már felismerik.

BackOrifice 2K: Szintén egy rendszer távfelügyeletét lehet vele megvalósítani Win 9X és 2000-es rendszereken. A mai vírusirtók számára ez a program sem ismeretlen.

 

 

5.5. Vírusok

5.5.1. Történelem

Az első vírusok a 70-es évekre tehetők. Pontosabban 1974-ben publikáltak először elméleti lehetőséget, mint számítógépeken megvalósítható programreprodukciót. A B. Gunn Use of Virus Functions to Provide a Virtual APL Interpreter under User Control (Vírusfunkciók felhasználása felhasználói felügyelet alatt virtuális APL-értelmező létrehozására) című tanulmányában fordul elő először ez a fogalom. Felismerve vírusok katonai alkalmazásának lehetőségeit ezután hatalmas lendületet vettek a kutatások.

Először kutatóintézetekben teszteltek számítógépes vírusokat. Ezek a kutatások azonban természetszerűleg teljes titokban folytak.

Az első nyilvános publikációt Computerviruses, Theory and Experiment (Számítógépes vírusok - elmélet és kísérletek) címmel Friedrich Cohen a Dél-Kaliforniai Egyetem professzora jelentette meg 1983-ban. Cohen vizsgálatait először az egyetem VAX 11/750 típusú gépén Unix operációs rendszer alatt folytatta, majd kutatásait később VMS operációs rendszer alatt hálózati környezetre is kiterjesztette. Az eredmény megdöbbentő volt. Gyakorlatilag a vírus elindítása utáni pillanatokban megfertőződött az összes rendszerállomány, valamint az adminisztrátor programjai és kevesebb mint fél perc múlva négy felhasználó állományai is. A vírus elindítása utáni tizedik percben már gyakorlatilag nem volt fertőzetlen állomány.

A vírus Cohen definíciója szerint a vírus[28]:

"…egy olyan program ami képes más programok 'megfertőzésére' azok megváltoztatásával olyan módon, hogy azok tartalmazzák saját maga - esetlegesen fejlettebb - másolatát"

Az érdekes probléma a vírus definíciójának meghatározásában az, hogy bárhogy is próbálkozunk annak megfogalmazásával, mindig vagy implicit, vagy bizonyos eseteket (vírusokat) nem takaró definíciót kapunk. Ez a dolog a vírusok lényegéből adódik. Ahogy A. P. Peterson is kifejti [28]:

"A vírusok - karakterükből adódóan - változásokat okoznak. Ebből kifolyólag a vírusok felismerhetők a változások vagy változtatási kísérletek megfigyelésével."

A vírus (és csakis a vírus) biztos és mindenkori felismerésének lehetetlenségét már Cohen is bizonyította. A vírus megjelenési formái a változások vagy változtatási kísérletek. Csakhogy a vírus észlelhető megjelenési formája sem bizonyítja, hogy az azt kiváltó program vírus. Hiszen nem csak a vírusok okoznak változásokat. Ennélfogva nincs az a tökéletes algoritmus ami minden esetben el tudná dönteni egyértelműen egy program vírusságát – ezért tökéletes víruskereső program sem létezik.

 

Meglátásom szerint a vírus egy olyan program amely rendelkezhet vagy rendelkezik

•  saját kódjának sokszorozási képességével (akár önmagát is módosítva) (Blaster),

•  rejtőzködő algoritmussal (OneHalf),

•  adott feltételek teljesülésére való figyelő eljárással (MyDoom),

•  egyéb különböző mellékhatások megjelenésével (Annil).

 

5.5.2. Vírusok felépítése

A vírusok általában a következő három részből álnak:

- reprodukciós rész

- aktivizálási mechanizmus

- objektív rutin

 

5.5.2.1. Reprodukciós rész

Célpontot keres, amit megfertőzhet, majd ellenőrzi, hogy fertőzött-e már (25. ábra). Ha a célpont még nem fertőzött, akkor megfertőzi. A végrehajtási sorrendet úgy állítja be, hogy először a víruskód fusson le. Makróvírus esetén pedig a betöltéskor aktivizálódjon.

25. ábra: A reprodukciós rész működési elve

 

5.5.2.2. Aktiválási mechanizmus

Az aktivizáláshoz szükséges feltételek meglétét ellenőrzi. Ezek meglézte esetén indítja a vírus objektív részét. Ez lehet nap, időpont, program futásának ténye, billentyű kombináció, számítógép újraindítása, stb.

 

5.5.2.3. Objektív rutin

Romboló utasítások sorozata és/vagy reklámszöveg és egyéb feliratok.

 

5.5.3. A legfontosabb vírusok

5.5.3.1. Boot vírus

Az operációs rendszer betöltése úgy történik, hogy a winchester 0. sávjának 0. szektorában lévő MBR (Master Boot Record) program elindul, ami meghatározza, a partíciós táblából az aktív partíciót és átadja a vezérlést a betöltő programnak [28].

A vírus a rendszerindítás folyamatába épülve gyakorlatilag már a gép bekapcsolásának pillanatában aktiválódik. A vírusok ezen fajtája a lemezeken a boot-szektorba, míg merevlemezeken általában a partíciós táblába fészkeli be magát. Így amikor a BIOS az önteszt után az operációs rendszert próbálja meg elindítani valójában a vírusprogramot aktiválja, ami az esetlegesen elmentett eredeti boot-szektor vagy saját rutinjai felhasználásával tölti be azt. Ezek a vírusok gyakorlatilag bármilyen operációs rendszerrel ellátott lemezt sikeresen megfertőzhetnek, az igazi védett módú operációs rendszerek (WinNT-től felfele, Linux, OS/2) alatt azok architektúrájából kifolyólag inaktívak maradnak. Ezen operációs rendszerek indulásukkor ugyanis teljesen "újjáépítik" a megszakítási és I/O rendszereket, így a vírusprogramok - a DOS-ban egyébként megszokott csatornák segítségével - sosem kapják meg a vezérlést.

Védekezési eljárásként ellenőrizni kell a kislemezeket mielőtt használnánk.

 

5.5.3.2. Companion vírus

A companion vírus (társvírus) operációs rendszer függő vírus. Főleg a DOS-os időkre volt jellemző. A könnyebben detektálható vírusok a gazdaprogramot egyszerűen átnevezik és rejtetté teszik, majd az eredeti néven létrehoznak egy másolatot magukról. Így a program szándékolt elindításakor valójában a vírusprogramot tartalmazó állomány kerül futtatásra, ami természetesen "befészkelés" után az eredeti programot is elindítja.

A társvírusok egyik alfaját képviselik az úgynevezett EXECOM vírusok. Működésük lényege, hogy DOS-os rendszerben ha egy fájlnak ugyanaz volt a neve, viszont az egyiknek a kiterjesztése COM, míg a másiknak EXE volt, akkor a COM program élvezett nagyobb prioritást és ő futott le. A vírus ezt a körülményt használta ki. A meglévő EXE fájlhoz készített COM fájt ami tartalmazta a víruskódot. [28]

 

5.5.3.3. Killerprogram

Olyan vírus, ami bizonyos számú fertőzés után tönkreteszi a fertőzött gép merevlemezét. A vírus erre a célra egy fertőzésszámlálót tartalmaz, amely a rögzített értéktől kezdve visszaszámol [3].

 

5.5.3.4. Logikai bomba

Működésük általában csak egy bizonyos rendszerre korlátozódik. A bombák rendszerint csak egy meghatározott környezetben tudják reprodukálni magukat, ezért ezen a környezeten kívül hatástalanok.

Működésbe lépését általában valamilyen feltétel vagy időzítő aktivizálja. Ez lehet egy szó, felhasználó név, billentyűkombináció vagy éppen ezek hiánya.

 

5.5.3.5. Makróvírus

A makróvírus olyan vírus, amely adatfájlokat fertőz meg. Jellemzően Word és Excel dokumentumokra veszélyes. Amint megnyitunk egy fertőzött Word dokumentumot, az megfertőzi a Normal.dot fájlt. Ez a fájl a Word minden indításánál betöltődik. Itt találhatók azok a modulok, amelyek a betöltést követően érvényesek lesznek a további dokumentumokra. Olyan fájlok megnyitásánál, amelyek makrót tartalmaznak, a Normal.dot fájl ugyancsak megnyílik és aktívvá válik. Ha a Word idegen szöveget észlel, megkérdezi, hogy aktivizálja-e a modulokat. Ez a kérdés azonban csak erre a dokumentumra érvényes, ezért kell a fertőzéshez a Normal.dot -ba másolni a makróvírust, és a Normal.dot -ból minden, még nem fertőzött DOC fájlba. [3]

A vírus terjedése csak dokumentum megnyitással vagy mentéssel valósulhat meg.

Védekezési mechanizmusként fontos a megfelelő vírusirtó rendszer használata, ami naprakész vírusinformációs adatbázissal rendelkezik. Ezenfelül tiltsuk le a makrók használatát, vagy csak azok futását engedélyezzük, amiket megbízható forrástól kaptunk.


5.5.3.6. Polimorf vírus

A víruskeresés egyik alapmódszere a byte-minta keresése, ami elég fejtörést okozott a vírusíróknak, hiszen ezzel a módszerrel az ismert vírust pillanatok alatt le lehet leplezni. A vírusok készítői azonban hamar rájöttek, hogy elég nehéz egy elkódolt vírusból használható byte-mintát venni. Persze az elkódolt vírus nem tud lefutni. Ezért bele kell építeni egy decryptor-t (dekódoló) ami futás előtt kikódolja a vírust (26. ábra). A polimorf, mutációs vírusok ezt az alaptechnikát fejlesztik tovább. Az ilyen vírusok titkosítják magukat, méghozzá minden esetben más módon és más kulccsal, és, hogy még tökéletesebbek legyenek, minden egyes fertőzéskor másképp néz ki a decryptor bináris kódja is. A vírus elkódolt részében található egy olyan programrutin, amely a decryptor átírásáért felelős. Összefoglalva tehát, ezek a vírusok önmaguk kódját majdhogynem határtalanul képesek változtatni, ezért nem fordul elő két másolat, ami ugyanazt a bájtsorozatot tartalmazná. A byte-minta keresés alapja, hogy a vírusra jellemző byte-sorozat kerül figyelésre. A polimorf vírusok viselkedése aláaknázza ezt a keresési módszert, mivel ezekben a vírusokban ilyen byte-mintát szinte lehetetlen találni. Ezért az antivírus program szkennerje egyszerűen nem tudja egy meghatározott bájtsorozatból felismerni. [3, 28, 29]

26. ábra: A polimorf vírus titkosítási folyamatának elvi váza

 

5.5.3.7. Stealth, vagy rejtőzködő vírus

Az álcázási technikák közül talán technikailag a legtökéletesebb védelmet nyújtó módszert a lopakodó vírus ok (stealth vírus) alkalmazzák, amelyek megfelelő rendszerfunkciók felügyeletének átvételével a fertőzött fájlok elérése esetén is - a víruskód kiszűrésével - a fertőzés nélküli állapotot tükrözik vissza.

 

5.5.3.8. Update vírus

Ezen fajtája a vírusoknak nem csak egy verziószámot tartalmaz, hanem egy update rutint is, amely ellenőrzi, hogy a vírus fellépett-e már valamely verzióban. A rutin azt is megvizsgálja, hogy a fájlok tartalmazzák-e már a vírus egy régebbi változatát. Ha igen, akkor lecseréli azt. Ha újabb verzió van telepítve, akkor ezzel már nem fertőz. [3]

 

5.5.3.9. Féreg

A féreg (Worm), olyan program ami önállóan, a többi program megfertőzése nélkül tud sokszorozódni és terjedni, akár hálózaton keresztül is. A féreg alapjában véve egy önálló program aminek nincs szüksége arra, hogy más gazdaprogramhoz fűzze magát.

Egyes férgek csak a memóriában képesek többszöröződni, amivel lassítják a számítógép működését. Más példányaik e-mail címlistákon keresztül terjednek, a felhasználó tudta nélkül.

Az e-mail-ben terjedő vírusok a legtöbbször az elektronikus levelekhez csatoltan érkeznek. Az olvasó kíváncsisága folytán aktiválódnak, majd beépülnek a levelezőrendszerbe, hogy a megfelelő pillanatban működésbe léphessenek és szintén e-mail formájában (általában a felhasználó címjegyzékéből megszerzett címeken) tovább fertőzhessenek. A közelmúltban számos ilyen nagy internetes vírushullámról adott hírt a napi sajtó (MyDoom A és B variánsa vagy éppen a Bagle vírus), és várhatóak újabb támadássorozatok is.

A féreg vírus célpontja javarészt vagy az erőforrás korlátozás vagy az információszerzés. Ehhez kihasználják az egyes operációs rendszerek biztonsági réseit.

 

5.5.4. Magyar vírus

2004. április 19-én, hétfőn gyors ütemben kezdett terjedni hazánkban a Zafi vagy "Kapes" illetve "Erkez" néven is ismert Internetes féreg. A levél hamisított feladóval érkezik és az alábbi magyar nyelvű szöveget tartalmazza:

 

Tisztelt felhasználó!

 

Önnek képeslapja érkezett!

A képeslap feladója: [lánynév, változó cégnév, stb. állhat itt]

A lapot az alábbi címen tudja megtekinteni:

http//matav.hu/viewcard/index=p4uo5683535GSb0123fhhf578840f0623cv2

vagy a mellékelt internetlink kattintásával.

 

Üdvözlettel: Matav e-card!

http//www.netezz.matav.hu/

 

A webhivatkozás a levélben valójában hibás, a http tag után nincs kettőspont, ez feltehetően szándékos, hogy a csatolt mellékletet lefuttassa a felhasználó.

A melléklet neve:

link.matav.hu.viewcard.index42ADR4502HHJeTYWYJDF334GSDEv25546.com

ami egy futtatható állományt takar.

A féreg indítása után véletlenszerű névvel bemásolja magát a windows\system32 mappába, illetve gondoskodik a fájl automatikus indításáról egy registry bejegyzés segítségével.

A kulcs neve véletlenszerűen választott:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

A féreg végigkutatja a merevlemezeken található bizonyos típusú fájlokat a továbbterjedéshez felhasználható, a magyar cc:TLD-ben található (azaz .hu végződésű) e-mail címek után kutatva: adb, asp, dbx, eml, htm, mbx, php, pmr, sht, tbb, txt, wab

Megkísérli leállítani egyes biztonsági szoftverek memóriában futó folyamatait:

dfw.exe, fsav32.exe, fsbwsys.exe, fsgk32.exe, fsm32.exe, fssm32.exe, fvprotect.exe, mcagent.exe, navapw32.exe, navdx.exe, navstub.exe, navw32.exe, nc2000.exe, ndd32.exe, netarmor.exe, netinfo.exe, netmon.exe, nmain.exe, nprotect.exe, ntvdm.exe, ostronet.exe, outpost.exe, pccguide.exe, pcciomon.exe, regedit.exe, regedit32.exe, taskmgr.exe, tnbutil.exe, vbcons.exe, vbsntw.exe, vbust.exe, vsmain.exe, vsmon.exe, vsstat.exe, winlogon.exe, zonalarm.exe

A féreg leállítja a Feladatkezelő és a Registry editor alkalmazásokat, átnevezve azonban ezek az eszközök ismét futtathatóak lesznek. A féreg csak április hónapban működőképes, május elsején a "Hazafi" álnevű vírusíró műve egy erősen politikai jellegű üzenet megjelenítése után befejezi ténykedését:

Az F-Secure és Kaspersky Anti-Virus szoftverek a [version=2004-04-19_02] vagy újabb dátumú frissítéssel védelmet nyújtanak a féreg ellen.

 

5.5.5. Védekezés és felismerés

Nem megfelelő védelem esetén könnyen sebezhetővé válunk és a cég levelezése vagy teljes rendszere megbénulhat, tönkremehet egy időre. Gazdasági szempontból is fontos a védekezési eljárásokra áldozni. A következő ábrában szemléltetem a vírusok által okozott gazdasági károk összköltségét. (27. ábra)

 

27. ábra: Számítógépes vírusok által okozott gazdasági károk


A védekezési eljárás első legfontosabb lépésének tartom, hogy a rendszerünkre megfelelő biztonsági előírásokat alkalmazzunk, amiket maradéktalanul be is tartunk:

•  A vírusok elleni védekezés szorosan összefügg az archiválással (biztonsági mentéssel). Ha van rá módunk és lehetőségünk, mindig készítsünk biztonsági másolatot a fontosabb dokumentumainkról, adatbázisainkról.

•  Használjunk vírusvédelmi rendszereket – hardveres vagy szoftveres –, amelyekhez mindig töltsük le a legújabb frissítéseket.

•  Csak olyan szoftvereket alkalmazzunk, amelyeket biztos, megbízható forrásból szereztünk be.

•  Hálózati kapcsolatfelvételnél mindig ellenőrizzük a forrást.

•  Megfelelő hozzáférési jogosultságokat alakítsunk ki.

•  Fektessünk nagy sújt az alkalmazottak betanítására, oktatására.

 

Persze hasonlóan fontos, hogy a meglévő rendszerünket biztonságban tudjuk, illetve megfelelő hozzáértéssel ismerjük fel az olyan eseteket, amelyek további intézkedésre adhatnak okot.

Vírusra utaló jelenségek:

•  Program hossza, dátuma, könyvtárbejegyzése megváltozik.

•  Szokatlan kiterjesztésű fájlok jelennek meg.

•  Lassabban indulnak a programok és hosszabb ideig futnak.

•  Csökken a szabad memóriakapacitás vagy a winchester tárterülete.

•  Gyakori lefagyás.

•  Hálózati adatvesztés vagy kommunikációs zavar.

•  Furcsa hibaüzenetek.

 

5.6. Lehallgatás

Egy hálózatról történő adatszerzésnek az egyik legkifinomultabb formája a lehallgatás, ahol nem kell attól tartania az elkövetőnek, hogy a megtámadott rendszeren bármi nyomot hagy maga után, mivel közvetlenül a adatkommunikációs folyamatba nem avatkozik be.

A hálózati kábelek árnyékolása, illetve a rajtuk átmenő adatforgalom titkosíttatlansága miatt (Telnet, FTP kapcsolat), rádiófrekvenciás berendezéssel technikailag megoldható a hálózati kommunikáció lehallgathatósága.

Egy hálózat kivitelezése, topológiája nagyban befolyásolja a lehallgatás lehetőségeit. A cégek költségcsökkentés gyanánt eddig nem számoltak hálózat tervezéskor a lehallgatás elleni védelem lehetőségével. Tökéletes megoldás csak abban az esetben lenne megvalósítható, ha a hálózati adatforgalom titkosítva lenne. Számos új adatátviteli lehetőség kínál ilyen lehetőséget – gondolok itt a különböző wireless alkalmazásokra és GSM technikákra.

A hálózati forgalom megfigyelésének, adatok megszerzésének egyik legegyszerűbb módszere a különböző hálózatfigyelő alkalmazások, úgynevezett Sniffer programok használata. Egy kliensgép normál esetben csak a neki címzett üzenetekkel foglalkozik. De különböző hálózatfigyelő programok segítségével a hálókártyán átmenő forgalom is naplózható.

 

5.6.1. Sniffing

Bármely két gép közti kommunikáció lefigyelhető, ha van egy gépünk a helyi hálózatban, illetve az útvonalon.

Az eljárás csak abban az esetben működik, ha a hálózat kiépítése olyan, hogy valamennyi számítógép egyetlen adatátviteli csatornára kapcsolódik (üzenetszórásos kommunikáció). Ez az egyszerű kábeles, illetve HUB-os hálózatokra igaz. Ha a gépek SWITCH-en keresztül kapcsolódnak a hálózatra, ezen hálózati eszköz működéséből kifolyólag a folyamat nem megvalósítható.

Az adatok az Ethernet hálózatban fizikailag un. Ethernet frame-ekben közlekednek. Ez a frame tartalmazza a forrás kártya hardver címét, a cél kártya hardver címét, és magát az IP csomagot. Alapesetben a kártya drivere látja, hogy nem neki érkezett az Ethernet keret (nem az ő hardvercíme szerepel a cél hardvercím helyén), így egyszerűen eldobja. Ha promiscuous módba kapcsoljuk a hálózati kártyánkat, akkor viszont megtartja, és be tudjuk olvasni.

Mindezen folyamat végrehajtásához természetesen az adott gépen root jogosultsággal kell rendelkezzünk.

Természetesen van védekezési eljárás is a lehallgatás ezen fajtája ellen. Létezik olyan program amely segítségével a promiscuous módban levő Ethernet interface-ek megkereshetők. Ezzel általában meghatározható, milyen címről fut a sniffer (feltéve, hogy az elkövető nem olyan operációs rendszert használ, amely a detektálást megakadályozza).

A detektorok működési elve:

Végigpingeli a lokális hálózatot, így megkapja az összes interface hardver címét. Ezután egyenként minden IP-hez tartozó hardver (MAC) címet véletlenszerűen megváltoztat az ARP cache-ben és újra pingel. Amelyik gép erre válaszol, ott az interface promiscuous módban van. Persze ez még nem jelenti, hogy sniffert futtat, mert néhány más program is átkapcsolja az interface-t ebbe a módba.

 

5.6.2. Globális lehallgatás

Bevetették a "húsevőt" néhány órával a Világkereskedelmi Központ elleni terrortámadás után. FBI-ügynökök jelentek meg a nagyobb amerikai internetszolgáltatóknál, és "húsevő" néven elhíresült internetlehallgató berendezéseket telepítettek. Az FBI által kifejlesztett "Carnivore" internetlehallgató szoftvert eddig hivatalosan nem használták, a szolgáltatók hálózatára korábban csak bírósági engedéllyel volt installálható. A szoftver az ügynökök által megadott kulcsszavak alapján szűri az információforgalmat, az eredményt pedig hordozható merevlemezre menti. Az internetszolgáltatók mindeddig ellenálltak a "húsevő" telepítésének, a rendkívüli helyzetben azonban nem tiltakozhattak. A Hotmail adatokat szolgáltatott ki több arab nyelvű levelezőről, a névtelen és lenyomozhatatlan levelezést lehetővé tévő anonimizáló szolgáltatások pedig leálltak, attól tartva, hogy bűnrészességgel vádolják majd őket. Az arabok elleni uszítás, gyűlöletkeltés öntötte el az internetes fórumokat, és többen nyilvánosan felvetették a valósághű repülőgépszimulátorok - például a Microsoft Flight Simulator - gyártóinak felelősségét is, mondván, hogy nyilván ilyesmin gyakoroltak a merénylők. A terrortámadás a kriptográfia és a titkosító szoftverek körül zajló vitában is fordulatot hozhat: a privátszféra védelmezői mindeddig sikerrel védték ki, hogy a kormányzat egyszerűen megtiltsa a titkosított kommunikációt, az FBI azonban régen hangoztatja, hogy a feltörhetetlen titkosítás lehetővé teszi a Hamasz, a Hezbollah és az Al-Kaida terrorszervezet zavartalan kommunikációját. A jogvédők szerint viszont a terroristák akkor is titkosítani fognak, ha azt az USA betiltja. John Perry Barlow, az Electronic Frontier Foundation (EFF, www.eff.org) "cyberjogvédő" szervezet társalapítója nyílt levélben szólította fel az amerikai polgárokat, hogy ne engedjék eluralkodni a megfigyelési mániát, mert a terroristák célja éppen a demokratikus vívmányok megsemmisítése volt.

 

5.7. Belső behatolók

Gyakran megfeledkezünk az olyan veszélyekről, amit azok az emberek jelentenek, akik be tudnak jutni a vállalathoz és hozzáférhetnek a hálózat számítógépeihez. Ők könnyedén telepíthetnek bizonyos gépekre tójai programot vagy akár vírust is. A professzionális betörők szervizmérnöknek vagy ügyfélnek álcázzák magukat, hogy bejussanak a kiszemelt céghez, és ott elvégezzék azokat az előkészületeket, amik lehetővé teszik egy későbbi távolról irányított támadás végrehajtását.

A Windows XP-ben egy hiba folytán bárki könnyen adminisztrátori jogot szerezhet, ha fizikailag hozzá tud férni a számítógéphez. Ennek előfeltétele, hogy telepítésnél ne kerüljön megadásra adminisztrátori jelszó.

Ebben az esetben a támadónak rendelkeznie kell még egy Windows 2000 CD-vel, ami segítségével úgy indítja újra a számítógépet, hogy az a CD-ről bootoljon. A Windows 2000 Recovery Console elindítása után máris adminisztrátori jogosultságokkal rendelkezik.

 

Az ilyen és hasonló esetek elkerülése érdekében fontosnak tartom, hogy

•  biztonságos, összetett jelszavakat használjuk, amiket rendszeresen megváltoztatunk és ne írjuk fel azokat (részletek az 6. fejezetben),

•  minden alkalommal, ha otthagyjuk gépünket jelentkezzünk ki,

•  ne adjunk ki kívülállónak semmiféle információt a hálózat és a számítógép(ek) felépítéséről,

•  ne töltsünk le programokat csak a vállalat által meghatározott vagy biztonságosnak mondott helyekről.

 

5.8. Személyes ráhatás

Egy széles körben elterjedt módszer a védett rendszerek és hálózatok megtámadására, amit általánosságban személyes ráhatásnak vagy Social Hacking-nek neveznek. A támadás célja az, hogy a cég munkatársait vagy rendszergazdáit céltudatosan megtévesszék és rávegyék őket arra, hogy közvetett vagy közvetlen módon információt szolgáltassanak. Az elkövetési módszert a hacker fantáziája és leleményessége befolyásolja. A leggyakoribb célpontok természetszerűleg a rendszergazdák.

Az információszerzés ezen válfaját 2001-ben Németországban az e-bank szolgáltatás biztonságosságát tesztelő hacker csapat a következőképpen oldotta meg:

Több banknak e-mailt írtak, amelyben ügyfélnek adták ki magukat, aki hallott egy másik bank webszerverét ért támadásról, és most tudni akarja mennyire is van biztonságban ezen intézmény pénze, illetve védett-e az online banki szolgáltatása.

Az e-mailt úgy írták meg, hogy a bank ne tudjon egy szabványos ügyfélszolgálati szöveggel válaszolni, ezért hálózattechnikailag jártasnak mutatták magukat és rákérdeztek konkrétan, hogyan is védi a bank az online ügymenetet és az ügyfelek adatait.

A megkérdezett bankok közül egytől eltekintve mindegyik egy pár soros megnyugtató levelet küldött, az az egy viszont egy részletes leírást a banki infrastruktúráról és a használt biztonsági mechanizmusok működési elvéről.

 

Annak ellenére, hogy a betöréseknek egyik legelterjedtebb módszere a személyes ráhatás, a szakirányú képzéseken és/vagy a számítógépes biztonságtechnikával foglalkozó szakirodalomban sokszor egyáltalán nem vagy csak éppen érintőlegesen beszélnek róla. A vállalatok is inkább hajlamosak több pénzt beruházni számítástechnikai eszközökbe korszerűsítés gyanánt, sem mint az alkalmazottaikat alapszíntű biztonságtechnikai képzésben részesíteni. Ahol nem veszik komolyan a veszély ezen fajtáját, ott olyan következményei lehetnek, hogy a költséges tűzfal és egyéb titkosító rendszerekbe befektetett pénz kárba veszhet. Úgy vélem, mindent ami emberi közreműködést igényel a biztonságtechnikai eljárás folyamán, különös figyelemmel kell kezelni, mint potenciálisan leggyengébb pontot. Mivel mindig az emberi közreműködés kínálja a legnagyobb hibalehetőséget.

Ezért is tartom fontosnak, hogy a szakembereket a meglévő szakmai ismereteken túl megfelelő biztonságtechnikai jártassággal is el kell látni a megfelelő gondolkodásmód elsajátítása érdekében.

 

5.9. Support hiánya

Ha rendszeresen letöltjük a frissítéseket az általunk használt programokhoz – gondolok itt olyanokra, mint operációs rendszer, levelező rendszer, szöveg- és táblázatkezelő, vírusirtó – akkor számos támadásnak könnyen az elejét vehetjük. Mivel a kedvelt hacker eljárások többsége olyan hibát használ ki, amihez már jelent meg javítócsomag, és a hibát részletesen ismertető dokumentáció az Interneten az adott cég honlapján, viszont a felhasználó vagy rendszergazda hibájából kifolyólag az általuk használt rendszer még nem tartalmazza ezeket a javításokat, ezért könnyen célponttá válhatnak.

Fontosnak tartom, hogy a programokat legális úton szerezzük be és használjuk, mivel így nem csak magát a programot, hanem háttértámogatást is kapunk. Értesítenek minket a meglévő hibajavító csomagokról, újításokról.

Az egyes vírusirtó szoftvereket gyártó cégek honlapját is érdemes három naponta felkeresni, mivel ilyen gyakorisággal adnak ki friss vírusinformációs adatbázist.