Специалист в области информационной безопасности Уэсли Вайнберг (Wesley Wineberg) личность весьма известная. В частности, в октябре текущего года он получил солидное вознаграждение от Microsoft за обнаружение бреши в Live.com. Теперь Вайнберг нашел серьезный баг в Instagram, только вместо выплаты вознаграждения Facebook угрожает ему судом.
Заняться изучением Instagram Вайнберга мотивировал друг, посоветовавший присмотреться к потенциально уязвимому серверу sensu.instagram.com. Сам друг сообщил в Facebook о том, что веб-интерфейс данного сервера публично доступен.
Проведя тщательный анализ проблемы, Вайнберг обнаружил Ruby-уязвимость, благодаря которой можно осуществить удаленное исполнение произвольного кода (RCE). По словам исследователя, злоумышленник может исполнить код, используя два бага. Во-первых, веб-приложение Sensu-Admin, запущенное на сервере, содержит жестко закодированный секретный токен. Во-вторых, хост работал на версии Ruby (3.x), которая допускает исполнение кода посредством сессионных куки Ruby.
Данный RCE-баг позволил исследователю прочесть файлы конфигурации, в которых содержались идентификационные данные для доступа к базе PostgreSQL. В базе обнаружились порядка 60 аккаунтов, принадлежащих сотрудникам Facebook и Instagram. Пароли были зашифрованы с помощью bcrypt, но Вайнберг уверяет, что без труда сумел взломать около дюжины. Почти все пароли оказались очень слабыми: changeme, password, instagram.
На достигнутом Вайнберг не остановился. Изучив другие файлы конфигурации, он нашел несколько ключей от Amazon Web Services, оказалось, что сервер работает в облаке Amazon. Ключи ассоциировались с 82 бакетами S3 (bucket – дословно «ведро», логическая единица хранения AWS).
Заглянув в содержимое этих бакетов, исследователь пришел в ужас. Совершенно неожиданно он напоролся на настоящий клад для киберпреступников. Вайнберг нашел:
- Исходные коды Instagram;
- SSL-сертификаты и приватные ключи (в том числе для instagram.com и *.instagram.com);
- API-ключи, которые используются для взаимодействия с другими сервисами;
- Изображения, загруженные пользователями Instagram;
- Статическое содержимое с сайта instagram.com;
- Идентификационные данные email-сервера;
- Ключи подписей для приложений iOS и Android.
«Пожалуй, если сказать, что я получил доступ ко всем секретным материалам Instagram, это будет вполне соответствующее реальности заявление, — пишет Вайнберг в своем блоге. — С ключами, которые мне удалось получить, я прямо сейчас мог бы выдать себя за Instagram, за любого пользователя сервиса или за сотрудника компании. Трудно сказать, легко ли было бы скомпрометировать основные серверы, при помощи полученной мной информации, но она определенно открывала широкие возможности».
Обо всех своих находках Вайнберг сообщил в службу безопасности Facebook, рассчитывая на получение вознаграждения. Однако представители социальной сети заявили, что в ходе своих изысканий Вайнберг вышел за рамки, то есть получил доступ к личным данными сотрудников компании и пользователей сервиса. Это запрещено правилами программы вознаграждений.
За RCE-баг Вайнберг и его друг получили причитающиеся $2500, но за все остальное, то есть за сообщения о слабой защите аккаунтов sensu.instagram.com, вместо благодарности и вознаграждения, Вайнберг получил «бан» в bug bounty программе Facebook.
В своем блоге исследователь рассказывает, что 1 декабря 2015 года также начались угрозы. Его босс -- Джей Каплан (Jay Kaplan), глава компании Synack, в которой работает Вайнберг, получил звонок с угрозами от главы безопасности Facebook Алекса Стамоса (Alex Stamos). Стамос рассказал руководителю Synack, что найденная Вайнбергом уязвимость была тривиальной, но то, как исследователь ее использовал, вызвало в стане Facebook глубочайшую озабоченность. Стамос сообщил, что не хотел подключать к делу юристов Facebook, но, похоже, все-таки придется. Шеф безопасности социальной сети, якобы намекал и на то, что эту историю лучше всего тихо замять, а компании Synack стоит удалить все данные Instagram и забыть о случившемся.
Теперь Стамос официально отрицает, что угрожал главе Synack юридическими последствиями и намекал на то, что Вайнберга лучше уволить, а об уязвимостях умолчать. Якобы никто не пытался «заткнуть рот» компании или Вайнбергу, запретив публиковать информацию. Кстати, позже выяснилось, что это изыскание Вайнберг вообще проводил в свободное, нерабочее время, так что апеллировать к главе Synack не имело особого смысла.
Так как Facebook уже исправила обнаруженные Вайнбергом уязвимости, исследователь опубликовал и подробности о найденных багах и полную хронологию данной истории, включая фрагменты переписки с Facebook. Похоже, теперь, когда случившееся было предано широкой огласке, суд Вайнбергу всё же не грозит.
Фото: Getty Images