슬랙

다운로드 125
업데이트 2025. 12. 25.

슬랙 앱 설치

Slack 감사 로그에서 슬랙 앱 설치 이벤트 발생 시 탐지합니다.

쿼리

event_name 필드의 값이 app_installed와 일치하는 로그를 추출하고, entity.app.name 값을 app 필드로 추출합니다.

| search event_name == "app_installed"
| eval app = valueof(valueof(entity, "app"), "name")

메시지

  • 슬랙 앱 설치: 도메인 $context_domain, 사용자 $user_name, 앱 $app

출력 필드 순서

  • _log_time, src_ip, context_type, context_name, user, user_name, user_email, event_name, app, entity, user_agent

위협 분석

  • 공격자는 정상 사용자 계정(탈취 계정 포함)을 이용해 악성/의심 앱(OAuth 앱, 봇, 워크플로 앱 등)을 Slack 워크스페이스에 설치함으로써 지속적 접근 경로(Persistence) 를 확보할 수 있습니다.
  • 설치된 앱은 부여된 OAuth Scope 범위 내에서 메시지/파일/채널/사용자 정보 등에 접근할 수 있으며, 이후 정보수집(Collection) 및 데이터 유출(Exfiltration)에 악용될 수 있습니다.
  • 특히 공격자는 설치 이후 권한 범위를 확장(app_scopes_expanded) 하거나, 토큰 보존(app_token_preserved) 등을 통해 장기적으로 접근을 유지하는 패턴을 보일 수 있습니다.
  • 조직의 앱 설치 정책(allowlist/승인)이 약한 경우, 정상적인 앱 설치 이벤트 형태로 위장되어 탐지/대응이 지연될 수 있습니다.

오탐 유형

  • 사용자가 업무상 필요한 협업 도구(예: Jira, Google Drive, Zoom 등)를 신규로 설치한 경우
  • Slack 관리자/IT 담당자가 사전 승인된 앱을 배포하거나 테스트 환경에서 설치한 경우
  • 기존에 사용하던 앱을 재설치하거나, 앱 업데이트 과정에서 설치 이벤트가 발생한 경우
  • Slack 마켓플레이스의 공식 앱(verified apps) 설치로 인한 정상 이벤트

대응 방안

  • 즉시 확인
    • 설치된 앱의 이름(app), 개발사/배포자, 설치 주체(user)를 확인하고 사용자에게 설치 목적을 확인합니다.
    • 앱이 요청한 OAuth Scope 및 실제 부여된 권한을 점검합니다. (특히 channels:history, files:read, users:read, chat:write, admin.* 등 민감 Scope)
  • 차단/격리
    • 승인되지 않은 앱 또는 목적 불명 앱이면 즉시 앱 제거(app_uninstalled) 및 토큰 무효화를 수행합니다.
    • 가능하다면 해당 사용자 계정에 대해 세션 로그아웃 및 비밀번호 변경/MFA 재등록을 수행합니다.
  • 추가 헌팅
    • 동일 사용자/동일 IP에서 직전 로그인 실패(user_login_failed) 또는 비정상 로그인(user_login anomaly)이 있었는지 확인합니다.
    • 설치 이후 스코프 확장(app_scopes_expanded), 토큰 보존(app_token_preserved), 파일 다운로드(file_downloaded), 외부 공유(file_shared) 등 연계 이벤트를 상관 분석합니다.
  • 예방
    • 앱 설치를 Allowlist 기반 + 관리자 승인제로 제한하고, 신규 앱 설치 시 관리자 알림/결재를 적용합니다.
    • 정기적으로 워크스페이스 내 설치 앱 목록을 점검하고, 사용하지 않는 앱은 제거합니다.

MITRE ATT&CK