Средства тестирования на проникновение
Системы и инструменты тестирования на проникновение (Penetration Testing)
Описание и назначение
Средства тестирования на проникновение (Penetration Testing Tools) — это программное обеспечение, позволяющее проводить анализ защищенности информационных систем, который заключается в выполнении имитации атаки на систему с целью оценки ее безопасности. Средства тестирования на проникновение используются для поиска слабых мест в инфраструктуре, которые позволяют злоумышленнику получить доступ к информационным ресурсам и техническим средствам. Помимо выявления уязвимостей, тестирование на проникновение, или пентест позволяет оценить защищенные сегменты для получения полного отчета о возможных рисках информационной безопасности.
Первым этапом тестирования является идентификация целевой системы и понимание целей. После анализа полученной информации выбираются различные средства для реализации намеченной цели. Перед специалистами, выполняющими тестирование на проникновение, могут стоять различные задачи. Могут выполняться тестирования как «белого ящика», когда известна некоторая системная информация, так и «черного ящика», когда специалистам не предоставляют информации о системе, кроме названия организации, либо минимальные базовые данные.
Результатами тестирования на проникновение служат отчеты, которые передаются владельцам информационных систем. В данных отчетах может быть консолидирована информация о потенциальных воздействиях на инфраструктуру организации, возможные последствия атак, а также существующие пути повышения уровня защищенности и варианты устранения уязвимостей, так называемые контрмеры для уменьшения рисков.
Средства тестирования на проникновение могут использоваться в процессе аудита информационной безопасности организации либо при проведении аттестационных испытаний.
Тестирование на проникновение может производиться вручную, используя специальные инструменты, такие как дистрибутивы операционных систем или программные среды, предназначенные для пентеста. Такое программное обеспечение может поставляться как на бесплатной, так и на коммерческой основе. Оно содержит заранее подготовленные наборы инструментов, для того чтобы избежать ошибок во время тестирования и сократить влияние человеческого фактора. При тестировании на проникновение могут также использоваться автоматизированные средства тестирования. При этом процесс делится на две части:
- Поиск уязвимостей, которые позволяют совершать несанкционированные операции.
- Использование уязвимостей (или эксплойт) для получения доступа к другим компонентам информационной системы.
Наиболее распространенными способами поиска уязвимостей являются отправка несанкционированных SQL-команд (SQL-инъекция), применение методов социальной инженерии, попытка использования устаревших хеш-функций или криптографических алгоритмов, поиск ошибок в редко используемых частях кода приложений (например, получение детальной информации в случае сбоя веб-сервера). Выполнение несанкционированных операций, таких как снятие скриншотов, установка рекламных баннеров, создание бэкдоров с помощью shell-кода или изменения данных — также позволяют получить доступ в целевую информационную систему.