Тестирование на проникновение (пентест) — это особый способ проведения оценки безопасности (т.е. аудита).
Тестирование на проникновение может быть отдельным упражнением или неотъемлемой частью управления рисками информационной безопасности в рамках обычного жизненного цикла разработки (например, Microsoft SDLC). Безопасность продукта зависит не только от технических факторов ИТ, но и от лучших практик безопасности, связанных с этим продуктом. В частности, усилия по повышению безопасности продукции включают анализ требований безопасности, анализ рисков, моделирование угроз, проверку кода и операционную безопасность.
Тестирование на проникновение обычно считается окончательной и наиболее инвазивной формой оценки безопасности, и оно должно проводиться квалифицированными специалистами. Человек может знать или не знать специфику цели до проведения оценки. Тестирование на проникновение может использоваться для оценки всех ИТ-инфраструктур, включая приложения, сетевые устройства, операционные системы, коммуникационные устройства, физическую безопасность и психологию человека. Результатом работы теста на проникновение является отчет.
Данный отчет разделен на разделы, в которых описываются слабые места в системе безопасности, обнаруженные в текущей целевой системе, и обсуждаются возможные контрмеры и другие рекомендации по улучшению. Полное применение методологии тестирования на проникновение помогает тестировщику получить глубокое понимание и тщательный анализ защиты, действующей в настоящее время на всех этапах тестирования на проникновение.
Виды пентеста
Хотя существуют различные виды тестирования на проникновение, в отрасли принято классифицировать их на две категории: тестирование «белого ящика» и тестирование «черного ящика».
Тестирование «черного ящика»
При тестировании методом «черного ящика» пентестеры оценивают безопасность сетевой инфраструктуры извне, не зная внутренней технической структуры тестируемого устройства. На всех этапах тестирования на проникновение используются реальные методы взлома для выявления проблем безопасности объекта. Даже возможно обнаружить слабые места в системе безопасности, которые еще не были использованы другими. Специалисты по тестированию на проникновение должны уметь понимать слабые места в системе безопасности, классифицировать их и ранжировать по степени риска (высокий, средний или низкий). В целом, уровень риска зависит от величины ущерба, который может нанести рассматриваемая уязвимость. Опытный эксперт по тестированию на проникновение должен уметь выявлять все модели атак, которые могут привести к инциденту безопасности. После того как тестировщики завершили все работы, они собирают необходимую информацию, касающуюся состояния безопасности объекта тестирования, и описывают выявленные риски, используя деловой язык, который затем обобщается в письменном отчете.
Тестирование «белого ящика»
Эксперты, которые проводят пентест методом «белого ящика» имеют доступ к широкому спектру внутренней или даже непубличной информации о тестируемом блоке, поэтому у тестеров более широкая перспектива. Оценивая уязвимости безопасности с помощью тестирования «белого ящика», пентестеры могут добиться максимальной точности оценки при минимальных усилиях. Такой пентест устраняет внутренние проблемы безопасности из самой тестируемой системной среды, что усложняет проникновение в систему извне. Тестирование «черного ящика» не играет такой роли. Количество шагов, необходимых для тестирования методом «белого ящика», сопоставимо с тестированием методом «черного ящика». Кроме того, метод «белого ящика» можно совместить с обычным жизненным циклом разработки, есть возможность устранить весь спектр слабых мест в системе безопасности на самых ранних этапах, прежде чем злоумышленники обнаружат или даже используют их. Это делает тестирование «белого ящика» менее трудоемким, менее дорогостоящим и менее технически сложным, чем тестирование «черного ящика», с точки зрения поиска и устранения слабых мест в системе безопасности.
Оценка уязвимости и тестирование на проникновение
Очень важно, чтобы вы понимали и правильно использовали технические термины в области оценки безопасности. Время от времени в своей карьере вы можете сталкиваться с людьми, которые не понимают отраслевую терминологию, но им необходимо выбрать один из этих специализированных терминов для закупок. На самом деле, таких людей много в коммерческих компаниях и некоммерческих организациях. По крайней мере, вы должны понимать, что представляет собой каждый из этих типов тестов.
Оценка уязвимости оценивает безопасность внутренних и внешних средств контроля безопасности, анализируя ситуацию и уровень угрозы для активов компании. Эта оценка технических информационных систем не только раскрывает риски, присутствующие в существующих мерах предосторожности, но и предлагает несколько альтернативных стратегий исправления ситуации и сравнивает эти стратегии. Внутренние оценки уязвимостей обеспечивают безопасность внутренних систем, а внешние оценки уязвимостей используются для проверки эффективности защиты периметра. Проводя внутреннюю или внешнюю оценку уязвимости, специалисты по оценке тщательно проверяют безопасность киберактивов, используя различные модели атак, чтобы проверить способность информационных систем справляться с угрозами безопасности и, таким образом, определить эффективность контрмер. Различные типы оценки уязвимостей требуют различных процессов, инструментов и методов автоматизированного тестирования. Этого можно достичь с помощью интегрированной платформы управления уязвимостями безопасности. Современные платформы управления уязвимостями безопасности имеют автоматически обновляемые базы данных уязвимостей и могут тестировать различные типы сетевых устройств, не нарушая целостности управления конфигурацией и управления изменениями.
Основное различие между оценкой уязвимостей и тестированием на проникновение заключается в том, что тестирование на проникновение не только выявляет уязвимости объекта, но и включает в себя эксплуатацию уязвимостей, повышение привилегий и поддержание доступа к целевой системе.
Другими словами, хотя оценка уязвимости может адекватно выявить недостатки в системе, она не рассматривает измерение вреда, который эти недостатки наносят. Кроме того, тестирование на проникновение является более интрузивным, чем оценка уязвимостей, и намеренно использует различные методы для использования уязвимостей безопасности. Поэтому пентест может оказать физически разрушительное воздействие на производственную среду. Оценка уязвимости, с другой стороны, выявляет известные слабые места в системе безопасности неинвазивным, качественным и количественным способом.
Зачем нужно тестирование на проникновение?
Пентест следует проводить, если невозможно определить фактическую эффективность средств снижения риска, таких как брандмауэры, IDS, контроль целостности файлов и т.д.
В то время как сканирование уязвимостей (оценка уязвимостей) может выявить отдельные уязвимости, тестирование на проникновение проверяет вероятность того, что эти уязвимости могут быть использованы в реальной среде.
Некоторые утверждают, что эти два вида оценки безопасности в значительной степени повторяют друг друга и являются просто синонимами. Это мнение абсолютно ошибочно. Квалифицированный консультант по безопасности выберет наиболее подходящую оценку безопасности, чтобы рекомендовать ее клиенту, исходя из потребностей бизнеса клиента, и никогда не будет путать различные типы оценок безопасности. Тем не менее, именно заказчик несет ответственность за тщательную проверку содержания программы оценки безопасности и принятие окончательного решения.