Разбираем отличия между пентестом и сканированием уязвимостей, их преимущества, инструменты и особенности применения. Практические рекомендации по выбору метода тестирования.
Термины и аббревиатуры в сфере информационной безопасности распространяются с бешеной скоростью — настолько, что в типичном разговоре о кибербезопасности несколько терминов могут звучать почти одинаково. В частности, понятия «penetration testing» (тестирование на проникновение) и «vulnerability scanning» (сканирование уязвимостей) часто вызывают путаницу, особенно в вопросах их ключевых различий и общей цели.
Хотя и то и другое нацелено на обнаружение слабых мест в системе, методы, используемые при проведении тестирования на проникновение и сканировании уязвимостей, различаются, как и их задачи. Если кратко, пентест — это наступательный метод, имитирующий реальные атаки и их последствия, а сканирование уязвимостей — это более «высокоуровневая» техника, которая выявляет и описывает уязвимости.
Давайте разберёмся в различиях между тестированием на проникновение и сканированием уязвимостей — чем они отличаются, как взаимосвязаны и почему оба важны в стратегии ИБ любой организации.
Как уже упоминалось, пентесты — это наступательные мероприятия в сфере кибербезопасности, в которых специалисты по ИБ используют методы реального хакерства, чтобы выявить уязвимости и понять, что может произойти, если злоумышленники ими воспользуются. Пентесты помогают командам безопасности обнаруживать, документировать и устранять уязвимости, а также проверять факт их устранения.
Обратите внимание, что тестирование на проникновение — это одна из форм «этического хакерства». Перед выполнением любых тестов специалисты по безопасности всегда должны получать разрешение от организации.
Цель тестирования на проникновение (которое может выполняться внутренней командой или нанятой внешней), — не украсть данные или нанести вред активам, а воспроизвести те тактики, техники и процедуры, которые могут использовать злоумышленники, чтобы выявить слабые места в системах бизнеса. После выявления уязвимостей в ходе пентеста, команды безопасности могут устранить их до реальной атаки.
«Тестирование на проникновение» — довольно широкое понятие, включающее в себя шесть основных этапов.
После этих шагов команды безопасности должны заняться мерами по устранению обнаруженных уязвимостей и повторным тестированием, чтобы убедиться, что слабые места действительно исправлены.
Чаще всего пентесты проводятся с определённым фокусом. Например, пентест с социальной инженерией проверяет, как сотрудники реагируют на фишинговые атаки; пентест мобильных приложений оценивает безопасность мобильных приложений; а пентест облачных сред выявляет уязвимости в облачных инфраструктурах.
Этические хакеры используют разнообразные коммерческие и открытые инструменты для тестирования на проникновение. Среди них Nmap для сканирования сетей, Wireshark для захвата и анализа протоколов, Zed Attack Proxy для сканирования веб-приложений и Aircrack-ng для тестирования безопасности Wi-Fi.
Частота проведения пентестов зависит от конкретной организации. Многие эксперты рекомендуют ежегодные тесты, но компании в отраслях с высоким уровнем риска, таких как банковское дело или здравоохранение, могут нуждаться в более частых проверках. На частоту тестов также влияют требования регуляторов. Например, PCI DSS 4.0 обязывает проводить ежегодные пентесты. Кроме того, тестирование следует проводить после изменений в инфраструктуре, таких как установка нового оборудования, обновление приложений или оборудования, открытие новых офисов или пересмотр политик безопасности.
Чтобы снизить высокие затраты и сократить время, необходимое для проведения ручных пентестов, многие инструменты для тестирования на проникновение используют ИИ для автоматизации некоторых процессов. Автоматизированные инструменты позволяют ускорить проведение тестов и компенсировать нехватку персонала и навыков.
Сканирование уязвимостей — это более «высокоуровневая» методика обеспечения безопасности, которая основывается на автоматическом обнаружении слабых мест и уязвимостей в сетях и системах организации. Это первый шаг в более широком процессе управления уязвимостями, который включает определение, идентификацию, классификацию и расстановку приоритетов уязвимостей в ИТ-системах.
Отчёты по оценке уязвимостей используют результаты сканирования, чтобы обобщить обнаруженные проблемы, расставить приоритеты угроз и создать план по их устранению.
К распространённым видам целевых сканирований относятся проверки на соответствие нормативам (compliance scanning), сканирование сетей, баз данных и на уровне хостов.
Командам безопасности доступно множество коммерческих и open source-сканеров уязвимостей. Среди бесплатных вариантов — Open Vulnerability Assessment Scanner (для поиска известных уязвимостей), Snyk Open Source (для обнаружения проблем в зависимостях приложения) и sqlmap (для проверки уязвимостей в базах данных).
Автоматизированные сканирования уязвимостей проводятся по расписанию в рамках программы управления уязвимостями. Они регулярно дают актуальную информацию о потенциально уязвимых системах и программном обеспечении, чтобы специалисты по безопасности могли расставлять приоритеты и своевременно устанавливать патчи, минимизируя киберриски.
Оба инструмента кибербезопасности позволяют специалистам выявлять слабые места и уязвимости в механизмах защиты, сетях, веб-приложениях, API и других ИТ-системах. Главное различие в том, что сканирование уязвимостей даёт более широкое представление о слабых местах системы, а пентест имитирует реальные кибератаки.
Хотя оба инструмента в той или иной мере используют автоматизацию для поиска уязвимостей, пентест обычно требует больше ручной работы и более глубокого анализа, чем сканирование уязвимостей, и поэтому обходится дороже. Кроме того, пентесты пытаются эксплуатировать обнаруженные уязвимости, чтобы понять их влияние на систему, в то время как сканирование лишь информирует о наличии слабых мест, но не изучает их эксплуатацию.
Большинство организаций приходит к выводу, что нельзя выбирать только одно из этих решений. Для предотвращения, обнаружения и снижения рисков системных уязвимостей необходимо комплексное использование обоих методов.
Сканирование уязвимостей нередко является частью пентеста. Как было упомянуто выше, второй этап жизненного цикла пентеста предполагает разработку плана атаки. В зависимости от типов целей и методов атаки могут использоваться разные инструменты, в том числе и те, что работают на этапе сбора информации об уязвимостях:
На этапе сбора разведданных важно сканирование уязвимостей: оно выявляет и формирует отчёт о потенциальных слабых местах. Эти данные помогают командам безопасности определять направления для пентестирования, а также проверять результаты сканирования на практике.
Разбираем кейсы, делимся опытом, учимся на чужих ошибках