HomeSajtószemle

Hogyan hamisítsunk SSL tanúsítványt?

Kicsit újságírós kezdés, de a szaksajtó tele van az utóbbi napokban Alexander Sotirov, Marc Stevens,

Kicsit újságírós kezdés, de a szaksajtó tele van az utóbbi napokban Alexander Sotirov, Marc Stevens, Jacob Appelbaum, Arjen Lenstra, David Molnar, Dag Arne Osvik és Benne de Wege publikációjával (http://www.win.tue.nl/hashclash/rogue-ca/), akik egy érdekes kísérlet során a gyakorlatban is hasznosították Xiaoyun Wang és Hongbo Yu 2004-ben felfedezett MD5 ütközési elméletét, valamint ennek Marc Stevens általi 2007-es továbbfejlesztését. A cél az volt, hogy készítsenek egy olyan köztes CA tanúsítványt, amivel tetszőleges SSL tanúsítványt lehet kibocsátani, a root CA tanúsítványa pedig egy böngészők által ismert elem legyen. Ezt persze legálisan is el lehet érni, de sokkal érdekesebb a feladat, ha egy legális tanúsítványt módosítanak ilyen célra.

A támadás első lépéseként információt kellett szerezniük arról, hogy mely hitelesítés-szolgáltatók állítanak még ki MD5 lenyomattal tanúsítványt. Ezt ugye már nem illik megtenni, Magyarországon például a Nemzeti Hírközlési Hatóság már csak az SHA-1 és a RIPEMD algoritmusok használatát engedi a HSZ-eknek. A vizsgált 30.000 tanúsítványos mintában a RapidSSL szolgáltató tanúsítványai tűntek a legtámadhatóbbnak, így náluk indult a kísérlet. A cél az volt, hogy egy olyan aláírói tanúsítványt szerezzenek, melynek lenyomata megegyezik a kutatók által előállított köztes CA tanúsítványának lenyomatával. Ehhez először meg kellett jósolni az érvényességi időt és a sorozatszámot, mert ezeket a támadó nem tudja kontrollálni. Miután elköltöttek 700 dollárt tanúsítványra, sikerült egy olyan elemet előállítani, ami megfelelt a követelményeiknek.

Ezután már „csak" meg kellett találni azt a tanúsítványtartalmat, ami megfelel a hivatalos lenyomatnak. Méghozzá úgy, hogy a keresgélést 204 byte-nyi szabad hely felhasználásával kell megtenni. Itt került a képbe a 200 PS3 játékgép, ami architektúrája szerint a legalkalmasabb kriptográfiai műveletek elvégzésére. Ezzel a gépparkkal 64 óra alatt sikerült megtalálni azt a bitsorozatot, amivel az aláírói tanúsítványból létre lehetett hozni a köztes CA tanúsítványt, ami így már tanúsítványkibocsátásra is alkalmassá vált. És lássunk csodát, létrehozhatunk egy olyan SSL tanúsítványt, aminek a köztes CA-ja a hamisított tanúsítványú, a root CA pedig egy hiteles, böngésző által elfogadott tanúsítványú.

Természetesen nincs ok pánikra, ez a támadás a már kiállított tanúsítványokat nem befolyásolja, Magyarországon pedig már nem adnak ki MD5 lenyomattal tanúsítványt. Legalábbis a bejegyzett hitelesítés-szolgáltatók nem. A többiekre viszont nagyon figyeljünk oda!