9 августа 2016 в 14:09

Об охоте на «насекомых»: программа bug bounty в Одноклассниках

Как известно, bug bounty — это программа вознаграждения за информацию о проблемах с безопасностью в продукте. С помощью вознаграждений разработчик стимулирует сообщать о найденных уязвимостях ему, а не продавать информацию на черном рынке, и выигрывает время на исправление проблемы прежде чем о ней станет известно широкой аудитории. Ведь чем более массовый и востребованный у вас продукт, тем больше найдётся желающих воспользоваться им в корыстных целях. Для социальных сетей наличие брешей в системе безопасности является крайне нежелательным, ведь это подрывает доверие пользователей. И если вы хотите, чтобы ваше творение жило долго и имело большую аудиторию, нужно уделять немало внимания поиску ошибок и своевременному исправлению.


Поэтому год назад Одноклассники также запустили такую программу. Меня зовут Александра Сватикова, и как специалист по информационной безопасности я расскажу о том, с чем мы столкнулись и чего нам удалось добиться за время проведения программы поиска уязвимостей.


История программы


Участвовать в нашей программе могут все желающие. Основная задача — найти и обезвредить ошибки в сфере безопасности и приватности в Одноклассниках. Вы можете присылать нам свои bug report’ы, и мы обязательно их изучим, исправим и выплатим вознаграждение. Награда вручается за сообщение о неизвестной нам ранее проблеме с безопасностью в Одноклассниках. Идеальный отчет написан кратко, по делу, содержит сценарий воспроизведения или proof of concept и не является копипастой из сканеров уязвимостей. Подробнее о правилах — на нашей странице в HackerOne.


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


С тех пор появился американский стартап HackerOne. Это платформа, своеобразная социальная сеть, для специалистов по безопасности со встроенным трекером задач и платёжной платформой. Этот проект призван объединить авторов ПО и охотников за ошибками и берет на себя всю организационную часть процесса.


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


Преступники не дремлют


Итак, мы добровольно пригласили толпу хакеров искать уязвимости в Одноклассниках. Для нас, в общем-то, ситуация почти не поменялась: нас постоянно атакуют далеко не только багхантеры. Мы постоянно боремся с вредоносной активностью, с теми, кто наносит ущерб нашим пользователям. Но сложившуюся ситуацию нельзя назвать характерной только для Одноклассников, так живут все популярные ресурсы. Взлом аккаунтов, кража персональных данных и рассылка спама — прибыльный бизнес. Так что нельзя сказать, что до запуска Bug Bounty мы жили спокойно.


Особенности поиска уязвимостей


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



Кто-то запустил Acunetix


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


Cпециальных условий искателям уязвимостей мы не предоставляем. Они пытают счастья в обычном режиме, для наших систем безопасности их изыскания ничем не отличаются от атак злоумышленников.


Система мониторинга также подверглась “тестированию” в рамках публичного поиска уязвимостей и прошла испытание достойно: все успешные попытки атак, так или иначе затрагивающих инфраструктуру, например DOS и SSRF, были выявлены еще до того как нам присылали соответствующий отчет.


Первые результаты


На сегодняшний день, спустя почти год после запуска программы, нам приходит порядка десяти отчётов в неделю. А в первые две недели мы получили около 700 (сиреневый график).



  • New — это новые присланные отчёты;
  • Triaged — проверенные нами и поставленные в очередь на исправление;
  • Resolved — исправленные баги.

Запуская программу, мы были готовы к всплеску. У нас был не только свой опыт проведения bug bounty, но и опыт Mail.Ru Group, запустивших поиск уязвимостей в 2014 году. Но отклик превзошел наши ожидания и в первый месяц мы едва справлялись, обрабатывая отчёты и отвечая на них.


Ожидаемо, большая часть отчетов в первые недели представляла собой стандартные тексты о ложных срабатываниях популярных сканеров уязвимости и ценности не представляла.


Тем не менее, мы получили и полезные данные. За первый месяц работы программы мы завели тикеты примерно на 50 багов разной степени критичности.


