tech

Steam 게임 어뷰징 방어하기

PC 패키지 게임이 한창 유행이던 때, 게이머들이 레벨과 능력치를 임의로 변경해 손쉽게 게임을 진행하던 시절이 있었다. 당시 게임 유저들이 즐겨 쓰던 어뷰징 툴(PC Tools, 게임 위자드 프로그램 등)을 이용해 빠르게 엔딩을 보거나 숨겨진 미션을 찾는 것이 유행이었다. 그 모습들을 보며 놀랐던 기억이 난다. 지금 생각해 보면 이때의 경험이 기자를 게임보안 업무로 이끈 주요 동기 중 하나가 된 듯하다.

이후 1990년대 빠른 인터넷 보급과 PC방의 등장으로 다양한 PC 온라인 게임이 출시됐다. 그리고 2009년부터 폭발적인 모바일 게임들이 모습을 드러내며 PC 온라인 게임은 정체기를 맞았다. 이후 PC 게이밍 플랫폼 ‘STEAM’이 등장하면서 다시 PC 온라인 게임이 전성기를 찾았다. 이에 게임사들은 모바일과 STEAM 플랫폼 동시에 게임을 출시하는 전략을 취하는 모양새다.

STEAM 플랫폼의 지원 환경은 윈도우즈, 맥OS, 리눅스다. 이번 기사에서는 윈도우즈  환경에서의 게임 클라이언트 어뷰징 형태와 그에 따른 대응 방안을 알아보고자 한다.

먼저, 어떤 위험이 있는지 크게 6가지 분류로 나눠서 게임 어뷰징을 알아보자.

©스팀 DB

1. 계정 탈취

게임 유저 입장에서 가장 피해가 심각한 부분으로 해커에 의해 계정이 탈취되는 유형이다. PC방이나 공용 컴퓨터에서 상대적으로 해킹 피해가 많다. (🔗관련기사) 또한, 피싱 메일을 통해 가짜 계정 변경 페이지로 유인해 실제 계정을 탈취하는 경우도 있다. 주로 PC에 악성 코드(예시로 Epsilon Stealer, BloodyStealer 등)를 감염시켜 계정 및 개인정보를 빼내어 가는 수법을 쓰며, 최근에는 웹 브라우저 자동 로그인 기능을 악용해 계정 정보를 탈취하는 범죄가 급증하고 있다.

©The hacker news

텔레그램에서 홍보되는 Epsilon 스틸러의 스크린샷 ©pcrisk.com

해킹 프로그램을 이용하면 단번에 경험치와 재화를 얻을 수 있다고 광고하며 개인정보를 탈취해가는 피싱 사이트와, 계정 로그인을 교묘하게 요구해 탈취해가는 소셜 엔지니어링 공격도 성행 중이다.

더불어 현재 나날이 발전하고 있는 AI 기술을 이용한 신종 피싱 공격도 거세지고 있으니 항상 자신의 개인정보가 유출되지 않도록 주의가 필요하다.

2. 메모리 변조

메모리 내 게임상의 중요변수(경험치, 레벨 등)를 변경하는 행위를 말한다.

대표적인 메모리 변조 프로그램 ‘치트엔진’ 실행화면

3. 바이너리 변조

실행 파일이나 데이터 파일을 임의로 변조하는 행위를 뜻한다.

© hex-rays

4. 게임 해킹툴 사용

  • 스피드핵

게임의 속도를 빠르게 혹은 느리게 하는 해킹 프로그램을 총칭한다.

치트엔진 이용한 스피드핵 사용
  • 매크로

키 입력과 마우스 조작을 반복하도록 자동화된 프로그램을 말한다.

G 매크로 실행화면

  • 조준핵(Aimhack)

FPS 게임 장르에서 조준을 쉽게 할 수 있도록 보조하는 해킹 프로그램을 뜻한다.

© github
  • 패킷 변조

게임 클라이언트에서 게임 서버로 보내는 패킷이나 게임 서버에서 게임 클라이언트로 받는 패킷을 임의로 변조하는 행위를 의미한다.

©imgur
  • 넌 클라이언트 봇

