1. 모바일 게임 보안
ⓒ 2015 NHN Entertainment Corp.
v.1.0
NHN 엔터테인먼트 이창율
2015년 9월 11일
2. 목차
1. 모바일 게임 보안
1.1 루팅, 탈옥
1.2 인앱결제 조작
1.3 메모리 조작
1.4 패킷 조작
1.5 스피드 조작
1.6 데이터 파일과 코드 조작
2. 보안 검수
2.1 웹 검수
2.2 앱 검수
3. 모바일 보안 솔루션 앱가드
3.1 간략한 소개
3.2 주요 특징
3.3 적용 과정
3.4 실제 동작
3.5 웹콘솔
4. 4 / 모바일 게임 보안
1. 0 소개
소속: 응용보안팀
하는 일
검수: 서비스(PC, Web, Mobile) 출시 전 취약성 검토
분석: 악성코드, 게임 치팅, 기타 분석
개발: 자사 보안 솔루션 개발
5. 5 / 모바일 게임 보안
1. 1 루팅, 탈옥
루팅
Android에서 익스플로잇을 이용하여 관리자권한을 획득하는 것을
말함
예) 루트 권한을 가진 시스템의 취약한 기능을 이용하여 원하는 코드를
실행하여 권한 상승
탈옥
iOS의 제한된 폴더만 접근 가능한 Jailed환경을 벗어나 익스플로잇
을 이용하여 무력화하여 임의의 코드를 실행하여 인증서 서명 강제
시스템을 반영구적으로 비활성화하는 행위
6. 6 / 모바일 게임 보안
1. 2 인앱결제 조작
원리: SSL 우회, 가상 결제 서버 결제
대응: 앱스토어와 게임 서버간 영수증 체크
7. 7 / 모바일 게임 보안
1. 3 메모리 조작
원리: ptrace API 사용, 디버깅 등
대응: 메모리 셔플링, 변수 해쉬 검사, 암호화, 감사 로그, 서버 검증
8. 8 / 모바일 게임 보안
1. 4 패킷 조작
원리: 리버스 테더링 등으로 패킷을 캡쳐하여 분석 후 조작
대응: 패킷 암호화, 시리얼 체크, 클라이언트는 단지 뷰어로만
9. 9 / 모바일 게임 보안
1. 5 스피드 조작
원리: 시간 관련 API 후킹 후 조작
대응: 서버 등에서 시간 검증
10. 10 / 모바일 게임 보안
1. 5 데이터 파일과 코드 조작
원리: disunity와 같은 디코딩, 디컴파일 후 코드 분석, 함수 직접 사용, 자바
디컴파일 및 리패키징(apktool, dex2jar, jad-ui) 등
대응: 파일 암호화, 파일 무결성 검사
13. 13 / 모바일 게임 보안
2. 1 웹 검수
SQL Injection
XSS
요청 및 응답 값 위/변조
원격 실행
임의 파일 다운로드
소스 코드 내 중요 정보 노출
세션 재사용
세션 타임아웃 체크
접근 제어 우회
인증
서버 정보 누출
로그인 비번
계정 정보 노출
관리자 페이지 노출
백업, 임시 파일
제로데이 취약점 패치
14. 14 / 모바일 게임 보안
2. 2 앱 검수
인증 정보 암호화
구매 관련 정보 암호화 여부
IAP 결제 우회
파일 저장 시 암호화 여부
파일 조작 여부 체크
디컴파일 소스 누출
바이너리의 게임 데이터, 코드 수정 가능 여부
패킷 암호화
패킷 재전송
치팅 앱 실행
중요 데이터 조작 시 서버 검증 여부
16. 16 / 모바일 게임 보안
3. 1 간략한 소개
앱가드는 사용자 편의를 위해 간편한 적용과 단순히 치팅 툴 탐지 기능만이
아닌 디컴파일 방지와 파일 무결성 검증 등의 강력한 기능을 제공하는 모바일
보안 솔루션입니다.
지원 플랫폼과 현황
영역 구분 상세 내용
지원 플랫폼
Android
- 오픈소스이며, 많은 권한을 허용하는 안드로이드 플
랫폼 특성상 주로 많은 어뷰징이 발생하는 플랫폼이라
선지원
- Android 5.0, 샤오미 등 AOSP 테스트 완료
iOS 하반기 지원 예정(현재 프로토타입 개발은 완료)
월 누적 로그량 최대 3억건 루팅 등의 로그가 많음, 현재 최적화로 많이 줄어 듬
적용 앱 수 13개(2014년 5월 12일부터) 7월부터 NHN Ent. 전체 서비스 앱에 모두 순차 적용
17. 17 / 모바일 게임 보안
3. 2 주요 특징
강력한 코드 조작 대응
간편한 적용
직관적인 웹 콘솔
애플리케이션 전 영역을 보안
18. 18 / 모바일 게임 보안
3. 2 주요 특징
영역 구분 기능명
방어
코드 조작
방지
디컴파일 방지(현재 *.SO(COCOS2D-X), *.DLL(Unity3D) 지원
향후 Java도 지원 예정
파일 암호화(현재 COCOS2D-X(*.SO), Unity3D(*.DLL) 지원
향후 Java도 지원 예정
탐지
패턴 치팅 툴, 매크로툴 등(파일, 프로세스, 메모리)
휴리스틱 에뮬레이터, 디버거 등
행위 기반 루팅, 스피드 조작, 에뮬레이터 등
파일 무결성
빌드된 바이너리 파일의 무결성 검증(자바 *.dex, *.so, *.dll 파일에 대한 변조를
탐지)
대응 제재
어뷰징 탐지 시 로그 전송 -> 탐지 로그의 내용과 유저 아이디로 제재
어뷰징 탐지 시 앱 실행 자동 차단(클라이언트)
어뷰징 탐지 시 앱 실행 자동 차단(서버): 1차 시스템 제재 구현 예정