Был и забавный случай: накануне запуска программы хранимая XSS обошла двухэтапный процесс ревью кода, ручное тестирование и автоматическое сканирование и проникла в продакшн. Мы получили 11 отчетов об этом баге за полтора дня, своеобразный бенчмарк для новой программы.


Также мы получили несколько интересных отчётов об уязвимостях в старых неиспользуемых версиях кода, сценарии атак на нас через баги в экзотических браузерах и даже сообщения о неопубликованных проблемах (0day) в используемых нами библиотеках.


Трудовые будни охотников за уязвимостями


После того, как первый вал отчётов схлынул, их количество в месяц стало более стабильным, колеблясь в небольших пределах. Спустя несколько недель стало гораздо меньше сообщений о ложных срабатываниях автоматических сканеров, меньше дубликатов. В первую очередь, это результат наших усилий по исправлению обнаруживаемых багов. Но и в Hackerone работают над тем, чтобы дисциплинировать хакеров, стимулировать их к отправке более качественных отчётов. Мы рады видеть сообщество охотников за багами, исследующих Одноклассники на регулярной основе и присылающих нам самые качественные и содержательные отчеты.



Новый присланный баг (New) проходит процесс проверки: отсеиваются ошибочные отчеты и дубликаты, проблема воспроизводится и анализируется. Мы оцениваем вероятность эксплуатации и возможный ущерб, иногда уточняем дополнительные детали у приславшего. Если проблема подтверждается, заявка переходит в статус Triaged и передается разработчикам. Соотношение хороших и плохих отчетов, а также время, требуемое на принятие решения и исправление, можно оценить на графике сверху


Занятная энтомология


Каких же «насекомых» отыскали участники? Помимо стандартного набора из OWASP Top 10, мы получили и весьма занятные отчеты. Перечислю самые запомнившиеся:


  • способ купить внутреннюю валюту Одноклассников дешевле официального курса, ставший возможным из-за ошибки округления (4lemon)
  • обход csrf токенов в заголовках путем эксплуатации открытого перенаправления (ragnar)
  • обход same origin policy на основном домене с помощью уязвимой флешки на CDN домене (zoczus)

Итоги


За год работы мы получили от участников 1328 сообщений. В сумме 143 хакера и 167 настоящих уязвимостей разной степени критичности. Могли ли мы организовать равноценный по масштабу и эффективности аудит внутри компании? Очевидно нет. Из этого я смело делаю вывод, что наша затея вышла успешной. Если у вас есть вопросы или хотите поделиться своим опытом — пишите в комментариях!

Автор: @alexandra_s
Одноклассники
рейтинг 76,09
Делимся экспертизой

Комментарии (9)

  • +4

    А какая статистика оплат по уязвимостям?

    • 0
      Судя по тому, что этот вопрос обошли в статье, ограничились 1328 «спасибо».
      • 0
        Заплатили внутренней валютой приложения
    • +6
      Мы за год заплатили $20К+, самая большая награда — $1000, средняя — $250.
      Cтатистика есть на страничке https://hackerone.com/ok
      • +1

        Ну это не совсем полная статистика, помимо среднего нужна еще и медиана, тогда было бы понятно :)

  • 0
    А размер вознаграждения не подскажете? Хоть намекните…
    • +1
      Вся информация есть тут.
  • +2
    Прям приятно до слез=))) Вспомнили, оценили=))
  • +1
    Помнится когда-то в одноклассниках была уязвимость с возможностью сделать редирект при переходе на ссылку со страницы ok.ru
    В итоге злоумышленники спокойно выкладывали ссылки, которые по-сути выглядели безобидно, тем временем как вкладка с одноклассниками открывала фишинговый сайт, практически незаметно для пользователя.
    Сейчас вроде переходы на ссылки централизованы и работают через специальный интерфейс одноклассников, но тогда были веселые времена :)
    Вроде как через window.opener проводилась атака.

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.