Efteranalys: vad är känt om den senaste attacken mot SKS Keyserver-nätverket av kryptonyckelservrar

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.

Efteranalys: vad är känt om den senaste attacken mot SKS Keyserver-nätverket av kryptonyckelservrar
/Unsplash/ Chunlea Ju

Nätverksproblem

I mitten av juni, okänt utförde ett angrepp till ett nätverk av kryptografiska nyckelservrar SKS nyckelserver, byggd på OpenPGP-protokollet. Detta är en IETF-standard (RFC 4880), som används för att kryptera e-post och andra meddelanden. SKS-nätverket skapades för trettio år sedan för att distribuera offentliga certifikat. Det innehåller verktyg som t.ex GnuPG för att kryptera data och skapa elektroniska digitala signaturer.

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 kan hittas motsvarande bedrifter. Men hittills har ingen tagit ansvar för att stänga "hålet" (vi kommer att prata om orsakerna mer i detalj senare).

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 genomfört ett experiment — Att importera certifikatet tog honom cirka 10 minuter. Certifikatet hade mer än 54 tusen signaturer och vikten var 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

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 skapat ett filsystem, som lagrar dokument på ett nätverk av kryptografiska nyckelservrar.

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 frågade länge SKS- och OpenPGP-utvecklare bör vara uppmärksamma på problemet.

För att vara rättvis är det värt att notera att de fortfarande i juni lanseras experimentell nyckelserver keys.openpgp.org. Det ger skydd mot dessa typer av attacker. Däremot är dess databas fylld från grunden, och själva servern är inte en del av SKS. Därför kommer det att ta tid innan det kan användas.

Efteranalys: vad är känt om den senaste attacken mot SKS Keyserver-nätverket av kryptonyckelservrar
/Unsplash/ Rubén Bagües

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 enligt underhållare Robert Hansen, koden är svår att förstå, så endast mindre korrigeringar görs i den. För att modifiera SKS-arkitekturen måste den skrivas om från grunden.

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

Lägg en kommentar