TÁMOP-4.1.1.F-14/1/KONV-2015-0009 „A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉS MODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSI TUDOMÁNYEGYETEMEN „
Gyurák Gábor
Informatikabiztonság II.
Pécs 2015
A tananyag a TÁMOP-4.1.1.F-14/1/KONV-2015-0009 azonosító számú, „A gépészeti és informatikai ágazatok duális és moduláris képzéseinek kialakítása a Pécsi Tudományegyetemen” című projekt keretében valósul meg.
TÁMOP-4.1.1.F-14/1/KONV-2015-0009 „A GÉPÉSZETI ÉS INFORMATIKAI ÁGAZATOK DUÁLIS ÉS MODULÁRIS KÉPZÉSEINEK KIALAKÍTÁSA A PÉCSI TUDOMÁNYEGYETEMEN „
Informatikabiztonság II.
Gyurák Gábor Szakmai lektor: dr. Muha Lajos Nyelvi lektor: Veres Mária
Pollack Press 7624 Pécs, Boszorkány u. 2.
Felelős kiadó:
ISBN szám
Pécsi Tudományegyetem Műszaki és Informatikai Kar Pécs, 2015 © Gyurák Gábor
TARTALOMJEGYZÉK 1. 2.
Előszó ............................................................................................................ 6 Behatolásjelző rendszerek (IDPS) ...................................................................... 7
2.1. Bevezetés................................................................................................................................. 7 2.2. Behatolásjelző rendszerek története ...................................................................................... 8 2.3. IDPS (Intrusion Detection and Prevention) rendszerek ........................................................ 10 2.3.1. Különbség IDS és IPS között........................................................................................... 11 2.3.2. Az IDPS rendszerek modellje ......................................................................................... 11 2.4. IDS-ek osztályozása az információ forrása szerint................................................................. 12 2.4.3. Hosztalapú IDS-ek .......................................................................................................... 12 2.4.4. Alkalmazásalapú IDS-ek ................................................................................................. 13 2.4.5. Hálózatalapú IDS............................................................................................................ 14 2.4.6. Hibrid rendszerek .......................................................................................................... 15 2.5. IDS-ek osztályozása elemzés szerint...................................................................................... 15 2.5.7. Szignatúraalapú IDS ....................................................................................................... 15 2.5.8. Anomáliaalapú IDS......................................................................................................... 16 2.5.9. Hibrid rendszerek .......................................................................................................... 17 2.6. A hálózatbiztonsági szakemberek szerepe ............................................................................ 17 3.
Kriptográfia ...................................................................................................18
3.1. Fogalmak ............................................................................................................................... 19 3.1.1. Kriptográfia .................................................................................................................... 19 3.1.2. Jelölésrendszer .............................................................................................................. 20 3.2. Klasszikus titkosítási rendszerek............................................................................................ 21 3.2.3. Ókori görög megoldások ............................................................................................... 21 3.2.4. Caesar-titkosító ............................................................................................................. 21 3.2.5. Helyettesítéses titkosító ................................................................................................ 23 3.2.6. Mechanikus titkosítók ................................................................................................... 23 3.3. A rejtjelezés alapmodell ........................................................................................................ 25 3.3.7. Titkosítási rendszerek típusai ........................................................................................ 26 3.3.8. Támadások..................................................................................................................... 27 3.3.9. Elvek............................................................................................................................... 27 3.3.10. One Time Pad (OTP) ...................................................................................................... 28 3.3.11. Kriptográfiai rendszer .................................................................................................... 29 3.4. Hash függvények ................................................................................................................... 29 3.4.12. Követelmények .............................................................................................................. 30 3.4.13. Üzenethitelesítés ........................................................................................................... 31 3.4.14. Hash-példák ................................................................................................................... 31 3.5. Szimmetrikus titkosítási rendszerek ...................................................................................... 32 3.5.15. Példák ............................................................................................................................ 33 3.6. Aszimmetrikus titkosítási rendszerek .................................................................................... 34 3.6.16. Példák ............................................................................................................................ 35 3.6.17. RSA................................................................................................................................. 35 3.6.18. Digitális aláírás ............................................................................................................... 37 3.7. PKI infrastruktúra .................................................................................................................. 39
3
3.7.19. 3.7.20. 4.
Tanúsítványok és tanúsítvány-hitelesítők ..................................................................... 39 Hosszú távú hitelesség biztosítása ................................................................................ 40
IT rendszerek támadása ..................................................................................46
4.1. Behatolástesztelés ................................................................................................................. 47 4.2. Behatolástesztelési forgatókönyv ......................................................................................... 49 4.2.1. Felderítés ....................................................................................................................... 49 4.2.2. Letapogatás ................................................................................................................... 50 4.2.3. Kihasználás .................................................................................................................... 51 4.3. Wireless hálózatok biztonsági kérdései................................................................................. 52 4.3.4. Bevezetés....................................................................................................................... 52 4.3.5. Wifi-hálózatok áttekintése ............................................................................................ 53 4.3.6. Wifi-veszélyek ................................................................................................................ 56 4.3.7. Védelmi megoldások ..................................................................................................... 58 4.3.8. Következtetések ............................................................................................................ 61 5.
IRODALOMJEGYZÉK ........................................................................................62
4
ÁBRÁK JEGYZÉKE 48. ábra Az internetre kapcsolt hosztok számának növekedése............................................................. 7 49. ábra Támadások száma földrészenkénti bontásban 24 óra alatt ..................................................... 8 50. ábra Az IDPS rendszerek felépítése ................................................................................................. 12 51. ábra Anomáliadetektációs technikák ............................................................................................. 16 52. ábra Kriptográfia a védelmi modellben ........................................................................................... 19 53. ábra Szkütálé (forrás: American Cryptogram Association) ............................................................. 21 54. ábra Caesar-titkosító (forrás: http://people.inf.elte.hu/pibuaai/).................................................. 22 55. ábra Caesar-titkosító a gyakorlatban (forrás: saját szerkesztés)..................................................... 22 56. ábra Betűk előfordulási gyakorisága a magyar nyelvben (forrás: Wikipédia) ................................. 23 57. ábra Enigma H (forrás: www.cryptomuseum.com)......................................................................... 24 58. ábra Kommunikációs partnerek ...................................................................................................... 25 59. ábra Titkosítási modell .................................................................................................................... 26 60. ábra OTP (One Time Pad) példa ...................................................................................................... 29 61. ábra Hash függvény ......................................................................................................................... 30 62. ábra Hash függvény működése (forrás: [4]) .................................................................................... 30 63. ábra Üzenethitelesítés hash függvényekkel (forrás: [4])................................................................. 31 64. ábra MD5 példa ............................................................................................................................... 32 65. ábra Szimmetrikus kulcsú titkosítás ................................................................................................ 33 66. ábra Aszimmetrikus kulcsú rendszer ............................................................................................... 34 67. ábra Riverst, Shamir és Adleman (forrás: Wikipédia) ..................................................................... 36 68. ábra Hitelesség az aszimmetrikus rendszerben .............................................................................. 37 69. ábra Digitális aláírás készítése ......................................................................................................... 38 70. ábra Digitális aláírás ellenőrzése ..................................................................................................... 38 71. ábra Tanúsítvány készítése.............................................................................................................. 39 72. ábra Tanúsítvány ............................................................................................................................. 40 73. ábra PaDES dokumentum................................................................................................................ 44 74. ábra A támadás fázisai ..................................................................................................................... 47 75. ábra Támadási fázisok időigénye..................................................................................................... 48 76. ábra A tesztelés folyamata .............................................................................................................. 48 77. ábra Portszámok és szolgáltatások.................................................................................................. 50 78. ábra Nessus grafikus felülete (forrás: www.tenable.com) .............................................................. 51 79. ábra Eladott okoskészülékek száma (Forrás: Telecom Trends International) ................................. 52 80. ábra MIMO (forrás: Airmagnet 802.11n Primer) ............................................................................ 54 81. ábra 802.11n által elérhető sebességek a különböző MCS függvényében ..................................... 55 82. ábra Wireshark wifi-lehallgatás ....................................................................................................... 57 83. ábra WEP feltörése Kali linux segítségével ...................................................................................... 59
5
1. Előszó Az utóbbi két évtizedben az információs technológiák alapjaiban megváltoztatták az életünket és a számítógép-hálózatok – különösképpen az internet – a mindennapi életünk részévé váltak. Ezek a változások új kihívások elé állítanak minket, és a kihívások között különös figyelmet kell szentelnünk a biztonságra. A könyv célja alapvető ismeretek nyújtása az informatikabiztonság területén. A témakör jelen könyv terjedelmi korlátait lényegesen meghaladja, ezért csak olyan ismeretek bemutatására törekszünk, amelyek a mérnök-informatikusok képzésében részt vevő fiatalok számára elengedhetetlenek. A könyv alapjául szolgál a Pécsi Tudományegyetem Műszaki és Informatikai Kar mérnökinformatikus szak „Az informatikabiztonság alapjai” című tantárgy oktatásának.
A szerző
6
2. Behatolásjelző rendszerek (IDPS) 2.1.
Bevezetés
A World Wide Web (világháló, www) mindenki számára elérhetővé tételekor, 1993. április 30án senki sem gondolta, hogy a jövőben milyen ütemű fejlődésen megy keresztül az internet. A cél egy olyan írható/olvasható média létrehozása volt, amelyet bármely felhasználó az internet hálózatán keresztül érhet el.1 „Megfelelő élvezhetőség és használhatóság esetén (…) a hálózat elkezd növekedni, a technológia ára mindinkább csökken, megnő az érdeklődés iránta, és egy önfenntartó, gyorsan terjedő rendszerré válik.”2 A hosztok száma drasztikusan növekedett („Internet-boom”).
1. ábra Az internetre kapcsolt hosztok számának növekedése
3
Az internet nagy változásokat hozott, hiszen ez az első valódi tömegkommunikációs csatorna, amelyen mindenféle adat és információ megjelent. A nagy mennyiségű információ áramlásával egyre több személyes adat is a világhálóra került, amelyre a támadók is felfigyeltek, és a céljaik közé került ezen adatok megszerzése is (pl.: jelszavak, bankszámla-hozzáférések stb.), így fontossá vált ezen adatok védelme. Ennek részeként a jogalkotók is állást foglaltak a témában. Magyarországon 2001-ben törvényi szinten elismerték az internetes levéltitkot, és bűncselekménnyé nyilvánították a
1
Berners-Lee, 1999.
2
Nielsen, 1993.
3
http://ftp.isc.org/www/survey/reports/2014/01/hosts.png
7
hackelést.4 A jogszabályi védelem ellenére azonban a támadások száma exponenciálisan emelkedik.
2. ábra Támadások száma földrészenkénti bontásban 24 óra alatt
5
A személyes adataink megóvása érdekében az informatikai biztonság is rohamos fejlődésen megy keresztül. A támadások azonban a modern védelmi rendszerekkel sem akadályozhatóak meg minden esetben, így fontossá vált a behatolások mielőbbi észlelése és az ezekkel kapcsolatos beavatkozás is: megjelentek a behatolásjelző rendszerek. 2.2.
Behatolásjelző rendszerek története
A behatolásjelző rendszerek (IDS, Intrusion Detection System) célja, hogy a hálózati eszközök monitorozásával detektálják azok rendellenes vagy hibás viselkedését, működését. Bár a kutatások már az 1980-as években megkezdődtek, azonban csak napjainkban emelkedett drasztikusan a behatolásjelző rendszerek beépítésének száma a meglévő vagy új informatikai biztonsági rendszerekbe. 1980-ban James Anderson „Computer Security Threat Monitoring and Surveillance” című művében tűnt fel először a behatolásjelzés fogalma. Egy kormányzati szervezet számára írt tanulmányt, és itt vetette fel az elképzelését arról, hogy ellenőrző útvonalak felállításával olyan fontos információkat szerezhetünk, amelyekből megismerhetjük a felhasználói viselkedést és nyomon követhetjük a visszaéléseket. Az adatokba tekintéssel óriási fejlődést értek el minden operációs rendszer ellenőrző alrendszerével kapcsolatban. Anderson elképzelésén alapulva szóba került egy jövőbeli behatolásjelző rendszer megtervezése és fejlesztése, az ő munkája volt a kiindulópontja a hosztalapú IDS-eknek, valamint végső soron a behatolásjelző rendszereknek is. 1983-ban az SRI International nevű cég, dr. Dorothy Denning vezetésével egy amerikai kormányzati projektben vett részt, amelynek célja a behatolásjelző rendszerek fejlesztése volt. Feladatuk a kormányzati mainframe számítógépek adatainak analizálása, és ennek segítségével a felhasználói tevékenységek alapján profilok létrehozása volt. 4
2001. évi CXXI. törvény a Büntető Törvénykönyvről szóló 1978. évi IV. törvény módosításáról (hatályos: 2002. április 1-től). Forrás: Nemzeti Jogszabálytár. 5
Forrás: https://analyzer.symantec.com
8
Egy évvel később dr. Denning és Peter Neumann közreműködésével alakították ki az első behatolásjelző rendszer modelljét – Intrusion Detection Expert System (IDES) –, amely kijelölte a behatolásjelző rendszerek további fejlődési irányvonalát. 1984-ben az SRI International is kifejlesztett egy eszközt az adatok követésére, amelyek tartalmazták az ARPANET- (eredeti internet-) felhasználók hitelesítési adatait. Nem sokkal később a haditengerészet SPAWAR projektjében megépítették az IDES-t, az első funkcionális behatolásjelző rendszert. Az SRI kutatásai és segítsége alapján publikálta dr. Denning az „An Intrusion Detection Model” című tanulmányát, amely tartalmazta a szükséges információkat a kereskedelmi behatolásjelző rendszerek fejlesztéséhez. Időközben más jelentős előrelépés is történt. 1988-ban a kaliforniai egyetem Lawrence Livermore laboratóriuma a Haystack projekt keretében kiadott egy új verziójú behatolásjelző rendszert, amelyet a légierő számára készített. A projekt keretében az IDS összehasonlította az elemzett adatokat a már meglévő mintákkal. Egy telefonos projektben Crosby Marks, a Haystack projekt egyik tagja, valamint a későbbi Haystack Labs alkalmazottja azt mondta, egy meghatározott visszaélésre keresés ilyen nagy mennyiségű adatban ugyanolyan volt, mintha tűt kerestek volna a szénakazalban. A fenti eszköznek a következő generációs kiadását nevezték Distributed Intrusion Detection System (DIDS)-nek. A DIDS javította a kliens gépek, valamint a szerverek ellenőrzésének korábbi megoldását. 1989-ben megalapították a Haystack Labst, és kiadták a DIDS utolsó generációs tagját, a Stalkert. Corsby Marks a Stalkert egy hosztalapú, mintakereső rendszerként mutatta be, amely tartalmazta a szerteágazó manuális és automatikus keresési lehetőséget is az ellenőrzött adatokban. A Haystack projekt eredménye – ötvözve dr. Denning munkájával – jelentős előrelépést ért el a hosztalapú behatolásjelző technológiáknál. Az 1990-es évek legelején, Todd Heberlein a kaliforniai egyetemről, felvázolta a hálózatalapú behatolásjelző rendszer elméletét. 1990-ben Heberlein volt az elsődleges fejlesztője a Network Security Monitornak (NSM), az első, hálózatalapú IDS-nek. A nagyobb kormányzati intézményekbe az NSM-et telepítették, amely a nagy mennyiségű adat ellenére is biztosította a hálózati forgalom elemzését. Ez az új megoldás növelte az érdeklődést a technológia iránt, így a következő időszakban a beruházások száma jelentősen emelkedett. Heberlein hozzájárult, hogy munkáját felhasználják – a DIDS-sel keresztezve – a Haystack Labs munkatársai, így megszületett a hibrid behatolásjelző rendszer gondolata. Az NSM forradalmasította az IDS-ek világát, és behozta a behatolásjelző rendszereket az üzleti világba. Megkezdődött tehát a kereskedelmi fejlesztés is, a Haystacks Labs piacra dobta az első IDS eszközeit, a Stalker hosztalapú vonalát tartalmazva. A Science Applications International Corporation (SAIC) is fejlesztésbe kezdett, és megszületett a számítógépes visszaéléseket figyelő rendszer, a Computer Misuse Detection System (CMDS). Ezzel párhuzamosan a légierő kriptográfiai csoportja kifejlesztette az Automated Security Measurement Systemet (ASIM) a légierő hálózati forgalmának figyelésére. Az ASIM jelentős előrelépést jelentett a skálázhatóság és hordozhatóság tekintetében, amely idáig hátrány volt a hálózatalapú IDSeknél. Emellett az ASIM volt az első megoldás, ahol hardveres és szoftveres elem is
9
egyaránt belekerült a behatolásjelző rendszerbe. Az ASIM-et napjainkban is használják, és a légierő Computer Emergency Response Team (AFCERT) csoportja irányítja a világ minden táján. Az ASIM projekt alapján 1994-ben került sor a Wheel Group elnevezésű kereskedelmi társaság létrehozására. A NetRanger nevű termékük volt az első „életképes” kereskedelmi, hálózatalapú behatolásjelző eszköz. Ebben az időszakban azonban még lassan fejlődtek a kereskedelmi IDS-ek, és csak az évtized második felében lendült fel a piacuk. 1997-ben a biztonságtechnikai piacvezető, az Internet Security Systems (ISS) kifejlesztett egy hálózatalapú IDS-t, a RealSecure-t. Egy évvel később a Cisco is felismerte az hálózatalapú IDS-ek jelentőségét, és felvásárolták a Wheel Groupot, ezáltal biztonsági megoldást is kínálva az ügyfeleinek. Létrejött az első nyilvános, hosztalapú IDS-fejlesztő cég, a Centrax Corporation a SAIC CMDS fejlesztő csapatának, valamint a Haystack Labs alkalmazottainak fúziójából. Ettől kezdve a kereskedelmi IDS-világ folyamatosan bővült, felvásárlások és fúziók jellemezték a következő időszakot. Napjainkban a szektor legfontosabb piaci résztvevői: a Cisco, az ISS, a Symantec, az Enterasys, az IBM, a McAfee és a Juniper. Jelenleg a piaci statisztikák azt mutatják, hogy az IDS a legtöbbet eladott biztonsági eszköz, és a számok a jövőben várhatóan tovább növekednek. A kormányzati intézkedések is támogatják a fejlődést, ezt példázza az USA-ban a szövetségi IDS (Federal Intrusion Detection Network, FIDNet) létrehozása a 63. számú elnöki rendelet alapján. Az IDS fejlesztései az automatizált biztonsági intelligencia irányába haladnak. A jövőben valószínűleg a mesterséges intelligencia további fejlesztésére koncentrálnak az IDS rendszerekben. [16] Ez a folyamat a neurális hálózatok anomália-detektációs algoritmusokba építésével már meg is kezdődött. Az azonban már jelenleg is egyértelműen kijelenthető, hogy az IDS rendszerek fontos és szerves részei az informatikai biztonságnak.
2.3.
IDPS (Intrusion Detection and Prevention) rendszerek
Az IDS és IPS rendszerek olyan hardveres és szoftveres biztonsági elemek, amelyek automatizálják a megfigyelési és elemzési folyamatot. Ezek a rendszerek lehetővé teszik a vállalatok/szervezetek számára, hogy megvédjék adataikat a behatolókkal szemben. Tekintettel a mai hálózati biztonsági rendszerek szintjére és jellegére, nem az a kérdés a szakemberek számára, hogy használják-e ezeket a rendszereket, hanem, hogy melyik típusa is illik leginkább a profiljukba. A fentiek alapján az IDPS rendszerek mára elfogadott részévé váltak az informatikai biztonságnak, számos előnyük közül néhányat említve: •
segítségükkel megakadályozhatjuk a felhasználók biztonsági protokolljának megsértéséből eredő problémákat, elemezhetjük a viselkedésüket és büntetéssel sújthatjuk azokat, akik megtámadják a rendszert vagy egyéb módon visszaélnek a hálózattal;
•
észlelhetjük a támadásokat és egyéb biztonsági réseket (pl.: nem telepített biztonsági frissítés, konfigurációs hiba, nem megfelelő biztonsági protokoll), amelyeket nem sikerült megakadályozni a többi biztonsági intézkedéssel;
10
•
még a kezdeti szakaszban észlelhetjük, és így kezelhetjük a támadásokat;
•
dokumentáljuk a jelenlegi fenyegetéseket a szervezet/vállalat felé;
•
minőség-ellenőrzés a tervezés és adminisztráció felé, különösen nagyvállalati környezetben;
•
hasznos információkat szerezhetünk javíthatunk a meglévő védelmen.
2.3.1.
a
behatolásokról,
ezeket
hasznosítva
Különbség IDS és IPS között
A támadások számának megnövekedése miatt egyre fontosabbá vált, hogy ne csak felismerjük, hanem meg is előzzük azokat, így az IDS-ek továbbfejlesztésével megalakultak az IPS-ek. A technológia alapjaiban az IDS-re épül, azonban az IPS rendszerek az alapvetően passzív IDS-sel szemben proaktív rendszerek; azaz nem várják meg, amíg a támadás kialakul, hanem céljuk a támadás megelőzése, nem pedig csak annak a jelzése. Egyes tanulmányok egyenesen az újfajta, intelligens tűzfalként említik.
2.3.2.
Az IDPS rendszerek modellje
Napjainkban számos elérhető típusa van az IDPS rendszereknek, hogy melyiket választjuk, az a hálózattól és a hálózaton található adatoktól függ. Természetesen mindegyik típusnak megvan a maga előnye és hátránya. Működésükkel kapcsolatban azonban egy egységes modell megállapítható.
Az IDPS rendszereken belül három alapvető rész különböztethető meg: •
Információforrás: a különböző forrásokból származó információkat használják arra, hogy a megállapítsák a behatolást. Ezeket a forrásokat a rendszer különböző szintjein találhatjuk, a leggyakoribb a hálózati, hosztalapú vagy alkalmazásszintű megfigyelés.
•
Elemzés: az IDPS rendszer azon része, amely a valódi irányítást végzi; értelmezi a forrásoktól érkező információkat, és ezek alapján eldönti, történt-e behatolás. A két leginkább használt elemzési típus az anomália-, valamint a szignatúraalapú elemzés.
•
Válaszlépés: azoknak a műveleteknek a csoportja, amelyeket a rendszer végez, ha megállapítja, hogy behatolás történt. Tipikusan aktív és passzív intézkedések különböztethetők meg. Az aktív intézkedés valamilyen automatizált beavatkozást végez a rendszeren, ezzel szemben a passzív intézkedés értesítést küld az IDS-t figyelő hálózati szakembereknek, akik manuálisan végzik el a szükséges beavatkozást.
11
3. ábra Az IDPS rendszerek felépítése
2.4.
IDS-ek osztályozása az információ forrása szerint
2.4.3.
Hosztalapú IDS-ek
A hosztalapú IDS-ek az adott számítógépre feltelepített rendszerek (szenzorok), amelyek a begyűjtött információkkal dolgoznak. Ez a megoldás közvetlenül monitorozza az adatokat és a rendszerfolyamatokat, ezáltal sokkal megbízhatóbb és pontosabb elemzést enged meg. Egyértelműen meghatározza a támadás célját és eredményét, továbbá azonosítja, hogy mely folyamatok és felhasználók voltak érintve a hálózatban. A hosztalapú IDS-ek alapvetően két információforrást használnak: a rendszer ellenőrző útvonalait, valamint a naplófájlokat. Az operációs rendszer ellenőrző útvonalai rendszerint a kernelben generálódnak, így sokkal részletesebbek és védettebbek, mint a naplófájlok, melyek ezzel szemben sokkal kisebbek és kevésbé korlátoltak, továbbá egyszerűbb őket megérteni. Egyes hosztalapú IDS-ek a központi IDS menedzsment és reporting támogatására lettek tervezve, ami megengedi az egyszerű hosztkövetést. Más IDS-ek a hálózattal kompatibilis üzenetek generálásával működnek. A hosztalapú IDS-ek előnyei: •
A hoszton képesek követni az eseményeket, így olyan dolgokat is láthatunk, amelyeket a hálózatalapú IDS nem vesz észre.
•
Olyan környezetben is képes működni, ahol a hálózati adatforgalom titkosított (a hosztalapú információforrások a titkosítás előtt generálódnak, vagy éppen a cél hoszton keletkeznek a dekódolás után).
12
•
Nem befolyásolja őket a hálózatok kapcsolása.
•
Az operációs rendszer ellenőrző útvonalait figyelve képes észlelni a „trójaikat” vagy az egyéb támadásokat, amelyek a szoftver integritását sértik, ezek ugyanis a folyamat végrehajtásában következetlenséget okoznak.
A hosztalapú IDS-ek hátrányai: •
Nehezebb kezelni, mivel minden hoszton konfigurálhatóvá és ellenőrizhetővé kell tenni az adatokat.
•
Mivel az információforrás is a támadás célpontja lehet, így a hosztalapú IDS is könnyedén a támadás részévé válhat, esetleg le is tilthatják.
•
Nem alkalmas a hálózati felderítések észlelésére, valamint az egyéb, teljes hálózatfelügyeletre irányuló támadások jelzésére, ugyanis csak a hosztokra érkező hálózati csomagokat vizsgálja.
•
Ki lehet őket iktatni bizonyos DoS támadásokkal.
•
A rendszer ellenőrző útvonalait is vizsgálják, ami óriási adatmennyiséget jelent, így plusztárolók lehetnek szükségesek a hosztokba az IDS működéséhez.
•
A rendszer erőforrásait használja működéséhez, így teljesítménycsökkenést okozhat.
2.4.4.
Alkalmazásalapú IDS-ek
Az alkalmazásalapú IDS tulajdonképpen a hosztalapú IDS rendszerek egy alcsoportja, amely egy szoftveren belüli eseményeket vizsgálja. Az alkalmazásalapú IDS-ek leginkább közös információforrása a szoftverek tranzakciós naplófájlja. Az alkalmazásalapú IDS-ek azon képessége, hogy az alkalmazást közvetlenül vagy egy alkalmazásspecifikus tudással az elemzőmotorjában tudja vizsgálni, megengedi, hogy észlelje a felhasználók jogosultságainak megsértéséből eredő gyanús viselkedést. Az ilyen problémák leggyakrabban a felhasználók, adatok és alkalmazások interakciójakor jelennek meg. Az alkalmazásalapú IDS-ek előnyei: •
Képes vizsgálni a felhasználók és alkalmazások kapcsolatát, így nyomon követi az illetéktelen hozzáférésre irányuló tevékenységeket a felhasználók részéről.
•
Titkosított környezetben is képesek működni, mivel interfészeik a végpontokon helyezkednek el, ahol az adatok titkosítatlanul jelennek meg a felhasználók számára.
Az alkalmazásalapú IDS-ek hátrányai: •
Sebezhetőbbek, mint a hosztalapúak, mivel az alkalmazás naplófájljai nem olyan védettek, mint az operációs rendszer ellenőrző útvonalai.
13
•
Mivel az alkalmazásalapú IDS leggyakrabban a felhasználó szintjén végzi a megfigyelést, így nem képes észlelni a „trójaikat”, valamint az alkalmazás módosítására irányuló támadásokat. Ezért az alkalmazásalapú IDS-eket célszerű hoszt- vagy hálózatalapú IDS-ekkel együtt használni.
2.4.5.
Hálózatalapú IDS
A legtöbb kereskedelmi IDS hálózatalapú. Ezek az IDS-ek a hálózati csomagok elkapása és elemzése alapján észlelik a támadásokat. Hálózati szegmensekben (vagy switcheken) „hallgatóznak”, így védve az ahhoz a szegmenshez kapcsolódó hosztokat a feléjük irányuló hálózati forgalom monitorozásával. A hálózatalapú IDS-ek legtöbbször a hálózat különböző pontjain elhelyezett szenzorokból állnak. Ezek a szenzorok megfigyelik a hálózati forgalmat, a helyi teljesítmény változását és jelentik a támadásokat a központi irányítás felé. Mivel a szenzorok csak az IDS-hez kapcsolódnak, így sokkal védettebbek a támadásokkal szemben. Sok szenzort úgy terveztek, hogy kívülről „láthatatlan” módban működjön, emiatt még nehezebb a támadók számára megállapítani a jelenlétét és meghatározni a helyét. A hálózatalapú IDS-ek előnyei: •
Néhány jól elhelyezett hálózatalapú IDS képes egy nagyvállalat egész hálózatát megfigyelni.
•
Telepítése minimális hatással van a meglévő hálózatra, ezért utólag is könnyű egy hálózatalapú IDS-t felszerelni. Általában passzív eszközök, melyek egy hálózati kábelen „hallgatóznak” a hálózat működésének megzavarása nélkül.
•
Jól védett a támadásokkal szemben, sőt a legtöbb támadó számára láthatatlanná is tehetjük.
A hálózatalapú IDS-ek hátrányai: •
A hálózatalapú IDS-eknek lehetnek nehézségei a csomagok feldolgozásában egy nagy vagy terhelt hálózaton, így néha nem ismerhetnek fel támadásokat a nagy hálózati forgalmú időszakokban. Egyes gyártók ezt az IDS-ek külön hardverbe építésével próbálják megoldani, ami növeli a sebességet; azonban meg kell találniuk az egyensúlyt a csomagok elemzésének sebessége és hatékonysága között.
•
Ezeknek az IDS-eknek sok előnye nem vonatkozik a modern switch alapú hálózatokra, ugyanis sok kis szegmensre osztják a hálózatot (általában csak egy kábel húzódik egy hoszthoz), és dedikált kapcsolatot létesítenek a hosztok és ugyanazon switch között. A legtöbb switch nem rendelkezik univerzális portokkal, ahol az egyes hosztok megfigyelése lehetséges lenne, ezáltal korlátozva az IDS hálózati lefedettségét. Abban az esetben, ha rendelkezik is a switch ilyen porttal, akkor sem tud biztosan tükrözni minden áthaladó hálózati forgalmat.
14
•
Nem tudja értelmezni a titkosított adatokat. Ez a probléma egyre súlyosabb, ugyanis egyre több intézmény és vállalat használ VPN-t. A legtöbb hálózatalapú IDS nem tudja megállapítani, hogy a támadás sikeres volt-e vagy sem, pusztán a támadás tényét rögzítik. Ez azt jelenti, hogy egy támadás jelzése után a hálózati szakembereknek manuálisan kell megvizsgálni minden, a támadásban érintett hosztot, hogy megállapítsák a támadás kimenetelét.
•
Néhány hálózatalapú IDS problémákba ütközik azoknál a hálózati támadásoknál, melyek a töredezett csomagokat érintik. Ezeknek a hibás csomagoknak a hatására az IDS instabillá válhat és összeomolhat.
2.4.6.
Hibrid rendszerek
A két alkalmazott rendszer ugyan eléggé eltérő, mégis igen jól kiegészítik egymást. A felsorolt előnyök és hátrányok alapján arra a következtetésre juthatunk, hogy a megfelelő védelem érdekében mindkét rendszerre szükség van a hálózatunkban. A hosztalapú IDS-ek a pontosabb elemzést teszik lehetővé, míg a hálózatalapú IDS-ek az egész hálózat felügyeletében nyújtanak segítséget.
2.5.
IDS-ek osztályozása elemzés szerint
2.5.7.
Szignatúraalapú IDS
A szignatúraalapú érzékelők elemzik a rendszertevékenységeket: olyan nyomok vagy események után kutatnak, amelyek illeszkednek egy már ismert támadás előre definiált sablonjára. A legtöbb kereskedelmi IDS ezen alapul, ugyanis minden ismert támadás olyan, mintha egy saját aláírással rendelkezne. A szignatúraalapú felismerésnek létezik egy „kifinomultabb”, állapotalapú verziója is, amely változtatni tud az egyszerű, előre definiált szignatúrán a támadások pontos észleléséhez. A szignatúraalapú IDS előnyei: •
Nagyon hatékonyan ismerik fel a támadásokat nagyszámú, téves riasztások generálása nélkül.
•
Gyorsan és megbízhatóan felismerik a használt támadási eszközöket vagy technikákat, ez segíthet a biztonsági szakembereknek a teendők priorizálásában.
•
Lehetővé teszik a rendszeradminisztrátoroknak, hogy a biztonságtechnikai szakértelmük szintjétől függetlenül nyomon kövessék a rendszerük biztonsági problémáit, és kezeljék az incidenseket.
A szignatúraalapú IDS-ek hátrányai: •
Csak a már ismert támadásokat képesek felismerni, így folyamatosan frissíteni kell az új támadások szignatúrájával.
•
Sok érzékelőt úgy terveztek, hogy pontosan meghatározott szignatúrákat használjon, ezáltal lehetetlenné válik ugyanazon támadások különböző variánsainak felismerése.
15
2.5.8.
Anomáliaalapú IDS
Az anomáliaalapú érzékelők a szokatlan viselkedéseket (anomáliákat) képesek érzékelni a hoszton vagy a hálózaton. Azon a feltételezésen alapulnak, hogy a támadások különbségeket okoznak a rendszerben a normális működéshez képest, és ennek alapján képesek észlelni a támadást. Az anomáliaalapú érzékelők profilokat hoznak létre a felhasználók viselkedése, a hosztok működése és a hálózati kapcsolatok alapján. Ezek a profilok a normál működés alatt összegyűjtött adatokból épülnek fel. Az érzékelők gyűjtik az események adatait, és különböző intézkedésekkel vizsgálják, hogy ezek eltérnek-e a megszokott működéstől.
4. ábra Anomáliadetektációs technikák
Az érzékelők által alkalmazott intézkedések és technikák a következők lehetnek: •
Kimutatási (érzékelési) küszöb: A rendszer és a felhasználó viselkedése néhány meghatározott értékkel van kifejezve mint megengedett szint. Ezek közé tartozik a felhasználó által hozzáférhető vagy használt alkalmazások száma adott időszakban, a rendszerbe történő sikertelen bejelentkezések száma, a CPU használata egy folyamat által stb. A viselkedést kifejező érték lehet statikus és dinamikus, a rendszer használatával változik.
•
Statisztikai intézkedések: Ezen a csoporton belül paraméteres (feltételezzük, hogy pontosan illeszkedik egy adott mintára) és nem paraméteres (a profil az idő során „tanult” értékekből alakult ki) intézkedéseket különböztethetünk meg.
•
Szabályalapú intézkedések: Ezek az intézkedések hasonlítanak a nem paraméteres statisztikai intézkedésekhez, azaz a megfigyelt adatok meghatározzák az elfogadható szokásokat, azonban az eltéréseket a mintában megadott szabályok, nem pedig numerikus értékek szabályozzák.
•
Egyéb intézkedések: Például adatbányászat, algoritmusok és immunrendszer-modellek.
16
neurális
hálózatok,
genetikus
Az anomáliaalapú IDS előnyei: •
Képesek észlelni az új támadásokat is, ellentétben a szignatúraalapú rendszerekkel, amelyek csak a már ismert támadások mintáit tudják felismerni.
•
Az anomáliaérzékelők olyan információkkal szolgálnak, amelyeket a szignatúraalapú érzékelők fel tudnak használni a későbbiekben (pl.: a küszöbalapú anomáliaérzékelő generál egy számjegyet az adott felhasználó által elért fájlokra, és a szignatúraalapú érzékelő ezt egy támadási sablon részeként kezelve, szokatlan szám esetén riasztást ad ki).
Az anomáliaalapú IDS hátrányai: •
A felhasználók és a rendszer kiszámíthatatlan viselkedése miatt nagyszámú téves riasztást generálnak.
•
Gyakran csak hosszabb idő után működnek megbízhatóan, ugyanis meg kell tanulniuk a normálisnak számító viselkedési mintákat. Fontos továbbá, hogy a tanulási idő alatt nem érheti támadás a rendszert, ugyanis ebben az esetben azt is normális viselkedési mintának fogja tekinteni.
2.5.9.
Hibrid rendszerek
A két különböző elven működő rendszer itt is hatékonyan képes kiegészíteni egymást, képesek észrevenni olyan támadásokat, amelyeket a másik figyelmen kívül hagyna. A szignatúraalapú IDS kevesebb téves riasztást generál, azonban az új támadási módszereket csak az anomáliaérzékelőkkel vehetjük észre idejében.
2.6.
A hálózatbiztonsági szakemberek szerepe
Főként a közép- és nagyvállalatok óriási adatforgalmának elemzése miatt már-már feldolgozhatatlan számú riasztás érkezik az IDS/IPS-től, amelyek rendszerint formázatlan log fájlokban tárolódnak a merevlemezen. Ezek átláthatóságának megkönnyítése érdekében több GUI-t (Graphical User Interface) is megalkottak, amelyek megkönnyítik a konfigurálást, statisztikákat készítenek, többféle kategorizálási lehetőséget kínálnak a riasztások megtekintéséhez, és ezek csoportos kezelésére is lehetőséget adnak. A hálózatbiztonsági szakemberek (IT Security Analyst) feladata, hogy ezeket a riasztásokat (lehetőleg prioritási sorrendben) ellenőrizzék, és a szükséges válaszlépéseket megtegyék (pl.: szabályok alkotása/módosítása, téves riasztás megállapítása, további követés beállítása). Egyértelműen megállapítható, hogy a hálózatbiztonsági szakemberek pontos munkája legalább ugyanolyan fontos, mint IDS/IPS rendszerünk naprakészsége és megfelelő beállítása.
17
3. Kriptográfia „Scientia potentia est”, azaz a tudás hatalom, hirdeti a latin mondás. A tudást viszont információkból tudjuk felépíteni. Akinek a birtokában van az információ, az előnyben van másokhoz képest, ezért mindenki arra törekszik, hogy minél gyorsabban, minél több információval rendelkezzen. Ez a folyamat az információszerzés, amelyet a társadalmi fejlődéssel párhuzamosan egyre tudatosabban használ az emberiség. Amikor megjelentek az első államok, akkor a közösség biztonsága azt kívánta meg, hogy szemmel tartsák a szomszédokat, kifürkésszék azok ellenséges szándékait. Így az egyén információszerzése mellett a közösség érdekében végzett hírszerzés és kémkedés is kezdetét vette. Az élet többszereplős játék, amelyben úgy is előnyt szerezhetünk, ha versenytársaink információszerző képességét korlátozzuk, esetleg hamis információkkal megtévesztjük. Az információért folytatott küzdelemben nagyon fontos szerepe van az információ eltitkolásának. Mondhatnánk úgy is, hogy a titkolódzás egyidős az emberiséggel, de ezt a művészetet már az emberiség megjelenése előtt is sikerrel alkalmazta az élővilág. Az evolúció évmilliók óta dolgozik azon, hogy az élőlények rejtőzködési képességét tökéletesítse. A történelem során az ember egyre kifinomultabb technikákat alkalmazott az információk eltitkolására. Ennek egyik eszköze a rejtjelezés. A hírszerzés és a rejtjelezés legfontosabb momentumai könnyebben átláthatók, ha a történelmet korszakokra bontjuk. A felbontáshoz a hírközlő eszközök fejlődésének korszakait vegyük alapul. •
Az első korszak a szóbeli közlések korszaka, amikor közvetlen kommunikációval történt meg az információ átadása.
•
A második korszak az írásbeli közlés időszaka, amikor az írás információhordozóvá vált. Ezzel lehetőség nyílt az üzenetek többlépcsős továbbítására.
•
A harmadik korszak a futárrendszer, amelyet Kínában, Indiában és a görögöknél már az ókorban is alkalmaztak.
•
A negyedik korszak a távírók korszaka, amikor nagy távolságokra lehetett üzeneteket továbbítani különböző fizikai megoldásokkal (füst, fény stb.). Ennek gyökerei egészen az Kr. e. II. századig nyúlnak vissza.
•
A XIX. században kifejlesztett távíró alapozta az ötödik korszakot, az elektronikus hírközlés korszakát.
•
Végül napjaink hírközlési korszakának jellemzője a globális kommunikáció. Mobiltelefonos és műholdas hálózatok, valamint a számítógép-hálózatokra épülő internet jelenti a hírközlés alapvető eszközét.
Jelen fejezet célja a titkosítási rendszerek fejlődésének és működésének áttekintése.
18
3.1.
Fogalmak
A kriptológia az adatok (kommunikációban vagy tárolásban) történő védelmének és felfedésének tudománya , amelyrészből áll: •
kriptográfia: magyarul rejtjelzés, az adatok (bizalmassága, sértetlensége és hitelessége) védelmének tudománya.
•
kriptoanalízis: a védelem feltörésének (megfejtésének) tudománya.
3.1.1.
Kriptográfia
A kriptográfia görög eredetű szó, az eltitkolni (kryptós) és az írás (gráphein) szavakból származik és titkosírást jelent. A modern kriptográfiai rendszerek az algoritmikus védelmi megoldások családjába tartoznak, így a biztonság hasonló elnevezésű pillérét erősítik.
5. ábra Kriptográfia a védelmi modellben
„A kriptográfia (ógörög eredetű kif., κρυπτός (kryptós) = „rejtett”, γράφειν (gráphein) = „írni”, tehát „titkosírás”) egy mára önállóvá vált, erősen matematikai jelleget kapott, interdiszciplináris jellegű, de elsősorban informatikai tudományág, amely a rejtjelezéssel, titkosírásokkal, kódolással; azok előállításával és megfejtésével foglalkozik. Bizonyos okok miatt azonban azt is mondhatjuk, hogy a kriptográfia a matematika része; utóbbi tudományon belül a számelmélet, algebra, számításelmélet és valószínűség számítás határterületeként sorolható be. Eredetileg, a XIX. sz. előtt a nyelvtudomány részének tartották.”6 Tekintsük át a fenti fogalmakat a kriptográfia szemszögéből: •
Bizalmasság A küldő az üzenetet titkosítja, majd a titkosított üzenetet küldi el a címzettnek. Eközben feltételezhető, hogy támadók szerzik meg a titkosított üzenetet, de azok nem férnek hozzá az üzenet tartalmához, hiszen nem tudják megfejteni azt. Kizárólag
6
Forrás: Wikipédia (https://hu.wikipedia.org/wiki/Kriptográfia)
19
a címzett képes visszafejteni a titkos üzenetből az eredeti üzenetet. Ilyen módon biztosítható az elküldött üzenet bizalmassága. Erre a célra rejtjelező és rejtjelfejtő algoritmusokat használunk. •
Sértetlenség Ebben az esetben azt kell biztosítani, hogy a küldő által elküldött üzenet módosítások nélkül érkezzen meg a címzetthez, illetve ha módosítás történt az üzenetben, akkor a címzett azt képes legyen felismerni. Erre a célra többnyire hash algoritmusokat használunk, amelyek egy kivonatot készítenek az üzenetből (message digest).
•
Hitelesség A hitelesség biztosításánál azt kell garantálni, hogy a felhasználó valóban az-e, akinek mondja magát. Erre a kriptográfiában a digitális aláírások használhatók.
•
Letagadhatatlanság A letagadhatatlanság azt biztosítja, hogy az üzenet előállítója és küldője később ne tudja letagadni az üzenet létrehozásának és elküldésének tényét. Ennek biztosítására szintén a digitális aláírás használható.
3.1.2.
Jelölésrendszer
A kriptográfiai rendszer technikai megvalósítása különböző matematikai algoritmusok segítségével történik. Az algoritmusok könnyebb leírása érdekében formális jelölésrendszert vezetünk be. Az itt bemutatott jelölésrendszer megfelel a nemzetközi kriptográfiai konvencióknak. •
Nyílt szöveg (plaintext): P Maga a titkosítatlan információ, amely csak az arra jogosult felhasználó számára érhető el.
•
Titkos szöveg (ciphertext): C A nyílt szöveg titkosított formája, amely ebben a formájában értelmezhetetlen.
•
Kulcs (key): K Olyan információ, amelynek segítségével a kriptográfiai műveletek elvégezhetők.
•
Rejtjelező vagy kódoló algoritmus (encryption algorithm): E Olyan matematikai eljárás (algoritmus), felhasználásával titkos szöveget állít elő.
•
amely
a nyílt
szövegből a kulcs
Rejtjelfejtő vagy dekódoló algoritmus (decryption algorithm): D Olyan matematikai eljárás (algoritmus), amely a titkos szövegből a kulcs segítségével nyílt szöveget állít elő.
20
3.2.
Klasszikus titkosítási rendszerek
3.2.3.
Ókori görög megoldások
Az ókori görögöknél (Kr. e. III. század) a hírszerzés és titkosítás mindenféle megoldásával találkozhatunk, amelyek abban a korban nagyon hasznosnak bizonyultak. A hírek továbbításához számtalan fortélyt alkalmaztak annak érdekében, hogy az információ ne kerüljön jogosulatlanok birtokába. Voltak, akik fülbevaló helyett henger alakúra formált ólomlapocskákon rejtették el az üzeneteteket, és voltak olyanok is, akik sebeikre erősített falevelekre írták a titkokat. [21] Talán az egyik leghíresebb, és a modern kriptográfiai könyvekben szinte kivétel nélkül megemlített titkosítási megoldás a szkütálé, amelyet a spártaiak vezettek be. Ez volt a világtörténelem első katonai rejtjelkulcsa. Egy lapos tekercs tartalmazta a titkos üzenetet, amely csak úgy vált olvashatóvá, ha a tekercset egy megfelelően vastag pálcára feltekerték. Lüszandrosz7 is ezt használta a titkos üzenetekhez.
6. ábra Szkütálé (forrás: American Cryptogram Association)
A megfejtés kulcsa a pálca vastagságának ismerete volt (ennek az információnak a címzett birtokában kellett lennie). Látható, hogy már az ókorban is kulcsokat használtak a titkosított üzenet előállítására és visszafejtésére. Aineiasz Kr. e. 360 körül azt írja, hogy „különböző módozatok léteznek, csak az szükséges, hogy azok küldője és kézhez kapója előbb egyeztessenek”. A kulcsok cseréjére különböző módszereket is javasolt. [22] A szkütálé megfelel a modern szimmetrikus kulcsú titkosítási rendszerek ősének, amikor is ugyanazt a kulcsot alkalmazza a küldő és a fogadó is. Akkor is és ma is megoldást kell keresni a kulcsok biztonságos eljuttatására. A harmadik hírközlési korszakban ezt futárokkal oldották meg, manapság pedig bonyolult kulcscsere-protokollok8 végzik ezt a feladatot. Az elvek ugyanazok, csak az eszközök változtak.
3.2.4.
Caesar-titkosító
Julius Caesar (Kr. e. 100–Kr. e. 44) nevéről mindenkinek eszébe jut a kiváló hadvezér és halálának misztikus körülményei. Olyan emberről van szó, akinek a neve minden, rejtjelezéssel foglalkozó könyv történeti áttekintésében megtalálható.
7
Lüszandrosz spártai hadvezér, Kr. e. 395-ben halt meg.
8
Például Diffie–Hellmann kulcscsere-protokoll.
21
Julius Caesar a galliai háború során idegen területeken vezette seregeit, ezért információkat kellett gyűjtenie a sikeres döntések meghozatalához. Ezt a hírszerzés és a kémek szolgáltatták neki. Nem elhanyagolható az sem, hogy saját üzeneteit, parancsait rejtett formában juttatta el embereihez, így ha a futárokat el is fogta az ellenség, akkor sem juthatott értékes információk birtokába. Caesar már megkülönböztette a kémeket a hírszerzőktől. A hírszerzők csoportosan dolgoztak, míg a kémek szigorúan titkosan, önállóan végezték feladatukat. A hivatásos hírszerző és kémszolgálat kiépítése mellett felismerte a titkos üzenetek célba juttatásának veszélyeit, gyengeségeit és kifejlesztett egy rejtjelezési megoldást, amely a mai napig az ő nevét viseli. Ez a Caesar-titkosítás, amelyet az alábbi ábra szemléltet.
7. ábra Caesar-titkosító (forrás: http://people.inf.elte.hu/pibuaai/)
Caesar, „ha titkos dolgot közölt, kulcsírást alkalmazott, vagyis úgy állította össze a betűk sorrendjét, hogy abból valóságos szó nem alakult. Ha valaki ezt az írást meg akarja fejteni, az ABC negyedik betűjét, tehát a D betűt helyezze az A helyére, hasonlóképpen kell a többi betűt is felcserélni.”9 A mai kor színvonalán ez a rejtjelezés már nem jelent védelmet titkos üzeneteinknek, de kiindulási alapként felhasználható a komplexebb rejtjelezők összeállításához, illetve a kriptográfia oktatásának bevezető példájaként alkalmazható. Egy konkrét példát tekintve nézzük meg a „user” üzenet titkosítását: •
a nyílt üzenet
P = user
•
a kulcs
K = 7
•
keressük a titkos üzenetet
C = ?
8. ábra Caesar-titkosító a gyakorlatban (forrás: saját szerkesztés)
Az ábráról könnyedén leolvasható az eredmény, amely szerint C = bzly 9
Gaius Suetonius Tranquillus – A császárok élete, Magyar Helikon, 1975.
22
A Caesar-titkosító formálisan az alábbiak szerint írható le: •
P = C = K = {0, 1, 2 … 25)
•
Rejtjelezés: C = E(P, K1) = P + K1 mod 26
•
Rejtjelfejtés: P = D(C, K2) = C + K2 mod 26, ahol K2 = 26 – K1 mod 26
Látható, hogy a rendszer gyengeségét a nagyon kicsi kulcstér jelenti, ugyanis csak 26 különböző kulcskombináció lehetséges (ez az angol ábécé betűinek a száma).
3.2.5.
Helyettesítéses titkosító
A Caesar-titkosító kiegészítve azzal a felismeréssel, hogy egy betűt tetszőleges másik betűvel helyettesítünk, azaz formálisan: •
P=C
•
K = {π | π a P halmaz egy permutációja}
•
C = E(P, π) = π(P)
•
P = D(C, π-1) = π-1(C)
Ebben az esetben már elegendően nagy a kulcstér (26!), azonban továbbra is könnyűszerrel feltörhető a rendszer, hiszen ha a szöveg titkosításánál ugyanazt a betűt mindig ugyanazzal a betűvel helyettesítjük, akkor a nyelv sajátosságait ki lehet használni. Azt használjuk ki, hogy az egyes betűk nem egyforma gyakorisággal fordulnak elő. Az is kihasználható, hogy a betűkettősökre és betűhármasokra vonatkozólag is speciális sajátosságok jellemzőek.
9. ábra Betűk előfordulási gyakorisága a magyar nyelvben (forrás: Wikipédia)
3.2.6.
Mechanikus titkosítók
Az I. világháború végén már az 5. generációs – elektronikus – hírközlő rendszerek világát értjük, amikor Arthur Scherbius (1878–1929) német mérnök kifejleszti Enigma névre
23
keresztelt rejtjelező gépét. A titkosítást úgy oldották meg, hogy a billentyűzet egy gombjának lenyomása a tárcsasoron egy olyan áramkört zárt, amelynek árama meggyújtott egy jelzőlámpát, ami a rejtjelbetűt jelezte. A gépi úton rejtjelezett szöveg továbbítása rádión valósult meg. A vevő oldalon a titkosított szöveg dekódolása szintén Enigmával történt. Scherbius találmányát a német hadsereg átvette és a II. világháborúban is alkalmazták. Az Enigmát feltörhetetlennek tartották.
10. ábra Enigma H (forrás: www.cryptomuseum.com)
A gép működési elvének megfejtésével angol, francia és lengyel titkosszolgálatok is próbálkozott, de elsőnek a lengyel kódfejtőkből álló csapatnak (Marian Rejewski, Jerzy Różycki és Henryk Zygalski) sikerült. A sikerhez hozzájárult, hogy a franciáknak 1931-ben sikerült megszerezni a németektől az Enigma tervrajzát, amelyet nem tudtak felhasználni, és ezért az ezzel foglalkozó szövetségeseknek, köztük a lengyeleknek is átadtak. Rejewski kitalálta a hadsereg által használt huzalozási sorrendet, az akkor használt három tárcsa és a fordító huzalozását. A lengyel matematikusok a németek egy eljárási hibáját kihasználva, az erre a célra épített gépeikkel, az úgynevezett a „bombával” (később lengyel bomba) és más segédeszközökkel konkrét kulcsokat is megtaláltak. 1939 júliusában a lengyelek még hazájuk lerohanása előtt az összes tudásukat átadták szövetségeseiknek. Amikor az angol és francia kódtörőknek bemutatták gépeiket és elmagyarázták módszereiket a vezető brit rejtjelfejtő Dilly Knox első kérdése az volt: „What’s the QWERTZU?” (Értsd: mi a belépő henger huzalozási sorrendje?), amire a lengyel válasz „ABCDEFG…” megdöbbentő volt az angoloknak. A lengyelek eredményei alapján a későbbiekben a Bletchley Parkban állomásozó szövetséges csoport folytatta a munkát. Sziszifuszi munkával, több mint tízezer ember dekódolta folyamatosan a rejtjeleket kezdetben a lengyel, majd az úgynevezett Turingbomba segítségével. A Turing-bomba a lengyel „bomba” továbbfejlesztése, egy elektromechanikus számítógép. Egy Turing-bomba kb. hat óra óra alatt végzett a ma csak „brut force”-ként emlegett módon az összes. lehetőséggel. Az Eniga fejtésére hozták létre a világ első teljesen elektronikus számítógépét a Colossust 1943-ban. A Colossus a Turing-bomba hatórás munkáját kevesebb, mint egy perc alatt végezte el. A háburú végéig 10 darab készült. Churchill parancsár a gépeket, terveiket és
24
dokumentációt a háború után megsemmisítették. A Colossus titkosságát a brit kormány csak 2000 szeptemberében oldotta fel. A kriptográfusok által elért eredmény jelentőségét mutatja Winston Churchill kijelentése: „Nos, hála a minden fronton használt titkos fegyvernek, megnyertük a háborút…”
3.3.
A rejtjelezés alapmodell
A titkosítási rendszerek mindegyike levezethető az alapmodellből, amelynek ismertetése ebben a fejezetben történik meg. A modell két távoli fél kommunikációját modellezi. A bal oldali fél egy üzenetet szeretne eljuttatni a jobb oldali címzettnek. A kommunikáló felek úgynevezett védett közegben ténykednek, ami azt jelenti, hogy védettek a támadásokkal szemben. A védett közegben az információ nyílt formában van jelen, hiszen műveletet végezni csak így tudunk. A kommunikációs csatornáról viszont azt feltételezzük, hogy bárki számára (a támadó számára is) hozzáférhető és a rajta keresztülfolyó forgalom lehallgatható. Követve a kriptográfiában hosszú idők óta alkalmazott elnevezéseket, a kommunikációs partnereket Alice (A) és Bob (B) néven illetjük.
11. ábra Kommunikációs partnerek
A küldő állomáson a nyílt szöveget titkosítani kell. Ehhez a titkosítási algoritmusra és annak működését befolyásoló kulcsra van szükség. A titkosítás formálisan: C = EK(P) vagy C = E(P, K) A titkos üzenetet (C) ezután eljuttatjuk a csatornán a címzettig. Ha ezt az üzenetet megszerzi a támadó, akkor nem történik probléma, hiszen ebben a formában értelmezhetetlen az üzenet, azt csak a dekódoló algoritmus és a kulcs ismeretében lehet visszafejteni és értelmezni.
25
12. ábra Titkosítási modell
A fogadó állomás a titkos üzenetből a dekódoló algoritmus és a kulcs segítségével képes visszafejteni a nyílt üzenetet. A rejtjelfejtés formálisan: P = DK (C) vagy P = D(C, K) Első ránézésre egyszerűnek tűnhet a rendszer, azonban bonyolultsága a részletekben rejlik. Nyilatkoznunk kell a rejtjelező és rejtjelfejtő algoritmusok működéséről és nem feledkezhetünk meg a kulcsok vizsgálatáról sem.
3.3.7.
Titkosítási rendszerek típusai
Az alapmodellben láttuk, hogy a titkosításhoz és a dekódoláshoz is felhasználtunk egy-egy kulcsot. A titkosítási rendszerek közötti legfontosabb különbség e kulcsok viszonyában rejlik: • Szimmetrikus kulcsú rendszer A szimmetrikus titkosítási rendszerben a kódoló algoritmusnál alkalmazott kulcsból (K1) meghatározható a dekódoló algoritmusnál alkalmazott kulcs (K2). Speciális esetben a kódoló kulcs akár meg is egyezhet a dekódoló kulccsal (K1 = K2). • Aszimmetrikus kulcsú rendszer Az előzővel ellentétben az aszimmetrikus rendszerek jellemzője, hogy a kódoló és dekódoló kulcs nem számítható ki egymásból (pontosabban fogalmazva, nagyon nehéz feladatot jelent a kiszámítása). A kódolás fajtája alapján is különbséget tudunk tenni a kriptográfiai rendszerek között: • Folyamkódolók (stream cipher) Az üzenetet folytonosan kódoljuk és dekódoljuk. • Blokkódolók (block cipher)
26
Az üzenetet előre meghatározott darabokra (blokkokra) bontjuk és különálló blokkonként kódoljuk. A vevő oldalon blokkonként dekódolunk, majd az üzenet darabjait összeillesztve megkapjuk az eredeti nyílt szöveget.
3.3.8.
Támadások
A titkosítási rendszert kétféle módon érheti támadás. A passzív támadás során a támadó a kommunikációs csatorna lehallgatásával megszerzi a titkosított üzeneteket és abból próbálja kinyerni az információkat. Aktív támadás során a titkos üzeneteknek vagy azok egy részének törlése, kicserélése, módosítása történik, amelynek célja a visszafejtett üzenetnek a támadó számára kedvező, észrevétlen módosítása. Az aktív támadások körébe tartozik az is, ha a támadó megpróbálja megszemélyesíteni valamelyik kommunikáló felet. Bármilyen támadásról legyen szó, a támadó lehetőségeit alapvetően meghatározza, hogy mennyi információval rendelkezik a támadás végrehajtásához. Ennek megfelelően az alábbi támadási módszereket különböztethetjük meg: • Rejtett szövegű támadás (Ciphertext Only Attack) A támadáshoz csak a titkosított üzenetek állnak rendelkezésre. Ebben az esetben rendelkezik a legkevesebb információval a támadó (csak a kódoló kimenetét ismeri), így a támadás sikere is itt a legkisebb. • Ismert nyílt szövegű támadás (Known Plaintext Attack) A támadónak rendelkezésére állnak nyílt és titkosított üzenetpárok, így a lehetőségei megsokszorozódtak, hiszen a kódoló bemenetét és kimenetét is ismeri. • Választott szövegű támadás (Chosen Text Attack) A támadó maga választja meg a nyílt szöveget, amelynek a kimenetét látni szeretné. Ez a legtöbb információ, ami rendelkezésre állhat a támadónak. [13]
3.3.9.
Elvek
August Kerchoff már 1883-ban rögzítette azt a nagyon fontos elvet, amely a mai napig meghatározza a kriptográfiai rendszerek tervezését és működését. Tiszteletére ezt az elvet Kerchoff-elvnek nevezzük. [23] A szabály kimondja, hogy a kriptográfiai rendszer egy részének a kompromittálódása (kitudódása) nem okozhatja a rendszer egészének kompromittálódását. Ez a gyakorlatban azt jelenti, hogy a rejtjelező algoritmusok működését felesleges titokban taratani, mert az amúgy is kitudódik. Helyette egyetlen építőelem titkosságát kell garantálni, és ez nem más, mint a kulcs. Egyetlen mondatban megfogalmazva azt mondhatjuk, hogy a rendszer biztonsága a kulcs biztonságától függ.
27
Az algoritmus titkosságára azért nem szabad építeni, mert • tömeges méretű alkalmazásoknál nem lehet titokban tartani az algoritmust (amit két ember tud, azt már mindenki tudja); • az algoritmus az implementációkból visszafejthető; • egy nyilvános, tesztelt algoritmusban nagyobb bizalmuk van a felhasználóknak, mint egy olyan algoritmusban, amelyről nem lehet tudni, hogyan működik. A Kerchoff-elvek után fontos megemlítenünk, hogy az algoritmikus biztonság kétféle lehet: •
Feltétlen biztonság (unconditional security) Függetlenül a rendelkezésre álló titkos szöveg mennyiségétől, időtől és számítási kapacitástól, a titkosítás nem törhető fel, mert a titkosított szöveg a kulcs ismerete nélkül nem hordoz elég információt a nyílt szöveg rekonstruálásához.
•
Kalkulációs biztonság (calculational security) Adott korlátos számítási kapacitás mellett (pl.: a szükséges idő több mint az univerzum életkora) a titkosítás nem törhető fel a ma ismert(!) algoritmusokkal. Az ilyen rendszerek kimerítő kereséses támadással (bruteforce) mindig feltörhetők.
3.3.10. One Time Pad (OTP) Feltétlen biztonság megvalósítására jelenlegi ismeretink szerint csak az OTP (One Time Pad) képes, amelyben a teljesen véletlenszerű kulcs hossza megegyezik az üzenet hosszával.10 Az OTP kizáró vagy műveletet (XOR) hajt végre a titkosítandó szöveg és a kulcs megfelelő bitjei között az alábbi kombináció szerint: •
0-0
0
•
0-1
1
•
1-0
1
•
1-1
1
Az alábbi ábra egy példán keresztül szemlélteti az OTP titkosítási rendszer működését.
10
Ha a kulcs nem teljesen véletlenszerű vagy a hossza rövidebb az üzenet hosszánál, akkor az OTP nem
tekinthető teljesen biztonságosnak,
28
13. ábra OTP (One Time Pad) példa
3.3.11. Kriptográfiai rendszer Egy kriptográfiai rendszer különböző alapelemek összekapcsolásával építhető fel. Az építőelemek legkisebb egységei a kriptográfiai primitívek, amelyek kódoló és dekódoló algoritmusokat, valamint kriptográfiai hash függvényeket jelentenek (pl.: RSA algoritmus). A kriptográfiai primitívekből protokollokat építhetünk, amelyek más protokollokkal együttműködve biztonságos kommunikációt tesznek lehetővé (pl.: SSL protokoll). A kriptográfiai protokollok a legkülönfélébb alkalmazásokba beépítve biztonságos alkalmazásokat hoznak létre, amelyek részben vagy egészben megfelelnek a bizalmasság, sértetlenség, hitelesség és letagadhatatlanság feltételének (pl.: biztonságos böngészés). A következő fejezetekben ezeket az építőelemeket vizsgáljuk részletesebben.
3.4.
Hash függvények
A hash függvények (magyar fordításban hasító függvények, de ez a kifejezés kevésbé használt) olyan függvények, amelyek egy tetszőleges hosszúságú üzenetből rögzített hosszúságú un. lenyomatot állítanak elő, a így előállított lenyomatból az eredeti üzenet csak valamennyi lehetséges esetet (tipikusan több mint 2100) megvizsgálva állítható vissza és nem állítható elő olyan, az eredeti üzenettel azonosságokat mutató másik üzenet, amelynek lenyomata azonos az eredeti üzenetével. Igen széles körben alkalmazzák őket és speciális feltételek mellett a kriptográfiai rendszerek építőkövei is egyben. Működésüket az alábbi ábra szemlélteti.
29
14. ábra Hash függvény
A hash függvény bemenetére érkező bitsorozatot ősképnek (preimage) nevezzük, a kimenetét pedig lenyomatnak (digest). Működését tekintve a hash függvény egy szegmentáló algoritmust és egy kompressziós függvényt tartalmaz. Előbbi a függvény hash bemenetére érkező bitsorozatot rögzített hosszúságú blokkokra vágja és szükség esetén a csonka blokkokat feltölti bitekkel. A kompressziós függvény blokkonként matematikai műveletet végez a biteken, majd a blokkonkénti eredményeket kombinálva előállítja a lenyomatot.
15. ábra Hash függvény működése (forrás: [4])
A formális definíció szerint a H hash függvény tetszőleges hosszúságú őstérképbeli bináris sorozatot, rögzített n hosszúságú bináris sorozatba képez le, azaz H:{0,1}* {0,1}n
3.4.12. Követelmények Ahhoz, hogy a hash függvényeket kriptográfiai célra használhassuk, meg kell felelniük bizonyos követelményeknek.
30
Őskép-ellenállóság Az őskép-ellenálló (preimage resistance) tulajdonság egyirányú hash függvényt kíván meg. Ez azt jelenti, hogy a lenyomat kiszámítása lenyomat = H(M) könnyű feladat, míg a lenyomatból az eredeti üzenetre következtetni nehéz feladat. Fontos hangsúlyozni, hogy a lenyomatból még annak készítője sem képes visszafejteni az eredeti üzenetet (ősképet). Lássuk be, hogy ennek a feltételnek nem minden hash függvény felel meg, ezért kijelenthetjük, hogy a hash függvényeknek csak egy részhalmaza őskép-ellenálló. Ütközés-ellenállóság A ütközés-ellenállóság (collision resistance) azt jelenti, hogy az M üzenethez nehéz előállítani olyan M’ üzenetet, amelynek azonos lenne a lenyomata H(M) = H(M’). Ezt a tulajdonságot nevezik még második őskép-ellenállóságnak is vagy gyengén ütközésellenállónak. A „valódi” ütközés-ellenállóság azt jelenti, hogy nehéz olyam M, M’ ősképpárt találni, amelyeknek azonos lenne a lenyomata H(M) = H(M’). Kriptográfiai célokra csak azok a hash függvények használhatók, amelyek kielégítik az őskép-ellenállóság és ütközés-ellenállóság követelményét.
3.4.13. Üzenethitelesítés A hash függvények a biztonságtechnikában jól használhatók jelszavak titkosítására (lásd AAA fejezet), de üzenethitelesítésre (message authentication) is remekül alkalmazhatók. Az alábbi ábra az üzenethitelesítésben való alkalmazásukat mutatja.
16. ábra Üzenethitelesítés hash függvényekkel (forrás: [4])
3.4.14. Hash-példák MD5 (Message Digest 5) Minden idők legnépszerűbb hash függvényét 1991-ben alkotta meg Riverst. Tetszőleges hosszúságú üzenetekből 128 bites lenyomatokat képez. Kompressziós függvénye 512 bites blokkokkal dolgozik. Korábban kriptográfiai primitívként is használták, de miután kiderült róla,
31
hogy nem rendelkezik az ütközés-ellenálló tulajdonsággal, ilyen célokra nem alkalmazható szabványosan (2005).
17. ábra MD5 példa
SHA (Secure Hash Algorithm) Szintén óriási népszerűségnek örvend a NIST (National Institute of Standards and Technology) által megalkotott SHA algoritmuscsalád. A család első képviselője az SHA–1 algoritmus tetszőleges hosszú üzenetekből 160 bites lenyomatokat képez. Kompressziós függvénye 512 bites blokkokkal dolgozik. Használata 2010 óta kriptográfiai célokra nem javasolt. Az SHA–1 továbbfejlesztéseként jött létre az SHA–2 sorozat, amelynek tagjai az SHA–256, SHA–384, SHA–512. A névben szereplő szám a lenyomat bithosszúságára utal. Mindhárom megoldás 1024 bites blokkokkal dolgozik.
3.5.
Szimmetrikus titkosítási rendszerek
A szimmetrikus kulcsú titkosítási rendszereknek többféle elnevezése van. Az alábbi esetekben ugyanarról a kriptográfiai rendszerről van szó: •
szimmetrikus (symmetric),
•
szimmetrikus kulcsú (symmetric-key),
•
titkos kulcsú (secret-key),
•
egykulcsos (single-key),
•
hagyományos (conventional).
A rendszer legfontosabb jellemzője az, hogy a kódoló kulcsból kiszámítható a dekódoló kulcs. Az 1970-es évekig csak ilyen elven működtek a titkosítási rendszerek. A kommunikációs partnerek rendelkeznek egy közös titokkal (ez a kulcs), amelyet nem adhatnak ki harmadik félnek.
32
18. ábra Szimmetrikus kulcsú titkosítás
A rendszer előnyös tulajdonsága, hogy gyors kódolást és dekódolást tesz lehetővé. Hátránya a kulcscserében rejlik, ugyanis a kommunikációs partnereknek meg kell egyezniük egy közös titokban (a kulcsban) még a titkosítás előtt. Ha távoli felek közötti kommunikációról van szó, akkor egy nem biztonságos csatornán kell mindezt megtenni. Természetesen léteznek erre kifejlesztett kulcscsere-protokollok, de ezek további algoritmusokat igényelnek majd.
3.5.15. Példák Az idők során rengeteg szimmetrikus rejtjelezőt fejlesztettek ki. Ezek közül a leggyakoribbak a kódoló típusa szerinti csoportosításban az alábbiak: •
Blokkrejtjelezők/blokk-kódolók o DES (Data Encryption Standard) o TDES (Triple DES) avagy 3DES o AES (Advanced Encryption Standard) o IDEA (International Data Encryption Algorithm) o Blowfish o Serpent o Twofish
•
Folyamkódolók o RC4 (Rivers Cipher 4) o Spritz o West o Snow
33
3.6.
Aszimmetrikus titkosítási rendszerek
Az aszimmetrikus kulcsú titkosítási rendszereknek többféle elnevezése van. Az alábbi esetekben ugyanarról a kriptográfiai rendszerről van szó: •
aszimmetrikus (asymmetric),
•
aszimmetrikus kulcsú (asymmetric-key),
•
nyilvános kulcsú (public-key),
•
kétkulcsos (two-key),
•
nem konvencionális (non-conventional).
Az aszimmetrikus kulcsú titkosítási rendszer arról kapta a nevét, hogy a kódoló és dekódoló oldalon különböző kulcsokat használ. Itt nincsen lehetőség az egyik kulcsból meghatározni a másikat. A két kulcsot nevükben is megkülönböztetjük egymástól. Az egyik kulcsot titkos (privát) kulcsnak nevezzük és legfontosabb jellemzője, hogy titokban kell tartani. Ezt a kulcsot csak a tulajdonosa ismerheti. Jelölése: Kpriv. A másik kulcs a nyilvános (publikus) kulcs és amint a neve is utal rá, ezt nyilvánosságra hozhatjuk, bárkinek (akár a támadónak is) odaadhatjuk. Jelölése: Kpub. A két kulcs szoros kapcsolatban áll egymással, generálásuk együtt történik. A privát kulcsnak megvan a saját publikus kulcspárja, és ez fordítva is igaz. Ezért a két kulcsra kulcspárként tekintünk.
19. ábra Aszimmetrikus kulcsú rendszer
34
A kriptográfiai rendszer minden szereplője rendelkezik egy kulcspárral. A privát kulcsot mindenki titokban tartja, a publikus kulcsot pedig feltöltik egy publikus kulcstárba, ahol mindenki elérheti. A titkosítás folyamatát az Alice (A) és Bob (B) közötti kommunikáción keresztül mutatjuk be. Tegyük fel, hogy Bob a P üzenetet akarja eljuttatni Alice-hoz. Az alábbi lépések történnek: 1. Alice legenerálja a saját kulcspárját: KApub, KApriv. A privát kulcsot titokban tartja, a publikus kulcsot feltölti a publikus kulcstárba. 2. Bob legenerálja a saját kulcspárját: KBpub, KBpriv. A privát kulcsot titokban tartja, a publikus kulcsot feltölti a publikus kulcstárba. 3. Bob letölti a publikus kulcstárból Alice publikus kulcsát és annak segítségével titkosítja az üzenetet. C = E(P, KApub). A titkosított üzenetet elküldi Bobnak. 4. Alice megkapja a C üzenetet, amelyet saját privát kulcsával dekódolni tud: P = D(C, KApriv) A titkosítási rendszer lényege az, hogy a privát kulccsal kódolt üzenetet csak annak publikus párjával lehet visszafejteni. Lássuk be, hogy ha a fenti példában a támadó megszerzi a C üzenetet, akkor nem tudja megfejteni, hiszen a megfejtéshez Alice privát kulcsára lenne szüksége (az pedig csak Alice tulajdonában van). A szimmetrikus rendszerekhez képest szembetűnő az az előnyös tulajdonság, hogy itt nincs szükség kulcscserére. Hátránya sajnos ennek a megoldásnak is van. Ez a rendszer sokkal lassúbb szimmetrikus társainál.
3.6.16. Példák Az 1970-es évek után Riverst ötletéből kiindulva többféle aszimmetrikus rejtjelezőt fejlesztettek ki. Ezek közül a legismertebbek: •
ElGamal (alapja a Diffie-Hellman),
•
DSS (Digital Signature Standard),
•
ECC (Elliptic Curve Cryptography),
•
RSA.
3.6.17. RSA A modern kriptográfiát – és napjaink kommunikációs rendszereinek biztonságát – 1977-ben három nagyszerű tudós alapozta meg. Név szerint Ron Riverst, Adi Shamir és Len Adleman az MIT kutatóiként kifejlesztették a róluk elnevezett RSA algoritmust.
35
20. ábra Riverst, Shamir és Adleman (forrás: Wikipédia)
Kutatásaik során egy merőben új titkosítási rendszert alkottak meg, amely a nagy számok faktorizációs nehézségeire épít. Az RSA a kulcsgenerálás, kódolás és dekódolás részekből áll. Kulcsgenerálás 1. Első lépésben válasszunk két kellően nagy prím számot (p és q) 2. Számoljuk ki a modulust: N = p*q 3. Határozzuk meg az Euler-függvényt: φ(N) = (p-1)*(q-1) 4. Válasszuk meg e-t, amely relatív prím φ(N)-hez 5. Határozzuk meg a d összetevőt, amely e multiplikatív inverze: d*e ≡ 1 (mod φ(N)) azaz d*e mod φ(N) =1 A publikus kulcs: Kpub=[e, N] A privát kulcs: Kpriv=[d,N] Az e és az N nyilvánosságra hozható, minden mást titokban kell tartani! Kódolás A kódolás egy roppant egyszerű matematikai művelettel, a hatványozással elvégezhető az alábbiak szerint: C = Pe (mod N) Dekódolás A dekódolásra ugyanazt a matematikai műveletet használjuk, mint a kódolásra, csak más paraméterezéssel: P = Cd (mod N) Az RSA további nagyszerű tulajdonsága, hogy mindkét kulcs használható kódolásra és dekódolásra is.
36
3.6.18. Digitális aláírás Az előző fejezetekben láthattuk, hogy a többféle algoritmus alkalmas titkosításra és ezáltal képes eleget tenni a bizalmassággal kapcsolatos elvárásainknak. Eddig azonban nem láttunk olyan megoldást, amely az üzenetek integritását, hitelességét és letagadhatatlanságát szavatolná. Ha a fenti elvárásoknak megfelelő rendszert keresünk, akkor érdemes még egyszer körbenézni az aszimmetrikus kulcsú titkosítási rendszerben.
21. ábra Hitelesség az aszimmetrikus rendszerben
Most egy olyan rendszerre van szükségünk, amely képes szavatolni az üzenet küldőjének személyét, illetve az üzenet letagadhatatlanságát. Ehhez egy olyan objektumra lesz szükség, ami egyértelműen csak a feladóhoz köthető. Ez nem más, mint a privát kulcs. Ha a P üzenetet a feladó privát kulcsával titkosítjuk, akkor biztosak lehetünk abban, hogy az üzenetet csakis a privát kulcs tulajdonosa készíthette. A fenti ábrán kövessük nyomon Bob üzenetét, amelyet Alice-nak küld el. •
Bob és Alice legenerálják a kulcspárjaikat, majd a publikus kulcsokat feltöltik a kulcstárba.
•
Bob a P üzenetet a saját privát kulcsával titkosítja: C = E(P, KBpriv).
•
Alice a C üzenetből Bob publikus kulcsával tudja visszafejteni a nyílt szöveget: P = D(C, KBpub).
Lássuk be, hogy az üzenet bizalmassága ezzel a módszerrel nem garantálható, hiszen a támadó is rendelkezhet a C üzenet megfejtéséhez szükséges KBpub kulccsal. Az üzenet hitelessége viszont garantált, hiszen a C üzenetet Bobon kívül senki más nem tudja előállítani.
37
Amennyiben az üzenetet (pontosabban annak hash lenyomatát) a küldő privát kulcsával titkosítjuk, akkor digitális aláírást készítettünk. A digitális aláírás szavatolja az üzenet integritását és letagadhatatlanságát, valamint a készítő hitelességét. A digitális aláírást az üzenethez hozzáfűzve küldjük el a címzettnek. A digitális aláírás készítésének és ellenőrzésének folyamatát az alábbi ábrák szemléltetik.
22. ábra Digitális aláírás készítése
23. ábra Digitális aláírás ellenőrzése
Természetesen annak sincsen akadálya, hogy a titkosítási rendszert kombináljuk a digitális aláírással. Ezáltal olyan megoldás születik, amely a bizalmasság, integritás, hitelesség és letagadhatatlanság elvárásokat egyaránt kielégíti.
38
3.7.
PKI infrastruktúra
A PKI (Public Key Infrastructure) a publikus kulcs infrastruktúra rövidítése. Ez egy integrált rendszer, amelyben a nyilvános kulcsú kriptográfiai elemek a gyakorlatban is képesek megvalósítani a bizalmasság, integritás, hitelesség és letagadhatatlanság tulajdonságokat. A rendszer összetevői a kulcsok, a kulcstár, az aszimmetrikus algoritmusok, kriptográfiai hash függvények. A rendszerből azonban hiányzik még két elem. Ennek megértéséhez tekintsük az alábbi esetet. Bob továbbra is üzenetet szeretne küldeni Alice-nak. Összeállítja a C üzenetet az alábbi formában: C = E(P, E(H(P),KBpriv), KApub). A titkosított üzenetet csak Alice tudja elolvasni a saját privát kulcsával. Dekódolás után megkapja az eredeti P üzenetet és Bob digitális aláírását (az üzenet hash lenyomata Bob privát kulcsával kódolva). Ha elgondolkozunk rajta, akkor két kérdés merülhet fel bennünk: •
Honnan tudjuk, milyen publikus kulcs tartozik Alicehoz és Bobhoz?
•
Ki bizonyítja, hogy a publikus kulcsot nem módosította valaki, és az tényleg a tulajdonosához tartozik?
Ezekre a kérdésekre keressük a választ a következő fejezetekben. Miután megtaláltuk a választ, a PKI rendszerünk teljesnek mondható.
3.7.19. Tanúsítványok és tanúsítvány-hitelesítők A tanúsítványok olyan objektumok a PKI rendszerben, amelyek összerendelik a publikus kulcsot a tulajdonosával. Különböző tanúsítványszabványok léteznek, de mind közül a leggyakrabban alkalmazott az ITU–T X.509-es szabványa. Ez leírja, hogy milyen adatokat milyen formában kell tárolnia a tanúsítványnak.
24. ábra Tanúsítvány készítése
A tanúsítvány minimálisan az alábbi adatokat tartalmazza: •
tulajdonos identitása (név, címek, azonosítók),
•
publikus kulcs,
39
•
érvényességi adatok,
•
hitelesítő adatok (ki szavatolja a tanúsítvány valódiságát).
25. ábra Tanúsítvány
A tanúsítványokat a hitelesítő szervezetek (CA, Certificate Authority) látják el digitális aláírásaikkal. Ezek a szervezetek megbízható harmadik félként (TTP, Trusted Third Party) funkcionálnak és hitelesítik a tanúsítvány tartalmát.
3.7.20. Hosszú távú hitelesség biztosítása Az elektronikus dokumentumok hitelesítésének ugyanaz az alapelve, mint a hagyományos dokumentumokénak: a dokumentumot aláírásunkkal látjuk el, amely azonosítja az aláíró személyét. Az elektronikus dokumentumok hitelesítésénél az a különbség, hogy hitelesítő megoldásként kriptográfiai algoritmusokkal létrehozott elektronikus aláírást alkalmazunk. Az elektronikus aláíráshoz a PKI (Public Key Infrastructure) eszköztárát használjuk fel. Jogszabályi héttér Az előző fejezetekben megismert technikai megoldás műszaki értelemben megoldja a dokumentumhitelesítési problémát, azonban a gyakorlatban mindaddig nem volt használható, amíg jogszabályi szinten nem ismerték el. Az Európai Parlament és a Tanács korán felismerte az elektronikus aláírásban rejlő potenciált, és már 1999-ben iránymutatást adott a tagállamoknak az 1999/93/EK irányelvvel.
40
Ennek alapján Magyarországon is megszületett az elektronikus aláírásról szóló 2001. évi XXXV. törvény (a továbbiakban: Eat.), amely megteremtette a megfelelő jogszabályi hátteret az elektronikus hitelesítéshez. A törvény négy szolgáltatást határoz meg: • hitelesítésszolgáltatás; • időbélyegzés szolgáltatás; • eszközszolgáltatás; • elektronikus archiválás szolgáltatás. Az Eat. megkülönböztet minősített és nem minősített szolgáltatókat, és ezzel párhuzamosan beszélhetünk minősített elektronikus aláírásról, fokozott biztonságú elektronikus aláírásról és egyéb, az előző kettő kategóriába nem sorolható elektronikus aláírásról. Hitelességet érintő kihívások hosszú távon Egy elektronikus dokumentum aláírásakor az aláíró kötelezettséget vállal annak tartalmáért. Egy dokumentum hitelességének ellenőrzésekor megvizsgáljuk, hogy a dokumentumon elhelyezett aláírás érvényes-e. Az Eat. csak az érvényes aláíráshoz rendel jogkövetkezményt.11 Az ellenőrzés az alábbi lépésekkel történik: •
elkészítjük a dokumentum hash lenyomatát H(M);
•
az aláíró publikus kulcsával visszafejtük az aláírt hash lenyomatot H(M)’;
•
ha a két lenyomat megegyezik (H(M) = H(M)’), akkor arra következtetünk, hogy az aláírás készítője birtokában volt a publikus kulcs párjának (privát kulcs).
Az eddigi lépésekkel az bizonyítható, hogy a dokumentum nem változott meg az aláírás óta és az aláírás a nyilvános kulcshoz tartozó privát kulccsal készült. A továbbiakban azt kell ellenőrizni, hogy a kulcspár kihez tartozik és a privát kulcs az aláíró kizárólagos tulajdonában volt-e az aláírás időpontjában. A hangsúly a kötelezettségvállalás időpontján van, tehát nagyon fontos, hogy az akkori körülményeket kell ellenőrizni, függetlenül attól, hogy az ellenőrzést közvetlenül az aláírás után vagy akár évtizedekkel később végezzük. A nyilvános kulcs tulajdonosának igazolására a tanúsítványok szolgálnak, és a tanúsítványok hitelességéért a CA-k felelnek. A feladat tehát annak ellenőrzése, hogy az aláírás időpontjában érvényes volt az aláíró tanúsítványa, valamint létezett olyan tanúsítványlánc, amely visszavezethető egy root CA tanúsítványáig és a láncban lévő összes elem érvényes volt (a tanúsítványok nem voltak felfüggesztve vagy visszavonva).
11
Eat. 4-5. §
41
Látható, hogy a hitelesség ellenőrzése igen összetett folyamat, amely számos adat ellenőrzését teszi szükségessé. Ha mindez röviddel az aláírást követően történik, akkor viszonylag problémamentes az ellenőrzés. Ezt a rövid időtartamot nehéz nevesíteni, de ha a tanúsítványok alapértelmezett érvényességi idejét tekintjük, akkor egy-két éves tartamról beszélhetünk (feltéve persze, hogy közben nem vonják vissza a tanúsítványt, mert akkor a visszavonás időpontja lehet vízválasztó). Ha a tanúsítvány érvényessége lejár vagy visszavonják, attól az aláírás még érvényes marad, de az érvényesség igazolása válik szükségessé. Az igazolás során az alább ismertetett problémák merülhetnek fel. •
Az aláírás időpontja Amennyiben az aláírás időpontját nem tudjuk hitelesen bizonyítani, akkor az aláírás csak addig érvényes, amíg a tanúsítvány érvényes (nem járt le az érvényességi ideje és nem vonták vissza a tanúsítványt). Az érvényességi időt úgy tudjuk növelni, ha bizonyíthatóvá tesszük az aláírás időpontját, azaz időbélyeggel látjuk el. Ettől kezdve az időbélyeg érvényessége is fontos szempont lesz a hitelességhez.
•
Visszavonási információk Egy tanúsítvány érvényessége az érvényességi időn belül is felfüggeszthető, illetve visszavonható. Tipikusan ez történik akkor, ha felmerül annak gyanúja, hogy a privát kulcs kompromittálódott. Ha az aláírást időbélyeggel látták el, akkor a tanúsítvány visszavonása esetén is megállapítható annak érvényessége. Ha a visszavonás előtt történt az aláírás, akkor az érvényesnek tekinthető. A visszavonási információkat CRL-ek formájában teszi közzé a hitelesítés szolgáltatója, illetve OCSP lekérdezéseket tesz lehetővé. A közzétett adatok csak az aktuális visszavonási információkról szólnak, az idő múlásával ezek már nehezen, sőt egy idő után már egyáltalán nem hozzáférhetők. Az Eat. vonatkozó rendelkezése alapján a szolgáltatók a tanúsítvány érvényességének lejárata után még tíz évig (illetőleg az elektronikus aláírással, illetve az azzal aláírt elektronikus dokumentummal kapcsolatban felmerült jogvita jogerős lezárásáig) kötelesek tárolni a fenti adatokat.12 Ez azt is jelenti, hogy ha ennél hosszabb távon szeretnénk biztosítani a hitelességet, akkor össze kell gyűjteni a visszavonási információkat, és gondoskodni kell annak hosszú távú megőrzéséről.
•
CA információk Az aláírás érvényességének megállapításához a tanúsítványláncban található összes szereplő adatait ellenőrizni kell. A hitelesítésszolgáltató szervezetek tanúsítványai időközben lejárhatnak és a szervezetek meg is szűnhetnek. Ez a kérdés érinti az időbélyegek hitelességét is, hiszen az időbélyegzést legtöbbször ugyanazok a szervezetek végzik, mint a tanúsítványok kezelését. A hosszú távú hitelesség érdekében szükséges ezen adatok összegyűjtése és tárolása is.
12
Eat. 9.§ (7) bekezdés.
42
•
Elavult algoritmusok Az elektronikus aláírás hátterében kriptográfiai eljárások, titkosító algoritmusok (pl.: RSA), lenyomatkészítő hash algoritmusok (pl.: MD5, SHA–512) működnek. Ezek olyan tulajdonságokkal rendelkeznek, amelyek lehetővé teszik a rendszer biztonságos működését; azaz a kor technológiai fejlettségét figyelembe véve nem létezik hatékony módszer és elegendő számítási kapacitás a rendszer kompromittálására. Jelenlegi tudásunk szerint nem létezik megfelelő módszer az egész számok faktorizációjára. Ez az alapja az RSA-titkosításnak, ezért fogadjuk el biztonságos módszernek az RSA alapjain nyugvó elektronikus aláírási rendszert.
Ismét egy olyan ponthoz érkeztünk, amelynél figyelembe kell vennünk az időtényezőt. Azok az algoritmusok, amelyeket ma használunk, talán már néhány év múlva, de évtizedekkel később már biztosan elavultnak számítanak. A kriptográfiai építőelemek elavulásának egyik jó példája lehet az MD513 hash algoritmus, amelyet az ezredfordulón még előszeretettel alkalmaztak. A dokumentumokból képzett MD5 hash lenyomatokat látták el elektronikus aláírással. A hash algoritmusok alkalmazhatóságának egyik kritériuma, hogy ütközés-ellenállónak kell lenniük. Az ütközésellenállóság azt jelenti, hogy nehéz két olyan üzenetet találni, amelyeknek azonos lenne a lenyomata. Mint kiderült, az MD5 nem teljesíti ezt a tulajdonságot, így kriptográfiai alkalmazásokra nem alkalmas. Egy másik, széles körben használt hash algoritmus az SHA–114, amelynek kriptográfiai célokra történő használata Magyarországon 2011. december 31. után már nem engedélyezett a CA szervezetek számára.15 Mindemellett a technológia fejlődése is egyre nagyobb számítási kapacitást eredményez, amelynek révén lehetővé válik egyes megoldások kimerítő, keresésalapú (bruteforce) támadása. Szerencsére a szabályozási oldal is felismerte ennek jelentőségét, és a jogszabályok előírják a felügyelő szerveknek, hogy ellenőrizzék és utasítsák a szolgáltatókat a biztonságos algoritmusok és megfelelő hosszúságú kulcsok használatára. Megoldások Az előző fejezetben bemutatott problémákra olyan megoldást kell találni, amely műszaki és jogszabályi szempontból is képes biztosítani az elektronikusan aláírt dokumentumok hosszú távú hitelességét. Az ETSI által kidolgozott PAdES (PDF Advanced Electronic Signatures) 4. fejezete a PAdES-LTV (Long Term Validity) egy olyan fejlesztés, amely kiegészíti a PDF formátumot 13
RFC 1321
14
RFC 3174
15
A Nemzeti Média- és Hírközlési Hatóság határozatban értesíti a CA szervezeteket az egyes algoritmusok felhasználásának korlátozásáról. Az NMHH az EF/26838-8/2011. ügyiratszámú határozatában értesíti a Netlock Kft.-t az SHA–1 algoritmus használatának korlátozásáról. A határozat alapját az ETSI által kiadott ETSI TS 102 176-1 v 2.1.1 jelentette.
43
olyan képességekkel, amelyek lehetővé teszik az elektronikus dokumentum hitelességének hosszú távú ellenőrizhetőségét. [24]
aláírással
ellátott
26. ábra PaDES dokumentum
A kiindulási alapot egy elektronikus aláírással és időbélyeggel ellátott PDF dokumentum jelenti. Ez kiegészül egy új konténerrel, amely minden olyan kiegészítő adatot tartalmaz, amelyet felhasználunk az aláírás ellenőrzésére (érvényesítési adatok): •
a tanúsítványláncban szereplő hitelesítő szervezetek tanúsítványai;
•
visszavonási információk (CRL-ek és OCSP válaszok);
•
az időbélyeg-szolgáltató tanúsítványa. [19]
A fenti ábra szerint mindezt egy időbélyeggel látjuk el, amely az időbélyeg érvényességi idején belül biztosítja a dokumentum hitelességét akkor is, ha már lejárt az aláíró tanúsítványának érvényessége. Az aláírás ellenőrizhető akkor is, ha időközben a CA-k adatai vagy a visszavonási információk már nem lennének elérhetők, hiszen ezeket csatoltuk a dokumentumhoz. Ha hosszú ideig akarjuk tárolni a dokumentumot, akkor az előbbi lépések megismétlésével (érvényesítési adatok hozzáfűzése és időbélyegzés) biztosítható a hitelesség. Csupán arra kell ügyelni, hogy a „frissítés” az utolsó időbélyegző tanúsítványának érvényességi ideje alatt történjen és az újbóli időbélyegzésnél alkalmazott algoritmus megfeleljen a kor követelményeinek (megfelelően erős algoritmus és hosszú kulcsok használata).
44
A műszaki megoldás mellett akkor működőképes ez a rendszer, ha megfelelő jogszabályi háttér támogatja. Magyarországon a digitális archiválás szabályairól szóló 114/2007. (XII. 29.) GKM-rendelet szabályozza az elektronikus aláírással ellátott dokumentumok hosszú távú tárolását. A rendelet 4.§ (4) bekezdése a megőrzési kötelezettség időtartama alapján megkülönbözteti a hosszú távú tárolást, amely a hatályos jogszabály alapján 11 éven túli megőrzést jelent. Ebben az esetben a megőrzésre kötelezett feladata, hogy gondoskodik az elektronikus aláírás hosszú távú érvényesítéséhez szükséges információk beszerzéséről és megőrzéséről; minősített szolgáltató által kibocsátott időbélyegzőt helyeztet el az érvényességi láncon; az előző pontban meghatározott időbélyegzést megismétli akkor, ha az alkalmazott kriptográfiai algoritmusok elavulnak. Az előírásoknak eleget tehetünk saját magunk vagy a tárolással megbízhatunk archiválási szolgáltatót is. Utóbbi esetben vélelmezni kell, hogy a szolgáltató jól végzi feladatát, ezért egy esetleges jogvita esetén az ellenérdekelt félnek kell bizonyítani a dokumentum hitelességével kapcsolatos problémát. A számvitelről szóló törvény16 alapján az elektronikus számlák megőrzési kötelezettsége nyolc év. Az archiválás szabályai szerint ez nem minősül hosszú távú tárolásnak, tehát nem vonatkoznak rá a szigorú szabályok. Ennek ellenére műszaki szempontból mindenképpen indokolt lehet a fenti archiválási megoldások alkalmazása nyolc éven belül is, hiszen a fentiekben felvázolt problémák ebben az időintervallumban is érinthetik az aláírt dokumentumainkat.
16
A számvitelről szóló 2000. évi C. törvény 169.§ (2) bekezdés.
45
4. IT rendszerek támadása A korábbi fejezetekben az informatikabiztonságot a klasszikus módszerrel, a védelem oldaláról közelítettük meg. Napjainkban egyre népszerűbb azonban egy másik megközelítés, amely a támadó szemszögéből tekint az informatikabiztonságra. Természetesen továbbra is a rendszerek védelme és a támadók távoltartása a cél. A klasszikus felfogást defenzív biztonságnak, míg az utóbbit offenzív biztonságnak hívjuk. Az offenzív biztonság létjogosultságát két tényező szavatolja: • ahhoz, hogy védekezni tudjunk a támadásokkal szemben, ismernünk kell a támadások jellegzetességeit és ismernünk kell a támadók eszköztárát; • az informatikai rendszerek biztonságát tesztelni kell, meg kell vizsgálni, hogy ellenállnak-e a támadásoknak. Ezt behatolástesztelésnek (penetration testing) nevezzük. Az 1950-es években a kiváló programozókat hackereknek nevezték. Abban az időben Neumann János és Alan Turing voltak a legnagyobb hackerek. Az 1970-es évektől kezdve a szenzációhajhász médiának köszönhetően a számítógépes bűnözőket illették a hacker jelzővel. Manapság árnyaltabb a helyzet és az alábbi kifejezéseket használjuk a hackerekkel kapcsolatban: •
fehér kalapos hackerek (white hat hacker) avagy etikus hackerek: ők az informatikabiztonság világában a „jófiúk”, akik ártó szándék nélkül, munkaköri kötelességükként végzik a rendszerek biztonságának tesztelését.
•
fekete kalapos hackerek (black hat hacker) avagy crackerek: ők a „rosszfiúk”, akik ártó szándékkal, jogosulatlanul férnek hozzá a rendszerekhez és ott károkat okoznak, illetve érzékeny adatokat lopnak el.
•
szürke kalapos hackerek (gray hat hacker): ők az átmenetet jelentik a fehér és fekete kalapos hackerek között. Tudásukat általában jó célokra használják, de nem mindig legálisan.
Az etikus és a fekete kalapos hackerek tevékenységei nagyon sok hasonlóságot mutatnak, ugyanazokat az eszközöket használják, hasonló szisztéma szerint hatolnak be a rendszerbe. Egyetlen különbség van, és ezt nagyon fontos hangsúlyozni. Az etikus hackerek legálisan, az informatikai rendszer tulajdonosának beleegyezésével, írásos engedélyével végzik a „támadást”. Fogalmazhatunk úgy is, hogy a tulajdonos megrendelésére végzik el a rendszer tesztelését. A fekete kalapos hackerek nem rendelkeznek ilyen engedéllyel.
46
A jelen fejezetben bemutatott módszerek és eszközök kizárólag békés célt szolgálhatnak. Illegális célokra való felhasználásukat a nemzetközi és a magyar jogszabályok is bűncselekménynek tekintik.
4.1.
Behatolástesztelés
A behatolástesztelés egy legális cselekmény, amelynek során a megrendelő kérésére a szakemberek megvizsgálják az informatikai rendszer sebezhetőségeit és javaslatot tesznek a rendszer biztonságosabbá tételére. A tesztelés során egy valós támadás folyamatának lépéseit szimulálva bizonyítják, hogy a rendszer sérülékenységei kihasználhatók. A behatolástesztelés egy komplex folyamat, amelyet érdemes kisebb fázisokra bontani. Az egyes fázisokban elért eredményeket a következő fázis bemenetének tekintjük. A folyamat összesen hat fázisból áll.
27. ábra A támadás fázisai
A legális és illegális tevékenységeket csak az első és utolsó fázis különbözteti meg egymástól. A négy közbülső lépésben nincs eltérés. Legális esetben az előkészületek során beszerezzük a teszteléshez szükséges engedélyeket, a jelentés során pedig tájékoztatjuk a megrendelőt a sérülékenységekről. Illegális esetben az előkészületek a támadás célpontjának kiválasztásáról szólnak, az utolsó fázisban pedig a jelentés elkészítése helyett a támadás nyomainak eltüntetése a cél. A technikai jellegű fázisok az alábbiak: • Felderítés (Reconnaissance), • Letapogatás (Scanning), • Kihasználás (Exploitation), • Fenntartás (Maintaining access).
47
A körültekintő teszteléshez minden fázist meg kell valósítani. Kezdő tesztelőkkel gyakran megtörténik, hogy a kevésbé érdekes első és második fázist kihagyva azonnal a kihasználás fázisával foglalkoznak. Vitathatatlanul a harmadik fázis a legérdekesebb és legizgalmasabb, hiszen itt történik meg a behatolás a rendszerbe, de ha csak erre koncentrálunk, akkor nem kapunk teljes képet a sérülékenységekről. A tesztelés során az egyes fázisok időigénye az alábbi ábra szerint változik.
28. ábra Támadási fázisok időigénye
Azt is meg kell jegyezni, hogy a tesztelést egy körkörös folyamatként kell elképzelni. A defense-in-depth stratégiával védett rendszerek tesztelésekor a fenti fázisokat általában rétegenként kell végrehajtani. Amikor keresztüljutottunk az egyik védelmi rétegen, akkor a következőnél elölről kell kezdeni a támadási fázisokat.
29. ábra A tesztelés folyamata
48
4.2.
Behatolástesztelési forgatókönyv
4.2.1.
Felderítés
A behatolástesztelés (más munkákhoz hasonlóan) az informálódás fázisával kezdődik. Kutatást végzünk a célrendszerrel kapcsolatban. Megpróbáljuk a lehető legtöbb információt összeszedni róla. Minél több információt sikerül összegyűjteni ebben a fázisban, annál nagyobb esélyünk lesz a sikerre a következőkben. A felderítés során a nyilvánosan elérhető információkat gyűjtjük be a lehető legkülönfélébb eszközökkel. A legfontosabb információforrás manapság az internet, ahol a keresők segítségével szinte mindent megtudhatunk a célpontról. A felderítés kétféle lehet: •
Aktív felderítés. Ebben az esetben a célrendszerrel közvetlen interakcióba kerülünk és így szerzünk információt. Ilyenkor számolnunk kell annak lehetőségével, hogy a cél naplózza kéréseinket (például rögzíti az IP-címünket), ami később felfedhet minket.
•
Passzív felderítés. Passzív esetben kisebb az esélye annak, hogy a rendszer tudomást szerez a támadóról, hiszen ilyenkor nem kerülünk vele közvetlen kapcsolatba. Minden olyan tevékenység, amelynek során nem kerülünk kapcsolatba a célrendszerrel, ebbe a kategóriába sorolható.
A sikeres felderítéshez aktív és passzív eszközöket is érdemes felhasználni. A felderítés fázisa általában az alábbi információkat szolgáltatja: •
weboldalak elérhetősége,
•
alaprajzok, tervek,
•
a célrendszerrel kapcsolatba hozható emberek adatai (nevek, címek, telefonszámok),
•
e-mail címek,
•
domain nevek.
Arra kell törekedni, hogy a fázis végére az információkból egy IP-címlistát készítsünk. A felderítés fázisában alkalmazott szoftverek az internetes keresőmotorok, The Harvester, NetCraft, MetaGooFil.
49
4.2.2.
Letapogatás
Ha az első fázissal végeztünk, már kellő információval rendelkezünk a rendszerről a letapogatás fázishoz. A korábban begyűjtött információkból az IP-címek listája jelenti a további vizsgálódásaink alapját. Napjainkban kevés olyan informatikai rendszer van, amely ne lenne hálózatba kötve, ráadásul ezek a hálózatok többnyire elérhetők az internet felől is. A hálózatokban a címzésre az IP-címeket használjuk. A letapogatás fázisa az alábbi három lépésre bontható: •
elérhetőség-vizsgálat,
•
portvizsgálat (port scanning),
•
sérülékenységvizsgálat (vulnerability scanning).
Az elérhetőség-vizsgálat során azt kell megállapítanunk, hogy a célrendszer be van-e kapcsolva és képesek vagyunk-e kommunikálni vele. Erre a célra akár egy egyszerű ping parancs is megfelel, amely egy ICMP echo request üzenetet küld a célállomásnak. Ha a célrendszer hajlandó válaszolni a kérdéseinkre, akkor a portszkennelés segítségével megállapítjuk, hogy milyen szolgáltatások találhatók a gépen. Például a 80-as TCP port tesztelésével webszerver jelenlétére utaló nyomokat keresünk. Az alábbi táblázat a jól ismert portokhoz köthető szolgáltatásokat foglalja össze. A portszkennelés típusai: •
TCP Connect Scan: teljes értékű TCP-kapcsolat felépítésével és bontásával teszteli a portot (a háromutas kézfogás minden fázisát megvalósítja).
•
TCP Syn Scan: az előzőhöz hasonló, de ez nem bontja le a kapcsolatot.
•
XMAS Tree Scan: a TCP kommunikációs szabályok megsértésével teszteli a portot. Minden flag 1-re van beállítva. Ilyen TCP-szegmensre az állomások RST-üzenettel válaszolnak.
•
Null Scan: szintén a kommunikációs szabályok megsértése a cél (minden flag nulla). Portszám
Szolgáltatás
20,21
Fájlátvitel (FTP)
23
Távoli terminál (TELNET)
25
E-mail (SMTP)
80
Web (HTTP)
110
E-mail (POP3)
30. ábra Portszámok és szolgáltatások
50
Az egyik legnépszerűbb portszkenner az nmap nevű program. A letapogatás utolsó lépéseként az azonosított szolgáltatás ismert sérülékenységeinek (vulnerabilities) a felderítése történik. Mindannyian tudjuk, hogy hibátlan szoftver nem létezik. A felismert hibák nyilvánosságra kerülnek, és ha nem javítjuk időben a szoftvert a javítókészletekkel (patch), akkor a szoftver sérülékeny marad különféle támadásokra. Az ilyen sérülékenységek felderítésére automatizált szoftverek is rendelkezésre állnak. A legnépszerűbb ilyen szoftver a Nessus17, amely a teszt elvégzése után akár grafikus felületen keresztül is képes értesíteni a felhasználót a rendszer gyenge pontjairól.
31. ábra Nessus grafikus felülete (forrás: www.tenable.com)
A letapogatási fázis kimenete a rendszer sérülékeny pontjait tartalmazó lista.
4.2.3.
Kihasználás
A kihasználás folyamatában a tesztelő (vagy a támadó) átveszi a vezérlést a célrendszer felett. A cél mindig az, hogy adminisztrátori jogosultsági szinten szerezzünk hozzáférést a rendszerhez. Ez a fázis a letapogatás eredményeként felismert sérülékenységek kihasználását végzi. Erre a célra úgynevezett exploitokat használunk, amelyek képesek olyan szoftverkomponensek (payload) bejuttatására a célrendszerbe, amelyek segítségével átvehetjük a vezérlést. Erre a célra szintén rendelkezésre állnak automatizált eszközök, közöttük a legnépszerűbb a Metasploit18 keretrendszer. 17
www.tenable.com
18
www.metasploit .com
51
4.3.
Wireless hálózatok biztonsági kérdései
E könyv terjedelmi korlátai nem teszik lehetővé az informatikai rendszerek sokrétű támadási lehetőségeinek bemutatását, ezért inkább arra törekszünk, hogy kiragadva egy területet, azon mutassuk be a sérülékenységeket. Ez a terület nem más, mint a vezeték nélküli (wireless) hálózatok témaköre. Szinte mindenütt találkozunk vezeték nélküli hálózatokkal, ezért jó, ha ezen hálózatok biztonsági kérdéseiről is rendelkezünk ismeretekkel.
4.3.4.
Bevezetés
A mai világban egyre jobban elterjedtek a vezeték nélküli hálózatok. Felgyorsult világunkban az ember ma már észre sem veszi, hogy milyen gyakran kerül kapcsolatba velük, akár egy wifi-képes19 buszon/vonaton ülve, akár egy kávé elfogyasztása közben egy gyorsétteremben, akár várva a járatát a reptéren, vagy esetleg az otthonában. Ráadásul az ez irányú fejlesztések igen fontosak mind az ipari, mind a pénzügyi vállalatoknak, vállalkozásoknak. Néhány éve a mobil készülékek terén elindult egy olyan mértékű fejlődés, amely egyelőre megállíthatatlannak tűnik. Ezen eszközök előnyei mindenki számára nyilvánvalóak, de a bennük rejlő képességeket csak akkor tudjuk kihasználni, ha kapcsolódunk velük az internetre. A kapcsolódás vezeték nélküli technológiákon valósul meg, és ezen belül is alapvető fontosságú a wifi-hálózatok szerepe.
32. ábra Eladott okoskészülékek száma (Forrás: Telecom Trends International)
Ám gyakran az emberek nincsenek tisztában azzal, hogy a saját eszközeik és az elérni kívánt internetes tartalom közötti hálózat korántsem biztonságos. Adataink bármikor lehallgathatóak és megfelelő szintű biztonság nélkül akár komoly károkat is szenvedhetünk. Ezek lehetnek egy magánszemély bankszámla-információi, amivel a támadó hozzáférhet a pénzhez, de egy vállalat esetén akár nagyobb károkat is okozhatnak. Végül, de nem
19
A WiFi a Wireless Fidelity angol szavak rövidítése, amely ma már általánosan használt kifejezés a magyar nyelvben is.
52
utolsósorban a kritikus infrastruktúrákban is egyre többször találkozunk wifi-hálózatokkal, amelynek kompromittálódása egy egész társadalomnak okozhat felbecsülhetetlen károkat.
4.3.5.
Wifi-hálózatok áttekintése
Habár sokféle vezeték nélküli hálózati megoldást dolgoztak ki az 1990-es években, ezek közül egy szabványcsalád emelkedett ki egyértelmű győztesként: az IEEE 802.11 vezeték nélküli helyi hálózat (WLAN, Wireless Local Area Network). Ezt a technológiát takarja a wifi rövidítés is. 802.11a A 802.11a szabvány volt az 1999-ben kiadott kiegészítése az eredeti szabványnak. Az 5 GHz-es sávban működik és OFDM (Orthogonal Frequency Division Multiplexing) segítségével modulálja a jelet. Az OFDM egy olyan keskenysávú vivőfrekvenciát alkalmazó moduláció, ahol az egymást átfedő csatornák ugyanakkora sávszélességben egyetlen modulált vivőhöz képest többszörös mennyiségű adatot visznek át. Akár 54 MBit/s átviteli sebességre is képes ideális esetben, de sokszor ennél kisebb sebességgel dolgozik a rendszer (48, 36, 12, 6). Itt akár 120 méterre is képes elterjedni a hálózat, de zárt térben csak 20–35 méterig hatékony. A szabványnak létezik egy úgynevezett turbó módú verziója is. De ezt csak nagy térerősségű jelek esetén lehet használni, és ha ez nem teljesül, az átvitel annyira lelassul, hogy még annál is rosszabb lesz, mintha egyáltalán nem használtuk volna a turbó módot. Nagy problémája ennek a szabványnak, hogy mivel más hordozófrekvenciát használ, mint társai (2.4 GHz), ezért nem kompatibilis velük, így nem tud együttműködni más, nem a-s szabványt használó hálózatokkal. 802.11b Ez a szabvány egy időben jelent meg a 802.11a-val (1999), de itt a frekvencia 2.4 GHz. Ez lett a legelterjedtebb szabvány annak köszönhetően, hogy nagy területet tudott lefedni, akár 100 métert is szabad téren, míg épületben akár 40 métert is, így kevés eszközzel is könnyen lehet teljes épületrészeket összekötni vele. A sebessége elméletileg maximum 11 MBit/s, de ez a gyakorlatban általában kevesebb, mindössze 4–6 Mbit/s. A modulációs technika itt DSSS (Direct Sequence Spread Spectrum). Megjegyzendő, hogy ez a szabvány ugyanazt az ISM (Industrial Science Medical) frekvenciasávot használja, amit más vezeték nélküli eszközeink (távvezérlők, bluetooth-eszközök, mikrohullámú sütők), ennek köszönhetően ezek az eszközök interferálhatnak, azaz zavarhatják egymást. 802.11g 2003-ban jelent meg a 802.11g szabvány, amelyet még ma is sokan használnak, főleg azért, mert sok olyan, otthoni célokra gyártott hozzáférési pont működik, amelyek még nem támogatja az újabb n-es szabványt. A 802.11g szabvány a modulációs eljárásra OFDM-et alkalmaz, ennek köszönhetően nőtt az átviteli sebessége is. A 2.4 GHz-es frekvenciát használja a közvetítésre, és hivatalosan a maximális átviteli sebessége 54 Mbit/s, de a gyakorlati érték csak 20 Mbit/s maximálisan. Az általa lefedhető terület mérete megegyezik a „b” szabvány értékeivel, azaz beltéren 40 m, kültéren maximum 140 m.
53
Ez a szabvány visszafele kompatibilis a „b”-vel, képes használni a DSSS-t, így van lehetőség a kettőből mixelt jelet sugározni a vezeték nélküli eszközökkel. Fontos azonban tudni, hogy ha egy 802.11g hálózatban egy „b”-s vevőeszköz tartózkodik, akkor az erősen lassítja a hálózatot, mert a modulációs különbségek miatt kénytelenek a közösen ismert 802.11b eljárással kommunikálni. Sajnos a „b” szabványból örökölt 2.4 GHz-es frekvencia miatti interferenciaproblémák ugyanúgy jelentkeznek. 802.11n A 2009-ben megjelent 802.11n szabvány célja az előző szabványok megújítása volt. Ez már MIMO (Multiple-input Multiple-output) elv alapján működik.
20
33. ábra MIMO (forrás: Airmagnet 802.11n Primer )
A MIMO egy olyan speciális antennatechnológia, amelynek segítségével az adatátviteli sebesség úgy növelhető meg, hogy nincs szükség a további sávszélességre vagy adási teljesítményre. Azaz a jelet nem erősítik tovább, hanem a küldő és a vevő oldalon is több antenna alkalmazásával egyszerre több jelet is sugároznak, több kapcsolat épül ki az eszközök között, így kevésbé lesz érzékeny a kommunikáció a térben lévő zajokra, egyéb interferenciákra. Az antennák száma akár 4-re növelhető, amivel a kapcsolat már 4 különálló adatfolyamot sugározhat.
20
http://airmagnet.flukenetworks.com/assets/whitepaper/WP-802.11nPrimer.pdf
54
34. ábra 802.11n által elérhető sebességek a különböző MCS függvényében
21
A csatornák sávszélessége 20 MHz vagy 40 MHz, és ha az eszköz ki tudja használni az 5 GHz-es frekvenciatartományt, akkor ott képes egymást nem átfedő csatornákat is használni, így még jobban növelhető az adatátviteli kapacitás. Ezen okokból a sebesség is hatalmasat lépett előre az előzőekhez képest, elméletben 600 Mbit/s, gyakorlatban 70-80Mbit/s a jellemző. A lefedettségi terület is jelentősen nőtt, a külső, nyitott területen 250 m, valamint beltérben 70 méter körüli értékekre. Ezen felül visszafele kompatibilis, valamint képes a 2.4 GHz és az 5 GHz-es frekvenciatartományban is működni. Ennek köszönhetően az új szabványt már kisebb eséllyel terheli az összeférhetetlenségi problémák zöme. 802.11ac A 802.11ac a legújabb vezeték nélküli szabvány, amely, hasonlóan a 802.11n-hez, szintén képes a 2.4 GHz és az 5 GHz-es tartományban is működni (de az 5 GHz-en képes kihasználni az előnyeit). A szabvány szerint az eszköz alapvetően képes 500 Mbit/s sebességre, de ez az érték akár 7000 Mbit/s elméleti határig emelhető. Ezt a különböző új eljárások segítségével érik el, úgy, mint például a csatornák sávszélességének a növelése 80–160 MHz-re, vagy a megnövelt MIMO támogatás 8 párhuzamos csatornáig. Ezek mindegyike a duplája a 802.11n-beli értékekhez képest. Az 5 GHz-es frekvenciatartományban 80 MHz-es csatornákból 4 hozható létre, úgy, hogy azok ne fedjék át egymást. A 802.11ac szabványban megnövelt szerepet kap a „beam-forcing”, amikor is a bázisállomások képesek megállapítani, hogy egy adott kliens felé merre a legjobb sugározni 21
http://airmagnet.flukenetworks.com/assets/whitepaper/WP-802.11nPrimer.pdf
55
a jelet, ezáltal nőhet a hatótávolság. A MIMO technológia is megújult, a Multi-User MIMO-val már van lehetőség arra, hogy azok a bázisállomások, amelyek több adatfolyamat is tudnak sugározni, képesek bizonyos eszközökhöz (tipikusan a hordozható kliensek) akár külön antennát rendelni. Nő a megbízhatóság, kevésbé lesz jellemző a kapcsolatszakadás, és így a mobilitás még inkább teret tud nyerni a 802.11ac szabvánnyal.
4.3.6.
Wifi-veszélyek
Mivel információs társadalomban élünk, társadalmunk működése információkon alapszik. A hálózatokon átfolyó adatok, információk, amikkel nap mint nap találkozunk, értékesek lehetnek, és ezeknek a megszerzésére komoly erőfeszítéseket tesznek a támadók. A támadások érkezhetnek belülről és kívülről is. A támadók mindig igyekeznek a legkönnyebben elérhető vagy a legkevésbé védett eszközökön át bejutni a hálózatba, ezért a vezeték nélküli eszközök sokkal nagyobb veszélynek vannak kitéve, mint a vezetékes társaik. Ebben a fejezetben néhány tipikus, a vezeték nélküli hálózatok ellen irányuló támadási formát mutatunk be. Lehallgatás A forgalommonitorozás során lehallgatjuk az adott hálózat kommunikációját. Ez vezeték nélküli hálózatoknál sokkal egyszerűbb, mint vezetékes változatánál, hiszen az adatok terjedése a minket mindenhol körülvevő térben, levegőben zajlik. Ezért bármilyen információ megszerezhető valós időben és akár el is menthető későbbi feldolgozásra. Minden olyan adatcsomag, ami titkosítás nélkül halad át a hálózaton, az olvasható mások által. Jelszavakat és egyéb belépőadatokat könnyedén le lehet hallgatni a megfelelő védelem hiányában. Erre a feladatra szolgálnak különböző szoftverek, mint például az InSSIDer, a Commview For Wifi, NetStumbler, Wireshark vagy a Kismet.22 A példában a WireShark23 segítségével kezdjük lehallgatni a hálózatot. Miután elindítjuk a programot, kiválasztjuk azt az interfészt, amin az érzékelhető forgalmat lementhetjük. Ezután elkezdjük a lehallgatást. Az adatokból megismerhetjük az áthaladó csomagok forrás- és célcímét, a használt protokollt, valamint akár nem biztonságosan védett, plaintext formában átküldött belépőadatokat is.
22
Itt érdemes megemlíteni még az úgynevezett Wardrivingot, ami nem más, mint amikor egy járműben utazó egyén folyamatosan pásztázza a környéket egy vezeték nélküli eszközzel (laptop, mobiltelefon), hogy vannak-e elérhető, esetleg védelem vagy csak megfelelő védelem nélküli hálózatok. 23
https://www.wireshark.org/
56
35. ábra Wireshark wifi-lehallgatás
Többrétegű kódolással megpróbálhatjuk védeni adatainkat. Ezt megtehetjük akár az adatkapcsolati rétegben a különböző titkosítási módszerek segítségével (WEP[Wired Equivalent Privacy], WPA[Wifi Protected Access]), de alkalmazható más szintű védelem is, mint az IPsec (Internet Protocol Security), HTTPS (Hypertext Transfer Protocol Security) vagy az SSL (Secure Socket Layer). Közbeékelődéses támadás A közbeékelődéses támadás (MitM, Man in the Middle attack) során a támadó – képletesen szólva a két eszköz közé állva – mindegyikkel elhiteti, hogy ő maga a másik gép. A kommunikációban részt vevő felek azt fogják hinni, hogy egymással vannak kapcsolatban, de valójában mindegyik a csaló eszközzel folytat párbeszédet. Hiába van megfelelő titkosítás vagy hitelesítő eljárás, ezzel a módszerrel akár VPN (Virtual Private Network) mellett is lehallgatható lesz az üzenetváltás. A támadás a protokollok kialakítása miatt működőképes. Az elején a támadó igyekszik lehallgatni a kommunikációt az AP (Access Point) és a kliens között, ebből megtudhat olyan kulcsfontosságú adatokat, mint az IP-címek, azonosítók és az AP által küldött, kapcsolat kialakítását segítő üzeneteket (assocation, challenge). Ezek után a támadó csatlakozik az AP-hoz az adatok birtokában, majd, miután megszerezte a hitelesítési adatokat, kiadja magát AP-nak a kliens felé, és kapcsolatba lépnek egymással. A közbeálló eszköz pedig a két fél által küldött üzeneteket küldi tovább a másik fél felé, így a kapcsolat két végpontja nem is fog tudni róla, hogy a köztük lévő kommunikációt lehallgatják. Lehetőség van többek között ARP (Address Resolution Protocol) vagy DNS (Domain Name System) mérgezésre, illetve ICMP (Internet Control Message Protocol) átirányításra vagy portlopásra is, annak érdekében, hogy bejussunk a két eszköz közé. Több program is elérhető az interneten, amivel képesek lehetünk MitM támadásokat végrehajtani, ilyen a Cain and Abel, az Ettercap vagy az AirJack. Rouge access point A csaló hozzáférési pont egy olyan visszaélési forma, amely során a támadó felállít egy olyan – nem hitelesített – hozzáférési pontot, amelyhez lehetséges a kapcsolódás. Ezek
57
tipikusan titkosítás nélküli hálózatok, amelyre bárki beléphet. Mivel a hálózat forgalma lehallgatható, gyakorlatilag ezen a módon is el lehet végezni egy MitM támadást. Megfelelő helyen felállítva az eszközt, rengeteg embert lehet megtéveszteni, akik így a hálózati kommunikáció során akaratlanul is kiadnak értékes információkat. Svéd szakemberek hívták fel a figyelmet arra, hogy a repülőtereken szinte mindenhol megtalálható ingyenes wifi-hálózat, és ez mennyire nagy biztonsági kockázattal jár. Rámutattak, hogy ezeken a helyeken gyakran fordulnak meg olyan emberek, akik üzleti okokból utaznak, így ők nagy eséllyel ki vannak téve adatlopásnak, hiszen megszokásból csatlakoznak az ingyenes, sokszor titkosítatlan hálózatokhoz. A rouge access pointok kis méretüknél fogva akár egy táskában is elférnek a táppal együtt és órákig képesek gyűjteni áldozataik adatait.
4.3.7.
Védelmi megoldások
A 802.11 biztonsági kérdéseit műszaki körökben és a felhasználók között is jelentős érdeklődés övezi. A támadók akkor tudnak hozzáférni az adatokhoz, ha a forgalom titkosítás nélkül zajlik a csatornában. A 802.11 szabvány ezért olyan biztonsági megoldásokat tartalmaz, amelyek a vezetékes hálózatokéval egyenértékű biztonságot hivatottak (volna) garantálni. Ebben a fejezetben áttekintjük ezeket a biztonsági megoldásokat és azok kijátszásának lehetőségeit. WEP (Wired Equivalent Privacy) Az 1997-ben létrehozott, és 1999-ben ratifikált WEP-et, azaz a Wired Equivalent Privacyt (ekvivalens vezeték nélküli biztonság) eredetileg arra akarták felhasználni a 802.11 szabványban, hogy a vezetékes kapcsolatokkal egyenértékű biztonsági szintet hozzon létre. Már magában a 802.11 keretek MAC (Medium Access Control) fejlécében is van egy WEP jelzőbit, ami, ha be van kapcsolva, akkor tudhatjuk, hogy a keretet WEP-pel titkosították. Vezeték nélküli hálózatok esetében két alapvető biztonsági probléma merül fel. Egyrészt a rádiós csatorna jellege miatt a kommunikáció könnyen lehallgatható. Másrészt a hálózathoz való csatlakozás nem igényel fizikai hozzáférést a hálózati csatlakozóponthoz, ezért bárki megpróbálhatja a hálózatot illegálisan igénybe venni. A WEP az első problémát az üzenetek rejtjelezésével igyekszik megoldani, a második probléma megoldása érdekében pedig megköveteli a csatlakozni kívánó mobil eszköz hitelesítését az AP felé. A hitelesítést egy egyszerű kihívás–válasz alapú protokoll végzi, mely négy üzenet cseréjéből áll. Elsőként az STA (client station) szeretné hitelesíteni magát és erről üzenetet küld. Ezután az AP generál egy véletlen számot, s azt kihívásként elküldi az STA-nak. Ezt az STA rejtjelezi egy olyan titkos kulccsal, amit csak az STA és az AP ismer, majd az eredményt visszaküldi az AP-nak. Amennyiben ezt az AP sikeresen dekódolja, abban az esetben hitelesíti az STA-t és dönt arról, hogy az csatlakozhat-e vagy nem. Miután a hitelesítés megtörtént, az STA és az AP rejtjelezett üzenetekkel kommunikálnak. A WEP rejtjelező algoritmusa az RC4 kulcsfolyamkódoló.
58
WEP elleni támadás A WEP a hitelesítés, az integritásvédelem és a titkosítás terén is kihasználható hibákkal rendelkezik. A hitelesítés problémái először is, hogy az AP nem hitelesíti magát az STA felé csak fordítva, tehát a hitelesítés egyirányú. Másodszor, a hitelesítés és a rejtjelezés ugyanazzal a titkos kulccsal történik, így a támadó mind a hitelesítési, mind pedig a rejtjelezési eljárás gyengeségeit kihasználhatja egy, a titkos kulcs megfejtésére irányuló támadásban. A hitelesítés harmadik problémája, hogy a protokoll csak a hálózathoz történő csatlakozás pillanatában hitelesíti a STA-t. Miután a hitelesítés megtörtént és az STA csatlakozott a hálózathoz, bárki küldhet a STA nevében üzeneteket, annak MAC-címét használva. Ez azért veszélyes, mert a gyakorlatban az összes STA egy közös titkos kulcsot használ, így a támadó megteheti azt, hogy egy STA1 által küldött – és a támadó által lehallgatott – rejtjelezett üzenetet STA2 nevében megismétel az AP felé; ezt az AP el fogja fogadni. A negyedik probléma, hogy az RC4 folyamkódolót nemcsak az üzenetek kódolására, hanem a hitelesítés során történő kihívás rejtjelezésére is használják. Így a támadó a hitelesítés során könnyen hozzájut a kihíváshoz és az arra adott válaszhoz, ebből pedig már könnyen meg tudja állapítani az RC4 által generált álvéletlen bájtsorozatot. Ezáltal a támadó bármilyen kihívásra helyes választ tud generálni az STA nevében. Tovább tetézi a problémát, hogy az adott hálózathoz tartozó összes eszköz ugyanazt a titkos kulcsot használja, így a támadó ezek után bármelyik eszköz nevében csatlakozni tud a hálózathoz.
36. ábra WEP feltörése Kali linux segítségével
A WEP-ben az üzenetek integritásának védelmét az üzenetekhez csatolt ellenőrző összeg (ICV, Integrity Check Value) hivatott biztosítani. Az ICV nem más, mint az üzenetre számolt CRC (Cyclic Redundancy Check) érték, melyet az üzenettel együtt rejtjeleznek. Ennek gyengeségeit kihasználva, a támadó a rejtjelezett WEP-üzenetek bármely bitjét módosítani tudja, bár magát az üzenetet nem látja.
59
A titkosításnál fontos, hogy minden üzenet más kulccsal legyen rejtjelezve. Ez a WEP-ben a IV (Initial Vector) használata biztosítja több-kevesebb sikerrel. A probléma az, hogy az IV csak 24 bites, ez megközelítőleg 17 millió variáció. Egy wifi-eszköz kb. 500 teljes hosszúságú keretet tud forgalmazni egy másodperc alatt, ami azt jelenti, hogy kb. 7 óránként ismétlődnek az IV-értékek és ezzel az RC4 által előállított álvéletlen bájtsorozatok is. Ezt súlyosbítja, hogy minden eszköz ugyanazt a kulcsot használja különböző IV-értékekkel, így ha egyszerre n eszköz használja a hálózatot, akkor az IV-ütközés várható ideje 7 óra n-ed részére csökkenne. Mivel azonban az IV nem véletlen értékről, hanem nulláról indul, beindítás után az eszközök ugyanazt a nullától induló és egyesével növekvő IV-sorozatot használják, legtöbbször ugyanazzal a közös titkos kulccsal. Ebből az következik, hogy a támadónak várakoznia sem kell, azonnal IV-ütközésekhez jut. A fenti gyengeségeket már korán felismerték és mára könyvek tucatjai, valamint videomegosztó portálokra feltöltött útmutatók24 segítik a WEP gyengeségeinek kihasználásában az „érdeklődőket”. A támadás kivitelezése a rendelkezésre álló, bárki számára szabadon hozzáférhető szoftverekkel gyerekjátéknak tekinthető. Ezek az eszközök a script kiddie-k25 eszköztárának legkedveltebb komponensei. Összességében tehát megállapíthatjuk, hogy a WEP-védelemmel ellátott vezeték nélküli hálózatok nem jelentenek megfelelő szintű védelmet. WPA (WiFi Protected Access) A WPA, azaz a WiFi Protected Access (vezeték nélküli védett hozzáférés) egy 2003-ban kidolgozott szabvány, amellyel a WEP helyére akartak egy erősebb védelmet állítani. Egy átmeneti megoldásnak szánták, amíg a 802.11i szabványt teljesen nem véglegesítették. Titkosításra a TKIP (Temporal Key Integrity Protocol) nevű RC4-alapú titkosító algoritmust használja, ami egy dinamikus kulcsú algoritmus, azaz egy bizonyos idő vagy egy adott forgalmazott adatmennyiség után új kulcsot generál. Ezzel védi ki a WEP ellen felhasználható kulcsvisszaszerzési támadást, mert a támadó hiába szerzi meg a kulcsot a csomagok monitorozásával, ha egy idő után újabb kulcs lesz használatban. A WPA is tartalmaz beépített integritásellenőrzőt. Az eljárás célja az volt, hogy ne lehessen a csomagokat meghamísítani. A régi, WEP által alkalmazott CRC-t lecserélték az úgynevezett Micheal algoritmusra. A WPA2, azaz a WiFi Protected Access 2 már teljesen implementálja a 802.11i szabvány elemeit, ez lett a továbbfejlesztése a WPA-nak. A ma gyártott és a piacon jelenlévő eszközökbe is már be van építve ez a metódus, amennyiben van lehetőségünk rá, 24
A YouTube nevű videomegosztó portálon a WEP hacking kulcsszavakkal keresve rengeteg találatot kapunk, amelyek többsége lépésről lépésre bemutatja a támadást. 25
Script kiddie-nek nevezzük a támadók azon rétegét, akik komoly szaktudással nem rendelkeznek, mégis mások által megírt szoftverek felhasználásával igen komoly károkat tudnak okozni az informatikai rendszerekben. A legnépszerűbb ilyen szoftvergyűjtemény a Kali linux, amely a www.kali.org oldalról ingyenesen letölthető.
60
mindenképpen ezt a módszert kell választani, mert ez nyújtja a legerősebb elérhető titkosítást. A titkosító algoritmusnak az AES–CCMP-t (AES in Counter Mode with CBC-MAC Protocol) használja. Ez a standard AES–128 protokollnak egy különleges változata, ez hivatott leváltani a WEP és WPA által használt gyenge RC4 algoritmust. A WPA2-ben, a beléptetés módszere kétféle lehet. Az egyik a WPA-PSK, azaz a WPAPersonal, ahol egy adott jelszóból generálódik az a 256 bites kulcs, amelyet utána a hálózatba belépni szándékozóknak meg kell adniuk. Ezt kis hálózatoknál célszerű alkalmazni, vagy olyan helyeken, ahol hitelesítő szervert használni nem lehet vagy nem szükséges. A másik megoldás a WPA2-ENTERPRISE, amelyet vállalatok számára fejlesztettek ki. Itt a hitelesítést egy különálló szerver (például RADIUS) végzi, és itt a klienseknek akár további módokon kell igazolniuk a valódiságukat. A sikeres kapcsolódás után a klienseszköz egy egyéni kulcsot kap. WPA elleni támadás Mindenekelőtt meg kell említeni, hogy a WPA és a WPA2 protokollokban jelenleg nincs olyan felismert, nagyfokú hiba, amit kihasználva a jelszó kinyerhető. Ezeknél a titkosítási formáknál ezért csak a bruteforce- (nyers erő) vagy a szótáralapú támadásokkal lehet sikert elérni a jelszó megszerzése érdekében. A bruteforce-alapú támadás idő- és erőforrás-igényes, lényege, hogy az összes szóba jöhető kombinációt kipróbálja. A szótáralapú támadásnál csak az a feltételezés áll a támadó rendelkezésére, hogy az alkalmazott jelszó benne van a felhasznált szólistában. Ha a wifi-hálózatot üzemeltető nem kellő körültekintéssel választja meg a jelszavakat, akkor ezek a védelmi megoldások is kijátszhatók. A WPA elleni támadásokra is rendelkezésre állnak automatizált eszközök26, amelyek a korábban említett széles támogatottsággal rendelkeznek és könnyen hozzáférhetők minden „érdeklődő” számára.
4.3.8.
Következtetések
Az előző pontok alapján azt mondhatjuk, hogy a wifi-hálózatok komoly veszélyeknek vannak kitéve. Ezen veszélyek ellen az évek során különböző védelmi megoldásokat fejlesztettek ki. Ezen fejlesztéseket a gyártók folyamatosan implementálták vezeték nélküli hálózati eszközeikbe. Az idő múlásával azonban fény derült a védelmi protokollok hiányosságaira, és ez szükségessé teszi a korábban biztonságosnak gondolt védelmi megoldások lecserélését az újabbakra. Ez sokszor kihívást jelent azon végfelhasználók számára, akiknek nincsenek kellő ismereteik a témában. A szóban forgó eszközök hétköznapi használati tárgyakká váltak, azokat megvásárolják a felhasználók, és csak annyi az elvárásuk az eszközzel szemben, hogy működjön és nyújtsa az elvárt funkciókat. Az új technológiák annyira gyorsan robbantak be az emberek hétköznapjaiba, hogy idejük sem volt felfogni, hogy milyen veszélyeket rejtenek az új rendszerek, amelyekre rábízzák teljes digitális életüket, annak minden érzékeny adatával együtt.
26
A leggyakrabban alkalmazott szoftver az aircrack-ng, amely linux platformon érhető el és alapértelmezésben része a Kali linuxnak.
61
5. IRODALOMJEGYZÉK [1] Muha Lajos, Krasznay Csaba – Az elektronikus biztonságának menedzselése, NKE, Budapest, 2014.
információs
rendszerek
[2] Munk Sándor – Információbiztonság Vs. Informatikai biztonság, Hadmérnök folyóirat, Budapest, 2007. [3] Muha Lajos: A Magyar Köztársaság kritikus információs infrastruktúráinak védelme, PhD értekezés, ZMNE, Budapest, 2007. [4] William Stallings, Lawrie Brown – Computer Security, Pearson, 2012. [5] Pandur Béla – Informatikabiztonság, egyetemi jegyzet, Pécs, 2011. [6] Gyurák Gábor – Adatbázis audit rendszerek, Budapest, 2010. [7] Chuck Easttom – Computer Security Fundamentals, Pearson, 2006 [8] Wm. Arthur Conklin, Gregory White – CompTIA Security+, McGraw-Hill, 2011 [9] Eric Maiwald - Fundamentals of Network Security, McGraw-Hill, 2004. [10]
Randall J. Boyle – Corporate Computer Security, Pearson, 2013.
[11] Muha Lajos – Az informatikai biztonság egy lehetséges rendszertana: Az információbiztonság egy lehetséges taxonómiája. Bolyai Szemle XVII: (4), 2008. [12]
James F. Kurose – Számítógép-Hálózatok Működése, Panem, 2008.
[13] Buttyán Levente, Vajda István – Kriptográfia és alkalmazásai, Typotex, Budapest, 2004. [14]
Fleiner Rita – Az adatbázis biztonság alapjai, Hadmérnök V/2., 2010.
[15]
Gajdos Sándor – Adatbázisok, Műegyetem kiadó, Budapest, 2004.
[16] Stuart J. Russell, Peter Norvig – Mesterséges Intelligencia, Panem, Budapest, 2000. [17]
Ron Ben Natan – Implementing Database Security and Audit, Elsevier, 2005.
[18] RandyWeaver, Dawn Weaver - Guide to Tactical Perimeter Defense: Becoming a Security Network Specialist, 2008. [19]
Berta István – Nagy e-szignó könyv, Microsec Kft., Budapest, 2011.
62
[20] Haig Zsolt, Kovács László – Kritikus infrastruktúrák és kritikus információs infrastruktúrák, Tanulmány, Nemzeti Közszolgálati Egyetem, 2012. [21]
Gonda János – A rejtjelezés néhány kérdése, ELTE, Budapest, 2010.
[22]
Dénes Tamás – TitokTan Trilógia, Bagolyvár Kiadó, Budapest, 2004.
[23]
Simon Sight – Kódkönyv, Park Könyvkiadó, 2007.
[24] ZHOU, M., GENG, G., WU, Z. – Digital Preservation Technology for Cultural Heritage, Springer, Berlin, 2012. [25] Muha Lajos – Formális biztonsági modellek I. , A diszkrecionális hozzáférésvédelem, Hadmérnök VII. évfolyam 1.szám, Budapest, 2012. [26] Déri Zoltán, Lobogós Katalin, Muha Lajos, Sneé Péter, Váncsa Julianna (szerk.: Muha Lajos): Informatikai Biztonság Irányítási Követelmények (IBIK), Budapest: Miniszterelnöki Hivatal, 2008. 275 p., (Közigazgatási Informatikai Bizottság ajánlásai; 25.), 1-2., Magyar Informatikai Biztonsági Ajánlások (15.3 pont)
63