Учебник по тестированию на проникновение: что такое PenTest?

Содержание:

Anonim

Тестирование на проникновение

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

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

Почему тестирование на проникновение?

Проникновение необходимо на предприятии, потому что -

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

Типы тестирования на проникновение:

Выбранный тип теста на проникновение обычно зависит от области применения и от того, хочет ли организация смоделировать атаку со стороны сотрудника, сетевого администратора (внутренние источники) или внешних источников. Существует три типа тестирования на проникновение, и они

  • Тестирование черного ящика
  • Тестирование на проникновение в белом ящике
  • Тестирование на проникновение в серый ящик

При тестировании на проникновение методом черного ящика тестировщик ничего не знает о тестируемых системах. Он отвечает за сбор информации о целевой сети или системе.

При тестировании на проникновение методом белого ящика тестировщику обычно предоставляется полная информация о сети или системах, подлежащих тестированию, включая схему IP-адреса, исходный код, сведения об ОС и т. Д. Это можно рассматривать как симуляцию атаки со стороны любого лица. Внутренние источники (сотрудники организации).

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

Как пройти тестирование на проникновение

Для выполнения теста на проникновение необходимо выполнить следующие действия:

Шаг 1) Этап планирования

  1. Объем и стратегия задания определены.
  2. Существующие политики безопасности, стандарты используются для определения области применения

Шаг 2) Этап открытия

  1. Соберите как можно больше информации о системе, включая данные в системе, имена пользователей и даже пароли. Это также называется ОТПЕЧАТАНИЕМ ПАЛЬЦЕВ.
  2. Сканируйте и исследуйте порты
  3. Проверить на уязвимости системы

Шаг 3) Фаза атаки

  1. Найдите эксплойты для различных уязвимостей. Вам потребуются необходимые права безопасности для эксплуатации системы.

Шаг 4) Этап отчетности

  1. Отчет должен содержать подробные выводы
  2. Риски обнаруженных уязвимостей и их влияние на бизнес
  3. Рекомендации и решения, если есть

Основная задача при тестировании на проникновение - сбор системной информации. Есть два способа сбора информации -

  • Модель «один к одному» или «один ко многим» применительно к хосту: тестировщик выполняет методы линейным образом либо против одного целевого хоста, либо против логической группы целевых хостов (например, подсети).
  • Модель «многие к одному» или «многие ко многим»: тестер использует несколько хостов для выполнения методов сбора информации случайным, ограниченным по скорости и нелинейным образом.

Примеры инструментов тестирования на проникновение

Существует множество инструментов, которые используются при тестировании на проникновение, и важными из них являются:

  1. NMap - этот инструмент используется для сканирования портов, идентификации ОС, отслеживания маршрута и сканирования уязвимостей.
  2. Nessus - это традиционный инструмент сетевых уязвимостей.
  3. Pass-The-Hash - этот инструмент в основном используется для взлома паролей.

Роль и обязанности тестировщиков на проникновение:

Работа тестировщиков на проникновение заключается в следующем:

  • Тестировщики должны собирать необходимую информацию от Организации для проведения тестов на проникновение.
  • Найдите недостатки, которые могут позволить хакерам атаковать целевую машину
  • Пентестеры должны думать и действовать как настоящие хакеры, хотя и с этической точки зрения.
  • Работа, проделанная тестировщиками на проникновение, должна быть воспроизводимой, чтобы разработчикам было легко ее исправить.
  • Дата начала и дата окончания выполнения теста должны быть определены заранее.
  • Тестировщик должен нести ответственность за любую потерю в системе или информации во время тестирования программного обеспечения.
  • Тестировщик должен сохранять конфиденциальность данных и информации.

Сравнение ручного проникновения и автоматического тестирования на проникновение:

Ручное тестирование на проникновение Автоматизированное тестирование на проникновение
Для ручного тестирования требуются опытные профессионалы для выполнения тестов. Инструменты автоматизированного тестирования предоставляют четкие отчеты с менее опытными профессионалами.
Для ручного тестирования требуется Excel и другие инструменты для отслеживания. Automation Testing имеет централизованные и стандартные инструменты
При ручном тестировании результаты выборки различаются от теста к тесту. В случае автоматизированных тестов результаты не меняются от теста к тесту.
Пользователи должны помнить об очистке памяти Автоматизированное тестирование будет иметь всестороннюю очистку.

Недостатки тестирования на проникновение

Тестирование на проникновение не может найти все уязвимости в системе. Есть ограничения по времени, бюджету, объему, навыкам тестировщиков на проникновение.

Ниже приведены побочные эффекты при проведении тестирования на проникновение:

  • Потеря и повреждение данных
  • Время простоя
  • Увеличение затрат

Вывод:

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

Проверьте наш проект тестирования на проникновение в реальном времени