Efteranalyse: hvad er kendt om det seneste angreb på SKS Keyserver-netværket af kryptonøgleservere

Hackerne brugte en funktion i OpenPGP-protokollen, som har været kendt i mere end ti år.

Vi fortæller dig, hvad pointen er, og hvorfor de ikke kan lukke den.

Efteranalyse: hvad er kendt om det seneste angreb på SKS Keyserver-netværket af kryptonøgleservere
/Unsplash/ Chunlea Ju

Netværksproblemer

I midten af ​​juni, ukendt udførte et angreb til et netværk af kryptografiske nøgleservere SKS nøgleserver, bygget på OpenPGP-protokollen. Dette er en IETF standard (RFC 4880), som bruges til at kryptere e-mail og andre meddelelser. SKS-netværket blev oprettet for tredive år siden for at distribuere offentlige certifikater. Det indeholder værktøjer som f.eks GnuPG til kryptering af data og oprettelse af elektroniske digitale signaturer.

Hackere kompromitterede certifikaterne fra to GnuPG-projektvedligeholdere, Robert Hansen og Daniel Gillmor. Indlæsning af et beskadiget certifikat fra serveren får GnuPG til at fejle - systemet fryser simpelthen. Der er grund til at tro, at angriberne ikke vil stoppe der, og antallet af kompromitterede certifikater vil kun stige. På nuværende tidspunkt er omfanget af problemet ukendt.

Essensen af ​​angrebet

Hackere udnyttede en sårbarhed i OpenPGP-protokollen. Hun har været kendt af samfundet i årtier. Selv på GitHub kan findes tilsvarende udnyttelser. Men indtil videre har ingen taget ansvar for at lukke "hullet" (vi vil tale om årsagerne mere detaljeret senere).

Et par udvalg fra vores blog på Habré:

Ifølge OpenPGP-specifikationen kan enhver tilføje digitale signaturer til certifikater for at bekræfte deres ejer. Desuden er det maksimale antal underskrifter ikke reguleret på nogen måde. Og her opstår et problem - SKS-netværket giver dig mulighed for at placere op til 150 tusinde signaturer på et certifikat, men GnuPG understøtter ikke et sådant nummer. Når certifikatet indlæses, fryser GnuPG (såvel som andre OpenPGP-implementeringer) således.

En af brugerne gennemførte et eksperiment — at importere certifikatet tog ham omkring 10 minutter. Certifikatet havde mere end 54 tusinde signaturer, og dets vægt 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

For at gøre tingene værre fjerner OpenPGP-nøgleservere ikke certifikatoplysninger. Dette gøres, så du kan spore kæden af ​​alle handlinger med certifikater og forhindre deres substitution. Derfor er det umuligt at eliminere kompromitterede elementer.

Grundlæggende er SKS-netværket en stor "filserver", som alle kan skrive data til. For at illustrere problemet, sidste år GitHub beboer oprettet et filsystem, som gemmer dokumenter på et netværk af kryptografiske nøgleservere.

Hvorfor blev sårbarheden ikke lukket?

Der var ingen grund til at lukke sårbarheden. Tidligere blev det ikke brugt til hackerangreb. Selvom IT-miljøet spurgt i lang tid SKS- og OpenPGP-udviklere bør være opmærksomme på problemet.

For at være retfærdig er det værd at bemærke, at de stadig i juni lanceret eksperimentel nøgleserver keys.openpgp.org. Det giver beskyttelse mod disse typer angreb. Dens database er dog udfyldt fra bunden, og selve serveren er ikke en del af SKS. Derfor vil det tage tid, før det kan bruges.

Efteranalyse: hvad er kendt om det seneste angreb på SKS Keyserver-netværket af kryptonøgleservere
/Unsplash/ Rubén Bagües

Hvad angår fejlen i det originale system, forhindrer en kompleks synkroniseringsmekanisme, at den bliver rettet. Nøgleservernetværket blev oprindeligt skrevet som et proof of concept for Yaron Minskys ph.d.-afhandling. Desuden blev et ret specifikt sprog, OCaml, valgt til arbejdet. Ved ifølge vedligeholder Robert Hansen, koden er svær at forstå, så der er kun foretaget mindre rettelser i den. For at ændre SKS-arkitekturen skal den omskrives fra bunden.

Under alle omstændigheder tror GnuPG ikke på, at netværket nogensinde vil blive fikset. I et indlæg på GitHub skrev udviklerne endda, at de ikke anbefaler at arbejde med SKS Keyserver. Faktisk er dette en af ​​hovedårsagerne til, at de påbegyndte overgangen til den nye tjeneste keys.openpgp.org. Vi kan kun se begivenhedernes videre udvikling.

Et par materialer fra vores virksomhedsblog:

Kilde: www.habr.com

Tilføj en kommentar