«Формат кода» 24 декабря 2024

Как создать надежную защиту от потенциальных киберугроз

Укрепление кибербезопасности — тренд последних нескольких лет. Разбираемся с главными кибервызовами, стратегиями и средствами защиты корпоративных сетей

Андрей Шедько
Операционный директор

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

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

При этом, как отмечают эксперты, ужесточается и регулирование сферы информационной безопасности. Может требоваться как соответствие индустриальным стандартам, таким как PCI DSS при проведении платежей, так и соответствие требованиям государственного регулирования, например, рекомендациям ФСТЭК.

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

DevSecOps — это встраивание мер обеспечения безопасности во все этапы разработки программного обеспечения. В частности, это добавление дополнительных шагов в конвейер непрерывной интеграции и непрерывной поставки версий разрабатываемого программного продукта (CI/CD).

Эти меры можно разделить на 2 большие категории.

Static Application Security Testing (SAST) — меры по анализу кода без его выполнения.

Dynamic Application Security Testing (DAST) — меры по анализу кода с помощью его выполнения.

SAST меры включают в себя:

  • Анализ кода с помощью статического анализатора на предмет выявления дефектов кода, которые потенциально могут приводить к уязвимостям. Примерами таких анализаторов могут служить: Fortify, SonarQube, Qodana, Солар.
  • Сверка с базами данных известных уязвимостей в библиотеках. Данная функциональность уже встроена в механизмы управления зависимостями зрелых технологических стеков, таких, как Maven у Java и NuGet у .NET. Также существуют сторонние анализаторы, такие как checkmarx.
  • Анализ собранных контейнеров на предмет уязвимостей в среде исполнения. Также эта мера может служить «второй линией обороны» по выявлению уязвимостей библиотек. Это может быть осуществлено с помощью таких инструментов, как trivy или docker scout. Также в последнее время получает все большую популярность подход с непрерывным сканированием контейнеров во время эксплуатации, т.е. данные меры перестают жить в замкнутом мире разработки и распространяются на сферу эксплуатации.

DAST меры включают в себя:

  • Penetration testing (тестирование на проникновение), иногда называемое так же «белым хакингом». Это попытка этичного взлома системы без причинения ущерба бизнес-ценности, имитация атаки на систему настоящим «черным хакером». Для осуществления типовых вредоносных действий так же существуют инструменты, такие как Zap.
  • Fuzzing. Подача случайных воздействий на тестируемый программный комплекс. Этот подход также реализован в таких инструментах, как Zap.

Меры укрепления кибербезопасности должны включать в себя не только разработку программных продуктов без уязвимостей, но и укрепление инфраструктуры. Они могут включать в себя чеклисты настроек безопасности (и инструменты автоматических проверок этих чеклистов) и внедрение Security Information and Event Management (SIEM) систем.

При правильном применении DevSecOps может дать компаниям огромные возможности для успешного выпуска ПО. Она объединяет разработку и операционную деятельность для создания эффективной и надежной IT-инфраструктуры. Поэтому, инициативу по ее внедрению необходимо проявлять не c этапа приемо-сдаточных испытаний, а с этапов планирования и проектирования: предъявляя необходимые требования и регламенты, анализируя риски и выявляя потенциальные угрозы.

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