스팀 창작마당 모드 공급망 공격 및 정보 탈취 진단 매트릭스
스팀 창작마당(Steam Workshop)은 게리즈모드, 프로젝트 좀보이드 등 다양한 샌드박스 게임의 모드를 배포하는 핵심 플랫폼입니다. 공격자들은 오랫동안 업데이트가 중단된 인기 모드를 매입하거나 원작자의 스팀 계정을 해킹하여 악성 Lua 코드가 담긴 업데이트를 기습 배포하는 '공급망 공격(Supply-Chain Attack)'을 감행합니다. 유저 PC에 자동 다운로드된 악성 모드는 백그라운드에서 실행되어 디스코드 토큰, 웹 브라우저 쿠키, 스팀 세션을 탈취합니다.
| 공격 유형 | 내부 실행 기제 | 탈취 대상 정보 | 대표적인 이상 징후 |
|---|---|---|---|
| 난독화 Lua 스크립트 | Base64/XOR 암호화 및 RunString 동적 실행 | 디스코드 토큰, 저장된 웹 비밀번호 | 백신 프로그램이 addons 폴더 파일 탐지 |
| HTTP 은닉 유출 채널 | 인게임 http.Fetch / http.Post 외부 호출 | 스팀 세션 쿠키, IP 주소, HWID | 싱글 오프라인 플레이 중 외부 네트워크 통신 |
| 바이너리 드로퍼(Dropper) | Lua를 통한 외부 악성 .dll 라이브러리 로드 | 시스템 최고 권한 장악, 채굴기 삽입 | Windows Defender가 확장 DLL 생성 차단 |
| 창작마당 자동 강제 배포 | 탈취된 제작자 계정으로 무단 빌드 배포 | 유저 모르게 백그라운드 자동 갱신 | 게임 접속 시 알 수 없는 팝업창 출력 |
1단계: 로컬 창작마당 캐시 내 난독화 스크립트 전수 조사
창작마당 구독 파일은 스팀 라이브러리 내 지정된 번호 폴더에 다운로드됩니다:
- 대상 게임의 창작마당 물리 경로를 확인합니다:
[SteamLibrary]\steamapps\workshop\content\[게임AppID]\
(예: 게리즈모드의 AppID는 4000).
2. PowerShell을 실행하여 고위험 동적 실행 함수를 검색합니다:
Get-ChildItem -Path "[SteamLibrary]\steamapps\workshop\content\4000" -Recurse -Filter "*.lua" | Select-String -Pattern "compilestring", "RunString", "fromhex", "base64"
- 일반적인 모드는 정상 게임 로직에 다중 Base64 암호화를 적용하지 않습니다. 외부 URL이나 알 수 없는 난독화 코드가 포함된 파일은 악성 페이로드로 간주해야 합니다.
2단계: TCPView를 활용한 불법 C2 통신 패킷 탐지
모드가 싱글 플레이 상태에서 비밀번호나 세션 정보를 외부로 유출하는지 감시합니다:
- Microsoft 공식
TCPView도구를 실행합니다. - 게임 실행 파일(예:
hl2.exe또는ProjectZomboid64.exe)을 필터링합니다. - 게임을 켜고 싱글 오프라인 모드로 맵에 진입합니다.
- TCPView 화면에서 해당 프로세스가 미확인 해외 IP 주소나 디스코드 웹훅 주소로 HTTP/HTTPS 패킷을 지속 발송한다면 악성 모드가 활동 중인 것입니다.
- 즉시 작업 관리자에서 게임 프로세스를 강제 종료합니다.
3단계: 침해 사고 긴급 대응 및 스팀 계정 보안 조치
악성 모드 실행이 확인된 경우 즉시 수행해야 할 조치:
- 스팀 창작마당에서 해당 모드의 '구독 취소'를 누르고,
steamapps\workshop\content\[AppID]폴더 내 해당 번호 폴더를 물리적으로 완전 삭제합니다. - 모든 활성 스팀 세션을 강제 파기합니다:
- 스팀 > 설정 > 보안 > '다른 모든 기기 인증 해제' 클릭.
- 안전한 스마트폰을 사용하여 스팀 계정 비밀번호를 즉시 변경합니다.
- 잠재적 백도어 제거를 위해 오프라인 백신 정밀 검사를 수행합니다:
Start-MpWDOScan
- 스팀 API 키 관리 페이지(
https://steamcommunity.com/dev/apikey)에 접속하여 본인이 등록하지 않은 의문의 API Key가 존재한다면 즉시 '취소(Revoke)'하여 중간 가로채기 경로를 차단합니다.