24 января 2017

«Я просто нашел место, где забыли обновить программу»: как петербуржец заработал на ошибке в Facebook 40 тысяч долларов

Петербургский программист Андрей Леонов получил рекордный гонорар от Facebook: компания выплатила ему 40 тысяч долларов за то, что он обнаружил уязвимость соцсети при обработке изображений.

Леонов рассказал «Бумаге», как смог заработать на невнимательности разработчиков Facebook, чем грозила ошибка в соцсети и как программисты в России и за рубежом за деньги ищут слабые места в программах.

Андрей Леонов

Как найти уязвимость в Facebook и почему это не хакерство

Я работаю в отделе безопасности IT-компании SEMrush, которая разрабатывает инструменты для онлайн-маркетинга. И в свободное время занимаюсь поиском уязвимостей на сайтах, у которых есть открытая программа поощрения исследований.

В чем заключается суть уязвимости? На Facebook есть страница, где можно расшарить новость: написать содержание поста, прикрепить фотографию. Часть скрипта отвечает за обработку изображения, то есть запрашивает его с одного сервера и перекачивает на сервер Facebook. Так вот эта часть была построена с помощью уязвимой библиотеки ImageMagick — это очень известная и распространенная библиотека, которая позволяет производить некие манипуляции с изображением, в частности, менять их размер и формат. В конце апреля прошлого года несколько исследователей безопасности обнаружили, что она уязвима к нескольким типам уязвимости, и к началу мая ImageMagick выпустили исправления.

Когда я наткнулся на эту страницу, то подумал, что раз тут происходит конвертация, то, наверное, можно ее проверить. Но, честно говоря, последнее, о чем я думал, так это о том, что Facebook где-то забыл обновить библиотеку с уязвимой версии на неуязвимую. Ты этого не ожидаешь, но, с другой стороны, в такой большой инфраструктуре, как Facebook, такое возможно. Представьте: у них 10 000 серверов и, допустим, на двадцати они забыли обновить.

Для пользователя всё работало. Но при определенных воздействиях можно было исполнить код на серверах компании Facebook, то есть получить доступ к данным, которые там хранятся. Какие там были данные, я, естественно, не знаю, потому что, по правилам участия в программе Facebook и других компаний, исследователь не имеет права лезть дальше. Он находит какую-то точку входа — и на ней должен остановиться, потому что иначе в лучшем случае лишится выплаты, в худшем — к нему применят все возможные меры как к хакеру уже в плохом смысле слова.

Изображение из блога Андрея Леонова

От чего зависит сумма гонорара

Какие-то репутационные выгоды, естественно, тут есть, потому что, когда ты находишь что-то крупное, в данной тусовке о тебе узнают. Но я не создал никакого академического знания, а просто нашел место, где забыли обновить программу. Тот же Реджинальдо Сильве (бразилец, который получил от Facebook предыдущую рекордную сумму в 33,5 тысячи долларов — прим. «Бумаги») свел воедино несколько малозначимых факторов, и у него была технически сложная вещь.

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

Сумма зависит от нескольких факторов. Во-первых, Facebook, как и Google, в принципе очень щедр на выплаты. За то, за что в среднем по рынку платят от 200 до 1000 долларов, они платят от 5 до 10 тысяч. Второй аспект — это классификация самих уязвимостей. Удаленное исполнение кода — это максимальный рейтинг в классификации, потому что я фактически могу делать всё то же, что и хозяин сервера. Дальше, есть различия в угрозе: одно дело, если это сервер, на котором нет ничего ценного, и другое, если на нем хранится база всех клиентов. Я допускаю, что в моем случае это давало доступ к какой-то важной информации, но не уверен, так как не имел права смотреть.

Как компании платят исследователям в России
и на Западе

