История с выявлением в SSLv3 уязвимости POODLE (CVE-2014-3566), позволяющей извлечь из зашифрованного канала связи закрытую информацию, что привело к массовому прекращению поддержки SSLv3 в браузерах и в серверном ПО, получила продолжение. Адам Лэнгли (Adam Langley), известный эксперт по компьютерной безопасности, отвечающий в Google за обеспечение работы инфраструктуры доступа по HTTPS, сетевой стек Chrome и разработку BoringSSL, сообщил о выявлении метода применения атаки POODLE для некоторых сайтов, использующих TLS 1.0 и 1.1 (CVE-2014-8730).
Суть проблемы заключается в том, что применяемый в TLS метод добавочного заполнения (padding), используемый для выравнивания зашифрованных данных по границе CBC-блока, является подмножеством метода заполнения SSLv3, что позволяет использовать функции декодирования SSLv3 с TLS. Сам по себе метод заполнения в TLS защищён от атак, подобных POODLE, но использование в реализациях TLS функций, изначально написанных для SSLv3, приведёт к пропуску проверки размера добавочного заполнения - на первый взгляд для штатных соединений всё будет работать нормально, но данные системы станут уязвимыми для атаки POODLE, несмотря на то, что они используют TLS.
По предварительной оценке проблеме подвержено около 10% сайтов, использующих TLS. При этом проблемы наблюдаются и среди крупных ресурсов, например, данная уязвимость затрагивает сайты Банка Америки, компании VMware и Министерства по делам ветеранов США. Т.е. все данные системы, несмотря на использование TLS, оказались потенциально подвержены проведению MITM-атаки, специфичной для SSLv3. Проверить наличие уязвимости на своих системах можно воспользовавшись сервисом SSL Server Test.
Из проблемных пакетов, в которых для TLS используются функции декодирования SSLv3, отмечаются старые версии NSS (проблема была устранена в 2010 году), а также ряд проприетарных продуктов от компаний F5 и A10. В качестве надёжного метода защиты рекомендуется разрешить использование только TLS 1.2, который в настоящее время поддерживается приблизительно на 50% сайтов в глобальной сети. Инженерный комитет IETF (Internet Engineering Task Force), занимающийся развитием протоколов и архитектуры сети Интернет, рассматривает возможность публикации рекомендации по прекращению браузерами обработки HTTPS-соединений, установленных с использованием протокола ниже TLS 1.2.
Напомним, что атака POODLE (Padding Oracle On Downgraded Legacy Encryption) позволяет восстановить содержимое отдельных секретных идентификаторов, передаваемых внутри зашифрованного соединения. Для организации атаки требуется получение контроля за трафиком на промежуточном шлюзе и выполнение на стороне браузера клиента JavaScript-кода злоумышленника (в случае получения контроля над транзитным шлюзом, осуществить подстановку JavaScript-кода в незащищённый трафик не составляет труда). Атака строится на возможности выделения в отслеживаемом зашифрованном трафике блоков данных с метками, отправляемыми подставным JavaScript-кодом на сайт, для которого требуется перехватить идентификационные данные, в рамках общего шифрованного канала связи.
Манипулируя тем, что отправляемое JavaScript-кодом содержимое известно за исключением секретного идентификатора, атакующий путем повторной отправки подставных запросов может символ за символом восстановить содержимое искомых данных. Для сокращения числа попыток используется такая особенность SSLv3, как пропуск проверки добавочных данных, сопровождающих зашифрованное сообщение. В частности, зная позицию cookie в зашифрованном сообщении на подконтрольном атакующему узле производится реорганизации SSL-сообщения, путём копирования части cookie в хвост. В большинстве случаев подобная манипуляция приводит к искажениям при расшифровке, но с вероятностью 1 к 256 сообщение декодируется верно, что сигнализирует о правильно подобранном символе. В зависимости от сложности ситуации на подбор Cookie атакующему может потребоваться от 1 до 10 минут.
Дополнение: вышеописанные проблемы с TLS затронули два продукта компании Cisco: Cisco Adaptive Security Appliance (ASA) и Cisco ACE Application Control Engine.
|