Utóelemzés: mi ismert a legutolsó támadásról a SKS Keyserver kriptokulcs hálózat ellen

A hekkerek kihasználták az OpenPGP protokoll egy jellemzőjét, amely már több mint tíz éve ismert.

Elmondjuk, miről van szó, és miért nem lehet ezt kijavítani.

Utóelemzés: mi ismert a legutolsó támadásról a SKS Keyserver kriptokulcs hálózat ellen
/ Unsplash / Chunlea Ju

Hálózati problémák

Június közepén ismeretlenek támadást hajtottak végre a kriptográfiai kulcsok kiszolgálóinak hálózatán SKS Keyserver, amely az OpenPGP protokollra épült. Ez az IETF standard (RFC 4880), amelyet e-mailek és más üzenetek titkosítására használnak. Az SKS hálózatot harminc évvel ezelőtt alakították ki nyilvános tanúsítványok terjesztésére. Olyan eszközök csatlakoznak hozzá, mint a GnuPG az adatok titkosításához és digitális aláírások létrehozásához.

A hekkerek kompromittálták a GnuPG projekt két maintainerének, Robert Hansennek és Daniel Gillmornak a tanúsítványait. A sérült tanúsítvány letöltése a szerverről a GnuPG működésének leállásához vezet — a rendszer egyszerűen lefagy. Van okunk feltételezni, hogy a támadók nem állnak meg itt, és a kompromittált tanúsítványok száma csak növekedni fog. Jelenleg a probléma mértéke még ismeretlen.

A támadás lényege

A hekkerek kihasználták az OpenPGP protokoll egy sebezhetőségét. Ezt a közösség már évtizedek óta ismeri. Még a GitHub-on is köztük olyan cégeket találunk, mint a WIRED, a Ford és a General Motors, a SpaceX, a GitHub és a GitLab, valamint még ezer másik. vannak megfelelő exploitok. De eddig senki sem vállalta a felelősséget a „lyuk” kijavításáért (erről a későbbiekben részletesebben beszélünk).

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

Az OpenPGP specifikáció szerint bárki hozzáadhat digitális aláírásokat a tanúsítványokhoz a tulajdonosuk megerősítésére. A maximális aláírások száma nincs szabályozva. 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ámogat ennyi aláírást. Így, amikor a tanúsítványt betöltjük, a GnuPG (és más OpenPGP megvalósítások is) lefagy.

Az egyik felhasználó kísérletet végzett — a tanúsítvány importálása körülbelül 10 percet vett igénybe. A tanúsítványnak több mint 54 ezer aláírása volt, és a mérete 17 MB volt:

$ gpg --homedir=$PWD --recv C4BC2DDB38CCE96485EBE9C2F20691179038E5C6
gpg: kulcs F20691179038E5C6: 4 duplikált aláírás eltávolítva
gpg: kulcs F20691179038E5C6: 54614 aláírás nem lett ellenőrizve hiányzó kulcsok miatt
gpg: kulcs F20691179038E5C6: 4 aláírás átrendezve
gpg: kulcs F20691179038E5C6: nyilvános kulcs "Daniel Kahn Gillmor " importálva
gpg: nem található véglegesen megbízható kulcs
gpg: Összesen feldolgozott: 1
gpg:               importálva: 1
$ ls -lh pubring.gpg
-rw-r--r--  1 filippo  staff    17M  2 Jul 16:30 pubring.gpg

A helyzetet súlyosbítja, hogy az OpenPGP kulcs szerverek nem törlik a tanúsítványokkal kapcsolatos információkat. Ez azért van, hogy nyomon lehessen követni a tanúsítványokkal kapcsolatos összes tevékenységet és megakadályozni a hamisítást. Ezért a kompromittált elemek eltávolítása nem lehetséges.

Lényegében az SKS hálózat egy nagy "fájl szerver", ahová bárki írhat adatokat. A probléma illusztrálására tavaly a GitHub egyik lakója létrehozott egy fájlrendszert, amely dokumentumokat tárol a kriptográfiai kulcsok szerverei között.

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

A sebezhetőség lezárására nem volt ok. Korábban nem használták hacker támadások végrehajtására. Bár az IT közösség régen kérte az SKS és OpenPGP fejlesztőit, hogy figyeljenek a problémára.

A tisztesség kedvéért érdemes megjegyezni, hogy júniusban mégis elindították egy kísérleti kulcsszerver keys.openpgp.orgindult. Ez védelmet nyújt az ilyen típusú támadásokkal szemben. Azonban az adatbázisát nulláról töltik fel, és maga a szerver nem része az SKS-nek. Ezért időbe telik, mire használhatóvá válik.

Utóelemzés: mi ismert a legutolsó támadásról a SKS Keyserver kriptokulcs hálózat ellen
/ Unsplash / Rubén Bagüés

Ami az eredeti rendszer hibáját illeti, annak javítását egy bonyolult szinkronizációs mechanizmus akadályozza. A kulcsszerverek hálózatát eredetileg Yaron Minsky doktori disszertációjának védelmére írták proof of conceptként. Ráadásul egy meglehetősen specifikus OCaml nyelvet választottak a munkához. A szavak fenntartó Robert Hansen szerint nehéz eligibilizálni a kódot, ezért csak apró javításokat végeznek el. Az SKS architektúráját modifikálni, azt nulláról újra kellene írni.

Mindenesetre a GnuPG nem hiszi, hogy a hálózatot valaha is sikerülne megjavítani. A GitHubon írt posztban a fejlesztők még azt is megjegyezték, hogy nem ajánlják az SKS Keyserver használatát. Valójában ez az egyik fő oka annak, hogy elindították az átállást az új keys.openpgp.org szolgáltatásra. Csak figyelnünk kell a további események alakulását.

Néhány anyag a vállalati blogunkból:

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster