SlideShare ist ein Scribd-Unternehmen logo
1 von 78
1 78
고려대학교
김휘강
행위분석 및 프로파일링 기법을 중심으로
데이터분석 기반 게임봇과 작업장 탐지
2 78
목차
1. 게임봇 & 작업장 (GFG)
2. Various User behavior based BOT detection
3. Black Money Trail Analysis
4. User profiling based BOT detection
3 78
About me
▶ 김휘강
– KAIST 재학시절 KUS, SPARCS, Security KAIST 동아리 활동 (1994~)
– A3 Security Consulting 창업/CEO (1999.8~2002.4), CTO (~2004.4)
– NCSOFT 정보보안실장 (2004.5~2010.2)
– 고려대학교 정보보호대학원 부교수 (2010.3~현재)
• 정보보호대학원에서 “온라인게임보안” 과목 운영 중
• 엔씨소프트 블로그에 “게임과 보안"연재 중
– 주요 논문 실적
• International Conferences: NDSS 2016, WWW (2014, 2017), SIGCOMM (2011, 2013, 2015, 2016 poster)
• International Journals: IEEE Trans. On Information Forensics and Security (2017), Computer & Security
(2016), Digital Investigation (2015)
• Online game - ACM NetGames (2013, 2014, 2015, 2017)
4 78
About me
▶ Main research area
– Online Game Security
• Game Bot, Gold-Farmer Group Detection and Prevention
• In-game Fraud Detection
• Pirate Server Detection and Prevention
– Fraud Detection System
• Internet Portal, Banking, Online Game Service
– Network and System Security
• Intrusion Detection with data mining and machine learning
• Malware Analysis (Cyber Genome) – Mal-Netminer, API-MDS
• App. Security Analysis - Andro-Profiler, Andro-Tracker, Andro-AutoPsy, Andro-Dumpsys, SAPIMMDS
– Dataset release
• http://ocslab.hksecurity.net/Datasets
5 78
게임봇
▶ 왜 이리 잡기 어려운 것일까요?
게임회사들이 봇들이 뛰노는
공원에 가까이 있어서…
6 78
게임봇 – 제재 정책의 변화
▶ 2010년까지 : 게임봇, 작업장은 악의 축, 만악의 근원. 정의구현을 위해 가차없이 제재
– Client-side detection, signature-based detection
▶ 2012년까지 : 게임봇 유저를 제거하되 적정한 수준의 제거를 할 수 있겠는가? 기업형
작업장을 정밀하게 제재할 수 있는 방법 추구
– Server-side detection, data-mining based detection
▶ 2014년까지 : 모바일게임의 시대. PC기반 MMO의 쇠락. 가난함 앞에서는 모든 것이
무가치함
▶ 2016년 이후: Monetization! 게임사에서 공식적으로 돈으로 아이템을 사는 것을
인정하는 분위기 (예: WoW)
▶ 2017년: 새로운 윤리와 철학이 필요. 모바일 게임들 대부분 자동전투 제공해 주는데,
게임봇과 뭐가 달라? 왜 제재를 해야만 하지?
7 78
게임봇 – 영원한 난제
▶ Q1: 서비스 초기부터 강력하게 잡는 것이 좋을까요? 아니면 어느 정도 초반에는
두었다가 잡는 것이 좋을까요?
▶ Q2: 기업형 작업장만 타게팅하여 잡는 것이 과연 공정한가요?
고랩 유저이고 오랜 기간 이용한 VIP 개인 유저라 하더라도 일단 한번이라도 쓰면
강력히 제재해야 하는 것 아닌가요?
8 78
게임봇 – 영원한 난제
▶ Q3: 게임봇을 강력히 제재했더니, 마치 병은 고쳤는데 사람이 죽은 것처럼 되었습니다.
사업부와의 갈등을 어떻게 극복해야 할까요?
▶ Q4: 전담 보안조직에서 게임봇 탐지와 대응을 전담하는 것이 나을까요?
각 개발 스투디오마다 대응을 하는 것이 나을까요?
9 78
게임봇 – 영원한 난제
▶ Q5: PC 기반 MMORPG 라면 로그도 풍부하게 남기고 분석도 어떻게든 해보겠지만,
모바일 게임은 어떻게 해야 하나요?
▶ Q6: 우리는 회사가 크지 않아서 전담 분석인력을 두기 어렵습니다. 가성비가 가장
좋은 탐지 알고리즘은 어떤 것이 있을까요?
10 78
1. 게임봇 & 작업장 (GFG)
11 78
게임봇 (Game Bot)
▶ 사람을 대신하여 자동으로 게임플레이를 해주는 프로그램
– 게임봇 유저들의 빠른 성장과 재화 취득으로 인해 컨텐츠 소모 속도가 빨라지고,
공정한 경쟁이 이루어지지 않음
MMORPG 리니지1 자동 사냥
프로그램
FPS 서든어택 오토샷 핵
프로그램
사냥터의 위치 및 사냥 방법
선택 가능
자동 조준 및 벽을 통과하여
공격할 수 있음
장르 불문 게임핵,
게임봇은 게임유저들 불만
및 이탈 요인 중 하나
12 78
백문이 불여일견
13 78
Cheating (HACK), BOT
▶ MMORPG 에서의 BOT
14 78
Cheating (HACK), BOT
▶ MMORPG 에서의 BOT
15 78
게임봇 (Game Bot) , 게임핵
▶ AOS 장르에서의 헬퍼 (helper) - League of Legend
– 부가정보제공 (attack range, character status, attack’s ballistics, etc.) 및 자동아이템 습득
16 78
게임봇 (Game Bot) , 게임핵
▶ AOS 장르에서의 헬퍼 (helper) - League of Legend
– https://www.youtube.com/watch?v=0e-bWiQbqag
17 78
게임봇 (Game Bot) , 게임핵
▶ 모바일게임 사례
– 모바일게임은 핵, 매크로탐지가
쉽지 않음
- 단순한 게임 내 이벤트
로그 디자인 문제
통신 과금 문제 등
• 안드로이드 OS 의 한계
• 모바일 보안솔루션 적용 시
사용성 저하
• 에뮬레이터 탐지/차단 문제
18 78
게임봇 (Game Bot) , 게임핵
▶ 전형적인 튜링테스트 문제 – 저 커튼너머 대상이 사람일까 인공지능일까?
19 78
게임봇 (Game Bot) , 게임핵
▶ 세*나이츠 사례 : https://www.youtube.com/watch?v=aywBwvxqB78
20 78
게임봇, 게임핵 거래 방식 및 비용
▶Youtube 등 다양한 판매 채널 등장
▶개인 거래 방식
– 유투브 등의 동영상 사이트에 불법 프로그램
사용법 및 실행 화면을 홍보 후, 네이트온,
카카오톡 ID등의 개인 연락처를 통하여
프로그램을 판매함
▶거래 사이트를 이용한 거래 방식
– 불법 프로그램 거래 사이트를 제작하여 해당
사이트의 자료실 또는 다운로드 링크를 통해 불법
프로그램을 판매함 블루몬 사이트 결제화면 창
Youtube 내 서든 어택 홍보 화면
21 78
게임봇, 게임핵 거래 방식 및 비용
▶ 불법 프로그램 거래 비용
– 불법 프로그램 사용 기간에 따라 가격을 다르게 측정하여 판매함
• 주로 구입하는 프로그램 개수가 증가할수록 프로그램의 월별 지불 가격이 낮아짐
– 문화상품권 혹은 특정 거래 사이트를 통해 구입시 가격이 추가될 수 있음
게임 종류 프로그램 종류 가격 운영체제 비고
리니지 패신 프로그램 20,000원 / 월 윈도우 7
-월 27,000원(10개 이상 시)
-월 25,000원(30개 이상 시)
-월 23,000원(50개 이상 시)
리니지2 애플 프로그램 10,000원 / 월 - -월 9,500원(10개 이상 시)
아이온 한복 프로그램 20,000원 / 월 윈도우7(64bit)
-월 12,000원(10개 이상 시)
-20개 및 대량 구매는 메신저 문의
서든어택 드레곤 랭커용 프로그램 250,000원 - -문화 상품권 또는 아이템 매니아 거래 시 50,000원 추가
22 78
게임봇 사용 방법
▶ 누구나 쉽게 사용할 수 있도록 제작∙배포됨, 판매자의 친절한 설명 제공
▶ 경우에 따라 방화벽 해제, 백신 종료, 관리자 권한으로 실행 등의 부가적인 과정이
필요함
아이온 오토 프로그램 실행 화면 리니지2 오토 프로그램 실행 화면
23 78
유저들의 인식
▶ 게임봇이 저렇게 많은데, 쉽게 구할 수 있는데 왜 막지 않는가?
▶ 신고시스템을 통해 신고를 해도 왜 대응이 되지 않는가?
▶ 아이템 거래 사이트를 모니터링 하면 게임봇 이용자, 전문 작업장, 심지어 사설서버
내에서 생성된 아이템 거래 규모를 누구나 추정할 수 있는데, 왜 대응을 하지 않는가?
▶ 결국 공생 관계 아닌가? 라는 부정적인 인식이 유저들 사이에서 팽배
24 78
게임회사를 위한 변명
▶ 현실적인 한계가 많음 – 오탐 문제, (적반하장) 봇 유저들의 법적 대응
– 법적으로도 이제 겨우 제도가 정비되었음 (이동섭 의원 발의, 게임법 일부 개정안)
▶ GM 조직 역할 및 구조 변화
▶ 무엇보다도 기술적으로 막기 어려움
▶ 소모전이어서 개발자들로서는 맡고 싶지 않음
25 78
게임봇이 존재하는 이유
▶ 돈으로 살 수 없는 것 = 시간
– 온라인 게임 가상세계 내에서는 모두 ‘시간’ 이라는 공평한 한계를 가짐
– 게임봇은 돈으로 ‘시간'을 살 수 있게 해 줌
▶ 현실의 재화와 가상의 재화가 연결되면서, 시간이라는 재화는 더 이상 공평하지 않음
– 현실세계에서의 부자가 가상세계에서도 부자이자, 강자가 됨
– 짧은 시간 내에 성장하고 싶은 수요는 끊임없이 존재할 것임
▶ BM의 문제로 볼 것인지, 윤리/정의의 문제로 볼 것인지
26 78
작업장, App fake reviewer
▶ 작업장, App fake reviewer = new Hackers in new digital era
27 78
대리 육성
▶3~4주 하루평균7~11시간씩하고 담배비 피방비 밥값
총30만원빼고 현재186만원벌음 문화상품권도
15만원합치면 총230벌고 30겜방담배밥사먹은돈 빼고
200만원벌었다.. 맡기시는분들도 다좋으신분들이고
가끔 금수저분들이 고생했다고 5만원씩
더입금해주시는분들도 있고 ㅋㅋㅋ 이게참 몸은편하고
좋은데 정신적으로 힘듬 특히 브실할때
너무스트레스다..현지인들이 못올리는이유가 있음
브실구간이 부캐대리가많고 트롤들이 엄청많음;
브실대리기사 거의 뭐 플레상중애들이라 쉽게
이기긴하는데 현지인이라치면 당연히 못올린다고
생각함 내가대리하면서 제일쉬운순서는 플레그담 골드
그담브론즈 그다음 다이아 그담 실버라생각함
리얼실버는진짜 제일암임..ㅎㅎ 하 이제300만원만찍고
쉬고싶다ㅜㅜ
▶[출처] 롤 대리사이트 수입공개함 (리그 오브 레전드
한국커뮤니티) |작성자 aujh106
28 78
PC 기반 작업장  모바일 작업장
▶ 작업장 역시 끊임없이 진화 중
▶ 모바일 게임 전용 작업장 출현
29 78
2. Various User Behavior based
BOT detection
30 78
Server side BOT detection
Server
Side
BOT
detection
클라이언트 단 탐
지의 한계 및
Usability 고려
원할 때 원하는
만큼 제재 가능
빅데이터 분석 인
프라 기술 발전
작업장 및 BOT제
작자에게 탐지 기
법 노출을 최소화
31 78
Server side BOT detection
• 게임 action log 를 기반으로 data mining 을 하여 BOT 과 작업장을 탐지
• 이동 패턴, 채팅 패턴, 거래 패턴, 전투/사냥 패턴, 로그인 패턴, Action sequence 패턴, ...
• 사람과 BOT의 행위의 차이점을 구분 (classification)하는 기법
▶ Kang, Ah Reum, Huy Kang Kim, and Jiyoung Woo. "Chatting pattern based game BOT detection: do they
talk like us?." KSII Transactions on Internet and Information Systems (TIIS) 6.11 (2012): 2866-2879.
▶ Kang, Ah Reum, et al. "Online game bot detection based on party-play log analysis." Computers &
Mathematics with Applications 65.9 (2013): 1384-1395.
▶ Kwon, Hyukmin, et al. "Surgical strike: A novel approach to minimize collateral damage to game BOT
detection." Proceedings of Annual Workshop on Network and Systems Support for Games. IEEE Press,
2013.
▶ Lee, Jina, et al. "I know what the BOTs did yesterday: full action sequence analysis using Naïve Bayesian
algorithm." Proceedings of Annual Workshop on Network and Systems Support for Games (NetGames).
IEEE Press, 2013.
▶ Lee, Jin, Kang, Sung Wook, and Huy Kang Kim, “Hard-core user and bot user classification using game
character's growth types”, Network and Systems Support for Games (NetGames), 2015 International
Workshop on
▶ Lee, Eunjo, et al., You Are a Game Bot!: Uncovering Game Bots in MMORPGs via Self-similarity in the
Wild, Proceedings of Network & Distributed System Security Symposium 2016
32 78
32
Son S, Kang AR, Kim H-c, Kwon T, et al. (2012) Analysis of Context Dependence in Social Interaction Networks of a Massively
Multiplayer Online Role-Playing Game. PLoS ONE 7(4): e33918. doi:10.1371/journal.pone.0033918
http://www.plosone.org/article/info:doi/10.1371/journal.pone.0033918
Server side BOT detection – SNA 분석 예
33 78
• In-game spammer
• 누가 스패머인가?
33
• 작업장
• 누가 거대 작업장인가?
Server side BOT detection – SNA 분석 예
34 78
▶ 일반 이용자 vs. 작업장 채팅 패턴 시각화
▶ 추천 툴 – Tableau (상용), Gephi (무료; https://gephi.org/)
3
4
BOT
user
BOT
user
Normal user Normal user
Guild master
Server side BOT detection – 채팅 패턴
35 78
추천 시각화 툴
▶ SNA 및 시각화의 장점
– 전체를 조망해 보기에 유리, GM tool 로도 유용
▶ 추천 차트
– Parallel Coordinate Chart (Ggobi, R, Pandas)
– 축 디자인에 따라 Visual Signature (특정 조건에서 특정 모양이 발생)를 찾기에 유리
36 78
추천 시각화툴 - Parallel coordinate chart 적용 예
▶대규모로 “sa” 계정 권한으로 삭제 쿼리 발생 시 우하향 마름모꼴 모양 발생
Src IP user Target DB.table Query type
select
update
delete
sa
op1
37 78
추천 시각화 툴 - Parallel coordinate chart 적용 예
▶고객정보 DB table에 대규모 select 쿼리 발생 시 우상향 붉은 선 발생
Src IP user Target DB.table Query type
select
update
delete
sa
op1
Custom.UserssnTable
38 78
Server side BOT detection – action sequence analysis
▶ BOT’s working pattern is self-repetitive (self-similar)
– Login -> move to hunting zone A -> hunting some
Monsters -> use healing potions -> hunting some
monsters -> use healing potions -> move to hunting
zone B ….
▶ String sequence 로 encoding
– Login : l
– Moving : m
– Hunting : h
– Summoning : s
– Healing magic: h
– Use consumable healing potion : u
▶ Encoding 결과
– lmhhhhhuhhhhhhhuum
3
8
Lee, Jina, et al. "In-game action sequence analysis for game bot detection on the big
data analysis platform." Proceedings of the 18th Asia Pacific Symposium on Intelligent
and Evolutionary Systems-Volume 2. Springer International Publishing, 2015.
39 78
Server side BOT detection – action sequence analysis
▶ Action sequence 는 봇탐지 외에도 고객경험분석, 이탈분석, monetization 에도
다양하게 활용됨
▶ 예: 이탈한 고객들이 이탈 직전에 공통으로 경험한 action sequence 는 ?
– 이탈 전에 공통으로 계정도용을 당했는가? 이탈 전에 특정 퀘스트를 수행하였는가?
▶ 예: 결제를 한 고객들이 결제 직전에 공통으로 경험한 action sequence 는?
– 결제 전에 극적인 사냥성공 후 레벨업을 달성했는가?
▶ Common action sequence 추출을 위해 LCS, LCCS 등의 알고리즘을 사용
3
9
KILL
경험치획득!
공격 물약먹고
체력회복
마법공격
40 78
찾았다 너의 패턴, 강약약 중간약약
▶ 중국집에서 발견한 짜장면+탕수육 식사 action sequence
▶약 40% 의 인원들이 “젓가락들고-단무지-탕수육한입-탕수육한입-짜장비비고-
짜장한입” 과 같은 공통된 패턴을 보임
▶약 20% 의 인원들이 “젓가락들고-짜장비비고-짜장한입-짜장한입- 탕수육한입-
짜장한입- 짜장한입- 탕수육한입” 의 패턴을 보임
▶0.5% 미만의 괴이한 식사 패턴을 보이는 사람들이 “젓가락들고-단무지한입-
단무지한입 - 단무지한입 - 단무지한입 – 단무지한입 –양파한입 – 짜장한입 -
식사끝” 의 패턴을 보임
▶ 이를 게임봇 탐지에 응용을 한다면?
41 78
Action Sequence 분석
▶ 데이터 전처리 (계속)
– 로그 아이디 매핑
• 시퀀스 분석시 ClustalX2 도구를 사용함
• 시퀀스 분석을 위해 게임 내 액션들을 26개의
알파벳으로 매핑
알파벳 이벤트 알파벳 이벤트
알파
벳
로그
A
로그인 I 상점판매
V
길드가입
로그아웃
J
외치기 길드생성
C
닉네임변경 귓속말 길드스킬추가
레벨상승 그룹 채팅 길드위임
슬롯확장 K 길드 생성 길드출석
캐릭터 생성 L 길드 가입
W
길드탈퇴
코스튬 구매 M 길드 탈퇴 길드해체
D 획득 N 스킬 포인트 구매 S 길드추방
E 보상 O 미션완료
X
상품 구매
F 우편수령 P 스테이지 선물하기
G
아이템승급 Q 퀘스트 Y 공성전
아이템강화
R 레이드
Z
계정전환
T 1:1 대전-승리
회원탈퇴
U 1:1 대전 – 패배
H 상점구매 V 길드레벨상승 기타
[로그 알파벳 매핑 표]
42 78
Action Sequence 분석 - The good, the bad, the weird
▶ The good, the bad, the weird
의도한 게임 디자인대로의 action sequence
43 78
Action Sequence 분석 - The good, the bad, the weird
단순 action sequence 외에도 sequence 사이의 interval 을 함께 분석 시 효과가 배가
[Heavy User-Purchase 유저들의 시퀀스]
조사해볼 가치가 있는 유저
44 78
3. Black Money Trail Analysis
Kwon, Hyukmin, et al. "Crime scene reconstruction: Online gold farming network
analysis." IEEE Transactions on Information Forensics and Security 12.3 (2017): 544-
556.
Woo, Kyungmoon, et al. "What can free money tell us on the virtual black
market?." ACM SIGCOMM Computer Communication Review 41.4 (2011): 392-393.
45 78
기초 작업
1. 게임 전체 이용자들의 평균 거래 횟수, 평균 거래 금액 등 기초 통계 확인
2. 양적인 부분 외에도 거래 방향, 거래 아이템 종류, 거래 interval, 거래가 발생한 지역
등 다양한 분석 필요
– 모든 로그에 “년월일시분초“, “좌표“, “아이템/머니 잔액” 을 foot print 로 넣어주는 것이
분석에 상당한 도움을 줌
– 검색 속도를 높이기 위해 action ID 넘버링 규칙을 잘 지정할 것
• 가장 잘 구현된 event ID 예 – HTTP 응답 값
– 400 대 응답값은 무조건 client 단의 에러임 (404 not found)
– 500 대 응답은 무조건 server 단 에러임
– 200 대 응답은 하여간 ok!
46 78
이상한 거래 정의 필요
▶ 일방적으로 받기만 하는 관계
– 아무리 친한 친구라 하더라도 내가 10번 밥을 사면 1번은 상대방도 밥을 사줘야 하지 않나?
▶ 기꺼이 모든 것을 주는 관계
– 아무리 친한 친구라 하더라도 매번 가진 자산의 90%를 일방적으로 주는 것은 이상하지 않나?
▶ 정기적으로 주는 관계
– 아니 택시회사 사납금도 아니고 어떻게 정해진 시간대에 납입하듯 주지?
47 78
▶Free money trading 을 파악하는 것이 중요
47 전체 거래 네트워크 대가 없는 게임 머니 및 아이템 이동 네트워크
Server side BOT detection – trading network analysis
48 78
누구를 타겟으로 할 것인가?
▶ 게임봇을 박멸하고 싶은가?
– 총력전 (Total War), 이쪽의 출혈도 큼, 격침시킨 배가 총 몇 척인가로 측정하지는 말 것
▶ 뱅커 (통장계정)을 선별적으로 박멸하고 싶은가?
– 외과적 수술 (surgical strike), 격침시킨 배의 총 배수량 톤수로 측정하는 방식
▶ 대형작업장만을 노리고 싶은가?
– 거래 규모로 filtering, 어짜피 20:80 룰은 이곳에도 성립
▶ 탐지 알고리즘을 숨기고 싶은가?
– 기만전술 (Deception), 통신 암호 해독에 성공했어도 못한 척. 일부 작업장은 일부러 살려 둠
▶ 제재 시점은 언제가 좋겠는가?
– 전격전 (Blitz Tactics), 작업장들이 결제를 대량으로 한 3일 후가 좋겠군. 훗훗훗
49 78
▶그래프 정제(Refine)
49
대가 없이 이동한 게임머니 네트워크 대가 없이 이동한 게임머니 네트워크에서
3-tier 이하 네트워크 제거
Server side BOT detection – trading network analysis
50 78
Detection Rule Setup
▶ 원래 자동화 분석은 피와 땀의 수동분석 후에 만들어 지는 것
– 작업장 추출 rule을 setup하기 위해 seed가 되는 캐릭터들을 수동으로 추출
– 거래 횟수가 많고 Free money & item ratio가 높은 캐릭터 중 작업장 캐릭터가 많다는 것을
확인하여 수동으로 일부 추출
Number of Money Transfer Transactions
Frequency(Logscale)
Manual inspection result The free money ratio distribution
51 78
Detection Rule Setup
▶ Manual inspection
– Merchant/Banker 캐릭터의 경우 거래의 중심에 있다는 것을 이용하여 Betweenness centrality
를 확인
– 높은 값을 갖는 캐릭터 중 merchant 캐릭터가 있음을 수동 분석으로 확인
The setting of the betweenness centrality
52 78
IP-Account Combination analysis
▶ 기존에 수동으로 찾았던 Gold Farming Group의 IP정보를 이용하여 같은 그룹의
작업장 찾기
추출 한
Gold Farming Network
수동 추출한 캐릭터의 IP추출,
추출된 IP와 같은 네트워크의 IP추출
추출 IP에서 캐릭터 추출,
추출된 캐릭터간 자금흐름 확인
Noise 제거
951,065 accounts
(75,850 IP)
7,978 characters
2,811 characters555 characters
(475 accounts)
53 78
IP-Account Combination analysis
▶ Refine 과정  이 모든 작업은 오탐 (False-Positive 를 줄이기 위함)
– 실제 Gold Farming Network 이고 관련 network이 관찰되나 분석 기간 때문에 따로 떨어져있는 것
처럼 보이는 작은 network 제거
– Gold Farming Network과 동일한 IP대역을 사용하였으나 Gold Farming Network의 목적으로
사용하지 않은 캐릭터 or 네트워크 제거
– 정말 Gold Farming Group의 구성원이 아닌 캐릭터 제거
• 가맹 PC방 IP address 이나 가정집 등
54 78
Results
▶ Gold Farming Group 추출
– GFG Network 특성 값 추출
Description Values
Nodes 555
Edges 1,791
Network Diameter 8
Graph Density 0.006
Avg. Clustering
Coefficient
0.334
Avg. Path Length 2.871
추출된 초기 Gold farming network
Description Values
Nodes 2,811
Edges 6,031
Network Diameter 21
Graph Density 0.001
Avg. Clustering
Coefficient
0.044
Avg. Path Length 6.683
Refined network
Description Values
Nodes 7,978
Edges 18,651
Network Diameter 25
Graph Density 0
Avg. Clustering
Coefficient
0.073
Avg. Path Length 7.307
관계된 모든 character network
55 78
▶ 탐지 Rule 예
– 봇 의심 (AND)
• Free trade Ratio >=0.8
• Merchant(Agent) trade= 0
• # of free trade(take or give Item&GameMoney without
reward)>16
• # of transactions/month >=20
• Amount of Money >=5,000,000
• Level>=10
• Indegree == 0, OutDegree > 0, Free trade Ratio == 1,
level=50
55
Server side BOT detection – 탐지 룰 생성
56 78
Detection Rule Setup
▶ Manual inspection
– 작업장 관련 Banker (통장계정) 캐릭터와 Merchant 캐릭터의 존재 확인
– 올바른 제재 performance metric 설정이 필요 (제재 계정 개수 -> 회수 머니 량)
– Manual inspection 을 통해 선정한 확실한 (no false-positive error) 작업장 캐릭터의 거래 네트워크를
2-tier 로 확장하여 다른 작업장 캐릭터 확인
57 78
Basic Economic Characteristic
▶ 캐릭터 역할 별 평균 레벨, 거래량, 획득 게임머니
▶ 작업장별 게임머니 및 거래량
58 78
Temporal Dynamics and Banning Effect
• 계정 제재로 인한 작업장 감소 효과는 확실함
• 지속적인 제재는 작업장의 경제규모에도 영향을 주고, 캐릭터 수에도 영향을 주어 작업장을
붕괴시킴
58
59 78
Temporal Dynamics and Banning Effect
• 작업 캐릭터를 공급해주는 캐릭터 작업장이 있음
– 신규캐릭터 생성, 계정생성 타이밍, 제재 타이밍 간 미묘한 해석
59
60 78
4. User Profiling based BOT
detection
Kang, Ah Reum, et al. "Multimodal game bot detection using user behavioral
characteristics." SpringerPlus 5.1 (2016): 523.
61 78
Goal
▶데이터 마이닝을 이용한 게임봇 탐지 정확도 향상
– 기존 게임봇 탐지 연구들에서 기 검증된 피쳐(feature)를 활용
– 여러 피쳐를 단일 탐지 프레임워크에 사용하여 고성능으로 게임봇을 탐지함
– 잘못 분류된 일반 유저와 게임봇의 특징을 분석하고 원인을 파악함
▶데이터 셋
– A 모 게임 내 1개 서버에서 생성된 88일간의 in-game 활동 로그 (약 80,000 캐릭터)
– 분석 기간내 3시간 이상 플레이를 수행한 49,379 캐릭터를 연구 대상으로 설정
• 일반 유저: 42,037 (84.5%) / 게임봇: 7,702 (15.5%)
• 게임봇 식별 기준: 불법 프로그램 사용으로 인해 제재 된 이력이 있는 캐릭터
62 78
Framework
▶Overall Design
Game log
- Training +
validation
63 78
캐릭터 피쳐 추출
▶게임봇은 재화를 수집하면서 일반 유저와 다른 행위 패턴을 보임
– 일반 유저와 게임봇의 차이를 잘 반영하는 피쳐를 추출함
Category Feature
Personal
features
로그인 정보
로그인 빈도, 플레이 시간, 보유 게임 머니,
접속한 클라이언트의 IP Address 수
캐릭터 활동
앉기 횟수, 아이템 획득 수, 채집 횟수, 경험치 획득량, 아이템
획득 수, PK 포인트 획득량, PK로 인한 사망 수, 부활 횟수,
포탈 이용 횟수
Social
features
그룹 활동 파티 플레이 시간, 길드 활동량
활동 다양성 파티, 친구, 거래, 귓속말, 메일, 개인 상점, 길드 기능 이용량
소셜 네트워크
분석
{연결, 근접, 매개, 고유벡터} 중심성, authority, hub, PageRank,
clustering coefficient
64 78
캐릭터 행위 특성 비교 (1/8)
▶게임 활동 비교
– (a), (b): 게임봇은 일반 유저에 비해 로그인이 잦고, 게임 내에서 장시간 활동한 것을
확인할 수 있음
– (c): 대부분의 일반 유저는 소량의 아이템을 채집하는 반면, 전체 게임봇의 60%는 하루에
5,000번 이상의 채집을 수행 (사람은 1천건도 도저히 불가능)
(a) 로그인 횟수 (b) 누적 플레이 시간 (hours) (c) 일일 최대 아이템 수집 횟수
65 78
캐릭터 행위 특성 비교 (2/8)
▶일반 유저와 게임봇의 행동 횟수 분포
게임 플레이 시간 경험치 획득 횟수
길드 활동 아이템 수집 횟수
아이템 최대 수집 횟수 게임 머니 수집 횟수
앉기 횟수 PK 포인트 획득 횟수
66 78
캐릭터 행위 특성 비교 (3/8)
▶게임 내 행동 비율 비교
– 게임봇이 수행하는 전체 활동의 50%는 아이템 수집, 경험치 획득임을 확인함
• 일반 유저의 1.5 ~ 2배 수준
– 게임봇은 일반 유저에 비해 앉기 활동이 빈번하며, PK 포인트는 거의 획득하지 않음
67 78
캐릭터 행위 특성 비교 (4/8)
▶그룹 활동 (파티 플레이 시간)
– 일반 유저의 80%는 2시간 20분 이하로 파티 플레이 수행
– 게임봇의 80%는 4시간 10분 이상 파티 플레이 수행
▶소셜 활동 다양성
– 게임봇은 골드 파밍이나 RMT 관련 행위에 집중하므로
소셜 활동 다양성이 낮게 관측됨
• 관측 소셜 활동: 파티, 친구, 거래, 귓속말, 메일, 개인 상점,
길드
68 78
캐릭터 행위 특성 비교 (5/8)
▶소셜 네트워크 분석
– 파티, 친구, 거래, 귓속말, 메일, 개인 상점 네트워크의 특징을 아래의 척도로 측정하여
피쳐로 사용함
네트워크 척도 특징
Degree centrality 많은 노드들과 연결된 노드일 수록 중요하다고 식별
Betweenness centrality 짧은 최단거리를 갖는 노드일 수록 중요하다고 식별
Closeness centrality 다른 노드들과 가까이 연결된 노드일 수록 중요하다고 식별
Eigenvector centrality 중요한 다른 노드와 많은 관계를 가질 수록 중요한 노드로 식별
Eccentricity 전체 네트워크에서 얼마나 중심에 위치하는지 식별
Authority 다른 좋은 노드들을 가리키고 있는지 식별
Hub 다른 좋은 노드들에 의해 참조되고 있는지 식별
Clustering Coefficient 노드들 사이의 연결 밀도를 식별
69 78
캐릭터 행위 특성 비교 (6/8)
▶소셜 네트워크 분석
– 평균 degree 를 통해 게임봇은 일반 유저에 비해 소셜 활동이 제한적이라는 것을 알 수
있음
70 78
캐릭터 행위 특성 비교 (7/8)
▶소셜 네트워크 분석(계속)
– Network motif
• 귓속말, 이메일 네트워크에서 게임봇과 일반 유저의 다른 양상을 확인함
71 78
캐릭터 행위 특성 비교 (8/8)
▶소셜 네트워크 분석(계속)
– 두 네트워크 사이에서의 상호 작용 비교 (Jaccard coefficient 이용)
• 일반 유저는 동일한 유저와 여러 네트워크에 걸쳐 상호 작용을 수행함
• 봇은 파티, 친구, 거래 한정
72 78
게임봇 탐지 (1/3)
▶Feature selection 알고리즘으로 게임봇 탐지에 사용될 피쳐를 선택하였음
▶총 144개 feature
– CFS Subset Evaluator + Best first, Greedy stepwise
– Information Gain Attribute Evaluator + Ranker
▶Test classifier : Random Forest
▶Feature set 의 성능 비교
– Feature_Set1 (144개, 전체)
– Feature_Set2 (62개)
– Feature_Set3 (6개)
73 78
게임봇 탐지 (2/3)
▶게임봇 분류 결과
– Random forest 알고리즘을 이용해 96.1% 정확도로 게임봇과 일반 유저를 식별함
• 높은 정확도 (accuracy) 에 대비 재현율 (Recall) 이 0.742로 낮게 측정되었음
Classifier
Overall
accuracy
Human Bot
Precision Recall
F-Meas.
(0.9)
Precision Recall
F-Meas.
(0.9)
Decision tree 0.955 0.960 0.989 0.963 0.911 0.737 0.890
Random forest 0.961 0.961 0.995 0.964 0.956 0.742 0.929
Logistic regression 0.955 0.956 0.994 0.960 0.950 0.705 0.918
Naïve Bayes 0.948 0.960 0.981 0.962 0.859 0.734 0.845
74 78
게임봇 탐지 (3/3)
▶분류 결과에 따른 캐릭터 비교
– 봇으로 분류된 캐릭터 (TP, FP) 혹은 일반 유저로
분류된 캐릭터 (TF, FN) 끼리 유사한 특징을 가짐
– Bot → Bot (4,635 캐릭터)
– Human → Bot (213 캐릭터)
• Bot과 거의 동일한 특징을 가짐
• 게임 사로부터 제재되지 못한 게임봇을 의미함
– Bot → Human (1,615 캐릭터)
• Human과 거의 유사한 특징을 보임
• 일반 유저가 특정 시기에 게임봇을 사용한 것을 확인
• 채집 봇, 파티 봇을 확인함
– Human → Human (39,885 캐릭터)
75 78
결론
▶일반 사용자와 게임봇 사용자의 행위 특징을 이용하여 프로파일링
– 로그인 정보, 캐릭터, 활동, 그룹 활동, 활동 다양성, 소셜 네트워크 분석
– 다른 SW와의 충돌이나 게임 플레이 방해를 방지하면서 게임봇 탐지가 가능함
▶일반 유저와 게임봇의 행위 특징을 이용하여 게임봇 사용자를 탐지할 수 있음
▶탐지 정확도: 96.06% (44,274 / 46,348)
76 78
데이터 셋
▶공개 데이터 셋
– 데이터 전처리 과정, 사용된 피쳐, 피쳐 선택 알고리즘 결과, 학습에 사용된 최종 입력
데이터 및 분류 결과가 공개되어 있음
– http://ocslab.hksecurity.net/Datasets/game-bot-detection
[Player_action_features.csv]
77 78
맺으며
▶게임봇, 작업장과 싸워나가는 것은 장기전
▶잠재적인 고객 이탈을 막고, 만족도를 높이는 중요한 작업임
▶환금성, 거래 기능으로 인해 모바일 게임 용 게임봇, 작업장 출현에 선제적으로
대응 필요
▶로그 디자인, 분석 인프라 마련, 제재 정책을 게임 런칭 단계부터 준비
78 78
경청해 주셔서 감사합니다.

Más contenido relacionado

Was ist angesagt?

이승재, 실시간 HTTP 양방향 통신, NDC2012
이승재, 실시간 HTTP 양방향 통신, NDC2012이승재, 실시간 HTTP 양방향 통신, NDC2012
이승재, 실시간 HTTP 양방향 통신, NDC2012devCAT Studio, NEXON
 
로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법Jeongsang Baek
 
취미로 엔진 만들기
취미로 엔진 만들기취미로 엔진 만들기
취미로 엔진 만들기Jiho Choi
 
임태현, MMO 서버 개발 포스트 모템, NDC2012
임태현, MMO 서버 개발 포스트 모템, NDC2012임태현, MMO 서버 개발 포스트 모템, NDC2012
임태현, MMO 서버 개발 포스트 모템, NDC2012devCAT Studio, NEXON
 
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.Yongho Ha
 
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기Jaeseung Ha
 
[NDC 2009] 행동 트리로 구현하는 인공지능
[NDC 2009] 행동 트리로 구현하는 인공지능[NDC 2009] 행동 트리로 구현하는 인공지능
[NDC 2009] 행동 트리로 구현하는 인공지능Yongha Kim
 
테라로 살펴본 MMORPG의 논타겟팅 시스템
테라로 살펴본 MMORPG의 논타겟팅 시스템테라로 살펴본 MMORPG의 논타겟팅 시스템
테라로 살펴본 MMORPG의 논타겟팅 시스템QooJuice
 
중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직Hoyoung Choi
 
Multiplayer Game Sync Techniques through CAP theorem
Multiplayer Game Sync Techniques through CAP theoremMultiplayer Game Sync Techniques through CAP theorem
Multiplayer Game Sync Techniques through CAP theoremSeungmo Koo
 
실시간 게임 서버 최적화 전략
실시간 게임 서버 최적화 전략실시간 게임 서버 최적화 전략
실시간 게임 서버 최적화 전략YEONG-CHEON YOU
 
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들Chris Ohk
 
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장Dylan Ko
 
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인강 민우
 
Next-generation MMORPG service architecture
Next-generation MMORPG service architectureNext-generation MMORPG service architecture
Next-generation MMORPG service architectureJongwon Kim
 
언리얼을 활용한 오브젝트 풀링
언리얼을 활용한 오브젝트 풀링언리얼을 활용한 오브젝트 풀링
언리얼을 활용한 오브젝트 풀링TonyCms
 
게임 스타트업 시작하기
게임 스타트업 시작하기게임 스타트업 시작하기
게임 스타트업 시작하기기룡 남
 
그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기Yongha Kim
 
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018devCAT Studio, NEXON
 
게임제작개론 : #6 게임 시스템 구조에 대한 이해
게임제작개론 : #6 게임 시스템 구조에 대한 이해게임제작개론 : #6 게임 시스템 구조에 대한 이해
게임제작개론 : #6 게임 시스템 구조에 대한 이해Seungmo Koo
 

Was ist angesagt? (20)

이승재, 실시간 HTTP 양방향 통신, NDC2012
이승재, 실시간 HTTP 양방향 통신, NDC2012이승재, 실시간 HTTP 양방향 통신, NDC2012
이승재, 실시간 HTTP 양방향 통신, NDC2012
 
로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법
 
취미로 엔진 만들기
취미로 엔진 만들기취미로 엔진 만들기
취미로 엔진 만들기
 
임태현, MMO 서버 개발 포스트 모템, NDC2012
임태현, MMO 서버 개발 포스트 모템, NDC2012임태현, MMO 서버 개발 포스트 모템, NDC2012
임태현, MMO 서버 개발 포스트 모템, NDC2012
 
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
 
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
NDC 2017 하재승 NEXON ZERO (넥슨 제로) 점검없이 실시간으로 코드 수정 및 게임 정보 수집하기
 
[NDC 2009] 행동 트리로 구현하는 인공지능
[NDC 2009] 행동 트리로 구현하는 인공지능[NDC 2009] 행동 트리로 구현하는 인공지능
[NDC 2009] 행동 트리로 구현하는 인공지능
 
테라로 살펴본 MMORPG의 논타겟팅 시스템
테라로 살펴본 MMORPG의 논타겟팅 시스템테라로 살펴본 MMORPG의 논타겟팅 시스템
테라로 살펴본 MMORPG의 논타겟팅 시스템
 
중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직중앙 서버 없는 게임 로직
중앙 서버 없는 게임 로직
 
Multiplayer Game Sync Techniques through CAP theorem
Multiplayer Game Sync Techniques through CAP theoremMultiplayer Game Sync Techniques through CAP theorem
Multiplayer Game Sync Techniques through CAP theorem
 
실시간 게임 서버 최적화 전략
실시간 게임 서버 최적화 전략실시간 게임 서버 최적화 전략
실시간 게임 서버 최적화 전략
 
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
 
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
 
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인
[IGC2018] 캡콤 토쿠다 유야 - 몬스터헌터 월드의 게임 컨셉과 레벨 디자인
 
Next-generation MMORPG service architecture
Next-generation MMORPG service architectureNext-generation MMORPG service architecture
Next-generation MMORPG service architecture
 
언리얼을 활용한 오브젝트 풀링
언리얼을 활용한 오브젝트 풀링언리얼을 활용한 오브젝트 풀링
언리얼을 활용한 오브젝트 풀링
 
게임 스타트업 시작하기
게임 스타트업 시작하기게임 스타트업 시작하기
게임 스타트업 시작하기
 
그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기그럴듯한 랜덤 생성 컨텐츠 만들기
그럴듯한 랜덤 생성 컨텐츠 만들기
 
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
 
게임제작개론 : #6 게임 시스템 구조에 대한 이해
게임제작개론 : #6 게임 시스템 구조에 대한 이해게임제작개론 : #6 게임 시스템 구조에 대한 이해
게임제작개론 : #6 게임 시스템 구조에 대한 이해
 

Ähnlich wie 데이터분석 기반 게임봇과 작업장 탐지 (NDC 2017)

Fraud Detection - online game 과 결제를 중심으로
Fraud Detection - online game 과 결제를 중심으로Fraud Detection - online game 과 결제를 중심으로
Fraud Detection - online game 과 결제를 중심으로NAVER Engineering
 
NETSEC-KR 2015, 온라인게임보안의 미래
NETSEC-KR 2015, 온라인게임보안의 미래 NETSEC-KR 2015, 온라인게임보안의 미래
NETSEC-KR 2015, 온라인게임보안의 미래 Korea University
 
탐사분석을통한작업장탐지
탐사분석을통한작업장탐지탐사분석을통한작업장탐지
탐사분석을통한작업장탐지Eun-Jo Lee
 
그로스 해킹 & 데이터 프로덕트 (Growth Hacking & Data Product) - 고넥터 고영혁 (Gonnector Dylan Ko)
그로스 해킹 & 데이터 프로덕트 (Growth Hacking & Data Product) - 고넥터 고영혁 (Gonnector Dylan Ko)그로스 해킹 & 데이터 프로덕트 (Growth Hacking & Data Product) - 고넥터 고영혁 (Gonnector Dylan Ko)
그로스 해킹 & 데이터 프로덕트 (Growth Hacking & Data Product) - 고넥터 고영혁 (Gonnector Dylan Ko)Dylan Ko
 
LINE Game Security III by LINE Corp. Lee Myeong Jae 20180405
LINE Game Security III by LINE Corp. Lee Myeong Jae 20180405LINE Game Security III by LINE Corp. Lee Myeong Jae 20180405
LINE Game Security III by LINE Corp. Lee Myeong Jae 20180405SUHYUNJEON
 
Neural stream
Neural streamNeural stream
Neural streamMk Kim
 
NDC 2017 키노트: 이은석 - 다가오는 4차 산업혁명 시대의 게임개발
NDC 2017 키노트: 이은석 - 다가오는 4차 산업혁명 시대의 게임개발NDC 2017 키노트: 이은석 - 다가오는 4차 산업혁명 시대의 게임개발
NDC 2017 키노트: 이은석 - 다가오는 4차 산업혁명 시대의 게임개발Eunseok Yi
 
Graph Database Meetup in Korea #8. Graph Database 5 Offerings_ DecisionTutor ...
Graph Database Meetup in Korea #8. Graph Database 5 Offerings_ DecisionTutor ...Graph Database Meetup in Korea #8. Graph Database 5 Offerings_ DecisionTutor ...
Graph Database Meetup in Korea #8. Graph Database 5 Offerings_ DecisionTutor ...bitnineglobal
 
NDC 2013, 마비노기 영웅전 개발 테크니컬 포스트-모템
NDC 2013, 마비노기 영웅전 개발 테크니컬 포스트-모템NDC 2013, 마비노기 영웅전 개발 테크니컬 포스트-모템
NDC 2013, 마비노기 영웅전 개발 테크니컬 포스트-모템tcaesvk
 
[코세나, kosena] 생성AI 프로젝트와 사례
[코세나, kosena] 생성AI 프로젝트와 사례[코세나, kosena] 생성AI 프로젝트와 사례
[코세나, kosena] 생성AI 프로젝트와 사례kosena
 
[BLT토크콘서트] BM특허 전략과 소송대응전략 20170424
[BLT토크콘서트] BM특허 전략과 소송대응전략 20170424[BLT토크콘서트] BM특허 전략과 소송대응전략 20170424
[BLT토크콘서트] BM특허 전략과 소송대응전략 20170424JEONG HAN Eom
 
Data analysis for game fraud detection
Data analysis for game fraud detectionData analysis for game fraud detection
Data analysis for game fraud detectionEun-Jo Lee
 
IoT미래산업포럼출범식
IoT미래산업포럼출범식IoT미래산업포럼출범식
IoT미래산업포럼출범식(주)SNC Lab.
 
알쓸신잡, 머신러닝&추천시스템
알쓸신잡, 머신러닝&추천시스템알쓸신잡, 머신러닝&추천시스템
알쓸신잡, 머신러닝&추천시스템youngick
 
2017년3월html5세미나
2017년3월html5세미나2017년3월html5세미나
2017년3월html5세미나Brandon Chung
 
2016넷미고사업발표회
2016넷미고사업발표회2016넷미고사업발표회
2016넷미고사업발표회Brandon Chung
 
Tobii Pro 고정형 X/TX 시리즈
Tobii Pro 고정형 X/TX 시리즈 Tobii Pro 고정형 X/TX 시리즈
Tobii Pro 고정형 X/TX 시리즈 Nari Park
 

Ähnlich wie 데이터분석 기반 게임봇과 작업장 탐지 (NDC 2017) (20)

Fraud Detection - online game 과 결제를 중심으로
Fraud Detection - online game 과 결제를 중심으로Fraud Detection - online game 과 결제를 중심으로
Fraud Detection - online game 과 결제를 중심으로
 
NETSEC-KR 2015, 온라인게임보안의 미래
NETSEC-KR 2015, 온라인게임보안의 미래 NETSEC-KR 2015, 온라인게임보안의 미래
NETSEC-KR 2015, 온라인게임보안의 미래
 
탐사분석을통한작업장탐지
탐사분석을통한작업장탐지탐사분석을통한작업장탐지
탐사분석을통한작업장탐지
 
그로스 해킹 & 데이터 프로덕트 (Growth Hacking & Data Product) - 고넥터 고영혁 (Gonnector Dylan Ko)
그로스 해킹 & 데이터 프로덕트 (Growth Hacking & Data Product) - 고넥터 고영혁 (Gonnector Dylan Ko)그로스 해킹 & 데이터 프로덕트 (Growth Hacking & Data Product) - 고넥터 고영혁 (Gonnector Dylan Ko)
그로스 해킹 & 데이터 프로덕트 (Growth Hacking & Data Product) - 고넥터 고영혁 (Gonnector Dylan Ko)
 
Online game security
Online game securityOnline game security
Online game security
 
LINE Game Security III by LINE Corp. Lee Myeong Jae 20180405
LINE Game Security III by LINE Corp. Lee Myeong Jae 20180405LINE Game Security III by LINE Corp. Lee Myeong Jae 20180405
LINE Game Security III by LINE Corp. Lee Myeong Jae 20180405
 
Neural stream
Neural streamNeural stream
Neural stream
 
NDC 2017 키노트: 이은석 - 다가오는 4차 산업혁명 시대의 게임개발
NDC 2017 키노트: 이은석 - 다가오는 4차 산업혁명 시대의 게임개발NDC 2017 키노트: 이은석 - 다가오는 4차 산업혁명 시대의 게임개발
NDC 2017 키노트: 이은석 - 다가오는 4차 산업혁명 시대의 게임개발
 
Graph Database Meetup in Korea #8. Graph Database 5 Offerings_ DecisionTutor ...
Graph Database Meetup in Korea #8. Graph Database 5 Offerings_ DecisionTutor ...Graph Database Meetup in Korea #8. Graph Database 5 Offerings_ DecisionTutor ...
Graph Database Meetup in Korea #8. Graph Database 5 Offerings_ DecisionTutor ...
 
NDC 2013, 마비노기 영웅전 개발 테크니컬 포스트-모템
NDC 2013, 마비노기 영웅전 개발 테크니컬 포스트-모템NDC 2013, 마비노기 영웅전 개발 테크니컬 포스트-모템
NDC 2013, 마비노기 영웅전 개발 테크니컬 포스트-모템
 
[코세나, kosena] 생성AI 프로젝트와 사례
[코세나, kosena] 생성AI 프로젝트와 사례[코세나, kosena] 생성AI 프로젝트와 사례
[코세나, kosena] 생성AI 프로젝트와 사례
 
[BLT토크콘서트] BM특허 전략과 소송대응전략 20170424
[BLT토크콘서트] BM특허 전략과 소송대응전략 20170424[BLT토크콘서트] BM특허 전략과 소송대응전략 20170424
[BLT토크콘서트] BM특허 전략과 소송대응전략 20170424
 
Data analysis for game fraud detection
Data analysis for game fraud detectionData analysis for game fraud detection
Data analysis for game fraud detection
 
IoT미래산업포럼출범식
IoT미래산업포럼출범식IoT미래산업포럼출범식
IoT미래산업포럼출범식
 
20180828 block chainmarketing
20180828 block chainmarketing20180828 block chainmarketing
20180828 block chainmarketing
 
알쓸신잡, 머신러닝&추천시스템
알쓸신잡, 머신러닝&추천시스템알쓸신잡, 머신러닝&추천시스템
알쓸신잡, 머신러닝&추천시스템
 
2017년3월html5세미나
2017년3월html5세미나2017년3월html5세미나
2017년3월html5세미나
 
2016넷미고사업발표회
2016넷미고사업발표회2016넷미고사업발표회
2016넷미고사업발표회
 
Sng전망
Sng전망Sng전망
Sng전망
 
Tobii Pro 고정형 X/TX 시리즈
Tobii Pro 고정형 X/TX 시리즈 Tobii Pro 고정형 X/TX 시리즈
Tobii Pro 고정형 X/TX 시리즈
 

Mehr von Korea University

automotive security - research direction (fun & joke version)
automotive security - research direction (fun & joke version)automotive security - research direction (fun & joke version)
automotive security - research direction (fun & joke version)Korea University
 
[NetSec-KR 2018] 2017 정보보호 R&D 데이터 챌린지를 통해 살펴본 Data-Driven Security
[NetSec-KR 2018] 2017 정보보호 R&D 데이터 챌린지를 통해 살펴본 Data-Driven Security[NetSec-KR 2018] 2017 정보보호 R&D 데이터 챌린지를 통해 살펴본 Data-Driven Security
[NetSec-KR 2018] 2017 정보보호 R&D 데이터 챌린지를 통해 살펴본 Data-Driven SecurityKorea University
 
2017 BoB 3rd BISC conference
2017 BoB 3rd BISC conference2017 BoB 3rd BISC conference
2017 BoB 3rd BISC conferenceKorea University
 
KN research group - online game security and user behavior analysis
KN research group - online game security and user behavior analysisKN research group - online game security and user behavior analysis
KN research group - online game security and user behavior analysisKorea University
 
Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)
Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)
Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)Korea University
 
Session2 2 김휘강 codegate2(hkkim)
Session2 2 김휘강 codegate2(hkkim)Session2 2 김휘강 codegate2(hkkim)
Session2 2 김휘강 codegate2(hkkim)Korea University
 
Security Intelligence by log analysis, A3-SMS 2012
Security Intelligence by log analysis, A3-SMS 2012Security Intelligence by log analysis, A3-SMS 2012
Security Intelligence by log analysis, A3-SMS 2012Korea University
 

Mehr von Korea University (8)

automotive security - research direction (fun & joke version)
automotive security - research direction (fun & joke version)automotive security - research direction (fun & joke version)
automotive security - research direction (fun & joke version)
 
[NetSec-KR 2018] 2017 정보보호 R&D 데이터 챌린지를 통해 살펴본 Data-Driven Security
[NetSec-KR 2018] 2017 정보보호 R&D 데이터 챌린지를 통해 살펴본 Data-Driven Security[NetSec-KR 2018] 2017 정보보호 R&D 데이터 챌린지를 통해 살펴본 Data-Driven Security
[NetSec-KR 2018] 2017 정보보호 R&D 데이터 챌린지를 통해 살펴본 Data-Driven Security
 
2017 BoB 3rd BISC conference
2017 BoB 3rd BISC conference2017 BoB 3rd BISC conference
2017 BoB 3rd BISC conference
 
KN research group - online game security and user behavior analysis
KN research group - online game security and user behavior analysisKN research group - online game security and user behavior analysis
KN research group - online game security and user behavior analysis
 
Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)
Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)
Netsec-kr 2013 발표자료 - 악성코드 유사도 분석 기술 동향 (김휘강)
 
Session2 2 김휘강 codegate2(hkkim)
Session2 2 김휘강 codegate2(hkkim)Session2 2 김휘강 codegate2(hkkim)
Session2 2 김휘강 codegate2(hkkim)
 
Security Intelligence by log analysis, A3-SMS 2012
Security Intelligence by log analysis, A3-SMS 2012Security Intelligence by log analysis, A3-SMS 2012
Security Intelligence by log analysis, A3-SMS 2012
 
Seminar
SeminarSeminar
Seminar
 

데이터분석 기반 게임봇과 작업장 탐지 (NDC 2017)

  • 1. 1 78 고려대학교 김휘강 행위분석 및 프로파일링 기법을 중심으로 데이터분석 기반 게임봇과 작업장 탐지
  • 2. 2 78 목차 1. 게임봇 & 작업장 (GFG) 2. Various User behavior based BOT detection 3. Black Money Trail Analysis 4. User profiling based BOT detection
  • 3. 3 78 About me ▶ 김휘강 – KAIST 재학시절 KUS, SPARCS, Security KAIST 동아리 활동 (1994~) – A3 Security Consulting 창업/CEO (1999.8~2002.4), CTO (~2004.4) – NCSOFT 정보보안실장 (2004.5~2010.2) – 고려대학교 정보보호대학원 부교수 (2010.3~현재) • 정보보호대학원에서 “온라인게임보안” 과목 운영 중 • 엔씨소프트 블로그에 “게임과 보안"연재 중 – 주요 논문 실적 • International Conferences: NDSS 2016, WWW (2014, 2017), SIGCOMM (2011, 2013, 2015, 2016 poster) • International Journals: IEEE Trans. On Information Forensics and Security (2017), Computer & Security (2016), Digital Investigation (2015) • Online game - ACM NetGames (2013, 2014, 2015, 2017)
  • 4. 4 78 About me ▶ Main research area – Online Game Security • Game Bot, Gold-Farmer Group Detection and Prevention • In-game Fraud Detection • Pirate Server Detection and Prevention – Fraud Detection System • Internet Portal, Banking, Online Game Service – Network and System Security • Intrusion Detection with data mining and machine learning • Malware Analysis (Cyber Genome) – Mal-Netminer, API-MDS • App. Security Analysis - Andro-Profiler, Andro-Tracker, Andro-AutoPsy, Andro-Dumpsys, SAPIMMDS – Dataset release • http://ocslab.hksecurity.net/Datasets
  • 5. 5 78 게임봇 ▶ 왜 이리 잡기 어려운 것일까요? 게임회사들이 봇들이 뛰노는 공원에 가까이 있어서…
  • 6. 6 78 게임봇 – 제재 정책의 변화 ▶ 2010년까지 : 게임봇, 작업장은 악의 축, 만악의 근원. 정의구현을 위해 가차없이 제재 – Client-side detection, signature-based detection ▶ 2012년까지 : 게임봇 유저를 제거하되 적정한 수준의 제거를 할 수 있겠는가? 기업형 작업장을 정밀하게 제재할 수 있는 방법 추구 – Server-side detection, data-mining based detection ▶ 2014년까지 : 모바일게임의 시대. PC기반 MMO의 쇠락. 가난함 앞에서는 모든 것이 무가치함 ▶ 2016년 이후: Monetization! 게임사에서 공식적으로 돈으로 아이템을 사는 것을 인정하는 분위기 (예: WoW) ▶ 2017년: 새로운 윤리와 철학이 필요. 모바일 게임들 대부분 자동전투 제공해 주는데, 게임봇과 뭐가 달라? 왜 제재를 해야만 하지?
  • 7. 7 78 게임봇 – 영원한 난제 ▶ Q1: 서비스 초기부터 강력하게 잡는 것이 좋을까요? 아니면 어느 정도 초반에는 두었다가 잡는 것이 좋을까요? ▶ Q2: 기업형 작업장만 타게팅하여 잡는 것이 과연 공정한가요? 고랩 유저이고 오랜 기간 이용한 VIP 개인 유저라 하더라도 일단 한번이라도 쓰면 강력히 제재해야 하는 것 아닌가요?
  • 8. 8 78 게임봇 – 영원한 난제 ▶ Q3: 게임봇을 강력히 제재했더니, 마치 병은 고쳤는데 사람이 죽은 것처럼 되었습니다. 사업부와의 갈등을 어떻게 극복해야 할까요? ▶ Q4: 전담 보안조직에서 게임봇 탐지와 대응을 전담하는 것이 나을까요? 각 개발 스투디오마다 대응을 하는 것이 나을까요?
  • 9. 9 78 게임봇 – 영원한 난제 ▶ Q5: PC 기반 MMORPG 라면 로그도 풍부하게 남기고 분석도 어떻게든 해보겠지만, 모바일 게임은 어떻게 해야 하나요? ▶ Q6: 우리는 회사가 크지 않아서 전담 분석인력을 두기 어렵습니다. 가성비가 가장 좋은 탐지 알고리즘은 어떤 것이 있을까요?
  • 10. 10 78 1. 게임봇 & 작업장 (GFG)
  • 11. 11 78 게임봇 (Game Bot) ▶ 사람을 대신하여 자동으로 게임플레이를 해주는 프로그램 – 게임봇 유저들의 빠른 성장과 재화 취득으로 인해 컨텐츠 소모 속도가 빨라지고, 공정한 경쟁이 이루어지지 않음 MMORPG 리니지1 자동 사냥 프로그램 FPS 서든어택 오토샷 핵 프로그램 사냥터의 위치 및 사냥 방법 선택 가능 자동 조준 및 벽을 통과하여 공격할 수 있음 장르 불문 게임핵, 게임봇은 게임유저들 불만 및 이탈 요인 중 하나
  • 13. 13 78 Cheating (HACK), BOT ▶ MMORPG 에서의 BOT
  • 14. 14 78 Cheating (HACK), BOT ▶ MMORPG 에서의 BOT
  • 15. 15 78 게임봇 (Game Bot) , 게임핵 ▶ AOS 장르에서의 헬퍼 (helper) - League of Legend – 부가정보제공 (attack range, character status, attack’s ballistics, etc.) 및 자동아이템 습득
  • 16. 16 78 게임봇 (Game Bot) , 게임핵 ▶ AOS 장르에서의 헬퍼 (helper) - League of Legend – https://www.youtube.com/watch?v=0e-bWiQbqag
  • 17. 17 78 게임봇 (Game Bot) , 게임핵 ▶ 모바일게임 사례 – 모바일게임은 핵, 매크로탐지가 쉽지 않음 - 단순한 게임 내 이벤트 로그 디자인 문제 통신 과금 문제 등 • 안드로이드 OS 의 한계 • 모바일 보안솔루션 적용 시 사용성 저하 • 에뮬레이터 탐지/차단 문제
  • 18. 18 78 게임봇 (Game Bot) , 게임핵 ▶ 전형적인 튜링테스트 문제 – 저 커튼너머 대상이 사람일까 인공지능일까?
  • 19. 19 78 게임봇 (Game Bot) , 게임핵 ▶ 세*나이츠 사례 : https://www.youtube.com/watch?v=aywBwvxqB78
  • 20. 20 78 게임봇, 게임핵 거래 방식 및 비용 ▶Youtube 등 다양한 판매 채널 등장 ▶개인 거래 방식 – 유투브 등의 동영상 사이트에 불법 프로그램 사용법 및 실행 화면을 홍보 후, 네이트온, 카카오톡 ID등의 개인 연락처를 통하여 프로그램을 판매함 ▶거래 사이트를 이용한 거래 방식 – 불법 프로그램 거래 사이트를 제작하여 해당 사이트의 자료실 또는 다운로드 링크를 통해 불법 프로그램을 판매함 블루몬 사이트 결제화면 창 Youtube 내 서든 어택 홍보 화면
  • 21. 21 78 게임봇, 게임핵 거래 방식 및 비용 ▶ 불법 프로그램 거래 비용 – 불법 프로그램 사용 기간에 따라 가격을 다르게 측정하여 판매함 • 주로 구입하는 프로그램 개수가 증가할수록 프로그램의 월별 지불 가격이 낮아짐 – 문화상품권 혹은 특정 거래 사이트를 통해 구입시 가격이 추가될 수 있음 게임 종류 프로그램 종류 가격 운영체제 비고 리니지 패신 프로그램 20,000원 / 월 윈도우 7 -월 27,000원(10개 이상 시) -월 25,000원(30개 이상 시) -월 23,000원(50개 이상 시) 리니지2 애플 프로그램 10,000원 / 월 - -월 9,500원(10개 이상 시) 아이온 한복 프로그램 20,000원 / 월 윈도우7(64bit) -월 12,000원(10개 이상 시) -20개 및 대량 구매는 메신저 문의 서든어택 드레곤 랭커용 프로그램 250,000원 - -문화 상품권 또는 아이템 매니아 거래 시 50,000원 추가
  • 22. 22 78 게임봇 사용 방법 ▶ 누구나 쉽게 사용할 수 있도록 제작∙배포됨, 판매자의 친절한 설명 제공 ▶ 경우에 따라 방화벽 해제, 백신 종료, 관리자 권한으로 실행 등의 부가적인 과정이 필요함 아이온 오토 프로그램 실행 화면 리니지2 오토 프로그램 실행 화면
  • 23. 23 78 유저들의 인식 ▶ 게임봇이 저렇게 많은데, 쉽게 구할 수 있는데 왜 막지 않는가? ▶ 신고시스템을 통해 신고를 해도 왜 대응이 되지 않는가? ▶ 아이템 거래 사이트를 모니터링 하면 게임봇 이용자, 전문 작업장, 심지어 사설서버 내에서 생성된 아이템 거래 규모를 누구나 추정할 수 있는데, 왜 대응을 하지 않는가? ▶ 결국 공생 관계 아닌가? 라는 부정적인 인식이 유저들 사이에서 팽배
  • 24. 24 78 게임회사를 위한 변명 ▶ 현실적인 한계가 많음 – 오탐 문제, (적반하장) 봇 유저들의 법적 대응 – 법적으로도 이제 겨우 제도가 정비되었음 (이동섭 의원 발의, 게임법 일부 개정안) ▶ GM 조직 역할 및 구조 변화 ▶ 무엇보다도 기술적으로 막기 어려움 ▶ 소모전이어서 개발자들로서는 맡고 싶지 않음
  • 25. 25 78 게임봇이 존재하는 이유 ▶ 돈으로 살 수 없는 것 = 시간 – 온라인 게임 가상세계 내에서는 모두 ‘시간’ 이라는 공평한 한계를 가짐 – 게임봇은 돈으로 ‘시간'을 살 수 있게 해 줌 ▶ 현실의 재화와 가상의 재화가 연결되면서, 시간이라는 재화는 더 이상 공평하지 않음 – 현실세계에서의 부자가 가상세계에서도 부자이자, 강자가 됨 – 짧은 시간 내에 성장하고 싶은 수요는 끊임없이 존재할 것임 ▶ BM의 문제로 볼 것인지, 윤리/정의의 문제로 볼 것인지
  • 26. 26 78 작업장, App fake reviewer ▶ 작업장, App fake reviewer = new Hackers in new digital era
  • 27. 27 78 대리 육성 ▶3~4주 하루평균7~11시간씩하고 담배비 피방비 밥값 총30만원빼고 현재186만원벌음 문화상품권도 15만원합치면 총230벌고 30겜방담배밥사먹은돈 빼고 200만원벌었다.. 맡기시는분들도 다좋으신분들이고 가끔 금수저분들이 고생했다고 5만원씩 더입금해주시는분들도 있고 ㅋㅋㅋ 이게참 몸은편하고 좋은데 정신적으로 힘듬 특히 브실할때 너무스트레스다..현지인들이 못올리는이유가 있음 브실구간이 부캐대리가많고 트롤들이 엄청많음; 브실대리기사 거의 뭐 플레상중애들이라 쉽게 이기긴하는데 현지인이라치면 당연히 못올린다고 생각함 내가대리하면서 제일쉬운순서는 플레그담 골드 그담브론즈 그다음 다이아 그담 실버라생각함 리얼실버는진짜 제일암임..ㅎㅎ 하 이제300만원만찍고 쉬고싶다ㅜㅜ ▶[출처] 롤 대리사이트 수입공개함 (리그 오브 레전드 한국커뮤니티) |작성자 aujh106
  • 28. 28 78 PC 기반 작업장  모바일 작업장 ▶ 작업장 역시 끊임없이 진화 중 ▶ 모바일 게임 전용 작업장 출현
  • 29. 29 78 2. Various User Behavior based BOT detection
  • 30. 30 78 Server side BOT detection Server Side BOT detection 클라이언트 단 탐 지의 한계 및 Usability 고려 원할 때 원하는 만큼 제재 가능 빅데이터 분석 인 프라 기술 발전 작업장 및 BOT제 작자에게 탐지 기 법 노출을 최소화
  • 31. 31 78 Server side BOT detection • 게임 action log 를 기반으로 data mining 을 하여 BOT 과 작업장을 탐지 • 이동 패턴, 채팅 패턴, 거래 패턴, 전투/사냥 패턴, 로그인 패턴, Action sequence 패턴, ... • 사람과 BOT의 행위의 차이점을 구분 (classification)하는 기법 ▶ Kang, Ah Reum, Huy Kang Kim, and Jiyoung Woo. "Chatting pattern based game BOT detection: do they talk like us?." KSII Transactions on Internet and Information Systems (TIIS) 6.11 (2012): 2866-2879. ▶ Kang, Ah Reum, et al. "Online game bot detection based on party-play log analysis." Computers & Mathematics with Applications 65.9 (2013): 1384-1395. ▶ Kwon, Hyukmin, et al. "Surgical strike: A novel approach to minimize collateral damage to game BOT detection." Proceedings of Annual Workshop on Network and Systems Support for Games. IEEE Press, 2013. ▶ Lee, Jina, et al. "I know what the BOTs did yesterday: full action sequence analysis using Naïve Bayesian algorithm." Proceedings of Annual Workshop on Network and Systems Support for Games (NetGames). IEEE Press, 2013. ▶ Lee, Jin, Kang, Sung Wook, and Huy Kang Kim, “Hard-core user and bot user classification using game character's growth types”, Network and Systems Support for Games (NetGames), 2015 International Workshop on ▶ Lee, Eunjo, et al., You Are a Game Bot!: Uncovering Game Bots in MMORPGs via Self-similarity in the Wild, Proceedings of Network & Distributed System Security Symposium 2016
  • 32. 32 78 32 Son S, Kang AR, Kim H-c, Kwon T, et al. (2012) Analysis of Context Dependence in Social Interaction Networks of a Massively Multiplayer Online Role-Playing Game. PLoS ONE 7(4): e33918. doi:10.1371/journal.pone.0033918 http://www.plosone.org/article/info:doi/10.1371/journal.pone.0033918 Server side BOT detection – SNA 분석 예
  • 33. 33 78 • In-game spammer • 누가 스패머인가? 33 • 작업장 • 누가 거대 작업장인가? Server side BOT detection – SNA 분석 예
  • 34. 34 78 ▶ 일반 이용자 vs. 작업장 채팅 패턴 시각화 ▶ 추천 툴 – Tableau (상용), Gephi (무료; https://gephi.org/) 3 4 BOT user BOT user Normal user Normal user Guild master Server side BOT detection – 채팅 패턴
  • 35. 35 78 추천 시각화 툴 ▶ SNA 및 시각화의 장점 – 전체를 조망해 보기에 유리, GM tool 로도 유용 ▶ 추천 차트 – Parallel Coordinate Chart (Ggobi, R, Pandas) – 축 디자인에 따라 Visual Signature (특정 조건에서 특정 모양이 발생)를 찾기에 유리
  • 36. 36 78 추천 시각화툴 - Parallel coordinate chart 적용 예 ▶대규모로 “sa” 계정 권한으로 삭제 쿼리 발생 시 우하향 마름모꼴 모양 발생 Src IP user Target DB.table Query type select update delete sa op1
  • 37. 37 78 추천 시각화 툴 - Parallel coordinate chart 적용 예 ▶고객정보 DB table에 대규모 select 쿼리 발생 시 우상향 붉은 선 발생 Src IP user Target DB.table Query type select update delete sa op1 Custom.UserssnTable
  • 38. 38 78 Server side BOT detection – action sequence analysis ▶ BOT’s working pattern is self-repetitive (self-similar) – Login -> move to hunting zone A -> hunting some Monsters -> use healing potions -> hunting some monsters -> use healing potions -> move to hunting zone B …. ▶ String sequence 로 encoding – Login : l – Moving : m – Hunting : h – Summoning : s – Healing magic: h – Use consumable healing potion : u ▶ Encoding 결과 – lmhhhhhuhhhhhhhuum 3 8 Lee, Jina, et al. "In-game action sequence analysis for game bot detection on the big data analysis platform." Proceedings of the 18th Asia Pacific Symposium on Intelligent and Evolutionary Systems-Volume 2. Springer International Publishing, 2015.
  • 39. 39 78 Server side BOT detection – action sequence analysis ▶ Action sequence 는 봇탐지 외에도 고객경험분석, 이탈분석, monetization 에도 다양하게 활용됨 ▶ 예: 이탈한 고객들이 이탈 직전에 공통으로 경험한 action sequence 는 ? – 이탈 전에 공통으로 계정도용을 당했는가? 이탈 전에 특정 퀘스트를 수행하였는가? ▶ 예: 결제를 한 고객들이 결제 직전에 공통으로 경험한 action sequence 는? – 결제 전에 극적인 사냥성공 후 레벨업을 달성했는가? ▶ Common action sequence 추출을 위해 LCS, LCCS 등의 알고리즘을 사용 3 9 KILL 경험치획득! 공격 물약먹고 체력회복 마법공격
  • 40. 40 78 찾았다 너의 패턴, 강약약 중간약약 ▶ 중국집에서 발견한 짜장면+탕수육 식사 action sequence ▶약 40% 의 인원들이 “젓가락들고-단무지-탕수육한입-탕수육한입-짜장비비고- 짜장한입” 과 같은 공통된 패턴을 보임 ▶약 20% 의 인원들이 “젓가락들고-짜장비비고-짜장한입-짜장한입- 탕수육한입- 짜장한입- 짜장한입- 탕수육한입” 의 패턴을 보임 ▶0.5% 미만의 괴이한 식사 패턴을 보이는 사람들이 “젓가락들고-단무지한입- 단무지한입 - 단무지한입 - 단무지한입 – 단무지한입 –양파한입 – 짜장한입 - 식사끝” 의 패턴을 보임 ▶ 이를 게임봇 탐지에 응용을 한다면?
  • 41. 41 78 Action Sequence 분석 ▶ 데이터 전처리 (계속) – 로그 아이디 매핑 • 시퀀스 분석시 ClustalX2 도구를 사용함 • 시퀀스 분석을 위해 게임 내 액션들을 26개의 알파벳으로 매핑 알파벳 이벤트 알파벳 이벤트 알파 벳 로그 A 로그인 I 상점판매 V 길드가입 로그아웃 J 외치기 길드생성 C 닉네임변경 귓속말 길드스킬추가 레벨상승 그룹 채팅 길드위임 슬롯확장 K 길드 생성 길드출석 캐릭터 생성 L 길드 가입 W 길드탈퇴 코스튬 구매 M 길드 탈퇴 길드해체 D 획득 N 스킬 포인트 구매 S 길드추방 E 보상 O 미션완료 X 상품 구매 F 우편수령 P 스테이지 선물하기 G 아이템승급 Q 퀘스트 Y 공성전 아이템강화 R 레이드 Z 계정전환 T 1:1 대전-승리 회원탈퇴 U 1:1 대전 – 패배 H 상점구매 V 길드레벨상승 기타 [로그 알파벳 매핑 표]
  • 42. 42 78 Action Sequence 분석 - The good, the bad, the weird ▶ The good, the bad, the weird 의도한 게임 디자인대로의 action sequence
  • 43. 43 78 Action Sequence 분석 - The good, the bad, the weird 단순 action sequence 외에도 sequence 사이의 interval 을 함께 분석 시 효과가 배가 [Heavy User-Purchase 유저들의 시퀀스] 조사해볼 가치가 있는 유저
  • 44. 44 78 3. Black Money Trail Analysis Kwon, Hyukmin, et al. "Crime scene reconstruction: Online gold farming network analysis." IEEE Transactions on Information Forensics and Security 12.3 (2017): 544- 556. Woo, Kyungmoon, et al. "What can free money tell us on the virtual black market?." ACM SIGCOMM Computer Communication Review 41.4 (2011): 392-393.
  • 45. 45 78 기초 작업 1. 게임 전체 이용자들의 평균 거래 횟수, 평균 거래 금액 등 기초 통계 확인 2. 양적인 부분 외에도 거래 방향, 거래 아이템 종류, 거래 interval, 거래가 발생한 지역 등 다양한 분석 필요 – 모든 로그에 “년월일시분초“, “좌표“, “아이템/머니 잔액” 을 foot print 로 넣어주는 것이 분석에 상당한 도움을 줌 – 검색 속도를 높이기 위해 action ID 넘버링 규칙을 잘 지정할 것 • 가장 잘 구현된 event ID 예 – HTTP 응답 값 – 400 대 응답값은 무조건 client 단의 에러임 (404 not found) – 500 대 응답은 무조건 server 단 에러임 – 200 대 응답은 하여간 ok!
  • 46. 46 78 이상한 거래 정의 필요 ▶ 일방적으로 받기만 하는 관계 – 아무리 친한 친구라 하더라도 내가 10번 밥을 사면 1번은 상대방도 밥을 사줘야 하지 않나? ▶ 기꺼이 모든 것을 주는 관계 – 아무리 친한 친구라 하더라도 매번 가진 자산의 90%를 일방적으로 주는 것은 이상하지 않나? ▶ 정기적으로 주는 관계 – 아니 택시회사 사납금도 아니고 어떻게 정해진 시간대에 납입하듯 주지?
  • 47. 47 78 ▶Free money trading 을 파악하는 것이 중요 47 전체 거래 네트워크 대가 없는 게임 머니 및 아이템 이동 네트워크 Server side BOT detection – trading network analysis
  • 48. 48 78 누구를 타겟으로 할 것인가? ▶ 게임봇을 박멸하고 싶은가? – 총력전 (Total War), 이쪽의 출혈도 큼, 격침시킨 배가 총 몇 척인가로 측정하지는 말 것 ▶ 뱅커 (통장계정)을 선별적으로 박멸하고 싶은가? – 외과적 수술 (surgical strike), 격침시킨 배의 총 배수량 톤수로 측정하는 방식 ▶ 대형작업장만을 노리고 싶은가? – 거래 규모로 filtering, 어짜피 20:80 룰은 이곳에도 성립 ▶ 탐지 알고리즘을 숨기고 싶은가? – 기만전술 (Deception), 통신 암호 해독에 성공했어도 못한 척. 일부 작업장은 일부러 살려 둠 ▶ 제재 시점은 언제가 좋겠는가? – 전격전 (Blitz Tactics), 작업장들이 결제를 대량으로 한 3일 후가 좋겠군. 훗훗훗
  • 49. 49 78 ▶그래프 정제(Refine) 49 대가 없이 이동한 게임머니 네트워크 대가 없이 이동한 게임머니 네트워크에서 3-tier 이하 네트워크 제거 Server side BOT detection – trading network analysis
  • 50. 50 78 Detection Rule Setup ▶ 원래 자동화 분석은 피와 땀의 수동분석 후에 만들어 지는 것 – 작업장 추출 rule을 setup하기 위해 seed가 되는 캐릭터들을 수동으로 추출 – 거래 횟수가 많고 Free money & item ratio가 높은 캐릭터 중 작업장 캐릭터가 많다는 것을 확인하여 수동으로 일부 추출 Number of Money Transfer Transactions Frequency(Logscale) Manual inspection result The free money ratio distribution
  • 51. 51 78 Detection Rule Setup ▶ Manual inspection – Merchant/Banker 캐릭터의 경우 거래의 중심에 있다는 것을 이용하여 Betweenness centrality 를 확인 – 높은 값을 갖는 캐릭터 중 merchant 캐릭터가 있음을 수동 분석으로 확인 The setting of the betweenness centrality
  • 52. 52 78 IP-Account Combination analysis ▶ 기존에 수동으로 찾았던 Gold Farming Group의 IP정보를 이용하여 같은 그룹의 작업장 찾기 추출 한 Gold Farming Network 수동 추출한 캐릭터의 IP추출, 추출된 IP와 같은 네트워크의 IP추출 추출 IP에서 캐릭터 추출, 추출된 캐릭터간 자금흐름 확인 Noise 제거 951,065 accounts (75,850 IP) 7,978 characters 2,811 characters555 characters (475 accounts)
  • 53. 53 78 IP-Account Combination analysis ▶ Refine 과정  이 모든 작업은 오탐 (False-Positive 를 줄이기 위함) – 실제 Gold Farming Network 이고 관련 network이 관찰되나 분석 기간 때문에 따로 떨어져있는 것 처럼 보이는 작은 network 제거 – Gold Farming Network과 동일한 IP대역을 사용하였으나 Gold Farming Network의 목적으로 사용하지 않은 캐릭터 or 네트워크 제거 – 정말 Gold Farming Group의 구성원이 아닌 캐릭터 제거 • 가맹 PC방 IP address 이나 가정집 등
  • 54. 54 78 Results ▶ Gold Farming Group 추출 – GFG Network 특성 값 추출 Description Values Nodes 555 Edges 1,791 Network Diameter 8 Graph Density 0.006 Avg. Clustering Coefficient 0.334 Avg. Path Length 2.871 추출된 초기 Gold farming network Description Values Nodes 2,811 Edges 6,031 Network Diameter 21 Graph Density 0.001 Avg. Clustering Coefficient 0.044 Avg. Path Length 6.683 Refined network Description Values Nodes 7,978 Edges 18,651 Network Diameter 25 Graph Density 0 Avg. Clustering Coefficient 0.073 Avg. Path Length 7.307 관계된 모든 character network
  • 55. 55 78 ▶ 탐지 Rule 예 – 봇 의심 (AND) • Free trade Ratio >=0.8 • Merchant(Agent) trade= 0 • # of free trade(take or give Item&GameMoney without reward)>16 • # of transactions/month >=20 • Amount of Money >=5,000,000 • Level>=10 • Indegree == 0, OutDegree > 0, Free trade Ratio == 1, level=50 55 Server side BOT detection – 탐지 룰 생성
  • 56. 56 78 Detection Rule Setup ▶ Manual inspection – 작업장 관련 Banker (통장계정) 캐릭터와 Merchant 캐릭터의 존재 확인 – 올바른 제재 performance metric 설정이 필요 (제재 계정 개수 -> 회수 머니 량) – Manual inspection 을 통해 선정한 확실한 (no false-positive error) 작업장 캐릭터의 거래 네트워크를 2-tier 로 확장하여 다른 작업장 캐릭터 확인
  • 57. 57 78 Basic Economic Characteristic ▶ 캐릭터 역할 별 평균 레벨, 거래량, 획득 게임머니 ▶ 작업장별 게임머니 및 거래량
  • 58. 58 78 Temporal Dynamics and Banning Effect • 계정 제재로 인한 작업장 감소 효과는 확실함 • 지속적인 제재는 작업장의 경제규모에도 영향을 주고, 캐릭터 수에도 영향을 주어 작업장을 붕괴시킴 58
  • 59. 59 78 Temporal Dynamics and Banning Effect • 작업 캐릭터를 공급해주는 캐릭터 작업장이 있음 – 신규캐릭터 생성, 계정생성 타이밍, 제재 타이밍 간 미묘한 해석 59
  • 60. 60 78 4. User Profiling based BOT detection Kang, Ah Reum, et al. "Multimodal game bot detection using user behavioral characteristics." SpringerPlus 5.1 (2016): 523.
  • 61. 61 78 Goal ▶데이터 마이닝을 이용한 게임봇 탐지 정확도 향상 – 기존 게임봇 탐지 연구들에서 기 검증된 피쳐(feature)를 활용 – 여러 피쳐를 단일 탐지 프레임워크에 사용하여 고성능으로 게임봇을 탐지함 – 잘못 분류된 일반 유저와 게임봇의 특징을 분석하고 원인을 파악함 ▶데이터 셋 – A 모 게임 내 1개 서버에서 생성된 88일간의 in-game 활동 로그 (약 80,000 캐릭터) – 분석 기간내 3시간 이상 플레이를 수행한 49,379 캐릭터를 연구 대상으로 설정 • 일반 유저: 42,037 (84.5%) / 게임봇: 7,702 (15.5%) • 게임봇 식별 기준: 불법 프로그램 사용으로 인해 제재 된 이력이 있는 캐릭터
  • 62. 62 78 Framework ▶Overall Design Game log - Training + validation
  • 63. 63 78 캐릭터 피쳐 추출 ▶게임봇은 재화를 수집하면서 일반 유저와 다른 행위 패턴을 보임 – 일반 유저와 게임봇의 차이를 잘 반영하는 피쳐를 추출함 Category Feature Personal features 로그인 정보 로그인 빈도, 플레이 시간, 보유 게임 머니, 접속한 클라이언트의 IP Address 수 캐릭터 활동 앉기 횟수, 아이템 획득 수, 채집 횟수, 경험치 획득량, 아이템 획득 수, PK 포인트 획득량, PK로 인한 사망 수, 부활 횟수, 포탈 이용 횟수 Social features 그룹 활동 파티 플레이 시간, 길드 활동량 활동 다양성 파티, 친구, 거래, 귓속말, 메일, 개인 상점, 길드 기능 이용량 소셜 네트워크 분석 {연결, 근접, 매개, 고유벡터} 중심성, authority, hub, PageRank, clustering coefficient
  • 64. 64 78 캐릭터 행위 특성 비교 (1/8) ▶게임 활동 비교 – (a), (b): 게임봇은 일반 유저에 비해 로그인이 잦고, 게임 내에서 장시간 활동한 것을 확인할 수 있음 – (c): 대부분의 일반 유저는 소량의 아이템을 채집하는 반면, 전체 게임봇의 60%는 하루에 5,000번 이상의 채집을 수행 (사람은 1천건도 도저히 불가능) (a) 로그인 횟수 (b) 누적 플레이 시간 (hours) (c) 일일 최대 아이템 수집 횟수
  • 65. 65 78 캐릭터 행위 특성 비교 (2/8) ▶일반 유저와 게임봇의 행동 횟수 분포 게임 플레이 시간 경험치 획득 횟수 길드 활동 아이템 수집 횟수 아이템 최대 수집 횟수 게임 머니 수집 횟수 앉기 횟수 PK 포인트 획득 횟수
  • 66. 66 78 캐릭터 행위 특성 비교 (3/8) ▶게임 내 행동 비율 비교 – 게임봇이 수행하는 전체 활동의 50%는 아이템 수집, 경험치 획득임을 확인함 • 일반 유저의 1.5 ~ 2배 수준 – 게임봇은 일반 유저에 비해 앉기 활동이 빈번하며, PK 포인트는 거의 획득하지 않음
  • 67. 67 78 캐릭터 행위 특성 비교 (4/8) ▶그룹 활동 (파티 플레이 시간) – 일반 유저의 80%는 2시간 20분 이하로 파티 플레이 수행 – 게임봇의 80%는 4시간 10분 이상 파티 플레이 수행 ▶소셜 활동 다양성 – 게임봇은 골드 파밍이나 RMT 관련 행위에 집중하므로 소셜 활동 다양성이 낮게 관측됨 • 관측 소셜 활동: 파티, 친구, 거래, 귓속말, 메일, 개인 상점, 길드
  • 68. 68 78 캐릭터 행위 특성 비교 (5/8) ▶소셜 네트워크 분석 – 파티, 친구, 거래, 귓속말, 메일, 개인 상점 네트워크의 특징을 아래의 척도로 측정하여 피쳐로 사용함 네트워크 척도 특징 Degree centrality 많은 노드들과 연결된 노드일 수록 중요하다고 식별 Betweenness centrality 짧은 최단거리를 갖는 노드일 수록 중요하다고 식별 Closeness centrality 다른 노드들과 가까이 연결된 노드일 수록 중요하다고 식별 Eigenvector centrality 중요한 다른 노드와 많은 관계를 가질 수록 중요한 노드로 식별 Eccentricity 전체 네트워크에서 얼마나 중심에 위치하는지 식별 Authority 다른 좋은 노드들을 가리키고 있는지 식별 Hub 다른 좋은 노드들에 의해 참조되고 있는지 식별 Clustering Coefficient 노드들 사이의 연결 밀도를 식별
  • 69. 69 78 캐릭터 행위 특성 비교 (6/8) ▶소셜 네트워크 분석 – 평균 degree 를 통해 게임봇은 일반 유저에 비해 소셜 활동이 제한적이라는 것을 알 수 있음
  • 70. 70 78 캐릭터 행위 특성 비교 (7/8) ▶소셜 네트워크 분석(계속) – Network motif • 귓속말, 이메일 네트워크에서 게임봇과 일반 유저의 다른 양상을 확인함
  • 71. 71 78 캐릭터 행위 특성 비교 (8/8) ▶소셜 네트워크 분석(계속) – 두 네트워크 사이에서의 상호 작용 비교 (Jaccard coefficient 이용) • 일반 유저는 동일한 유저와 여러 네트워크에 걸쳐 상호 작용을 수행함 • 봇은 파티, 친구, 거래 한정
  • 72. 72 78 게임봇 탐지 (1/3) ▶Feature selection 알고리즘으로 게임봇 탐지에 사용될 피쳐를 선택하였음 ▶총 144개 feature – CFS Subset Evaluator + Best first, Greedy stepwise – Information Gain Attribute Evaluator + Ranker ▶Test classifier : Random Forest ▶Feature set 의 성능 비교 – Feature_Set1 (144개, 전체) – Feature_Set2 (62개) – Feature_Set3 (6개)
  • 73. 73 78 게임봇 탐지 (2/3) ▶게임봇 분류 결과 – Random forest 알고리즘을 이용해 96.1% 정확도로 게임봇과 일반 유저를 식별함 • 높은 정확도 (accuracy) 에 대비 재현율 (Recall) 이 0.742로 낮게 측정되었음 Classifier Overall accuracy Human Bot Precision Recall F-Meas. (0.9) Precision Recall F-Meas. (0.9) Decision tree 0.955 0.960 0.989 0.963 0.911 0.737 0.890 Random forest 0.961 0.961 0.995 0.964 0.956 0.742 0.929 Logistic regression 0.955 0.956 0.994 0.960 0.950 0.705 0.918 Naïve Bayes 0.948 0.960 0.981 0.962 0.859 0.734 0.845
  • 74. 74 78 게임봇 탐지 (3/3) ▶분류 결과에 따른 캐릭터 비교 – 봇으로 분류된 캐릭터 (TP, FP) 혹은 일반 유저로 분류된 캐릭터 (TF, FN) 끼리 유사한 특징을 가짐 – Bot → Bot (4,635 캐릭터) – Human → Bot (213 캐릭터) • Bot과 거의 동일한 특징을 가짐 • 게임 사로부터 제재되지 못한 게임봇을 의미함 – Bot → Human (1,615 캐릭터) • Human과 거의 유사한 특징을 보임 • 일반 유저가 특정 시기에 게임봇을 사용한 것을 확인 • 채집 봇, 파티 봇을 확인함 – Human → Human (39,885 캐릭터)
  • 75. 75 78 결론 ▶일반 사용자와 게임봇 사용자의 행위 특징을 이용하여 프로파일링 – 로그인 정보, 캐릭터, 활동, 그룹 활동, 활동 다양성, 소셜 네트워크 분석 – 다른 SW와의 충돌이나 게임 플레이 방해를 방지하면서 게임봇 탐지가 가능함 ▶일반 유저와 게임봇의 행위 특징을 이용하여 게임봇 사용자를 탐지할 수 있음 ▶탐지 정확도: 96.06% (44,274 / 46,348)
  • 76. 76 78 데이터 셋 ▶공개 데이터 셋 – 데이터 전처리 과정, 사용된 피쳐, 피쳐 선택 알고리즘 결과, 학습에 사용된 최종 입력 데이터 및 분류 결과가 공개되어 있음 – http://ocslab.hksecurity.net/Datasets/game-bot-detection [Player_action_features.csv]
  • 77. 77 78 맺으며 ▶게임봇, 작업장과 싸워나가는 것은 장기전 ▶잠재적인 고객 이탈을 막고, 만족도를 높이는 중요한 작업임 ▶환금성, 거래 기능으로 인해 모바일 게임 용 게임봇, 작업장 출현에 선제적으로 대응 필요 ▶로그 디자인, 분석 인프라 마련, 제재 정책을 게임 런칭 단계부터 준비
  • 78. 78 78 경청해 주셔서 감사합니다.

Hinweis der Redaktion

  1. So, once again, game bot is an automated program that plays the game instead of human players. Well made bot programs can run autonomously without any humans control. So they can continue game play 24 7 , they don’t need taking a break, and they gather game money and items much faster than normal human players. FYI, A normal game player’s average playtime is under 2 hours per day. Simply, game bots can grow up more than ten times faster than average human player. The main goal of using game bot is gaining money. Actually it does not give any fun to bot owners. Bots only do hunt hunt hunt and gather money money money. This screenshot of bot program. Once we launch a bot program the it control game client by inputting mouse and keyboard events to control the game player’s avatar.
  2. This videoclip shows the League of Legend cheating tool. When a user run this cheating tool, this program gives the opponent player’s information , it is a very big advantage to cheating players.
  3. This videoclip shows the League of Legend cheating tool. When a user run this cheating tool, this program gives the opponent player’s information , it is a very big advantage to cheating players.
  4. This guy play like a bot, he always gain the maximum point. So from the remote side, game companies have difficulty to classify human and bots.
  5. So, From this view, GFGs and App fake reviewer are also called as a hacker. This woman is a App fake reviewer always doing clicking like like like or grading 5 star, 5star 5star with many fake accounts. Absolutely, There is another black market between app developer and app fake reviewer to attract normal users.
  6. 제공받은 로그는 103개임
  7. 88일간 플레이한 전체 캐릭터는 약 80,000 캐릭터 정도입니다. 해당 캐릭터들로 게임봇 분류 결과 미탐 및 오탐율이 크게 상승하였고 misclassified 캐릭터들의 특징을 파악하기 어려워, noise를 제거하기 위해 누적 플레이 시간을 통해 분석 대상을 추가 선별하였습니다.
  8. 첫 번째 data collection 단계에서는 game log와 chatting log를 수집하였습니다. 이들 data는 data sampling을 통해 training set과 validation set으로 분류하여 사용하였습니다. 두 번째 feature selection 단계에서는 data collection 단계에서 수집한 data로부터 feature를 추출하여 카테고리를 분류하고, data 성격에 따라 data를 가공하였습니다. 다음으로는 이들 가공된 feature를 feature selection 알고리즘을 통해 유의미한 feature를 선별하였습니다. 세 번째 classification 단계에서는 Decision tree, Random forest, Logistic regression, Naïve Bayes 분류기를 통해 게임봇을 분류하였습니다. 마지막 evaluation 단계에서는 게임 사에서 제공한 게임봇 제재 리스트를 가지고 precision, recall, f-measure를 도출하여 성능을 비교하였습니다.
  9. 앞에서 진행한 연구를 토대로 다음과 같은 게임봇의 행위 특성을 도출할 수 있었습니다. 게임봇을 식별하기 위한 feature를 personal feature와 social feature로 구분하여 정리하였습니다.
  10. <Personal feature – 로그인 정보> (a)는 로그인 빈도를 CDF 그래프로 나타낸 것입니다. X축은 로그 스케일로 나타내었습니다. 게임봇이 휴먼 유저에 비해 로그인 횟수가 월등히 많은 것을 확인할 수 있습니다. 휴먼 유저의 경우, 라이트 유저도 많고, 일과 시간이나 수면 시간에는 접속을 하지 못하지만, 게임봇의 경우, 쉬지 않고 플레이를 할 수 있습니다. (b)는 누적 플레이 시간을 CDF 그래프로 나타낸 것입니다. 마찬가지로 X축은 로그 스케일로 나타내었습니다. 동일한 이유로 게임봇이 더 많은 시간을 게임에 투자한 것을 확인할 수 있습니다. (c)는 하루 최대 채집 횟수를 CDF 그래프로 나타낸 것입니다. 사람이라면 하루에 채집을 1,000건 이상 하는 것은 거의 불가능합니다. 하지만 게임봇은 자동 채집 기능이 프로그램되어 있으므로 1,000건 이상이 가능합니다. 채집 봇의 60%는 하루에 무려 5,000건 이상의 채집을 하는 것으로 나타났습니다. 따라서, 이 feature는 게임봇으로 분류할 수 있는 명백한 feature로 볼 수 있습니다.
  11. <Personal feature – 캐릭터 활동> 이 그래프는 Personal feature의 캐릭터 활동에 해당하는 항목들의 분포를 산점도로 표현한 것입니다. 빨간색은 게임봇, 파란색은 일반 유저를 나타냅니다. 게임봇과 일반 유저의 분포에 차이가 있음을 확인할 수 있습니다. 특히 큰 차이를 보이는 활동은 ‘아이템 최대 수집 횟수’, ‘앉기 횟수‘, ‘경험치 획득 횟수‘, ‘게임 머니 수집 횟수‘ 입니다. (경험치/게임 머니 획득량은 일반 유저 그룹이 훨씬 높습니다.)
  12. 이 그래프는 게임봇과 휴먼 유저를 구분할 수 있는 이벤트의 비율을 표현한 것입니다. 게임머니 획득 비율은 게임봇과 휴먼 유저 사이에 큰 차이가 없었으며, PK 포인트 획득 비율은 휴먼 유저가 봇 유저보다 3배 높게 나타났습니다. 나머지 이벤트인 경험치 획득, 아이템 획득, 앉기 이벤트의 경우, 게임봇이 월등히 높은 것을 확인할 수 있었습니다.
  13. <Social features – 그룹 활동, 소셜 활동> 하단 좌측 그래프는 평균 파티 플레이 시간을 CDF 그래프로 나타낸 것입니다. X축은 로그 스케일로 나타내었습니다. 휴먼 유저는 80% 이상이 2시간 20분 이내로 파티 플레이를 수행하는 데에 반하여, 게임봇의 80% 이상이 4시간 10분 이상 파티 플레이를 수행하였습니다. 하단 우측 그래프는 social interaction diversity를 엔트로피로 나타낸 것입니다. 파티, 친구, 거래, 귓속말, 메일, 개인상점, 길드 이벤트를 얼마나 다양하게 수행했는지 반영합니다. 이를 섀넌의 diversity 엔트로피 식에 적용하였습니다. 결과로 게임봇보다 휴먼 유저가 훨씬 다양한 활동을 수행하는 것으로 확인되었습니다. 이는 게임봇이 골드 파밍이나 리얼 머니 트레이딩에 관련된 행위에만 집중하는 것을 보여줍니다.
  14. 파티, 친구, 거래, 귓속말, 메일, 개인 상점은 AION 내에서 두 캐릭터 사이에 이루어지는 활동입니다. 두 캐릭터 사이에 이벤트가 발생되면, 이를 소셜 네트워크에서 노드 및 엣지로 표현이 가능합니다. 소셜 네트워크에서 노드의 영향도를 측정하기 위한 위의 지표를 활용하여, 네트워크 별로 피쳐를 추가 생성하였습니다.
  15. 게임봇은 프로그래밍된 행동만을 반복하며 게임 내 재화를 수집하기 때문에 게임 내의 소셜 네트워크에서 활동은 잘 하지 않습니다. Average degree는 노드와 연결된 다른 노드들의 수를 나타냅니다. 따라서 작은 Avg. degree는 캐릭터가 해당 네트워크에서 소수의 캐릭터와 상호 작용을 수행했다는 것을 의미합니다. 이를 통해 게임봇은 일반 유저에 비해 소셜 활동이 제한적이라는 것을 알 수 있습니다.
  16. 게임봇은 귓속말 기능을 이용해 다른 게임봇의 위치를 지정하는 기능을 갖고 있고, 이런 기능으로 인해 일반 유저와는 다른 활동 패턴을 보이고 있습니다. 메일 네트워크에서는 게임 내에서 스팸 메일을 보내는 게임봇들로 인해 일반 유저와 다른 활동 패턴을 보였습니다.
  17. 분석을 위해 6개의 소셜 네트워크를 구분하고 있는데, 일반적인 플레이 패턴에서는 특정 유저와 상호 작용을 수행하는 다른 유저는 여러 소셜 네트워크에 걸쳐 관계를 갖는 것이 일반적 입니다. (예: 친구와 파티 수행, 친구와 귓속말, 파티원과 메일 주고 받기) 그러나 게임봇은 일반 유저와 다른 행동 패턴을 보일 것이라 보고 link overlap을 측정하기 위해 Jaccard coefficient를 이용해 두 네트워크를 비교하였습니다. 일반 유저는 모든 네트워크 쌍(pair)에 걸쳐 자카드 계수를 확인할 수 있는데요, 반면 게임봇은 파티, 친구, 거래에 대해서만 높은 자카드 계수를 보였습니다. 특히 파티-거래, 파티-친구 쌍에서는 일반 유저보다 높은 자카드 계수를 보인 것이 특징입니다.
  18. {로그인 정보, 캐릭터 활동, 그룹 활동, 활동 다양성} 4 가지 그룹에서 추출한 feature들과 social feature 를 포함하여 총 144개의 feature를 생성하였습니다. Weka에서 Best first, Greedy stepwise, Information gain 기법을 통해 도출된 유의미한 feature들을 가지고 세 가지 feature set을 구성하였고, 이를 Random forest 분류기에 적용시켜보았습니다. 결과로는 Feature_Set2의 feature 수가 144개에서 62개로 절반 이상 줄어들었음에도 불구하고, Feature_Set1과 거의 동일한 결과를 보여주어, 최종적으로 Feature_Set2를 선정하였습니다.
  19. 다음으로 Decision tree, Random forest, Logistic regression, NaiveBayes 분류기로 성능을 평가하였습니다. Ramdom forest 분류기가 정확도 96%로 가장 좋은 성능을 보여주었습니다. 그러나 게임봇 분류에서 재현률이 0.74로 낮았습니다. 원인을 파악하기 위해 추가 분석을 진행하였습니다.
  20. 우측 그래프는 Bot을 Bot으로 분류한 경우, Human을 Bot으로 분류한 경우, Bot을 Human으로 분류한 경우, Human을 Human으로 분류한 경우를 비교한 그래프입니다. 이것은 오탐(FP)의 경우는 아직 게임 사로부터 제재되지 않은 Bot을 의미하고, 미탐(FN)인 경우는 Human이 특정일에 game bot을 사용한 것으로 간주할 수 있습니다. 일주일 단위로 미탐인 경우를 분석했을 때, 채집 봇과 파티 봇을 사용한 것을 확인할 수 있었습니다. Mail 관련 피쳐 (Mail_out_degree, Mail_between_centrality) 를 제외한 나머지 feature에서 Bot으로 분류된 경우끼리, Human으로 분류된 경우끼리 거의 동일한 특징을 보입니다. (Mail 네트워크에서는 극 소수의 봇이 인터넷 현금광고 등을 위해 해당 네트워크의 절반 이상을 차지하여 나머지 소셜 피쳐들과는 다른 양상을 보였습니다.)
  21. 온라인 상에서의 부정 행위를 탐지하여 게임 사와 일반 사용자의 피해를 줄이기 위해 연구를 진행하였습니다. 게임 사로부터 제공받은 로그를 가지고 데이터 마이닝 및 통계적 기법 등을 사용하여 정확도 96%로 부정 행위자를 탐지하였습니다. 부정 행위자는 경제적 이득을 얻는 행위에만 집중하는 것을 확인할 수 있었습니다. 제안하는 방법은 다른 소프트웨어와의 충돌이나 게임 플레이 방해와 같은 단점을 극복할 수 있으며, 게임 사에서 탐지하지 못한 봇까지 탐지가 가능하였습니다.