Как стать автором
Обновить

Теория большого пентеста

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров3.1K

Привет! Меня зовут Сергей Домнин, со мной моя коллега Анастасия Есина. Мы руководители направлений по информационной безопасности в SM Lab. В этой статье мы расскажем о таком методе оценки защищенности, как тестирование на проникновение, или пентест.

Немного печальной статистики

Начнем с определения понятия «уровень защищенности». 

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

Если обратимся к статистике ГК «Солар» за 2022-2023 гг., увидим следующее: только 7% компаний имеет средний или высокий уровень защищенности. У более 90% слабо защищен внешний периметр, что может привести к достаточно печальным последствиям. Например, хакеры могут украсть деньги, данные, зашифровать сервера и попросить выкуп, в самых худших случаях – сломать целый бизнес-процесс.

Финансовые последствия одной хакерской атаки – от 7 млн рублей (конечную сумму определить трудно). В среднем компания тратит на разрешение инцидентов по информационной безопасности от 20 и более млн рублей в год. Что касается восстановления процессов, оно может длиться не менее 5 дней.

Можно ли что-то сделать для предотвращения взломов, утечек, кражи денежных средств и данных? Да. Отличной практикой в таком случае будет пентест.

Пентест: что такое и зачем нужен

Пентест (Penetration Testing) – это поиск критичных уязвимостей с целью продемонстрировать возможность проникновения в инфраструктуру и оказания негативного воздействия на сервисы, приложения и данные. 

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

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

Итак, для чего нужен пентест. 

Во-первых, для выявления уязвимостей и недостатков в приложениях, сервисах, системах и процессах.

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

В-третьих, для определения слабых мест в инфраструктуре, дальнейшей настройки защиты и концентрации усилий именно на уязвимых точках.

В-четвертых, для написания рекомендаций по устранению уязвимостей и повышению уровня защищенности.

Методики пентеста

Существуют следующие методики:

  • «Черный ящик», или симуляция реальной атаки.  Если речь о веб-приложении, то команде достаточно только URL, после чего они самостоятельно проводят разведку и ищут возможные точки развития атаки; 

  • «Серый ящик». Помимо самого URL у пентестеров есть еще какие-то ограниченные доступы системы. Такой вид пентеста помогает за более короткий промежуток времени находить больше уязвимостей, т.к. уже не надо ломать админку или учётку; 

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

Направления атаки

Если говорить про направления атаки, то обычно проверяют следующие параметры (картинка ниже):

Если с первыми пятью всё понятно, то отдельно следует пояснить шестой пункт: как бы ни была защищена инфраструктура, через манипуляции с сотрудниками (так называемая «социальная инженерия») она может быть скомпрометирована. Необходимо проводить регулярные тестовые фишинговые рассылки среди персонала, в которых предупреждать об опасных письмах, атаках в Telegram, WhatsApp и по телефону – таким образом можно проверить, насколько сотрудники готовы к этим атакам, как развита культура ИБ, а по результатам корректировать вектор развития практики Awareness.

Критерии, по которым назначается пентест

Критериев несколько, основные из них: 

  • продукт вообще никогда не проверялся, поэтому стоит провести работы для понимания его уровня защищенности;

  • потенциальные риски, выявленные в ходе проверок, которые после будут дополнительно подвергнуты пентесту;

  • продукт планируется к публикации в Интернете, где «страшные хакеры» только сидят и ждут, чтобы что-нибудь взломать. Соответственно, нужно удостовериться, что риски компрометации низкие;

  •  продукт или доработка бизнес-критична, т.е. именно эта фича, её работа очень важна, поэтому надо проверить  чисто на всякий случай;

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

Этапы проведения пентеста

Теперь обсудим жизненный цикл практики тестирования на проникновение. 

Представим, что к владельцу продукта (Product Owner, далее PO) приходит ИБшник и говорит: «Привет, мы сейчас будем проверять твой продукт на безопасность!» Чтобы пентест прошел гладко и PO с командой остались довольны, необходимо четко обозначить обязанности, этапы, сроки и ключевых лиц.

Во-первых, уведомить ответственных, которые, помимо условного PO, тоже должны знать, что проходит пентест: проджект-менеджера, кураторов, отдел эксплуатации и др. Во-вторых, собрать информацию (например, архитектурные схемы), а также выдать доступы, после чего вместе с PO определить дату начала работ. Обычно надо укладываться под конец цикла разработки (если команда работает по итеративной модели): так проще закладывать время на закрытие обнаруженных уязвимостей.

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

Результаты пентеста

Среднестатистический отчет по результатам пентеста обычно состоит из следующих разделов:

  • номер ошибки и краткое описание;

  • уровень опасности по CVSS, который помогает приоритизировать уязвимости;

  • вектор CVSS – этот параметр больше нужен безопасникам. В этих цифрах и буквах зашифровано влияние на конфиденциальность, целостность, доступность, а также привилегии, которые нужны для эксплуатации той или иной уязвимости; 

  • сервис/приложение – что именно пентестили;

  • платформа – Web, iOS, Android или инфраструктура; 

  • статус воспроизводится/не воспроизводится: иногда бывает, что в отчет попадает критичная уязвимость, уже устраненная командой в реал-тайме, т.к. она была обнаружена в момент написания; 

  • шаги:  они достаточно подробные, чтобы любой мог повторить шаг 1, 2, 3 и убедиться, что уязвимость действительно есть; 

  • последствиями эксплуатации – на какую часть бизнес-процесса влияет эксплуатация уязвимости;

  • рекомендации по устранению – как можно устранить эту уязвимость, т.е. команде дается небольшой план, на который можно опереться. 

Сроки

Сроки варьируются от компании к компании, а также зависят от уровня критичности. В среднем на закрытие уязвимостей дается следующее количество дней:

Чем можно дополнить пентесты 

Можно организовать внутреннюю программу Bug Bounty, где сотрудники за вознаграждение будут искать уязвимости в продуктах.

А можно податься и на внешнюю платформу Bug Bounty – это достаточно эффективный способ выявления уязвимостей, поскольку их поиском может заниматься большое количество независимых исследователей. Однако стоит помнить, что потребуется соответствующая инфраструктура и опытные специалисты в команде ИБ, а также четко описанный скоуп, в рамках которого будут вестись работы.

Подводя итоги

https://lh7-rt.googleusercontent.com/docsz/AD_4nXeuB8kZd5jQ2x0MmFoSqYG1uDOK0HZestLOet8M01B6sCljTQ_dM-_3tRji04Fxvn7hIgM15q9H0xhIBsky1qMQ9cbgIzCb390-mDnByMlHEJy7BLJ30Xcv0MuCwTUD3CCP0iXhbZhmsuuH?key=YbLkzCFvkCVv-awnfyZKfuJt

Итак, мы рассказали о такой крутой практике, как тестирование на проникновение, которая делает продукт безопаснее следующим образом:

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

  • позволяет соответствовать законодательству и международным стандартам, например, PCI DSS, которые требуют ежегодных проверок;

  • проверяет продукт без вреда для компании: лучше отдать продукт на проверку пентестерам, чем позволить сделать это злоумышленникам;

  • описывает в отчете рекомендации по устранению уязвимостей, что косвенно поднимает скиллы по ИБ членов команды разработки;

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

Теги:
Хабы:
Всего голосов 5: ↑4 и ↓1+3
Комментарии1

Публикации

Информация

Сайт
см-лаб.рф
Дата регистрации
Дата основания
Численность
1 001–5 000 человек
Местоположение
Россия
Представитель
Алина Айсина