Hackerii au folosit o caracteristică a protocolului OpenPGP care este cunoscută de mai bine de zece ani.
Vă spunem care este ideea și de ce nu o pot închide.
/Unsplash/
Probleme de rețea
La mijlocul lunii iunie, necunoscut
Hackerii au compromis certificatele a doi întreținători de proiecte GnuPG, Robert Hansen și Daniel Gillmor. Încărcarea unui certificat corupt de pe server face ca GnuPG să eșueze — sistemul pur și simplu se blochează. Există motive să credem că atacatorii nu se vor opri aici, iar numărul certificatelor compromise va crește doar. Momentan, amploarea problemei rămâne necunoscută.
Esența atacului
Hackerii au profitat de o vulnerabilitate din protocolul OpenPGP. Ea este cunoscută de comunitate de zeci de ani. Chiar și pe GitHub
Câteva selecții de pe blogul nostru de pe Habré:
Conform specificației OpenPGP, oricine poate adăuga semnături digitale la certificate pentru a-și verifica proprietarul. Mai mult, numărul maxim de semnături nu este reglementat în niciun fel. Și aici apare o problemă - rețeaua SKS vă permite să plasați până la 150 de mii de semnături pe un certificat, dar GnuPG nu acceptă un astfel de număr. Astfel, la încărcarea certificatului, GnuPG (precum și alte implementări OpenPGP) se blochează.
Unul dintre utilizatori
$ 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
Pentru a înrăutăți lucrurile, serverele de chei OpenPGP nu elimină informațiile despre certificat. Acest lucru se face astfel încât să puteți urmări lanțul tuturor acțiunilor cu certificate și să preveniți înlocuirea acestora. Prin urmare, este imposibil să eliminați elementele compromise.
În esență, rețeaua SKS este un „server de fișiere” mare în care oricine poate scrie date. Pentru a ilustra problema, anul trecut rezident GitHub
De ce nu a fost închisă vulnerabilitatea?
Nu exista niciun motiv pentru a închide vulnerabilitatea. Anterior, nu a fost folosit pentru atacurile hackerilor. Deși comunitatea IT
Pentru a fi corect, este de remarcat faptul că în iunie încă
/Unsplash/
În ceea ce privește bug-ul din sistemul original, un mecanism complex de sincronizare împiedică remedierea acestuia. Rețeaua de server cheie a fost scrisă inițial ca o dovadă a conceptului pentru teza de doctorat a lui Yaron Minsky. Mai mult, pentru lucrare a fost ales un limbaj destul de specific, OCaml. De
În orice caz, GnuPG nu crede că rețeaua va fi vreodată reparată. Într-o postare pe GitHub, dezvoltatorii chiar au scris că nu recomandă să lucrezi cu SKS Keyserver. De fapt, acesta este unul dintre principalele motive pentru care au inițiat tranziția la noul serviciu keys.openpgp.org. Putem urmări doar evoluția ulterioară a evenimentelor.
Câteva materiale de pe blogul nostru corporativ:
Sursa: www.habr.com