Об охоте на «насекомых»: программа 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 настоящих уязвимостей разной степени критичности. Могли ли мы организовать равноценный по масштабу и эффективности аудит внутри компании? Очевидно нет. Из этого я смело делаю вывод, что наша затея вышла успешной. Если у вас есть вопросы или хотите поделиться своим опытом — пишите в комментариях!

    • +29
    • 9,2k
    • 9
    Одноклассники 123,21
    Делимся экспертизой
    Поделиться публикацией
    Комментарии 9
    • +4

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

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

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

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

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

            Самое читаемое