17 февраля 2017 хакер (“белый”) Tavis Ormandy из Google проекта Project Zero (поиск уязвимостей нулевого дня) столкнулся с непонятным набором данных (мусором) который он никак не ожидал получить. Как он сам пишет найти мусор это не редкость, но на этот раз его заинтересовало то, что наряду с собственно мусором в нем были вкрапления валидных данных. Строки и объекты которые встречались при этом указывали на CloudFlare — крупнейший CDN сервис.

Через некоторое время хакеры из гугла выяснили как воспроизвести проблему.

Если HTML-страница, размещенная за CloudFlare имеет определенную комбинацию тегов, то прокси-сервер CL будет выдавать кусок неинициализированной памяти, где возможно будут находиться валидные данные других веб-сессий от других клиентов. И этот баг будет действовать для всех клиентов Cloudflare.

Для непосвященных можно привести такую аналогию. При просмотре телевизора вам вдруг начинают показывать фрагменты чужой личной жизни, коды банкоматов, суммы оплачиваемых счетов.

Далее исследователи извлекли несколько живых образцов, и увидели ключи шифрования, куки, пароли, куски данных POST и даже HTTPS запросы с других крупных размещенных на Cloudflare сайтов от других пользователей. После того, как они поняли ситуацию, они тут же остановились и связались со службой безопасности Cloudflare. Причем связались необычным способом. Дело в том, что контактов этой службы у них не было, поэтому они написали в … твиттер

01-cl-twitter-tavis-google

В Cloudflare стали шевелиться, специалисты Гугла помогали со своей стороны — очащали кэши своей поисковой системы. Однако и 19 февраля гугло-хакеры продолжали находить более важные данные, которые нужно очистить:

Мы находим настолько плохие образцы, что я (Tavis Ormandy) отменил некоторые планы на выходные дни, чтобы пойти в офис в воскресенье, чтобы помочь сделать некоторые инструменты для очистки. Я проинформировал CloudFlare, что я работаю. Я нахожу личные сообщения от крупных сайтов знакомств, полные сообщения от хорошо известного чата, онлайн-данные менеджера паролей, видео кадры с сайтов для взрослых, бронирование гостиниц. Мы видим полные HTTPS запросы, IP-адреса клиентов, полные ответы, куки, пароли, ключи, данные, всё.

Tavis Ormandy даже предположил в какой именно функции в коде Cloudflare может быть баг.

Читать ещё :   Android так же безопасен как iPhone

Однако, что мы видим дальше ?

20 февраля taviso (Tavis Ormandy) сам звонит (ему больше всех надо?) в Cloudflare и там ему обещают, что на этой неделе все будет ОК. Затем пару дней Cloudflare “кормит завтраками”, когда же он попросил дать ему проект их анонса об инциденте и его доблестной ликвидации, то встретил отказ. После этого он сообщил (пригрозил?), что согласно политике гугла в 7-дневный срок (это срок для исправления или купирования особо опасных багов, для опасностей помельче есть 60-дневный срок) они сами публично сообщат о проблеме.

Время идет.

Компания Cloudflare делится с хакерами… ссылкой на их программу поиска уязвимостей где нашедшему баг обещана фирменная футболка. Эпик :)

CloudFlare_Vulnerability_Disclosure_Policy

Важное примечание. Кэшем гулга проблема утечки данных не ограничивается. Ведь есть и другие поисковики, и веб-архивы целых сайтов есть.

При этом CL постоянно присылает списки, ссылки, данные, которые нужно зачистить из кэша поисковика, хакеры Гугла честно делают эту тупую работу. Инициатива наказуема исполнением. Но Cloudflare ничего не сообщает о главном : когда они намереваются сообщить о проблеме своим клиентам? Само собой разумеется, что сделать такое сообщение они могут только после того, как ликвидируют баг. Этого не происходит.

Но, с другой стороны, проблема существовала не один год, так что уж тут месяц-два туда-сюда, картины не изменит.

И вот, 23 февраля появилось на свет уведомление для клиентов, в котором, однако, проблема была приуменьшена (кто бы сомневался).

По словам компании Cloudflare: они неустанно работали 24 часа в сутки, они работали с Yahoo, Bing и другими, сама ошибка происходила редко по сравнению с общим количеством запросов, ключи SSL не пострадали, сведений и доказательств использования уязвимости не найдено, ошибка была в древнем коде (да ладно). По временной шкале Cloudflare проблема была ликвидирована за промежуток времени с 18 по 21 февраля.

Читать ещё :   Android так же безопасен как iPhone

02-cloudflare-blog

Сами хакеры нарекли проблему “cloudbleed” (по аналогии с уязвимостью Heartbleed в OpenSSL).

cloudbleed

После этого при входе в аккаунт Гугла он запросил повторную аутентификацию у своих пользователей. При вопросе из зала связано ли одно с другим taviso ответил, что это не по его части и … закрыл обсуждение 😉

03-taviso-closed-bug

 

Касательно особенностей и уязвимостей SSL от CloudFlare подробный разбор здесь. И две картинки вместо тысячи слов:

cloudflare1

cloudflare2

 

Итоги

Ну а мы еще раз резюмируем: любые приватные данные, передаваемые через Cloudflare авторизованным и неавторизованным пользователям могли утечь и утекли! в Интернет и хранились некоторое продолжительное время в кэше гугла и других поисковиков, а так же интернет архивов.

Что делать ?

Как обычно — поменять пароли на важные для вас ресурсы. И пользуйтесь принципом «неуловимого Джо«.

Перестать ли использовать Cloudflare ? Нет. Лидер отрасли, есть бесплатный тарифный план. Баг пофикшен. Расходимся.

01-twitter-cloudbleed

02-twitter-cloudbleed

Городок в американской глуши. Салун, сидят два ковбоя, бухают виски. Вдруг по улице кто-то проносится на огромной скорости, паля во все стороны из пистолетов. В салуне всем пофиг.
— Билл?
— Да, Гарри?
— Что это было, Билл?
— Это был Неуловимый Джо, Гарри.
— А почему его зовут Неуловимым Джо, Билл?
— Потому что его никто ещё не поймал, Гарри.
— А почему его никто ещё не поймал, Билл?
— Потому что он нафиг никому не нужен, Гарри.