Hackeři použili funkci protokolu OpenPGP, která je známá již více než deset let.
Řekneme vám, o co jde a proč to nemohou uzavřít.
/unsplash/
Problémy se sítí
V polovině června neznámo do sítě serverů kryptografických klíčů , postavený na protokolu OpenPGP. Toto je standard IETF (), který se používá k šifrování e-mailů a dalších zpráv. Síť SKS vznikla před třiceti lety za účelem distribuce veřejných certifikátů. Zahrnuje nástroje jako např pro šifrování dat a vytváření elektronických digitálních podpisů.
Hackeři kompromitovali certifikáty dvou správců projektu GnuPG, Roberta Hansena a Daniela Gillmora. Načtení poškozeného certifikátu ze serveru způsobí selhání GnuPG – systém jednoduše zamrzne. Existuje důvod se domnívat, že se tím útočníci nezastaví a počet kompromitovaných certifikátů bude jen narůstat. V tuto chvíli zůstává rozsah problému neznámý.
Podstata útoku
Hackeři využili zranitelnosti v protokolu OpenPGP. Komunitě je známá už desítky let. Dokonce i na GitHubu odpovídající exploity. Ale zatím nikdo nepřevzal odpovědnost za uzavření „díry“ (o důvodech si povíme podrobněji později).
Pár výběrů z našeho blogu na Habré:
Podle specifikace OpenPGP může kdokoli přidávat k certifikátům digitální podpisy pro ověření jejich vlastníka. Maximální počet podpisů navíc není nijak regulován. A zde nastává problém – síť SKS umožňuje umístit až 150 tisíc podpisů na jeden certifikát, ale GnuPG takový počet nepodporuje. Při načítání certifikátu tedy GnuPG (ale i další implementace OpenPGP) zamrzne.
Jeden z uživatelů — import certifikátu mu trval asi 10 minut. Certifikát měl více než 54 tisíc podpisů a jeho váha byla 17 MB:
$ 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 <dkg@fifthhorseman.net>" 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
Aby toho nebylo málo, servery klíčů OpenPGP neodstraňují informace o certifikátech. Děje se tak proto, abyste mohli sledovat řetězec všech akcí s certifikáty a zabránit jejich záměně. Proto je nemožné eliminovat kompromitované prvky.
Síť SKS je v podstatě velký „souborový server“, na který může kdokoli zapisovat data. Pro ilustraci problému, minulý rok rezident GitHubu , která ukládá dokumenty na síti serverů kryptografických klíčů.
Proč nebyla zranitelnost uzavřena?
Nebyl důvod tuto chybu zabezpečení uzavřít. Dříve se nepoužíval k útokům hackerů. I když IT komunita Vývojáři SKS a OpenPGP by měli tomuto problému věnovat pozornost.
Abychom byli spravedliví, stojí za zmínku, že v červnu stále experimentální klíčový server . Poskytuje ochranu proti těmto typům útoků. Jeho databáze je však naplněna od nuly a samotný server není součástí SKS. Proto bude chvíli trvat, než bude možné jej použít.

/unsplash/
Pokud jde o chybu v původním systému, její opravě brání složitý synchronizační mechanismus. Síť klíčových serverů byla původně napsána jako důkaz koncepce pro doktorskou práci Yarona Minského. Navíc byl pro práci zvolen poměrně specifický jazyk, OCaml. Podle správce Robert Hansen, kód je obtížně srozumitelný, takže jsou v něm provedeny pouze drobné opravy. Chcete-li upravit architekturu SKS, bude muset být přepsána od začátku.
GnuPG každopádně nevěří, že se síť někdy podaří opravit. V příspěvku na GitHubu dokonce vývojáři napsali, že nedoporučují pracovat s SKS Keyserver. Ve skutečnosti je to jeden z hlavních důvodů, proč zahájili přechod na novou službu keys.openpgp.org. Můžeme jen sledovat další vývoj událostí.
Pár materiálů z našeho firemního blogu:
Zdroj: www.habr.com
