Обход защиты OpenSSH, препятствующей определению наличия пользователя
В OpenSSH http://seclists.org/fulldisclosure/2016/Jul/51 выявлена]] уязвимость (CVE-2016-6210), позволяющая на основе ответа сервера OpenSSH определить существует или нет пользователь в системе. Исправление с устранением уязвимости пока не выпущено, прямой опасности проблема не представляет, а лишь снижает трудоемкость атак по подбору параметров входа в систему.
Для противодействия попыткам перебора пользователей в OpenSSH присутствует защита - для несуществующих пользователей выполняется проверка по фиктивному хэшу пароля, что позволяет выровнять время обработки операции проверки для существующего и несуществующего пользователя. Без выравнивания времени проверки атакующий может проанализировать время выполнения операции и если очередная проверка выполняется доьше обычного, сделать вывод о наличии запрошенного пользователя в системе и перейти к подбору пароля для конкретного логина.
Суть выявленной уязвимости в том, что для несуществующих пользователей применяется фиктивный хэш BLOWFISH, который проверяется заметно быстрее, чем хэши SHA256/SHA512. При проверке паролей размером около 10Кб различия в скорости обработки запроса становятся явными, что позволяет по времени выполнения операции определить применялся алгоритм BLOWFISH или SHA256/SHA512 и соответственно узнать, существует ли пользователь в системе.