Hacks har udnyttet en egenskab i OpenPGP-protokollen, som har været kendt i mere end ti år.
Vi forklarer, hvad der er på spil, og hvorfor det ikke kan lukkes.
/ Unsplash /
Problemer i netværket
I midten af juni udførte ukendte på netværket af kryptografiske nøgle-servere , bygget på OpenPGP-protokollen. Dette er en IETF-standard (), som bruges til kryptering af e-mails og andre beskeder. SKS-netværket blev oprettet for tredive år siden til distribution af offentlige certifikater. Værktøjer som bruges til at kryptere data og oprette digitale signaturer.
Hackerne har kompromitteret certifikaterne for to vedligeholdere af GnuPG-projektet — Robert Hansen og Daniel Gillmor. Download af det beskadigede certifikat fra serveren medfører, at GnuPG fejler — systemet fryser simpelthen. Der er grund til at tro, at dette ikke vil stoppe her, og antallet af kompromitterede certifikater kun vil stige. Omfanget af problemet er i øjeblikket ukendt.
Angrebsmetoden
Hackerne har udnyttet en sårbarhed i OpenPGP-protokollen, som samfundet har kendt til i mange år. Selv på GitHub findes de relevante exploits. Men indtil videre har ingen påtaget sig ansvaret for at lukke "hullet" (mere om årsagerne senere).
Et par udvalgte indlæg fra vores blog på Habr:
Ifølge specifikationen for OpenPGP kan enhver tilføje digitale signaturer til certifikater for at bekræfte deres ejer. Det maksimale antal signaturer er ikke reguleret. Her opstår problemet — SKS-netværket tillader op til 150.000 signaturer på ét certifikat, men GnuPG understøtter ikke så mange. Når certifikatet indlæses, fryser GnuPG (ligesom andre implementeringer af OpenPGP).
En af brugerne — import af certifikatet tog ham cirka 10 minutter. Certifikatet havde over 54.000 signaturer, og dets størrelse 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 " 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 det faktum, at OpenPGP-nøgleservere ikke sletter oplysninger om certifikater. Dette er gjort for at kunne spore hele rækken af handlinger med certifikaterne og forhindre deres substitution. Derfor er det ikke muligt at fjerne kompromitterede elementer.
I princippet er SKS-netværket en stor "filer-server", hvor enhver kan skrive data. For at illustrere problemet, skabte en resident fra GitHub sidste år , der opbevarer dokumenter i netværket af kryptografiske nøgleservere.
Hvorfor sårbarheden ikke blev rettet
Der var ingen grund til at lukke sårbarheden. Tidligere blev den ikke brugt til at udføre hackerangreb. Selvom IT-fællesskabet SKS og OpenPGP-udviklerne om at se nærmere på problemet.
Retfærdigvis skal det nævnes, at de i juni alligevel et eksperimentelt nøgleserver . Den har implementeret beskyttelse mod sådanne typer angreb. Men dens database fyldes fra bunden, og serveren er ikke en del af SKS. Derfor vil det tage tid, før den kan bruges.

/ Unsplash /
Hvad angår fejlen i det originale system, er det en kompliceret synkroniseringsmekanisme, der forhindrer rettelsen. Nøgleservernetværket blev oprindeligt skrevet som proof of concept til beskyttelse af Yaron Minsky's doktorafhandling. Og et ret specifikt sprog, OCaml, blev valgt til arbejdet. Ifølge vedligeholder Robert Hansen er det svært at forstå koden, hvorfor der kun foretages mindre rettelser. For at ændre SKS' arkitektur skal den skrives om fra bunden.
Under alle omstændigheder tror GnuPG ikke, at netværket nogensinde vil kunne rettes. I et indlæg på GitHub skrev udviklerne endda, at de ikke anbefaler at arbejde med SKS-nøgleserveren. Faktisk er det en af de vigtigste grunde til, at de har initieret overgangen til den nye service keys.openpgp.org. Vi kan kun følge udviklingen fremover.
Et par materialer fra vores virksomhedsbog:
Kilde: habr.com
