Процесс безопасной разработки программного обеспечения (ПО) – это создание программных продуктов с внедрением мер информационной безопасности (ИБ) на каждом этапе жизненного цикла разработки: от планирования до поддержки.

Для минимизации рисков ИБ, обеспечения возможности создания защищенного продукта и снижения затрат на устранение уязвимостей путем их выявления на ранних этапах разработки ПО, а не после релиза, мы разработали методологию по оказанию услуги внедрения процесса безопасной разработки ПО.

В основе методологии лежит опыт внедрения процессов внутренней разработки ПО, включая стандартизацию, интеграцию инструментов безопасности в ПО, обучение персонала разработки, автоматизированных проверок на всех этапах жизненного цикла ПО. При разработке методологии мы опирались на лучшие мировые практики – от концепции «Shift-Left» до привития культуры DevSecOps, обеспечивающей безопасность на каждом этапе создания продукта.

Методология применима как для организаций, которые находятся в начале пути внедрения процесса безопасной разработки ПО, так и для организаций, у которых этот процесс уже выстроен (для таких организаций мы предлагаем механизмы повышения эффективности и оптимизации внедренного процесса).

Основные этапы внедрения процесса безопасной разработки ПО

  1. Аудит и планирование
  • интервьюирование персонала разработки ПО;
  • инвентаризация ИТ-активов, связанных с процессом разработки (в т.ч. безопасной разработки) ПО;
  • анализ документации (регламенты, процессы, ЛПА и др.) по разработке (в т.ч. безопасной разработке) ПО;
  • оценка фактического состояния процесса разработки (в т.ч. безопасной разработки) ПО на основании полученных данных;
  • формирование модели угроз ИБ;
  • разработка дорожной карты по внедрению/повышению эффективности и автоматизации процесса безопасной разработки ПО.
  1. Регламентация, включает работы по созданию на основе данных аудита комплекса организационно-распорядительных документов, закрепляющих требования к безопасности на всех этапах процесса разработки ПО.
  2. Выбор и интеграция инструментов (SAST, DAST, SCA, CD, сканеры контейнеров и др.) для безопасной разработки ПО (при этом мы работаем как с проприетарным инструментами, так и с open-source).
  3. Обучение персонала навыкам безопасного кодирования, анализу уязвимостей и использованию инструментов автоматизации.
  4. Сопровождение, включает работы по оказанию технической поддержки процесса и внедренных инструментов для безопасной разработки ПО.