Привет! Снова подготовили для вас материал от Романа Стрельникова, руководителя направления по информационной безопасности 1С-Битрикс. Сегодня поговорим про offensive security. Вокруг темы много споров — стоит ли контролировать подрядчиков, что выбрать — пентест или баг баунти, как определить квалификацию команды хакеров. В этом материале расскажу про наш подход к «наступательной безопасности» и дам пару советов о том, как получить максимум выгоды из работы с «этичными хакерами». 

Прежде чем Роман поделится собственным опытом, давайте пробежимся по ключевым понятиям.

Итак, Offensive Security (наступательная безопасность) – это один из способов проактивной защиты ИТ-инфраструктуры бизнеса, когда компания платит профессиональным хакерам, чтобы те попытались ее взломать. Так можно найти уязвимости раньше, чем это сделают настоящие злоумышленники, проверить, насколько защита реально работает и соответствует требованиям регуляторов. 

Для такой проверки нанимают «этичных хакеров» — специалистов по кибербезу, которые ищут уязвимости в чужих системах легально, с разрешения их владельцев и в рамках договорных отношений. Но есть нюансы — не все виды Offensive Security в полной мере отвечают нормам закона. 

Всего их три:

  • Bug Bounty – компания платит деньги любому, кто найдёт уязвимость в её системе.

  • Пентест – хакеру дают доступ к сайту и просят найти уязвимости, при этом служба безопасности в курсе проводимой проверки;

  • Red Team – команда хакеров скрытно атакует компанию, как настоящие киберпреступники.

По российским законам (статья 272 УК РФ)  несанкционированное проникновение в ИТ-системы — это уголовное преступление. Но если доступ согласован с владельцами, то как такового состава преступления нет. При этом в законах нет четкого определения того, как можно, и как нельзя проверять системы на прочность. Например, если Red Team, подписавшая договор с компанией, попробует проникнуть в ее систему с помощью эксплойтов или вредоносных утилит — это создаст проблему со статьей ст. 273 УК РФ, запрещающей подобные методы. Если действия белых хакеров приведут к сбоям или повреждениям систем — это также может быть оценено как преступление. 

Так что пока закону соответствуют только пентесты и Bug Bounty, санкционированные владельцами систем.

В данный момент 1С-Битрикс привлекает для тестирования своих продуктов как пентестеров, так и независимых экспертов на платформе Standoff 365 Bug Bounty от Positive Technologies. Разносторонний подход к Offensive Security позволяет нам поддерживать высокий уровень защищенности решений. 

Зачем компаниям проводить пентесты и какие они бывают 

Пентестеры используют те же методы и инструменты, что и настоящие хакеры, а результат их работы показывает реальную картину: где можно обойти антивирус; сработает ли защита, если хакер уже закрепился в сети; пройдет ли сотрудник по ссылке из фишинговой рассылки и пр.

Существует несколько видов пентестов:  

Black Box Testing. Максимально приближен к реальной жизни, когда хакер ничего не знает о системе и действует практически как злоумышленник, который пытается получить доступ, используя общедоступные данные. Этот вид тестирования полезен для оценки внешней безопасности. 

White Box Testing. В этом варианте хакер получает практически всю информацию и по исходному коду, и по архитектуре продукта или внутренних систем — именно в них он выявит недостатки на ранних этапах разработки. 

Gray Box Testing. Нечто среднее между двумя предыдущими подходами. Хакеру предоставляют минимальную информацию и ограниченный доступ к системе.

Почему мы выбрали Black Box для проверки облачной инфраструктуры Битрикс24

Для нас проверки на уязвимость — это не формальность, а жизненная необходимость. Мы постоянно играем в «белых хакеров». Не ждем проблем, а сами ищем дыры в безопасности, пока это не сделал кто-то другой. Это касается всего:

  1. Мы постоянно пробуем взломать наши сайты, API и сервера — именно так, как это делают настоящие злоумышленники. 

  2. Тестируем инфраструктуру изнутри. Особенно тщательно проверяем настройки сервисов в инфраструктуре. Часто проблемы возникают не из-за багов, а потому что что-то случайно оставили открытым, оставили конфигурацию не крайней версии. Мы смотрим: а туда ли ушли пароли? Тот ли доступ у этого сервиса? Нельзя ли из одного артефакта сделать другой?

  3. Проверяем, что будет, если кто-то уже внутри? Мы моделируем ситуацию, будто злоумышленник уже проник в систему. Сможет ли он там безнаказанно перемещаться? Это помогает выстроить внутреннюю защиту.

