2. • LINE GAME 특징
• LINE GAME Security Life Cycle
• LINE GAME 보안업무 소개, 각 프로세스별
• 가이드제공/보안검수/모니터링
• 최근 어뷰징 경향 및 대응사례 소개
• 기타 관련 내용
• 게임치팅이외의 취약사례
목차
2018/4/24 2
3. • 이용자:LINE유저
• LINE플랫폼(LINE로그인, LINE STORE등 이용가능)과 연계
• 소셜기능(친구초대, 타임라인투고, 하트송신, 하트부탁 등)이용 가능
• 사전등록 혜택, 미션달성하면 LINE스탬프 등을 받을 수 있는 이벤트를 개최하는 경우도
있음
• 게임내 통화가 존재(1차통화, 2차통화),친구간 통화의 매매는 불가
• 보안(Security)=LINE유저의 보호(&abuser대응)
• 릴리즈 형태 : 퍼블리싱, 채널링, 세미퍼브
• 릴리즈 타이틀 확인
• https://line.me/ja/games
• http://game-blog.line.me/
• https://gdc.game.line.me/games/
• SDK 제공(보안모듈 포함)
LINE GAME 특징
2018/4/24 3
5. LINE GAME Security Life Cycle
Check
ActionDevelop
Plan
Close
start end
기획검토
가이드제공,
컨설팅
보안검수
모니터링
환불처리, backup 등
릴리즈 전 릴리즈후 서비스종료
2018/4/24 5
6. 보안 가이드 보안 모듈 보안검수 어뷰저 모니터링
구분 설명 비고
보안 가이드라인 제공 • 보안 가이드라인의 작성 및 갱신 • 사내git상에 공개
보안모듈(클라이언트)제공 • 보안 모듈의 제공/치팅탐지
• 보안모듈이 수집한 로그의 분석
• Rooting, 치팅툴탐지, 파일변조탐지
난독화 기능
보안검수 • 릴리즈전에 ipa/apk파일을 대상으로
해커의 입장에서 보안검수
• 퍼블리싱/채널링 형태와 관계없이 진행
• 메모리치팅, 게임조작, 그외
정보노출 등을 체크
Abuser모니터링 및 데이터 분석 • 클라이언트 모듈이 수집하는
security지표를 분석하여 모니터링
• 매일 이상유저를 모니터링
• 커뮤니티 사이트 모니터링
• 옥션 치팅상품 모니터링
LINE GAME 보안업무 일부소개
2018/4/24 6
7. 가이드 제공 단계(릴리즈전)
메모리 치팅 대응에서 흔히 범하기 쉬운 실수
https://assetstore.unity.com/packages/tools/utilities/anti-cheat-toolkit-10395
2018/4/24 7
9. • 클라이언트를 보호하기하기 위한 목적으로 개발되었으나, 완전한 대책이 아닌 보험적인
대책(영향의 경감)적인 방어 및 모니터링 역할
• Root・jailbreak검지/치팅툴검지/바이너리변조검지(어뷰저의 규모 등 추측가능)
• 로그수집을 통하여 사후대응(밴/경고)가능
• 어뷰저의 분석작업을 어렵게 하는 장치로도 작용
• 스크립트키디에게는 넘어야 할 산
• 단 전문지식을 가지고 있어 어떻게든 해킹하고 싶은 해커에게 뚫릴 가능성은 항시존재
클라이언트 보안모듈의 역할 (릴리즈전)
※포켓몬고에서는 위치정보 변조, 내부 api 부정접근등의 치트행위가 문제가 되어 루팅단말기는 허용하지
않는 대책이 있었음(SaftyNet)
2018/4/24 9
10. 보안검수 단계 (릴리즈전)
• 해커의 입장에서 클라이언트/통신구간/로컬 모두 점검
• 메모리치팅, 바이너리 변조 체크
• 통신변조, 과금우회 체크
• iOS바이너리 분석
• /var/mobile/Containers/Bundle/Application/appname/appname.app/appname
• clutch, classdump, IDA pro분석
• Android바이너리 분석
• /appname/classes.dex or /appname/lib
• Apktool , dex2jar, smail/baksmail 등
• 빌드파일(apk,ipa)에 대한 취약점 자동스캔
• 취약점 발견시 자동으로 메일발송
• https://developer.android.com/google/play/asi.html
2018/4/24 10
11. 취약점 설명
개인정보
노출가능성
게임 순위에
대한 영향
매출 영향
유저의
재현 가능성
취약점이 twitter/소셜
및 인터넷에 공개될
경우의 걱정
Memory Cheat
・메모리를 조작하여 게임내
통화,스코어 등을 변조가능
없음 있음
있음
(과금하지 않고도
게임에 유리)
・jailbreak/rooting에서만 재현
가능한 취약점
・치팅툴 조작은 그렇게
전문적인 지식이 필요하지
않음
・유저 불안요소
・reputation리스크
Abuse of Functionality
・파라메터를 조작하여
게임내 통화, 스코어 등을
변조가능
・설정파일, save데이터 등을
조작
없음 있음
있음
(과금하지 않고도
게임에 이익)
・클라이언트, 서버간의 통신을
분석할 필요가 있음
・프록시툴 사용 지식이 있는
유저라면 재현가능
・유저 불안요소있음
・reputation리스크
Insufficient Process
Validation
・save데이터의 바꿔치기
(타인과 공유)
있음
(경우에 따라)
있음
(경우에 따라)
있음
(경우에 따라)
・save데이터의 바꿔치기는
누구나 따라할 수 있다.
・유저 불안요소있음
・reputation리스크
Insufficient Anti-
automation
・replay&자동플레이가 가능 없음
있음
(경우에 따라)
있음
・프록시툴 사용 지식이 있는
유저라면 재현가능
・유저 불안요소있음
・reputation리스크
Insufficient
Authorization
・부적절한 퍼미션(android) 없음 없음 없음
・android의 경우, 인스톨시
유저가 확인가능
・유저 불안요소있음
・reputation리스크
Information Leakage
・클라이언트에
단말정보(UDID,MAC),디버그
관련 파일의 저장
없음 없음 없음
・클라이언트, 서버간의 통신을
분석할 필요가 있음
-
Phurchase bypass
・apple/google과금에서
부정금입이 가능
없음 있음 있음
・클라이언트, 서버간의 통신을
분석할 필요가 있음
-
Insufficient
Authentication
・타인으로 위장 가능, 타인이
구입하나 아이템을 자신이
사용가능
있음
(경우에 따라)
없음 없음
・클라이언트, 서버간의 통신을
분석할 필요가 있음
-
Leakage private
information
・유저 식별자 및 중요정보가
클라이언트에 평문으로 저장
혹은 평문으로 송신
있음 없음 없음
・클라이언트, 서버간의 통신을
분석할 필요가 있음
-
보안검수/취약점 고찰(릴리즈전)
2018/4/24 11
12. 수집한 게임데이터를 분석하여 이상 유저를 매일 모니터링
⇒이상유저의 탐지 및 BAN대응 및 경고
・임계치 베이스
임계치를 정하여 이상유저를 검지하는 방법
게임내 통화에 대하여 효과적(Abuser의 목적:통화<>스코어<>아이템)
・스코어 베이스
정규분포에서 얼마나 떨어져 있는지 게임요소에 스코어를 부여하여 스코어가 높은 유저를 이상유저로
판단하는 방법(게임요소에 의존하지 않는다. )
모니터링 단계 (릴리즈후)
2018/4/24 12
13. Abusing의 목적
• 금전이익:치팅, 치트상품 판매, 정보판매 등
• 소셜상에서 자기과시(LINE친구에게 랭킹등)
Abuser의 타입
• 통화계의 abusing
• 스코어(랭킹)계의 abusing
• 아이템계의 abusing
• 하트계의 abusing
• (상기 모두 관련성이 있으나 구별한다면)
사후대응에 관하여
• BAN(및 경고) 및 아이템 회수
• 실제 서버의 데이터를 확인하여, 변조를 실시한 유저에 대하여
BAN(및 경고) 및 아이템을 회수, 국가에 따라서는 법률이 틀리기 때문에 대응이 다른 케이스가
존재
• 원인 조사 및 수정
• 서비스에 따라서는 취약점을 수정하지 않고 사후 대응으로 진행하는 케이스가 있음
• 계속적인 모니터링이 중요
Abuser탐지 및 대응에 대한 생각
2018/4/24 13
14. Unity dll 변조의 어뷰저가 많다
• unity 3d제작용 타이틀이 많다.
• 클라이언트측에서 중요 연산이 많은 경우가 있다.
• Assembly-CSharp.dll 디컴파일이 쉽다.
ios바이너리 변조가 증가
• Android(apk)만이 변조대상이 아니다
• ios도 jailbreak된 단말기에서는 변조바이너리(ipa)를 인스톨하여 사용가능
• 중국 타오바오 사이트에서는 치트상품이 등장
최근의 abusing경향소개
2018/4/24 14
15. 게임치팅 대응 사례(AIR활용)
치팅apk 파일을 부정으로 인스톨하여 사용한 유저의 탐지
라인게임은 글로벌로 릴리즈가 되는 경우가 많은데, 특히 해외의 경우, 치팅이슈가 커뮤니티 사이트를 통해 활발히 공유되고
있습니다.
사내에서 개발한 툴에서는 치팅apk파일을 부정으로 인스톨한 유저를 특정할 수 있는 기능을 제공하고 있어서, 치팅apk을
입수/인스톨하여 게임플레이한 유저를 대응하고 있습니다.
유니티 게임의 변조를 탐지
라인게임은 유니티로 제작되는 게임이 많은데, 특히 유니티는 디컴파일이 용이한 특성이 있어서 게임이 변조되는 경우가 많습니다.
사내에서 개발한 툴에서는 유니티 변조에 대해서 상시 모니터링 할 수 있는 기능을 제공하고 있어서, 변조한 유저를 대응 하고
있습니다.
2018/4/24 15
16. 게임치팅 대응 사례(AIR활용)
ios 바이너리 변조를 탐지
모바일앱의 변조는 android가 중심이었는데 최근에는 ios에서도 변조가 많이 발생하고 있습니다.
사내에서 개발한 툴에서는 android는 물론 ios의 바이너리 변조에 대해서도 상시 모니터링 할 수 있는 기능을 제공하고
있어서, 변조 유저에 대하여 대응하고 있습니다.
BOT 유저를 탐지
BOT유저는 탐지가 쉬울 수 도 있고, 어려울 수 도 있다.
해외에 서버를 만들고, 웹페이지에서 게임플레이가 가능한 사례
특정 IP에서 몇일간 연속으로 로그인하여 게임을 플레이한 유저.
앱을 사용하여 게임플레이를 하지 않기 때문에 특정부분에 게임로그가 남지 않는 특성이 있음
2018/4/24 16
17. 기타 (게임치팅 입건사례)
2015년 11월
치팅프로그램을 인스톨한 스마트폰을 인터넷 옥션에 출품한 고등학생을 저작권법 위반(기술적 보호수단을 회피하는
프로그램을 복제물양도) 으로 체포
http://www.sankei.com/west/news/151122/wst1511220045-n1.html
2016년 3월
부정프로그램을 사용하여 획득한 캐릭터를 옥션에 판매하여 440만엔을 이익을 챙긴 유저를 체포
http://www.sankei.com/affairs/news/160301/afr1603010008-n1.html
2018년 1월
텐센트가 최소 30건의 핵 개발, 유포 건을 해결하고 관련 용의자만 120명을 체포
http://www.zdnet.co.kr/news/news_view.asp?artice_id=20180118091314
2018/4/24 17
18. 기타
옥션 치팅상품에 관하여
게임 치팅취약성을 이용하여, 치팅대행 등의 상품
치팅상품을 판매함으로써 금전이익, 해외에서는 이미 상식화 됨(일본옥션, 중국타오바오사이트 등)
상품삭제 조취 등 옥션 상품 출품자에 대한 제재가 현실적으로 어려움
중요 커뮤니티사이트 모니터링
http://apk.tw/
https://androidrepublic.org/
https://www.androidthaimod.com/
http://appzzang.ca/
구글 리펀드어뷰징
게임내 재화를 구입후, 리펀드하는 어뷰징
게임운영단에서 리펀드 유저를 감시하여, 재화 회수 및 대응필요
국내 게임사중에는 구글과 협의하여 리펀드를 자사가 핸들링하는 케이스가 있음
2018/4/24 18
19. 토큰치환 공격이란
엑세스토큰의 발행원을 확인하지 않아서, 타앱에 발행된 엑세스토큰으로 자신이 원하는 앱에
인증하는 문제
Token Substitution (OAuth Login)
https://tools.ietf.org/html/rfc6819#section-4.4.2.6
Token 확인용 api
https://developers.line.me/restful-api/overview#check_token
https://developers.google.com/identity/protocols/OAuth2UserAgent#validate-access-token
https://developers.facebook.com/docs/graph-api/changelog#v2_0
https://developers.facebook.com/docs/facebook-login/security#tokenhijacking
토큰치환 공격(게임치팅 이외의 취약사례)
oauth 플랫폼
A앱 B앱 C앱
A앱용 엑세스토큰 B앱용 엑세스토큰 C앱용 엑세스토큰
인증시, B앱용의
엑세스토큰인지를 검증하지
않음
2018/4/24 19
24. • 보안엔지니어가 바라본 unity(セキュリティエンジニアからみたUnityのこと)
https://engineering.linecorp.com/ja/blog/detail/110
• OWASP Night at SHIBUYA, the 22nd 최근의 game security진단에 관하여(近年の
Game Security診断について)
https://www.nevermoe.com/wp-content/uploads/2017/05/owasp_jp_pubver.pdf
• security x line platform
https://www.slideshare.net/linecorp/a-5-security-x-line-platform
기타(공개자료)
2018/4/24 24