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

Hackere udnyttede en funktion i OpenPGP-protokollen, der har været kendt i over et årti.

Vi fortæller dig, hvad essensen er, og hvorfor den ikke kan lukkes.

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, ukendte personer udførte et angreb til netværket af kryptografiske nøgleservere SKS-nøgleserver, bygget på basis af OpenPGP-protokollen. Dette er en IETF-standard (RFC 4880), som bruges til at kryptere e-mails og andre beskeder. SKS-netværket blev oprettet for tredive år siden for at distribuere offentlige certifikater. Værktøjer som f.eks. GnuPG til datakryptering og oprettelse af elektroniske digitale signaturer.

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

Essensen af ​​angrebet

Hackere udnyttede en sårbarhed i OpenPGP-protokollen. Hun har været kendt i lokalsamfundet i årtier. Selv på GitHub kan findes tilsvarende bedrifter. 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 om Habr:

Ifølge OpenPGP-specifikationen kan alle tilføje digitale signaturer til certifikater for at verificere 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 underskrifter på et certifikat, men GnuPG understøtter ikke et sådant antal. Derfor hænger GnuPG (såvel som andre OpenPGP-implementeringer) når et certifikat indlæses.

En af brugerne gennemførte et eksperiment — det tog ham omkring 10 minutter at importere certifikatet. Certifikatet havde mere end 54 tusind underskrifter og var på 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 <dkg@fifthhorseman.net>" 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

Situationen forværres af, at OpenPGP-nøgleservere ikke fjerner certifikatoplysninger. Dette gøres, så det er muligt at spore kæden af ​​alle handlinger med certifikater og udelukke deres substitution. Derfor er det umuligt at fjerne kompromitterede elementer.

I bund og grund er SKS-netværket en stor "filserver", som alle kan skrive data til. For at illustrere problemet, sidste år en GitHub-beboer oprettede et filsystem, som lagrer dokumenter på et netværk af kryptografiske nøgleservere.

Hvorfor sårbarheden ikke blev lukket

Der var ingen grund til at lukke sårbarheden. Det er ikke blevet brugt til at udføre hackerangreb før. Selvom IT-miljøet Jeg har spurgt i lang tid SKS- og OpenPGP-udviklere bør være opmærksomme på problemet.

For at være fair skal det bemærkes, at de i juni stadig lanceret eksperimentel nøgleserver keys.openpgp.org. Den har implementeret beskyttelse mod den slags angreb. Databasen er dog fyldt fra bunden, og selve serveren er ikke en del af SKS. Så det vil tage lidt tid, før det kan bruges.

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

Hvad angår fejlen i det oprindelige system, forhindrer den komplekse synkroniseringsmekanisme den i at blive rettet. Key Server Network blev oprindeligt skrevet som et proof of concept til 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. For at ændre SKS-arkitekturen skal den omskrives fra bunden.

Under alle omstændigheder tror GnuPG ikke, at netværket nogensinde vil blive repareret. 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 keys.openpgp.org-tjeneste. Vi kan kun se, hvordan begivenhederne udvikler sig yderligere.

Et par materialer fra vores virksomhedsblog:

Kilde: www.habr.com

Køb pålidelig hosting til websteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster