The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

18.07.2016 09:25

В OpenSSH выявлена уязвимость (CVE-2016-6210), позволяющая на основе ответа сервера определить существует или нет пользователь в системе. Исправление с устранением уязвимости пока не выпущено, прямой опасности проблема не представляет, а лишь снижает трудоёмкость атак по подбору параметров входа в систему.

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

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

  1. Главная ссылка к новости (http://seclists.org/fulldisclo...)
  2. OpenNews: Уязвимость, позволяющая обойти защиту от BruteForce-атак в OpenSSH
  3. OpenNews: Зафиксирована новая ботнет-сеть, распространяющаяся через подбор паролей по SSH
  4. OpenNews: US-CERT предупреждает об атаке на Linux системы с использованием SSH ключей
  5. OpenNews: Компрометация SSL сертификатов из-за уязвимости, обнаруженной в пакете Debian OpenSSL
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/44802-openssh
Ключевые слова: openssh, bruteforce
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (25) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, eRIC (ok), 09:52, 18/07/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    однако и это заметили :)
     
  • 1.2, Аноним (-), 10:07, 18/07/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    > при проверке паролей размером около 10Кб

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

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

     
     
  • 2.4, бедный буратино (ok), 10:51, 18/07/2016 [^] [^^] [^^^] [ответить]  
  • +23 +/
    "... каждое утро Семён Семёныч начинал с того, что вздыхал, открывал томик *Войны и Мира* и начинал вводить пароль..."
     
  • 2.5, SysA (?), 11:11, 18/07/2016 [^] [^^] [^^^] [ответить]  
  • +9 +/
    >> при проверке паролей размером около 10Кб
    > "Говорила мне мама - не пиши длинные пароли"!
    > Ок, не буду пароли по 10240 символов делать )

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

     
  • 2.10, Ilya Indigo (ok), 13:55, 18/07/2016 [^] [^^] [^^^] [ответить]  
  • +/
    pwgen -s 16 вам в помощь.
     
     
  • 3.13, _ (??), 17:02, 18/07/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Спасибо, но я привык к apg ... :)
     
     
  • 4.14, freehck (ok), 18:17, 18/07/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Кстати, спасибо. Поставил. Очень интересная штукенция.
     
     
  • 5.21, Аноним (-), 14:20, 19/07/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Чем?
     
     
  • 6.24, freehck (ok), 15:49, 20/07/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Ну например генератором, ориентированным на удобство произношения.
     
  • 4.19, vitalikp (?), 00:35, 19/07/2016 [^] [^^] [^^^] [ответить]  
  • +4 +/
    А разве через /dev/urandom не проще?:)
    Зачем пользоваться непонятной программой?

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

     
  • 2.26, абвгд (?), 04:36, 21/07/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Я так понял, что отправляется первый попавшийся пароль 10к и по времени отказа идёт анализ
     

  • 1.6, тоже Аноним (ok), 12:09, 18/07/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Предлагаю патч, непечатно отвечающий на попытки залогиниться с паролем длиной 10кб. Желательно где-нибудь в glibc, с распространением на любые случаи логина.
     
     
  • 2.23, Какаянахренразница (ok), 13:50, 20/07/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Предлагая -- предлагай. Где патч?
     

  • 1.7, Аноним (-), 12:10, 18/07/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    что-то не очень оно и работает, дрифт значений лежит в одной области что для валида, что для невалида.
     
     
  • 2.8, SysA (?), 12:20, 18/07/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > что-то не очень оно и работает, дрифт значений лежит в одной области
    > что для валида, что для невалида.

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

     
     
  • 3.12, Аноним (-), 16:38, 18/07/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Если всегда длиннее то считай метод рабочий, только результаты нужно наоборот интерпретировать
     

  • 1.9, Аноним (-), 13:10, 18/07/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нужно просто ограничить длину пароля. До 8 символов, как VNC.
     
     
  • 2.11, Аноним (-), 16:05, 18/07/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Нужно просто ограничить длину пароля. До 8 символов, как VNC.

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

     
     
  • 3.17, Аноним (-), 19:44, 18/07/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Лучше вообще капчей обойтись тогда
     

  • 1.15, bugmenot (??), 18:41, 18/07/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нужно было просто изначально реализовывать ветку кода "аккаунта нет, суём фейковый пароль" полностью аналогично ветке "аккаунт есть, проверяем пароль". А они зачем-то всунули другой алгоритм... Ну вот нафига?
     
     
  • 2.16, Анончик (?), 19:28, 18/07/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Нужно было просто изначально реализовывать ветку кода "аккаунта нет, суём фейковый пароль"
    > полностью аналогично ветке "аккаунт есть, проверяем пароль". А они зачем-то всунули
    > другой алгоритм... Ну вот нафига?

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

     
     
  • 3.18, Аноним (-), 20:58, 18/07/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Чел имел ввиду системные изменения, чтобы был некий фейковый юзер в системе с такимим же параметрами как у всех и чтобы он все время проверялся вместо несуществующего (но туту тоже ряд подводных камней)
     
  • 2.22, Аноним (-), 01:12, 20/07/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Нужно было просто изначально реализовывать ветку кода "аккаунта нет, суём фейковый пароль"
    > полностью аналогично ветке "аккаунт есть, проверяем пароль". А они зачем-то всунули
    > другой алгоритм... Ну вот нафига?

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

     

  • 1.20, Сергей (??), 11:46, 19/07/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Интересно, а как они вычисляют задержки канала... Я еще понимаю, когда стоит какой-нибудь пень третий, а если там Core i7?
     
     
  • 2.25, Аноним (-), 17:35, 20/07/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Статистически.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру