Невозможно отучить людей изучать самые ненужные предметы.
Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3
Надо знать обо всем понемножку, но все о немногом.
Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы
Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)
Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода
Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5
Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости
Справочник от А до Я
HTML, CSS, JavaScript
Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы
Помогли мы вам |
В далеком 1998 году специалист Bell Laboratories Даниэль Блейхенбахер (Daniel Bleichenbacher) обнаружил проблему (PDF), связанную с тем, как ведет себя TLS-сервер, в том случае, если его оператор решил зашифровать обмен ключами между клиентом и сервером при помощи алгоритма RSA.
Суть атаки, разработанной тогда Блейхенбахером, заключается в том, что перед установкой зашифрованного соединения, клиент случайным образом выбирает ключ сессии, который затем зашифровывается публичным ключом и отправляется серверу. Сервер расшифровывает это «послание», сохраняет копию ключа сессии и впоследствии использует для идентификации клиента. Таким образом клиент проходит валидацию, и устанавливается защищенное HTTPS-соединение.
Так как алгоритм RSA недостаточно защищен сам по себе, дополнительно используется так называемый padding, то есть добавление ничего не значащих данных к зашифровываемой информации, что в итоге должно повысить стойкость шифрования. Блейхенбахер обнаружил проблему в случае если ключи сессий, шифрующиеся с помощью RSA, используют padding PKCS #1 1.5.
Оказалось, что атакующий может просто направлять TLS-серверу случайные ключи, спрашивая, верны ли они. Подобрать настоящий ключ можно основываясь лишь на ответах сервера: простом «да/нет», которое тот возвращает в ответ на запрос «это RSA-ключ сессии?».
Однако после обнаружения данного бага от использования алгоритма RSA не отказались. Вместо этого авторы стандарта TLS реализовали ряд контрмер, которые мешали осуществить подобный брутфорс. К сожалению, этого оказалось явно недостаточно, и ИБ-специалисты уже неоднократно находили другие способы реализации атаки Блейхенбахера. Соответствующие исследования были представлены в 2003, 2012, 2014 и 2015 годах. А наиболее свежим вариантом этой проблемы является атака, получившая имя DROWN (Decrypting RSA with Obsolete and Weakened eNcryption), обнаруженная в 2016 году.
Теперь сводная группа из трех ИБ-специалистов обнаружила новую вариацию атаки Блейхенбахера, которой дали название ROBOT (Return Of Bleichenbacher’s Oracle Threat). Проблему нашли Ханно Бек (Hanno Bock), Юрай Соморовски (Juraj Somorovsky) и Крейг Янг (Craig Young).
На этот раз проблема связана с тем, что стандарт TLS – это комплексная и сложная штука, и многие поставщики серверного оборудования не могут правильно реализовать раздел 7.4.7.1 стандарта TLS (то есть RFC 5246). Как нетрудно догадаться, именно этот раздел описывает контрмеры против атаки Блейхенбахера.
Как оказалось, оборудование Cisco, Citrix, F5, Radware и других вендоров уязвимо перед проблемой ROBOT в определенных конфигурациях. А именно, если владелец сервера решает шифровать ключи TLS-сессий при помощи RSA и padding PKCS #1 1.5. Ниже перечислены далеко не все уязвимые вендоры, но только те, кто уже выпустил исправления.
F5 | Уязвимость в BIG-IP SSL | CVE-2017-6168 |
Citrix | Уязвимость TLS Padding Oracle в Citrix NetScaler Application Delivery Controller (ADC) и в составе NetScaler Gateway | CVE-2017-17382 |
Radware | Бюллетень безопасности, посвященный уязвимости перед адаптивными атаками на основе подобранного шифротекста | CVE-2017-17427 |
Cisco ACE | Продукция Cisco, уязвимая перед атакой Блейхенбахера; End-of-Sale и End-of-Life | CVE-2017-17428 |
Bouncy Castle | Исправление в 1.59 beta 9; Патч/Коммит | CVE-2017-13098 |
Erlang | OTP 18.3.4.7, OTP 19.3.6.4, OTP 20.1.7 | CVE-2017-1000385 |
WolfSSL | Github PR /Патч | CVE-2017-13099 |
MatrixSSL | Изменения в 3.8.3 | CVE-2016-6883 |
Java / JSSE | Критическое обновление от октября 2012 года | CVE-2012-5081 |
Специалисты, обнаружившие проблему, а также эксперты US-CERT настоятельно рекомендуют временно отказаться от RSA-шифрования ключей, что не должно стать проблемой, ведь большинство устройств поддерживают протокол Диффи-Хеллмана на эллиптических кривых (Elliptic Curve Diffie Hellman, ECDH), который считается куда более надежным.
Невзирая на тот факт, что атака ROBOT базируется на проблемах 19-летней давности, перед ней и сегодня уязвимы 27 из 100 наиболее популярных в интернете сайтов по версии Alexa, в том числе Facebook и PayPal. Так, в научном докладе исследователей (PDF) подробно разобран пример дешифровки трафика Facebook.
Разумеется, за пределами топ-100 сайтов насчитывается множество уязвимых ресурсов. В связи с этим исследователи опубликовали на GitHub специальный Python-скрипт, который должен помочь администраторам обнаружить уязвимые хосты. Также на официальном сайте ROBOT есть специальный раздел для проверки на уязвимость.
|
|