Тестирование безопасности

Тестирование безопасности — это процесс, направленный на выявление уязвимостей в механизмах безопасности информационной системы, что способствует защите данных и обеспечению функционирования системы в соответствии с требованиями[1]. Из-за логических ограничений тестирования безопасности успешное прохождение данного процесса не свидетельствует об отсутствии уязвимостей или о полном соответствии системы требованиям по безопасности.

Обычные требования по безопасности могут включать такие элементы, как конфиденциальность, целостность, аутентификация, доступность, авторизация и неотказуемость[2]. Конкретные проверяемые требования по безопасности зависят от реализованных в системе мер защиты. Сам термин «тестирование безопасности» трактуется по-разному и может охватывать различные методики; для систематизации подходов используется специальная таксономия.

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

Целостность

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

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

Аутентификация

Аутентификация может включать подтверждение личности человека, определение подлинности объекта, проверку соответствия продукта его упаковке или маркировке, либо удостоверение доверия к программному обеспечению.

Авторизация

  • Процесс определения, имеет ли запрашивающий право получить услугу или выполнить операцию.
  • Контроль доступа является примером авторизации.

Доступность

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

Неотказуемость

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

Таксономия

Наиболее распространённые понятия, связанные с проведением тестирования безопасности:

  • Обнаружение — этап идентификации систем, находящихся в области тестирования, и используемых сервисов. Целью не является поиск уязвимостей, однако определение версий программного обеспечения или прошивок может выявить использование устаревших решений, связанных с потенциальными уязвимостями.
  • Сканирование уязвимостей — после этапа обнаружения применяется автоматизированный поиск известных проблем с безопасностью путём сопоставления условий с известными уязвимостями. Уровень риска проставляется автоматически средством тестирования без ручной проверки или интерпретации. Может дополняться сканированием на основе учётных данных, что позволяет уменьшить число ложноположительных срабатываний с использованием предоставленных учётных данных (например, локальных аккаунтов Windows).
  • Анализ уязвимостей — совмещает обнаружение и сканирование для выявления уязвимостей и интегрирует результаты в контекст тестируемой среды. Примером может быть исключение типичных ложноположительных результатов из отчёта и присвоение уровня риска с целью лучшей интерпретации результатов в бизнес-контексте.
  • Оценка безопасности — расширяет анализ уязвимостей проверкой на практике для подтверждения наличия уязвимости, однако не включает эксплуатацию для дальнейшего получения доступа. Проверка может включать авторизованный доступ к системе, изучение логов, реакций системы, сообщений об ошибках, кодов и пр. Оценка безопасности ориентирована на широкий охват системы, но не на глубину одного конкретного вектора атаки.
  • Тестирование на проникновениетест на проникновение эмулирует нападение злоумышленника. На этом этапе выявленные уязвимости эксплуатируются для получения дополнительного доступа. Такой подход позволяет определить, насколько потенциальный атакующий может получить доступ к конфиденциальной информации, повлиять на целостность данных или доступность сервиса с соответствующими последствиями. Каждый тест проводится по обоснованной и полной методике, в рамках которой эксперт использует свои аналитические способности, широкий набор инструментов и знания по сетям и системам для поиска уязвимостей, которые не зарегистрированы автоматизированными средствами.
  • Аудит безопасности — инициируется функцией аудита и управления рисками для анализа контроля или соответствия требованиям. Обычно характеризуется узкой областью; при этом могут использоваться любые подходы, перечисленные выше (анализ уязвимостей, оценка безопасности, тестирование на проникновение).
  • Ревизия безопасности — верификация того, что установленные отраслевые или внутренние стандарты реализованы в компонентах системы или продукта. Обычно проводится посредством так называемого gap-анализа, анализа конфигураций/кода, либо анализа проектной/архитектурной документации. Эта активность не включает перечисленные выше методы (анализ уязвимостей, оценку безопасности, тесты на проникновение, аудит безопасности).

Инструменты

Примечания

  1. M Martellini, & Malizia, A. (2017). Cyber and chemical, biological, radiological, nuclear, explosives challenges: threats and counter efforts. Springer.
  2. Introduction to Information Security (англ.). US-CERT. United States Computer Emergency Readiness Team. Дата обращения: 10 июня 2024. Архивировано 6 июня 2021 года.
  3. Container Security Verification Standard (англ.). GitHub (20 июля 2022). Дата обращения: 10 июня 2024.
  4. Infrastructure as Code Security - OWASP Cheat Sheet Series (англ.). OWASP Cheat Sheet Series. Дата обращения: 10 июня 2024.
  5. OWASP DevSecOps Guideline — v-0.2 (англ.). OWASP Foundation. Дата обращения: 10 июня 2024.
  6. Component Analysis (англ.). OWASP Foundation. Дата обращения: 10 июня 2024.