URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 108580
[ Назад ]

Исходное сообщение
"Обход защиты OpenSSH, препятствующей определению наличия пол..."

Отправлено opennews , 18-Июл-16 09:52 
В OpenSSH выявлена (http://seclists.org/fulldisclosure/2016/Jul/51) уязвимость (CVE-2016-6210), позволяющая на основе ответа сервера определить существует или нет пользователь в системе. Исправление с устранением уязвимости пока не выпущено, прямой опасности проблема не представляет, а лишь снижает трудоёмкость атак по подбору параметров входа в систему.

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


Суть выявленной уязвимости в том, что для несуществующих пользователей применяется фиктивный хэш BLOWFISH, который проверяется заметно быстрее, чем хэши SHA256/SHA512. В системах, использующих  SHA256/SHA512 для хэширования паролей, при проверке паролей размером около 10Кб различия в скорости обработки запроса становятся явными, что позволяет по времени выполнения операции определить применялся алгоритм BLOWFISH или SHA256/SHA512 и, соответственно, узнать, существует ли пользователь в системе.

URL: http://seclists.org/fulldisclosure/2016/Jul/51
Новость: http://www.opennet.dev/opennews/art.shtml?num=44802


Содержание

Сообщения в этом обсуждении
"Обход защиты OpenSSH, препятствующей определению наличия пол..."
Отправлено eRIC , 18-Июл-16 09:52 
однако и это заметили :)

"Обход защиты OpenSSH, препятствующей определению наличия пол..."
Отправлено Аноним , 18-Июл-16 10:07 
> при проверке паролей размером около 10Кб

"Говорила мне мама - не пиши длинные пароли"!

Ок, не буду пароли по 10240 символов делать )


"Обход защиты OpenSSH, препятствующей определению наличия пол..."
Отправлено бедный буратино , 18-Июл-16 10:51 
"... каждое утро Семён Семёныч начинал с того, что вздыхал, открывал томик *Войны и Мира* и начинал вводить пароль..."

"Обход защиты OpenSSH, препятствующей определению наличия пол..."
Отправлено SysA , 18-Июл-16 11:11 
>> при проверке паролей размером около 10Кб
> "Говорила мне мама - не пиши длинные пароли"!
> Ок, не буду пароли по 10240 символов делать )

А тебе и не надо! :) - Взломщик все за тебя напишет...
Ты бы хоть на оригинал статьи взглянул, там есть пример, как все это работает.


"Обход защиты OpenSSH, препятствующей определению наличия пол..."
Отправлено Ilya Indigo , 18-Июл-16 13:55 
pwgen -s 16 вам в помощь.

"Обход защиты OpenSSH, препятствующей определению наличия пол..."
Отправлено _ , 18-Июл-16 17:02 
Спасибо, но я привык к apg ... :)

"Обход защиты OpenSSH, препятствующей определению наличия пол..."
Отправлено freehck , 18-Июл-16 18:17 
Кстати, спасибо. Поставил. Очень интересная штукенция.

"Обход защиты OpenSSH, препятствующей определению наличия пол..."
Отправлено Аноним , 19-Июл-16 14:20 
Чем?

"Обход защиты OpenSSH, препятствующей определению наличия пол..."
Отправлено freehck , 20-Июл-16 15:49 
Ну например генератором, ориентированным на удобство произношения.

"Обход защиты OpenSSH, препятствующей определению наличия пол..."
Отправлено vitalikp , 19-Июл-16 00:35 
А разве через /dev/urandom не проще?:)
Зачем пользоваться непонятной программой?

#cat /dev/urandom|tr -dc a-zA-Z0-9|head -c10


"Обход защиты OpenSSH, препятствующей определению наличия пол..."
Отправлено абвгд , 21-Июл-16 04:36 
Я так понял, что отправляется первый попавшийся пароль 10к и по времени отказа идёт анализ

"Обход защиты OpenSSH, препятствующей определению наличия пол..."
Отправлено тоже Аноним , 18-Июл-16 12:09 
Предлагаю патч, непечатно отвечающий на попытки залогиниться с паролем длиной 10кб. Желательно где-нибудь в glibc, с распространением на любые случаи логина.

"Обход защиты OpenSSH, препятствующей определению наличия пол..."
Отправлено Какаянахренразница , 20-Июл-16 13:50 
Предлагая -- предлагай. Где патч?

"Обход защиты OpenSSH, препятствующей определению наличия пол..."
Отправлено Аноним , 18-Июл-16 12:10 
что-то не очень оно и работает, дрифт значений лежит в одной области что для валида, что для невалида.

"Обход защиты OpenSSH, препятствующей определению наличия пол..."
Отправлено SysA , 18-Июл-16 12:20 
> что-то не очень оно и работает, дрифт значений лежит в одной области
> что для валида, что для невалида.

Я бы даже отметил более того, - у меня иногда (а в случае не локалхоста, а реальных хостов, - практически всегда!) инвалид длиннее! :)


"Обход защиты OpenSSH, препятствующей определению наличия пол..."
Отправлено Аноним , 18-Июл-16 16:38 
Если всегда длиннее то считай метод рабочий, только результаты нужно наоборот интерпретировать

"Обход защиты OpenSSH, препятствующей определению наличия пол..."
Отправлено Аноним , 18-Июл-16 13:10 
Нужно просто ограничить длину пароля. До 8 символов, как VNC.

"Обход защиты OpenSSH, препятствующей определению наличия пол..."
Отправлено Аноним , 18-Июл-16 16:05 
> Нужно просто ограничить длину пароля. До 8 символов, как VNC.

А лучше до 4 и только из цифр. PIN код.


"Обход защиты OpenSSH, препятствующей определению наличия пол..."
Отправлено Аноним , 18-Июл-16 19:44 
Лучше вообще капчей обойтись тогда

"Обход защиты OpenSSH, препятствующей определению наличия пол..."
Отправлено bugmenot , 18-Июл-16 18:41 
Нужно было просто изначально реализовывать ветку кода "аккаунта нет, суём фейковый пароль" полностью аналогично ветке "аккаунт есть, проверяем пароль". А они зачем-то всунули другой алгоритм... Ну вот нафига?

"Обход защиты OpenSSH, препятствующей определению наличия пол..."
Отправлено Анончик , 18-Июл-16 19:28 
> Нужно было просто изначально реализовывать ветку кода "аккаунта нет, суём фейковый пароль"
> полностью аналогично ветке "аккаунт есть, проверяем пароль". А они зачем-то всунули
> другой алгоритм... Ну вот нафига?

Ну они так и сделали, только вот "фейковый пароль", а точнее его хэш, там используется такой, что время его проверки всё равно отличается от времени проверки валидного хэша.


"Обход защиты OpenSSH, препятствующей определению наличия пол..."
Отправлено Аноним , 18-Июл-16 20:58 
Чел имел ввиду системные изменения, чтобы был некий фейковый юзер в системе с такимим же параметрами как у всех и чтобы он все время проверялся вместо несуществующего (но туту тоже ряд подводных камней)

"Обход защиты OpenSSH, препятствующей определению наличия пол..."
Отправлено Аноним , 20-Июл-16 01:12 
> Нужно было просто изначально реализовывать ветку кода "аккаунта нет, суём фейковый пароль"
> полностью аналогично ветке "аккаунт есть, проверяем пароль". А они зачем-то всунули
> другой алгоритм... Ну вот нафига?

Какой вы умный. Никто бы не догадался, а вы смогли.


"Обход защиты OpenSSH, препятствующей определению наличия пол..."
Отправлено Сергей , 19-Июл-16 11:46 
Интересно, а как они вычисляют задержки канала... Я еще понимаю, когда стоит какой-нибудь пень третий, а если там Core i7?

"Обход защиты OpenSSH, препятствующей определению наличия пол..."
Отправлено Аноним , 20-Июл-16 17:35 
Статистически.