Kereső toggle

Túlterhelés összeomlásig

Hogyan válnak célponttá kormányzati informatikai rendszerek?

Továbbítás emailben
Cikk nyomtatása

Akik nemcsak munkájuk során használnak rendszeresen számítógépet, hanem hétköznapi életük információigényét is részben ezen az úton elégítik ki, csaknem mindnyájan találkoztak már komputerek, számítógépes rendszerek elleni támadással. Ennek ellenére sokan valódi támadást képzelnek el ilyenkor, amelynek során a számítógépet fizikai sérülés éri, és azok a szó szoros értelmében tartósan vagy akár helyrehozhatatlanul működésképtelenné válnak. Ebben a cikkben megkíséreljük a számítógépes támadások főbb vonásait olyan érdeklődő olvasók számára is közérthetővé tenni, akik nem feltétlenül informatikai szakemberek.

Régóta elfogadott tény, hogy a számítógép, bár önmagában is hasznos, az igazi lehetőségeit csak akkor mutatja meg, ha a hálózatba kötve használják azt. Ekkor válnak elérhetővé azok az adatok, információk is, amelyek más, távoli számítógépeken vannak tárolva.

Azokat a számítógépeket, amelyeket kifejezetten ilyen célokra fejlesztettek ki, gyűjtőszóval szervereknek (kiszolgálóknak) nevezik. Attól függően, hogy ezeknek a szervereknek mi az elsődleges feladatuk, megkülönböztetünk például nyomtató-, fájl-, web-, adatbázisszervereket és így tovább. Ebben a (szoftveres) megközelítésben a szerver tehát kiszolgáló feladatokat lát el. Nem mindegy azonban, hogy a szerver mennyire terhelhető, például hány kérést képes egy időben vagy közel egy időben kiszolgálni. Ez ugyanis már nem elsősorban szoftveres kérdés. Nagyon sok múlik azon, hogy milyen hardver komponenseket építenek a számítógépbe. Ennek megfelelően egy szerver a PC-knél lényegesen erősebb lehet, mivel olyan (és annyi) processzort (CPU), olyan (és annyi) memóriát (RAM), olyan (és annyi) háttértárolót (merevlemez vagy hard disk) tesznek bele, hogy az valóban a kívánt mértékig terhelhető legyen.

Nem pontatlanság miatt utalunk itt ilyen óvatosan a számítógép hardveres felépítésére. Processzor esetében például az egyik meghatározó paraméter az, hogy mekkora a működési órajele. Ezt már viszonylag régóta GHz-ben adják meg. Ugyanakkor nem ez az egyetlen paraméter, amely a sebességére kihat. Hasonlóan fontos, hogy egy időben hány feladattal tud (egymással párhuzamosan) foglalkozni. Ennek érdekében egy processzor (tok)ba több magot (core) tesznek. Ezzel a technikával pár éve már a korszerű mobiltelefonok esetében is lehet találkozni. Az eleve szervereknek tervezett számítógépeket olyan belső kialakítással (architektúrával) tervezik és gyártják, amely nagyobb belső adattovábbítási sebességet, bővíthetőséget, menetközbeni komponenscserét tud biztosítani.

Amikor egy szolgáltató bevezetni tervez egy szolgáltatást, akkor első tennivalók között fel kell tudnia mérni, hogy hány felhasználó fog feltehetően egy időben szolgáltatást kérni, és az mekkora terhelést jelent. Ennek megfelelően fog választani egy olyan szervert, amely képes lesz ezt kiszolgálni. Amennyiben bizonytalan a várható terhelést illetően, úgy arra kell ügyelnie, hogy a szerver bővíthető legyen. Egyes szolgáltatások esetében a szolgáltató képes úgy konfigurálni egy már meglévő rendszert, hogy a terhelést több szerver között ossza el (elosztott szolgáltatások).

Az eddigieknek megfelelően tehát a szolgáltató feltételezhetően rendelkezik egy szerverrel, amelyet a várható terhelésnek megfelelően méretezett. Erre telepíti fel a számítógép működését biztosító operációs rendszert (Microsoft Windows Server vagy például valamilyen Linux disztribúció), majd ezt követően azokat a szoftvereket, amelyek a szolgáltatást magát fogják biztosítani. Ilyen lehet például egy adatbáziskezelő (például a MySQL vagy a Microsoft SQL-szerver), illetve valamilyen webszerver (egy Apache HTTP-szerver vagy valamelyik Microsoft Web Server Edition).

Következő feladatunk a támadás fogalmának tisztázása. A támadások csoportosítása több szempont szerint lehetséges. Az egyik elterjedt csoportosítás annak megfelelően alakult ki, hogy mi a támadás célja. Egyes esetekben például valamilyen jogosulatlan információ megszerzése, míg más esetekben például a szolgáltatást biztosító szerver működési sebességének lassítása vagy a működésének meggátolása. Ez utóbbi támadás egyik elterjedtebb neve magyarul: szolgáltatás megtagadásos támadás (DoS – Denial of Service). A DoS-támadásnak többféle megvalósítása létezik. Az egyik elterjedt módszer az, amikor valamilyen programozói hibára bukkanva a támadó egy speciális kéréssel (például rossz paraméterezéssel) összeomlasztja a szolgáltatást végző szerver működését.

