Ответ
Сканирование уязвимостей — это автоматизированный процесс активного или пассивного обследования IT-активов (приложений, сетей, систем) с целью выявления известных уязвимостей, слабых конфигураций и потенциальных векторов атаки.
Цели:
- Обнаружение уязвимостей из публичных баз (CVE, OWASP Top 10).
- Проверка соответствия политикам безопасности и стандартам (PCI DSS, CIS Benchmarks).
- Оценка общего уровня защищенности (security posture).
Типы и инструменты:
| Тип сканирования | Что проверяет | Пример инструмента |
|---|---|---|
| Сетевого уровня | Открытые порты, сервисы, ОС, конфигурации сетевого оборудования. | Nessus, OpenVAS, Nmap (nmap -sV --script vuln <target>) |
| Веб-приложений | Уязвимости уровня приложения (SQLi, XSS, CSRF, небезопасные десериализации). | OWASP ZAP, Burp Suite, Acunetix |
| Зависимостей (SCA) | Уязвимости в сторонних библиотеках и пакетах. | Snyk, OWASP Dependency-Check, GitHub Dependabot |
| Контейнеров/образов | Уязвимости в Docker-образах и их слоях. | Trivy, Clair, Docker Scout |
Пример (SCA-сканирование с помощью OWASP Dependency-Check):
# Сканирование проекта на Java (Maven)
dependency-check.sh --project "MyApp" --scan ./target/myapp.jar --format HTML
Результатом является отчет с классификацией уязвимостей по степени риска (CVSS score), который требует верификации для устранения ложных срабатываний (false positives).
Ограничения: Сканеры не обнаруживают уязвимости в бизнес-логике, нулевые дни (0-day) или проблемы, требующие авторизации в системе. Они — часть процесса, а не замена ручному тестированию безопасности (Pentest).