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.
/ Unsplash /
Hálózati problémák
Június közepén ismeretlenek a kriptográfiai kulcsok kiszolgálóinak hálózatán , amely az OpenPGP protokollra épült. Ez az IETF standard (), 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 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 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ó — 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 , 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 az SKS és OpenPGP fejlesztőit, hogy figyeljenek a problémára.
A tisztesség kedvéért érdemes megjegyezni, hogy júniusban mégis egy kísérleti kulcsszerver indult. 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.

/ Unsplash /
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 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
