Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

3,472 views

Published on

거래로그, 파티플레이 로그, 전투 및 사냥 로그 등 서버단에 남는 빅데이터를 분석하여 게임봇 또는 작업장을 탐지하는 기법들은 최근 학계 및 게임업계에서 다양하게 연구되어 현업에 적용되고 있다.
본 강의에서는 이러한 데이터마이닝 기반의 탐지기법들 중에서 최근에 활발히 연구되고 있는 유저들의 행위분석과 프로파일링 기법을 이용한 봇탐지 기법에 대해 소개한다.
이를 위해 다양한 대형 MMORPG 의 실제 로그 데이터를 이용하여 분석을 수행하였으며, 정상적인 유저와 게임봇 유저간 뚜렷이 다른 패턴을 보이는 특징값 (feature) 들을 발굴하였다. 선정된 특징들을 토대로 정상적인 유저와 게임봇 사이의 차이점을 분석한 사례를 설명하고, 범용적으로 활용할 수 있는 프로파일링 기법을 설명하도록 한다.

Published in: Data & Analytics

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

  1. 1. 1 78 고려대학교 김휘강 행위분석 및 프로파일링 기법을 중심으로 데이터분석 기반 게임봇과 작업장 탐지
  2. 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. 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. 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. 5 78 게임봇 ▶ 왜 이리 잡기 어려운 것일까요? 게임회사들이 봇들이 뛰노는 공원에 가까이 있어서…
  6. 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. 7 78 게임봇 – 영원한 난제 ▶ Q1: 서비스 초기부터 강력하게 잡는 것이 좋을까요? 아니면 어느 정도 초반에는 두었다가 잡는 것이 좋을까요? ▶ Q2: 기업형 작업장만 타게팅하여 잡는 것이 과연 공정한가요? 고랩 유저이고 오랜 기간 이용한 VIP 개인 유저라 하더라도 일단 한번이라도 쓰면 강력히 제재해야 하는 것 아닌가요?
  8. 8. 8 78 게임봇 – 영원한 난제 ▶ Q3: 게임봇을 강력히 제재했더니, 마치 병은 고쳤는데 사람이 죽은 것처럼 되었습니다. 사업부와의 갈등을 어떻게 극복해야 할까요? ▶ Q4: 전담 보안조직에서 게임봇 탐지와 대응을 전담하는 것이 나을까요? 각 개발 스투디오마다 대응을 하는 것이 나을까요?
  9. 9. 9 78 게임봇 – 영원한 난제 ▶ Q5: PC 기반 MMORPG 라면 로그도 풍부하게 남기고 분석도 어떻게든 해보겠지만, 모바일 게임은 어떻게 해야 하나요? ▶ Q6: 우리는 회사가 크지 않아서 전담 분석인력을 두기 어렵습니다. 가성비가 가장 좋은 탐지 알고리즘은 어떤 것이 있을까요?
  10. 10. 10 78 1. 게임봇 & 작업장 (GFG)
  11. 11. 11 78 게임봇 (Game Bot) ▶ 사람을 대신하여 자동으로 게임플레이를 해주는 프로그램 – 게임봇 유저들의 빠른 성장과 재화 취득으로 인해 컨텐츠 소모 속도가 빨라지고, 공정한 경쟁이 이루어지지 않음 MMORPG 리니지1 자동 사냥 프로그램 FPS 서든어택 오토샷 핵 프로그램 사냥터의 위치 및 사냥 방법 선택 가능 자동 조준 및 벽을 통과하여 공격할 수 있음 장르 불문 게임핵, 게임봇은 게임유저들 불만 및 이탈 요인 중 하나
  12. 12. 12 78 백문이 불여일견
  13. 13. 13 78 Cheating (HACK), BOT ▶ MMORPG 에서의 BOT
  14. 14. 14 78 Cheating (HACK), BOT ▶ MMORPG 에서의 BOT
  15. 15. 15 78 게임봇 (Game Bot) , 게임핵 ▶ AOS 장르에서의 헬퍼 (helper) - League of Legend – 부가정보제공 (attack range, character status, attack’s ballistics, etc.) 및 자동아이템 습득
  16. 16. 16 78 게임봇 (Game Bot) , 게임핵 ▶ AOS 장르에서의 헬퍼 (helper) - League of Legend – https://www.youtube.com/watch?v=0e-bWiQbqag
  17. 17. 17 78 게임봇 (Game Bot) , 게임핵 ▶ 모바일게임 사례 – 모바일게임은 핵, 매크로탐지가 쉽지 않음 - 단순한 게임 내 이벤트 로그 디자인 문제 통신 과금 문제 등 • 안드로이드 OS 의 한계 • 모바일 보안솔루션 적용 시 사용성 저하 • 에뮬레이터 탐지/차단 문제
  18. 18. 18 78 게임봇 (Game Bot) , 게임핵 ▶ 전형적인 튜링테스트 문제 – 저 커튼너머 대상이 사람일까 인공지능일까?
  19. 19. 19 78 게임봇 (Game Bot) , 게임핵 ▶ 세*나이츠 사례 : https://www.youtube.com/watch?v=aywBwvxqB78
  20. 20. 20 78 게임봇, 게임핵 거래 방식 및 비용 ▶Youtube 등 다양한 판매 채널 등장 ▶개인 거래 방식 – 유투브 등의 동영상 사이트에 불법 프로그램 사용법 및 실행 화면을 홍보 후, 네이트온, 카카오톡 ID등의 개인 연락처를 통하여 프로그램을 판매함 ▶거래 사이트를 이용한 거래 방식 – 불법 프로그램 거래 사이트를 제작하여 해당 사이트의 자료실 또는 다운로드 링크를 통해 불법 프로그램을 판매함 블루몬 사이트 결제화면 창 Youtube 내 서든 어택 홍보 화면
  21. 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. 22 78 게임봇 사용 방법 ▶ 누구나 쉽게 사용할 수 있도록 제작∙배포됨, 판매자의 친절한 설명 제공 ▶ 경우에 따라 방화벽 해제, 백신 종료, 관리자 권한으로 실행 등의 부가적인 과정이 필요함 아이온 오토 프로그램 실행 화면 리니지2 오토 프로그램 실행 화면
  23. 23. 23 78 유저들의 인식 ▶ 게임봇이 저렇게 많은데, 쉽게 구할 수 있는데 왜 막지 않는가? ▶ 신고시스템을 통해 신고를 해도 왜 대응이 되지 않는가? ▶ 아이템 거래 사이트를 모니터링 하면 게임봇 이용자, 전문 작업장, 심지어 사설서버 내에서 생성된 아이템 거래 규모를 누구나 추정할 수 있는데, 왜 대응을 하지 않는가? ▶ 결국 공생 관계 아닌가? 라는 부정적인 인식이 유저들 사이에서 팽배
  24. 24. 24 78 게임회사를 위한 변명 ▶ 현실적인 한계가 많음 – 오탐 문제, (적반하장) 봇 유저들의 법적 대응 – 법적으로도 이제 겨우 제도가 정비되었음 (이동섭 의원 발의, 게임법 일부 개정안) ▶ GM 조직 역할 및 구조 변화 ▶ 무엇보다도 기술적으로 막기 어려움 ▶ 소모전이어서 개발자들로서는 맡고 싶지 않음
  25. 25. 25 78 게임봇이 존재하는 이유 ▶ 돈으로 살 수 없는 것 = 시간 – 온라인 게임 가상세계 내에서는 모두 ‘시간’ 이라는 공평한 한계를 가짐 – 게임봇은 돈으로 ‘시간'을 살 수 있게 해 줌 ▶ 현실의 재화와 가상의 재화가 연결되면서, 시간이라는 재화는 더 이상 공평하지 않음 – 현실세계에서의 부자가 가상세계에서도 부자이자, 강자가 됨 – 짧은 시간 내에 성장하고 싶은 수요는 끊임없이 존재할 것임 ▶ BM의 문제로 볼 것인지, 윤리/정의의 문제로 볼 것인지
  26. 26. 26 78 작업장, App fake reviewer ▶ 작업장, App fake reviewer = new Hackers in new digital era
  27. 27. 27 78 대리 육성 ▶3~4주 하루평균7~11시간씩하고 담배비 피방비 밥값 총30만원빼고 현재186만원벌음 문화상품권도 15만원합치면 총230벌고 30겜방담배밥사먹은돈 빼고 200만원벌었다.. 맡기시는분들도 다좋으신분들이고 가끔 금수저분들이 고생했다고 5만원씩 더입금해주시는분들도 있고 ㅋㅋㅋ 이게참 몸은편하고 좋은데 정신적으로 힘듬 특히 브실할때 너무스트레스다..현지인들이 못올리는이유가 있음 브실구간이 부캐대리가많고 트롤들이 엄청많음; 브실대리기사 거의 뭐 플레상중애들이라 쉽게 이기긴하는데 현지인이라치면 당연히 못올린다고 생각함 내가대리하면서 제일쉬운순서는 플레그담 골드 그담브론즈 그다음 다이아 그담 실버라생각함 리얼실버는진짜 제일암임..ㅎㅎ 하 이제300만원만찍고 쉬고싶다ㅜㅜ ▶[출처] 롤 대리사이트 수입공개함 (리그 오브 레전드 한국커뮤니티) |작성자 aujh106
  28. 28. 28 78 PC 기반 작업장  모바일 작업장 ▶ 작업장 역시 끊임없이 진화 중 ▶ 모바일 게임 전용 작업장 출현
  29. 29. 29 78 2. Various User Behavior based BOT detection
  30. 30. 30 78 Server side BOT detection Server Side BOT detection 클라이언트 단 탐 지의 한계 및 Usability 고려 원할 때 원하는 만큼 제재 가능 빅데이터 분석 인 프라 기술 발전 작업장 및 BOT제 작자에게 탐지 기 법 노출을 최소화
  31. 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. 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. 33 78 • In-game spammer • 누가 스패머인가? 33 • 작업장 • 누가 거대 작업장인가? Server side BOT detection – SNA 분석 예
  34. 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. 35 78 추천 시각화 툴 ▶ SNA 및 시각화의 장점 – 전체를 조망해 보기에 유리, GM tool 로도 유용 ▶ 추천 차트 – Parallel Coordinate Chart (Ggobi, R, Pandas) – 축 디자인에 따라 Visual Signature (특정 조건에서 특정 모양이 발생)를 찾기에 유리
  36. 36. 36 78 추천 시각화툴 - Parallel coordinate chart 적용 예 ▶대규모로 “sa” 계정 권한으로 삭제 쿼리 발생 시 우하향 마름모꼴 모양 발생 Src IP user Target DB.table Query type select update delete sa op1
  37. 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. 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. 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. 40 78 찾았다 너의 패턴, 강약약 중간약약 ▶ 중국집에서 발견한 짜장면+탕수육 식사 action sequence ▶약 40% 의 인원들이 “젓가락들고-단무지-탕수육한입-탕수육한입-짜장비비고- 짜장한입” 과 같은 공통된 패턴을 보임 ▶약 20% 의 인원들이 “젓가락들고-짜장비비고-짜장한입-짜장한입- 탕수육한입- 짜장한입- 짜장한입- 탕수육한입” 의 패턴을 보임 ▶0.5% 미만의 괴이한 식사 패턴을 보이는 사람들이 “젓가락들고-단무지한입- 단무지한입 - 단무지한입 - 단무지한입 – 단무지한입 –양파한입 – 짜장한입 - 식사끝” 의 패턴을 보임 ▶ 이를 게임봇 탐지에 응용을 한다면?
  41. 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. 42 78 Action Sequence 분석 - The good, the bad, the weird ▶ The good, the bad, the weird 의도한 게임 디자인대로의 action sequence
  43. 43. 43 78 Action Sequence 분석 - The good, the bad, the weird 단순 action sequence 외에도 sequence 사이의 interval 을 함께 분석 시 효과가 배가 [Heavy User-Purchase 유저들의 시퀀스] 조사해볼 가치가 있는 유저
  44. 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. 45 78 기초 작업 1. 게임 전체 이용자들의 평균 거래 횟수, 평균 거래 금액 등 기초 통계 확인 2. 양적인 부분 외에도 거래 방향, 거래 아이템 종류, 거래 interval, 거래가 발생한 지역 등 다양한 분석 필요 – 모든 로그에 “년월일시분초“, “좌표“, “아이템/머니 잔액” 을 foot print 로 넣어주는 것이 분석에 상당한 도움을 줌 – 검색 속도를 높이기 위해 action ID 넘버링 규칙을 잘 지정할 것 • 가장 잘 구현된 event ID 예 – HTTP 응답 값 – 400 대 응답값은 무조건 client 단의 에러임 (404 not found) – 500 대 응답은 무조건 server 단 에러임 – 200 대 응답은 하여간 ok!
  46. 46. 46 78 이상한 거래 정의 필요 ▶ 일방적으로 받기만 하는 관계 – 아무리 친한 친구라 하더라도 내가 10번 밥을 사면 1번은 상대방도 밥을 사줘야 하지 않나? ▶ 기꺼이 모든 것을 주는 관계 – 아무리 친한 친구라 하더라도 매번 가진 자산의 90%를 일방적으로 주는 것은 이상하지 않나? ▶ 정기적으로 주는 관계 – 아니 택시회사 사납금도 아니고 어떻게 정해진 시간대에 납입하듯 주지?
  47. 47. 47 78 ▶Free money trading 을 파악하는 것이 중요 47 전체 거래 네트워크 대가 없는 게임 머니 및 아이템 이동 네트워크 Server side BOT detection – trading network analysis
  48. 48. 48 78 누구를 타겟으로 할 것인가? ▶ 게임봇을 박멸하고 싶은가? – 총력전 (Total War), 이쪽의 출혈도 큼, 격침시킨 배가 총 몇 척인가로 측정하지는 말 것 ▶ 뱅커 (통장계정)을 선별적으로 박멸하고 싶은가? – 외과적 수술 (surgical strike), 격침시킨 배의 총 배수량 톤수로 측정하는 방식 ▶ 대형작업장만을 노리고 싶은가? – 거래 규모로 filtering, 어짜피 20:80 룰은 이곳에도 성립 ▶ 탐지 알고리즘을 숨기고 싶은가? – 기만전술 (Deception), 통신 암호 해독에 성공했어도 못한 척. 일부 작업장은 일부러 살려 둠 ▶ 제재 시점은 언제가 좋겠는가? – 전격전 (Blitz Tactics), 작업장들이 결제를 대량으로 한 3일 후가 좋겠군. 훗훗훗
  49. 49. 49 78 ▶그래프 정제(Refine) 49 대가 없이 이동한 게임머니 네트워크 대가 없이 이동한 게임머니 네트워크에서 3-tier 이하 네트워크 제거 Server side BOT detection – trading network analysis
  50. 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. 51 78 Detection Rule Setup ▶ Manual inspection – Merchant/Banker 캐릭터의 경우 거래의 중심에 있다는 것을 이용하여 Betweenness centrality 를 확인 – 높은 값을 갖는 캐릭터 중 merchant 캐릭터가 있음을 수동 분석으로 확인 The setting of the betweenness centrality
  52. 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. 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. 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. 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. 56 78 Detection Rule Setup ▶ Manual inspection – 작업장 관련 Banker (통장계정) 캐릭터와 Merchant 캐릭터의 존재 확인 – 올바른 제재 performance metric 설정이 필요 (제재 계정 개수 -> 회수 머니 량) – Manual inspection 을 통해 선정한 확실한 (no false-positive error) 작업장 캐릭터의 거래 네트워크를 2-tier 로 확장하여 다른 작업장 캐릭터 확인
  57. 57. 57 78 Basic Economic Characteristic ▶ 캐릭터 역할 별 평균 레벨, 거래량, 획득 게임머니 ▶ 작업장별 게임머니 및 거래량
  58. 58. 58 78 Temporal Dynamics and Banning Effect • 계정 제재로 인한 작업장 감소 효과는 확실함 • 지속적인 제재는 작업장의 경제규모에도 영향을 주고, 캐릭터 수에도 영향을 주어 작업장을 붕괴시킴 58
  59. 59. 59 78 Temporal Dynamics and Banning Effect • 작업 캐릭터를 공급해주는 캐릭터 작업장이 있음 – 신규캐릭터 생성, 계정생성 타이밍, 제재 타이밍 간 미묘한 해석 59
  60. 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. 61 78 Goal ▶데이터 마이닝을 이용한 게임봇 탐지 정확도 향상 – 기존 게임봇 탐지 연구들에서 기 검증된 피쳐(feature)를 활용 – 여러 피쳐를 단일 탐지 프레임워크에 사용하여 고성능으로 게임봇을 탐지함 – 잘못 분류된 일반 유저와 게임봇의 특징을 분석하고 원인을 파악함 ▶데이터 셋 – A 모 게임 내 1개 서버에서 생성된 88일간의 in-game 활동 로그 (약 80,000 캐릭터) – 분석 기간내 3시간 이상 플레이를 수행한 49,379 캐릭터를 연구 대상으로 설정 • 일반 유저: 42,037 (84.5%) / 게임봇: 7,702 (15.5%) • 게임봇 식별 기준: 불법 프로그램 사용으로 인해 제재 된 이력이 있는 캐릭터
  62. 62. 62 78 Framework ▶Overall Design Game log - Training + validation
  63. 63. 63 78 캐릭터 피쳐 추출 ▶게임봇은 재화를 수집하면서 일반 유저와 다른 행위 패턴을 보임 – 일반 유저와 게임봇의 차이를 잘 반영하는 피쳐를 추출함 Category Feature Personal features 로그인 정보 로그인 빈도, 플레이 시간, 보유 게임 머니, 접속한 클라이언트의 IP Address 수 캐릭터 활동 앉기 횟수, 아이템 획득 수, 채집 횟수, 경험치 획득량, 아이템 획득 수, PK 포인트 획득량, PK로 인한 사망 수, 부활 횟수, 포탈 이용 횟수 Social features 그룹 활동 파티 플레이 시간, 길드 활동량 활동 다양성 파티, 친구, 거래, 귓속말, 메일, 개인 상점, 길드 기능 이용량 소셜 네트워크 분석 {연결, 근접, 매개, 고유벡터} 중심성, authority, hub, PageRank, clustering coefficient
  64. 64. 64 78 캐릭터 행위 특성 비교 (1/8) ▶게임 활동 비교 – (a), (b): 게임봇은 일반 유저에 비해 로그인이 잦고, 게임 내에서 장시간 활동한 것을 확인할 수 있음 – (c): 대부분의 일반 유저는 소량의 아이템을 채집하는 반면, 전체 게임봇의 60%는 하루에 5,000번 이상의 채집을 수행 (사람은 1천건도 도저히 불가능) (a) 로그인 횟수 (b) 누적 플레이 시간 (hours) (c) 일일 최대 아이템 수집 횟수
  65. 65. 65 78 캐릭터 행위 특성 비교 (2/8) ▶일반 유저와 게임봇의 행동 횟수 분포 게임 플레이 시간 경험치 획득 횟수 길드 활동 아이템 수집 횟수 아이템 최대 수집 횟수 게임 머니 수집 횟수 앉기 횟수 PK 포인트 획득 횟수
  66. 66. 66 78 캐릭터 행위 특성 비교 (3/8) ▶게임 내 행동 비율 비교 – 게임봇이 수행하는 전체 활동의 50%는 아이템 수집, 경험치 획득임을 확인함 • 일반 유저의 1.5 ~ 2배 수준 – 게임봇은 일반 유저에 비해 앉기 활동이 빈번하며, PK 포인트는 거의 획득하지 않음
  67. 67. 67 78 캐릭터 행위 특성 비교 (4/8) ▶그룹 활동 (파티 플레이 시간) – 일반 유저의 80%는 2시간 20분 이하로 파티 플레이 수행 – 게임봇의 80%는 4시간 10분 이상 파티 플레이 수행 ▶소셜 활동 다양성 – 게임봇은 골드 파밍이나 RMT 관련 행위에 집중하므로 소셜 활동 다양성이 낮게 관측됨 • 관측 소셜 활동: 파티, 친구, 거래, 귓속말, 메일, 개인 상점, 길드
  68. 68. 68 78 캐릭터 행위 특성 비교 (5/8) ▶소셜 네트워크 분석 – 파티, 친구, 거래, 귓속말, 메일, 개인 상점 네트워크의 특징을 아래의 척도로 측정하여 피쳐로 사용함 네트워크 척도 특징 Degree centrality 많은 노드들과 연결된 노드일 수록 중요하다고 식별 Betweenness centrality 짧은 최단거리를 갖는 노드일 수록 중요하다고 식별 Closeness centrality 다른 노드들과 가까이 연결된 노드일 수록 중요하다고 식별 Eigenvector centrality 중요한 다른 노드와 많은 관계를 가질 수록 중요한 노드로 식별 Eccentricity 전체 네트워크에서 얼마나 중심에 위치하는지 식별 Authority 다른 좋은 노드들을 가리키고 있는지 식별 Hub 다른 좋은 노드들에 의해 참조되고 있는지 식별 Clustering Coefficient 노드들 사이의 연결 밀도를 식별
  69. 69. 69 78 캐릭터 행위 특성 비교 (6/8) ▶소셜 네트워크 분석 – 평균 degree 를 통해 게임봇은 일반 유저에 비해 소셜 활동이 제한적이라는 것을 알 수 있음
  70. 70. 70 78 캐릭터 행위 특성 비교 (7/8) ▶소셜 네트워크 분석(계속) – Network motif • 귓속말, 이메일 네트워크에서 게임봇과 일반 유저의 다른 양상을 확인함
  71. 71. 71 78 캐릭터 행위 특성 비교 (8/8) ▶소셜 네트워크 분석(계속) – 두 네트워크 사이에서의 상호 작용 비교 (Jaccard coefficient 이용) • 일반 유저는 동일한 유저와 여러 네트워크에 걸쳐 상호 작용을 수행함 • 봇은 파티, 친구, 거래 한정
  72. 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. 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. 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. 75 78 결론 ▶일반 사용자와 게임봇 사용자의 행위 특징을 이용하여 프로파일링 – 로그인 정보, 캐릭터, 활동, 그룹 활동, 활동 다양성, 소셜 네트워크 분석 – 다른 SW와의 충돌이나 게임 플레이 방해를 방지하면서 게임봇 탐지가 가능함 ▶일반 유저와 게임봇의 행위 특징을 이용하여 게임봇 사용자를 탐지할 수 있음 ▶탐지 정확도: 96.06% (44,274 / 46,348)
  76. 76. 76 78 데이터 셋 ▶공개 데이터 셋 – 데이터 전처리 과정, 사용된 피쳐, 피쳐 선택 알고리즘 결과, 학습에 사용된 최종 입력 데이터 및 분류 결과가 공개되어 있음 – http://ocslab.hksecurity.net/Datasets/game-bot-detection [Player_action_features.csv]
  77. 77. 77 78 맺으며 ▶게임봇, 작업장과 싸워나가는 것은 장기전 ▶잠재적인 고객 이탈을 막고, 만족도를 높이는 중요한 작업임 ▶환금성, 거래 기능으로 인해 모바일 게임 용 게임봇, 작업장 출현에 선제적으로 대응 필요 ▶로그 디자인, 분석 인프라 마련, 제재 정책을 게임 런칭 단계부터 준비
  78. 78. 78 78 경청해 주셔서 감사합니다.

×