Эта справочная статья показывает, какие GitHub инструменты стоит использовать и какие GitHub поверхности проверять при реагировании на инцидент с безопасностью. Используйте эту статью, чтобы направлять своё исследование по основным категориям угроз.
Для полных рекомендаций по реагированию на инцидент с безопасностью, включая стратегии сдерживания, см. Реагирование на инцидент с безопасностью.
Внимание
Доступность каждого инструмента (и предоставляемых им данных) зависит от GitHub плана, роли, разрешений, включения функций и конфигурации до инцидента (например, потоковая запись журналов аудита и раскрытие IP-адреса требуют предварительной настройки). Дополнительные сведения см. в разделе Инструменты расследования инцидентов с безопасностью.
Имейте в виду, что реальные инциденты с безопасностью редко связаны с одним вектором атаки. Компрометация учетных данных может привести к вредоносной инфильтрации кода, что может позволить вывести данные. При расследовании сигнала угрозы будьте готовы перейти к другим областям расследования, а также проходить через сдерживание, более глубокое расследование и устранение, обнаруживая новые признаки компрометации и по мере развития вашего понимания модели угрозы.
Раскрытые или скомпрометированные учетные данные
Этот раздел может применяться, когда:
Вы подозреваете, что токен или ключ был украден или использован, получил secret scanning оповещение или обнаружили учетные данные в коде, логах или публичном репозитории.
Что проверить
- Поискайте в журнале аудита:
- Действия, предпринятые скомпрометированным токеном, при поиске всех событий, связанных с этим токеном. См . раздел AUTOTITLE.
- Действия, предпринимаемые неожиданными участниками или неизвестными IP-адресами (если раскрытие IP-адреса включено).
- Проверьте secret scanning уведомления на предмет релевантных находок, чтобы оценить местонахождение, распространение и достоверность утечки секрета.
- Используйте обзор безопасности для вашего предприятия или организации для выявления тенденций или активности между репозиториями.
- Используйте GitHub поиск по коду, чтобы проверить секреты, раскрытые в коде,
.envфайлах или конфигурационных файлах разных репозиториев.
Ключевые инструменты
| Инструмент | Purpose |
|---|---|
| Журнал аудита | Использование токена трассировки |
| Общие сведения о безопасности | Просмотр оповещений и активности на уровне организации или предприятия, особенно secret scanning оповещений |
| [ |
GitHub Поиск по коду](/code-security/reference/security-incident-response/investigation-tools#github-code-search) | Ищите открытые учетные данные в коде |
Ключевые ресурсы
- Действия по сдерживанию
- Определение событий журнала аудита, выполняемых маркером доступа (организации)
- Определение событий журнала аудита, выполняемых маркером доступа (предприятия)
- Устранение утечки секрета в репозитории
Несанкционированный доступ и компрометация аккаунта
Этот раздел может применяться, когда:
Вы заметили необычную активность входа, видели неожиданные коммиты или изменения, или обнаружили подозрительное поведение аккаунта.
Что проверить
- Ищите в журнале аудита доступ участников, разрешения или изменения ролей. Например, ищите такие события, как
org.add_member,repo.add_member,org.add_outside_collaborator,role.update``org.update_member``repo.update_member``role.create. - Для любых подозрительных событий в журнале аудита указывайте актёра. Проверьте, является ли актёр неизвестным пользователем, потенциально скомпрометированным аккаунтом или нераспознанным приложением.
- Если у вас включена видимость IP-адресов, проверьте, распознается ли IP-адрес , связанный с необычными событиями или подозрительной активностью.
- Ищите в журнале аудита события, связанные с новыми ключами развертывания или приложениями, например
public_key.create, .integration_installation.create - Проверьте журнал аудита на предмет неожиданных изменений репозиториев, таких как новые публичные репозитории или изменения видимости репозитория (от приватного к публичному), например
repo.create, .repo.access - Используйте режим активности (уровень репозитория), чтобы построить таймлайн последних пушей. Ищите толчки от неожиданных участников, силовых толчков или необычных названий ветвей.
Ключевые инструменты
| Инструмент | Purpose |
|---|---|
| Журналы аудита | Поиск и перекрёстная проверка действий, акторов и IP-адресов |
| Вид активности | Обзор активности для конкретных репозиториев |
Ключевые ресурсы
Утечка данных
Этот раздел может применяться, когда:
Вы обнаружили большие загрузки, необычную активность API или получали отчёты о внешнем появлении ваших данных.
Что проверить
- Поиск журналов аудита по большим объёмам git-операций (
git.clone,git.fetch) или API-запросов, особенно от незнакомого актора (actor) или IP-адреса (если включена видимость IP-адреса), которые указывают на массовый сбор данных.- Обратите внимание, что события Git в журнале аудита имеют особые требования к доступу и политики удержания, отличающиеся от других событий журнала аудита. Для , вы можете получить доступ к GitHub Enterprise Cloudсобытиям Git через REST API, и данные сохраняются семь дней, если только вы не стримите журнал аудита. Для GitHub Enterprise Server, события Git должны быть включены в конфигурации журнала аудита и не включаться в результаты поиска.
- Аналогично, фиксация активности API в журналах аудита требует предварительной настройки и по умолчанию недоступна.
- Проверяйте журналы аудита на предмет репликации репозиторий или событий экспозиции, например, изменений видимости репозитория (с приватного на публичное), неожиданного создания новых репозиториев (например, новых публичных репозиториев) или переименования или переноса репозиториев (
repo.create,repo.access(изменения видимости),repo.rename,repo.transfer). - Проверьте исходящие механизмы, например, создание или обновление вебхуков (
hook.createили аналогичные события в журналах аудита), и проверьте, указывает ли какой-либо вебхук на нераспознанный домен.
Ключевые инструменты
| Инструмент | Purpose |
|---|---|
| Журналы аудита | Поиск соответствующих действий |
Ключевые ресурсы
Вредоносный код и изменения в рабочих процессах
Этот раздел может применяться, когда:
Вы нашли подозрительный код в своём репозитории, исследователь безопасности сообщил о проблеме или заметили неожиданное поведение рабочего процесса.
Что проверить
- Проверьте вкладку «Действия » на предмет неожиданных запусков рабочих процессов, особенно тех, которые запускаются незнакомыми пользователями или в необычное время.
- Проверяйте рабочий процесс, запускайте журналы на предмет подозрительных результатов.
- Используйте GitHub поиск по коду, чтобы найти подозрительные файлы или добавления кода, особенно в рабочих процессах (
.github/workflows/), shell-скриптах или конфигурационных файлах. - Используйте представление Activity, чтобы проверить наличие push-запросов к необычным названиям ветвей, принудительных push-push-ов, push-push от неожиданных акторов.
- Проверьте журналы аудита на предмет изменений в настройках безопасности или действий отключения (ищите события вроде
repository_ruleset.destroy,repository_secret_scanning_push_protection.disable, или другие.delete, , события.destroy)..disable - Проверьте журналы аудита для событий, связанных с добавлением новых самостоятельных бегунов (например,
org.register_self_hosted_runner,repo.register_self_hosted_runnerсобытия). - Проверьте Dependabot alertsGitHub Advisory Database наличие рекомендаций, связанных с GitHub Actions использованием ваших рабочих процессов.
Ключевые инструменты
| Инструмент | Purpose |
|---|---|
| Запуски рабочих процессов и логи | Проверяйте выполнение рабочих процессов и проверяйте выходные данные журнала |
| Вид активности | Выявляйте неожиданные толчки, силовые толчки или толчки от незнакомых участников |
| [ |
GitHub Поиск по коду](/code-security/reference/security-incident-response/investigation-tools#github-code-search) | Поиск подозрительных кодовых шаблонов |
| Журналы аудита | Фильтруйте по действиям для поиска изменений настроек безопасности |
Ключевые ресурсы
Вредоносное ПО и атаки на цепочку поставок
Этот раздел может применяться, когда:
Вы получили предупреждение о вредоносном ПО или зависимостях, подозревали вредоносный пакет или заметили неожиданные зависимости в своих проектах.
Что проверить
- Проверьте наличие Dependabot предупреждения о вредоносном ПО, которое поможет сообщить подробности о вредоносном пакете (например, название пакета, затронутые версии и патчированную версию), а также шаги по устранению проблемы. В настоящее время поддерживается только для пакетов в
npmэкосистеме. - Поищите там GitHub Advisory Database , чтобы узнать, есть GitHub ли отчётные сообщения о зависимости (или версиях зависимостей), которые используют ваши проекты. Для вредоносного ПО ищите
type:malwareв базе данных рекомендаций. - Используйте GitHub поиск по коду для поиска ссылок на предполагаемый пакет или действие по всей вашей организации.
- Прочитайте граф зависимостей в ваших репозиториях, чтобы выявить новые или неожиданные зависимости.
- Используйте просмотр активности и проверьте историю фиксации, чтобы просмотреть недавние изменения в манифестах зависимости или файлах блокировки (например,
package.json,package-lock.json,Gemfile.lock). Проверьте просмотры виновных и pull requests, чтобы определить, кто внёс изменения и были ли они пересмотрены. - Проверьте недавно созданные оповещения безопасности в обзоре безопасности вашей организации.
Ключевые инструменты
| Инструмент | Purpose |
|---|---|
| [ |
GitHub Поиск по коду](/code-security/reference/security-incident-response/investigation-tools#github-code-search)| Ищите ссылки на предполагаемую посылку или действие |
| Граф зависимостей | Визуализация и просмотр зависимостей |
|
Dependabot Оповещения | Проверка на наличие оповещений, связанных с уязвимыми зависимостями |
| GitHub Advisory Database| Найдите type:malware. |
| Вид активности | Просмотр последних продвижения в репозитории |
| Общие сведения о безопасности | Проверьте недавние оповещения о безопасности в организации или предприятии |