Hackarna använde en funktion i OpenPGP-protokollet som har varit känd i mer än tio år.
Vi berättar vad poängen är och varför de inte kan stänga den.
/Unsplash/
Nätverksproblem
I mitten av juni, okänt
Hackare äventyrade certifikaten från två GnuPG-projektunderhållare, Robert Hansen och Daniel Gillmor. Att ladda ett skadat certifikat från servern gör att GnuPG misslyckas – systemet fryser helt enkelt. Det finns anledning att tro att angriparna inte kommer att sluta där, och antalet komprometterade certifikat kommer bara att öka. För närvarande är problemets omfattning okänd.
Kärnan i attacken
Hackare utnyttjade en sårbarhet i OpenPGP-protokollet. Hon har varit känd för samhället i decennier. Även på GitHub
Ett par urval från vår blogg på Habré:
Enligt OpenPGP-specifikationen kan vem som helst lägga till digitala signaturer till certifikat för att verifiera sin ägare. Dessutom är det maximala antalet signaturer inte reglerat på något sätt. Och här uppstår ett problem - SKS-nätverket låter dig placera upp till 150 tusen signaturer på ett certifikat, men GnuPG stöder inte ett sådant nummer. Sålunda, när certifikatet laddas, fryser GnuPG (liksom andra OpenPGP-implementationer).
En av användarna
$ 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
För att göra saken värre tar inte OpenPGP-nyckelservrar bort certifikatinformation. Detta görs så att du kan spåra kedjan av alla åtgärder med certifikat och förhindra att de ersätts. Därför är det omöjligt att eliminera komprometterade element.
I huvudsak är SKS-nätverket en stor "filserver" till vilken vem som helst kan skriva data. För att illustrera problemet, förra året bosatt i GitHub
Varför stängdes inte sårbarheten?
Det fanns ingen anledning att stänga sårbarheten. Tidigare användes den inte för hackerattacker. Även om IT-gemenskapen
För att vara rättvis är det värt att notera att de fortfarande i juni
/Unsplash/
När det gäller buggen i det ursprungliga systemet, förhindrar en komplex synkroniseringsmekanism att den åtgärdas. Nyckelservernätverket skrevs ursprungligen som ett proof of concept för Yaron Minskys doktorsavhandling. Dessutom valdes ett ganska specifikt språk, OCaml, för arbetet. Förbi
GnuPG tror i alla fall inte att nätverket någonsin kommer att fixas. I ett inlägg på GitHub skrev utvecklarna till och med att de inte rekommenderar att arbeta med SKS Keyserver. Egentligen är detta en av huvudorsakerna till att de initierade övergången till den nya tjänsten keys.openpgp.org. Vi kan bara se den fortsatta utvecklingen av händelser.
Ett par material från vår företagsblogg:
Källa: will.com