Команда закрила знахідки пентесту, а через два тижні випустила новий API та підключила платіжний сервіс. Попередній звіт залишається корисним, але не підтверджує безпеку змін, яких на момент перевірки ще не було.
Bug Bounty допомагає залучити незалежних дослідників до подальшого пошуку вразливостей. Проте сама наявність програми не означає, що кожен реліз перевірено. Пентест і Bug Bounty вирішують різні завдання та можуть доповнювати один одного.
Матеріал підготовлений командою BugStream. Редакційна адаптація для VAPAN.
Що дає пентест
Пентест має погоджені межі тестування, терміни та відповідальну команду. Фахівці перевіряють визначені системи, підтверджують знайдені проблеми й готують звіт, за яким розробники можуть планувати виправлення.
Такий формат доречний перед запуском продукту, після суттєвих змін архітектури або коли потрібна цілеспрямована перевірка конкретної частини системи. Глибина роботи залежить від погоджених завдань, доступів і часу. Пентест не є гарантією відсутності всіх вразливостей і сам по собі не замінює сертифікацію.
Після виправлень важливо перевірити їх повторно. Інакше статус «закрито» у трекері може не збігатися з фактичним станом системи.
Як працює Bug Bounty
У Bug Bounty незалежні дослідники шукають вразливості в дозволених компанією системах і подають звіти за визначеними правилами. За знахідки, що відповідають умовам програми, передбачена винагорода.
Компанія заздалегідь описує scope: домени, застосунки, API та інші дозволені об’єкти. Окремо визначає заборонені дії, порядок повідомлення про вразливість, критерії винагороди й правила роботи з даними.
У приватну програму запрошують обраних дослідників. Публічна програма допускає ширше коло учасників, але не скасовує обмежень. Публічно доступний сайт не означає автоматичного дозволу на будь-які тести.
Різні дослідники можуть спеціалізуватися на авторизації, API, мобільних застосунках або бізнес-логіці. Це дає різні погляди на продукт, але кількість зареєстрованих учасників не дорівнює кількості людей, які реально його тестують.
Чим Bug Bash відрізняється від Bug Bounty
Bug Bash є обмеженим у часі заходом для пошуку помилок. Сам термін може стосуватися й звичайного тестування якості продукту. У цій статті йдеться саме про Security Bug Bash, коли учасники зосереджені на вразливостях безпеки.
Такий захід може бути зручним для перевірки вибраної частини продукту у визначений період. Тривала Bug Bounty програма натомість підтримує канал пошуку й отримання звітів упродовж довшого часу. Умови винагород, склад учасників і очікуваний обсяг роботи потрібно погоджувати окремо.
Коли запускати програму після пентесту
Практичний порядок починається з базової перевірки й усунення підтверджених проблем. Це допомагає не витрачати ресурс програми на вже відомі дефекти. Далі команда визначає межі програми й перевіряє, чи готова опрацьовувати нові звіти.
До запуску потрібні:
- відповідальний за зв’язок із дослідниками та розгляд знахідок;
- бюджет винагород і час розробників на виправлення;
- правила тестування, обробки даних і публічного розкриття;
- зрозумілі строки відповіді та порядок термінової ескалації;
- тестові облікові записи або середовища, де вони потрібні.
Початок із приватної програми дозволяє перевірити цей процес на меншому потоці звітів. Розширювати її доцільно тоді, коли команда встигає відповідати й усувати проблеми. Пентест перед Bug Bounty є корисною моделлю підготовки, а не універсальною обов’язковою умовою.
Навіщо потрібен triage
Triage перетворює повідомлення дослідника на перевірену й зрозумілу для команди задачу. Потрібно встановити, чи відтворюється проблема, чи входить вона в scope, чи не була відома раніше та який має вплив.
Наприклад, звіт про доступ до чужого замовлення потребує підтвердження порушення контролю доступу. Досліднику не потрібно масово завантажувати чужі дані для доказу. Правила програми мають пояснювати, як показати вплив із мінімальним втручанням.
Після оцінки ризику команда призначає відповідального за виправлення. Далі перевіряє результат і повідомляє досліднику статус. Без цього процесу навіть якісні звіти можуть залишатися без дій.
Що можна включити в scope
Об’єктами програми можуть бути вебзастосунки, API, мобільні продукти, SaaS, мережеві компоненти, IoT або hardware. Але для кожного потрібні власні умови доступу й безпечного тестування.
Особливо важливо відокремити власні системи від інфраструктури сторонніх постачальників. Компанія не повинна включати чужі ресурси до дозволеного тестування без відповідних повноважень і погодження.
Як це організовано на BugStream
BugStream є українською платформою, що об’єднує компанії та незалежних дослідників безпеки. Вона представляє напрями тестування вебпродуктів, API, мереж, мобільних застосунків, IoT і hardware.
За описом команди BugStream, компанія визначає програму, scope і правила, а дослідники передають звіти через платформу. Подальший процес передбачає модерацію, перевірку відтворення, пошук дублів та оцінку впливу. Для замовника це централізований канал роботи зі знахідками.
Перед запуском варто уточнити, хто саме виконує triage, що входить у послугу, як визначаються винагороди та які строки відповіді погоджено. Ці умови не слід вважати однаковими для всіх програм.
Який формат обрати зараз
Якщо потрібна перевірка конкретної версії або складної частини продукту у визначені терміни, почніть із погодження пентесту. Якщо базові проблеми вже усунено й команда готова регулярно працювати зі звітами, розгляньте Bug Bounty. Для обмеженого в часі залучення дослідників може підійти Security Bug Bash.
Жоден із цих форматів не замінює безпечну розробку, моніторинг і виправлення вразливостей. Результат залежить не тільки від кількості знахідок, а й від того, як швидко команда зменшує підтверджені ризики.
Де почати практику майбутньому досліднику
Перед тестуванням реальних продуктів корисно відпрацювати базові навички на навчальних задачах. Один із прикладів такого формату в Україні, CTF Junior League, це командні змагання з кібербезпеки для молоді 14–19 років із задачами з веббезпеки, криптографії та інших напрямів. CTF дає простір для практики в межах правил змагання, але не замінює досвіду роботи з реальними продуктами й не надає дозволу тестувати сторонні системи.
Автор матеріалу: команда BugStream. Додатковий ресурс авторів: bugbounty.ua.