게임 클라이언트 없이 해킹툴을 실행하는 것만으로 실제 게임 플레이 결과를 얻을 수 있는 프로그램을 총칭한다. 흔히 작업장에서 매크로와 더불어 많이 쓰는 프로그램이다.

©나무위키

이번에는 위에서 알아본 어뷰징을 대응하기 위한 방법들을 알아보자.

1. 계정보

기본적으로 STEAM에서 제공하는 계정 보호 앱 ‘Steam Guard’를 통해 로그인 시 계정을 보호할 수 있다. 해당 앱에서 계정 보호를 위해 일회용 비밀번호 생성기(OTP)나 2단계 인증 기능을 제공한다.

또한 계정 탈취 시, 사람의 심리를 악용하는 소셜 엔지니어링 공격을 많이 쓰니 의심스럽다고 생각하면 어떠한 정보도 제공하지 않도록 주의해야 한다. 보안이 취약한 컴퓨터에서는 계정 로그인을 하지 않도록 해야한다. 또한 PC방이나 공용 컴퓨터를 사용할 때, 바이러스 검사 등을 사용하여 PC가 안전한지 확인 후 사용하는 것이 필요하다.

2. 기본 게임보안 기술

게임 개발 과정에서, 게임 서버가 주요 로직과 변수를 관리하고, 게임 클라이언트는 주로 화면을 보여주는 역할만 담당하도록 설계하면 해킹 공격 포인트를 줄일 수 있다.

그러나 액션류 게임과 같은 경우에는 클라이언트에서도 일부 중요한 로직과 변수를 처리해야 할 필요가 있기 때문에, 개발 단계부터 보안을 내재화(Secure by Design)하고 상용 프로텍터 적용 등의 클라이언트 보안에 집중하는 것이 중요하다.

프로그램을 분석하기 어렵게 만드는 대표적인 상용 프로텍터로는 🔗Winlicense/🔗Themida, 🔗VMProtect 등을 꼽을 수 있다. 이번 기사에서는 Themida를 위주로 알아보자.

Oreans Technologies 개발사에서 제작한Themida는 리버스 엔지니어링과 소프트웨어 크랙으로부터 보호해주는 대표적인 프로그램이다. Themida를 적용하면 코드 분석을 어렵게 만들 수 있다. 이에 따라 다양한 게임 클라이언트 공격을 방어할 수 있게 된다.

Themida 보호 방식 ©oreans 공식 홈페이지

Themida에서 제공하는 🔗라이선스 정책은 아래와 같다.

구분비용(유로)비고
Company License339 €여러 개 사용가능
Developer License199 €1개만 사용가능
Subscription79 €연간 구독 서비스

Themida에서 제공하는 옵션은 아래와 같으며 관련 🔗도움말을 참고하기 바란다.

  • Anti-Debugging Detection: 디버거 탐지 옵션
  • Advance API-Wrapping: 사용 API를 식별하지 못하도록 API 호출 코드 랩핑 옵션
  • Compress and Encrypt: 암호화 및 압축 옵션
    • 실행 시 복호화 시간 약간 증가함
  • Encrypt Strings VM: VM 매크로 내 문자열 암호화 적용 옵션
  • Detect File/Register Monitors: 윈도우 파일 및 레지스트리 값이 기록되는지 모니터링하는 툴 감지여부 옵션
    • 파일/레지스트리에 중요한 정보 저장 시 사용
  • Entry Point Virtualization: Entry Point 난독화 옵션
    • Entry Point는 파일 로드시 최초로 실행되는 진입점(Main 함수 호출 시점)
    • 호환이 되지 않을 수 있어 Themida 적용 후 실행 여부 확인 후 판단
  • Anti-File Patching: 파일 수정 탐지 옵션
  • Anti-Sandbox: 샌드박스 앱 감지 옵션
  • Perform Protection checks on VM macros: VM 매크로 내 코드 무결성 체크 옵션
  • Allow execution under VMware/Virtual PC: 가상머신 실행  허용 옵션
    • 가상 머신에서 실행 차단 시 체크 해제 필요

