что такое Тестирование безопасности
Тестирование безопасности (security testing) направлено на выявление уязвимостей, недостатков в защите и несоответствий требованиям информационной безопасности в программном обеспечении. В отличие от функционального тестирования, где проверяется соответствие ожидаемому поведению, security-тестирование предполагает активный поиск слабых мест, которые могут быть использованы злоумышленниками для несанкционированного доступа, модификации данных, отказа в обслуживании или утечки информации.
автоматизированные сканирования
ручной анализ (penetration testing).
пентесты
Инструменты этой категории делятся на:
динамические анализаторы (DAST — Dynamic Application Security Testing), работающие с запущенным приложением;
статические анализаторы (SAST), анализирующие исходный код (в данной главе не рассматриваются, так как фокус — на runtime-инструментах);
специализированные утилиты для эксплуатации конкретных типов уязвимостей.
OWASP ZAP — это open-source инструмент DAST, разработанный под эгидой OWASP (Open Web Application Security Project). Он предназначен для автоматического и полуавтоматического сканирования веб-приложений на наличие уязвимостей, таких как XSS, SQL-инъекции, CSRF, небезопасные конфигурации и др. Он поддерживает:
автоматическое сканирование (Active Scan);
пассивный анализ (Passive Scan) без вмешательства в работу приложения;
fuzzing (перебор входных данных);
скриптовую автоматизацию на JavaScript;
интеграцию с CI/CD через CLI.
Burp Suite — коммерческий (с бесплатной Community-версией) инструмент от компании PortSwigger, считающийся промышленным стандартом для ручного и автоматизированного тестирования веб-безопасности. Его архитектура основана на модульной системе инструментов (Proxy, Scanner, Intruder, Repeater, Sequencer и др.), объединённых в единую платформу.
Ключевые возможности:
Proxy — перехват и модификация запросов/ответов в реальном времени;
Scanner (в Pro-версии) — автоматическое сканирование с высокой точностью и низким числом ложных срабатываний;
Intruder — инструмент для fuzzing и brute-force атак;
Repeater — ручная отправка и модификация запросов для проверки гипотез.
SQLmap — автоматизированная консольная утилита с открытым исходным кодом, предназначенная исключительно для обнаружения и эксплуатации уязвимостей типа SQL-инъекция. Инструмент поддерживает широкий спектр СУБД (MySQL, PostgreSQL, Oracle, MSSQL, SQLite и др.), автоматически определяет тип базы данных, извлекает структуру схемы, данные, а в некоторых случаях — выполняет команды ОС.
SQLmap работает путём отправки специально сконструированных запросов и анализа ответов на предмет изменений (time-based, boolean-based, error-based инъекции). Он активно используется как на этапе тестирования, так и в образовательных целях для демонстрации рисков небезопасного обращения с SQL-запросами.
Nessus — коммерческий сканер уязвимостей от Tenable, ориентированный на инфраструктурное и сетевое тестирование. В отличие от OWASP ZAP и Burp Suite, Nessus фокусируется не на веб-приложениях, а на операционных системах, сетевых устройствах, базах данных и сервисах (SSH, RDP, SMB и др.).
Он использует обширную базу сигнатур (более 80 000 проверок), обновляемую ежедневно, и способен обнаруживать устаревшие версии ПО, неправильные настройки, открытые порты и известные CVE-уязвимости. Nessus часто применяется в enterprise-средах для аудита соответствия политикам безопасности (например, PCI DSS, HIPAA).
Хотя Nessus не является инструментом для тестирования кода приложения напрямую, он критически важен для оценки окружающей среды, в которой это приложение работает.