Пентест: что скрывается под белым капюшоном?
Как только клиенты не называют довольно популярную услугу из мира кибербезопасности — пинтест, пейнтест (paintest), тест на протикнення (укр). А этой услуге, тест на проникновение, уже очень много лет.
Если исходить из названия, то тест на проникновение — это имитация реальной хакерской атаки (с некоторыми ограничениями, о которых ниже). А раз имитация реальной атаки, то цель — найти возможность получения доступа к ценным активам компании и/или человека (финансы, ценная информация и т.п.).
Отличия теста на проникновение (penetration testing, ,penetration test, pentest, пентест) от реальной хакерской атаки в его ограничениях:
- Закон. Логично, что все действия производятся только по согласованию и на основании договора и разрешительных документов от заказчика. Чёрные хакеры разрешения не спрашивают
- Время. Чёрные хакеры не ограничены во времени, они могут годами следить за «жертвой», выявляя новые дыры в безопасности (уязвимости) в системах, которые используются, отправлять сотни фишинговых писем. У белых, этичных хакеров есть строго оговоренные сроки, которые, как правило, ограничиваются максимум несколькими неделями.
- Бюджет. Чёрные хакеры могут инвестировать значительные средства в наступательные инструменты, так называемое кибероружие (вредоносное программное обеспечение), включая покупку эксклюзивных эксплоитов (0-day, вирусов-вредоносов, никому, кроме хакеров неизвестных). Белые хакеры ограничены бюджетом заказчиков.
- Глубина проникновения. Понятное дело, что чёрные хакеры ничем не ограничены, в том числе и возможностью получения доступа ко всем системам, которые могут «взломать». У этичных хакеров есть ограничения — список систем, к которым можно получить доступ ограничивается заказчиком (хотя может и не ограничиваться, что бывает реже).
Для компенсации ограничений белые хакеры получают некоторые послабления по сравнению с чёрными:
- Объём известной о заказчике информации, а также вовлечение заказчика. По терминологии пентеста — это белый, серый и черный ящики. Где под белым ящиком подразумевается раскрытие полной информации об инфраструктуре, процессах, системах заказчика (иногда и аудит исходного программного кода), осведомленность всего технического персонала о тестировании, а под чёрным — минимальный объём информации (например, название организации, сайт и т.п.) и о тестировании знает ограниченное число сотрудников (иногда только топ-менеджмент).
В какой-то момент заказчиков перестал устраивать тест на проникновение в его классическом виде — нашли одну или цепочку уязвимостей, получили требуемый доступ и проект закончился, заказчик захотел, чтобы белые хакеры нашли все или максимально возможное количество уязвимостей в их системе. Так появилась новая услуга — аудит состояния кибербезопасности, но в большинстве случаев именно её называют тестом на проникновение, хотя правильнее было бы тест на проникновениЯ
Тест на проникновение сайта, мобильного приложения или программы для персональных компьютеров — так называют услуги, которые являются по сути услугой проверки безопасности приложения (application security). Иногда сюда добавляют аудит исходного кода приложения (source code analysis).
С приходом популярности краудсорсинга (crowdsourcing) решили и пентест дополнить этим модным подходом с помощью bug bounty программ. Эти программы работают по всему миру, заказчики — крупнейшие международные компании, исполнители — белые хакеры по всему миру. Идея — заказчик размещает на платформе заявку на тестирование своей компании или продукта (application security), указывает ограничения и величину вознаграждения за найденные уязвимости (в зависимости от их критичности), исполнитель (этичный хакер) ищет уязвимости и в случае успеха получает вознаграждение. Появился и частный случай bug bounty — bug bash, ограниченное во времени мероприятие, как правило в рамках большой конференции с теми же условиям (вознаграждение за «взлом» продукта). Но есть у этих подходов и недостатки:
- Не всегда найденную уязвимость хакер отдаёт владельцу продукта, иногда он продаёт её в разы или на порядки дороже в даркнете («подпольном» интернете) или спецслужбам, которые используют эти уязвимости для создания кибероружия. Даже есть компании, которые зарабатывают на продаже найденных уязвимостей спецслужбам, например, французская Vupen, итальянская Hacking Team, израильская Celebrite и т.д.
- Теоретически разработчики продукта могут вступать в сговор с багбаунтерами, специально оставлять дыры безопасности в продукте, которые быстро «находят» нужные хакеры и делят прибыль пополам…
— А можно как-то удешевить пентест? Можно просто посканировать наши ресурсы автоматическими сканерами для поиска уязвимостей и дать нам отчёт?
— Можно!
Так появилась услуга по сканированию уязвимостей (vulnerability scanning), которую часто тоже продают под названием — тестирование на проникновение, хотя это лишь малая часть его.
Также пентест может происходить под пристальным вниманием и даже активным противодействием атакам, такие вот тестовые кибервойны, которые называют red-blue-teaming или redteaming. Где красная (red) команда – это команда атакующих, как правило, внешняя команда, а синяя (blue) команда – команда обороняющихся, как правило – внутренняя.
Что же может входить в полноценный пентест?
Он может включать следующие этапы:
- Разведка. Пассивная — поиск всей доступной в открытых источниках информации (OSINT), данная активность для заказчика незаметна. Активная — использование специализированных инструментов для сканирования ресурсов заказчика, может привести к срабатыванию систем обнаружения вторжений.
- Анализ полученной информации из предыдущего этапа и планирование последующих сценариев атак.
- Попытки тестовых атак, запланированных на предыдущем этапе. Атаки проводятся в рамках ограничения и при необходимости под наблюдением технического персонала заказчика, чтобы не привести к сбоям в работе различных систем.
- Результаты тестирования, облачённые во многоуровневый отчёт, состоящий из информации понятной для бизнес-заказчика, технических менеджеров, а также технических специалистов.
Тестирование на проникновение может охватывать весь спектр технологий заказчика — сетевые, веб, приложения (мобильные, десктоп), интернет вещей (IoT), операционные технологии (OT, ICS, SCADA) и т.п. Ещё в охват тестовых взломов может входить: внутренний пентест (развитие атаки за сетевым периметром), социальные каналы (социальная инженерия), а также физическое проникновение на территорию заказчика с использованием технологий (клонирование ID-карт, взлом радиоинтерфейсов систем управления доступом и т.д.), а иногда даже с тестовым взломом механических дверных замков (lockpicking).
Правилом хорошего пентеста является проверка бизнес-логики приложений и влияния их уязвимостей на бизнес-процессы компании, в этом случае отчёт будет содержать более полезную для заказчика информацию, которая будет понятна не только техническим специалистам, а также позволит точнее проставить критичность найденных дыр в безопасности применительно к конкретному бизнесу.
Рынок пентестинга растет. Согласно некоторым исследованиям он достигнет 3,2 млрд. долларов к 2023 году. Что же влияет на такой буйный рост? Во-первых, увеличение числа пользователей подключенных устройств по всему миру. Во-вторых, рост количества бизнес-приложений на базе веб- и облачных технологий в организациях. Ожидается, что возрастающие потребности в безопасности Интернета вещей (IoT) и растущая тенденция Bring Your Own Device (BYOD) будут стимулировать рост рынка тестирования на проникновение в ближайшие годы.