[recovery mode] Heartbleed и его друзья в 2015 году: как рекламная сеть ставит под угрозу посетителей сайтов

13b875c77c524fa4b7fe46a096ef20e5.pngВ первый рабочий день нового года хотелось бы обратить внимание владельцев сайтов на рекламу, которую они публикуют. Ваш сайт работает на HTTPS, как и все рекламные скрипты? Вы используете новейшие версии ПО, поддерживаете только безопасные протоколы и наборы шифров? А система рекламы? Heartbleed — ошибка в OpenSSL, позволяющая несанкционированно читать память на сервере до 64 килобайт за один запрос. Атаку можно производить бесконечное количество раз. Ошибка была внесена в марте 2012 года, а информация об уязвимости была опубликована 8 апреля 2014 года (9 месяцев назад).

Статьи на Хабре: Критическая уязвимость в OpenSSL 1.0.1 и 1.0.2-betaПоследствия OpenSSL HeartBleedЧем ещё грозит Heartbleed простому пользователю?

В течение новогодних каникул я занимался реализацией HTTPS на сайте знакомого. На устранение смешанного контента (загрузка HTTP-ресурсов на HTTPS-странице) ушло несколько часов. Когда дело уже походило к концу, я обратил внимание на предупреждение браузера при прокрутке страницы вниз:

d5d1d72436a84cc08eab8335cf6d6e0d.png

Что, ещё один? Смотрим консоль:

b782f2bd20364526b46a29916fc3ef7c.png

Смотрим скрипт:

3eac18524d8c416aa62918babf11fab8.png

Здесь всё довольно банально: в HTTPS-скрипте Adriver прописан HTTP-скрипт Advertur. Но меня заинтересовало другое предупреждение:

content.adriver.ru: server does not support RFC 5746, see CVE-2009–3555

Это предупреждение означает, что сервер не поддерживает secure renegotiation (возобновление подключения TLS). Было решено протестировать Adriver на SSL Labs: a39df0618e8a404997d3e3b374ff1de3.png

Все контент-серверы, кроме 2-го и 4-го, получили рейтинг C из-за уязвимости к POODLE против SSL3. Но почему же второй и четвёртый получили рейтинг F? Может, они поддерживают SSL2? Или небезопасное переподключение? Может, они уязвимы к CVE-2014–0224, как это было с самим Хабром в течение полугода (мы же не роботы)? Или уявзимы к POODLE против TLS, как это часто наблюдается у банков и ЭПС? Список можно продолжить поддержкой анонимных наборов шифров и прочими уязвимостями.

Но случилось страшное:

4883f356f7ca4f81a3b41e5c355b84a5.png

3a2ea555b0fb4cf79ffe7b884d96a314.png

2 сервера Adriver, обслуживающие JavaScript, до сих пор подвержены самой ужасной уязвимости за всю историю OpenSSL. В памяти серверов содержатся рефереры, IP-адреса, cookie, юзер-агенты и всякое прочее.

217.16.28.104 — masterh4.adriver.ru217.16.18.206 — masterh5.adriver.ru

Чем это чревато? На серверах установлен сертификат безопасности, действительный для всех поддоменов Adriver вплоть до конца февраля 2016 года. Владение закрытым ключом сертификата, полученным из памяти сервера, позволит незаметно подменять JavaScript в браузерах посетителей сайтов с установленной рекламой Adriver (в эту категорию попадает и Хабр).

Эксплуатация уязвимости с помощью скрипта на Python:

python heartbleed.py masterh4.adriver.ru -n 100 -a dump.txt

Эта команда отправит на masterh4.adriver.ru 100 сообщений heartbeat и сохранит полученные данные в dump.txt.Видео:

[embedded content]

Выводы и меры предосторожности:1. Устанавливая рекламу и сервисы слежения, тестируйте их безопасность. Не оставляйте сайт и его посетителей уязвимыми.2. Задумайтесь, насколько уместна реклама и отслеживание на HTTPS-сайтах. Ни в коем случае не устанавливайте сторонние скрипты на страницы обработки заказов, как это делает, например, Ив Роше.

d6e245edc12b43399ea48cc27a5a1495.png

Гарантирует!

3c7374e5197d4e12a9024215d5cf77b0.png

3. Посетителям сайтов всегда следует блокировать рекламу и трекеры. Более радикальный метод — блокировка подключений ко всем серверам Adriver.

83.222.14.88217.16.28.104217.16.18.207217.16.18.20677.109.110.134217.16.18.163217.16.18.21377.109.85.18217.16.18.21483.222.14.22281.222.128.98195.209.111.3195.209.111.281.222.128.2281.222.128.23

Сообщить об уязвимости: Adriver

support@adriver.ru

Москва, Покровский бульвар, д. 3, строение 1Б (495) 981–34–00

Санкт-Петербург, ул. Савушкина, д. 83, корп. 3, литера А, (бизнес-центр «Антарес»), 6 этаж (812) 438–10–74

Masterhost Многоканальные телефоны (495) 772–97–20(495) 956–97–20Бесплатный телефон для регионов8–800–200–97–20

Техническая поддержка support@masterhost.ruИнформация о найденных уязвимостях security@masterhost.ru

Thawte (издатель сертификата Adriver) Чат — www.thawte.com/chat/chat_intro.htmlСписок телефонов — www.thawte.com/about/contact/index.html (Certificate Order Processing)

И пусть все ваши желания исполнятся! ee9715d1ae644e0885bffdd1b5dc3e36.png

© Habrahabr.ru