Post-analysis: kung ano ang nalalaman tungkol sa pinakabagong pag-atake sa network ng mga crypto-key server na SKS Keyserver

Ang mga hacker ay gumamit ng isang tampok ng OpenPGP protocol na kilala sa loob ng higit sa sampung taon.

Sinasabi namin sa iyo kung ano ang punto at kung bakit hindi nila ito maisara.

Post-analysis: kung ano ang nalalaman tungkol sa pinakabagong pag-atake sa network ng mga crypto-key server na SKS Keyserver
/Unsplash/ Chunlea Ju

Mga problema sa network

Noong kalagitnaan ng Hunyo, hindi alam nagsagawa ng pag-atake sa isang network ng mga cryptographic key server SKS Keyserver, na binuo sa OpenPGP protocol. Ito ay isang pamantayan ng IETF (RFC 4880), na ginagamit upang i-encrypt ang email at iba pang mga mensahe. Ang network ng SKS ay nilikha tatlumpung taon na ang nakakaraan upang ipamahagi ang mga pampublikong sertipiko. Kabilang dito ang mga kasangkapan tulad ng GnuPG para sa pag-encrypt ng data at paglikha ng mga elektronikong digital na lagda.

Nakompromiso ng mga hacker ang mga sertipiko ng dalawang tagapanatili ng proyekto ng GnuPG, sina Robert Hansen at Daniel Gillmor. Ang paglo-load ng sirang certificate mula sa server ay nagiging sanhi ng pagkabigo ng GnuPGβ€”nag-freeze lang ang system. May dahilan upang maniwala na ang mga umaatake ay hindi titigil doon, at ang bilang ng mga nakompromisong sertipiko ay tataas lamang. Sa ngayon, ang lawak ng problema ay nananatiling hindi alam.

Ang kakanyahan ng pag-atake

Sinamantala ng mga hacker ang isang kahinaan sa OpenPGP protocol. Siya ay kilala sa komunidad sa loob ng ilang dekada. Kahit sa GitHub mahahanap kaukulang pagsasamantala. Ngunit sa ngayon ay walang sinuman ang kumuha ng responsibilidad para sa pagsasara ng "butas" (pag-uusapan natin ang mga dahilan nang mas detalyado sa ibang pagkakataon).

Ang ilang mga pagpipilian mula sa aming blog sa HabrΓ©:

Ayon sa detalye ng OpenPGP, sinuman ay maaaring magdagdag ng mga digital na lagda sa mga sertipiko upang i-verify ang kanilang may-ari. Bukod dito, ang maximum na bilang ng mga lagda ay hindi kinokontrol sa anumang paraan. At dito lumitaw ang isang problema - pinapayagan ka ng network ng SKS na maglagay ng hanggang 150 libong mga lagda sa isang sertipiko, ngunit hindi sinusuportahan ng GnuPG ang naturang numero. Kaya, kapag naglo-load ng sertipiko, ang GnuPG (pati na rin ang iba pang mga pagpapatupad ng OpenPGP) ay nag-freeze.

Isa sa mga gumagamit nagsagawa ng eksperimento β€” ang pag-import ng sertipiko ay umabot sa kanya ng halos 10 minuto. Ang sertipiko ay may higit sa 54 libong mga lagda, at ang timbang nito ay 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

Para lumala pa, hindi inaalis ng mga pangunahing server ng OpenPGP ang impormasyon ng sertipiko. Ginagawa ito upang masubaybayan mo ang kadena ng lahat ng mga aksyon na may mga sertipiko at maiwasan ang pagpapalit ng mga ito. Samakatuwid, imposibleng alisin ang mga nakompromisong elemento.

Sa esensya, ang SKS network ay isang malaking "file server" kung saan maaaring sumulat ng data ang sinuman. Upang ilarawan ang problema, noong nakaraang taon residente ng GitHub lumikha ng isang file system, na nag-iimbak ng mga dokumento sa isang network ng mga cryptographic key server.

Bakit hindi isinara ang kahinaan?

Walang dahilan upang isara ang kahinaan. Dati, hindi ito ginagamit para sa pag-atake ng hacker. Bagama't ang komunidad ng IT tinanong ng matagal Dapat bigyang-pansin ng mga developer ng SKS at OpenPGP ang problema.

Upang maging patas, ito ay nagkakahalaga ng noting na sa Hunyo sila pa rin inilunsad pang-eksperimentong key server keys.openpgp.org. Nagbibigay ito ng proteksyon laban sa mga ganitong uri ng pag-atake. Gayunpaman, ang database nito ay na-populate mula sa simula, at ang server mismo ay hindi bahagi ng SKS. Kaya naman, magtatagal bago ito magamit.

Post-analysis: kung ano ang nalalaman tungkol sa pinakabagong pag-atake sa network ng mga crypto-key server na SKS Keyserver
/Unsplash/ RubΓ©n BagΓΌes

Tulad ng para sa bug sa orihinal na sistema, pinipigilan ito ng isang kumplikadong mekanismo ng pag-synchronize na maayos. Ang pangunahing network ng server ay orihinal na isinulat bilang isang patunay ng konsepto para sa PhD thesis ni Yaron Minsky. Bukod dito, isang medyo tiyak na wika, OCaml, ang napili para sa gawain. Sa pamamagitan ng ayon sa maintainer na si Robert Hansen, mahirap intindihin ang code, kaya menor de edad na pagwawasto lang ang ginagawa dito. Upang baguhin ang arkitektura ng SKS, kailangan itong muling isulat mula sa simula.

Sa anumang kaso, hindi naniniwala ang GnuPG na maaayos ang network. Sa isang post sa GitHub, isinulat pa ng mga developer na hindi nila inirerekomenda ang pagtatrabaho sa SKS Keyserver. Sa totoo lang, isa ito sa mga pangunahing dahilan kung bakit sinimulan nila ang paglipat sa bagong service keys.openpgp.org. Panoorin lamang natin ang karagdagang pag-unlad ng mga kaganapan.

Ang ilang mga materyales mula sa aming corporate blog:

Pinagmulan: www.habr.com

Magdagdag ng komento