Исследователи описали эффективный метод DoS-атаки на популярные веб-платформы

Discussion in 'Мировые новости. Обсуждения.' started by K800, 29 Dec 2011.

  1. K800

    K800 Nobody's Fool

    Joined:
    25 Dec 2010
    Messages:
    2,173
    Likes Received:
    3,798
    Reputations:
    372
    На 28 конгрессе Chaos Communication, проходящем в эти дни в немецкой столице, специалисты представили информацию об изъяне, который существует в большинстве программных сред для веб-приложений и позволяет потенциальному злоумышленнику вызывать отказы в обслуживании без применения обширных вредоносных сетей и значительных вычислительных ресурсов.

    В процессе работы сетевых программ на языках PHP, Java, Python и JavaScript используется хэширование, которое позволяет ускорять обработку ряда операций. Приложения вычисляют обычные математические хэши (не криптографические), знают, что при их генерации возможны столкновения (т.е. совпадения выходных значений функций хэширования), и надлежащим образом обрабатывают соответствующие коллизии. Процедура надежна, если ею не злоупотреблять. Однако, по данным немецких специалистов, злонамеренное использование ее особенностей может довольно быстро перегрузить сервер.

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

    В качестве цели был выбран компьютер с Apache Tomcat; в начале своего доклада специалисты отправили на него несколько особых аргументов хэш-функций, и на всем протяжении их презентации аудитория могла наблюдать, как нагрузка на ЦП сервера не опускалась ниже 100%. В качестве возможного решения исследователи предложили разработчикам вышеупомянутых языков программирования ввести механизм случайной генерации ключей, используемых при вычислении хэшей; это помешает злоумышленнику вычислять специфические входные значения для подобных нападений. Необходимо заметить, что, например, в Perl такой механизм появился еще в сентябре 2003 года.


    По материалам Sophos
    29.12.2011
    http://www.anti-malware.ru/news/2011-12-29/5099​
     
  2. K800

    K800 Nobody's Fool

    Joined:
    25 Dec 2010
    Messages:
    2,173
    Likes Received:
    3,798
    Reputations:
    372
    Популярные веб-технологии содержат серьезную программную уязвимость

    Уязвимость, обнаруженная независимыми экспертами по информационной безопасности, позволяет "обрушить" атакуемый сервер с помощью всего нескольких "правильно сформированных" запросов. Уязвимость обнаружена в популярных технологиях PHP, Java, ASP.NET, Python, Ruby и ряде других.

    МОСКВА, 29 дек - РИА Новости. Группа экспертов по информационной безопасности обнаружила в ряде веб-технологий, широко используемых при создании интернет-сайтов, серьезную уязвимость, позволяющую хакерам организовывать атаки типа "отказ в обслуживании", не задействуя при этом значительных ресурсов, сообщает сайт Naked Security.

    Обычно при атаках типа "отказ в обслуживании" (DDoS), хакеры используют сети из тысяч зараженных компьютеров, которые по команде из центра управления посылают множество запросов, перегружая ими сервер, обслуживающий сайт. Уязвимость, обнаруженная независимыми экспертами по информационной безопасности Александром Клинком (Alexander Klink) и Джулианом Вальде (Julian Wälde), позволяет "обрушить" атакуемый сервер с помощью всего нескольких "правильно сформированных" запросов. Уязвимость обнаружена в популярных технологиях PHP, Java, ASP.NET, Python, Ruby и ряде других.

    После объявления об уязвимости многие крупнейшие вендоры программного обеспечения, в частности, Microsoft и Oracle, объявили, что в ближайшее время выпустят обновления, устраняющие уязвимость в их продуктах.

    Как рассказали эксперты на конференции Chaos Communication Congress в Берлине, уязвимость содержится в механизме хэширования, которые применяется в многих программных средах для ускоренного сохранения и извлечения данных.

    В процессе работы веб-приложений на языках PHP, Java, Python, JavaScript и многих других механизм хэширования применяется для создания так называемого числового значения входных и выходных данных. Например, когда пользователь на сайте вводит пароль, программа берет его и с помощью хэш-функции (математического метода вычисления) вычисляет числовое значение (хэш) этого пароля.

    После этого система сравнивает полученное число с тем, которое хранится в базе данных (оно было получено, когда пользователь только зарегистрировался на сайте и впервые ввел пароль), и если хэш из архива совпадает с только что полученным хэшем, то пароль считается правильным. Хэш пароля хранится в хэш-таблице вместе с именем пользователя, учетной записи которого принадлежит пароль. Таким образом, использование хэширования позволяет, с одной стороны, дополнительно обезопасить персональные данные пользователя (хэш-функция необратима, по ее значению нельзя вычислить пароль). С другой, использование хэшей позволяет ускорить работу приложения, поскольку система во многих случаях работает не с самими данными, а с их своебразным числовым "дайджестом".

    Недостатком такого метода является вероятность возникновения ситуации, при которой у разных паролей (или других данных) возникают одинаковые хэши.

    Такие ситуации не являются редкими, и для разрешения "коллизий" (так называются ситуации совпадения значений хэша) специальные программные средства проводят дополнительное сравнение входных данных и сгенерированных на их основе хэшей. Этот метод работает, когда количество коллизий относительно невелико.

    Хакер может повысить их количество до критического, зная функцию, с помощью которой вычисляется хэш. В этом случае он может сгенерировать относительно небольшое количество данных (например, несколько постов в блог, построенный на базе технологии Microsoft ASP.NET) таким образом, что хэш-функция выдаст одинаковые значения для них и вынудит систему начать дополнительную проверку. При появлении большого количества коллизий проверка начинает отнимать слишком много вычислительных ресурсов сервера и, в конечном итоге, приводит к отказу в обслуживании.

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

    29.12.2011
    http://www.digit.ru/it/20111229/388426754.html​
     
  3. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    937
    Likes Received:
    162
    Reputations:
    27
    В даном примере речь идет о md5 скорее всего. Количество коллизий в md5 ничтожно мало, поэтому сомневаюсь, что этот метод можно назвать эффективным.