Naanalyse: wat is er bekend over de laatste aanval op het SKS Keyserver-netwerk van cryptosleutelservers

De hackers maakten gebruik van een feature van het OpenPGP-protocol dat al ruim tien jaar bekend is.

Wij vertellen u wat het punt is en waarom ze het niet kunnen sluiten.

Naanalyse: wat is er bekend over de laatste aanval op het SKS Keyserver-netwerk van cryptosleutelservers
/Unsplash/ Chunlea Ju

Netwerkproblemen

Half juni, onbekend een aanval uitgevoerd naar een netwerk van cryptografische sleutelservers SKS-sleutelserver, gebouwd op het OpenPGP-protocol. Dit is een IETF-standaard (RFC 4880), dat wordt gebruikt om e-mail en andere berichten te coderen. Het SKS-netwerk is dertig jaar geleden opgericht om publieke certificaten te distribueren. Het bevat hulpmiddelen zoals GnuPG voor het coderen van gegevens en het maken van elektronische digitale handtekeningen.

Hackers hebben de certificaten van twee GnuPG-projectbeheerders, Robert Hansen en Daniel Gillmor, gecompromitteerd. Het laden van een beschadigd certificaat van de server zorgt ervoor dat GnuPG mislukt; het systeem loopt gewoon vast. Er is reden om aan te nemen dat de aanvallers het daar niet bij zullen laten, en dat het aantal gecompromitteerde certificaten alleen maar zal toenemen. Op dit moment is de omvang van het probleem nog onbekend.

De essentie van de aanval

Hackers maakten misbruik van een kwetsbaarheid in het OpenPGP-protocol. Ze is al tientallen jaren bekend in de gemeenschap. Zelfs op GitHub kan vinden overeenkomstige exploits. Maar tot nu toe heeft niemand de verantwoordelijkheid op zich genomen voor het dichten van het ‘gat’ (we zullen later meer in detail over de redenen praten).

Een paar selecties uit onze blog over Habré:

Volgens de OpenPGP-specificatie kan iedereen digitale handtekeningen aan certificaten toevoegen om de eigenaar ervan te verifiëren. Bovendien is het maximale aantal handtekeningen op geen enkele manier gereguleerd. En hier doet zich een probleem voor: met het SKS-netwerk kunt u tot 150 handtekeningen op één certificaat plaatsen, maar GnuPG ondersteunt een dergelijk aantal niet. Dus bij het laden van het certificaat loopt GnuPG (evenals andere OpenPGP-implementaties) vast.

Een van de gebruikers een experiment uitgevoerd — het importeren van het certificaat kostte hem ongeveer 10 minuten. Het certificaat had meer dan 54 duizend handtekeningen en het gewicht was 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 <[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

Tot overmaat van ramp verwijderen OpenPGP-sleutelservers geen certificaatinformatie. Dit wordt gedaan zodat u de keten van alle acties met certificaten kunt traceren en vervanging ervan kunt voorkomen. Daarom is het onmogelijk om aangetaste elementen te elimineren.

In wezen is het SKS-netwerk een grote “bestandsserver” waarnaar iedereen gegevens kan schrijven. Om het probleem te illustreren, heeft GitHub vorig jaar ingezetene een bestandssysteem gemaakt, dat documenten opslaat op een netwerk van cryptografische sleutelservers.

Waarom is de kwetsbaarheid niet gesloten?

Er was geen reden om de kwetsbaarheid te sluiten. Voorheen werd het niet gebruikt voor hackeraanvallen. Hoewel de IT-gemeenschap lang gevraagd SKS- en OpenPGP-ontwikkelaars moeten aandacht besteden aan dit probleem.

Om eerlijk te zijn, is het vermeldenswaard dat ze in juni nog steeds bestaan gelanceerd experimentele sleutelserver toetsen.openpgp.org. Het biedt bescherming tegen dit soort aanvallen. De database wordt echter helemaal opnieuw gevuld en de server zelf maakt geen deel uit van SKS. Daarom zal het enige tijd duren voordat het kan worden gebruikt.

Naanalyse: wat is er bekend over de laatste aanval op het SKS Keyserver-netwerk van cryptosleutelservers
/Unsplash/ Rubén Bagües

Wat de bug in het oorspronkelijke systeem betreft: een complex synchronisatiemechanisme verhindert dat deze wordt verholpen. Het sleutelservernetwerk is oorspronkelijk geschreven als proof of concept voor het proefschrift van Yaron Minsky. Bovendien werd voor het werk gekozen voor een vrij specifieke taal, OCaml. Door volgens onderhouder Robert Hansen, de code is moeilijk te begrijpen, dus er worden slechts kleine correcties in aangebracht. Om de SKS-architectuur te wijzigen, zal deze helemaal opnieuw moeten worden geschreven.

GnuPG gelooft in ieder geval niet dat het netwerk ooit gerepareerd zal worden. In een post op GitHub schreven de ontwikkelaars zelfs dat ze het werken met SKS Keyserver niet aanbevelen. Eigenlijk is dit een van de belangrijkste redenen waarom ze de transitie naar de nieuwe service key.openpgp.org hebben geïnitieerd. We kunnen alleen maar kijken naar de verdere ontwikkeling van de gebeurtenissen.

Een paar materialen uit onze bedrijfsblog:

Bron: www.habr.com

Voeg een reactie