Особой задачей тестирования на проникновение является тщательное документирование всех отдельных этапов. В то время как настоящие хакеры стараются как можно лучше скрыть следы своих данных, пентест полностью прозрачен и безопасен. Поэтому каждый шаг атаки в рамках пентеста может быть точно отслежен впоследствии.
Точное предварительное планирование имеет решающее значение для успешного проведения теста. Как и в случае с научным экспериментом или маркетинговым исследованием нового продукта, тщательная подготовка играет решающее значение для успеха теста на проникновение. Поэтому в начале процесса пентестирования проводится совместное планирование.
В качестве общей схемы планирования пентеста существуют стандарты тестирования, такие как «Стандарт выполнения тестирования на проникновение» (PTES) или руководство BSI «Тест на проникновение в ИТ-безопасность». BSI делит пентестинг на пять этапов, которые выполняются друг за другом:
- Этап 1: Спецификация и подготовка;
- Этап 2: Пассивный тест на проникновение;
- Этап 3: Детальное планирование и анализ рисков;
- Этап 4: Практические тесты на проникновение;
- Этап 5: Окончательный анализ.
Этап 1: согласование целей и спецификации
В ходе подготовительных обсуждений клиент и провайдер договариваются о целях и процедурах пентеста. Какие структуры подлежат тестированию? Нужны ли выборочные проверки или следует проверять все в целом? Как далеко должны заходить тесты? Есть ли, например, производственные системы, которые должны быть исключены из тестов по соображениям безопасности или должны быть исследованы в отдельном тесте?
Это касается, например, организаций в секторе здравоохранения или компаний, оказывающих первичную помощь. Там пентесты не должны ставить под угрозу системы, которые обеспечивают непрерывную работу или от которых зависит жизнь людей.
Другие подготовительные вопросы: Какие законодательные или отраслевые требования и стандарты безопасности применимы к компании, которую необходимо исследовать? В какой степени пентест должен подтвердить их соответствие требованиям или выявить возможные уязвимости, противоречащие требованиям законодательства?
Тестирование на соответствие отраслевым стандартам в идеале должно быть частью контракта на оказание услуг по пентесту.
Уровень агрессивности тестов также обсуждается заранее. Должны ли тесты быть в основном пассивными и просто использовать существующие пробелы? Или тестерам разрешено, например, специально устанавливать вредоносное ПО в компании и таким образом скачивать данные, при условии, что они найдут точки атаки? Разрешены ли только косвенные атаки с помощью социальной инженерии по электронной почте и телефону? Или им действительно следует активно внедряться в компанию? Разрешено ли тестировщикам прятать в компании шпионское оборудование, такое как кейлоггеры, мини-камеры или неавторизованные точки доступа для подмены WiFi?
Поставщик услуг пентеста защищает себя этим соглашением. Поэтому поставщику услуг необходим точно определенный письменный заказ от компании, чьи сети он должен атаковать.
Если затрагиваются конфиденциальные данные компании или персональные данные, заслуживающие защиты в соответствии с Общим положением о защите данных или Федеральным законом о защите данных, необходимо также уточнить, как лучше всего защитить эти данные во время атак.
Этап 2: пассивный тест на проникновение
На этапе пассивного тестирования на проникновение собирается вся информация о проверяемых структурах, которую можно получить заранее.
Обширные тесты на проникновение в крупных организациях могут занимать несколько недель. Поэтому уже на этом этапе необходимо решить, какие системы будут тестироваться и когда, в какой степени компания нуждается в замене систем на время тестирования и какие тесты обязательно должны проводиться во время текущей деятельности.
Компания с сезонным бизнесом может запланировать свои пентесты на периоды низкой деловой активности. Или же она может намеренно захотеть провести пентест при максимальной нагрузке. Атаки, использующие перегрузку систем, стали более значительными, поэтому для выявления таких рисков компания может захотеть провести тестирование в соответствующий сезон.
Этап 3: детальное планирование и анализ рисков
Пентестеры оценивают информацию, собранную на этапе 2, и на ее основе готовят анализ рисков. Для достижения целей, определенных на этапе 1, они детально планируют процедуру проведения отдельных испытаний, которая будет максимально экономичной и эффективной.
Должны ли эксперты в первую очередь выявлять риски, которые угрожают деловой деятельности или активам компании? Они могут исключить подчиненные системы, не имеющие связи с жизненно важными структурами, из испытаний на этом этапе.
Такой неважной системой с точки зрения пентестирования может быть, например, информационный терминал в точке продаж, который не имеет доступа в Интернет, не хранит данные клиентов или другую конфиденциальную информацию и не связан с другими системами в компании.
Этап 4: практические попытки вторжения
На этом этапе проводятся реальные тесты на проникновение в выбранные ранее системы. Испытания проводятся в несколько этапов. Для каждого теста используются разные подходы. Для защиты работающих производственных систем может потребоваться устранить любые пробелы, обнаруженные в ходе тестирования, например, с помощью соответствующих обновлений и исправлений. Безопасность системы имеет приоритет над успешностью испытаний.
В распоряжении хакеров имеется богатый набор программных инструментов для проникновения в чужие сети. Эксперты по безопасности знают эти инструменты и используют их для моделирования хакерских атак.
При атаках типа «отказ в обслуживании» (DoS) специалисты перегружают сайт компании большим количеством обращений за очень короткое время до такой степени, что сайт перестает быть доступным. Они также проводят аналогичные атаки на внутреннюю сеть или отдельные аппаратные компоненты. Это может быть VPN-туннель, который сотрудники используют для подключения к сети в дороге. Эти тесты не связаны со шпионажем за данными с помощью хакерских методов. Целью является проверка надежности корпоративной сети.
В рамках обзоров кода эксперты проверяют все программы, используемые в компании, с точки зрения безопасности. Например, приложения, веб-интерфейсы или макросы, которые используются внутри компании, не должны передавать пароли или личные данные открытым текстом. Существует большая опасность того, что те же данные для входа, которые используются для внутреннего учебного пособия или внутренней игры в футбол, будут также использоваться теми же сотрудниками для доступа к их почтовому аккаунту или облаку компании. В этом случае хакеры получили бы доступ к сети компании. Даже данные клиентов нельзя обрабатывать и хранить в незашифрованном виде в Германии, поскольку это нарушает DSGVO.
Некоторые преступники используют программы-снифферы для чтения сообщений в сети компании. Эксперты по безопасности также воссоздают этот сценарий при условии, что проверяемая компания разрешила проведение таких агрессивных тестов.
Используя сканирование портов, эксперты подробно анализируют отдельные каналы передачи данных (порты) связи по интернет-протоколу (TCP/IP), подобно настоящим хакерам, чтобы собрать информацию об используемом программном обеспечении и, возможно, найти незащищенные порты для прямых атак.
Используя перехват сеанса, подмену IP-адреса и атаки типа «человек посередине», настоящие преступники перехватывают существующие интернет-соединения или обманывают сотрудников компании относительно того, с кем они общаются в интернете. Эксперты моделируют эти атаки и проверяют, насколько они успешны.
Хакеры проникают в веб-приложения и базы данных компании с помощью вредоносного кода, чтобы получить несанкционированный доступ к этим системам. Примерами этого являются атаки на форматную строку и переполнение буфера или SQL-инъекции. Эксперты по пентестам используют программное обеспечение для имитации этих атак и, таким образом, находят бреши.
Проверяются не только ИТ-структуры самой компании, но и продукты компании, если они имеют цифровой контент или, например, встроенные средства управления. Цифровые двойники этих продуктов также могут быть использованы для таких тестов.
На первом этапе эксперты по безопасности лишь выявляют шлюзы для атак с помощью этих инструментов из практики реальных хакеров. Только на втором этапе они внедряют соответствующее вредоносное ПО (шпионское ПО, ransomware) в целях тестирования.
Распространенным инструментом, используемым хакерами, являются так называемые эксплойты. Это доступные в Интернете или даркнете коды, использующие слабые места в распространенных программах, таких как веб-браузеры или офисные программы. И здесь эксперты сначала уточняют, стоит ли устанавливать такие эксплойты в целях тестирования. Это связано с тем, что многие из этих эксплойтов еще не до конца изучены и могут, например, содержать неизвестный вредоносный код.
Этап 5: окончательный анализ
После завершения всех индивидуальных тестов проводится окончательный анализ. Клиент получает подробный отчет, в котором поставщик пентеста перечисляет все обнаруженные недостатки. Опасности, которые уже были устранены экспертами на этапе тестирования, также перечислены. Это единственный способ выявить возможные слабые места в конструкции.
Атаки с применением социальной инженерии позволяют получить важные сведения: понимали ли сотрудники, что их тестируют, и сообщали ли они о подозрительных контактах? Если ИТ-служба компании не знала о пентестах, заметили ли они их и усилили ли свои защитные меры соответствующим образом?
Пентест — это всегда проверка всей компании, состоящей из работающих в ней людей, используемого оборудования и программного обеспечения. Области с самым низким уровнем безопасности определяют уязвимость всей системы. Более того, пентест — это всегда только моментальный снимок системы в данный момент времени, поэтому его следует повторять через регулярные промежутки времени.