Hackeri zneužili funkciu protokolu OpenPGP, ktorá je známa už viac ako desať rokov.
Vysvetlíme, v čom je problém a prečo sa to nedá zatvoriť.
/Unsplash/
Problémy so sieťou
V polovici júna neznáme osoby do siete serverov kryptografických kľúčov , postavený na protokole OpenPGP. Ide o štandard IETF (), ktorý sa používa na šifrovanie e-mailov a inej komunikácie. Sieť SKS bola vytvorená pred tridsiatimi rokmi na distribúciu verejných certifikátov. Nástroje ako na šifrovanie údajov a vytváranie elektronických digitálnych podpisov.
Hackeri kompromitovali certifikáty dvoch správcov projektu GnuPG, Roberta Hansena a Daniela Gillmora. Načítanie poškodeného certifikátu zo servera spôsobí zlyhanie GnuPG a následne zamrznutie systému. Existuje dôvod domnievať sa, že útočníci budú vo svojich útokoch pokračovať a počet kompromitovaných certifikátov sa bude len zvyšovať. Rozsah problému je v súčasnosti neznámy.
Podstata útoku
Hackeri zneužili zraniteľnosť v protokole OpenPGP. Komunite je známa už desaťročia, dokonca aj na GitHube. zodpovedajúce zneužitia. Zatiaľ sa však nikto neprihlásil k zodpovednosti za uzavretie diery (dôvody si podrobnejšie rozoberieme neskôr).
Niekoľko výberov z nášho blogu na Habr:
Podľa špecifikácie OpenPGP môže ktokoľvek pridať digitálne podpisy k certifikátom na overenie svojho vlastníctva. Navyše, maximálny počet podpisov nie je regulovaný. To predstavuje problém: sieť SKS umožňuje až 150 000 podpisov na certifikát, ale GnuPG tento počet nepodporuje. Preto GnuPG (rovnako ako iné implementácie OpenPGP) pri načítaní certifikátu zamrzne.
Jeden z užívateľov — Import certifikátu mu trval asi 10 minút. Certifikát mal viac ako 54 000 podpisov a vážil 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
Situáciu zhoršuje skutočnosť, že kľúčové servery OpenPGP neodstraňujú informácie o certifikátoch. Toto sa robí s cieľom vysledovať reťazec všetkých transakcií s certifikátmi a zabrániť ich zámene. Preto nie je možné odstrániť kompromitované prvky.
V podstate je sieť SKS rozsiahly „súborový server“, do ktorého môže ktokoľvek zapisovať dáta. Pre ilustráciu problému minulý rok rezident GitHubu , ktorý ukladá dokumenty v sieti serverov s kryptografickými kľúčmi.
Prečo nebola táto zraniteľnosť opravená?
Nebol dôvod na opravu tejto zraniteľnosti. Predtým nebola použitá na hackerské útoky. Hoci IT komunita Vývojári SKS a OpenPGP by mali tomuto problému venovať pozornosť.
Aby sme boli spravodliví, treba poznamenať, že v júni stále experimentálny kľúčový server Implementuje ochranu pred týmito typmi útokov. Jeho databáza je však naplnená od začiatku a samotný server nie je súčasťou SKS. Preto bude trvať určitý čas, kým bude možné ho použiť.

/Unsplash/
Čo sa týka chyby v pôvodnom systéme, jej oprave bráni jeho zložitý synchronizačný mechanizmus. Sieť kľúčových serverov bola pôvodne napísaná ako dôkaz konceptu pre dizertačnú prácu Yarona Minského. Navyše, pre túto prácu bol zvolený pomerne špecifický jazyk OCaml. Podľa správcu Roberta Hansena je kód ťažko pochopiteľný, takže sa robia len drobné opravy. Úprava architektúry SKS by si vyžadovala jeho prepísanie od začiatku.
V každom prípade, GnuPG neverí, že sa sieť niekedy opraví. V príspevku na GitHub vývojári dokonca napísali, že neodporúčajú používať SKS Keyserver. V skutočnosti je to jeden z hlavných dôvodov, prečo iniciovali prechod na novú službu keys.openpgp.org. Môžeme len počkať a uvidíme, ako sa veci vyvinú.
Zopár materiálov z nášho firemného blogu:
Zdroj: hab.com
