Русская Википедия:POODLE

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

POODLE (Шаблон:Lang-en) — вид атаки в компьютерной безопасности типа «человек посередине», когда злоумышленник путём блокировки TLS 1.0 и увеличения числа попыток соединения вызывает принудительное использование интернет-клиентами и пользователями защитного программного обеспечения SSL версии 3.0[1]. После того как был произведен откат системы до SSL 3.0, злоумышленник использует атаку Шаблон:Iw.

История

Уязвимость данного типа была обнаружена сотрудниками Google Security Team Бодо Мёллером, Таем Дуонгом и Кшиштофом Котовичем[1]. Они публично объявили об обнаружении уязвимости 14 октября 2014 года[2], несмотря на то, что соответствующая статья датирована несколько ранее — сентябрём 2014 года. 8 декабря того же года было объявлено о разновидности уязвимости типа POODLE, которая затрагивает и TLS-трафик[3]. В базу данных общеизвестных уязвимостей информационной безопасности (CVE) оригинальная POODLE-уязвимость была занесена c идентификатором CVE-2014-3566[4]. F5 Networks также подала заявление о внесении в базу данных разновидности POODLE-атаки против TLSШаблон:Переход, которой был присвоен идентификатор CVE-2014-8730[5].

Ввиду того, что данная атака использует уязвимости протокола SSL 3.0, причем нет разумного решения проблемы этих уязвимостей, чтобы обеспечить безопасное соединение стало необходимым полностью отказаться от использования данного протокола[1]. В октябре 2014 года Google объявил о намерении полностью прекратить поддержку протокола SSL 3.0 в своих продуктах в ближайшие несколько месяцев[6]. Возможность отката к протоколу SSL 3.0 была отключена в браузере Chrome 39, выпущенном в ноябре 2014 года[7]. Поддержка протокола SSL 3.0 была прекращена по умолчанию в браузере Chrome 40, выпущенном в январе 2015 года[8]. 29 октября 2014 года Microsoft выпустила исправление, которое отключало поддержку SSL 3.0 в браузере Internet Explorer и ОС версий Windows Vista / Server 2003 и выше. В этот же день Microsoft объявила о том, что планирует отключить поддержку SSL 3.0 по умолчанию в своих продуктах и сервисах в течение нескольких месяцев[9]. 10 февраля 2015 года Microsoft отключила возможность отката к SSL 3.0 в браузерах Internet Explorer 11 для сайтов в режиме защиты[10]. Для остальных сайтов это было сделано 14 апреля 2015 года[11].

Принцип атаки

POODLE служит примером уязвимости, которую можно успешно эксплуатировать благодаря механизму, созданному для намеренного понижения характеристик безопасности канала для обеспечения совместимости. Для работы с устаревшими серверами, многие TLS-клиенты используют так называемый «downgrade dance», который заключается в следующем: при первой попытке установить связь по протоколу TLS handshake клиент предлагает серверу использовать самую последнюю из версий TLS, поддерживаемых клиентом. Если эта попытка терпит неудачу, клиент пробует установить соединение по более старой версии протокола TLS до тех пор, пока связь не будет установлена. Такое намеренное понижение характеристик безопасности клиентом может быть вызвано сбоями в работе сети, а также атаками злоумышленника. Таким образом, если злоумышленник, контролирующий участок сети между сервером и клиентом, вмешивается в процесс TLS handshake и отбрасывает все сообщения клиента с предложением установить безопасное соединение по протоколу TLS версии 1.0 и выше, клиенты, поддерживающие «downgrade dance», будут готовы ограничиться менее безопасным протоколом SSL 3.0. В результате для сокрытия данных используются небезопасные наборы шифрования протокола SSL, которые используют либо поточный шифр RC4, либо режим шифрования CBC, поддающийся атаке Шаблон:Iw. В случае успешной эксплуатации данной уязвимости, атакующей стороне в среднем необходимо выполнить только 256 запросов SSL 3.0 для того, чтобы успешно расшифровать 1 байт зашифрованных сообщений[1][12][13].

В процессе дизайна систем, расположенных в доменах с высоким уровнем фрагментации, необходима бо́льшая осторожность, ведь в таких доменах может быть широко распространён механизм понижения характеристик безопасности канала, который используют злоумышленники. Одним из способов, который позволяет злоумышленнику снизить защиту канала, является эмуляция разрывов связи при использовании протокола TLS[14].

Предотвращение атаки

