Пентест (или тест на проникновение) позволяет вам проверить безопасность любой компьютерной системы (приложений, серверов, API и т. д.), передав тесты компании, специализирующейся на кибербезопасности, или выполнив их самостоятельно. Платформы Bug Bounty служат той же цели, только проверку проводят независимые люди, которые отправляют вам сообщения о найденных уязвимостях.
Когда эти платформы появились, то было мнение, что благодаря вознаграждению за обнаружение ошибок этот подход затмит традиционный пентест. Сегодня мы видим, что эти прогнозы были ошибочными, потому что эти два подхода, при этом заведомо разные, сосуществуют и скорее дополняют друг друга, чем противопоставляются.
Каковы различия и особенности каждого подхода? Как они дополняют друг друга?
Разница продолжительности пентеста и bug bounty
Пентест проводится в течение определенного периода времени, который может варьироваться от нескольких дней до нескольких недель, в зависимости от функциональной сложности цели и/или цели тестов безопасности. Таким образом, проверка имеет начало и конец с запланированными датами, а затем может повторяться через равные промежутки времени (один пентест в квартал, семестр или год) в соответствии с запуском новых продуктов и другими функциональными разработками. Это позволяет получить полную обратную связь по безопасности в заданное время.
Программа Bug Bounty часто запускается на неопределенный срок для конкретной цели. Это позволяет постоянно контролировать цель с постоянными тестами безопасности. Независимые хакеры проверяют выпуски и другие реализации по мере их выхода в сеть. Некоторые могут посвятить проекту много времени, если он их особенно интересует (по причинам технической сложности, привлекательного вознаграждения или личного интереса к предмету).
Стоимость тестирования
Стоимость тестирования для многих компаний является очень важной переменной при выборе подхода. На первый взгляд, bug bounty более привлекательна с финансовой точки зрения, поскольку нет никаких расходов до тех пор, пока не будут выявлены и зарегистрированы недостатки. В принципе можно охватить большой периметр без увеличения затрат. Тем не менее, чтобы привлечь опытных независимых хакеров, нужно далеко не маленькое вознаграждение, поскольку существует конкуренция.
Преимущество пентеста заключается в наличии контролируемой стоимости, поскольку тип и критичность обнаруженных ошибок не влияют на нее. Точно так же количество выявленных уязвимостей не влияет на цену. Например, дефекты в четырех разных местах тестируемого периметра не приведут к четырем отчетам и четырем счетам. Вот почему вознаграждение за ошибки может быть рискованным с финансовой точки зрения. Однако стоимость пентеста может быть высокой, когда речь идет об охвате большого объема и проведении исчерпывающих тестов, поскольку необходимо предусмотреть соответствующую продолжительность.
Методология тестирования, охват и подход
Проведение пентеста означает выбор структурированного подхода с соблюдением проверенной методологии. Последнее гарантирует, что все в пределах периметра проверяется с одинаковой строгостью. Это позволяет оценить все риски и изучить все типы уязвимостей (технические и логические).
Программа Bug Bounty предлагает большую гибкость с точки зрения области тестирования. После запуска кампании легко развиваться, интегрируя новые функции и другие элементы для тестирования. И наоборот, объем пентеста фиксируется на каждом сеансе. Для его изменения требуется проинструктировать пентестеров, отвечающих за аудит, и подписать новое разрешение на тестирование, интегрирующее новые цели.
Что касается подхода к тестированию, то оба варианта подходят для черного и серого ящиков тестирования веб-приложений или мобильных приложений. Однако пентест позволяет протестировать более широкий спектр целей: внутреннюю сеть, социальную инженерию, аппаратное обеспечение подключенного объекта и т. д.