Исследователи обнаружили серьезную уязвимость практически на всех веб-сайтах, использующих протокол SSL, которая позволяет хакерам незаметно декодировать данные, которые передаются между веб-сервером и браузером конечного пользователя.
Уязвимость касается версий 1.0 и более ранних версий TLS, криптографического протокола, который является основой технологии SSL, обеспечивающей безопасность работы в Интернете. Несмотря на то, что версии 1.1 и 1.2 TLS не являются уязвимыми, они практически не поддерживаются браузерами и веб-сайтами. Все это может привести к тому, что закодированные транзакции к PayPal, Gmail и другим веб-сайтам могут стать добычей хакеров, которые контролируют соединение между конечным пользователем и веб-сайтом, который он посещает.
На конференции по безопасности Ekoparty в Буэнос-Айресе, которая состоится в конце этой недели, исследователи Тай Дуонг и Хулиано Риццо планируют продемонстрировать пилотную версию кода под названием BEAST или Browser Exploit Against SSL/TLS. В нем срытый элемент JavaScript работает со сниффером для декодирования зашифрованных cookie, которые сайт-жертва использует для предоставления доступа к защищенным учетным данным пользователей. Вредоносный код направлен против сайтов, поддерживающих HSTS или HTTP Strict Transport Security, механизм, используемый для предотвращения загрузки страниц, незащищенных SSL.
Демо-код наглядно продемонстрирует, как можно декодировать аутентификационный cookie на аккаунте PayPal, говорит Дуонг.
Криптографический троян
Атака показала серьезные уязвимости в системе безопасности, которая используется практически всеми онлайн-системами для защиты данных от перехвата в небезопасных сетях и доказательства того, что сайт является подлинным, а не подделкой. В течение последних нескольких лет Мокси Марлинспайк вместе со своими коллегами документировал способы добычи цифровых сертификатов, заставляющих систему одобрять сайты, которым нельзя доверять.
В начале этого месяца хакеры завладели цифровыми удостоверениями для Google.com и ряда других сайтов после того, как взломали центр сертификации DigiNotar. Сфальсифицированные сертификаты использовались для слежения за иранцами, пользовавшимися Gmail.
В отличие от этого, Дуонг и Риццо заявляют, что они изобрели способ атаки на SSL, который заключается во взломе основного шифрования, которое используется для защиты конфиденциальных данных от перехвата в адресах, защищенных префиксом HTTP.
"BEAST отличается от большинства распространенных атак, направленных против HTTPS", - пишет Дуонг в своем письме. "В то время как другие атаки нацелены на данные аутентификации SSL, атаки BEAST направлены на закрытость протокола. Насколько мы знаем, BEAST – это первая атака, которая на самом деле декодирует запросы HTTPS".
Дуонг и Риццо – те самые исследователи, которые в прошлом году выпустили point-and-click инструмент, который декодировал зашифрованные данные и внедрял произвольный код на сайты, которые используют широко распространенную среду разработки. Однако этот инструмент не является предметом их нового исследования.
BEAST обеспечивает plaintext-recovery атаку, которая эксплуатирует уязвимость TLS, долгое время считавшуюся чисто теоретической. В ходе процесса шифрования протокол шифрует один блок данных за другим, используя предыдущий зашифрованный блок. В течение долгого времени исследователи обсуждали тот факт, что теоретически хакеры могут манипулировать процессом для составления обоснованных предположений о содержимом незашифрованных блоков.
Если предположение хакеров верно, то блочный шифр получит те же входные данные для нового блока, что и для старого, выдав идентичный шифр.
В настоящий момент BEAST-у требуется около двух секунд для декодирования каждого байта зашифрованного cookie. Это значит, что для декодирования аутентификационных cookie длиной от 1000 до 2000 символов понадобится как минимум полчаса, таким образом это будет время, необходимое для осуществления атаки на PayPal. Несмотря ни на что, данная техника представляет огромную угрозу для миллионов веб-сайтов, которые пользуются более ранними версиями TLS, особенно в свете того, что Дуонг и Риццо заявляют, что время, необходимое для осуществления атаки, может быть существенно сокращено.
В электронном письме, которое Риццо отправил вскоре после того, как была опубликована эта информация, говорилось о том, что за последние несколько дней им удалось сократить время атаки до 10 минут.
"BEAST похож на криптографический троян, хакер внедряет часть JavaScript-a в твой браузер, а JavaScript взаимодействует со сниффером с целью подрыва твоего HTTPS соединения", - сообщает Тревор Перрин, независимый исследователь вопросов безопасности. "Если атака на самом деле может быть проведена так быстро, как они заявляют, то это настоящая угроза".
Mozilla и OpenSSL: просто ужасно, не так ли?
Дуонг и Риццо заявили о том, что уязвимости, которые эксплуатирует BEAST, присутствуют практически во всех приложениях, которые используют TLS 1.0, создавая условия для применения данной техники в области мониторинга частных коммуникаций, отправляемых через программы мгновенного обмена сообщениями и VPN-программами.
Несмотря на то, что TLS 1.1 находится в свободном доступе с 2006 года и является невосприимчивым к атакам BEAST, практически все SSL-соединения полагаются на уязвимый TLS 1.0, согласно последнему исследованию фирмы, занимающейся вопросами безопасности, Qualys, которая проанализировала предложения SSL на 1 миллионе интернет-адресов.
Главными жертвами собственной инертности оказались Network Security Services, используемые для работы SSL в браузерах Mozilla Firefox и Google Chrome, а также OpenSSL, библиотека открытых исходных кодов, которой пользуются миллионы сайтов для поддержки TLS.
"Проблема в том, что люди не хотят ничего менять до тех пор, пока у них не будет на это веской причины, а под веской причиной я подразумеваю вредоносный код", - говорит Иван Ристик, технический директор компании Qualys. "Это ужасно, неправда ли?".
В то время как Mozilla и добровольцы, поддерживающие OpenSSL вообще еще не имели дела с TLS 1.2, Microsoft тоже показала себя не с лучшей стороны. Безопасные версии TLS доступны для их браузера Internet Explorer и сервера IIS, однако не по умолчанию. Opera – единственный браузер, которые использует TLS 1.2 по умолчанию.
Ристик, обнародовавший свои открытия на конференции Black Hat в августе, обнаружил еще одно доказательство тому, что веб-сайты частенько откладывают обновления для исправления ошибок SSL. В ходе исследования он открыл, что 35% веб-сайтов нужно пропатчить уязвимость TLS, обнаруженную еще в ноябре 2009, которая создавала условия для внедрения текста в закодированный трафик, передающийся между двумя конечными точками SSL.
Исследователи заявляют о том, что апгрейд TLS оказывается на удивление трудным, по большей части из-за того, что каждое исправление нарушает широко используемые приложения или технологии.
Дуонг и Риццо утверждают, что существует гораздо больше подобных примеров.
"На самом деле, мы работаем с поставщиками браузеров и SSL с начала мая, и каждое конкретное исправление является несовместимым с существующими приложениями SSL", - пишет Дуонг. "Людей смущает то, что существует слишком много сайтов и браузеров, которые поддерживают только SSL 3.0 и TLS 1.0. Если кто-то переведет свои веб-сайты целиком на 1.1 или 1.2, он потеряет значительную часть своих покупателей и наоборот".