Что такое пентесты и зачем они нужны?

Пентесты, или тесты на проникновение, охватывают самые разные области: от приложений и беспроводных сетей до физической безопасности. Это может быть проверка внутренней и внешней инфраструктуры, тестирование веб- и мобильных приложений, API, анализ облачных и сетевых настроек, социальная инженерия и оценка физической защиты.

Эта статья поможет разобраться в терминологии и определить, какой вид пентеста нужен вашей компании, включая выбор между методами black box, white box и grey box.

Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.

Содержание

Что такое пентест?

Пентест (penetration test) — это метод проверки кибербезопасности, который помогает выявлять и устранять уязвимости в сетях и приложениях компании. В ходе тестирования используются те же приёмы, что и у киберпреступников, чтобы воспроизвести реальную атаку и проверить, насколько эффективно работают системы защиты.

Пентесты могут имитировать различные векторы атак: как внешние, так и внутренние. Уровень доступа к информации, который предоставляется тестировщику, зависит от типа теста:

  • White box — тестировщик получает полную информацию о системе (схемы сети, доступы и т. д.).
  • Grey box — предоставляется ограниченный объем данных (например, учетные записи).
  • Black box — тестировщику не дают никакой информации, что максимально приближает тест к реальной атаке.

Виды пентестов

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

1. Тестирование внутренней и внешней сети

Проверка сетевой инфраструктуры (локальной и облачной), включая маршрутизаторы, коммутаторы, фаерволы и серверы. Внешний пентест фокусируется на интернет-доступных системах, внутренний — на ресурсах внутри корпоративной сети. Чтобы определить объём теста, нужно знать количество внутренних и внешних IP-адресов, размер подсети и количество сайтов.

2. Тестирование беспроводных сетей

Проверка WLAN (беспроводной локальной сети) и протоколов, таких как Bluetooth, ZigBee и Z-Wave. Выявляются уязвимости шифрования, несанкционированные точки доступа и проблемы с WPA. Для определения объема теста необходимо знать количество беспроводных и гостевых сетей, местоположений и уникальных SSID, подлежащих проверке.

3. Тестирование веб-приложений

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

4. Тестирование мобильных приложений

Проверка приложений для Android и iOS на предмет проблем с аутентификацией, авторизацией, утечками данных и управлением сессиями. Чтобы понять объём тестирования, провайдеру нужно узнать, на каких версиях операционных систем необходимо провести тестирование, сколько API-запросов будет использоваться, а также требования по джейлбрейку и выявлению root-прав.

5. Обзор сборки и конфигурации

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

6. Социальная инженерия

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

7. Тестирование облачных инфраструктур

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

8. Гибкое тестирование безопасности (Agile-тестирование)

Непрерывное тестирование безопасности на всех этапах разработки (SDLC). Этот подход помогает обеспечивать безопасность каждого обновления — от мелких исправлений до крупных релизов.

Тестирование на проникновение: White box, Black box и Grey box

Объём информации, предоставленной перед проведением теста, может существенно повлиять на его результаты. Существует три основных подхода к тестированию: white box (белый ящик), black box (чёрный ящик) и grey box (серый ящик).

  • Тестирование на проникновение по методу “Белый ящик” (White Box)

Тестирование по методу White Box предполагает предоставление тестировщику полной информации о сети и системах, включая сетевые карты и учетные данные. Это позволяет сэкономить время и снизить общую стоимость проверки. Такой способ подходит для проверки защищённости конкретной системы с использованием различных способов атаки.

  • Тестирование на проникновение по методу “Черный ящик” (Black Box)

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

  • Тестирование на проникновение по методу “Серый ящик” (Grey Box)

В тестировании по модели Grey Box, также известном как тестирование полупрозрачного ящика, тестировщик получает только часть информации о системе, например, логины и пароли. Этот подход позволяет выявить потенциальные риски, связанные с действиями привилегированных пользователей, и оценить возможные последствия. Тестирование серого ящика сочетает глубину анализа и эффективность, имитируя как угрозы изнутри, так и атаки, проникшие через внешний периметр сети.

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

Читайте также: Краткое руководство по тестированию безопасности

Как часто следует проводить пентесты?

Рекомендуется проводить тесты на проникновение не реже одного раза в год, а также после крупных изменений в системе, перед запуском новых продуктов или при слияниях и поглощениях. Если компания обрабатывает большие объемы данных или работает с важной информацией, тесты стоит проводить чаще.

Ещё один вариант — Agile-тестирование на проникновение (непрерывное тестирование), когда проверки безопасности становятся частью процесса разработки (SDLC) и проводятся регулярно. Такой подход позволяет выявлять проблемы безопасности сразу, не задерживая выход новых функций и не создавая рисков для клиентов.

Перевод статьи «With so many types of penetration testing on offer, it can be difficult to ascertain which assessment meets the needs of your business».

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *