Рік тому Prozorro запустило програму пошуку ІТ-вразливостей. Чому ми за цей рік навчилися

Я — Василь Задворний, генеральний директор держпідприємства Prozorro. Маю більше десяти років досвіду на керівних посадах в ІТ-сфері, п’ять з яких присвятив Prozorro. За цей час разом з командою перетворили держпідприємство на справжню ІТ-компанію та реалізували низку масштабних проєктів. Серед них — і Prozorro bug bounty.

У цій статті я розповім про комунікацію з баг хантерами, подарунки за знайдені вразливості та інші особливості Prozorro Bug Bounty.

І вже зараз, озираючись назад, скажу, що це був дуже цікавий досвід — зі своїми злетами та падіннями. Саме тому я й пишу цю колонку, щоби допомогти іншим державним інституціям не ступити на ті ж граблі, а піти вже второваною стежкою.

Трохи передісторії

Свій перший баг баунті Prozorro запустила у 2019 році у форматі марафону. Тоді чотирнадцять білих хакерів упродовж семи годин шукали вразливості в центральному юніті Прозорро.

Тоді хакери знайшли вразливості некритичного рівня. І враховуючи те, що в центральній базі даних зберігаються мільйони тендерів на 200 Тб, а навколо самої системи є також партнери-електронні майданчики — це дуже гарний результат.

Учасники дводенного марафону з пошуку вразливостей Hack Prozorro

Але інформаційна безпека — це не проєкт, а процес. Кібератаки стають усе винахідливішими, а система постійно оновлюється та доопрацьовується, через що можуть з’являтися нові баги. Тож ми вирішили організувати постійний пошук вразливостей. І так стали одними із перших держпідприємств, які запустили баг баунті.

Особливості проєкту та проблеми

Уже на початку ми зіткнулися з питанням: як організувати пошук вразливостей на постійній основі не лише в центральному юніті системи, а й на її складових — електронних майданчиках.

Річ у тому, що до екосистеми Prozorro входить не лише центральна база даних, а й електронні майданчики. Через них держзамовники та бізнес реєструються, оголошують тендери або ж подають свої пропозиції. Тож вразливості можна знайти не тільки в центральному компоненті, а й на окремому майданчику, і все це — конфіденційна інформація.

Більше того, майданчики — це окремі електронні системи, за які відповідають інші юридичні особи, а не Прозорро. Це якби Національний Банк України запускав тестування ІТ-систем не тільки для себе, а і всіх своїх банків. Такого до нас в Україні ніхто не робив. Запозичити досвід не було в кого, а закордонні приклади нам не підходили через особливість нашої системи.

Також потрібно було вирішити, на якому середовищі хантери будуть шукати баги. У роботу системи не має бути втручання, бо це кримінальний злочин.

Крім цього було питання, як залучити електронні майданчики в програму, бо вона добровільна.

Ну і вишенька на торті: як саме нагороджувати учасників програми та на які суми.

Про все це розповім нижче.

Як ми організували програму Bug Bounty

Зазвичай комерційні компанії, які проводять у себе баг баунті, для комунікації з хакерами використовують окрему платформу або ж кабінет. Такі платформи надають спеціалізовані фірми за окрему оплату. Зручність в тому, що хантер реєструється в окремому кабінеті й далі напряму комунікує зі спеціалістами щодо вразливостей та їх оплати.

Як правило, такі технічні рішення не лише дороговартісні, а й складні. До того ж, інтегрувати в Прозорро їх було б непросто — адже в нашу систему входять інші юридичні особи. Тому залучати додаткового контрагента в ці відносини ми дуже не хотіли.

Щоби налагодити співпрацю між хакером, майданчиками та Прозорро, ми запровадили альтернативне рішення, яке не потребувало фінансових ресурсів і при цьому максимально знижувало ризик витоку інформації. З хантерами ми почали комунікувати просто через корпоративну електронну скриньку, а з технічними спеціалістами майданчиків — через таск-менеджер Jira та Slack.

Спеціалісти з інформбезпеки Прозорро та учасники марафону

Таке рішення допомагає ідентифікувати, кому належить знайдений баг — майданчику чи самій системі. Так, на електронну скриньку програми хантер скидає звіт, у якому зазначає на якому саме тестовому середовищі було знайдено баг. До того ж, щоб баги були невидимими для усіх організаторів, ми маємо окремі задачі під кожен майданчик в Jira.

Можливо, це не так зручно, якби в нас було готове технічне рішення, але наші фахівці інформаційної безпеки відповідають вчасно, зрозуміло й по суті, а ми самі при цьому заощадили гроші.

Але лишались питання, на якому середовищі проводити тести і як залучити майданчики в програму.

Ми зосередились на тестових середовищах — staging, які максимально відповідають продуктовому середовищі та підходять для пошуку вразливостей.

А щодо участі майданчиків, то тут все просто: ми запровадили участь в програмі як конкурентну перевагу, яка дає кращу захищеність системи від кібератак. Тепер це навіть зазначено у переліку майданчиків на сайті Prozorro.

Як і скільки ми платимо за баги

Проведення bug bounty це завжди питання не тільки організації проєкту, а і грошей.

По-перше, треба розуміти, як вчасно й законно платити за вразливості. Адже при виплаті винагород ми маємо дотримуватися податкового законодавства України.

Вартість винагороди включає податки, які необхідно сплатити державі при перерахуванні коштів. Відсоток податку залежить від того, ким є хакер — ФОПом чи фізичною особою. Важко сказати, як фінансово організовані інші баг баунті в Україні, але, здається, не всі хакери знають про цю особливість і часто розраховують на повну суму.

Також хантер повинен мати рахунок в українському банку, на який можна перерахувати винагороду за знайдену вразливість. Для українського хакера — це звична річ, а для іноземних хантерів процес відкриття рахунку складніший. Тож для деяких хакерів з-за кордону це є перепоною.

По-друге, постає питання, скільки платити баг хантерам. В Україні поки що немає баг баунті, де хакери тестують не тільки центральну базу даних, а й інші компоненти, які належать партнерам. Якщо знаходиться вразливість — хто має за неї платити? Прозорро чи електронні майданчики? Якщо вразливість у Прозорро — то це має коштувати дорожче чи дешевше, ніж у майданчиків? Об цю проблему ми зламали чимало списів.

Щобільше, виплати кожному «білому» хакеру — це купа бюрократичної роботи та неабияке навантаження на бухгалтерію.

Тож, оскільки спочатку ми не знали, як це все організувати з фінансової точки зору, то вирішили нагороджувати хантерів символічними подарунками — жорсткими дисками, фірмовими світшотами, антисептиками та масками тощо.

Ми розуміли, що запускати програму без грошових винагород — великий ризик, і нас будуть за це критикувати. Так і сталося. Але до нас усе ж прийшли досвідчені хантери, які тестували «за інтерес» і тому що хотіли допомогти державі. Так шість хантерів знайшли близько 60 вразливостей, і це нам допомогло закрити деякі важливі вразливості.

Хакер Jarvis, який знайшов найбільше вразивостей з подарунком — квадрокоптером

Але паралельно ми працювали над тим, щоби почати платити повноцінні винагороди. Ми провели перемовини з майданчиками і вирішили, що кожен оплачує свої вразливості. Кожен майданчик розумів, що це — гарна можливість зробити свою систему більш захищеною. Так ми прийшли до середньоринкових сум винагород: 1000 $ за найвищу вразливість, $250 за найнижчу. Причому Прозорро платить за вразливості, знайдені на центральному компоненті, а майданчики — за вразливості у їхніх системах, і суми не відрізняються.

Так, за розміром винагород ми не намагаємося конкурувати з великими комерційними компаніями, які проводять баг баунті. Але ми точно платимо середньоринкову ціну, тому є цілком конкурентоздатними.

Мотивація хантерів та результати програми

Що ж мотивує хантерів брати участь у нашій програмі, крім бажання допомогти державі? Це насправді й досвід роботи з великою складною системою, і додатковий дохід, і можливість напрацювати собі ім’я та рейтинг (і дуже круто бачити, як хантери змагаються за місце в рейтингу).

Так, за півтора роки програми ми залучили вісім хантерів, які знайшли близько 80 вразливостей на суму 120 000 грн (не враховуючи подарунки, які ми дарували на початку проєкту). Партнерами програми стали шість майданчиків та громадська організація ReSkill, яка взяла на себе частину функцій: координація проєкту, пошук баг хантерів, документообіг та інша бюрократична робота.

Ці результати для нас — дуже вагомі. Побудувати баг баунті у держсекторі з нуля й не за гроші донорів — це ще той виклик. І ми дуже вдячні кожному баг хантеру, які взяли участь у нашій програмі.

Замість висновків

Prozorro Bug bounty дало нам важливі уроки:

  • Прямий контакт із баг хантерами — це можливість не тільки спілкуватися щодо знайдених вразливостей, а і збирати зворотний зв’язок від них. Саме завдяки їхнім думкам та порадам ми постійно вдосконалювали програму.
  • Не варто боятися. Провести bug bounty державній установі не так легко, як у приватній. Але це цілком можливо, якщо вивчати досвід інших bug bounty й шукати альтернативні рішення під свої потреби. Якщо у вас немає можливості платити грошові винагороди, але ваша ІТ-система важлива для держави, не сумнівайтеся — до вас прийдуть хантери та допоможуть. Хоча треба бути готовими й до шквалу критики.
  • І головний урок — ми зрозуміли, що коли ти робиш щось нове, це надихає людей. Так нам вдалося залучити хакерів, для багатьох із яких Prozorro bug bounty — це не про винагороду, а про круту ідею та можливість стати корисним для держави.

Читайте більше про те, як працює ІТ-відділ Prozorro за посиланням.

👍ПодобаєтьсяСподобалось2
До обраногоВ обраному1
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Какаой баг-баунти 🤔 Это же втручання в інформаційні системи. Турма будет

пишемо про це ж. Ми тестуеємо Pre-prod а CI/CD гарантує його ідентичність проду + нові фічі що точно йдуть в прод

Так чому не підійшов hackerone?
NIH?

У роботу системи не має бути втручання, бо це кримінальний злочин.

imo поки це питання не вирішено законодавчо — white hats не можуть існувати в принципі

PS: дякую за статтю на солов’їній

Обирали найдешеввшу платформу, на початку фактично запускали без інвестицій. Наш варіант нас задовольняє функціонвльно і дешевший. Зараз тестуємо гіпоткзу впливу програми на деякі фактори. Якщо вони підтвердяться — розглянемо перехід на більш індустріальнф рішення.

Щодо крим.відповідальності, так, це питання законодавства. Його ми змінити не можемо, тому поки так

Краще прокоментуйте цей топік:

Чому неможливо знайти IT-спеціалистів в держсектор?

dou.ua/forums/topic/28677
(автор — HR з Prozorro.Sale)

У підприємства Prozorro — це окреме підприємсто не одне й те саме що Prozorro.Sale — цих проблем не більш ніж у будь-якої компанії сьогодні. Детальніше тут — t.me/spekamedia/175

Так ми прийшли до середньоринкових сум винагород: 1000$ за найвищу вразливість, $250 за найнижчу.

Це все, що треба знати про хуцпу. А що завадить проексплойтити баг та на першому ліпшому тендері забрати разів в 50 більше? Щось мені підказує, воно так і працює.

Або присісти на n років, як пощастить.

Це якщо доведеш баг. Тебе ж за нього і закриють. Особливо коли про нього знали, самі ж його і заклали.

Да, и статья крутая, и опыт действительно уникальный! Спасибо, что поделились. Искренне радуюсь, что удалось найти решение к неоднозначному и сложному вопросу.

Цікава стаття та актуальна.
Особливо тішить, шо стаття написана державною мовою.
Добра робота. Пишіть ще!

Шо, знов кукарєку? Коли вже ти щось напишеш?

Тихше. Бо зараз ще й інші українофоби збіжаться.

Підписатись на коментарі