Пентесты, или тесты на проникновение, охватывают самые разные области: от приложений и беспроводных сетей до физической безопасности. Это может быть проверка внутренней и внешней инфраструктуры, тестирование веб- и мобильных приложений, API, анализ облачных и сетевых настроек, социальная инженерия и оценка физической защиты.
Эта статья поможет разобраться в терминологии и определить, какой вид пентеста нужен вашей компании, включая выбор между методами black box, white box и grey box.
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.
Содержание
- Что такое пентест?
- Виды пентестов
- Тестирование на проникновение: White box, Black box и Grey box
- Как часто следует проводить пентесты?
Что такое пентест?
Пентест (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».