Utóelemzés: mit tudunk az SKS Keyserver kriptokulcs-szerverek hálózata elleni legújabb támadásról

A hackerek az OpenPGP protokoll egy több mint tíz éve ismert funkcióját használták.

Elmondjuk, mi a lényeg, és miért nem tudják bezárni.

Utóelemzés: mit tudunk az SKS Keyserver kriptokulcs-szerverek hálózata elleni legújabb támadásról
/Unsplash/ Chunlea Ju

Hálózati problémák

Június közepén, ismeretlen támadást hajtott végre kriptográfiai kulcsszerverek hálózatához SKS kulcsszerver, amely az OpenPGP protokollra épül. Ez egy IETF szabvány (RFC 4880), amely az e-mailek és egyéb üzenetek titkosítására szolgál. Az SKS hálózatot harminc évvel ezelőtt hozták létre nyilvános tanúsítványok terjesztésére. Olyan eszközöket tartalmaz, mint pl GnuPG adatok titkosítására és elektronikus digitális aláírások létrehozására.

A hackerek veszélyeztették a GnuPG projekt két karbantartójának, Robert Hansennek és Daniel Gillmornak a tanúsítványát. Sérült tanúsítvány betöltése a szerverről a GnuPG sikertelenségét okozza – a rendszer egyszerűen lefagy. Okkal feltételezhető, hogy a támadók nem állnak meg itt, és a feltört tanúsítványok száma csak növekedni fog. Egyelőre a probléma mértéke nem ismert.

A támadás lényege

A hackerek kihasználták az OpenPGP protokoll egy biztonsági rését. Évtizedek óta ismeri a közösség. Még a GitHubon is megtalálja megfelelő kihasználásait. De eddig senki nem vállalta a felelősséget a „lyuk” bezárásáért (az okokról később még részletesebben beszélünk).

Néhány válogatás a Habré blogunkból:

Az OpenPGP specifikáció szerint bárki digitális aláírást adhat a tanúsítványokhoz, hogy igazolja tulajdonosát. Ráadásul az aláírások maximális számát semmilyen módon nem szabályozzák. És itt egy probléma merül fel - az SKS hálózat lehetővé teszi akár 150 ezer aláírás elhelyezését egy tanúsítványon, de a GnuPG nem támogatja ezt a számot. Így a tanúsítvány betöltésekor a GnuPG (valamint más OpenPGP implementációk) lefagy.

Az egyik felhasználó kísérletet végzett - a tanúsítvány importálása körülbelül 10 percig tartott. A tanúsítvány több mint 54 ezer aláírást tartalmazott, súlya 17 MB volt:

$ gpg --homedir=$PWD --recv C4BC2DDB38CCE96485EBE9C2F20691179038E5C6
gpg: key F20691179038E5C6: 4 duplicate signatures removed
gpg: key F20691179038E5C6: 54614 signatures not checked due to missing keys
gpg: key F20691179038E5C6: 4 signatures reordered
gpg: key F20691179038E5C6: public key "Daniel Kahn Gillmor <[email protected]>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1
$ ls -lh pubring.gpg
-rw-r--r--  1 filippo  staff    17M  2 Jul 16:30 pubring.gpg

A helyzetet rontja, hogy az OpenPGP kulcsszerverek nem távolítják el a tanúsítványinformációkat. Ez azért történik, hogy nyomon tudja követni a tanúsítványokkal végzett műveletek láncát, és megakadályozza azok helyettesítését. Ezért lehetetlen kiküszöbölni a veszélyeztetett elemeket.

Az SKS hálózat lényegében egy nagy „fájlszerver”, amelyre bárki írhat adatokat. A probléma illusztrálására tavaly GitHub rezidens fájlrendszert hozott létre, amely kriptográfiai kulcsszerverek hálózatán tárolja a dokumentumokat.

Miért nem zárták be a sebezhetőséget?

Nem volt oka a sebezhetőség bezárására. Korábban nem használták hackertámadásokhoz. Bár az informatikai közösség – kérdezte sokáig Az SKS és az OpenPGP fejlesztőinek figyelniük kell a problémára.

Az igazság kedvéért érdemes megjegyezni, hogy júniusban még mindig elindított kísérleti kulcsszerver keys.openpgp.org. Védelmet nyújt az ilyen típusú támadások ellen. Az adatbázisa azonban a semmiből van feltöltve, és maga a szerver nem része az SKS-nek. Ezért időbe telhet, mire használható.

Utóelemzés: mit tudunk az SKS Keyserver kriptokulcs-szerverek hálózata elleni legújabb támadásról
/Unsplash/ Bagües Rubén

Ami az eredeti rendszer hibáját illeti, egy összetett szinkronizálási mechanizmus akadályozza meg annak javítását. A kulcsszerver-hálózat eredetileg Yaron Minsky PhD-dolgozatának a koncepció bizonyítékaként készült. Ráadásul egy meglehetősen sajátos nyelvet, az OCaml-t választottak a munkához. Által szerint karbantartó Robert Hansen, a kód nehezen érthető, ezért csak apróbb javításokat végeznek rajta. Az SKS architektúra módosításához a semmiből újra kell írni.

Mindenesetre a GnuPG nem hiszi, hogy a hálózatot valaha is megjavítják. A GitHubon megjelent bejegyzésben a fejlesztők még azt is írták, hogy nem javasolják az SKS Keyserverrel való együttműködést. Valójában ez az egyik fő oka annak, hogy kezdeményezték az átállást az új service keys.openpgp.org-ra. Csak az események további alakulását figyelhetjük.

Pár anyag céges blogunkból:

Forrás: will.com

Hozzászólás