Секреты и учетные данные
Секреты — это удостоверительные данные, предоставляющие доступ к чувствительным системам и данным, включая API-ключи, пароли, токены аутентификации, сертификаты и ключи шифрования. Когда секреты хранятся в репозиториях, они становятся частью вашей истории Git и остаются доступными даже после удаления из последнего коммита.
Секреты в хранилищах кода могут быть обнаружены автоматическими инструментами сканирования и неавторизованными пользователями. Публичные репозитории особенно уязвимы, но утечки учетных данных из частных репозиториев также могут распространяться через форки, логи CI/CD или сторонние интеграции.
Влияние раскрытых секретов на безопасность
Раскрытие секретов может привести к нескольким типам инцидентов с безопасностью:
**Несанкционированный доступ и использование**
-
Утекшие учетные данные облачного провайдера могут использоваться для предоставления инфраструктуры или сервисов на вашем аккаунте
-
Учетные данные базы данных позволяют получить доступ к чувствительным данным клиентов или организаций
-
Токены сервисных аккаунтов предоставляют точки входа в производственные системы
**Операционные и вопросы соответствия требованиям** -
Инфраструктуру можно изменить или удалить с помощью утекших учетных данных
-
Утечки данных из раскрытых секретов могут привести к регуляторным санкциям в соответствии с GDPR, CCPA и другими рамками
-
Организации сталкиваются с расходами на реагирование на инциденты, ротацию учетных данных и устранение систем
**Организационные риски** -
Публичное раскрытие утечок секретов влияет на доверие клиентов и репутацию организации
-
Обнаруженные токены реестра пакетов можно использовать для публикации вредоносных версий вашего программного обеспечения
-
Могут быть использованы проприетарные API или учетные данные сервиса
Финансовое влияние раскрытых секретов
Секретные утечки могут привести к прямым и косвенным затратам для вашей организации — от немедленных расходов до долгосрочных бизнес-последствий.
**Немедленные расходы**
-
Несанкционированное использование облачных ресурсов из утеченных API-ключей может привести к оплате за вычислительные экземпляры, хранение или передачу данных
-
Операции по майнингу криптовалюты на скомпрометированных аккаунтах могут привести к значительным расходам за инфраструктуру
-
Реагирование на экстренные инциденты требует ресурсов для судебного расследования, аудитов безопасности и ротации учетных данных между системами
**Затраты на утечку данных** -
Регуляторные штрафы за нарушения защиты данных могут достигать миллионов долларов согласно GDPR, CCPA и отраслевым нормативам
-
Юридические расходы включают расследование, требования к уведомлению и возможные судебные разбирательства
-
Услуги по мониторингу кредитной истории и защите личности для затронутых клиентов
**Влияние на работу** -
Сбои в работе сервиса из-за скомпрометированной инфраструктуры приводят к потере доходов и производительности
-
Инженерное время, потраченное на реагирование на инциденты с безопасностью, отвлекает ресурсы от разработки продукта
-
Рост затрат на инструменты безопасности и мониторинг после инцидентов
**Долгосрочное влияние на бизнес** -
Отток клиентов после публичного раскрытия инцидентов с безопасностью
-
Повышение страховых взносов для покрытия киберответственности
-
Потеря бизнес-возможностей из-за неудачных проверок безопасности или аудитов соответствия
Распространённые сценарии секретных утечек
Секреты обычно попадают в хранилища через несколько распространённых шаблонов:
**Рабочие процессы разработки**
-
Учетные данные были закодированы в ходе локального тестирования и случайно зафиксированы
-
Секреты в конфигурационных файлах, таких как
.envфайлы или шаблоны инфраструктуры как код -
Примеры учетных данных с реальными токенами в документации, вики или файлах README
**Управление репозиториями** -
Наследственные репозитории с забытыми, но всё ещё активными учетными данными
-
Секреты, которые делятся в выпусках GitHub, комментариях к pull request, обсуждениях или сути
-
Аккредитации, представленные внешними участниками или подрядчиками
**Проблемы с контролем версий** -
Секреты сохраняются в истории Git даже после удаления из текущего кода
-
Учетные данные распространяются в разветвленные репозитории, системы резервного копирования и логи
-
Публичные хранилища с раскрытыми секретами индексируются поисковыми системами и специализированными сервисами сканирования
Секретная безопасность с GitHub
GitHub предоставляет инструменты, помогающие вам предотвратить, выявить и устранить секретные утечки:
1. Предотвратить утечку новых секретов
Включить защиту от push для репозиториев , чтобы они могли сканировать код во время git push операций и блокировать коммиты с обнаруженными секретами. Это предотвращает попадание учетных данных в ваши репозитории, одновременно предоставляя обратную связь разработчикам в реальном времени.
Поощряйте своих участников включать защиту от push для своих личных аккаунтов (функция называется «push protection for users»), чтобы защитить все свои push-запросы на репозитории, форки и любые репозитории, в которые они вносят вклад.GitHub Это позволяет отдельным разработчикам предотвратить утечку секретов без ожидания политики на уровне организации.
2. Обнаружить существующие секреты
Используйте secret scanning непрерывный мониторинг хранилищ на предмет секретов и получение уведомлений при обнаружении учетных данных. Это позволяет быстро отозвать и изменить скомпрометированные учетные данные.
Дальнейшие действия
Чтобы защитить вашу организацию от секретных утечек:
-
Проведите бесплатную секретную оценку рисков, чтобы понять текущий риск. Узнайте, как выполнить оценку риска бесплатного секрета
-
Включите защиту от пуша, чтобы предотвратить появление новых секретов.
-
Включите secret scanning кликом, чтобы начать обнаруживать секретные утечки.
-
Создайте безопасные практики управления учетными данными для ваших команд разработчиков.
Для обзора GitHubсекретных функций безопасности см. О секретной безопасности на GitHub.