Черный ящик (black box)При тестировании методом «черного ящика» у специалистов нет информации о системе, они моделируют поведение злоумышленников, то есть неосведомленных людей. Этот подход наиболее близок к реальной атаке и требует высокой степени технических навыков. Пентестеру не предоставляются какие-либо схемы архитектуры или исходный код, т. е. сведения не являющиеся общедоступными.
Тест на проникновение методом «черного ящика» определяет уязвимости в системе, которые можно использовать вне сети. Тестирование основано на динамическом анализе работающих в данный момент программ и систем в сети. Специалист по тестированию использует инструменты автоматического сканирования и методологии ручного тестирования на проникновение. Также специалисты создают собственную карту сети на основе своих наблюдений. Основной недостаток метода — если специалисты не могут взломать периметр, любые уязвимости внутренних сервисов остаются не обнаруженными и не исправленными.
Серый ящик (grey box)При тестировании методом «серого ящика» пентестер имеет ограниченное представление об уровне безопасности компании. Специалисту доступна информация о внутреннем устройстве сети, включая документацию, а также имеется непривилегированная внутренняя учетная запись к сети. Цель пентеста методом «серого ящика» — обеспечить более целенаправленную и эффективную оценку безопасности сети, чем оценка «черного ящика». Используя проектную документацию сети, пентестеры могут сосредоточить свои усилия на системах с наибольшим риском и ценностью с самого начала, а не тратить время на самостоятельное определение этой информации. Внутренняя учетная запись в системе также позволяет тестировать безопасность внутри усиленного периметра и имитирует злоумышленника с долгосрочным доступом к сети.
Белый ящик (white box)При тестировании методом «белого ящика» внутренняя структура, устройство и реализация системы известны специалистам по пентесту. Тестирование методом «белого ящика» включает в себя анализ потока данных, потока управления, потока информации, методов кодирования. А также обработки ошибок в системе для проверки предполагаемого и непреднамеренного поведения ПО. Иными словами, метод заключается в том, что пентестер обладает правами доступа администратора и имеет полное представление об IT-инфраструктуре компании.
Тестирование методом «белого ящика» может быть выполнено:
- Для проверки того, соответствует ли реализация кода предполагаемому замыслу
- Для проверки реализованных функций безопасности
- Для выявления уязвимостей, которые можно использовать