Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 30
×

Як стати професійним баг хантером

Мене звати Jarvis, а справжнє ім’я Вадим. Я професійний баг хантер. Нещодавно я разом з командою Cyber Unit взяв участь у Prozorro Bug Bounty і посів перше місце за кількістю знайдених вразливостей. Зараз мені 24 роки, багхантером я працюю вже кілька років. DOU попросили мене розповісти про мій досвід.

Коли мені було 19 років, я знайшов першу вразливість. Проблема була в соцмережі «Вконтакте» — вразливість у вторинних API-ключах доступу до інформації облікового запису. Знайшов випадково. Процес пошуку зацікавив. На той час соціальна мережа була дуже відома, тому було приємно хоч трохи докластися до розвитку такого великого проєкту.

Розпочав шукати вразливості через Bug Bounty платформи HackerOne, HackenProof та Bugcrowd. Активно тестував Badoo, Department of Defense USA, AliExpress, Kuna, Binance, Ford, Xiaomi, і т.д. Провів безліч пентестів та аудитів. Зараз у рейтингу HackerOne я на 182-му місці, а у HackenProof — на першому.

Участь в Bug Bounty — важливий процес для IT-спеціаліста, адже навички, що виробляються при тестуваннях, дуже корисні для основної роботи. Спеціалісти, що мають уявлення про безпеку, можуть значно краще проєктувати свої розробки або розробки компаній, де вони можуть працювати. Тому корисно знайти хоча б декілька багів у проєктах, які мають Bug Bounty. Для того, щоб успішно цим займатися, не треба мати глибокі знання профільного напряму: достатньо вміти мислити нестандартно та знаходити нові підходи до розв’язання вже вирішених проблем. Будь-який IT-спеціаліст зазвичай уже має багато потрібних знань, треба лише почати.

Перша велика програма, яку я протестував, було Міністерство оборони США. У процесі збору інформації я знайшов тисячі сайтів. У скоуп входять сайти Пентагону, повітряних і воєнно-морських сил США, армії й т.д. За 5 місяців вдалося знайти 350 вразливостей різної критичності. Було багато кейсів, більшість з яких, на жаль, не можна розкривати. Найцікавіше — шукати вразливості, які розкриваються ланцюжком. Наприклад, знайшовши вразливість на обхід авторизації панелі адміністратора, була можливість виконати SQL-ін’єкцію в другому місці, недосяжному без використання першої вразливості. Обходити та знову експлуатувати вже виправлені вразливості теж достатньо цікаво. За час моєї активної участі в цій програмі я зайняв третє місце серед півтори тисячі багхатерів.

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

На той час здавалося, що високий рейтинг серед подібних програм — це дуже престижно, хоча за знайдені вразливості грошова премія в цій програмі не передбачена. Це пов’язано з тим, що програма Міністерства оборони США — VDP (Vulnerability Disclosure Program).

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

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

Насправді, навчальні програми та сертифікації з кібербезпеки існують, але вони швидко застарівають (наприклад сертифікація CEH — Certified Ethical Hacker). З кожним днем сфера IT змінюється і з’являється щось нове, тому жодна університетська програма не встигає за інноваціями. Звісно, існують різні курси, школи з кібербезпеки та організації, що дають гарний старт, але це лише заданий правильно напрямок, початок. Весь основний шлях людина повинна пройти сама. Зазвичай потрібні роки, щоб освоїти необхідний набір знань, відточити навички та головне — виробити правильний спосіб мислення.

Нещодавно я брав участь у Prozorro Bug Bounty. Це перша державна українська компанія, що організувала постійно діючу програму пошуку вразливостей. Скоуп програми був достатньо великий, тому було цікаво вивчати їх систему. Хоча компанія за участь давала символічні винагороди, мене це не збентежило. Тим більше, що процес був добре спланований — швидка комунікація з представниками компанії, вільний формат здачі вразливостей, швидка валідація. Усі ці фактори дуже важливі для будь-якого багхантера.
Я займався Prozorro півтори тижні: за цей час вдалося знайти 44 вразливості різної критичності. Сподобалося, як компанія Prozorro організувала роботу спільно з електронними майданчиками.

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

Загалом рівень безпеки в урядовому секторі України дуже низький. Атака вірусу NotPetya мало чому навчила державні організації. Чому ж так мало зусиль докладено для виправлення ситуації? На цю тему я чую постійні відмовки — війна з ворогом, вибори та багато кадрових перестановок, потім коронавірус. Але це лише відмовки. Наша держава все більше та більше оцифровується. Але водночас вона стає все більш приваблива для кіберзлочинців. Почати так само, як Prozorro — легше, ніж здається, і коштує небагато... Просто завжди «не до того».

Будь-яку систему чи програму можна зламати. Я багато чув, як люди говорили — «Я можу зробити так, щоби сайт/систему/пристрій неможливо було зламати». Ці люди або навмисне говорять неправду, або мають мало технічних знань і є некомпетентними. Ніколи не вірте людям, що так говорять. Не існує повністю захищених систем. Жоден продукт, система чи програма не можуть бути повністю захищеними. Єдине, що можливо — це наблизитися до цього стану.

Проблема відсутності кіберзахисту в багатьох людей — відсутність розуміння небезпеки. Наприкінці майже кожної дискусії, інтерв’ю або виступу в мене запитують — що я можу порекомендувати людині, яка цікавиться своєю цифровою безпекою. Складні паролі, зашифрований комп’ютер чи телефон самі по собі користі приносять небагато.
Наприклад, якщо у вас складний пароль у профілі Facebook, всюди є двофакторна аутентифікація, але немає пароля на домашньому Wi-Fi, то ваша безпека так само під великою загрозою. Тому раджу: будуйте декілька периметрів безпеки, підходьте до свого захисту комплексно. Вас можуть зламати способом, яким ви навіть собі не уявляєте. Зробіть так, щоби злом, з яким ви можете зіткнутися, мав мінімальні наслідки.

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

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

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному5
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

Почав читати книжку Web Hacking 101 і вважаю що книжка має гарні пояснення як почати кар’єру мисливця за вразливостями

В книжці описані інструменти, приклади пошуку вразливостей а також навчальні матеріали

Коли мені було 19 років, я знайшов першу вразливість. Проблема була в соцмережі «Вконтакте»

багато голосів насипали?🙂

Если с «нуля» и в контексте пентеста:

0. Имеем желание, которое совпадает с возможностями;
1. Поднимаем из архива RFC, е-журнал Phrack и ему подобные;
2. Начинаем курить мануалы и книги по: ассемблеру, QA, ОС, протоколам сети, архитектуре программирования, разбору кода, отладке, дизассемблированию;
3. Изучаем имеющиеся имеющиеся штатные и нештатные инструменты для работы в конкретной ОС (отладчики, дизассемблеры, упаковщики, обфускаторы,анализаторы кода и т.д.), с конкретными протоколами и если повезёт — с конкретными программами;
4. Изучаем УК Вашей страны и мануалы по написанию вирусов, знакомимся с инструментами написания вирусов, знакомимся с ресурсами packetstormsecurity.com, www.exploit-db.com и им подобными, что несомненно расширит кругозор, но заставит ходить по грани светлой и темной стороны;
5. Изучаем один из языков быстрой разработки приложений напр. Python и один из языков высокого уровня (язык низкого уровня — ассемблер вы уже знаете);
6. Создаем тренировочную ферму из 3-5 ПК (реальных или виртуальных) и тратим N-лет, чтобы сказать СЕБЕ — «Да, я это могу!»;
7. Предлагаем себя на рынке труда и если действительно стал «профи» — понимаем, что есть «два путя»:
— можно хорошо зарабатывать, но пожизненно «попасть под колпак» спецслужб(и не только своей страны);
— перейти на темную сторону — прожив яркую, но короткую жизнь www.fbi.gov/wanted/cyber )))

Дякую за топік!
Наскільки близькими (чи може полярними) є пентестер і багхантер?

Профессиональные багхантеры называются пентестерами.

P.S. Прозоро-то хоть флешку прислало?

Я получил Квадрокоптер DJI Mavic Air 2 Fly :)

Я можу розказати, як стати професійним баг-мейкером.

<?php $zapros="select * from users where login =".$_GET["login"]." and password = ".$_GET["password"];

записаться на курсы багхатеров же...

так а як стати багхантером?

треба мати критичне мислення та добре знати продукт.
Продукти зараз складнiшають -докери-шмокери, мiкросервiси.
Не так просто зловити багу, розколупати, локалiзувати — звiдки вона вилiзла.

я знав QA якi добре знати продукт, все добре виконували, але щось зламати\розколупати не могли, якось не виходило. По тест-кейсу багу не пропустить, але й сама не зловить. Це не поганий QA, просто вони бувають рiзнi за стилем роботи.

Ще один (капiтанський мабуть) момент. Коли QA прийшов (не пише в скайп, а спочатку потивився, що в тебе зараз не ахтунг) та тихенько каже, що зловив багу в твоєму кодi , треба йому сказати
ахтижбля, татишо — нi в якому разi. QA заслуговує на похвалу та подяку , бо по-перше, бага не долетiла до продакшена й не прилетiта рикошетом по головi деву,
по-друге, мотивацIя QA — це запорука того, що наступна бага теж не долетить до проду.

Багхантер ловить багiв як кiт, для задоволення, а не для їжi.

QA и пентест — это разные профессии.

QA — про то, чтобы пользователь мог без усилий и мoзгoeбcтвa пользоваться продуктом и без усилий и мoзгoeбcтвa отдавал тебе свои деньги, ведь за отсутствие усилий и мoзгoeбcтвa он тебе и платит.

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

Те, кто хотят себе QA + пентестера, пусть платят рейт QA + рейт пентестера. Знавал я таких недоманагеров, при минимальной зп супца из семи зaлyп отведали.

не занимаясь системным тестингом, не проходя тест кейсы невозможно изучить энтепрайз-систему. Можно читать доку по продукту, но это долго и скучно. И никто не будет рассказывать и водить за руку, обычно. Если не проходится кейс — надо идти к тому, кто его прошел (или писал тест кейс) и просить показать. А уже потом, понимая, как всё работает в идеале, уже можно творчески ломать и обосновывать сломанное бизнес-требованиями.

Еще раз: топик про баги в безопасности, их ловить — задача пентестеров, а не QA.

Потому что, еще раз:

QA — про то, чтобы пользователь мог без усилий и мoзгoeбcтвa пользоваться продуктом и без усилий и мoзгoeбcтвa отдавал тебе свои деньги, ведь за отсутствие усилий и мoзгoeбcтвa он тебе и платит.

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

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