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.
/Unsplash/
Netwerkproblemen
Half juni, onbekend
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
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
$ 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
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
Om eerlijk te zijn, is het vermeldenswaard dat ze in juni nog steeds bestaan
/Unsplash/
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
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