GitHub 앱 설치
새로운 GitHub 앱 설치 시 탐지합니다.
쿼리
GitHub 감사 로그에서 실시간으로 GitHub 앱 설치 로그를 추출합니다.
메시지
- GitHub 앱 설치: 관리자 $user, 앱 $integration
출력 필드 순서
- _log_time, src_ip, user, action, repo, integration, name, repository_selection, permissions, user_agent
위협 분석
- GitHub 앱은 조직 내 저장소, 워크플로우, 이슈, 권한 관리 등 다양한 기능에 대한 광범위한 접근 권한을 부여할 수 있습니다.
- 공격자가 조직의 GitHub 관리자 계정을 탈취한 경우, 악성 GitHub 앱을 설치하여 지속적인 권한 유지, 코드 변조, 워크플로우 하이재킹 등 광범위한 공격을 수행할 수 있습니다.
- GitHub 앱은 API 호출 및 자동화 기능을 통해 내부 리포지토리에서 데이터를 수집하거나 외부로 전송하는 등의 악성 자동화 행위에 사용될 수 있어 공급망 공격(Supply Chain Attack)의 주요 벡터가 됩니다.
- 특히, GitHub 앱 설치는 관리 권한을 가진 계정에서만 수행 가능하며, 설치 후에는 권한 범위에 따라 조직 전체 또는 특정 저장소에 대해 지속적으로 실행될 수 있으므로 공격 발생 시 영향 범위가 매우 큽니다.
- 정상 사용자 활동처럼 보일 수 있어 초기 탐지가 어렵고, 설치된 앱이 여러 저장소에 권한을 가지는 경우 추적 및 사고 대응이 복잡해질 수 있습니다.
오탐 유형
- 관리자가 새로운 CI/CD 도구, 코드 스캔 솔루션, 자동화 툴 등을 도입하면서 정상적으로 GitHub 앱을 설치하는 경우 발생할 수 있습니다.
- 외부 협력사 또는 서비스 연동을 위해 GitHub 앱을 설치하는 정당한 업무 절차가 존재하는 경우에 탐지될 수 있습니다.
- 기존 앱의 권한 변경 또는 재설치를 위해 동일한 앱이 다시 설치되는 경우에도 탐지될 수 있습니다.
대응 방안
- 설치 주체 확인
- GitHub 앱을 설치한 계정($user)이 정상적인 관리자 계정인지 확인하고, 해당 작업이 의도된 것인지 당사자에게 즉시 확인합니다.
- 앱 권한 검증
- 설치된 앱의
permissions및repository_selection을 검토하여 과도한 권한이 부여되지 않았는지 확인합니다. - 필요 이상의 조직 전체 권한(org-wide permissions)을 요청하는 앱은 즉시 검토 대상입니다.
- 설치된 앱의
- 위험한 앱 제거
- 의도하지 않은 설치로 확인될 경우 즉시 앱을 삭제하고, 해당 앱이 접근한 저장소 및 활동 로그를 조사합니다.
- 계정 및 인증 검토
- 앱을 설치한 계정의 로그인 이력, IP 주소, 사용자 에이전트(User-Agent) 등을 분석하여 계정 탈취 가능성을 조사합니다.
- 추가 이상 행위 분석
- 앱 설치 전후로 비정상적인 PR 생성, 권한 변경, 워크플로우 실행 등의 이상 행위가 있었는지 확인합니다.
- 보안 정책 강화
- GitHub 앱 설치 권한을 최소한의 관리자에게만 제한하고, 설치 승인 절차를 도입합니다.
- 앱 권한 사전 검토 프로세스 도입, 앱 사용 현황 정기 점검, 불필요한 앱 제거 정책을 운영합니다.
MITRE ATT&CK
- 전술
- Execution, Lateral Movement
- 기법
- 이름: Software Deployment Tools
- ID: T1072
- 참조 URL: https://attack.mitre.org/techniques/T1072/