Привет! Меня зовут Иван, я инженер по кибербезопасности в достаточно крупной компании и автор курса «Специалист по информационной безопасности: веб-пентест». В этой сфере я уже около шести лет.
Сейчас занимаюсь тестированием безопасности приложений, архитектурой и внедрением решений безопасности, проектированием проектов и много чем ещё, в том числе пентестами.
Безопасная разработка — это не только процесс, но и набор инструментов, которые помогают разработчикам создавать более защищённое и устойчивое программное обеспечение. В этой статье я расскажу про основные из них.
Сканеры безопасности кода (Code Security Scanners)
Сканеры безопасности кода — это автоматизированные инструменты, которые проверяют исходный код на наличие известных уязвимостей и других проблем безопасности.
SonarQube — мощный инструмент для статического анализа кода, который поддерживает многие языки программирования, включая Java, C#, Python и JavaScript. SonarQube позволяет обнаруживать уязвимости, дублирование и другие проблемы, связанные с качеством кода.
Checkmarx — статический анализатор кода, который поддерживает многие языки программирования и фреймворки. Checkmarx помогает разработчикам находить уязвимости, исправлять ошибки и соблюдать требования compliance.
WhiteSource — инструмент помогает разработчикам отслеживать зависимости и управлять ими. WhiteSource обнаруживает уязвимости и предоставляет рекомендации по исправлению.
Инструменты для тестирования безопасности (Security Testing Tools)
DAST (Dynamic Application Security Testing) — тестирование «чёрного ящика», может обнаруживать уязвимости и слабые места в работающем приложении, обычно веб-приложениях.
Это достигается за счёт использования методов внедрения ошибок в приложении, таких как передача вредоносных данных в программное обеспечение, например, SQL-инъекций и межсайтовых сценариев.
OWASP ZAP (Zed Attack Proxy) — бесплатный и открытый инструмент для тестирования безопасности веб-приложений. Помогает разработчикам обнаруживать уязвимости в веб-приложениях, такие как Cross-Site Scripting (XSS), Injection и Cross-Site Request Forgery (CSRF).
Burp Suite — коммерческая платформа для тестирования безопасности веб-приложений. Включает в себя множество инструментов: например, прокси-сервер, сканер уязвимостей и инструмент для анализа трафика.
Metasploit — помогает разработчикам и исследователям безопасности находить и эксплуатировать уязвимости в программном обеспечении. Включает в себя большую базу данных модулей для эксплуатации уязвимостей и инструменты для разработки собственных модулей.
Инструменты для управления уязвимостями (Vulnerability Management Tools)
Управление уязвимостями — это процесс идентификации, классификации и исправления уязвимостей в программном обеспечении.
Nessus — популярный и мощный сканер, который помогает разработчикам и администраторам сетей находить уязвимости в своих системах. Поддерживает множество платформ и может обнаруживать тысячи различных типов уязвимостей.
OpenVAS — бесплатный и открытый сканер, который включает в себя более 50 тысяч проверок безопасности. Поддерживает множество платформ и может обнаруживать уязвимости в операционных системах, сетях и веб-приложениях.
Vulners — инструмент для управления уязвимостями, который помогает разработчикам и администраторам отслеживать и управлять уязвимостями в своих системах. Интегрируется со многими другими инструментами для безопасности, такими как Nessus, OpenVAS и OWASP ZAP, и предоставляет рекомендации по исправлению уязвимостей.
Инструменты для управления секретами (Secret Management Tools)
Управление секретами — это процесс хранения, управления и безопасного доступа к секретам, таким как API-ключи, пароли и сертификаты.
HashiCorp Vault — популярный инструмент для управления секретами, который помогает разработчикам и администраторам безопасно хранить секреты и управлять ими в своих системах. Поддерживает множество платформ и может интегрироваться с другими инструментами для безопасности.
AWS Secrets Manager (ушли из РФ) — управляет секретами в AWS-среде. Позволяет разработчикам хранить, изменять и управлять секретами, такими как API-ключи и пароли, в безопасной и удобной форме.
Azure Key Vault (ушли из РФ) — управляет секретами в Azure-среде. Позволяет разработчикам безопасно хранить и управлять секретами, такими как API-ключи и сертификаты, в централизованном хранилище.
Инструменты для мониторинга и обнаружения аномалий (Monitoring and Anomaly Detection Tools)
Мониторинг и обнаружение аномалий — это процесс отслеживания и анализа активности в системе для обнаружения подозрительных или необычных действий.
ELK Stack (Elasticsearch, Logstash, Kibana) — популярная платформа для мониторинга и анализа логов, которая помогает разработчикам и администраторам отслеживать и анализировать активность в своих системах. Позволяет собирать, индексировать и анализировать лог-файлы в реальном времени.
Wazuh — это открытая платформа для обнаружения угроз, мониторинга целостности и системы обнаружения вторжений/предотвращения (IDS/IPS). Она предназначена для предоставления специалистам по безопасности и аналитикам инцидентов всеобъемлющего решения для мониторинга и защиты своих систем и сетей.
Поддерживает широкий спектр платформ и операционных систем, включая Windows, Linux и macOS. Он также поддерживает различные модели развёртывания, включая локальные, облачные и гибридные среды.
Инструменты для управления угрозами (Threat Management Tools)
Управление угрозами — это процесс идентификации, классификации и митигации угроз для систем и данных.
MITRE ATT&CK — бесплатная и открытая база данных угроз, которая помогает разработчикам и администраторам идентифицировать и классифицировать угрозы. Включает в себя более 200 техник, используемых атакующими, и может помочь разработчикам и администраторам разрабатывать стратегии защиты.
ThreatConnect — инструмент для управления угрозами, который помогает разработчикам и администраторам идентифицировать, классифицировать и митигировать угрозы. ThreatConnect интегрируется с многими другими инструментами для безопасности и предоставляет рекомендации по защите систем и данных.
IBM X-Force Threat Intelligence — технология для оперативного исследования проблем безопасности. IBM X-Force Threat Intelligence предоставляет рекомендации по защите систем и данных на основе данных об угрозах, собранных IBM.
В этой статье мы рассмотрели основные инструменты, которые помогают в безопасной разработке. Использование этих инструментов поможет разработчикам и администраторам создавать более безопасные системы и защитить данные от угроз.
Список далеко не исчерпывающий. Инструменты подбирают в зависимости от бюджета, спектра задач и многих других факторов — иногда это может быть делом вкуса. Также стоит отметить, что некоторые решения в данный момент могут быть недоступны в РФ, тем не менее ими продолжают пользоваться за отсутствием альтернатив.
Делюсь подборкой полезных ссылок на случай, если хотите ещё больше узнать о безопасной разработке. Каждая статья содержит пример типичного уязвимого кода и руководство по предотвращению угрозы: Command Injection, SSRF, Host Header Injection, XXE, HSTS, SQL Injections, Clickjacking, Open Redirect, SSRF, XSS. И напоследок: Особенности и подходы к тестированию мобильных приложений.
Познакомиться с элементами защитных технологий и основами безопасного кода можно на курсе «Специалист по информационной безопасности: веб-пентест». Вы будете тестировать веб-приложения на уязвимости и учиться защищать их от атак — на реальных кейсах и с поддержкой опытных наставников.