Post-analiza: kaj je znanega o zadnjem napadu na omrežje strežnikov kripto ključev SKS Keyserver

Hekerji so uporabili funkcijo protokola OpenPGP, ki je znana že več kot deset let.

Povemo vam, v čem je smisel in zakaj ga ne morejo zapreti.

Post-analiza: kaj je znanega o zadnjem napadu na omrežje strežnikov kripto ključev SKS Keyserver
/Unsplash/ Chunlea Ju

Težave z omrežjem

Sredi junija neznano izvedel napad v omrežje strežnikov kriptografskih ključev SKS strežnik ključev, zgrajen na protokolu OpenPGP. To je standard IETF (RFC 4880), ki se uporablja za šifriranje e-pošte in drugih sporočil. Mreža SKS je bila ustanovljena pred tridesetimi leti za distribucijo javnih potrdil. Vključuje orodja, kot so GnuPG za šifriranje podatkov in ustvarjanje elektronskih digitalnih podpisov.

Hekerji so ogrozili potrdila dveh vzdrževalcev projekta GnuPG, Roberta Hansena in Daniela Gillmorja. Nalaganje poškodovanega potrdila s strežnika povzroči odpoved GnuPG—sistem preprosto zamrzne. Obstaja razlog za domnevo, da se napadalci ne bodo ustavili pri tem in da se bo število ogroženih potrdil samo še povečalo. Trenutno obseg problema ostaja neznan.

Bistvo napada

Hekerji so izkoristili ranljivost v protokolu OpenPGP. V skupnosti je poznana že desetletja. Tudi na GitHubu lahko najdem ustrezne podvige. Toda doslej še nihče ni prevzel odgovornosti za zapiranje "luknje" (o razlogih bomo podrobneje govorili pozneje).

Nekaj ​​izbir iz našega bloga na Habréju:

V skladu s specifikacijo OpenPGP lahko kdorkoli doda digitalne podpise potrdilom, da preveri njihovega lastnika. Poleg tega največje število podpisov ni na noben način regulirano. In tu se pojavi težava - omrežje SKS vam omogoča, da postavite do 150 tisoč podpisov na eno potrdilo, vendar GnuPG ne podpira takšne številke. Tako pri nalaganju certifikata GnuPG (kot tudi druge izvedbe OpenPGP) zamrzne.

Eden od uporabnikov izvedli poskus — uvoz potrdila mu je vzel približno 10 minut. Certifikat je imel več kot 54 tisoč podpisov, njegova teža pa je bila 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

Da bi bile stvari še hujše, strežniki ključev OpenPGP ne odstranijo informacij o potrdilu. To se naredi tako, da lahko sledite verigi vseh dejanj s potrdili in preprečite njihovo zamenjavo. Zato je nemogoče odstraniti ogrožene elemente.

V bistvu je omrežje SKS velik »datotečni strežnik«, v katerega lahko kdor koli zapiše podatke. Za ponazoritev težave, lanskoletni rezident GitHuba ustvaril datotečni sistem, ki hrani dokumente v omrežju strežnikov kriptografskih ključev.

Zakaj ranljivost ni bila zaprta?

Ni bilo razloga za zapiranje ranljivosti. Prej se ni uporabljal za hekerske napade. Čeprav skupnost IT dolgo spraševal Razvijalci SKS in OpenPGP bi morali biti pozorni na težavo.

Po pravici povedano velja omeniti, da sta junija še začela eksperimentalni strežnik ključev keys.openpgp.org. Zagotavlja zaščito pred tovrstnimi napadi. Vendar je njegova zbirka podatkov poseljena od začetka in sam strežnik ni del SKS. Zato bo trajalo nekaj časa, preden ga bo mogoče uporabiti.

Post-analiza: kaj je znanega o zadnjem napadu na omrežje strežnikov kripto ključev SKS Keyserver
/Unsplash/ Rubén Bagües

Kar zadeva napako v izvirnem sistemu, zapleten mehanizem za sinhronizacijo preprečuje, da bi jo odpravili. Omrežje ključnih strežnikov je bilo prvotno napisano kot dokaz koncepta za doktorsko disertacijo Yarona Minskyja. Poleg tega je bil za delo izbran precej specifičen jezik, OCaml. Avtor: glede na vzdrževalec Robert Hansen, je koda težko razumljiva, zato so vanjo narejeni le manjši popravki. Če želite spremeniti arhitekturo SKS, jo bo treba znova napisati iz nič.

V vsakem primeru GnuPG ne verjame, da bo omrežje kdaj popravljeno. V objavi na GitHubu so razvijalci celo zapisali, da ne priporočajo dela s SKS Keyserverjem. Pravzaprav je to eden glavnih razlogov, zakaj so sprožili prehod na novo storitev keys.openpgp.org. Nadaljnji razvoj dogodkov lahko le spremljamo.

Nekaj ​​gradiv iz našega korporativnega bloga:

Vir: www.habr.com

Dodaj komentar