Перейти к содержанию

Настройка политик

Принципы работы

Политики в системе CodeScoring представляют собой механизм отслеживания и блокирования Open Source компонентов в процессе разработки программного обеспечения. Они могут быть связаны с проверкой безопасности, совместимости лицензий или других критериев включения сторонних компонентов в разработку.

Политики можно создавать для:

  • всей организации;
  • отдела;
  • проекта;
  • окружения разработки.

Механизм политик учитывает указанный этап разработки программного обеспечения: от поступления сторонних компонентов в периметр организации до отслеживания сборок и написания нового кода.

Политики настраиваются по условиям, объединенным логическим выражением И/ИЛИ. Помимо стандартных настроек политик безопасности по уровню критичности уязвимостей, условия могут быть настроены согласно информации о компоненте: дата релиза, лицензия, автор и другие. Всего поддерживается 30 типизированных условий. Среди проверок также присутствует встроенная вендорская политика проверки на лицензионную чистоту.

В результате срабатывания политики в системе CodeScoring создаются соответствующие оповещения Policy Alerts. Выбранные оповещения можно временно или навсегда проигнорировать. Оповещения могут быть экспортированы в виде отчета.

Политики могут быть блокирующими: при срабатывании такой политики используемые компоненты блокируются в хранилище артефактов (прокси-репозитории), либо останавливается сборка программного продукта до устранения выявленного дефекта.

Дополнительно, по срабатыванию политики может быть направлено уведомление ответственным специалистам в систему управления задачами или электронное письмо с описанием проблемы.

Настройка в системе

Политики создаются в разделе Settings -> Policies. Перейти на форму создания политики можно по кнопке Create new.

В форме создания политики задается контекст работы политики по следующим параметрам:

  • Name — название политики;
  • Proprietors — собственник кода, на которого распространяется политика, если пустое - политика применяется для всей организации;
  • Projects — проекты, на которые применяется политика;
  • Connect conditions with — логическое объединение выбранных условий;
  • Stages — стадии проекта для которых применяется политика;
  • Level — уровень критичности политики;
  • Blocks build — признак блокировки сборки или установки компонента из прокси-репозитория;
  • Is active — признак временного выключения политики;
  • Description — описание политики;
  • Conditions — перечень условий в политике.

Далее настраиваются условия срабатывания политики, поддерживаются следующие параметры:

  • PURLpackage URL, идентификатор пакета;
  • Dependency Name — название зависимости;
  • Dependency Version — версия зависимости;
  • Dependency Author — автор зависимости;
  • Dependency Release Date — дата релиза версии зависимости;
  • Dependency Age — возраст зависимости;
  • Technology — технология (язык или экосистема);
  • License — лицензия;
  • License Category — категория лицензии;
  • Vulnerability ID — идентификатор уязвимости;
  • CVSS 2 Score — численная оценка угрозы по стандарту CVSS 2;
  • CVSS 2 Severity — уровень угрозы по стандарту CVSS 2;
  • CVSS 3 Score — численная оценка угрозы по стандарту CVSS 3;
  • CVSS 3 Severity — уровень угрозы по стандарту CVSS 3;
  • Vulnerability Publish Date — дата публикации уязвимости;
  • Vulnerability Update Date — дата обновления уязвимости;
  • Vulnerability has exploit - наличие эксплойта в уязвимости;
  • Vulnerability impacts - область уязвимости;
  • CVSS3 Attack Vector (AV) - поверхность атаки;
  • CVSS3 Attack Complexity (AC) - сложность атаки;
  • CVSS3 Priviliges Required (PR) - требуемый уровень доступа;
  • CVSS3 User Interaction (UI) - наличие взаимодействия с пользователем;
  • CVSS3 Scope (S) - область безопасности компонента;
  • CVSS3 Confidentiality (C) - cтепень потери конфиденциальности;
  • CVSS3 Integrity (I) - степень потери целостности данных;
  • CVSS3 Availability (A) - степень потери доступности компонента;
  • Env — окружение;
  • Match type — тип соответствия зависимости (по манифесту, содержанию или разрешению);
  • Relation — прямая или транзитивная зависимость;
  • CWE — классификация в индексе Common Weakness Enumeration.

Политика становится активной сразу после создания по нажатию кнопки Create. Результаты работы политики отображаются в разделе Policy alerts.

Важно! Политики срабатывают во время анализа, поэтому важно их создать до запуска анализа.

Рекомендация! Если оставить поля Proprietor и Project пустыми, политика будет применяться для всех активных проектов в системе.

Игнорирование политик

Оповещения о сработавших политиках можно временно или навсегда проигнорировать. Создание и настройка условий игнорирования происходит в разделе Settings -> Policy Ignores.

Для создания условия игнорирования для одной или нескольких политик необходимо нажать на кнопку Create New и заполнить следующие поля:

  • Project - название проекта в системе;
  • Technology - технология (язык или экосистема);
  • Dependency name - название зависимости;
  • Dependency version - версия зависимости;
  • License - лицензия;
  • Vulnerability ID - идентификатор уязвимости;
  • Policies - игнорируемые политики;
  • Is enabled - признак активности условия;
  • Active from - дата начала работы условия;
  • Active to - дата завершения работы условия;
  • Note - заметка.

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