Одним из подходов, позволяющим предотвратить POODLE-атаки, является полное отключение поддержки протокола SSL 3.0 как на стороне клиента, так и на стороне сервера. Однако, некоторые устаревшие версии клиентов и серверов могут не поддерживать протокол TLS версии 1.0 и выше. В таких случаях, авторы статьи про POODLE-атаки рекомендуют со стороны браузера и сервера поддержать механизм TLS_FALLBACK_SCSV[15], предотвращающий эксплуатацию уязвимости злоумышленниками[1].

Ещё один подход для защиты от уязвимости — реализация механизма «Anti-POODLE record splitting» — разделение данных на несколько частей, каждая из которых гарантированно не может быть атакована с использованием данной уязвимости. Однако, проблема подхода с разделением данных в том, что несмотря на точную реализацию механизма в соответствии со спецификацией, данный подход не позволяет избежать проблем с совместимостью в связи с недоработками серверной части механизма[16]

Например, в браузере Opera 25 данный механизм реализован в дополнение к механизму «TLS_FALLBACK_SCSV»[17]. В браузерах Google Chrome разных версий и относящихся к ним серверах также обеспечили поддержку механизма «TLS_FALLBACK_SCSV». Mozilla отключила поддержку SSL 3.0 в своих браузерах Firefox 34 и ESR 31.3, выпущенных в декабре 2014 года и поддержала механизм «TLS_FALLBACK_SCSV» в браузере Firefox 35[18]

Microsoft опубликовала рекомендации по безопасности, в которых объяснялось, как отключить SSL 3.0 в браузере Internet Explorer и операционной системе Windows OS[19].

Браузер Safari компании Apple (для операционных систем OS X 10.8, iOS 8.1 и более поздних ОС) противодействовал POODLE-атакам посредством прекращения поддержки всех CBC-протоколов в SSL 3.0, однако такой подход все ещё обеспечивал поддержку RC4, который также подвержен RC4-атакам на протокол SSL 3.0[20]. Уязвимость для POODLE-атак была полностью закрыта в OS X 10.11 (El Capitan 2015) и iOS 9 (2015). С целью предотвращения POODLE-атак, для некоторых сервисов (например, таких как CloudFlare и Wikimedia) была отключена поддержка SSL 3.0[21].

В наборе библиотек Network Security Services версий 3.17.1 и 3.16.2.3 обеспечена поддержка механизма «TLS_FALLBACK_SCSV»[22][23], впоследствии поддержка протокола SSL 3.0 была отключена по умолчанию[24]. В библиотеках OpenSSL версий 1.0.1j, 1.0.0o и 0.9.8zc обеспечена поддержка механизма «TLS_FALLBACK_SCSV»[25]. В библиотеке LibreSSL версии 2.1.1 поддержка SSL 3.0 отключена по умолчанию[26].

POODLE-атаки, нацеленные на TLS

О новой разновидности классической POODLE-атаки было объявлено 8 декабря 2014 года[3]. Данный тип атак эксплуатирует недостатки в реализации режима шифрования CBC в протоколах TLS 1.0 — 1.2. Даже несмотря на то, что спецификации TLS требуют от серверов проверки так называемого «padding»(заглушки, набора дополнительных битов, добавляемых к ключу, паролю или открытому тексту шифрованием с целью скрыть их истинное значение), некоторые реализации данного протокола не справляются с их корректной проверкой, что делает некоторые сервера уязвимыми для POODLE-атак даже в случае отключения SSL 3.0. Данная разновидность POODLE-атак признана более опасной, чем классическая ввиду того, что при совершении атаки злоумышленникам не нужно искусственно вызывать откат защиты канала до SSL 3.0, что означает необходимость меньшего числа операций для совершения успешной атаки. Проект SSL Pulse обнаружил, что «около 10 % всех серверов подвержены модификациям POODLE-атак для TLS» прежде чем эта уязвимость была анонсирована[27]. Данной ошибке в реализации TLS от F5 Networks был присвоен идентификатор CVE-ID CVE-2014-8730. Информация из Национальной базы данных уязвимостей от NIST показывает, что данный CVE-ID присвоен ошибочным реализациям TLS в исполнении лишь F5 Networks. Другим поставщикам, у которых присутствует такая же ошибка в реализации проверки «padding» (например, A10 и Cisco Systems), по заявлению Национальной базы данных уязвимостей, стоит выпускать собственные CVE-ID, так как некорректная работа их версий TLS обусловлена не изъяном в самом протоколе, а ошибочной реализацией данного протокола[5]

Примечания

Шаблон:Примечания

Шаблон:Хакерские атаки 2010-х Шаблон:Добротная статья