Широко используемый SSH-клиент PuTTY признан уязвимым для атаки с восстановлением ключа

Father

Professional
Messages
2,601
Reputation
4
Reaction score
633
Points
113
Разработчики безопасной оболочки PuTTY (SSH) и Telnet-клиента предупреждают пользователей о критической уязвимости, затрагивающей версии с 0.68 по 0.80, которая может быть использована для достижения полного восстановления закрытых ключей NIST P-521 (ecdsa-sha2-nistp521).

Уязвимости присвоен идентификатор CVE CVE-2024-31497, а открытие приписывают исследователям Фабиану Баумеру и Маркусу Бринкманну из Рурского университета в Бохуме.

"Результатом уязвимости является компрометация закрытого ключа", - говорится в сообщении проекта PuTTY.

"Злоумышленник, владеющий несколькими десятками подписанных сообщений и открытым ключом, обладает достаточной информацией, чтобы восстановить закрытый ключ, а затем подделать подписи, как если бы они были от вас, что позволяет ему (например) входить на любые серверы, для которых вы используете этот ключ".

Однако, чтобы получить подписи, злоумышленнику придется скомпрометировать сервер, для аутентификации на котором используется ключ.

В сообщении, размещенном в списке рассылки по безопасности программного обеспечения с открытым исходным кодом (oss-sec), Баумер описал уязвимость как результат генерации необъективных криптографических одноразовых номеров ECDSA, которые могли позволить восстановить закрытый ключ.

"Первые 9 бит каждого одноразового номера ECDSA равны нулю", - объяснил Баумер. "Это позволяет полностью восстановить секретный ключ примерно по 60 сигнатурам с использованием самых современных методов".

"Эти подписи могут быть собраны либо вредоносным сервером (атаки типа "человек посередине" невозможны, поскольку клиенты не передают свою подпись в открытом виде), либо из любого другого источника, например, подписанные коммиты git через переадресованные агенты".

Помимо воздействия на PuTTY, это также влияет на другие продукты, содержащие уязвимую версию программного обеспечения -
  • FileZilla (3.24.1 - 3.66.5)
  • WinSCP (5.9.5 - 6.3.2)
  • TortoiseGit (2.4.0.2 - 2.15.0)
  • TortoiseSVN (1.10.0 - 1.14.6)
После ответственного раскрытия проблема была устранена в PuTTY 0.81, FileZilla 3.67.0, WinSCP 6.3.3 и TortoiseGit 2.15.0.1. Пользователям TortoiseSVN рекомендуется использовать Plink из последней версии PuTTY 0.81 при доступе к репозиторию SVN по SSH, пока не станет доступно исправление.

В частности, проблема была решена путем перехода на метод RFC 6979 для всех типов ключей DSA и ECDSA, отказа от более раннего метода получения одноразового номера с использованием детерминированного подхода, который, хотя и исключал необходимость в источнике высококачественной случайности, был восприимчив к предвзятым одноразовым номерам при использовании P-521.

Кроме того, ключи ECDSA NIST-P521, используемые с любым из уязвимых компонентов, следует считать скомпрометированными и, следовательно, отозвать, удалив их из файлов authorized_keys files и их эквивалентов на других SSH-серверах.
 
Top