Как уже говорилось выше, black box пентест максимально приближен к реальным атакам — тестирование проводится так же, как действовал бы настоящий злоумышленник. Но для нас было важно оценить еще несколько моментов:

  • Облака чаще всего атакуют именно извне, а Black Box фокусируется на внешних уязвимостях. Такой подход помогает найти дыры в безопасности, которые могут использовать хакеры, даже если у них нет доступа к внутренним системам. 

  • Этот метод позволяет оценить, насколько легко злоумышленник может добыть конфиденциальные данные, используя только открытые источники. 

  • Тестировщик в black box не знает заранее, как устроена система, поэтому может найти уязвимости, которые могли бы пропустить при других методах проверки. 

Как выбрать исполнителя?

Идеальный подрядчик для black box-тестирования – это команда с опытом в нужной сфере, доказанными навыками взлома, чёткой методологией и хорошей репутацией. Поэтому лучше потратить время на выбор, чем получить формальный отчёт, который не улучшит безопасность. Мы выбирали исполнителя по следующим критериям: 

  • Релевантный опыт. Для нас это доказанный опыт в нужной области: поиск OWASP Top 10 уязвимостей, логических ошибок, проблем авторизации; анализ мобильного приложения (анализ API, защита данных, reverse engineering); тестирование сетевой инфраструктуры (сканирование сетевых сервисов, проверка облачных конфигураций, эмуляция реальных атак). 

  • Методология тестирования: подрядчик должен четко следовать процессу: разведка, моделирование атак, пост-эксплуатация, анализ логики и документирование.  

  • Сертификация и экспертиза. Наличие сертификатов конечно не гарантирует качество, но отсекает откровенно слабых специалистов. Для нас плюс, если специалисты имеют сертификации OSCP, CEH, PTES. 

  • Репутация и отзывы. Тут помогут непубличные рекомендации от коллег, участие в bug bounty, участие в таких мероприятиях как Киберполигон или конференциях.

Как составить и утвердить ТЗ?

Специалисты по Offensive Security рекомендуют не создавать слишком подробных ТЗ. Белым хакерам достаточно получить от заказчика описание критичных бизнес-процессов, нарушение которых повлечет серьезные последствия для бизнеса. При этом заказчику не стоит самому предполагать, какие элементы системы могут быть уязвимы. Понять, что может привести к катастрофе — задача хакера. 

Опираясь на наш опыт, могу порекомендовать следующее тем, кто впервые обращается к «этичным хакерам»:

  • Составляя ТЗ для пентеста,  учитывайте опыт подрядчика и его мнение.

  • Определите четкие границы тестирования, отметьте в ТЗ элементы системы, которые, не нужно трогать. 

  • Обозначьте критические важные активы, безопасность и 100% доступность которых важна в первую очередь. Это могут быть базы данных с личными данных клиентов, финансовые системы или внутренние приложения.

  • Договоритесь о том, какие методы тестирования разрешены, а какие нет. Например, DDoS-атаки могут привести к недоступности сервисов и серьезным последствиям для бизнеса. Убедитесь, что подрядчик осведомлен о этих ограничениях и готов их соблюдать. 

Реализация пентеста

До начала тестирования нужно убедиться, что все системы ИБ работают в штатном режиме, а все компоненты инфраструктуры (серверы, базы данных, сети) доступны для тестирования. Создайте резервные копии всех критически важных данных и систем, чтобы можно было быстро восстановить их в случае непредвиденных проблем. Проверьте еще раз настройки системы мониторинга, чтобы отслеживать любые аномалии или проблемы во время тестирования. Также стоит проверить, что доступ к системам во время тестирования есть только у участников процесса. 

