Риски неустранённых уязвимостей
Ваша организация сталкивается с уязвимостями как в коде, который вы пишете и поддерживаете, так и в open source или сторонних зависимостях, которые использует ваш код. Оценка вашей уязвимости крайне важна, если вы хотите предотвратить:
-
**Незапланированные простои и операционные нарушения**. Использование уязвимостей может привести к сбоям в работе приложений, ухудшению качества сервиса или каскадным сбоям в критически важных системах, что нарушает вашу бизнес-деятельность. -
**Увеличение затрат на** исправление. Чем дольше уязвимый код остаётся без решения, тем сложнее и дорого его исправить, особенно если код глубоко интегрирован или если происходят инциденты. Раннее обнаружение и исправление снижают риск дорогостоящего реагирования на инциденты, аварийного исправления и репутационного ущерба. -
**Широко распространенная распространение риска**. Уязвимые модули и зависимости часто повторно используются в различных приложениях и сервисах, из-за чего одна уязвимость может распространяться по всей организации, увеличивая риски и последствия эксплуатации. -
**Компрометация** цепочки поставок. Злоумышленники могут использовать уязвимости в open source или сторонних зависимостях для внедрения вредоносного кода, повышения привилегий или получения несанкционированного доступа к вашим системам. Скомпрометированные зависимости могут служить косвенными точками входа для вредоносных субъектов, что приводит к широкому охвату инцидентов безопасности. -
**Вопросы** регулирования и лицензирования. Многие нормативные акты и отраслевые стандарты требуют от организаций упреждающего решения известных уязвимостей в их цепочке поставок программного обеспечения. Неустранение уязвимых зависимостей может привести к несоблюдению, аудитам, юридическим санкциям или нарушению обязательств по лицензии open source.
Регулярная оценка уязвимости помогает выявлять риски на раннем этапе и расставлять приоритеты в устранении.
Способы мониторинга ваших репозиториев на наличие уязвимого кода
-
**Code scanning** автоматически отслеживает код вашего проекта на наличие уязвимостей. Когда в pull request-запросе обнаружена проблема с безопасностью, он создаёт оповещение с предложением автофикса для устранения уязвимости. Это снижает барьер для разрешения и помогает обеспечить безопасность вашего проекта. См [. раздел AUTOTITLE](/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning). -
**Dependabot** автоматически отслеживает зависимости вашего проекта на наличие уязвимостей и устаревших пакетов. При обнаружении проблемы безопасности или новой версии он создает запросы на вытягивание для обновления затронутых зависимостей, помогая быстро устранять риски безопасности и обновлять программное обеспечение. Это сокращает усилия вручную и помогает обеспечить безопасность проекта. См [. раздел AUTOTITLE](/code-security/getting-started/dependabot-quickstart-guide).
GitHub предоставляет полный набор метрик Dependabot для мониторинга, определения приоритетов и устранения этих рисков во всех репозиториях в вашей организации. См . раздел AUTOTITLE.
Снижение уязвимости организации
Снижение уязвимости организации требует постоянной прозрачности рисков, прогресса устранения и контроля политики во всех хранилищах. метрики Dependabot и code scanning обеспечивают такую видимость. Используйте следующие лучшие практики для мониторинга и снижения уязвимости вашей организации:
Мониторинг метрик уязвимостей для зависимостей
Используйте обзор метрик для Dependabot для получения видимости текущего состояния уязвимостей зависимостей вашей организации. См . раздел AUTOTITLE.
-
**Оповещение о приоритетах:** просмотрите количество открытых данных Dependabot alerts и используйте фильтры, такие как серьезность CVSS, вероятность эксплойтов EPSS, доступность исправлений и использование уязвимой зависимости в развернутых артефактах. См [. фильтры представлений](/code-security/security-overview/filtering-alerts-in-security-overview#dependabot-dashboard-view-filters) панели мониторинга Dependabot. -
**Разбивка на уровне репозитория:** определите, какие репозитории имеют наибольшее количество критически важных или эксплойтируемых уязвимостей. -
**Отслеживание исправления.** Отслеживайте количество и процент оповещений, фиксированных с течением времени, чтобы оценить эффективность управление уязвимостями программы.
Мониторинг появления новых code scanning оповещений
Используйте режим оповещений для code scanning, чтобы получить видимость активности по устранению в pull-запросах вашей организации. См . раздел AUTOTITLE.
-
**Оповещения в pull requests:** Проверьте, сколько оповещений было обнаружено и объединено в стандартную ветку без разрешения. -
**Самые распространённые правила:** Определите правила, которые часто срабатывают там, где требуется образование разработчиков. -
**Разбивка на уровне репозитория:** Определите, какие репозитории имеют наибольшее количество оповещений в pull request, но при этом объединённые с стандартной веткой. -
**Отслеживание исправления.** Отслеживайте количество и процент оповещений, фиксированных с течением времени, чтобы оценить эффективность управление уязвимостями программы.
Приоритизируйте усилия по устранению
Сосредоточьтесь на уязвимостях, которые представляют самый высокий риск для вашей организации.
- Приоритизируйте оповещения высокой или критической степени. Для Dependabot alerts также уделяйте приоритет высоким показателям EPSS и доступным патчам.
- Используйте информацию о разборе репозитория для направления усилий по устранению наиболее рискованных проектов.
Сообщайте о рисках и прогрессе
- Используйте страницы метрик для информирования ключевых факторов риска и прогресса устранения до заинтересованных сторон.
- Предоставьте регулярные обновления тенденций, таких как сокращение открытых критически важных уязвимостей или улучшение частоты исправления.
- Выделите репозитории или команды, требующие дополнительной поддержки или внимания.
Устанавливать и обеспечивать соблюдение политик
- Установите конфигурацию безопасности для всей организации, которая позволяет Dependabot и code scanning на всех существующих и новых репозиториях. См . раздел AUTOTITLE.
- Включите проверку зависимостей для комментирования pull requests во всех репозиториях.
- Создайте общеорганизационный набор правил для защиты стандартной ветки и требуйте исправления критических code scanning перед объединением pull-запроса. См . раздел AUTOTITLE.
- Обратитесь к администраторам репозитория, чтобы включить автоматические обновления системы безопасности по возможности. См . раздел AUTOTITLE.
Оценить влияние оповещений
- Регулярно проверяйте, как оповещения Dependabot и code scanning помогают блокировать уязвимости безопасности при входе в вашу кодовую базу.
- Используйте исторические данные для демонстрации значения упреждающего управления зависимостями.