Themida를 적용한 파일은 안티바이러스 프로그램에서 오탐되는 경우가 있으므로, 디지털 코드 서명을 적용해야 한다는 점을 주의해야 한다. 오탐되면 각 밴더사에게 소명하여 오탐 예외 처리를 요청할 수 있다.

안티 바이러스 프로그램에서 프로그램을 직접 설치하고 오탐을 확인하는 것이 가장 정확하지만, 온라인 멀웨어 스캔 서비스를 통해도 확인할 수 있다. 다만, 이 방법을 사용할 경우 업로드한 파일이 다른 사람들과 공유될 수 있어 주의가 필요하다.

3. STEAM 자체 보안시스템 활용

🔗VAC(Valve Anti-Cheat) 시스템은 STEAM에서 무료로 제공하는 사용자 치트 감지 시스템이다. 사용자의 컴퓨터에 식별 가능한 치트가 감지되면 VAC 보안 서버로 연결된다. 이후 해당 사용자는 향후 VAC 보안 서버에서 플레이할 수 없도록 차단된다.

Game Ban은 별도의 차단 추적 시스템을 적용할 필요 없이 Valve의 차단 인프라를 활용할 수 있다.🔗ICheatReportingService/RequestPlayerGameBan 웹 API로 사용자를 차단하면 해당 사용자의 Steam 프로필에 차단 사실이 공개된다. 🔗VAC(Valve Anti-Cheat) 개발자 사이트에서 다양한 정보를 확인할 수 있다.

4. 게임보안솔루션 도입

일정 비용이 소요되지만, 전문 게임보안솔루션 도입을 통해 다양한 어뷰징 행위 및  해킹툴을 효과적으로 대응할 수 있다.

국내에는 🔗G-Presto, 🔗nProtect GameGuard, 🔗XIGNCODE3 등의 게임보안솔루션이 있다.

해외의 유명 게임 솔루션은 Denuvo Anti-Cheat, Sard Anti-Cheat, BattlEye 등이다.

게임보안솔루션의 보안성, 호환성, 제공기능 비교 검토 후 게임 환경이나 상황에 맞게 도입하면 된다.

5. 게임보안 프로세스 도입

게임보안 솔루션 도입 시에는 보안 효과성과 제공 기능들이 정상 작동하는지 확인하는 과정이 필요하다. 특히, 적용한 게임과 잘 맞는지와 적용 후 성능 저하가 있는지 등을 확인해야 한다.

© invoguesolutions

게임 자체에 대한 공격자 관점의 모의해킹으로 게임 로직 상의 보안 취약점과 잠재적인 리스크를 발견하고 대응하는 과정을 통해서 보다 안전한 게임 환경을 구축할 수 있다.

© ideogram.ai

라이브 게임 서비스에서는 탄력적인 보안 대응을 위한 어뷰징 추적 및 방어, 보안 기술 대응으로 공정한 게임 환경을 조성하는 보안 운영 과정이 중요하다.

© ideogram.ai
© ideogram.ai

위에서 알아본 바와 같이, STEAM 게임에는 기존 PC 온라인 게임과 같이 게임 환경, 구조에 따라 다양한 해킹 도구와 기법이 존재한다. 그리고 STEAM 내 각 게임의 특성과 장르에 따라 어뷰징 형태가 달라진다.

효과적으로 게임을 보호하기 위해서는 팀워크를 통한 탄력적인 보안운영과 게임보안 공격 및 대응 기술 연구를 통한 클라이언트 보안 강화 및 지속적인 보안 프로세스 개선이 중요하다.

이를 통해 궁극적으로 유저들이 안전하고 쾌적한 게임 환경에서 재미있게 게임을 즐길 수 있기를 바란다.

컴투스 그룹사 게임보안 팀원들에게 이 자리를 빌려 감사와 고마움을 전한다.

김기환 기자

컴투스 그룹사 게임보안 전반을 리딩하고 있는 시니어 보안 엔지니어입니다. 기사를 쓰면서 기존에 알고 있던 지식을 여러 각도로 다시 생각해 보는 좋은 기회가 되었습니다. 유저들이 안전하고 쾌적한 게임 환경에서 게임 플레이를 할 수 있도록 최선을 다하겠습니다.


TOP