Любое несанкционированное вторжение на техническом языке называется проникновением. Задача пентеста — исследовать систему клиента (сеть, сервер, компьютер) на предмет возможных уязвимостей и смоделировать несанкционированный доступ. Особенно критичным здесь считается доступ к конфиденциальным данным. Цель пентеста — минимизировать риск кибератак благодаря новым знаниям. Его результат дает информацию о недостатках в ИТ-безопасности. Однако устранение этих недостатков не является частью тестирования на проникновение.
Объем и глубина теста на проникновение, проводимого профессиональным ИТ-экспертом, может сильно варьироваться в зависимости от компании. Типичными областями тестирования являются барьеры безопасности, такие как брандмауэр веб-приложений, веб-приложения, контейнеры, их интерфейсы (API) и серверы. Ошибки конфигурации и уязвимости становятся видимыми благодаря интенсивным пентестам.
Тестирование на проникновение следует отличать от аналогичных терминов в области ИТ-безопасности:
- Сканирование уязвимостей: автоматические тесты без индивидуальной настройки;
- Аудит безопасности: автоматический тест, результаты которого проверяются вручную, но стандартизированной схемы не существует.
Какие существуют виды пентестов?
- Внутренний пентест
Этот тип теста на проникновение анализирует, что происходит при краже данных сотрудников. Поэтому тест предполагает атаку с использованием данных, доступных сотрудникам.
- Внешний пентест
Это классическая тестовая модель. В данном случае атака имитируется хакерами, которые не имели предварительного доступа к ресурсу, а лишь получили доступ к веб-сайту компании и системам, используемыми всеми. Сюда же относятся целенаправленные перегрузки внешнего соединения посредством DDoS-атак.
- Черный ящик
Этот метод не требует точных договоренностей. Поставщик услуг получает название компании и согласие, но больше ничего. Это позволяет специалистам по информационной безопасности реагировать на попытки доступа в режиме реального времени, не зная заранее точную процедуру работы тестеров на проникновение. Эта модель подходит, например, для получения объективной оценки собственной ИТ-безопасности от третьей стороны с опытом.
У каждого поставщика услуг, вероятно, будет своя собственная процедура, однако существуют типичные этапы и рамки, используемые в отрасли.
Шаги проведения пентеста
- Сканирование
На этом этапе начинается поиск одной или нескольких уязвимостей, позволяющих получить доступ. Здесь особенно важно точное документирование процедуры. Код наблюдается на уровне отдельных приложений.
- Проникновение
На третьем этапе пентеста системы подвергаются проникновению. Теперь поставленная цель — получить доступ к системе через найденные уязвимости. Возможные атаки включают:
- XSS (межсайтовый скриптинг);
- Инъекция sql;
- Бэкдоры и руткиты;
- DoS-атаки;
Если доступ успешный, то перед пентестером стоит задача исследовать все возможности проникновения. Потому что именно так будут действовать киберпреступники.
- Закрепление
На этом этапе целью является проверка возможности постоянного (персистентного) поддержания доступа. Целью большинства кибер-атак является получение доступа, который остается незамеченным. В это время можно загрузить вредоносное ПО. Находчивые хакеры прокладывают себе путь от подразделения к подразделению, пока не достигнут уровня, где хранятся самые конфиденциальные данные или откуда они имеют максимально возможный контроль над корпоративными ИТ. Часто требуется время, чтобы достичь этой глубины. Поэтому тест на проникновение проверяет, как быстро может произойти распространение влияния хакера и когда системы безопасности реагируют на него.
- Оценка пентеста
Заказчик получает результаты, основанные на подробном документировании всех действий во время проверки. Оценка оформляется в виде отчета, в нем представлена следующая информация:
- Атаки и используемые методы;
- Уязвимости/лазейки в системе безопасности, которые были успешно использованы;
- Данные, которые можно извлечь;
- Продолжительность необнаруженного доступа.