Тестирование на проникновение
Тестирование на проникновение или тестирование на проникновение - это тип тестирования безопасности, используемый для выявления уязвимостей, угроз и рисков, которые злоумышленник может использовать в программных приложениях, сетях или веб-приложениях. Целью тестирования на проникновение является выявление и тестирование всех возможных уязвимостей безопасности, присутствующих в программном приложении. Тестирование на проникновение также называется тестом на проникновение.
Уязвимость - это риск того, что злоумышленник может нарушить или получить авторизованный доступ к системе или любым данным, содержащимся в ней. Уязвимости обычно появляются случайно на этапе разработки и внедрения программного обеспечения. Общие уязвимости включают ошибки проектирования, ошибки конфигурации, ошибки программного обеспечения и т. Д. Анализ проникновения зависит от двух механизмов, а именно оценки уязвимости и тестирования на проникновение (VAPT).
Почему тестирование на проникновение?
Проникновение необходимо на предприятии, потому что -
- Финансовые секторы, такие как банки, инвестиционно-банковские услуги, фондовые биржи, хотят, чтобы их данные были защищены, и тестирование на проникновение необходимо для обеспечения безопасности.
- В случае, если программная система уже взломана, и организация хочет определить, присутствуют ли все еще какие-либо угрозы в системе, чтобы избежать взломов в будущем.
- Проактивное тестирование на проникновение - лучшая защита от хакеров
Типы тестирования на проникновение:
Выбранный тип теста на проникновение обычно зависит от области применения и от того, хочет ли организация смоделировать атаку со стороны сотрудника, сетевого администратора (внутренние источники) или внешних источников. Существует три типа тестирования на проникновение, и они
- Тестирование черного ящика
- Тестирование на проникновение в белом ящике
- Тестирование на проникновение в серый ящик
При тестировании на проникновение методом черного ящика тестировщик ничего не знает о тестируемых системах. Он отвечает за сбор информации о целевой сети или системе.
При тестировании на проникновение методом белого ящика тестировщику обычно предоставляется полная информация о сети или системах, подлежащих тестированию, включая схему IP-адреса, исходный код, сведения об ОС и т. Д. Это можно рассматривать как симуляцию атаки со стороны любого лица. Внутренние источники (сотрудники организации).
При тестировании на проникновение в сером ящике тестировщику предоставляется частичное знание системы. Это можно рассматривать как атаку внешнего хакера, получившего незаконный доступ к документам сетевой инфраструктуры организации.
Как пройти тестирование на проникновение
Для выполнения теста на проникновение необходимо выполнить следующие действия:
Шаг 1) Этап планирования
- Объем и стратегия задания определены.
- Существующие политики безопасности, стандарты используются для определения области применения
Шаг 2) Этап открытия
- Соберите как можно больше информации о системе, включая данные в системе, имена пользователей и даже пароли. Это также называется ОТПЕЧАТАНИЕМ ПАЛЬЦЕВ.
- Сканируйте и исследуйте порты
- Проверить на уязвимости системы
Шаг 3) Фаза атаки
- Найдите эксплойты для различных уязвимостей. Вам потребуются необходимые права безопасности для эксплуатации системы.
Шаг 4) Этап отчетности
- Отчет должен содержать подробные выводы
- Риски обнаруженных уязвимостей и их влияние на бизнес
- Рекомендации и решения, если есть
Основная задача при тестировании на проникновение - сбор системной информации. Есть два способа сбора информации -
- Модель «один к одному» или «один ко многим» применительно к хосту: тестировщик выполняет методы линейным образом либо против одного целевого хоста, либо против логической группы целевых хостов (например, подсети).
- Модель «многие к одному» или «многие ко многим»: тестер использует несколько хостов для выполнения методов сбора информации случайным, ограниченным по скорости и нелинейным образом.
Примеры инструментов тестирования на проникновение
Существует множество инструментов, которые используются при тестировании на проникновение, и важными из них являются:
- NMap - этот инструмент используется для сканирования портов, идентификации ОС, отслеживания маршрута и сканирования уязвимостей.
- Nessus - это традиционный инструмент сетевых уязвимостей.
- Pass-The-Hash - этот инструмент в основном используется для взлома паролей.
Роль и обязанности тестировщиков на проникновение:
Работа тестировщиков на проникновение заключается в следующем:
- Тестировщики должны собирать необходимую информацию от Организации для проведения тестов на проникновение.
- Найдите недостатки, которые могут позволить хакерам атаковать целевую машину
- Пентестеры должны думать и действовать как настоящие хакеры, хотя и с этической точки зрения.
- Работа, проделанная тестировщиками на проникновение, должна быть воспроизводимой, чтобы разработчикам было легко ее исправить.
- Дата начала и дата окончания выполнения теста должны быть определены заранее.
- Тестировщик должен нести ответственность за любую потерю в системе или информации во время тестирования программного обеспечения.
- Тестировщик должен сохранять конфиденциальность данных и информации.
Сравнение ручного проникновения и автоматического тестирования на проникновение:
Ручное тестирование на проникновение | Автоматизированное тестирование на проникновение |
---|---|
Для ручного тестирования требуются опытные профессионалы для выполнения тестов. | Инструменты автоматизированного тестирования предоставляют четкие отчеты с менее опытными профессионалами. |
Для ручного тестирования требуется Excel и другие инструменты для отслеживания. | Automation Testing имеет централизованные и стандартные инструменты |
При ручном тестировании результаты выборки различаются от теста к тесту. | В случае автоматизированных тестов результаты не меняются от теста к тесту. |
Пользователи должны помнить об очистке памяти | Автоматизированное тестирование будет иметь всестороннюю очистку. |
Недостатки тестирования на проникновение
Тестирование на проникновение не может найти все уязвимости в системе. Есть ограничения по времени, бюджету, объему, навыкам тестировщиков на проникновение.
Ниже приведены побочные эффекты при проведении тестирования на проникновение:
- Потеря и повреждение данных
- Время простоя
- Увеличение затрат
Вывод:
Тестировщики должны действовать как настоящий хакер и тестировать приложение или систему, а также проверять, надежно ли написан код. Тест на проникновение будет эффективным при наличии хорошо реализованной политики безопасности. Политика и методология тестирования на проникновение должны быть тем местом, которое сделает тестирование на проникновение более эффективным. Это полное руководство для начинающих по тестированию на проникновение.
Проверьте наш проект тестирования на проникновение в реальном времени