Ez utóbbi talán egyre ritkább, azonban a szoftverek összetettsége már régóta elért egy olyan szintet, hogy nem egy-egy programozó készíti el a szoftvert, hanem egy programozói csoport, így a szakemberek közötti nem megfelelő egyeztetés vagy az egyikük hibás kódolási munkája miatt mégis kerülhetnek a szoftverbe hibák. Szokatlannak tűnhet, de tulajdonképpen ez a támadás bizonyos szempontból még fair támadásnak is nevezhető, hiszen egy támadó áll egy megtámadottal áll szemben.

A jelenleg „használatos” támadások azonban nem ilyen jellegűek. Egyetlen támadónak nincs reális esélye egy nagy teljesítményű szervert lelassítani.  A DoS-támadás ezért már régóta úgy zajlik, hogy sok támadó van és csak egy megtámadott szerver. Ebben az esetben valódi támadás tulajdonképpen legtöbbször nincs is.

A sok támadó legális módon közel egy időben kér szolgáltatást a szervertől. A szerver azonban nem ekkora terhelésre lett méretezve, így bár hozzákezd a kérések kiszolgálásához, de nem tud velük végezni, miközben újabb és újabb kérések érkeznek hozzá. Ennek köszönhetően elkezd lelassulni, majd szélsőséges esetben összeomlik. Az összeomláskor adatvesztés is bekövetkezhet. Mivel több támadó van, ezért ezt a támadást elosztott DoS-támadásnak (DDoS – Distributed DoS) nevezik.

Konkrét DDoS-támadás esetén a támadónak ismernie kell a szerver teherbírását, vagy jól meg kell tudnia azt becsülni, majd annak megfelelő számú támadóról kell gondoskodnia.

Egy komolyabb támadás esetében nem ritka, hogy több tízmillió támadó vesz részt a támadásban.

A támadás az interneten keresztül megy végbe. Minden számítógép, amely a neten van (használja az internetes szolgáltatásokat), kap egy egyedi azonosító számot. Ez az úgynevezett IP-cím (Internet Protocol). Az IP-cím ismeretében a támadó a későbbiek során beazonosítható. Mivel egy ilyen támadás sohasem legális, valószínűsíthető, hogy kevés olyan ember lehet a „hétköznapi felhasználók” között, akik tudatosan vállalják a támadást úgy, hogy később büntethetők lesznek. Emiatt a valódi támadónak meg kell tévesztenie ezeket a felhasználókat, és el kell juttatnia a számítógépükre egy támadó programot. Annak érdekében, hogy minél több felhasználó számítógépére kerüljön fel ez a program, jellemző, hogy a támadók valamilyen közösségi hálózatot

(social network, például Facebook) vesznek igénybe. Ott csali hírek, becsapós üzenetek segítségével ráveszik a felhasználókat arra, hogy egy olyan weboldalt nézzenek meg, ahonnan a támadó program felkerül a gépükre. A valódi támadó számítógépén fut egy támadást vezérlő program, amely a támadásban részt vevő felhasználók számítógépén futó támadó program számára egy speciális üzenetben elküldi a támadási célpontot, a támadás idejét és esetleg a támadás módját.

A kritikus időpont bekövetkezésekor ezek a valójában vétlen felhasználói számítógépek egy adott időben nagyon sok kérést küldenek a távoli szerver felé anélkül, hogy arról a tulajdonos valójában tudna. Hosszabb időn keresztül folyamatosan küldik ezeket a kéréseket, így a szerver lelassul, és egyes esetekben a működése összeomlik.

Ilyen szolgáltatást biztosító szerver lehet egy belső vállalati kiszolgáló, egy nagyvállalati központi kiszolgáló, egy internetes fiktív piactér, de lehet például bármely kormányzati kiszolgáló is. Mindegyikre volt már példa. Így a kormányzati kiszolgálón keresztül tulajdonképpen egy-egy ország is megtámadható. Magyarország esetében akár az Ügyfélkaput működtető szerver (ugyfelkapu.magyarorszag.hu) vagy valamelyik kormányzati portál is lehet (www.kormany.hu vagy a magyarorszag.hu). Jelenleg nem igazán létezik olyan védekezés, amely egy ilyen DDoS-támadás ellen hatékony védelmet biztosítana. Egy lehetséges megoldás a szerver leválasztása az internetről vagy a kérések számának korlátozása valamilyen tűzfal közbeiktatásával. Ekkor azonban a szolgáltatás vagy valóban elérhetetlenné válik, vagy csökken annak színvonala. Amit a szolgáltató mégiscsak nyer ezzel az az, hogy a szerver nem omlik össze, és nem következik be adatvesztés.

Mivel ez csak egy rövid áttekintés a DDoS-támadásokról, ezért ha az olvasó kedvet kapott a témában való mélyebb elmélyülésre, az interneten elérhető biztonsági kérdésekkel foglalkozó portálokon további részletes ismeretekhez juthat. Zárómondatként pedig érdemes megemlíteni, hogy a szerzők által jelenleg nincs olyan ismert eset, hogy egy átlagos felhasználó otthoni gépét valaha is DDoS-támadás érte volna.

(Tóth Tibor mérnök-informatikus, az MTA doktora, Professor Emeritus, ME informatikai Intézet; Wagner György mérnök-informatikus, informatikai biztonsági szakértő, doktorjelölt, ME Informatikai Intézet)

Olvasson tovább: