Кто-то недосмотрел — и $30,000 у тебя в кармане: как зарабатывают на легальном взломе систем

Вікторія Пушкіна

Сергей Сарайчиков — пентестер (от penetration test — тестирование на проникновение). Его задача проверить программу на уязвимости — то есть взломать ее до того, как это сделает злоумышленник. Это профессия с налетом «романтичности», но при этом о ней мало говорят и мало знают.

Почему для начинающих специалистов это только плюс и какие навыки нужны пентестеру, Сергей рассказал в интервью журналистке Highload.

Сергей Сарайчиков, пентестер

Как пришел в профессию

Я пришел в сферу безопасности из программирования. Занимался разработкой с 15 лет: писал на PHP — сначала на фрилансе, потом собрал свою команду. Компания, в которой я CTO, есть и сейчас. Мы разрабатываем высоконагруженные CRM-системы. Я непосредственно разработкой уже не занимаюсь, иногда делаю аудит кода — могу найти ошибку с точки зрения безопасности за считанные секунды.

Кибербезопасностью я заинтересовался года три назад. Начал изучать вопрос, чтобы разрабатывать защищенные продукты, и в какой-то момент углубился серьезнее. Понял, что большинство проектов в нашей стране уязвимы, и захотел помочь это исправить. 

Сейчас я могу сказать, что закрывал баги на больших государственных сайтах, о которых все знают. Но назвать их, конечно, не могу. Вообще в Украине о таком открыто говорят только Prozorro, «ПриватБанк» и «Хостинг Украина» — это единственные ребята, которые могут сказать, сколько у них найдено багов.

Почему у многих продуктов проблемы с защищенностью

Сейчас такой тренд: все делаем быстро и в продакшен. Все продукты постоянно развиваются дикими темпами, и это дает последствия.

  1. Во-первых, не успевают провести тестирование на проникновение.
  2. Во-вторых, программисты не успевают написать тесты.
  3. В-третьих, программисты на удаленке начинают немного халтурить и иногда допускают непозволительные ошибки.

Все это ведет к уязвимости: один маленький незначительный баг может спровоцировать дырку во всей системе, вплоть до административных доступов. 

Чем тестировщик отличается от пентестера

Тестировщик проверяет, чтобы программа работала корректно — различные вещи, которые соответствуют техническому заданию. 

Пентестер проверяет не корректность программы, а лазейки, через которые можно залезть в эту программу. У пентестера есть набор софта и правил, по которым он проверяет ПО. Тестировщик тоже может обнаружить уязвимость, но в основном он таким не занимается.

Общее между тестировщиком и пентестером: они оба не могут гарантировать, что продукт на 100% идеальный. Есть только какой-то уровень защищенности, он определяется разными метриками и KPI.

Важен даже не уровень защищенности, а скорость аудита и исправления багов. Например, с сайта career.gov.ua несколько лет назад слили в сеть 300 тысяч документов. Дырка на нем существовала годами. Это плохой пример. Но такая дырка вполне допустима на других сайтах, особенно, если ее закроют в течении получаса.

Также пентестер, как и QA, идет по своему чек-листу — что ему надо проверить. Он ставит себе конкретные задачи, по каждому направлению прорабатывая каждую детальку. Но на bug bounty стратегия немного другая: там участвует много людей, что создает конкуренцию, так что скорость может быть ключевым показателем.

Какие навыки нужны для работы пентестеру (и где их получить)

Пентестеру нужно иметь базовые навыки по работе со специализированным софтом, базовые представления о том, что такое XSS (внедрение вредоносного кода в страницы веб системы) и SQL injection (внедрение в запрос произвольного SQL-кода для взлома ПО, работающего с базами данных).

Для этого надо закончить минимальный курс. Например, разработчики софта Burp Suite делают крутую бесплатную академию, которую можно пройти самостоятельно.

Учебные материалы по пентестированию на сайте Burp Suite

Порог вхождения в профессию очень небольшой. В программировании он намного выше. Чтобы стать джуном на JS, с нуля надо учиться минимум месяца четыре, а находить атаки XSS можно при желании научиться за две недели. 

При этом востребованность на пике, классных спецов требуется очень много. У мидлов колоссальные возможности. Джуну, конечно, будет тяжелее, но bug bounty — идеальный способ набраться опыта. Ищите открытые программы здесь:

Где и как может работать пентестер

Пентестер может быть и штатным сотрудником: в аутсорс-компаниях или продуктовых (в Украине на постоянную основу нанимает например Lifecell, Vodafone, Raiffeisen Bank). Также можно быть фрилансером и заключать контракты с клиентами напрямую.

Свежая вакансия для начинающего пентестера на сайте Vodafone

Вообще пентестирование — не дешевое удовольствие, может стоить десятки тысяч долларов. Потому то, когда и как часто его внедряют, зависит от компании. Если пентестер есть в штате, такие проверки проводят на каждом этапе жизненного цикла ПО. Если нанимают сторонних специалистов — то раз в полгода-год.

По времени пентестирование занимает от трех месяцев. Обычно нанимают не одного человека, а трех-четырех, плюс одного продакт-менеджера. Один пентестер может работать, но неэффективно.

Но фрилансеру не обязательно искать команду: ты просто закроешь тот кейс, которым обладаешь. Например, можно тестировать много направлений — веб, серверное проникновение. Ты выбираешь специализацию и копаешь в эту сторону.

Сколько зарабатывает пентестер

Если ты работаешь пентестером на фирме, твоя зарплата будет приравниваться к зарплате классного программиста, в соответствии с уровнем. То есть на уровне мидла получишь около $2000–2500. У сеньоров цифра не ограничена.

Если у тебя есть контракт с какой-то компанией, цифра не ограничена. Контракты стартуют от $10–15 тысяч, могут достигать и $50 тысяч.

Оплата в bug bounty зависит от количества найденных багов. Нашел баг — получил деньги, не нашел — не получил.

В Prozorro, например, за маленький баг платят 8400 грн, за большой — 28 тысяч грн. В международных программах расценки выше, но и найти что-то сложнее, ведь участвует весь мир. Плюс, пентестеру на bug bounty всегда надо доказать, что баг, который он нашел, действительно опасен.

Вообще я считаю, что bug bounty — это территория, где ты можешь вытащить счастливый билет, а можешь и нет. И не всегда это зависит от профессионализма.

Сложилась такая цепочка случайностей: в каком-то банке в Великобритании вылетел токен авторизации, который не валидируется. И $30 тысяч у тебя в кармане. А ведь это кейс, который может произойти по банальной ошибке. Токен не проверили, и все. Хотя на самом деле с его проверкой справился бы обычный тестировщик.

Как оформляется договор с пентестером

Контракт с пентестером обязательно включает неразглашение коммерческой тайны. Его нарушение карается законом Украины — попадешь под суд.

В остальном контракт похож на обычный договор на оказание услуг по тестированию такого-то продукта. Срок исполнения такой-то, объем работ такой-то. Выполнили, составили акт, подписали — все готово.

Штрафы в договор обычно не вписывают. И не думаю, что они работают. Вообще надо быть очень глупым, чтобы все это рассказать. Я боюсь даже название компании назвать, а не то что рассказывать, что у них было. 

Бонус #1: Есть ли сейчас баги в «Дие» и на госсайтах?

Большинство государственных продуктов, которые делаются сейчас у нас на рынке, хорошо защищены. Если даже есть какие-то нюансы, я уверен, их исправляют, можно пользоваться и не переживать.

Про «Дию» регулярно появляются какие-то спекулятивные посты в соцсетях, но реальных кейсов уязвимостей я еще ни разу не видел. Я считаю, что «Дия» сделана с точки зрения безопасности на высоком уровне.

Пользователям стоит опасаться не государственных сайтов, а обычных. Например, вроде сервисов подписания документов. Люди загружают туда свои документы, а ведь никто не знает «внутреннюю кухню» такого сайта. Данные сольют — на вас окажется кредит. 

Бонус #2: Полезные ссылки для начинающих пентестеров

  • OWASP Top 10 — стандарт наиболее критических рисков безопасности веб-приложений
  • WEB-300 — продвинутый обзорный курс по безопасности веб-приложений
  • Ralf Hacker Channel — чат-комьюнити в Telegram

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023