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