Тестирование на проникновение является одним из наиболее авторитетных методов оценки безопасности ИТ-среды. Моделируемые атаки позволяют обнаружить уязвимости, угрожающие конфиденциальности информации, и предпринять корректирующие действия. Экспертная поддержка со стороны консультантов помогает организациям внедрить и поддерживать высокий уровень защиты данных и ИТ-систем.
Безопасен ли пентест?
Обеспечение безопасности ИТ-систем должно осуществляться как непрерывный процесс, который включает, в частности, периодическую проверку эффективности систем безопасности. Даже самые лучшие организационные и технические решения со временем могут оказаться неэффективными. Регулярно обнаруживаемые и раскрываемые уязвимости в наиболее критичных элементах инфраструктуры могут скомпрометировать даже те решения, которые привычно считались почти абсолютно безопасными и рассматривались как фундамент, на котором базируется концепция конфиденциальности данных или контроля прав пользователей. «Заводские уязвимости» обнаружены в решениях SSL, IPsec, SSH, операционных системах и веб-браузерах в сотнях миллионов копий по всему миру.
Усложнение архитектуры ИТ-систем еще больше затрудняет их правильное внедрение, интеграцию и последующую эксплуатацию. Ошибки в самом программном обеспечении усугубляются ошибками в конфигурации.
Защита от угроз
Защита от угроз такого типа — это гонка со временем. Однако для многих организаций простое отслеживание и надлежащее реагирование на выявленные и обнародованные уязвимости является серьезной проблемой. Это связано с тем, что для анализа проблемы и принятия соответствующих контрмер требуется систематическая работа, значительные временные затраты со стороны ИТ-персонала и обширные экспертные знания.
В этой ситуации поддержку оказывают тесты на проникновение, проводимые опытными консультантами по информационной безопасности с использованием специальных сканирующих приложений. В отличие от классических обзоров, аудитов или теоретических оценок безопасности, пентесты направлены на обнаружение уязвимостей, которые могут существовать в ИТ-среде даже несмотря на внедрение систем безопасности и их конфигурацию в соответствии с передовой практикой.
Тест на проникновение может выявить, среди прочего, следующее:
- уязвимости в программном обеспечении используемых систем или сетевых устройств;
- некорректная (например, отклоняющаяся от конфигурации) работа элементов инфраструктуры;
- возможность получения несанкционированного доступа путем повышения привилегий;
- способы обхода системы безопасности;
- устаревшие операционные системы, базы данных и приложения;
- дефекты в веб-приложениях (например, XSS, CSRF/XSRF, SQL-инъекции);
- возможность несанкционированного подключения к сетям WiFi;
- слишком слабые криптографические алгоритмы;
- получение доступа к учетным записям пользователей путем перебора (включая использование паролей по умолчанию);
- уровень устойчивости систем к DoS-атакам;
- другие уязвимости (в зависимости от конкретной тестируемой среды).
Сценарий пентеста
Основой для проведения испытаний является сбор информации о проверяемой среде. Большая база знаний состоит из общедоступных данных (сайт компании, почтовый сервер, база IP-адресов в RIPE NCC, записи DNS и т.д.), что позволяет профилировать атаку путем предварительной идентификации технологий, используемых в организации (информация о тендерах на поставку оборудования и программного обеспечения, подписи серверов, доступных в Интернете, и т.д.) или получения имен сотрудников (потенциальные логины к системам). Полученные таким образом данные позволяют проводить тестирование методом «черного ящика», при котором пентестеры не получают от исследуемой организации никакой дополнительной информации о ее ИТ-системах. Этот тип тестирования лучше всего отражает возможность реальной атаки.
Для моделирования также используются два других типа тестов — «серый ящик» и «белый ящик», в которых пентестерам предоставляется часть или вся информация о тестируемом объекте (например, топология сети, данные о версии системы, конфигурация брандмауэра и т.д.) в зависимости от ситуации. Имея эту информацию, можно провести более тщательно подготовленную атаку, потенциально более разрушительную или выявляющую больше уязвимостей.
Собранная или полученная информация после анализа используется для первоначального сканирования сети и последующих детальных атак на отдельные элементы ИТ-среды. В зависимости от согласованного объема, тестирование проводится из интернета и/или из локальной сети (имитируя внутренние угрозы, например, распространение вредоносного ПО или нарушение безопасности беспроводной сети).
Пентест обычно длится от нескольких часов до нескольких десятков дней. В зависимости от предпочтений организации, тесты также могут быть возможностью для проверки процедур обнаружения вторжений и анализа после вторжения (определение ИТ-отделом «ущерба», нанесенного пентестерами, и сравнение с отчетом).
Затем в отчете, подводящем итоги тестирования на проникновение, описываются предпринятые действия и полученные результаты (полученная информация, полученный доступ и т.д.). При обнаружении уязвимостей безопасности приводится способ их устранения, а также классификация риска использования уязвимости и ее вредоносности. После устранения угроз проводится повторное тестирование.