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