Hackers hebben gebruik gemaakt van een kwetsbaarheid in het OpenPGP-protocol, waarvan bekend is dat deze meer dan tien jaar bestaat.
We leggen uit wat de kern van het probleem is en waarom het niet kan worden opgelost.
/ Unsplash /
Problemen in het netwerk
Midden juni voerden onbekenden op een netwerk van cryptografische sleutels , gebouwd op basis van het OpenPGP-protocol. Dit is een IETF-standaard (), die wordt gebruikt voor het versleutelen van e-mails en andere berichten. Het SKS-netwerk is dertig jaar geleden opgericht voor het verspreiden van publieke certificaten. Het maakt verbinding met tools zoals om gegevens te versleutelen en elektronische handtekeningen te maken.
Hackers hebben de certificaten van twee onderhouders van het GnuPG-project gecompromitteerd ā Robert Hansen en Daniel Gillmor. Het downloaden van het beschadigde certificaat van de server veroorzaakt een storing in GnuPG ā het systeem bevriest gewoon. Er zijn redenen om aan te nemen dat de aanvallers hier niet bij zullen stoppen en dat het aantal gecompromitteerde certificaten alleen maar zal toenemen. Op dit moment blijven de omvang van het probleem onbekend.
De essentie van de aanval
Hackers hebben gebruik gemaakt van een kwetsbaarheid in het OpenPGP-protocol. Deze is al tientallen jaren bekend binnen de gemeenschap. Zelfs op GitHub zijn de bijbehorende exploits te vinden. Maar tot nu toe heeft niemand de verantwoordelijkheid genomen om de ākwetsbaarheidā op te lossen (daarna zullen we dieper op de redenen ingaan).
Een paar artikelen uit onze blog op Habr:
Volgens de specificatie van OpenPGP kan iedereen digitale handtekeningen toevoegen aan certificaten ter bevestiging van hun eigenaar. Het maximum aantal handtekeningen is echter niet gereguleerd. En hier ontstaat het probleem ā het SKS-netwerk staat tot 150.000 handtekeningen op ƩƩn certificaat toe, maar GnuPG ondersteunt deze hoeveelheid niet. Bij het downloaden van een certificaat bevriest GnuPG (zoals ook andere implementaties van OpenPGP).
Een van de gebruikers ā het importeren van het certificaat duurde ongeveer 10 minuten. Het certificaat had meer dan 54.000 handtekeningen en woog 17 MB:
$ gpg --homedir=$PWD --recv C4BC2DDB38CCE96485EBE9C2F20691179038E5C6
gpg: sleutel F20691179038E5C6: 4 dubbele handtekeningen verwijderd
gpg: sleutel F20691179038E5C6: 54614 handtekeningen niet gecontroleerd wegens ontbrekende sleutels
gpg: sleutel F20691179038E5C6: 4 handtekeningen opnieuw gerangschikt
gpg: sleutel F20691179038E5C6: publieke sleutel "Daniel Kahn Gillmor " geĆÆmporteerd
gpg: geen uiteindelijk vertrouwde sleutels gevonden
gpg: Totaal aantal verwerkte: 1
gpg: geĆÆmporteerd: 1
$ ls -lh pubring.gpg
-rw-r--r-- 1 filippo staff 17M 2 Jul 16:30 pubring.gpg
De situatie wordt verergerd door het feit dat OpenPGP-sleutelservers geen informatie over certificaten verwijderen. Dit is gedaan om de keten van alle handelingen met certificaten te kunnen volgen en om vervalsing uit te sluiten. Daarom kunnen gecompromitteerde elementen niet worden verwijderd.
De SKS-netwerk fungeert in wezen als een grote "bestandserver" waar iedereen gegevens op kan opslaan. Om het probleem te illustreren, heeft een resident van GitHub vorig jaar , dat documenten opslaat op een netwerk van cryptografische sleutels servers.
Waarom de kwetsbaarheid niet is verholpen
Er was geen aanleiding om de kwetsbaarheid te sluiten. Eerder was het niet gebruikt om hacker-aanvallen uit te voeren. Hoewel de IT-gemeenschap dat de ontwikkelaars van SKS en OpenPGP aandacht besteden aan het probleem.
Ter rechtvaardiging moet worden opgemerkt dat ze in juni toch een experimentele sleutelserver hebben gemaakt . Deze biedt bescherming tegen dergelijke soorten aanvallen. Het database wordt echter vanaf nul opgebouwd en de server is geen onderdeel van SKS. Het zal dus enige tijd duren voordat deze bruikbaar is.

/ Unsplash /
Wat betreft de bug in het originele systeem, de complexe synchronisatie mechanismen maken het lastig om deze te repareren. Het netwerk van sleutelservers is oorspronkelijk geschreven als een proof of concept ter bescherming van de doctoraalscriptie van Yaron Minsky. Daarbij is een vrij specifieke taal, OCaml, gekozen. Volgens onderhouders Robert Hansen, is het moeilijk om in de code te duiken, daarom worden er slechts kleine correcties aangebracht. Om de architectuur van SKS aan te passen, zal deze vanaf nul herschreven moeten worden.
Hoe dan ook, ze geloven bij GnuPG niet dat het netwerk ooit zal worden gerepareerd. In een post op GitHub hebben de ontwikkelaars zelfs geschreven dat ze niet aanraden om met de SKS Keyserver te werken. Dit is eigenlijk een van de belangrijkste redenen waarom ze de overgang naar de nieuwe service keys.openpgp.org hebben geĆÆnitieerd. We kunnen alleen maar de verdere ontwikkelingen observeren.
Een paar artikelen uit onze bedrijfsblog:
Bron: habr.com