В 2011 году Facebook был одной из первых компаний, которые публично объявили, что они готовы взаимодействовать с исследователями безопасности и выплачивать им деньги. Кроме них так сделали Google и Mozilla. Где-то к 2013-му так стали поступать многие. Существуют также приватные программы: если компания не хочет объявлять о своей программе публично или не хочет, чтобы доступ к ней имело большое число людей, потому что это огромные накладные расходы. Допустим, у меня есть сайт, я позвал десять человек, которые нашли десять уязвимостей. Я могу исправить эти проблемы комплексно сразу везде — так, что следующие исследователи их уже не найдут. А если я позову сразу 10 тысяч человек, то они найдут много чего и это будет очень дорого.

При этом надо понимать, что за счет больших выплат Facebook и его новых функций, которые часто выходят, много людей следит за ним и проверяет его. Сообщество таких людей, как я, — это, наверное, 40–50 тысяч человек во всем мире. Если хотя бы половина регулярно смотрит Facebook, то вероятность, что я там вообще что-то найду, 1:25 000. Кроме того, нужно еще быть первым, потом что деньги получает только первый.

Западных компаний больше, но все крупные российские IT-компании тоже в этом участвуют: «Яндекс», Mail.ru, «ВКонтакте», «Одноклассники». Выплаты разнятся, но на рынке находятся посередине: не занижают и не завышают. Все понимают, что, какую бы команду ты в свою компанию ни нанял, полностью избежать того, что у тебя где-то что-то вылезет, невозможно.

Если вы нашли опечатку, пожалуйста, сообщите нам. Выделите текст с ошибкой и нажмите появившуюся кнопку.
Подписывайтесь, чтобы ничего не пропустить
Все тексты
Мобилизация
Мобилизованного приговорили к 5,5 года колонии за побег из воинской части в Ленобласти
С начала мобилизации в суды России поступило более 500 уголовных дел против отказников, пишет «Медиазона»
От Милонова до «двойника Вишневского». Семь петербургских чиновников, депутатов и госслужащих отправились на фронт — что о них известно
В России собираются повысить призывной возраст. Глава «Солдатских матерей Петербурга» — о том, кого это коснется и как защититься от призыва
«Это подготовка к мобилизации». В Петербурге и других регионах массово разносят повестки — что это значит и нужно ли бояться?
Давление на свободу слова
Били, швыряли о ступени, выламывали руки. Осужденная за «фейки» Мария Пономаренко рассказала об избиении медиками в СИЗО
Для посетителей петербургского бара вызвали полицию из-за обсуждения войны в Украине
В Москве у сотрудников «Мемориала» проходят обыски по делу о «реабилитации нацизма»
«У нас нет громкоговорителя». Как прошло заседание по делу Скочиленко, где прокурор тихо зачитывала доказательства вины
«Идешь и понимаешь, что сейчас тебя будут бить». Как силовики издевались над участниками презентации комиксов Саши Скочиленко — рассказывает один из пострадавших
Свободу Саше Скочиленко
Суд отказался изменять меру пресечения для Саши Скочиленко
«Я вообще без понятия». Свидетель обвинения по делу Скочиленко ничего не знает о ее акции с ценниками
«Следователь за меня написал, что я хочу, чтобы она приехала». О чем еще сегодня рассказал свидетель по делу Скочиленко
«У нас нет громкоговорителя». Как прошло заседание по делу Скочиленко, где прокурор тихо зачитывала доказательства вины
«Идешь и понимаешь, что сейчас тебя будут бить». Как силовики издевались над участниками презентации комиксов Саши Скочиленко — рассказывает один из пострадавших
Экономический кризис — 2022
«Отсутствие конкуренции — это не возможность, а деградирующая среда». Как изменилось производство мебели в Петербурге
Вижу сообщения, что из-за банкротства американских банков могут рухнуть криптовалюты. Это правда? И что вообще происходит?
Bershka и Zara возобновят работу в России весной под новыми названиями
Вижу, что в Петербурге закрываются веганские кафе. Это правда? И куда теперь идти за растительной едой?
«Кофе теперь намного меньше». Сооснователь Sibaristica Coffee Roasters — о кофейном импортозамещении, ценах и вкусах покупателей
К сожалению, мы не поддерживаем Internet Explorer. Читайте наши материалы с помощью других браузеров, например, Chrome или Mozilla Firefox Mozilla Firefox или Chrome.