23 февраля крупнейшая сеть доставки контента Cloudflare объявила о выявлении серьезной уязвимости. Как оказалось, сервис, который должен защищать сайты, передавал информацию о пользователях в открытом виде, и ее мог получить любой, кто знал об уязвимости. По счастливой случайности, обнаружил «дыру», которой как минимум пять месяцев, не злоумышленник, а специалист по безопасности из Google. «Медуза» рассказывает, почему уязвимость Cloudflare — это серьезно.
Что такое Cloudflare?
Сервис Cloudflare существует c 2009 года и, как говорится на сайте компании, «заставляет интернет работать так, как он должен». По сути, Cloudfare это посредник между сайтом и пользователем, который одновременно защищает сервера клиентов (то есть того или иного сайта или сервиса) и ускоряет открытие сайта для обычных посетителей.
К примеру, владельцы небольших сервисов с помощью Cloudflare избавляются от необходимости тратиться на сервера и на защиту от DDoS-атак — вопрос доступа к сайтам своих клиентов Cloudflare берет на себя и фильтрует запросы, которые похожи на атаки. Сервис также занимается защитой всех данных, проходящих через его сеть и гарантирует их конфиденциальность. Многие функции Cloudflare бесплатны и доступны для владельцев небольших сайтов, но компания работает и с очень крупными клиентами: Uber, сайт знакомств OKCupid, сервис хранения паролей 1Password и другими, в том числе российский сайт с объявлениями «Авито».
Cloudflare — крупнейший подобный сервис, его услугами пользуются более пяти миллионов различных сайтов. Он не раз защищал сайты от крупных DDoS-атак.
В чем заключается уязвимость?
Как выяснил специалист по сетевой безопасности Google Тэвис Орманди, при обычном обращении к определенной странице в сети Cloudflare сервис отдавал не только запрашиваемые данные, но и часть данных какого-нибудь другого сервиса. Сначала ему показалось, что ошибка в его собственном коде (Орманди работал над каким-то своим проектом), но потом он выяснил, что это уязвимость на стороне Cloudflare — так происходило, когда та или иная страница с точки зрения одного из механизмов сервиса была составлена с ошибками. Причем среди данных были и персональные данные, и сведения об авторизации пользователей, которые работают с сервисом. В том числе Орманди удалось обнаружить информацию с сайтов Uber и OKCupid. Полученные сведения он уничтожил.
Так происходило примерно один раз на три миллиона запросов, однако если учесть количество клиентов Cloudflare, то к уязвимости нужно относиться крайне серьезно. Тем более что если один раз найти страницу с ошибками, через которую утекают данные, то обращаться к ней можно сколько угодно раз — и каждый раз получать конфиденциальную информацию из сети Cloudflare.
Ошибка закралась в систему, которая готовит страницы для распространения через сервис Google AMP, ускоряющий просмотр сайтов на мобильных устройствах. Из-за уязвимости случайное количество данных попадало в открытый доступ и их индексировали поисковые машины. Как выяснили в Cloudflare (на подробный анализ потребовалась почти неделя), уязвимость появилась не позднее 22 сентября 2016 года — то есть пять месяцев в открытый доступ попадали случайные порции конфиденциальных данных, в том числе личной информации пользователей крупнейших компаний.
Среди «утекшей» информации оказался ключ шифрования, который использовали в Cloudflare для защиты собственных сетей.
«Это была ошибка в штуке, которая понимает HTML. Мы распознаем изменения веб-страниц на лету, и пропускаем через наши системы, Чтобы это работало, страницы должны быть у нас в памяти. Оказалось, что можно дойти до конца страницы и попасть в ту часть памяти, куда смотреть не стоило», — объясняет один из создателей Cloudflare Джон Грэм-Камминг.
Какие последствия?
Достоверно не известно, какие именно данные попали в открытый доступ, и смог ли кто-нибудь их найти. В Cloudflare утверждают, что никакие злоумышленники уязвимостью воспользоваться не успели, потому что не знали о ней — хотя она и существовала почти полгода. Компания заверяет, что в противном случае обязательно обнаружила бы подозрительную активность хакеров.
Если эти утверждения — правда, и первым об уязвимости действительно узнал специалист по компьютерной безопасности из Google, у которого не было никаких дурных мотивов, то главная проблема утечки заключается в кэшированных интернет-поисковиками данных. Cloudflare уже начала активную работу со всеми крупнейшими поисковыми системами и оперативно вычищает все конфиденциальные сведения практически на глазах («Медузе» удалось найти в одной из кэшированных страниц Google непубличные данные с сервиса Uber, а спустя несколько часов они перестали быть доступны).
На github уже собран список крупнейших сайтов, которые работали с Cloudflare и могли быть подвержены утечке данных. Наиболее важный из них, сервис хранения паролей 1Password, уже заявил, что данные его пользователей все время находились в безопасности — компания использует более сложные системы защиты. Не нанесен ущерб и пользователям российского сайта объявлений «Авито». В списке сайтов, чьи данные все же могли попасть в открытый доступ, есть, помимо Uber, блог-сервис Medium, торрент-трекер The Pirate Bay, сайт 4pda.ru и многие другие. Если у вас была учетная запись на одном из этих сайтов, лучше сменить пароль.