Пост-анализа: што е познато за најновиот напад на мрежата на сервери за крипто клучеви SKS Keyserver

Хакерите користеле карактеристика на протоколот OpenPGP која е позната повеќе од десет години.

Ви кажуваме која е поентата и зошто не можат да ја затворат.

Пост-анализа: што е познато за најновиот напад на мрежата на сервери за крипто клучеви SKS Keyserver
/Unsplash/ Чунлеа Џу

Проблеми со мрежата

Во средината на јуни, непознато изврши напад на мрежа од сервери за криптографски клучеви Клучен сервер SKS, изграден на протоколот OpenPGP. Ова е стандард на IETF (RFC 4880), кој се користи за шифрирање на е-пошта и други пораки. Мрежата СКС е создадена пред триесет години за дистрибуција на јавни сертификати. Вклучува алатки како што се GnuPG за шифрирање на податоци и создавање електронски дигитални потписи.

Хакерите ги компромитираат сертификатите на двајца одржувачи на проектот GnuPG, Роберт Хансен и Даниел Гилмор. Вчитувањето на оштетен сертификат од серверот предизвикува GnuPG да не успее - системот едноставно се замрзнува. Има причина да се верува дека напаѓачите нема да застанат тука, а бројот на компромитирани сертификати само ќе се зголемува. Засега, степенот на проблемот останува непознат.

Суштината на нападот

Хакерите ја искористија ранливоста во протоколот OpenPGP. Таа е позната на заедницата со децении. Дури и на GitHub може да најде соодветните експлоатирања. Но, досега никој не презеде одговорност за затворање на „дупката“ (за причините ќе зборуваме подетално подоцна).

Неколку избори од нашиот блог на Хабре:

Според спецификацијата OpenPGP, секој може да додаде дигитални потписи на сертификатите за да го потврди својот сопственик. Покрај тоа, максималниот број на потписи не е регулиран на кој било начин. И тука се јавува проблем - мрежата SKS ви овозможува да поставите до 150 илјади потписи на еден сертификат, но GnuPG не поддржува таков број. Така, при вчитување на сертификатот, GnuPG (како и другите имплементации на OpenPGP) се замрзнува.

Еден од корисниците спроведе експеримент — за увоз на сертификатот му биле потребни околу 10 минути. Сертификатот имаше повеќе од 54 илјади потписи, а неговата тежина беше 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

За да бидат работите уште полоши, серверите за клучеви OpenPGP не ги отстрануваат информациите за сертификатот. Ова е направено за да можете да го следите синџирот на сите дејства со сертификати и да спречите нивна замена. Затоа, невозможно е да се елиминираат компромитирани елементи.

Во суштина, мрежата SKS е голем „сервер за датотеки“ на кој секој може да пишува податоци. За да го илустрираме проблемот, минатата година жител на GitHub создаде датотечен систем, кој складира документи на мрежа од сервери за криптографски клучеви.

Зошто ранливоста не беше затворена?

Немаше причина да се затвори ранливоста. Претходно, не се користеше за хакерски напади. Иако ИТ заедницата праша долго време Програмерите на SKS и OpenPGP треба да обрнат внимание на проблемот.

Да бидеме фер, вреди да се напомене дека во јуни тие сè уште лансиран експериментален сервер за клучеви keys.openpgp.org. Обезбедува заштита од овие типови на напади. Сепак, нејзината база на податоци е пополнета од нула, а самиот сервер не е дел од SKS. Затоа, ќе биде потребно време пред да може да се користи.

Пост-анализа: што е познато за најновиот напад на мрежата на сервери за крипто клучеви SKS Keyserver
/Unsplash/ Рубен Багес

Што се однесува до грешката во оригиналниот систем, сложениот механизам за синхронизација го спречува неговото поправање. Клучната серверска мрежа првично беше напишана како доказ за концептот за докторската теза на Јарон Мински. Покрај тоа, за работата беше избран прилично специфичен јазик, OCaml. Од страна на според одржувачот Роберт Хансен, кодот е тешко разбирлив, па затоа се прават само мали корекции на него. За да се измени архитектурата SKS, ќе треба да се преработи од нула.

Во секој случај, GnuPG не верува дека мрежата некогаш ќе биде поправена. Во објава на GitHub, програмерите дури напишаа дека не препорачуваат работа со SKS Keyserver. Всушност, ова е една од главните причини зошто тие ја иницираа транзицијата кон новата услуга keys.openpgp.org. Можеме само да го следиме натамошниот развој на настаните.

Неколку материјали од нашиот корпоративен блог:

Извор: www.habr.com

Додадете коментар