В socat выявлен бэкдор, позволяющий воссоздать ключи шифрования

В socat, расширенном варианте утилиты netcat, выявлена проблема безопасности, ставящая под сомнение надёжность устанавливаемых защищённых соединений. В задействованной в socat реализации протокола Диффи—Хеллмана (Diffie-Hellman) в качестве параметров инициализации были заданы значения неизвестного происхождения, не относящиеся к простым числам.

Важным условием надёжного обмена ключами при помощи алгоритма Диффи—Хеллмана является применение простых чисел, т.е. чисел которые делятся только на себя и на единицу, в противном случае эффективность алгоритма теряется. Некорректные значения инициализации могли быть подобраны умышленно для предоставления скрытой возможности восстановления секретного ключа, используемого для шифрования обмена 

Параметры инициализации в socat были изменены в январе 2015 года на основании патча от стороннего пользователя под именем Zhigang Wang. Предлогом внесения изменений были проблемы с работой в режиме FIPS, требующие наличия 1024-битного набора данных инициализации, в то время как в socat использовалися 512-битные параметры. Не исключается, что целью данного изменения была интеграция бэкдора и параметры специально были подобраны для предоставления атакующему возможности расчёта закрытого ключа, используемого для шифрования канала связи. 

Подписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и эксклюзивных материалах по информационной безопасности.