Хакеры выкарыстоўвалі асаблівасць пратакола OpenPGP, пра якую вядома больш за дзесяць гадоў.
Расказваем, у чым сутнасць і чаму яе не могуць закрыць.
/ Unsplash /
Праблемы ў сетцы
У сярэдзіне чэрвеня невядомыя
Хакеры скампраметавалі сертыфікаты двух мэйнтэйнераў праекта GnuPG – Роберта Хансена (Robert Hansen) і Дэніэла Гілмара (Daniel Gillmor). Загрузка сапсаванага сертыфіката з сервера прыводзіць да збою ў працы GnuPG – сістэма проста завісае. Ёсць падставы меркаваць, што на гэтым зламыснікі не спыняцца, і колькасць скампраметаваных сертыфікатаў будзе толькі павялічвацца. На дадзены момант маштабы праблемы застаюцца невядомымі.
Сутнасць атакі
Хакеры скарысталіся ўразлівасцю ў пратаколе OpenPGP. Яна вядома супольнасці ўжо не адзін дзясятак гадоў. Нават на GitHub
Пара падборак з нашага блога на Хабры:
Паводле спецыфікацыі OpenPGP хто заўгодна можа дадаваць лічбавыя подпісы да сертыфікатаў для пацверджання іх уладальніка. Прычым максімальная колькасць подпісаў ніяк не рэгламентавана. І тут узнікае праблема – сетка SKS дазваляе размясціць да 150 тыс. подпісаў на адзін сертыфікат, але GnuPG такая іх колькасць не падтрымлівае. Такім чынам, пры загрузцы сертыфіката GnuPG (як, зрэшты, і іншыя рэалізацыі OpenPGP) завісае.
Адзін з карыстальнікаў
$ 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
Чаму ўразлівасць не закрылі
Для закрыцця ўразлівасці не было нагоды. Раней яе не выкарыстоўвалі для правядзення хакерскіх нападаў. Хоць ІТ-супольнасць
Дзеля справядлівасці варта адзначыць, што ў чэрвені яны ўсё ж
/ Unsplash /
Што да бага ў арыгінальнай сістэме, то выправіць яго мяшае складаны механізм сінхранізацыі. Сетка сервераў ключоў першапачаткова пісалася як proof of concept для абароны доктарскай дысертацыі Яронам Мінск (Yaron Minsky). Прычым для працы была абрана даволі спецыфічная мова OCaml. Па
У любым выпадку ў GnuPG не вераць, што сетка калі-небудзь атрымаецца выправіць. У пасце на GitHub распрацоўнікі нават напісалі, што не рэкамендуюць працаваць з SKS Keyserver. Уласна, гэта адна з галоўных чыннікаў, чаму яны ініцыявалі пераход на новы сэрвіс keys.openpgp.org. Нам застаецца толькі назіраць за далейшым развіццём падзеяў.
Пара матэрыялаў з нашага карпаратыўнага блога:
Крыніца: habr.com