4.10 Тестирование на проникновение и «красные команды»
Обзор и мотивация
Вы можете построить все средства контроля, которых требует ваша модель угроз, и всё равно не знать, работают ли они. Документация говорит, что межсетевой экран блокирует этот порт, рецензия кода говорит, что ввод проверяется, политика говорит, что наименьшие привилегии принуждаются. Наступательная безопасность это то, как вы узнаёте, правда ли хоть что-то из этого, когда мотивированный атакующий нажимает. Эта глава о намеренной атаке собственных систем, с авторизацией, чтобы найти слабости раньше настоящего противника.
Дисциплина идёт по спектру. На лёгком конце стоит сканирование уязвимостей: автоматические инструменты, прощупывающие известные дефекты и неверные настройки. В середине стоит тестирование на проникновение: опытный человек, сцепляющий слабости, чтобы доказать эксплуатируемость определённой мишени. На дальнем конце стоит «красная команда»: целенаправленная кампания, имитирующая настоящего противника по людям, процессу и технологии и проверяющая вашу способность обнаруживать и реагировать, а не только предотвращать. Каждая отвечает на свой вопрос, а их путаница самый частый способ, которым организации тратят деньги и утешают себя ложной гарантией.
Эта глава намеренно стоит отдельно от соседних. Глава 4.4 охватывает операции безопасности: оборонительную, мониторинговую сторону, следящую за угрозами и реагирующую на них. Эта глава наступательный двойник, проверяющий, работает ли эта защита на самом деле. Глава 4.9 охватывает жизненный цикл безопасной разработки, где безопасность встроена в то, как код проектируется и поставляется; наступательное тестирование проверяет продукт этого жизненного цикла снаружи. Она также опирается на основы и культуру главы 4.1 и практики безопасности приложений главы 4.2.
Для больших корпораций наступательное тестирование и средство снижения риска, и регуляторное обязательство. Платёжные процессоры, банки и поставщики медицинских услуг сталкиваются с явными требованиями тестировать. Для государства ставки достигают национальной безопасности и общественного доверия: противники здесь хорошо обеспеченные ресурсами национальные государства, а системы, в которые они целятся, ведут выборы, пособия и критичную инфраструктуру. В обоих случаях ценность идёт не от отчёта, а от того, что вы исправляете и насколько быстрее вы учитесь обнаруживать следующее вторжение.
Ключевые принципы
- Подбирайте задание под вопрос: сканирование, тестирование на проникновение и «красные команды» отвечают на разное.
- Получайте письменную авторизацию и ясные правила взаимодействия, прежде чем кто-либо коснётся системы.
- Находки бесполезны, пока не устранены и не перепроверены; отслеживайте их, как любую другую работу.
- «Красная команда» существует, чтобы сделать «синюю команду» лучше, а не чтобы победить.
- Имитируйте реальных противников и их техники, а не общие контрольные списки.
- Измеряйте обнаружение и отклик, а не только число найденных уязвимостей.
- Остерегайтесь театра: задание, очерченное так, чтобы пройти, выглядит впечатляюще и ничего не доказывает.
Рекомендации
Поймите спектр наступательной безопасности
Начните с названия того, что вы покупаете. Сканирование уязвимостей широко, автоматизировано и дёшево; запускайте его непрерывно против вашего хозяйства, чтобы ловить известные Common Vulnerabilities and Exposures (CVE) и неверные настройки. Оно производит объём и ложные срабатывания и не может сказать, действительно ли дефект эксплуатируем в контексте. Тестирование на проникновение ставит опытного тестировщика против определённой мишени на фиксированное окно, сцепляя слабости для демонстрации реального воздействия: эта находка сканера в сочетании с тем слабым разрешением даёт администратора домена. Оно отвечает на «можно ли сломать эту конкретную вещь и насколько сильно».
«Красная команда» отвечает на больший вопрос: «если бы решительный противник нацелился на нас, заметили бы мы и смогли бы остановить». Она целеориентирована (вывести этот набор данных, добраться до этой системы управления), охватывает всю поверхность атаки, включая людей и физический доступ, и обычно проводится без предупреждения защитников. «Фиолетовая команда» рушит стену: красные и синие работают вместе в одной комнате, атакующий запускает технику, а защитник смотрит, поймают ли её его инструменты, настраивая обнаружения в реальном времени. «Фиолетовая команда» нередко даёт больше защитных улучшений на доллар, чем скрытная «красная команда», потому что каждое действие становится моментом обучения.
Выбирайте «чёрный», «серый» или «белый ящик» намеренно
Сколько вы рассказываете тестировщику, определяет, чему вы научитесь. Тестирование «чёрного ящика» не даёт ему ничего, кроме мишени, имитируя внешнего атакующего без внутреннего знания; оно реалистично, но медленно, и тестировщики могут потратить весь бюджет на разведку, которая у настоящего противника заняла бы месяцы. Тестирование «белого ящика» вручает исходный код, архитектурные диаграммы и учётные данные, позволяя тестировщику идти глубоко и охватить больше за доступное время. «Серый ящик» между ними: немного знаний, немного учётных данных, имитирующих атакующего, сделавшего домашнюю работу, или злонамеренного инсайдера.
Для большинства тестирования приложений «серый» или «белый ящик» даёт лучшую отдачу, потому что вы платите за глубину анализа, а не за то, чтобы тестировщик заново открывал схему вашей подсети. Оставляйте «чёрный ящик» для случаев, когда реализм фазы обнаружения сам по себе то, что вы хотите проверить, например измерение того, сколько посторонний может узнать из вашего публичного следа. Будьте явны, что именно вы заказываете, поскольку отчёт «чёрного ящика», находящий мало, может означать, что вы безопасны, или что у тестировщика кончилось время на периметре.
Тщательно очерчивайте охват и пишите правила взаимодействия
Охват то, где задания удаются или проваливаются. Документ правил взаимодействия определяет, что в границах и что нет, какие техники разрешены, окно тестирования, охватываемые системы и сети, требования к обращению с данными и экстренные контакты с обеих сторон. Он называет эксплуатационные системы, которые под запретом или требуют осторожности, задаёт правило остановки, если тестировщик находит что-то активно опасное, и определяет, что происходит, если они наткнутся на реальную активность атакующего или по-настоящему чувствительные данные.
Записывайте пути эскалации и письмо «get out of jail»: авторизацию, которую тестировщик может предъявить, если сотрудники безопасности или правоохранители оспорят его посреди задания. Договоритесь заранее, как находки хранятся и передаются, поскольку отчёт о тестировании на проникновение это карта того, как вас взломать, и должен защищаться соответственно. Узкий охват производит глубокие находки на малой поверхности; широкий охват производит поверхностное покрытие большой. Выбирайте намеренно и никогда не позволяйте охвату тихо расширяться посреди задания без повторной авторизации.
Воспринимайте авторизацию как линию между тестированием и преступлением
Единственное, что отделяет тестировщика на проникновение от преступника, авторизация. Доступ к системам, к которым вы не авторизованы, преступление по законам вроде Закона о компьютерном мошенничестве и злоупотреблении в Соединённых Штатах и их аналогам в других местах, а добрые намерения не защита. Авторизация должна быть письменной от того, у кого действительно есть полномочия её давать, охватывать ровно системы и техники в охвате и быть подписана до начала работы.
Сторонние системы осложняют это. У вашего облачного провайдера, ваших поставщиков программного обеспечения как услуги и любой общей инфраструктуры могут быть собственные политики тестирования, а вы не можете авторизовать атаку на активы, которыми не владеете. Проверяйте правила провайдера, запрашивайте разрешение там, где требуется, и держите тестирование внутри собственной аренды. Социальная инженерия, нацеленная на сотрудников, поднимает этические и юридические вопросы согласия и психологического вреда, которые вы должны продумать заранее. В сомнении привлекайте юрисконсульта; цена разговора тривиальна по сравнению с ценой инцидента несанкционированного доступа.
Взвешивайте внутренние команды против сторонних тестировщиков
Внутренняя «красная команда» знает вашу среду, выстраивает отношения с защитниками и может тестировать непрерывно, а не ежегодными рывками. Эта близость также ограничение: они разделяют ваши слепые пятна и организационные допущения, а их независимость можно оспорить, когда они отчитываются перед тем же руководством, что и тестируемые ими системы. Сторонние фирмы приносят свежие глаза, специализированные навыки и независимость, которой нередко требуют аудиторы и регуляторы, но медленно набирают ход, стоят дороже за задание и уходят, когда отчёт сдан.
Большинство зрелых программ используют обе. Внутренние команды занимаются непрерывной имитацией противника, настройкой обнаружений и глубоким знанием среды, делающим «фиолетовые команды» продуктивными. Внешние фирмы дают периодическую независимую проверку, удовлетворяют требованиям независимости стандартов вроде PCI DSS и прощупывают области, которые ваши люди перестали видеть. Какую бы вы ни использовали, настаивайте, чтобы тестировщики были квалифицированы: сертификаты вроде OSCP (Offensive Security Certified Professional) и продемонстрированный опыт важнее отполированной презентации продаж.
Ведите программы вознаграждений за ошибки и скоординированное раскрытие
Программа вознаграждений за ошибки (bug bounty) приглашает внешних исследователей находить и сообщать об уязвимостях в обмен на признание и оплату. Она даёт вам непрерывное тестирование силами толпы по спектру навыков, которых вы никогда не наняли бы сразу, а платите вы только за реальные находки. Она не замена структурированному тестированию на проникновение, поскольку исследователи гонятся за тем, что платят, и могут игнорировать целые категории, но это мощное дополнение, выявляющее творческие атаки.
Прежде чем запускать платное вознаграждение, вам нужна политика скоординированного раскрытия уязвимостей: опубликованный, легко находимый способ для любого безопасно сообщить о проблеме безопасности, обязательство не преследовать добросовестных исследователей юридически, определённые сроки отклика и внутренний процесс сортировки и исправления поступающего. Файл security.txt и ясный адрес для сообщений минимум. Государственные ведомства всё чаще предписывают политики раскрытия уязвимостей для публичных систем, а отсутствие канала не мешает исследователям находить ошибки; оно лишь мешает им безопасно вам сообщить.
Используйте допущение взлома и имитацию противника
Тестирование только периметра предполагает, что атакующий начинает снаружи, но реальные взломы нередко начинаются с фишингованных учётных данных или скомпрометированного ноутбука, уже находящегося внутри. Упражнение допущения взлома (assumed breach) начинает тестировщика с плацдарма, например доступа как обычного сотрудника, и спрашивает, как далеко он может уйти оттуда. Это прямо проверяет вашу внутреннюю сегментацию, обнаружение и средства контроля радиуса поражения, а не ставит всё на периметр, который в итоге будет пересечён. Обычно это лучшее применение времени «красной команды», чем наблюдать, как она бьётся о укреплённый край.
Основывайте кампанию на реальном поведении противника с помощью MITRE ATT&CK, публичной базы знаний о тактиках и техниках, которые атакующие действительно используют, организованной от первоначального доступа до вывода данных. Имитация противника выбирает известного как целящегося в ваш сектор актора угроз, воспроизводит его документированные техники и проверяет, обнаруживаете ли вы и останавливаете ли каждый шаг. Это гораздо полезнее общей атаки, потому что отображает ваши защиты на конкретных противников, с которыми вы сталкиваетесь, и производит находки, которые ваша разведка угроз может приоритизировать.
Передавайте находки «синей команде» и инженерии обнаружения
Смысл нападения в лучшей защите. Каждое действие «красной команды» шанс спросить: породили ли наши инструменты сигнал, увидел ли кто-то его и правильно ли отреагировал. Проводите задания так, чтобы каждая техника отображалась на обнаружение, которое у вас есть, которое нужно построить или которое нужно настроить. Это инженерия обнаружения: превращение поведения атакующего в надёжные оповещения, и именно здесь ценность «красной команды» накапливается. Находка «мы не были обнаружены при боковом перемещении» должна стать новым правилом обнаружения, протестированным повторным запуском техники.
Учения за столом (tabletop) расширяют это на принятие решений. Соберите людей, которые реагировали бы на настоящий инцидент, и пройдите реалистичный сценарий на бумаге: кто объявляет инцидент, кто говорит с юристами, кто решает отключить систему. Такие учения дёшевы, выявляют пробелы в ролях и коммуникации, которые пропускают технические тесты, и готовят людей, важнейших, когда управление инцидентами из главы 9.3 вступает в силу. Сочетайте техническую работу «красной команды» с регулярными учениями за столом, чтобы упражнялись и ваши инструменты, и ваши люди.
Отслеживайте устранение и перепроверяйте
Отчёт об уязвимостях, по которому никто не действует, это обязательство, поскольку теперь вы сознательно эксплуатируете дефект, на который может сослаться аудитор. Подавайте каждую находку в вашу обычную систему отслеживания работы с владельцем, серьёзностью и сроком, привязанным к риску. Критичные находки получают аварийное обращение; низшие присоединяются к бэклогу с честным приоритетом. Метрика, которая важна, время устранения, а не время сообщения.
Перепроверка замыкает контур. После выпуска исправления тестировщик (или автоматическая проверка) подтверждает, что уязвимость действительно исчезла и исправление не открыло новую дыру. Без перепроверки «устранено» надежда, а не факт, и многие находки повторяются, потому что исправление было неполным или регрессия вернула их. Стандарты вроде PCI DSS требуют этого контура явно. Встраивайте перепроверку в договор задания, чтобы она не была забытой запоздалой мыслью.
Компромиссы: плюсы и минусы
| Подход | Лучше всего для | Плюсы | Минусы |
|---|---|---|---|
| Сканирование уязвимостей | Непрерывное покрытие известных дефектов | Дёшево, широко, автоматизировано, часто | Шумно; не может доказать эксплуатируемость |
| Тестирование на проникновение | Доказательство воздействия на определённой мишени | Глубоко, человеческая проницательность; реальные цепочки эксплойтов | На момент времени; узкий охват; дорого |
| «Красная команда» | Проверка обнаружения и отклика | Реалистично; упражняет людей и процесс | Дорого; медленно; нужна зрелая «синяя команда» |
| «Фиолетовая команда» | Быстрое улучшение обнаружений | Много обучения на доллар; совместно | Менее реалистично; обе команды должны быть доступны |
| Вознаграждения за ошибки | Постоянное обнаружение силами толпы | Оплата за находку; разнообразные навыки | Неравномерное покрытие; бремя сортировки; нужен процесс |
Главное напряжение между реализмом и скоростью обучения. Скрытная «красная команда» самый реалистичный тест, какой можно провести, но её уроки приходят медленно и только после полной кампании, а незрелая «синяя команда» мало учится, будучи тихо побеждённой. «Фиолетовая команда» жертвует неожиданностью, чтобы максимизировать, как быстро улучшаются защитники. Второе напряжение широта против глубины: сканирование охватывает всё поверхностно, а тест на проникновение охватывает щель глубоко. Зрелые программы наслаивают их, а не выбирают одно, запуская непрерывное сканирование под периодическим глубоким тестированием и изредка кампании «красной команды» с полным охватом. Неверный ход купить единственный ежегодный тест на проникновение, подшить отчёт и считать проблему решённой.
Вопросы для обсуждения с командой
Когда мы заказываем наступательное тестирование, ясно ли нам, какой именно вопрос мы задаём, и соответствует ли ему задание? Многие организации покупают «тест на проникновение» и получают сканирование уязвимостей с написанным человеком резюме, затем верят, что проверили свои защиты, тогда как лишь проверили известные дефекты. Другие заказывают «красную команду», когда их способность обнаружения настолько незрела, что упражнение лишь доказывает то, что все и так знали. Принесите охваты ваших трёх последних заданий и полученные отчёты и спросите, ответило ли каждое на вопрос, на который вам нужен был ответ: покрытие известных уязвимостей, эксплуатируемость конкретной мишени или способность обнаруживать вторжение и реагировать. Ответ должен сформировать намеренную смесь сканирования, тестирования на проникновение и «красных» или «фиолетовых команд», соответствующую вашей зрелости.
Что происходит с находкой после того, как отчёт приземлился, и как мы докажем, что она исправлена? Ценность наступательной безопасности целиком в устранении, однако многие программы измеряют успех размером отчёта, а не сжатием риска. Проследите настоящую находку вашего последнего задания: кто ею владел, как она приоритизировалась относительно работы над функциями, когда была исправлена и подтвердил ли кто-либо, что исправление действительно сработало. Если вы не можете предъявить этот след, ваше тестирование порождает знание, по которому вы не действуете, что хуже незнания, потому что теперь вы сознательно экспонированы. Результатом этого обсуждения должен стать отслеживаемый рабочий процесс устранения с владельцами, основанными на риске сроками и обязательной перепроверкой, встроенной в каждый договор.
Делает ли наша «красная команда» нашу «синюю команду» лучше или просто ведёт счёт? «Красная команда», празднующая необнаруженные победы и копящая свои техники, развлекательна и бесполезна. Отношения должны быть совместными под состязательной поверхностью: каждая необнаруженная техника должна стать новым правилом обнаружения, каждый успешный путь должен информировать сегментацию, а две команды должны разбирать вместе. Спросите ваших защитников, чему они научились от последнего задания «красной команды» и изменилось ли в результате какое-либо конкретное обнаружение или средство контроля. Если честный ответ «ничему», вы платите за театр и должны сдвинуться к «фиолетовым командам» и имитации противника, явно привязанным к инженерии обнаружения.
Есть ли у нас перед нашим следующим заданием письменная авторизация на каждый актив в охвате, включая те, которыми мы не владеем? Авторизация линия между тестом на проникновение и инцидентом компьютерного преступления, и в большой организации системы, которых коснётся тестировщик, редко лежат внутри единой границы владения: они охватывают облачные аренды, платформы программного обеспечения как услуги, управляемые сети и общую инфраструктуру, которую контролирует партнёр или поставщик. Конкурирующее давление скорость, потому что погоня за подписанным разрешением и политиками тестирования провайдеров медленна и соблазнительна для пропуска, когда маячит срок. Принесите проект правил взаимодействия, опись активов с названным против каждой системы владельцем, соответствующие политики тестирования облака и поставщиков и подписанное письмо авторизации, которое тестировщик может предъявить, если его оспорят посреди задания. Для корпоративной и государственной работы экспозиция острая: несанкционированное прощупывание общей платформы может нарушить контракты, вызвать регуляторную отчётность или, для государственного ведомства, стать заголовком о государстве, атакующем системы, к которым у него не было права прикасаться, поэтому юрисконсульт должен подписать до начала.
Вкладываемся ли мы во внутреннюю «красную команду», внешние фирмы или в обе и соответствует ли это деление тому, что нам действительно нужно? Это решение «построить или купить» с реальными деньгами и многолетними последствиями: внутренняя команда стоит зарплат и инструментов и даёт непрерывную имитацию противника и глубокое знание среды, тогда как внешние фирмы стоят дороже за задание, но приносят свежие глаза, специализированные навыки и независимость, которой требуют аудиторы и регуляторы. Напряжение в том, что каждая покрывает слепое пятно другой, поэтому воспринимать их как заменители, а не дополнения, обычно оставляет пробел. Принесите ваши текущие расходы на каждую, сертификаты и подтверждённый послужной список людей, делающих работу, ритм заданий и требования независимости, налагаемые вашими стандартами. В регулируемой корпорации PCI DSS и подобные режимы могут вынудить внешнее независимое тестирование независимо от того, насколько хороша ваша внутренняя команда; в государстве правила закупок и необходимость показать оценку на расстоянии вытянутой руки перед разрешением на эксплуатацию нередко делают аккредитованную третью сторону обязательной, а не необязательной.
Есть ли у нас безопасный канал для внешних исследователей, сообщающих об уязвимостях, и готовы ли мы обрабатывать поступающее? Большую публичную организацию уже прощупывают исследователи, приглашает она их или нет, и единственный вопрос в том, могут ли они безопасно вам сообщить или вынуждены публиковать или продавать найденное. Конкурирующее соображение готовность: открытие политики скоординированного раскрытия или платного вознаграждения порождает входящие сообщения и бремя сортировки, а программа, платящая за находки, которые никогда не исправляет, хуже отсутствия. Принесите ваш текущий файл security.txt и адрес для сообщений, если есть, ваш приём и процесс сортировки, сроки отклика, которые вы можете честно обещать, и мощность бэклога для устранения приходящего. Для государственных ведомств политика раскрытия уязвимостей на публичных системах всё чаще директива, а не любезность, а для корпораций хорошо управляемое вознаграждение и источник творческих находок, и свидетельство зрелости при проверке клиентов, поэтому решение не столько в том, иметь ли канал, сколько в том, укомплектованы ли вы, чтобы его соблюдать.
Взгляд по секторам
Стартап. Вы не можете позволить внутреннюю «красную команду», поэтому наслаивайте дешёвое покрытие. Подключите сканирование уязвимостей к вашему конвейеру развёртывания, чтобы ловить известные дефекты зависимостей на каждой сборке, опубликуйте файл security.txt и простую политику скоординированного раскрытия, чтобы исследователи могли с вами связаться, и закажите единственный тест на проникновение «серого ящика» у уважаемой фирмы перед вашей первой корпоративной сделкой, отслеживая каждую находку до подтверждённого исправления. Скорость важнее широкой программы: выберите один тест, разблокирующий продажу или закрывающий ваш крупнейший риск, и пропустите остальное, пока не вырастете.
Малый бизнес. Без специалиста по безопасности в штате и при ограниченном бюджете покупайте, а не стройте. Используйте управляемый сервис сканирования и нанимайте внешнюю фирму по тестированию на проникновение со скромным ритмом, а не поднимайте внутреннюю возможность, и убедитесь, что ваш договор включает перепроверку, чтобы «исправлено» было доказано, а не предположено. Ваш ход наибольшей ценности и наименьшей цены опубликованный способ для любого сообщить о дефекте плюс дисциплина быстро патчить, поскольку большая часть реальных компрометаций бизнеса вашего размера идёт через известные непропатченные слабости.
Крупная организация. В масштабе трудность в управлении по многим командам. Ведите непрерывное сканирование под периодическими независимыми внешними тестами на проникновение, удовлетворяющими стандартам вроде PCI DSS, держите внутреннюю «красную команду» для непрерывной имитации противника и «фиолетовых команд» и управляйте устранением как отслеживаемым портфелем с владельцами, основанными на риске сроками и обязательной перепроверкой. Подавайте каждую необнаруженную технику в инженерию обнаружения и производите свидетельства аудита, покрытие, сроки и доли закрытия, которых ожидают соответствие и ваш совет директоров.
Государственный сектор. Правила закупок, прозрачность и публичная подотчётность определяют всю программу. Ведите политику раскрытия уязвимостей на публичных системах, как всё чаще требуют директивы, используйте аккредитованных независимых оценщиков для тестирования на проникновение, управляющего разрешением системы на эксплуатацию, и стройте имитацию противника на конкретных национальных акторах, на которых указывают ваши партнёры по разведке. Обращайтесь с авторизацией, охватом и обращением с данными с дополнительной строгостью, потому что системы ведут выборы, пособия и критичную инфраструктуру, и делайте перепроверку предпосылкой оставления любой системы в работе.
Примеры
Стартап. Финтех-стартап из двадцати человек не может позволить внутреннюю «красную команду», поэтому наслаивает то, что может. Автоматическое сканирование уязвимостей запускается при каждом развёртывании через конвейер, рано ловя известные дефекты зависимостей. Он публикует файл security.txt и простую политику скоординированного раскрытия, затем открывает скромное вознаграждение за ошибки на публичной платформе, когда продукт стабилизируется, платя настоящим исследователям за настоящие ошибки. Перед подписанием первого корпоративного клиента он заказывает тест на проникновение «серого ящика» приложения у уважаемой фирмы, отслеживает каждую находку до закрытия в обычном трекере задач и платит за перепроверку для подтверждения исправлений. Этот слоистый подход даёт правдоподобное покрытие безопасностью по цене, которую стартап может выдержать, а отчёт теста на проникновение становится свидетельством, которым можно делиться при проверке клиентов.
Крупная организация. Международный ритейлер, обрабатывающий платежи по картам, должен соответствовать PCI DSS, требующему и внутреннего, и внешнего тестирования на проникновение не реже раза в год и после значимых изменений плюс тестирования сегментации для доказательства изоляции среды держателей карт. Он ведёт непрерывное сканирование по тысячам активов, заказывает независимые внешние тесты на проникновение для удовлетворения стандарта и держит внутреннюю «красную команду», проводящую упражнения допущения взлома, основанные на MITRE ATT&CK, против акторов угроз, известных как целящихся в розницу. «Красная команда» тесно работает с функцией операций безопасности из главы 4.4: каждая необнаруженная техника становится заявкой инженерии обнаружения, а ежеквартальные сессии «фиолетовой команды» настраивают оповещения. Устранение отслеживается со сроками, основанными на риске, а вся программа производит свидетельства аудита, которых требует соответствие главы 4.6.
Государственный сектор. Национальное ведомство, ведущее системы пособий для граждан, сталкивается с противниками уровня национальных государств и общественным мандатом защищать чувствительные персональные данные. Оно ведёт политику раскрытия уязвимостей на всех публичных системах, как всё чаще требуют государственные директивы, давая исследователям безопасный канал для сообщения о дефектах. Независимые сторонние оценщики проводят тесты на проникновение как часть процесса авторизации до ввода любой системы в работу, а непрерывный мониторинг включает постоянное сканирование. Ведомство проводит имитацию противника, смоделированную на конкретных группах угроз, на которые указывают его партнёры по разведке, а регулярные учения за столом репетируют реагирование на инциденты и юридическую координацию, которых потребовал бы настоящий взлом. Находки питают формальную программу устранения с предписанными сроками, а перепроверка предпосылка сохранения разрешения системы на эксплуатацию.
Бизнес-обоснование: мотивы, ROI и TCO
Отдача от наступательной безопасности это взлом, которого вы не пережили. Серьёзная утечка данных стоит миллионы в прямом реагировании, регуляторных штрафах, юридической ответственности, оттоке клиентов и репутационном ущербе, а самый дорогой фактор то, как долго вторжение остаётся необнаруженным. «Красные» и «фиолетовые» команды атакуют это число прямо, сокращая разрыв между компрометацией и обнаружением. Тест на проникновение, находящий эксплуатируемый путь к базе данных ваших клиентов, исправленный до того, как его найдёт атакующий, окупает всю программу многократно одним избегнутым инцидентом.
Есть и жёсткие драйверы. PCI DSS предписывает тестирование на проникновение для всех, кто работает с данными карт. Рамки и государственные режимы авторизации требуют независимой оценки до и во время эксплуатации. Корпоративные клиенты требуют недавние отчёты тестов на проникновение как условие контрактов. В этих случаях тестирование не необязательно, и вопрос лишь в том, извлечёте ли вы реальную ценность безопасности из денег, которые всё равно должны потратить.
Совокупная стоимость владения включает больше, чем плату за задание. Закладывайте бюджет на инструменты и персонал внутренней команды, если вы её строите, бремя сортировки вознаграждений за ошибки и, прежде всего, работу по устранению, которую порождают находки, а именно там ложатся реальные расходы. Программа, заказывающая тесты, но недофинансирующая исправление, худшее из обоих миров: она платит за плохие новости, а затем платит снова, когда проигнорированная находка эксплуатируется. Чтобы обосновать это перед руководством, свяжите тестирование с метриками, которые оно отслеживает: среднее время обнаружения, среднее время устранения, закрытые находки аудита и снижение риска на ваших самых критичных активах.
Антипаттерны и ловушки
- Просканировал и переименовал: продажа сканирования уязвимостей как теста на проникновение, выдача вывода инструмента без человеческой проверки или сцепления эксплойтов.
- Отчёт и забыли: воспринимание поставляемого документа как цели, подшивание находок и никогда не отслеживание устранения или перепроверки.
- Охват, чтобы пройти: сужение задания так, что системы, скорее всего провалившиеся бы, удобно вне границ, производя чистый отчёт, ничего не значащий.
- «Красная команда» как табло: состязательная команда, копящая техники и празднующая победы вместо улучшения защитников.
- Скрытное тестирование незрелой «синей команды»: запуск скрытной «красной команды», прежде чем у вас есть какая-либо способность обнаружения, так что упражнение доказывает лишь то, что вы уже знали.
- Нет авторизации или расплывчатый охват: начало работы без письменного разрешения или позволение охвату ползти на системы, которыми вы не владеете, что чревато юридической катастрофой.
- Одержимость периметром: тестирование только внешнего края при игнорировании реальности допущения взлома, что атакующие начинают внутри.
- Игнорирование канала раскрытия: отсутствие безопасного способа для внешних исследователей сообщить об ошибках, так что они публикуют публично или продают.
- Метрики театра: подсчёт найденных уязвимостей вместо сниженного риска, улучшенного обнаружения и сокращённого времени устранения.
Модель зрелости
- Уровень 1, Начальный: Тестирование эпизодично и реактивно, нередко единственный ежегодный тест на проникновение ради галочки или запущенный только после инцидента. Отчёты подшиваются почти без доведения до конца, устранение не отслеживается, канала раскрытия нет, а обнаружение настоящего вторжения не проверяется и, вероятно, отсутствует.
- Уровень 2, Развитие: Сканирование уязвимостей и тестирование на проникновение существуют, но непоследовательны по командам: одни группы сканируют непрерывно, другие вовсе нет. Находки где-то фиксируются, хотя владельцы и сроки пятнами, перепроверка стихийна, а канал скоординированного раскрытия может существовать для некоторых систем, но не для всего хозяйства.
- Уровень 3, Стандартизация: Наступательное тестирование документированная программа, принуждаемая по организации, а не событие. Сканирование работает непрерывно под плановыми тестами на проникновение, заказываемыми с определённой периодичностью и после крупных изменений, правила взаимодействия и авторизация стандартная практика, каждая находка отслеживается до закрытия с владельцем и основанным на риске сроком, перепроверка обязательна, а политика скоординированного раскрытия охватывает все публичные системы.
- Уровень 4, Управление: Программа измеряется и контролируется относительно базовых значений. Вы отслеживаете среднее время обнаружения и среднее время устранения, процент техник «красной команды», породивших сигнал, покрытие обнаружения относительно техник MITRE ATT&CK, значимых для вашего сектора, доли повторения находок и времена отклика на раскрытие, и держите каждую метрику относительно цели и действуете при дрейфе. Упражнения допущения взлома и имитация противника рутинны, «красная команда» работает непрерывно, находки питают инженерию обнаружения, а решения «пускать или нет» опираются на свидетельства, а не мнение.
- Уровень 5, Оркестрация: «Красные» и «фиолетовые» команды интегрированы по организации и адаптивны. Каждая техника отображена на проверенное обнаружение, имитация противника отслеживает конкретных акторов угроз, в данный момент целящихся в ваш сектор, по мере смещения разведки, а программа непрерывно уточняет свой охват, техники и метрики по мере обучения. Наступательное тестирование, операции безопасности, инженерия обнаружения и реагирование на инциденты работают как один контур, измеримо сокращающий со временем разрыв между компрометацией и обнаружением.
Идеи для обсуждения
- Если бы настоящий атакующий сегодня получил плацдарм как обычный сотрудник, как далеко он мог бы дойти, прежде чем кто-либо заметил бы, и как вы это знаете?
- Какие из ваших последних заданий были по-настоящему реалистичны, а какие очерчены так, что вероятные провалы удобно вне границ?
- Сколько находок вашего предыдущего теста всё ещё открыто и что это говорит о том, что настоящее узкое место, тестирование или устранение?
- Есть ли у внешних исследователей безопасный очевидный способ сообщить вам об уязвимости и что происходит, когда сообщение приходит?
- Когда ваши исполнители реагирования на инциденты в последний раз репетировали взлом на бумаге и выявили ли учения за столом пробелы, которые пропустили технические тесты?
- Измеряете ли вы найденные уязвимости или измеряете улучшенное обнаружение и сниженный риск?
Главные выводы
- Наступательная безопасность спектр: сканирование находит известные дефекты, тестирование на проникновение доказывает эксплуатируемость, а «красная команда» проверяет обнаружение и отклик. Подбирайте задание под вопрос.
- Письменная авторизация и ясные правила взаимодействия линия между тестированием безопасности и преступлением; никогда не пропускайте их, особенно на системах, которыми вы владеете не полностью.
- Ценность в устранении и перепроверке, а не в отчёте. Отслеживайте каждую находку с владельцем, основанным на риске сроком и подтверждённым исправлением.
- «Красная команда» существует, чтобы сделать «синюю команду» лучше. Подавайте находки в инженерию обнаружения, отдавайте предпочтение «фиолетовым командам» и упражнениям допущения взлома и основывайте кампании на реальных техниках противника через MITRE ATT&CK.
- Измеряйте обнаружение и отклик, а не только число уязвимостей, и остерегайтесь заданий, очерченных, чтобы пройти, которые производят утешение без безопасности.
Источники и дополнительное чтение
- Georgia Weidman, Penetration Testing: A Hands-On Introduction to Hacking
- Peter Kim, The Hacker Playbook 3: Practical Guide to Penetration Testing
- Jim O’Gorman, Devon Kearns, and Mati Aharoni, Metasploit: The Penetration Tester’s Guide
- Joe Vest and James Tubberville, Red Team Development and Operations: A Practical Guide
- MITRE, MITRE ATT&CK framework and knowledge base
- Payment Card Industry Security Standards Council, PCI DSS Requirements and Testing Procedures and Penetration Testing Guidance
- National Institute of Standards and Technology, NIST SP 800-115: Technical Guide to Information Security Testing and Assessment
- Dafydd Stuttard and Marcus Pinto, The Web Application Hacker’s Handbook