Skip to main content

일반적인 보안 인시던트 조사 영역

여러 공격 벡터에 걸친 보안 사고를 조사하기 위한 참조로, GitHub에서 확인해야 할 주요 표면과 도구를 포함합니다.

이 참조 문서는 보안 인시던트에 대응할 때 사용할 GitHub 도구와 확인해야 할 GitHub 표면을 보여줍니다. 이 문서를 사용하여 주요 위협 범주에 대한 조사를 안내합니다.

          **포함 전략을** 포함하여 보안 인시던트에 대응하는 방법에 대한 전체 지침은 [AUTOTITLE](/code-security/tutorials/secure-your-organization/responding-to-security-incidents)을 참조하세요.

중요

각 도구(및 제공하는 데이터)의 가용성은 계획, 역할, 권한, 기능 사용 및 사전 인시던트 구성에 따라 달라집니다 GitHub (예: 감사 로그 스트리밍 및 IP 주소 공개에는 사전 설정이 필요). 자세한 내용은 보안 인시던트에 대한 조사 도구을(를) 참조하세요.

실제 보안 인시던트에는 단일 공격 벡터가 거의 포함되지 않습니다. 자격 증명 손상으로 인해 악의적인 코드 주입이 발생할 수 있으며, 이로 인해 데이터 반출이 가능해질 수 있습니다. 위협 신호를 조사할 때 다른 조사 영역으로 이동하고, 새로운 손상 지표를 발견하고 위협 모델에 대한 이해가 진화함에 따라 봉쇄, 심층 조사 및 수정을 반복할 준비를 합니다.

노출되거나 손상된 자격 증명

이 섹션은 다음과 같은 경우에 적용될 수 있습니다.

토큰 또는 키가 도난당하거나 악용되었거나, 경고를 받았 secret scanning 거나, 코드, 로그 또는 공용 리포지토리에 노출된 자격 증명을 발견한 것으로 의심됩니다.

확인할 사항

  • 감사 로그에서 다음을 검색합니다.
  • 관련 결과에 대한 경고를 검토 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``org.update_member``repo.update_member``role.create등의 role.update이벤트를 찾습니다.
  • 감사 로그의 의심스러운 이벤트의 경우 행위자를 식별합니다. 행위자가 알 수 없는 사용자, 잠재적으로 손상된 계정 또는 인식할 수 없는 앱인지 확인합니다.
  • 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들어 REST API를 통해 Git 이벤트에 액세스할 수 있으며 감사 로그를 스트리밍하지 않는 한 데이터는 7일 동안 보존됩니다. GitHub Enterprise Server의 경우 Git 이벤트는 감사 로그 구성에서 활성화되어야 하며 검색 결과에는 포함되지 않습니다.
    • 마찬가지로 감사 로그에서 API 작업을 캡처하려면 이전 구성이 필요하며 기본적으로 사용할 수 없습니다.
  • 리포지토리 복제 또는 노출 이벤트에 대한 감사 로그를 확인합니다(예: 리포지토리 표시 유형 변경(프라이빗에서 퍼블릭으로), 예기치 않은 새 리포지토리를 만들거나(예: 새 공용 리포지토리) 또는 리포지토리 이름을 바꾸거나 전송하는 리포지토리(repo.create( repo.access 표시 유형 변경), repo.rename, repo.transfer).
  • 아웃바운드 메커니즘을 확인하여, 예를 들어 웹후크가 생성되거나 업데이트되는지(감사 로그의 유사한 이벤트 hook.create) 확인하고, 웹후크가 알 수 없는 도메인을 가리키는지 확인합니다.

주요 도구

도구Purpose
감사 로그관련 작업 검색

주요 리소스

악성 코드 및 워크플로 변경

이 섹션은 다음과 같은 경우에 적용될 수 있습니다.

리포지토리에서 의심스러운 코드를 찾았거나, 보안 연구원이 문제를 보고했거나, 예기치 않은 워크플로 동작을 발견했습니다.

확인할 사항

  • 예기치 않은 워크플로 실행, 특히 익숙하지 않은 사용자 또는 비정상적인 시간에 트리거되는 워크플로 실행에 대한 작업 탭을 검토합니다.
  • 워크플로 실행 로그에서 의심스러운 출력을 검사합니다.
  • 코드 검색을 사용하여 GitHub 특히 워크플로 파일(.github/workflows/), 셸 스크립트 또는 구성 파일에서 의심스러운 파일 또는 코드 추가를 찾습니다.
  • 작업 보기를 사용하여 비정상적인 분기 이름에 대한 푸시, 강제 푸시, 예기치 않은 행위자로부터의 푸시를 확인합니다.
  • 감사 로그에서 보안 설정 또는 비활성화 작업의 변경 내용을 확인합니다(예: repository_ruleset.destroy``repository_secret_scanning_push_protection.disable이벤트 또는 기타 .delete``.disable``.destroy 이벤트 찾기).
  • 새 자체 호스팅 러너가 추가된 것과 관련된 이벤트(예: org.register_self_hosted_runner, repo.register_self_hosted_runner 이벤트)를 감사 로그에서 확인합니다.
  • 워크플로에서 사용되는 Dependabot alerts 관련 권고 사항을 GitHub 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)에 대한 최근 변경 내용을 검토합니다. blame 보기와 풀 리퀘스트를 확인하여 누가 변경 사항을 도입했는지, 그리고 해당 변경 사항이 검토되었는지 확인합니다.
  • 조직의 보안 요약에서 최근에 생성된 보안 경고를 검토합니다.

주요 도구

도구Purpose
[
          GitHub 코드 검색](/code-security/reference/security-incident-response/investigation-tools#github-code-search)| 의심되는 패키지 또는 작업에 대한 참조 검색 |

| 종속성 그래프 | 종속성 시각화 및 검토 | | Dependabot 경고 | 취약한 종속성 관련 경고 검토 | | GitHub Advisory Database| type:malware를 검색합니다. | | 활동 보기 | 리포지토리에 대한 최근 푸시를 검토합니다. | | 보안 개요 | 조직 또는 엔터프라이즈에서 최근 보안 경고 검토 |

주요 리소스

추가 읽기