Internetbiztonság
Előházi János
Előházi János
Internetbiztonság Az elmúlt tíz évben egyre inkább a mindennapi felhasználók birtokába került az Internet. Manapság már kevés az az ember, aki üdvözlőképeslapok és hivatalos ügyintézésen kívül másra is használná a hagyományos postát. Ha pedig a fiatalokat tekintjük, ők már társasági életük nagy részét is ennek az eszköznek a segítségével élik: esténként csevegőszobákban beszélik meg egymással a nap történéseit, az Interneten keresztül egymással játszanak, a házi feladatokhoz a szükséges információkat internetes keresők segítségével találják meg, nem pedig a könyvtári lexikonokban. Mindezek alapján az Internet biztonságának megteremtése alapvető érdek.
1. Bevezetés Az Internet-technológia 1978-ban került szabványosításra. A kor inhomogén hálózati architektúrái megkövetelték egy olyan egységes, felsőbb logikai hálózati réteg létrehozását, ami lehetővé teszi a heterogén fizikai környezetben is a hálózatok összekapcsolását. Innen is ered az elnevezés: internet – hálózatok közötti. Az eredeti cél a kutatási célú hálózatok összekapcsolása, illetve az azonos problémával küzdő katonai hálózatok közötti kommunikáció megvalósítása volt. Mindkét hálózat fizikai védelmet (természetesen különböző szintűt) élvez. Talán ezzel magyarázható, hogy az elsődleges célok mellett semmilyen komolyabb azonosítási algoritmus nem jelent meg a protokoll szabványában. A másik magyarázat az alapvető biztonság hiányára a kor drágán kifejlesztett titkosítási algoritmusainak védelme a polgári felhasználók elől. Mindezeken túl a 80-as években megjelenő, TCP/IP architektúrán működő alkalmazások protokolljai átvették a hálózati réteg jóhiszeműségét, és nem tartalmaznak biztonságos azonosító és titkosítási eljárásokat. A fő probléma, hogy ezeket az alkalmazásokat a mai napig használjuk. Auto Coordinated
Tools
Cross site scripting “stealth” / advanced scanning techniques packet spoofing denial of service
High
sniffers Intruder Knowledge
sweepers
Staged
distributed attack tools www attacks automated probes/scans GUI
back doors network mgmt. diagnostics
disabling audits
hijacking burglaries sessions Attack Sophistication
exploiting known vulnerabilities password cracking self-replicating code
Intruders
password guessing
Low 1980
1985
1990
1995
2000
1. ábra Támadások kifinomultsága az idő függvényében [2] A 1. ábra időrendben mutatja milyen támadások voltak jellemzőek a számítógépes rendszerek ellen az adott korban. A támadástípusok egy görbén helyezkednek el, amely azt mutatja, hogy a
Robothadviselés Konferencia 5.
1. oldal
Internetbiztonság
Előházi János
támadástípus mennyire kifinomult. A 80-as évek közepéig a jelszavak kitalálása, az önmagukat replikáló kódok (klasszikus vírusok), és a betörések jelentettek veszélyt a számítógépes infrastruktúrára, míg manapság az önmagukat koordináló, automatizált, elosztott, nagyszámú célpontot egy időben támadni képes rendszerek a jellemzőek. 2. Kapcsolódó definíciók Az internetes támadások különböző méretűek és súlyosságúak. Az átlagos felhasználó számára bosszantó, ha számítógépét az operációs rendszer biztonsági rését kihasználva automatikus támadóprogramok rendszeresen újraindítják, lehetetlenné téve, hogy a megfelelő védőintézkedések aktiválásáig online tartózkodjon, de az még bosszantóbb, ha számítógépe billentyűzetét lehallgatva internet-bankos jelszavát és azonosítóját ellopva számlájáról pénzt emelnek le. Ma már az internetes támadások képesek arra, hogy az egyes egyén támadása helyett nagyobb méretű csapásokat mérjenek, így például egy teljes bank-lánc vagy online tevékenykedő vállalkozások számítógépes hálózatainak lebénítását. Ennek megfelelően a szakirodalom három lépcsős definíciót hozott létre a kibertérben elkövetett bűncselekmények osztályozására:
Cyber-crime: Digitális adat- és információfolyam előre megfontolt szándékú rosszakaratú felhasználása.
Cyber-utilization: Online hálózat vagy adatok használata terrorista szervezetek vagy egyéb bűnöző csoportok (akár szervezett bűnözés) támogatásának céljából.
Cyber-terror: Digitális adat- és információfolyamnak, széles körben, politikai, vallási vagy ideológiai megfontolásból, előre megfontolt szándékkal elpusztítása, működésének lehetetlenné tétele, illetve funkcióját módosítása.
3. Biztonsági aspektusok A számítógépes rendszerek rendkívül összetettek. Ugyanaz az infrastruktúra számos alkalmazást szolgál ki, pl.: fájlmegosztás, nyomtatószerver, levelezés, alkalmazás-szerverek kommunikációja, VoIP kommunikáció, videokonferenciák közvetítése. Lehetetlennek tűnő feladat minden alkalmazás szemszögéből megvizsgálni az infrastruktúra biztonságát, ám a gyakorlat öt tényezőt talált, melyek mentén egy informatikai rendszer biztonsága mérhető.
Azonosítás: mind a kiszolgáló mind a kliens azonosítását értjük alatta. Az azonosítás történhet valamilyen közös titok alapján (belépési név/jelszó páros) – ez az azonosítási forma ma már nem nyújt megfelelő védelmet. Ha nem körültekintően választjuk meg a jelszót, az a mai nagy teljesítményű számítógépekkel, és a létező szótáradatbázisok segítségével az viszonylag könnyen kitalálható. Az azonosítás történhet valamilyen birtok és a hozzá tartozó jelszó párosával. Ilyen a gyakorlatban a digitális aláírást tartalmazó smart-card és a hozzá tartozó PIN kód. A kártya ellopásával a támadók nem férhetnek hozzá a rendszerhez, amíg a hozzá tartozó kód nem kerül a birtokukba. A legmagasabb szintű azonosítás a biometriai azonosítás, ami a felhasználóra egyedileg jellemző tulajdonságot alkalmaz az authentikációs folyamat: ujjlenyomat, írisz minta, fül alakja, hang.
Integritás: az üzenet sértetlenségét és megmásíthatatlanságát biztosító eljárásokat értjük, melyek védik az átvivendő adatokat az átvitel során. A gyakorlatban az átvitt adatból nyernek mintát, valamilyen egyirányú függvénnyel (hash függvény: az adatból bármikor előállítható a lenyomat, de a generált mintából nem állítható elő maga az adat), és ezt a mintát írják alá digitálisan. A vevő ugyanúgy legenerálja a mintát a fogadott adat alapján, amit összevethet a küldő által átküldött, aláírt mintával. Ha a kettő megegyezik, az átvitel során nagy valószínűséggel nem módosult az adat.
Letagadhatatlanság: a tranzakció végrehajtásának bizonyíthatóságát szolgálja minden résztvevő számára. Főleg banki és e-business alkalmazásokban jelentős.
Bizalmasság: a címzetteken kívül más ne férhessen az adatokhoz. Valamilyen szabványos szimmetrikus vagy aszimmetrikus kulcsú titkosítási eljárás segítségével az átviendő adatot titkosítják (DES, AES, Rijndael, RC4, RSA). A szimmetrikus eljárás során ugyanaz a kulcs a titkosító és a dekódoló függvény kulcsa, amíg aszimmetrikus titkosítás során a két kulcs különböző, és egymásból nem kiszámítható. Míg az első esetben meg kell oldani, hogy a vevő fél is megkapja a kulcsot, a második esetben a
Robothadviselés Konferencia 5.
2. oldal
Internetbiztonság
Előházi János
kódoló kulcs nyilvános, a dekódoló kulcs csak a fogadó által ismert. Az aszimmetrikus eljárás elég költséges művelet, ezért a gyakorlatban aszimmetrikus kódolással titkosítják a szimmetrikus kódoló kulcsot, és így juttatják el a fogadó fél számára. Magának az adatnak a titkosítása a kevesebb számítást igénylő szimmetrikus kulcsú titkosítással történik.
Rendelkezésre állás: a legegyszerűbb támadás során a cél a szolgáltató megbénítása, így az képtelen válaszolni a hozzá érkező valós kérésekre. Ezek az úgynevezett denial of service támadások (ld. később), melyek kivédésére számos technika létezik.
4. Az Internet Protocol (IP) Az IP egy állapotnélküli, úgynevezett csomagkapcsolt protokoll, melynek az adatátvitel mellett a fő funkciója az útvonalválasztás heterogén fizikai rendszerek felett. A végpontokon és a köztes csomópontokon (routerek) egyaránt implementált. Az útvonalválasztás az IP csomag fejlécében meghatározott paraméterek, vagy fix útvonal leírás alapján történik a köztes csomópontok fix útvonalválasztó tábláinak felhasználásával. A csomag küldője meghatározhatja, hogy a csomag sértetlensége, vagy gyors átvitele a fontosabb számára. Az elsőt adatátvitelnél, a másodikat valósidejű alkalmazások (VoIP, video on demand) esetében alkalmazzák. A köztes csomópontok ezen információk alapján illetve statisztikai adataik felhasználásával el tudják dönteni, merre küldjék tovább a csomagot. Példa lehet az útvonalválasztás befolyásolására, amikor a küldő információval bír, mely hálózati szegmenseken keresztül nem szeretné keresztülküldeni csomagját (pl.: afganisztáni szervereken keresztül), és ezen hálózati szegmenseket az IP csomag fejlécében feltünteti.
HTTP HTTP client client
TCP
TCP TCP IP IP Ethernet Ethernet driver driver
HTTP HTTP server server
HTTP
TCP TCP
router IP
Ethernet protokoll
IP IP Ethernet Ethernet driver driver
token tokenring ring driver driver
Ethernet
IP token ring protokoll
IP IP token tokenring ring driver driver
token ring
2. ábra Példa az IP alapú hálózatra [1] A 2. ábra egy példa az IP protokollt használó hálózatra. A fizikai réteg láthatóan különböző, ám ez a felsőbb absztrakciós szinten elhelyezkedő protokollokat ez nem érinti, hiszen az ő működésük a transzparenciát biztosító, logikai címekkel operáló IP protokollon nyugszik. Az ábrán a vízszintes vonal jelzi a választóvonalat a fizikai és logikai réteg között. Az IP protokoll számos biztonsági problémával küzd:
az egyes csomagok tartalmát az átvitel során bárki módosíthatja, mivel azok nem védettek (nem titkosítottak, nincsenek aláírva);
tetszőleges IP csomag létrehozható tetszőleges forrás IP címet megadva, mivel az IP címek nincsenek azonosítva;
az IP csomagok adattartalma titkosítható, a fejléce viszont nem kódolt, ezért az abban tárolt információ szabadon hozzáférhető, lehetővé téve a támadó félnek, hogy forgalomanalízis segítségével következtetéseket vonjon le;
a köztes csomópontok közötti routing-táblák aktualizálása hitelesítés nélkül zajlik le, ami lehetővé teszi az egyes routerek tárolt információinak összezavarását, ezáltal létrehozhatók hurkok és elszigetelt partíciók, átirányítható minden forgalom a támadó
Robothadviselés Konferencia 5.
3. oldal
Internetbiztonság
Előházi János
hálózatára, hogy ott szabadon azt megfigyelje, vagy módosítsa, ill. túlterhelt csomópontok hozhatóak létre (DoS támadás). A fent felsorolt biztonsági hiányosságok kiküszöbölésére jött létre az IPsec protokoll, amelynek alkalmazása nem kötelező, így csak akkor használható, a mindkét csomópont illetve a köztes csomópontok is támogatják. Az IP protokoll 6-os verziójában (IPv6) az IPsec alkalmazása kötelező. Az IPsec protokoll az alábbi szolgáltatásokat nyújtja:
integritás: az adat sérthetetlensége az átvitel során
adatforrás authentikáció: a forrás IP cím azonosítása
újraforgalmazás detektálása: az IP csomag aláírásába belekerül a küldés ideje is, ami így már nem módosítható, vagy módosítás során az aláírás nem egyezik meg az adattal, kivédve így azokat az eseteket, amikor a támadó a titkosított adatot nem tudja módosítani, de újrajátszva egy korábbi üzenetet lehetőséget teremthet a támadásra
bizalmasság: az adatmező tartalma csak a feladó és a vevő számára elérhető (titkosítás segítségével)
Az IP protokoll logikai címekkel dolgozik, de léteznie kell olyan leképező mechanizmusnak, ami a logikai IP címeket az adott hálózati architektúra által használt fizikai címekre képezi le, hogy a kommunikáció meg tudjon valósulni. A leginkább alkalmazott Ethernet hálózatokban ez a protokoll az ARP (Address Resolution Protocol). Minden egyes Ethernet hálózati csatoló egy egyéni (legalább az adott kontinensen egyedi) címmel rendelkezik, melyet MAC címnek neveznek. Az ARP az IP cím és a MAC cím közötti kapcsolatot teremti meg.
kérés
08:00:20:03:F6:42 .2
.1
.3
.4
00:00:C0:C2:9B:26 .5
140.252.13 arp req | target IP: 140.252.13.5 | target eth: ?
válasz 08:00:20:03:F6:42 .2
.1
.3
.4
00:00:C0:C2:9B:26 .5
140.252.13 arp rep | sender IP: 140.252.13.5 | sender eth: 00:00:C0:C2:9B:26
3. ábra Az ARP protokoll működése ismert IP cím esetén [1] A fenti ábrán látható, hogy a protokoll miként működik: 1. A küldő megkérdezi a hálózaton, hogy ki rendelkezik az adott IP címmel, válaszul a címzett MAC címét várja (broadcast üzenet). 2. A címzett felismerve saját IP címét válaszol a feladónak, megküldve MAC címét. A probléma a protokollal, hogy az első kérést a hálózaton mindenki megkapja, így ha valami megelőzi a hiteles címzettet, félrevezetheti a küldőt, aki a támadást észre sem veszi. 5. TCP (Transmission Control Protocol) IP felett alkalmazott, kapcsolat alapú, megbízható adatátvitelt biztosító protokoll a TCP. A kapcsolatalapúság azt jelenti, hogy az adatátvitel előtt a forrás és a cél felépít egymás között egy logikai kapcsolatot, melynek állapotát mindkét oldal nyilván tartja, a kommunikáció pedig ez alapján történik. A megbízható átvitelt az alábbi szolgáltatások biztosítják:
Robothadviselés Konferencia 5.
4. oldal
Internetbiztonság
Előházi János
pozitív nyugtázás: minden átküldött adatcsomag után a fogadónak pozitív nyugtával kell jeleznie a feladó felé, hogy az rendben megérkezett; ha a feladó egy bizonyos idő elteltével nem kapja meg a pozitív nyugtát, akkor a kérdéses csomagot megpróbálja újra elküldeni
ellenőrző összeg a fejlécre és adatra egyaránt: megakadályozza, hogy az átvitel hibái miatt sérüljön a csomag tartalma; az ellenőrző összeget a küldő kiszámítja, és a csomaghoz kapcsolja; a fogadó a megkapott adaton és csomagfejlécen újra elvégzi a műveletet, és ha az nem egyezik a csomagban talált információval, nem küld vissza pozitív nyugtát
adatszegmensek újrarendezése: az átvitel során nem törvényszerű, hogy a csomagok ugyanolyan sorrendben érkezzenek meg, mint ahogy feladták őket, hiszen előfordulhat, hogy azok különböző fizikai csatornákon és útvonalakon keresztül jutnak el a feladóhoz; a protokoll tartalmaz megoldást arra nézve, hogy a kezdeti sorrend a fogadói oldalon helyreállítható legyen
duplaszegmens érzékelés: a fogadó képes érzékelni, ha egy korábban már megkapott adatcsomagot újra megkapott; az újra megkapott csomagot egyszerűen eldobja
átviteli sebesség szabályozása: ha a fogadó és a küldő átviteli kapacitása különböző, akkor a fogadó jelezheti a küldőnek, hogy csökkentse adási sebességét, hogy a csomagvesztés mértékét minimalizálni lehessen kliens
SYN = ISNC
szerver
SYN = ISNS, ACK(ISNC) ACK(ISNS) data transfer
4. ábra Példa TCP kapcsolat felvételére [1] A fenti ábra példa egy TCP kapcsolat felvételre. Az ISN (Initial Sequence Number) a kezdeti sorszáma a csomagoknak, ami a protokoll szabványában véletlenszámként lett definiálva. A véletlenszámgenerálás költséges művelet, ezért sok implementáció a következő ISN számot az előző inkrementálásával állítja elő, így a válasz ISN szám a támadó által megbecsülhető, és így képes kialakítani TCP kapcsolatot az célponttal: támadó
SYN = ISNX, SRC_IP = T
szerver
biztonságos hoszt (T)
SYN = ISNS, ACK(ISNX) ACK(ISNS), SRC_IP = T SRC_IP = T, nasty_data
5. ábra Példa ISN becslésén alapuló támadásra [1] 6. Internetes alkalmazások és azok gyenge pontjai Az FTP (File Transfer Protocol ) ma már talán ritkábban használt alkalmazás, de az egyike az első TCP/IP felett megjelent alkalmazásoknak. Több mint 30 éves protokoll: régebben teljes körű fájlátviteli feladatokat ellátott, manapság csak olyan esetben alkalmazott, ahol a biztonság nem kiemelkedő, vagy csupán a kliens számára csak olvasható, anonim szolgáltatások érhetőek el (programok letöltése például). A protokollt a 6. ábra írja le:
Robothadviselés Konferencia 5.
5. oldal
Internetbiztonság
Előházi János
kliens % ftp ftp.zmne.hu
szerver
“220 ftp.zmne.hu FTP server (version 5.60) ready.”
Kapcsolódva: ftp.zmne.hu Felhasználónév: elohazi
“USER elohazi” “331 Password required for user elohazi.”
Jelszó: nemmondommeg
“PASS nemmondommeg” “230 User elohazi logged in.”
… 6. ábra FTP kapcsolatfelvétel [1] Az ábrán látszik a protokoll legnagyobb hiányossága: a felhasználónév és a jelszó titkosítás nélkül kerül átküldésre, így egy egyszerű hálózatmonitor-alkalmazás képes arra, hogy a felhasználói adatok illetéktelen kezekbe kerüljenek. Az igazi probléma, hogy a legtöbb esetben az itt megadott felhasználói adatok valós felhasználóhoz tartoznak, aki nem csak FTP hozzáférésre jogosult, így a támadó hozzá tud férni a rendszer egyéb szolgáltatásaihoz is. Az FTP protokoll hiányosságainak kiküszöbölésére készült el az SFTP szabvány (Secure File Transfer Protocol), ami az SSH (Secure Shell – ld. később) szolgáltatásait kihasználva nyújtja ugyanazokat a szolgáltatásokat biztonságos körülmények között (titkosítás, azonosítás stb.), mint az FTP. [5] A másik manapság már háttérbe szorult szolgáltatás a TELNET, ami távoli konzol hozzáférést biztosít Internet kapcsolat felett. Segítségével a felhasználó egy távoli számítógép segítségével léphet be egy másik számítógépre, mintha csak a cél-számítógép előtt ülne. A protokoll ugyanazzal a problémával küzd, mint az FTP: az adatátvitel szöveg-alapú, így a felhasználói adatok, az egyéb beírt parancsok, és képernyőre kiírt válaszok minden titkosítás nélkül kerülnek ki a mindenki által hozzáférhető hálózati szegmensekre. Mivel előfordulhat, hogy a felhasználó más távoli számítógépekre is be kell, hogy lépjen (pl.: adatbázis szerver), a támadó igen sok információhoz juthat. A megoldás ebben az esetben is az SSH-ra való áttérés, melynek alapszolgáltatása a távoli hozzáférés biztosítása. Az SSH alkalmazásával erős, nyilvános kulcsú titkosítás és azonosítás használható. [5] Az SMTP (Simple Mail Transfer Protocol) az e-mail-ek továbbítását szolgáló protokoll. Az email forgalom a mai napig jelentős hányadát teszi ki az Internet-használatnak. Sokszor kényes személyes vagy vállalati információkat küldünk csatoltan e-mail-jeinkben, pedig ez a szabvány sem tartalmaz kötelező titkosítást és azonosítást. [6]
Robothadviselés Konferencia 5.
6. oldal
Internetbiztonság
Előházi János
küldő állomás kliens kliens
küldendő e-mailek
felhasználó helyi helyi MTA MTA
SMTP
relé relé MTA MTA
TCP kapcsolat SMTP TCP port 25
relé relé MTA MTA SMTP
fogadó állomás helyi helyi MTA MTA
kliens kliens
SMTP
relé relé MTA MTA
felhasználói postafiók
felhasználó
7. ábra Példa az e-mail által megtett útra [1] A 7. ábra mutat egy példát arra, milyen utat tehet meg egy e-mail az Interneten. Az üzenetet MTA-k (Mail Transfer Agent) továbbítják a felhasználók levelező kliensei között. Sok esetben a felhasználóktól semmilyen komoly azonosítást nem követel meg a belépő SMTP szerverük, vagy a belépés nem titkosított. Ennek hiányát kihasználva olyan e-mailek küldhetők, melyek feladói nem valósak. Ez a módszer igen közkedvelt az úgynevezett SPAM (kéretlen kereskedelmi levél) küldők esetében. % telnet smtp.zmne.hu 25 Trying... Connected to smtp.zmne.hu. Escape character is ‘^[’. 220 smtp.zmne.hu ESMTP Sendmail 8.11.6/8.11.6; Mon, 10 Feb 2003 14:23:21 +0100 helo gep1.zmne.hu 250 smtp.zmne.hu Hello [152.66.249.32], pleased to meet you mail from: [email protected] 250 2.1.0 [email protected]... Sender ok rcpt to: [email protected] 250 2.1.5 [email protected]... Recipient ok data 354 Enter mail, end with "." on a line by itself Your fake message goes here. . 250 2.0.0 h1ADO5e21330 Message accepted for delivery quit 221 smtp.zmne.hu closing connection Connection closed by foreign host. %
8. ábra SMTP protokoll példa hamis e-mail küldésére [1] A fenti példa mutatja, hogy mint a már eddig bemutatott példák, az SMTP protokoll is teljesen szöveg alapú. Az ábra egy hamis e-mail címről küldött e-mail esetén lejátszódó SMTP beszélgetést mutat. A biztonságot növelendő az SMTP feljegyzi, az e-mail fejlécében, milyen IP címről is adták fel az e-mailt, bár a küldő IP címének elrejtésére számos anonimitást biztosító szolgáltatás áll rendelkezésre, ez a megoldás adhat támpontot a küldő kilétének felkutatására. A mai korszerű SMTP szerverek csak megbízható MTA-któl fogadnak relé kéréseket (ld. 7. ábra), illetve a felhasználók bejelentkezésekor a kapcsolat SSL (Secure Socket Layer) segítségével titkosított. Az IP címek négy darab 0-255 közötti szám kombinációjából állnak össze, ám a felhasználók számára a számok megjegyzése nem olyan egyszerű, mintha egy szöveget kellene megjegyezniük. A
Robothadviselés Konferencia 5.
7. oldal
Internetbiztonság
Előházi János
címzés felhasználóbarátabbá tételére jöttek létre a domén nevek. A domén nevek IP címekhez való kötését a DNS (Domain Name System) végzi el. A DNS egy világméretű elosztott, hierarchikus adatbázis. A rendszer hierarchiája követi a domén nevek hierarchiáját. A legfelsőbb szintű, un. toplevel doménre példa a .hu, .com, .net stb. domén nevek, a második szintű (second-level) doménre példa a gov.hu vagy cert.org, stb. Minden szintnek és hálózati szegmensnek megvannak a saját DNS szerverei, melyek fogadják a hozzájuk intézett kéréseket. gep1.subnet.zmne.hu = ?
alkalmzás alkalmzás
192.168.1.5
helyi helyi névszerver névszerver
gep1.subnet.zmne.hu = ?
gep1
.subn et.zm ne.hu =? ge p1 . su bn et. zm ne .hu =? 19 2. 16 8. 1. 5
top toplevel level névszerver névszerver .hu .hu névszerver névszerver zmne.hu zmne.hu névszerver névszerver
subnet.zmne.hu subnet.zmne.hu névszerver névszerver
9. ábra Példa DNS kérésre [1] A fenti ábrán látszik, hogyha a keresett cél nem közvetlenül a megkérdezett DNS szerverhez tartozik, akkor az a hierarchiában eggyel alacsonyabb DNS szerver IP címét adja meg. Minden névszerver rendelkezik gyorsítótárral, ahol az utolsó kéréseket és a hozzájuk tartozó válaszokat tárolja, hogy meggyorsítsa a kiszolgálást. Így, ha a megkérdezett névszerver már rendelkezik a keresett információval, a fenti lépcsőzetes lekérést már nem kell végrehajtania. Mivel a DNS szerverek közötti kérés-válasz nincs hitelesítve a támadó pont a gyorsítótár megfertőzésével tud támadni, elérve így, hogy a felhasználó adott domén cím elérésekor a támadó által megadott IP címre továbbítódik. Bonyolultabb a támadás, ha a cél a nem helyi DNS szerverek adatainak módosítása. 7. DoS (Denial of Service) támadások A DoS támadások célja, hogy a válaszadó rendszert megbénítsa hamis kérésekkel, így a más forrásból érkező valós kéréseket ne tudja már kiszolgálni. Ezek a támadások nehezen megelőzhetőek, és nehezen küszöbölhetőek ki, hiszen körülményes és összetett (ezáltal időigényes) lenne, eldönteni, melyik kérés valós, és melyik nem, ugyanakkor megvalósításuk nem túl bonyolult, a támadónak csupán megfelelő mennyiségű automatizált rendszerre van szüksége, ami elégséges a cél megbénításához. A DoS támadások két nagy osztályba sorolhatóak: protokolltámadások és un. brute force támadások. Az első csoportba tartoznak azok a támadások, amelyek az adott alkalmazás vagy protokoll hiányosságait használják ki. Közismert példa az un. TCP SYN támadás vagy a CGI támadás. A CGI (Common Gateway Interface) webalkalmazások implementálásának egy lehetséges, ma már nem korszerűnek számító módja. A CGI esetében a kérésre előállító választ egy valamilyen programnyelven megírt program szolgáltatja. A válasz minden esetben a HTTP (Hypertext Transfer Protocol) protokollnak megfelelő kell, hogy legyen. A CGI problémája, hogy minden kérés egy külön processz az adott processzoron, ezért költséges létrehozni, költséges a futó processzek között váltani multi-task feldolgozás esetén. A CGI támadás pont ezt a hibát használja ki: rengeteg kérést küld a CGI szervernek, ami nem győzi ezt processzek létrehozásával, és végül összeomlik. [4] A TCP SYN támadás a fentebb leírt TCP kapcsolatfelvétel protokollját támadja. A lényege, hogy közvetlenül a kapcsolat felépítése után nagyméretű területet foglal a támadó az átviteli sorban. A támadó számos ilyen kapcsolatot nyit a céllal, melyeket sohasem zár le, feltöltve így a cél számára rendelkezésre álló átviteli sort. [4] A DoS támadások megelőzhetőek és kivédhetőek, bár ez bonyolult heurisztikát igényelhet. Passzív megelőzésre példa az erőforrások felhasználókhoz rendelése, így csak az adott felhasználói csoport férhet hozzá az erőforrás szolgáltatásaihoz. A DoS támadás nehezíthető, ha a válaszadó nem egyetlen rendszer, hanem terheléselosztásos szerver-pool, ahol a hirtelen megnövekedett terhelés
Robothadviselés Konferencia 5.
8. oldal
Internetbiztonság
Előházi János
elosztható az egyes rendszerek között. A támadónak így nagyobb energiát kell kifejtenie, hogy támadása sikeres legyen. A kivédések reaktív csoportjába tartozik a támadásdetektálás, szűrés és az átviteli limit szabályozása. A reaktív védekezés során a normális működés alapján tapasztalt minták alapján kiszűrhetőek a gyanús kérések, melyeket a rendszer válaszadás nélkül eldob, csökkentve a kiszolgáló terheltségét. 8. Biztonsági megoldások Az alsóbb szintű rétegekből hiányzó hitelesítési, integritást és bizalmasságot biztosító szolgáltatások hiánya miatt az alkalmazásoknak egyenként kell biztosítaniuk felhasználóiknak ezeket a ma már elengedhetetlen szolgáltatásokat. Kialakult két olyan csomag, amely az átvitel és az alkalmazás közé ékelődve képesek ilyen szolgáltatásokat nyújtani, de igénylik, hogy az adott program explicit meghívja azokat. Az SSH (Secure Shell) generikus rendszer ott jelenthet megoldást, ahol a kliens és kiszolgáló gép között valamilyen shell kapcsolat jön létre. [5] Az SSL (Secure Socket Layer) főleg HTTP és MIME alkalmazásokban használható. Az SSH alapvetően biztonságos távoli hozzáférést biztosít, de létezik olyan szolgáltatása, amely a felépült biztonságos kapcsolatot felajánlva lehetővé teszi más alkalmazások számára is a biztonságos működése (SFTP, SCP). [6] Az SSH több protokoll együttese:
SSH Transport Layer Protocol: szerver-azonosítás, bizalmasság, integritás biztosítása [1]
SSH User Authentication Protocol: kliens oldali felhasználó-azonosítás [1]
SSH Connection Protocol: a kiszolgáló és a kliens közötti biztonságos csatorna multiplexálása több logikai csatornává [1]
Az SSH kapcsolatfelvételkor a felhasználó által beállított paraméterek és az összekapcsolódó programok verziószáma alapján dől el, pontosan milyen biztonsági attribútumok szerint történik a kommunikáció, megvalósítva így a visszafelé való kompatibilitást. [6] Az SSL draft-ot a Netscape fejlesztette ki. A szabványosítási folyamat után az új neve a TLS (Transport Layer Security) lett. A HTTPS protokoll része. Az SSL maga is több protokoll együttese:
SSL Handshake Protocol: kulcscsere, szerverazonosítás (kliensazonosítás)
SSL Record Protocol: tördelés, tömörítés, üzenetazonosítás, integritás biztosítása, titkosítás
SSL Alert Protocol: hibák és figyelmeztetések jelzése
SSL Change Cipher Spec Protocol: egy egyszerű üzenet, ami a kapcsolatfelvétel végét jelzi
SSL SSL Handshake Handshake Protocol Protocol
SSL SSLChange Change Cipher CipherSpec Spec Protocol Protocol
SSL SSL Alert Alert Protocol Protocol
biztonsági
algoritmusválasztás,
alkalmazások alkalmazások (e.g., (e.g.,HTTP) HTTP)
SSL SSLRecord RecordProtocol Protocol
TCP TCP
IP IP 10. ábra Az SSL elhelyezkedése a logikai rétegek között [1]
Robothadviselés Konferencia 5.
9. oldal
Internetbiztonság
Előházi János
A kapcsolat titkosítása főleg böngésző alapú alkalmazások (pl.: e-bank, e-önkormányzat) esetében történik SSL segítségével. Mindkét rendszer megköveteli a kiszolgáló digitális aláírással történő azonosítását. A kliens azonosítása ilyen módszerrel csupán opcionális, emellett számos más módszert ajánlanak a keretrendszerek, beleértve a hagyományos felhasználónév-jelszó párosítást is. 9. Gyakori támadási példák Anonimitást biztosító rendszerek segítségével akárki megpróbálkozhat jelszóval védett szolgáltatások igénybevételével azáltal, hogy jelszó alapú támadást intéz. A támadás nem igényel különösebb szakértelmet. Az Internetről letölthetőek a folyamatosan frissített anonimitást biztosító, nem kompromittálódott rendszerek paraméterei, és ugyanígy a jelszó-szótárt tartalmazó adatbázisok is. A szintén letölthető programok magát a támadást, a megadott paraméterek felhasználásával a háttérben végzik, és feljegyzik, hogy hol, milyen felhasználónév-jelszó párost találták meg. A bonyolultabb támadások nem egyetlen gépről, hanem egyidejűleg számos gépről történnek, sokszor a számítógép tulajdonosának tudta nélkül. Számos olyan program érkezhet e-mailen, vagy más egyéb forrásból, amely egy hátsó ajtót nyit a felhasználó rendszerén, lehetővé téve, hogy azt egy jogosulatlan fél a saját céljaira is használhassa. Az afganisztáni háború idején számos olyan cikk látott napvilágot, amely a terroristák kapcsolattartását kutatta. Többek között olyan módszerekre találtak, amely az IP csomagok fejlécét, és nem az adatmezőit használta fel. Az IPv4 szabvány szerint az IP csomagok fejléce tetszőleges hosszúságú lehet. A legtöbb rendszer ezeket nem kutatja gyanús adatok után keresve. A terroristák így ide rejtették a kommunikációjukhoz szükséges adatokat. Hasonló módszer volt a képállományokba rejtett információ is. A képek alkalmasak arra, hogy szabad szemmel nem észrevehető adatokat is tároljanak, melyeket agyunk zajként értékel a képen. A vevő rendszere pontosan ezt a zajt kereste az első látásra ártalmatlannak tűnő képen. Az IP alapú telefónia olcsósága révén egyre inkább előtérbe kerül. A bűnüldöző szerveknek mostanában vált világossá, mennyire nehéz az ilyen telefonhívásokat lehallgatni. A legtöbb ingyenes rendszer elosztott alapú, tehát a forgalom közvetlenül a társalgó felek között, központi szerver közbeiktatása nélkül zajlik, tovább bonyolítva a lehallgatási folyamatot. A fő probléma viszont, hogy az ilyen kommunikáció által generált IP csomagok nem különböznek a hagyományos adatátviteltől. Az IP csomagok nagy számuk miatt rendkívül nehezen elemezhetőek. Gyakori csalás a félrevezető e-mailek segítségével eltulajdonított személyes adatok. A módszer lényege, hogy az áldozat egy olyan e-mailt kap, amely formájában hasonlít pl. bankja által írt e-mailre. Az e-mail gyakran olyan szöveggel környékezi meg a felhasználót, hogy előfizetése megőrzése érdekében adatait újra meg kell adnia. A levél tartalmaz egy linket is, amely kinézetre a bank rendszerébe mutat, de a gyakorlatban, egy teljesen másik szerverre irányítják a felhasználót, ahol egy hasonló kinézetű portál fogadja. A gyanútlan felhasználó megadja a kívánt adatokat önszántából, amelyek így jogosulatlan félhez kerülnek. Az alábbi példa egy ilyen esetet mutat be, ahol az eBay online aukciós ház nevében írnak a felhasználónak.
Robothadviselés Konferencia 5.
10. oldal
Internetbiztonság
Előházi János
11. ábra Hamis e-mail A 12. ábrán látható az az oldal, ahová a felhasználót valójában továbbította az e-mailben szereplő link. A böngésző címsorában látható, hogy az adott IP cím nem felel meg az eBay eredeti IP címének. A belépési képernyő elfogad akármilyen felhasználónév-jelszó párost.
HTTP cím!
Belépési képernyő teljesen megegyezik az eredetivel!
Microsoft Passport szolgálgatás adatainak ellopása! 12. ábra A hamis bejelentkezési képernyő A belépés utáni képernyőt a 13. ábra mutatja. A támadó elkéri a felhasználó hitelkártyájának adatait, beleértve annak PIN kódját is, melyet online tranzakciónál sosem kell megadni, ugyanakkor kézpénzfelvételhez elengedhetetlen. A címsorban látható, hogy a kapcsolat nem titkosított, bár kényes információt kérnek el.
Robothadviselés Konferencia 5.
11. oldal
Internetbiztonság
Előházi János
nem is biztonságos kapcsolat!
felhasználó/jelszó páros nem is volt jó!
hitelkártya információk elkérése
PIN kód elkérése készpénzfelvétel!
13. ábra Hitelkártya-információk elkérése 10. Összegzés Egy frissen telepített számítógép, az Internetre kapcsolva körülbelül tíz perc alatt teljes bizonyossággal fertőzötté válik. A mai felhasználóknak kis mértékben szakemberekké kell, váljanak, hogy tudják értelmezni a tűzfalak és vírusriasztók üzeneteit, illetve megfelelően be tudják azokat állítani. Nem árt, ha kényes információk megadásakor különösen körültekintőek vagyunk. Az átlagos számítógép leggyakrabban zombiként vehet részt egy támadásban. A támadók a felhasználók felkészületlenségét kihasználva olyan programok sokaságát szórják szét a világhálón, melyek települve az egyes felhasználók számítógépére lehetővé teszik, hogy azokat távolról, a felhasználó tudta nélkül irányítsák. Az ilyen gépfarm gazdái sokszor kapnak megrendeléseket nagyszámú SPAM elküldésére, vagy egy webszerver megbénítására. A legutóbb nyilvánosságra került esetben az angol fogadóirodákat zsarolták meg. Ezeknek az irodáknak szinte a teljes forgalmuk az adott sportesemény előtti 1-2 napra esik. Ha ebben az időszakban megbénítják a rendszereiket, jelentős bevételtől esnek el, így megéri számukra, ha a zsarolóknak fizetnek. Az elmúlt évben a nyilvánosságra került biztonsági réseket kihasználó programok száma annyira megemelkedett, hogy a legelterjedtebb operációs rendszerek készítői az ilyen programok eltávolítására alkalmas eszközöket, még a kalózverziót használó klienseik számára is elérhetővé tették. Felismerték, hogy a fontos vállalati rendszerek biztonsága megér ennyi kedvezményt. A szervezett internetes bűnözés elleni harcot az is nagymértékben elősegíti, hogy számos nem szakmai médium is foglalkozik az új veszélyekkel. Cikkeket jelentetnek meg nagy olvasói táborral rendelkező napilapok az új fenyegetésekről, részletesen leírva azok természetét és veszélyességét, megadva azokat az információkat, melyekkel az egyes felhasználók megvédhetik magukat, illetve az Internetet használó társaikat az új támadási lehetőségtől. Átfogó megoldás a 30 éves technológia hiányosságaira pár éven belül várható, amikor a két éve szabványosított új verziós IP protokoll (IPv6) teljesen átveszi a jelenlegi technológia szerepét. Ez az új protokoll az utóbbi években felismert alapvető biztonsági hibák elemzéseit felhasználva, alacsony szinten biztosítja a szükséges, jelenleg hiányzó védelmet. 11. Felhasznált irodalom [1] http://www.hit.bme.hu/~buttyan/ [2] http://www.cert.org/ [3] http://www.whatthehack.org/ [4] http://www.lasr.cs.ucla.edu/ddos/ucla_tech_report_020018.pdf
Robothadviselés Konferencia 5.
12. oldal
Internetbiztonság
Előházi János
[5] http://snap.nlc.dcccd.edu/learn/frazer2/ppt/Remote_Control.ppt [6] http://www.cs.ust.hk/faculty/cding/COMP364/SLIDES/set327.ppt
Robothadviselés Konferencia 5.
13. oldal