GitHub

다운로드 51
업데이트 2025. 11. 29.

GitHub SSH 키 등록

GitHub에 새 SSH 공개 키 등록 시 탐지합니다.

쿼리

GitHub 감사 로그에서 실시간으로 공개 키 등록 로그를 추출합니다.

| search action == "public_key.create"
| rename actor_ip as src_ip, actor as user

메시지

  • GitHub SSH 키 등록: 계정 $user, 저장소 $repo, 키 $title

출력 필드 순서

  • _log_time, src_ip, user, action, repo, title, key, user_agent

위협 분석

  • 공격자는 탈취한 계정 권한 또는 세션을 사용하여 조직의 GitHub 계정에 악성 SSH 공개 키를 등록할 수 있습니다.
    • 이렇게 등록된 키는 별도의 인증 과정 없이 장기간 지속적으로 사용할 수 있으므로 지속성(Persistence) 확보 수단으로 악용됩니다.
  • SSH 공개 키가 등록되면 공격자는 비밀번호나 2FA 없이도 Git 클론·푸시 등 주요 작업을 수행할 수 있어 권한 상승(Privilege Escalation)소스코드 변조·탈취 위협이 증가합니다.
  • 특히, 정상 사용자의 활동처럼 보이기 때문에 사용자 계정이 탈취된 상황에서는 초기 탐지가 어렵고, 공격자가 키를 등록한 후 장기간 잠복하는 사례도 존재합니다.
  • 외부 공격자뿐 아니라 내부자 위협(Insider) 시나리오에서도 비인가 키 등록은 소스 유출 및 공급망 공격(Supply Chain Attack)의 주요 경로가 될 수 있습니다.

오탐 유형

  • 개발자가 신규 장비를 도입하거나 환경을 재구성하면서 정상적으로 SSH 키를 새로 등록하는 경우 탐지될 수 있습니다.
  • CI/CD 및 자동화 환경에서 작업용 SSH 키를 로테이션하거나 신규 파이프라인을 셋업하면서 키가 자동 생성·등록되는 경우에 탐지될 수 있습니다.
  • 외부 협력사나 파트너 계정이 정당한 개발 목적을 위해 키를 추가하는 경우에도 탐지될 수 있습니다.

대응 방안

  • 사용자 확인 및 행위 검증
    • SSH 키가 의도된 등록인지 즉시 사용자와 확인합니다.
    • 등록된 키의 소유 장치와 사용자 환경이 정상인지 점검합니다.
  • 비인가 키 즉시 삭제
    • 사용자로부터 의도된 활동이 아님이 확인되면 해당 SSH 공개 키를 즉시 삭제하고 계정을 보호합니다.
  • 계정 보안 점검
    • 계정에 비정상적 로그인 이력, 의심스러운 IP 주소, User-Agent 등을 확인하여 계정 탈취 여부를 조사합니다.
  • 인증 수단 초기화
    • 비인가 SSH 키가 발견된 경우 PAT, SSH 키, OAuth 토큰 등 계정이 사용하는 모든 인증 수단을 폐기하고 재발급합니다.
  • 추가 이상 행위 조사
    • 키 등록 전후로 비정상적인 push, repository 접근, workflow 생성 등 악성 활동이 있었는지 확인합니다.
  • 보안 정책 강화
    • SSH 키 사용에 대한 사전 승인 절차 도입, 키 길이·암호화 강도 정책 적용, 사용하지 않는 키 주기적 정리 정책 등을 도입합니다.
    • 필요 시 SSH 키 등록 이벤트에 대한 알림 또는 승인 기반 워크플로우 구축을 검토합니다.

MITRE ATT&CK

  • 전술
    • Persistence, Privilege Escalation
  • 기법
    • 이름: Account Manipulation: SSH Authorized Keys
    • ID: T1098.004
    • 참조 URL: https://attack.mitre.org/techniques/T1098/004/