Куда я попал?
AppSec Table Top: методология безопасной разработки от Positive Technologies
Framework
Статический анализ кода
Для проведения оценки соответствия по документу войдите в систему.
Список требований
-
Инициатива: Линтеры
Описание:
Линтер — это инструмент для автоматической проверки исходного кода на наличие различных ошибок и проблем. Линтеры анализируют код на соответствие заданным правилам, выявляя синтаксические ошибки, неиспользуемые переменные, потенциальные уязвимости и другие проблемы. Кроме того, линтер позволяет задать единый стиль кодирования и выявлять нарушение этого стиля.
Линтеры особенно полезны при проведении ревью кода [SPA2], поскольку позволяют обнаружить многие ошибки и проблемы на ранних стадиях разработки. Однако, для более глубокого анализа и поиска сложных проблем (например, уязвимостей в логике программы) необходимо использовать специализированные решения класса SAST [SPA3].
Шаги реализации:- Выбрать линтер или инструмент code-style.
- Установить линтер в среде разработки.
- Разработать правила кодирования в соответствии с требованиями и настроить линтер необходимым образом.
- Интегрировать линтер с инструментарием процесса разработки (системами управления версиями, CI/CD и т. д.)
- Настроить автоматизированную проверку кода линтером при каждом сохранении файла или перед коммитом.
- Дополнить регламент безопасного кодирования конкретными правилами линтера.
Зона ответственности: ИТ
Инструмент: Линтер
Артефакт: Регламент безопасного кодирования -
Инициатива: Кастомные правила SAST
Описание:
Особенностью инструмента SAST является большое количество ложноположительных срабатываний. Для улучшения качества анализа и сокращения времени на обработку выявленных дефектов [VM2] необходимо уделить внимание созданию кастомных правил — собственных правил SAST, специфичных для конкретного приложения или языка программирования. Это позволит уменьшить количество ложноположительных срабатываний и сосредоточиться на реальных проблемах.
При наличии у инструмента функции дедупликации дефектов следует ее использовать, чтобы удалить повторяющиеся предупреждения и сосредоточиться на уникальных проблемах. Это позволит улучшить точность анализа SAST и получать более релевантные результаты.
Шаги реализации:- Анализировать результаты сканирования SAST и выявлять ложноположительные срабатывания.
- Создать новые правила SAST, специфичные для приложения и языка программирования.
- Настроить уровень строгости SAST инструмента, уменьшив количество правил, которые часто генерируют ложноположительные срабатывания.
- Использовать функции исключения в SAST инструменте, чтобы отключить проверку определенных участков кода, которые часто генерируют ложноположительные срабатывания.
- Создать список исключений для определенных уязвимостей или правил, которые не применимы к вашему проекту.
Зона ответственности: Appsec/ИТ
Инструмент: SAST
Артефакт: - -
Инициатива: SAST в пайплайне
Описание:
Для достижения максимальной эффективности работы SAST недостаточно пилотирования или непоследовательного использования инструмента в формате отдельных выборочных проверок [SPA3]. Необходимо интегрировать SAST-инструмент в CI/CD-конвейер в качестве обязательного этапа пайплайна.
Автоматизация проверок SAST позволит сэкономить время сотрудников, гарантируя выполнение этого этапа тестирования при каждом релизе [PA3] и тем самым способствуя тиражированию стратегии [SSDL4]. Дополнительно к этому, использование Quality Gate [VC1] позволит задать четкие критерии качества кода, которые должны быть выполнены перед релизом, что поможет избежать выпуска уязвимого ПО в продакшн.
Шаги реализации:- Добавить SAST-инструмент как обязательный шаг в CI/CD-конвейер.
- Определить триггеры для запуска SAST-инструмента: например, после каждого коммита в репозиторий или перед развертыванием.
- Установить правила и пороговые значения для SAST-анализа: например, уровень серьезности уязвимостей, которые должны быть исправлены.
- Внедрить Quality Gate в CI/CD пайплайн для оповещений при выявлении критических уязвимостей.
- Связать инструмент SAST с дефект-трекером для автоматического создания задач по исправлению уязвимостей.
- Установить SLA на устранение дефектов.
- Дополнить регламент работы с инструментом (или регламент безопасной разработки).
- Довести регламент до сотрудников и разместить на внутреннем портале.
- На более зрелом этапе развития перевести QG из режима оповещений в режим блокировки.
Зона ответственности: Appsec/ИТ
Инструмент: SAST, CI/CD
Артефакт: Регламент безопасной разработки -
Инициатива: Оркестрация SAST
Описание:
Оркестратор позволяет автоматизировать и централизовать запуск всех инструментальных практик безопасной разработки, предоставляя единый интерфейс для управления и удобный доступ к найденным дефектам [VM1]. Это позволяет упростить процесс и создать единый «пункт управления» для всех инструментов безопасности. Кроме того, многие решения ASOC (Application Security Orchestration and Correlation) позволяют собирать метрики о работе инструментов [RM3], что помогает оценивать эффективность и повышать качество безопасности приложений.
Шаги реализации:- Провести анализ текущих инструментов безопасной разработки, их функциональности, интеграционных возможностей и существующих проблем.
- Определить ключевые задачи, которые должен решать оркестратор: автоматизация запуска, централизованный доступ к результатам, создание отчетов, интеграция с системами CI/CD.
- Выбрать наиболее подходящий инструмент ASOC с учетом функциональности, интеграции с существующими технологическим стеком и инструментами безопасной разработки, стоимости и соответствия требованиям.
- Провести пилотирование выбранного инструмента, чтобы оценить его эффективность, удобство использования, соответствие требованиям.
- Определить сотрудников, ответственных за внедрение, работу с инструментом и разбор результатов.
- Установить выбранный оркестратор и настроить интеграцию с инструментами безопасной разработки.
- Создать правила и политики для автоматизации запуска инструментов.
- Интегрировать ASOC в CI/CD-пайплайн и определить тригеры для запуска инструментов.
- Интегрировать ASOC с средствами разработки: Git, репозитории, артефактории и т. д.
- Настроить систему сбора и анализа данных о работе инструментов и результатах сканирования.
- Создать документацию по работе с инструментом, дополнить регламент безопасной разработки.
- Довести документацию до сотрудников и разместить на внутреннем портале.
Зона ответственности: Appsec/ИТ
Инструмент: SAST, ASOC
Артефакт: Регламент безопасной разработки -
Инициатива: Детектирование секретов
Описание:
Секретами могут выступать логины, пароли, токены API, криптографические ключи, сертификаты, токены, конфигурационные параметры и т. д. Утечка секретов может привести к несанкционированному доступу к приложению и его ресурсам, а также к сбою системы или некорректной работе приложения. Для минимизации рисков важно обнаруживать конфиденциальную информацию как в исходном коде, так и в его репозиториях. Для выполнения этой задачи используются специализированные инструменты или решения SAST [SPA3].
Шаги реализации:- Составить список типов конфиденциальной информации, которые нужно обнаружить в коде: ключи API, токены доступа, пароли, идентификаторы пользователей, ключи шифрования, конфиденциальные данные клиентов.
- Выбрать инструмент для обнаружения секретов в коде.
- Настроить инструмент для анализа кода в соответствии с типами секретов, которые нужно искать, языками программирования и источниками кода.
- Внедрить инструмент как этап в CI/CD-пайплайне.
- Задать правила по работе с результатами проверки и исправлению обнаруженных открытых секретов.
- Дополнить регламент безопасного кодирования правилами работы с секретами.
- Довести регламент до сотрудников и разместить на внутреннем портале.
Зона ответственности: Appsec/ИТ
Инструмент: SAST
Артефакт: Регламент безопасного кодирования
Мы используем cookie-файлы, чтобы получить статистику, которая помогает нам улучшить сервис для вас с целью персонализации сервисов и предложений. Вы может прочитать подробнее о cookie-файлах или изменить настройки браузера. Продолжая пользоваться сайтом, вы даёте согласие на использование ваших cookie-файлов и соглашаетесь с Политикой обработки персональных данных.