Post-analiza: ce se știe despre cel mai recent atac asupra rețelei SKS Keyserver de servere de chei criptografice

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.

Post-analiza: ce se știe despre cel mai recent atac asupra rețelei SKS Keyserver de servere de chei criptografice
/Unsplash/ Chunlea Ju

Probleme de rețea

La mijlocul lunii iunie, necunoscut a efectuat un atac la o rețea de servere de chei criptografice Serverul de chei SKS, construit pe protocolul OpenPGP. Acesta este un standard IETF (RFC 4880), care este folosit pentru a cripta e-mailurile și alte mesaje. Rețeaua SKS a fost creată în urmă cu treizeci de ani pentru a distribui certificate publice. Include instrumente precum GnuPG pentru criptarea datelor și crearea semnăturilor digitale electronice.

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 poate găsi exploatările corespunzătoare. Dar până acum nimeni nu și-a asumat responsabilitatea pentru închiderea „găurii” (vom vorbi despre motive mai detaliat mai târziu).

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 a efectuat un experiment — importul certificatului i-a luat aproximativ 10 minute. Certificatul avea peste 54 de mii de semnături, iar greutatea sa a fost de 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

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 a creat un sistem de fișiere, care stochează documente într-o rețea de servere de chei criptografice.

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 întrebat de mult Dezvoltatorii SKS și OpenPGP ar trebui să acorde atenție problemei.

Pentru a fi corect, este de remarcat faptul că în iunie încă lansat server de chei experimentale keys.openpgp.org. Oferă protecție împotriva acestor tipuri de atacuri. Cu toate acestea, baza sa de date este populată de la zero, iar serverul în sine nu face parte din SKS. Prin urmare, va dura timp înainte de a putea fi folosit.

Post-analiza: ce se știe despre cel mai recent atac asupra rețelei SKS Keyserver de servere de chei criptografice
/Unsplash/ Rubén Bagües

Î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 conform întreținătorul Robert Hansen, codul este greu de înțeles, așa că i se fac doar corectări minore. Pentru a modifica arhitectura SKS, aceasta va trebui rescrisă de la zero.

Î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

Adauga un comentariu