Совет
Эта статья является частью серии материалов о масштабном усыновлении GitHub Advanced Security . Общие сведения об этой серии см. в разделе Введение в масштабное усыновление GitHub Advanced Security.
Установите четкие цели развертывания в компании
Чтобы создать основу для направления развертывания, определите цели для GHAS в вашей компании и сообщите эти цели вашей команде. Цели могут быть простыми или сложными, если ваша команда слажена. Если вам нужна помощь в достижении ваших целей, GitHub Professional Services можете дать рекомендации, основываясь на нашем опыте работы с вашей компанией и другими клиентами.
Вот несколько общих целей развертывания GHAS, которые вы можете использовать как примеры.
- Предотвращение утечки секретов. Многие компании хотят предотвратить утечку конфиденциальных данных, таких как ключи программного обеспечения и финансовые данные.
- Соблюдение нормативных требований. Например, многие медицинские компании используют GHAS, чтобы предотвратить раскрытие персональных медицинских данных пациентов.
- Сокращение количества уязвимостей. Эта цель может быть универсальной или может быть связана с недавним инцидентом, который, как вам кажется, ваша компания могла бы предотвратить с помощью GHAS.
- Определение репозиториев с высоким риском: некоторые компании просто хотят нацеливать репозитории, содержащие наибольший риск, что позволяет им снизить риск путем устранения уязвимостей в коде и в их цепочке поставок.
- Увеличение ставок исправления. Чтобы предотвратить накопление задолженности по обеспечению безопасности, вы захотите обеспечить принятие разработчиками выводов и обеспечить своевременное исправление этих уязвимостей.
Выполняйте развертывание совместно с группами по безопасности и разработке
Компании, вовлекающие в процесс развертывания GHAS как группы безопасности, так и группы разработки, как правило, более успешны, чем компании, которые вовлекают только группы безопасности, ожидая включения команд разработчиков после завершения пилотного проекта.
Подход к обеспечению безопасности программного обеспечения, который используется в GHAS, ориентирован на разработчиков и без труда интегрируется в их рабочие процессы. Включение группы разработки на ранних этапах процесса развертывания снижает риски и способствует созданию должного уровня заинтересованности в GHAS в масштабе компании.
Участие групп разработки на раннем этапе, в идеале с момента покупки, помогает компаниям использовать GHAS для решения проблем безопасности еще в процессе разработки. Когда обе группы работают вместе, они достигают согласованности на ранних этапах процесса, устраняют недопонимание, строят и укрепляют свои рабочие отношения, а также несут большую ответственность за развертывание.
Сведения о GHAS
Чтобы сформировать реалистичные ожидания от развертывания, убедитесь, что все заинтересованные стороны понимают следующие ключевые факты о работе GHAS.
1. GHAS — это набор средств безопасности, которые требуют активных действий для защиты кода
Ценность GHAS повышается, лишь когда эти средства настраиваются, обслуживаются и используются в ежедневных рабочих процессах наряду с другими инструментами.
2. GHAS требует корректировки после развертывания
После настройки GHAS в репозиториях необходимо настроить его в соответствии с потребностями вашей компании. Рассмотрим пример.
- Настройка по умолчанию code scanning автоматически определяет языки, которые нужно сканировать, но возможно, потребуется настроить и другие аспекты конфигурации code scanning , например, модель угроз приложения, чтобы доработать результаты.
-
Secret scanning Автоматически обнаруживает шаблоны, используемые многими распространёнными системами, но возможно, стоит добавить пользовательские паттерны для обнаружения токенов и других секретов, используемых внутренними инструментами.
3. Средства GHAS наиболее эффективны при совместном использовании и интеграции в программу безопасности приложений
GHAS наиболее эффективен, когда все средства используются вместе. Эффективность программы безопасности приложений еще больше улучшается путем интеграции GHAS с другими инструментами и действиями, такими как тестирование на проникновение и динамическое сканирование. Мы рекомендуем всегда использовать несколько уровней защиты.
4. Некоторые компании используют пользовательские CodeQL запросы для настройки и таргетирования результатов сканирования
Code scanning работает на CodeQLсамом мощном в мире движке анализа кода. Для многих наших клиентов вполне достаточно базового набора запросов и дополнительных запросов, доступных в сообществе. Однако другие компании могут требовать индивидуальные CodeQL запросы для выявления различных результатов или снижения ложных срабатываний.
Если ваша компания заинтересована в индивидуальных CodeQL запросах, мы рекомендуем сначала завершить внедрение и внедрение GHAS. Затем, когда ваша компания будет готова, GitHub Professional Services он поможет вам разобраться в ваших требованиях и убедиться, что вашей компании нужны индивидуальные запросы.
5. CodeQL Сканирует всю кодовую базу, а не только изменения, внесённые в pull request
При code scanning запуске из pull-запроса скан включает всю кодовую базу, а не только изменения, внесённые в pull-запрос. Сканирование всей базы кода является важным шагом, чтобы убедиться, что изменения были проверены для всех взаимодействий в базе кода.
Совет
В следующей статье этой серии см . раздел AUTOTITLE.