Про полювання на «комах»: програма bug bounty в Однокласниках

Як відомо, bug bounty — це програма винагороди за інформацію про проблеми з безпекою в продукті. З допомогою винагород розробник стимулює повідомляти про знайдені вразливості йому, а не продавати інформацію на чорному ринку, і виграє час на виправлення перш ніж про неї стане відомо широкій аудиторії. Адже чим більш масовий і затребуваний у вас продукт, тим більше охочих скористатися ним в корисливих цілях. Для соціальних мереж наявність прогалин у системі безпеки є вкрай небажаним, адже це підриває довіру користувачів. І якщо ви хочете, щоб ваше творіння жило довго і мало більшу аудиторію, потрібно приділяти чимало уваги пошуку помилок і своєчасному виправленню.
рік Тому Однокласники також запустили таку програму. Мене звати Олександра Сватикова, і як фахівець з інформаційної безпеки я розповім про те, з чим ми зіткнулися і чого нам вдалося досягти за час проведення програми пошуку вразливостей.
Історія програми
брати Участь у нашій програмі можуть всі бажаючі. Основне завдання — знайти і знешкодити помилки у сфері безпеки та приватності в Однокласниках. Ви можете надсилати нам свої bug report'и, і ми обов'язково їх вивчимо, виправимо і виплатимо винагороду. Нагорода вручається за повідомлення про невідому нам раніше проблеми з безпекою в Однокласниках. Ідеальний звіт написаний коротко, по справі, містить сценарій відтворення або proof of concept і не є копипастой з сканерів вразливостей. Детальніше про правила — на нашій сторінці HackerOne.
Кілька років тому ми вже запускали схожу програму — користувачі надсилали свої знахідки по електронній пошті. Кампанія була досить успішною, але ми зіткнулися з організаційними труднощами, в тому числі пов'язаними з доставкою винагород до учасників.
З тих пір з'явився американський стартап HackerOne. Це платформа, своєрідна соціальна мережа, для фахівців з безпеки з вбудованим трекером завдань і платіжної платформою. Цей проект покликаний об'єднати авторів і мисливців за помилками і бере на себе всю організаційну частину процесу.
Про популярність платформи ви можете судити за списком компаній, що працюють з HackerOne. В результаті ми теж вирішили перенести туди свою програму пошуку вразливостей.
Злочинці не дрімають
Отже, ми добровільно запросили натовп хакерів шукати уразливості в Однокласниках. Для нас, загалом-то, ситуація майже не змінилася: нас постійно атакують далеко не тільки багхантеры. Ми постійно боремося з шкідливою активністю, з тими, хто завдає шкоди нашим користувачам. Але ситуацію не можна назвати характерною тільки для Однокласників, так живуть всі популярні ресурси. Злом акаунтів, крадіжка персональних даних та розсилання спаму — прибутковий бізнес. Так що не можна сказати, що до запуску Bug Bounty ми жили спокійно.
Особливості пошуку вразливостей
Треба сказати, технічно пошук вразливостей в дослідних і злочинних цілях не відрізняється. Після того, як ми розмістилися на HackerOne, різко зросла кількість специфічних звернень до наших ресурсів, що свідчать про роботу автоматизованих засобів тестування безпеки.

хтось запустив Acunetix
На фронтендах періодично реєструється сплеск кількості помилок, відповідний фаззингу з мільйонами безглуздих запитів, але ми не отримали ще жодної гідної уваги автосгенеренного звіту від сканерів.
Спеціальних умов шукачам вразливостей ми не надаємо. Вони катують щастя у звичайному режимі, для наших систем безпеки їх вишукування нічим не відрізняються від атак зловмисників.
Система моніторингу також піддалася «тестування» в рамках публічного пошуку вразливостей і пройшла випробування гідно: всі успішні спроби атак, так чи інакше зачіпають інфраструктуру, наприклад 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 цих вразливостей різного ступеня критичності. Могли ми організувати рівноцінний за масштабом та ефективності аудит всередині компанії? Очевидно ні.
З цього я сміливо роблю висновок, що наша затія вийшла успішною. Якщо у вас є питання або хочете поділитися своїм досвідом — пишіть в коментарях!
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.