Предупреждать ли сотрудников? 

В первый раз лучше предупредить, чтобы избежать неконтролируемых последствий — сотрудники могут запаниковать и неверно отреагировать на возможные действия хакеров, что повлечет неконтролируемые последствия. Мы у себя обязательно предупреждаем всех причастных сотрудников. 

Что стоит рассказать о предстоящем тестировании, помимо самого факта его проведения: 

  • Если пентест может затронуть рабочие места специалистов или их данные, необходимо заручиться их согласием на проведение тестирования. 

  • Обязательно проинформируйте сотрудников о том, какие проблемы или нештатные ситуации могут возникнуть и объясните, к кому нужно обращаться в этом случае. 

Как контролировать качество выполнения работ 

Работа хакера  не похожа на задачи, которые требуют правок, согласований и регулярных обсуждений с командой. Планируя пентесты, мы задавались вопросом, стоит ли вмешиваться в работу подрядчика и как можно контролировать ее качество? С одной стороны, мы привыкли к прозрачности и хотим оперативно решать возникающие проблемы. С другой — вмешательство в процесс может только замедлить его. 

В итоге остановились на компромиссном варианте — минимальное вмешательство в процесс и контроль ключевых этапов. Мы понимаем, насколько комфортно работать в доверии, поэтому договорились, что не будем постоянно дергать коллег, выясняя, насколько они продвинулись вперед. Но если будут найдены критические уязвимости, требующие оперативного вмешательства — нам сразу же сообщат об этом.

Оценивать работу пентестеров мы можем по следующим параметрам:

  • команда белых хакеров смогла оказаться в одном шаге до реализации недопустимых событий, то есть взлома тех систем, которые обозначил заказчик

  • результаты работы помогли защитить систему и предотвратить реализацию недопустимых событий реальными злоумышленниками. 

Что делать с результатами

Если уязвимостей не обнаружено, то можно просто тщательно изучить отчет и ограничить доступ к нему — опять же из соображений кибербезопасности. Но чаще всего хакеры находят слабые места в защите, а значит, придется их закрывать.  

Получая результаты пентестов, мы сразу же проводим встречу с командами разработки и DevSecOps, обсуждаем найденные уязвимости и рекомендации по их устранению. Найденные проблемы ранжируем по степени опасности, учитывая потенциальное воздействие и вероятность эксплуатации. Затем планируем, в какие сроки будем их исправлять. Начинаем, конечно же, с самых критичных. 

Наша философия проста:

Мы не проводим разовые «проверки для галочки». Это непрерывный, регулярный процесс. Выкатили новую фичу — протестировали. Изменили конфигурацию — снова проверили.

Мы не полагаемся только на программы-сканеры. Эксперты вручную ищут уязвимости, думают как преступники и проводят сложные многоходовые атаки.

Главная цель — не написать длинный отчет, а дать команде понятный план: «вот здесь артефакт, вот как от него избавиться».

Рекомендации тем, кто планирует пентест и хочет получить максимум от Offensive Security

  1. Четко обозначьте, какие элементы ИТ-инфраструктуры для вас критичны, какие системы необходимо защитить в первую очередь. 

  2. Решите, что именно нужно проверить: веб-приложения, сеть или облачные сервисы. 

  3. Выберите проверенного подрядчика — посмотрите его опыт, отзывы и кейсы и используемые методы

  4. Подготовьте инфраструктуру, убедитесь в работе всех ИБ-систем, сделайте бэкапы критически важных систем и данных. 

  5. Объясните команде, что вы планируете провести тестирование безопасности

  6. Обсудите с подрядчиком сроки, допустимые методы и элементы, которые не нужно тестировать.

  7. Доверяйте подрядчику, не перегибайте палку с контролем процесса. Если будут найдены уязвимости, требующие немедленного реагирования, подрядчик сообщит об этом еще до конца теста.

  8. Ограничьте доступ к результатам пентестов — это очень чувствительная информация.

Комментарии (0)