Skip to main content

Секретные риски утечек

Секреты, такие как API-ключи, пароли и токены, зафиксированные в репозиториях, могут быть использованы неавторизованными пользователями, создавая безопасность, соответствие требованиям и финансовый риск для вашей организации.

Секреты и учетные данные

Секреты — это удостоверительные данные, предоставляющие доступ к чувствительным системам и данным, включая 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 непрерывный мониторинг хранилищ на предмет секретов и получение уведомлений при обнаружении учетных данных. Это позволяет быстро отозвать и изменить скомпрометированные учетные данные.

Дальнейшие действия

Чтобы защитить вашу организацию от секретных утечек:

  1. Проведите бесплатную секретную оценку рисков, чтобы понять текущий риск. Узнайте, как выполнить оценку риска бесплатного секрета

  2. Включите защиту от пуша, чтобы предотвратить появление новых секретов.

  3. Включите secret scanning кликом, чтобы начать обнаруживать секретные утечки.

  4. Создайте безопасные практики управления учетными данными для ваших команд разработчиков.

Для обзора GitHubсекретных функций безопасности см. О секретной безопасности на GitHub.