Уязвимость в OpenSSH, позволяющая определить наличие пользователей

В OpenSSH выявлена проблема с безопасностью, позволяющая удалённому атакующему определить существует ли пользователей с данным именем в системе.

Метод базируется на разности поведения при обработке запроса на аутентификацию для существующего и неизвестного пользователя. Атакующий может отправить некорректный запрос аутентификации (например, отправить повреждённый пакет), в случае отсутствия пользователя в системе выполнение функции userauth_pubkey() завершиться сразу с отправкой ответа SSH2_MSG_USERAUTH_FAILURE. Если пользователь присутствует в системе произойдёт сбой при вызове функции sshpkt_get_u8() и сервер просто молча закроет соединение.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.