Post-analýza: co se ví o posledním útoku na síť serverů kryptografických klíčů SKS Keyserver

Hackeři využili funkcionalitu protokolu OpenPGP, která je známa více než deset let.

Vysvětlujeme, v čem spočívá problém a proč ho nelze opravit.

Post-analýza: co se ví o posledním útoku na síť serverů kryptografických klíčů SKS Keyserver
/ Unsplash / Chunlea Ju

Problémy v síti

V polovině června neznámí provedli útok na síť serverů kryptografických klíčů SKS Keyserver, postavenou na bázi protokolu OpenPGP. Jedná se o standard IETF (RFC 4880), který se používá pro šifrování e-mailů a dalších zpráv. Síť SKS byla vytvořena před třiceti lety pro distribuci veřejných certifikátů. K ní se připojují nástroje jako GnuPG 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ůsobuje selhání práce GnuPG — systém se jednoduše zasekne. Existují důvody se domnívat, že tímto zločinci neskončí a počet kompromitovaných certifikátů bude pouze růst. K dnešnímu dni zůstávají rozsahy problému neznámé.

Podstata útoku

Hackeři využili zranitelnost v protokolu OpenPGP. Ta je komunitě známa už řadu let. Dokonce na GitHubu je možné najít jsou příslušné exploity. Ale zatím se nikdo nepřihlásil k odpovědnosti za opravu "díry" (o příčinách si povíme podrobněji).

Dvě doporučení z našeho blogu na Habr:

Podle specifikace OpenPGP může kdokoli přidávat digitální podpisy k certifikátům pro potvrzení jejich vlastníka. A maximální počet podpisů není nijak regulován. A zde vzniká problém — síť SKS umožňuje umístit až 150 tisíc podpisů na jeden certifikát, ale GnuPG takové množství nepodporuje. Při načítání certifikátu se tedy GnuPG (jak ostatně i jiné implementace OpenPGP) zasekne.

Jeden z uživatelů provedl experiment — import certifikátu mu zabral přibližně 10 minut. Certifikát měl více než 54 tisíc podpisů a jeho velikost činila 17 MB:

$ gpg --homedir=$PWD --recv C4BC2DDB38CCE96485EBE9C2F20691179038E5C6
gpg: klíč F20691179038E5C6: odstraněny 4 duplicitní podpisy
gpg: klíč F20691179038E5C6: 54614 podpisů nebylo zkontrolováno kvůli chybějícím klíčům
gpg: klíč F20691179038E5C6: 4 podpisy byly přeřazeny
gpg: klíč F20691179038E5C6: veřejný klíč "Daniel Kahn Gillmor <dkg@fifthhorseman.net>" importován
gpg: nenalezeny žádné konečně důvěryhodné klíče
gpg: Celkový počet zpracovaných: 1
gpg:               importováno: 1
$ ls -lh pubring.gpg
-rw-r--r--  1 filippo  staff    17M  2 Jul 16:30 pubring.gpg

Situaci zhoršuje fakt, že klíčové servery s OpenPGP neodstraňují informace o certifikátech. To bylo zavedeno, aby bylo možné sledovat řetězec všech akcí s certifikáty a vyloučit jejich záměnu. Proto není možné odstranit kompromitované prvky.

V podstatě síť SKS představuje velký "soubory server", na který si každý může uložit data. Abychom ilustrovali problém, v loňském roce rezident GitHub vytvořil souborový systém, který uchovává dokumenty v síti serverů kryptografických klíčů.

Proč zranitelnost nebyla uzavřena

Pro uzavření zranitelnosti nebyl důvod. Dříve nebyla použita k provádění hackerských útoků. I když IT komunita už dávno žádala vývojáře SKS a OpenPGP, aby se zaměřili na problém.

Spravedlnosti je třeba říci, že v červnu se přece jen spustili experimentální klíčový server keys.openpgp.org. V něm byla implementována ochrana proti těmto typům útoků. Jeho databáze se však plní od nuly a server není součástí SKS. Proto potrvá nějakou dobu, než bude možné jej používat.

Post-analýza: co se ví o posledním útoku na síť serverů kryptografických klíčů SKS Keyserver
/ Unsplash / Rubén Bagüés

Co se týče chyby v původním systému, její opravy brání složitý mechanismus synchronizace. Síť klíčových serverů byla původně napsána jako proof of concept pro ochranu doktorské disertace Yaron Minsky. Pro jehož práci byl zvolen poměrně specifický jazyk OCaml. Podle slov správcovství Roberta Hansena je těžké se v kódu vyznat, a proto se do něj provádějí pouze malé opravy. Aby se architektura SKS mohla modifikovat, musela by být přepsána od nuly.

V každém případě v GnuPG nevěří, že by síť mohla kdy být opravena. V příspěvku na GitHubu vývojáři dokonce napsali, že nedoporučují pracovat s SKS Keyserver. Vlastně, to je jeden z hlavních důvodů, proč iniciovali přechod na nový servis keys.openpgp.org. Zbývá nám jen sledovat další vývoj událostí.

Některé materiály z našeho firemního blogu:

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster