Gyakran ismételt kérdések
Pár évvel ezelőtt egy biztonsági szakértői csapat publikált egy tanulmányt, amely leír egy olyan támadást, amely képes feltörni egy IKEv1 Aggressive Mode Pre-Shared Key kapcsolatot, de ez a támadás nem lenne ugyanolyan mértékben lehetséges egy IKEv1 Main Mode Pre-Shared Key kapcsolattal szemben, ami tévesen azt sugallta, hogy az Aggressive Mode alapvetően kevésbé biztonságos. Ha azonban objektíven vizsgáljuk a tényeket, ez az állítás nem igaz. Sok ember nem tudja, hogy ennek a támadásnak része volt a Pre-Shared Key (PSK) kitalálása brute force módszerrel, és egy ilyen támadás csak akkor lehet sikeres, ha a PSK gyenge. A PSK is csak egy jelszó, és mint minden jelszónál, itt is igaz: a gyenge jelszavak rossz biztonsághoz vezetnek. Amíg a PSK legalább 14 karakter hosszú (minél hosszabb, annál jobb), kis- és nagybetűket, valamint számokat tartalmaz, és véletlenszerűen lett generálva (így nem lehet könnyen kitalálni), és amíg a Phase 1 hash algoritmus legalább SHA1 (vagy még jobb, javasoljuk a SHA-256-ot, ha lehetséges), nincs semmi ok arra, hogy az IKEv1 Aggressive Mode Pre-Shared Key kapcsolat kevésbé biztonságosnak tekintse az IKEv1 Main Mode Pre-Shared Key kapcsolathoz képest. Ha még nagyobb biztonságot szeretne, váltson tanúsítvány alapú hitelesítésre, ha lehetséges, mert ebben az esetben a támadás egyáltalán nem lehetséges.
Technikai háttér:
A Pre-Shared Key (PSK) nem egy jelszó, amelyet az adatok titkosítására használnak, hanem kizárólag a hitelesítésre, hasonlóan ahhoz, mint amikor egy felhasználó jelszavával bejelentkezik egy weboldalra. A Phase 1 során mindkét oldalnak bizonyítania kell egymásnak, hogy ismeri a PSK-t. Ez természetesen nem úgy történhet meg, hogy az egyik oldal elküldi a másoknak, mert még ha a másik oldal eddig nem ismerte volna, most már igen. Ehelyett mindkét oldalon számolniuk kell egy számot (egy hash értéket), amelyhez egyrészt azokat az adatokat használják, amelyeket már cseréltek ki (és amelyek minden kapcsolatteremtéskor mások, hogy biztosítsák a hash érték is minden alkalommal más legyen), és másrészt magát a PSK-t. Csak ez a hash érték kerül elküldésre a másik oldalra, amelynek aztán pontosan ugyanazokat a számításokat kell elvégeznie. Ha az eredmény megegyezik, akkor a másik oldalon is ugyanazt a PSK-t kellett használni, tehát ő ismeri azt. Ugyanezt a játékot megismételjük a másik irányba is, bár a számítások itt kissé eltérnek, hogy garantáltan mindig más legyen a két hash érték, mert azonos értéket visszaküldeni természetesen nem bizonyít semmit.
A Main Mode és az Aggressive Mode közötti különbség egyszerűen annyi, hogy a Main Mode-ban a hash érték titkosítva kerül továbbításra, mivel a kulcs csere eljárás (DH Exchange), amely mindkét oldalon egy biztonságos session kulcshoz vezet, ekkor már teljesen lezárult, és amint mindkét oldal rendelkezik egy session kulccsal, az összes csomag csak titkosítva kerül továbbításra. Az Aggressive Mode-ban a hash érték titkosítatlanul kerül továbbításra, mivel a kulcs csere még nem fejeződött be. Ezáltal, ha egy támadó beleszi magát egy Aggressive Mode kapcsolatba, mind a hash értéket, mind az ehhez az érték kiszámításához szükséges összes adatot megkaphatja, kivéve a tényleges PSK-t. Ezzel azonban a támadó még nem törte fel a kapcsolatot, csak elegendő információval rendelkezik ahhoz, hogy elinduljon a PSK keresésére, például egy úgynevezett "brute force" támadással (egyszerűen kipróbálja az összes lehetséges kombinációt) vagy egy szótár támadással (kipróbálja a gyakran használt jelszavakat, amelyeket más online szolgáltatások adatvédelmi incidensei során szerezhetett meg). Csak akkor tudja végül feltörni a kapcsolatot, ha a PSK túl gyenge ahhoz, hogy ellenálljon ezeknek a támadásoknak. Ezért elengedhetetlen egy jó és kellően biztonságos PSK a PSK VPN kapcsolat biztonsága szempontjából.
Azonban ugyanazt a támadást lehet végrehajtani egy Main Mode kapcsolattal szemben is, csak ehhez több munkára van szükség. A Main Mode esetében ugyanis nem elég csak a forgalmat figyelni, hanem egy úgynevezett Man-in-the-Middle (MitM) támadásra van szükség, azaz a támadónak le kell tudnia fogni és manipulálni is a forgalmat. Egy MitM támadáson keresztül egy támadó ki tudja iktatni a titkosítást, ami bár nem elegendő ahhoz, hogy hozzáférjen a VPN-hez, mert ehhez továbbra is szükség van a PSK-ra, mivel anélkül a Phase 1 nem fejeződik be sikeresen, de még akkor is a támadó megkapja a hash értéket és az összes számításhoz szükséges adatot, és ugyanúgy megpróbálhatja kitalálni a PSK-t. És ha egy támadó már képes figyelni minden forgalmat (ami feltétele a bármilyen támadásnak), akkor nagyon valószínű, hogy tud végrehajtani egy MitM támadást is, és legkésőbb ekkor a Main Mode nem nyújt több védelmet.
Egy 11 véletlenszerű alfanumerikus karakterből álló PSK körülbelül 64 bites entrópiaértékkel rendelkezik, ami 2^64 lehetséges érték. A modern high-end grafikus kártyák (2016-os adatok szerint) másodpercenként körülbelül 1 milliárd SHA-256 hash értéket tudnak kiszámítani. Átlagosan az összes lehetőség 50%-át kell kipróbálni egy találat eléréséhez, ami 292 évig tartana. Ha azonban a támadó rendelkezik 100 ilyen grafikus kártyával, akkor a támadás "csak" körülbelül 3 évig tartana. De már 14 karakter esetén az entrópia 80 bitre nő, és egyetlen grafikus kártyának is 19 154 798 év lenne szüksége. Még csak 10 000 grafikus kártya sem csökkentené jelentősen az időt. És soha nem szabad figyelmen kívül hagyni egy ilyen támadás költségeit. Nem annyira a grafikus kártyák megvásárlási költsége, hanem inkább azok energiafogyasztása, ha ezek a grafikus kártyák 24 órán át maximális teljesítményen működnek évekig, évtizedekig vagy akár évszázadokig. Ez gyorsan milliárd eurós áramköltséghez vezethet csak egyetlen PSK kapcsolat feltöréséhez. Ráadásul minden alkalommal, amikor megváltozik a PSK, a támadónak újra kell kezdenie. Ha tehát a PSK-t csak évente egyszer cserélik le, akkor a támadó legfeljebb 1 évig tartó idővel rendelkezik a megtalálására; ez még egy gyenge PSK esetén is elég ambiciózus lenne.