Новости и события » Hi-Tech » Критика шифрования ключей в OpenSSH

Критика шифрования ключей в OpenSSH

Как сообщает opennet.ru недавняя подстановка вредоносного ПО в популярный NPM-модуль eslint, привела к отправке злоумышленникам SSH-ключей доступа, хранящихся в домашней директории нескольких тысяч разработчиков. Многие разработчики не придали этому должного внимания из-за того, что их ключи были зашифрованы с использованием пароля. Тем не менее по умолчанию в SSH для закрытых RSA-ключей применяется устаревший и ненадежный метод шифрования, использующий блочный шифр AES с ключом в виде MD5-хэша от заданного пользователем пароля (с солью). Функция bcrypt_pbkdf, обеспечивающая должную защиту от подбора, применяется только для ключей на базе эллиптических кривых (Ed25519).

Применение по умолчанию неэффективного шифрования на базе MD5, производительность подбора хэшей для которого на современном оборудовании может достигать миллиардов проверок в секунду, не только сводит на нет пользу от шифрования ключа, но и, по мнению автора статьи, делает защиту даже менее надежной, чем использование открытого текста без шифрования. Суть данного мнения в том, что часто пользователи используют один и тот же пароль для разных сервисов. В случае шифрования ключей SSH, как правило, не применяются менеджеры паролей и пользователь использует знакомый ему типовой пароль, который он держит в голове.

Применение типового пароля в изначально ненадежной схеме хэширования ставит под удар сам пароль и упрощает компрометацию публичных сервисов для которых применяется данный пароль. SSH-ключ, отправленный в ходе запуска вредоносного модуля NPM, при надлежащей настройке ограничения доступа к SSH не позволит скомпрометировать хост, но может быть использован для подбора пароля, применяемого для его шифрования. Используя открытый ключ для проверки успешности подбора, атакующий с достаточно высокой вероятностью может определить изначальный пароль и использовать его для другой атаки.

По материалам:  www.opennet.ru


загрузка...

 

Вверх