Уязвимость eMudhra: как из-за простой ошибки скомпрометировали доверие ко всему интернету

Опубликовано в Telegram
Я обычно не пишу про сложные айтишные штуки, но сегодня такой прекрасный день.

В интернете настоящая паника: скомпрометированы закрытые ключи сразу восьми промежуточных сертификатов индийского удостоверяющего центра eMudhra. Почему это важно? Да потому, что цепочки от них ведут к корням, которым доверяют Microsoft, Apple, Google и Mozilla, а значит, любой мог выпустить "настоящий" сертификат, например для google.com. Браузеры закрыли дыру за пару дней, но сколько старых и закрытых embedded-устройств, которые годами не обновляют список сертификатов, ещё останутся уязвимыми, даже представить сложно.

А получилось всё банально. Если перебирать ключ такой длины со скоростью одна комбинация в секунду, на это уйдёт больше 10¹⁰⁰ лет. Но при генерации что-то пошло не так, и закрытыми ключами оказались крошечные числа, которые подбираются за миллисекунды. У одного из них закрытый ключ буквально "4". Да, ЧЕТЫРЕ, одна цифра. И таких сертификатов целых восемь.

Производители уже оперативно выпускают патчи, а мы можем потихоньку надеяться на появление новых open-source-устройств :)