DOI QR코드

DOI QR Code

User Behavior Analysis for Online Game Bot Detection

온라인 게임 봇 탐지를 위한 사용자 행위 분석

  • Kang, Ah-Reum (Graduate School of Information Security, Korea University) ;
  • Woo, Ji-young (Graduate School of Information Security, Korea University) ;
  • Park, Ju-yong (Physics Department, College of Sciences, Kyunghee University) ;
  • Kim, Huy-Kang (Graduate School of Information Security, Korea University)
  • 강아름 (고려대학교 정보보호대학원) ;
  • 우지영 (고려대학교 정보보호대학원) ;
  • 박주용 (경희대학교 물리학과) ;
  • 김휘강 (고려대학교 정보보호대학원)
  • Received : 2011.07.06
  • Accepted : 2012.01.13
  • Published : 2012.04.30

Abstract

Among the various security threats in online games, the use of game bots is the most serious problem. In this paper, we propose a framework for user behavior analysis for bot detection in online games. Specifically, we focus on party play that reflects the social activities of gamers: In a Massively Multi-user Online Role Playing Game (MMORPG), party play log includes a distinguished information that can classify game users under normal-user and abnormal-user. That is because the bot users' main activities target on the acquisition of cyber assets. Through a statistical analysis of user behaviors in game activity logs, we establish the threshold levels of the activities that allow us to identify game bots. Also, we build a knowledge base of detection rules based on this statistical analysis. We apply these rule reasoner to the sixth most popular online game in the world. As a result, we can detect game bot users with a high accuracy rate of 95.92%.

온라인 게임의 다양한 보안 위협 가운데, 온라인 게임 봇의 사용이 게임 서비스에 가장 심각한 문제를 야기하고 있다. 본 논문에서는 온라인 게임 봇 탐지를 위한 소셜 액티비티 분석 프레임워크를 제안한다. 이 프레임워크를 이용하여 게이머의 소셜 액티비티를 가장 많이 포함하고 있는 파티 플레이(party play) 로그를 분석하는 데에 적용하였다. 게임 봇은 일반 사용자들과 다르게, 사이버 자산을 빠르게 얻는데 특화되어 있기 때문에 소셜 액티비티를 분석할 경우 정상적인 사용자들과 행동 패턴에 차이가 있다. 이 특징을 이용하여 게임 봇 이용자와 일반 이용자들을 구분해 낼 수있도록, 사용자 행위를 분석하고 온라인 게임 봇 탐지를 위한 임계값을 정의하였다. 탐지 규칙을 포함하는 지식 기반 시스템을 구축한 뒤 이를 국내 최대, 세계 6위 규모의 게임에 적용하였다. 본 논문의 프레임워크를 활용하여 분류를 한 결과 95.92%의 높은 정확도를 보였다.

Keywords

I. 서론

온라인 게임 산업에서 보안은 중요한 이슈가 되었다. 온라인 게임 보안의 목표는 부정행위와 해킹으로 부터 온라인 게임 회사의 시스템, 네트워크, 데이터베이스, 응용프로그램과 같은 자산을 보호하고 온라인 게임 사용자의 개인 정보와 사이버 자산을 보호하는 것이다. 게임 플레이를 통해 얻은 게임 아이템과 머니는 다른 플레이어에게 팔거나 현금으로 바꿀 수 있다[1]. 부정행위자는 불공정한 이익을 얻기 위해 게임 봇이나 게임 회사에 의해 금지된 사설 서버를 사용한다. 온라인 게임 내 불법적인 행위의 종류와 특징을 [표 1]에 나타내었다.

[표 1] 온라인 게임에서의 부정행위

게임 봇은 사람 대신 게임을 플레이해주는 자동화된 프로그램이다. 게임 봇은 하루 24시간 동안 플레이하기 때문에 게임 머니와 아이템과 같은 사이버 자산을 일반 사용자 보다 더 효율적으로 얻는다. 사설 서버는 실제 게임 서버 프로그램의 불법 복사본으로 구축된다. 사설 서버는 사용자를 끌기 위해 더 많은 경험치 포인트와 아이템을 제공한다. 일반적으로 사설서버는 공짜이거나 공식적인 서비스 보다 훨씬 싸게 제공된다. 따라서 부정행위자의 이와 같은 저작권 침해 행위는 온라인 게임 산업에 큰 경제적 손실을 준다. 게임 봇 제공자와 사설 서버는 원격 설치와 콜 센터 서비스를 제공하여 사용자들을 현혹하고 법망을 피하기 위해 국외에서 서비스를 제공한다.

부정행위자는 게임 균형을 파괴하고 게임 콘텐츠를 빠르게 소비한다. 부정행위자는 정직한 사용자들에게 박탈감을 주고 흥미를 읽게 하여 결국 떠나게 만든다. 부정행위는 온라인 게임 사용자의 수를 감소시키고 온라인 게임의 수명을 단축시킨다. 게임 봇과 사설 서버의 수가 늘어남에 따라 온라인 게임 회사는 사용자를 지키기 위해 노력하고 있다. 게임 감시, 보안 솔루션 배포, 네트워크 감시를 통해 게임 봇을 예방하고 탐지 하려는 게임 회사의 노력은 부정행위의 수를 감소시키는 데에 실패했다. 심지어 이런 게임 회사의 노력은 높은 유지비용을 필요로 하고 다른 소프트웨어와의 충돌이나 게임 플레이를 방해하는 등의 사용자의 불편을 야기한다. 이런 단점을 극복하기 위해 사용자와 시스템에 부작용이 없고 높은 탐지 정확도를 보장하는 봇 탐지 방법이 필요하다.

본 연구에서 소셜 액티비티 분석을 기반으로 한 게임 봇 탐지 프레임워크를 제안한다. 2장에서 기존의 학문 연구와 산업에서 사용하는 실제 봇 탐지 프로그램을 검토하고 기존 방법의 문제와 한계를 알아보았다. 3장에서는 사용자 행위를 기반으로 한 소셜 액티비티 분석 방법론을 제안한다. 4장에서는 게임 회사로 부터 받은 게임 로그 데이터를 사용하여 제안한 방법을 평가하였다. 5장에서 결론과 앞으로의 연구에 대해 설명하였다.

II. 관련 연구

먼저 게임 산업에서 사용하는 게임 봇 탐지 방법을 [표 2]에서와 같이 크게 세 가지 범주인 클라이언트 단, 네트워크 단, 서버 단에서의 탐지로 분류하였다. 클라이언트 단 탐지 방법인 보안 소프트웨어 사용은 다른 소프트웨어나 하드웨어와 자주 충돌을 일으켜서 사용자들의 불편을 야기한다. 게임 봇만 찾을 수 있는 보이지 않는 아이템을 만드는 등 게임 디자인을 통한 탐지 방법은 드러나는 순간 기능을 상실하게 된다. 네트워크 트래픽 측정이나 네트워크 프로토콜 변경과 같은 네트워크 단 탐지 방법은 네트워크 부하와 게임 플레이에 렉(lag)을 유발시킨다. 클라이언트 단과 네트워크 단 탐지 방법의 단점을 극복하기 위해 게임 회사는 게임 로그에 데이터 마이닝 기술을 적용하는 서버 단 탐지 방법을 적용하기 시작했다. 데이터 마이닝 방법은 높은 정확도의 탐지 규칙을 제공하고 미리 정의된 탐지 알고리즘을 사용하여 사용자와 시스템에 부작용 없는 게임 봇을 탐지할 수 있다.

[표 2] 게임 산업에서 사용되는 게임 봇 탐지 방법

몇몇 연구는 데이터 마이닝 기술을 사용한 게임 로그 기반 탐지 방법을 제안했다. [표 3]에서 최근의 연구를 다섯 가지로 분류하고 주요 논문을 분석하였다.

[표 3] 게임 봇 탐지 방법론

사용자 행동 기반 탐지는 사람과 게임 봇은 행동 패턴에 차이가 있을 것이라고 보고 유휴 시간을 분석하거나 소셜 네트워크에 기반한 분석을 하는 방법이다. Tharonmas 등[3]은 사람과 게임 봇 사이에는 행동 빈도수와 행동 유형의 불일치에 대해 연구하였다. Chen과 Hong[4]은 유휴 시간 분포 사이의 상대적 엔트로피를 측정하였다. Yeung 등[5]은 치팅(cheating) 탐지를 위하여 동적 베이지안 네트워크(dynamic Bayesian network)를 기반으로 하여 다중 게임 시스템 프로토타입을 구현하였다. Varvello와 Voelker[6]는 봇을 탐지하기 위해 아바타들의 소셜 커넥션을 분석하였다.

Yan[7]은 FPS(First-Person Shooter: 1인칭 슈팅 게임) 게임에서 사람과 에임 봇(aim bot)을 구분하기 위해 통계적 추론 방식을 기반으로 하여 동적 베이지안 네트워크를 개발하였다. Ahmad 등[8]은 골드 파머(gold farmer)를 찾기 위하여 BayesNet, NaiveBayes, k-NN(k-Nearest Neighbor algorithm)과 같은 몇몇의 기계 학습 바이너리 분류 기법을 사용하였다[1].

이동 경로 기반 탐지는 대부분의 게임 봇은 사전에 지정된 이동 경로를 이용하지만 사람은 다양한 이동경로를 가진다는 사실에 기초한 분석 방법이다. Kesteren 등[9]은 게임 봇과 사람의 이동 패턴 차이에 기초하여 게임 봇과 사람을 구분하였다. Mitterhofer 등[10]은 빈번하게 반복되는 이동 패턴을 통해 스크립트에 의해 제어되는 특징을 확인하였다. Thawonmas 등[11]은 플레이어가 게임 내 방문하는 좌표 분포의 랜덤성을 측정하여 엔트로피를 계산하였으며 이를 통해 플레이어들의 이동 패턴을 클러스터링(clustering)하였다.

트래픽 기반 탐지는 명령어 패킷의 타이밍, 트래픽의 폭발성(explosiveness), 네트워크 상태에 대한 응답, 데이터 길이, 트래픽 도착 간격과 같은 네트워크 트래픽 정보를 이용하는 방법이다. Chen 등[12]은 게임 봇을 구분하기 위해 클라이언트 명령어의 릴리즈 시간에서 트래픽 규칙, 다중 시간 단위의 트래픽 burstiness, 다른 네트워크의 상태에 따른 트래픽 민감도(sensitivity)를 연구하였다. Hilaire 등[13]은 봇이 사람보다 적은 정보를 보내고 정기적으로 빠른 패킷이 도착하는 패턴을 관찰하였다.

HOP 기반 탐지는 사용자의 키보드와 마우스의 입력 패턴을 분석하는 방법이다. Kim 등[14]은 자동 프로그램을 탐지하기 위해 게임 플레이어에 의해 생성된 윈도우 이벤트 시퀀스를 분석하였다. Gianvecchio 등[15]은 키스트로크(keystroke), 마우스 커서 위치 변화, 움직임 없음, 마우스 드래그 앤 드랍(drag&drop) 경로와 같은 사용자의 입력 행동을 감시하여 수동적으로 게임 봇을 탐지하였다.

CAPTCHA 기반 탐지는 사람은 쉽게 해결할 수 있지만 봇은 해결하기 어려운 것을 이용한 분석 방법이다. Yampolskiy와 Govindaraju[16]는 봇과 정당한 인간 플레이어를 구분하기 위해 게임을 하는 동안 플레이어에 의해 수행되는 게임 단계의 일부로 테스트 절차를 통합하는 방법을 제안하였다. Golle와 Ducheneaut[17]는 게임 외부에서 CAPTCHA 테스트를 사용하는 것에 비해 비교적으로 방해를 최소화하기 위해 게임 안에 CAPTCHA 테스트를 내장하는 방법을 제안하였다.

Jeremy Neal Kelly[18]는 [표 4]와 같이 사용자 행위를 다섯 개의 클래스로 분류하였다. 게임 로그 분석에서 기존 연구는 탐험과 사회 활동에 초점을 두고 대부분 한 가지의 사용자 행동에 집중하였다. 지금까지 연구에서 다양한 사용자 행위를 포함하는 시도는 없었다. MMORPG에서 사용자는 파티를 만들고 같은 파티 안에서 다른 플레이어와 함께 다양한 사회 활동을 하기 때문에 파티 플레이는 사용자 행위의 네 가지 종류를 모두 포함한다.

[표 4] MMORPG에서의 사용자 행위 분류

기존의 연구에서 몇 가지 중요한 차이점을 발견하였다. 첫째, 데이터 마이닝과 통계적 추론을 사용하여 게임 봇을 탐지한 연구는 아직 초보적인 단계라는 사실이다. 둘째, 기존 연구는 제한적인 수의 액션을 분석하려는 시도만 있었다. 기존 연구에서는 몇몇의 주요한 행위들을 선택하고 분석 범위를 제한하였다. 셋째, 지금까지 MMORPG에서 다른 액티비티를 포함하고 사용자의 소셜 액티비티를 반영하는데 에 중요한 역할을 하는 파티 플레이를 다룬 연구는 없었다.

III. 게임 봇 탐지를 위한 사용자 행위 분석 방법론

온라인 게임 봇 탐지를 위한 소셜 액티비티 분석 프레임워크를 제안한다. 특히 사용자의 소셜 액티비티를 반영하는 파티 플레이에 중점을 두었다. 파티 플레이는 하나의 그룹 플레이로 두 명 이상의 플레이어가 하나의 그룹을 구성하여 어려운 퀘스트나 미션을 함께 수행하는 것이다. 사용자들은 같은 파티 내의 다른 사용자들과 함께 팀 플레이로 얻은 경험치 포인트와 게임 머니, 아이템을 나눠 가진다. 대부분의 MMORPG에서 파티 플레이는 게임의 한 부분으로 중요한 역할을 한다. 일반적으로 파티 플레이는 혼자서 수행하기 어려운 퀘스트나 미션을 수행하기 위한 목적인데 반하여, 게임 봇으로 구성된 파티 플레이는 자동사냥이나 채집을 목적으로 한다. 두 개의 봇으로 구성된 파티에서 하나는 주로 사냥을 하고 다른 하나는 사냥하는 봇을 보호한다. 그런 다음, 게임 봇은 파티 플레이로 얻은 게임 머니와 아이템을 팔거나 실제 돈으로 바꾼다. 게임 봇은 다른 목적을 가지고 파티 플레이를 하기 때문에 일반 플레이어와 다른 행동 패턴을 보인다. 봇 파티가 일반 파티 보다 반복되는 특정한 액션의 빈도가 높고 다른 액션들의 빈도는 낮을 것이라고 추측했다.

제안하는 프레임워크는 [그림 1]과 같다. 첫 번째 단계에서 게임 로그에서 파티 플레이를 선택했다. 파티 아이디에 따라 모든 파티 구성원들을 찾고 파티 플레이에서 파티 구성원들의 액션로그를 얻어내었다. 두 번째로 파티 지속 시간에 따른 이상치 파티를 정의하였다. 봇 파티는 자신의 목표를 달성할 때까지 그룹을 유지한다. 따라서 봇 파티의 지속시간은 일반 파티보다 더 길다. 이 사실에 근거하여 파티 지속 시간에 따라 봇 파티로 추정되는 이상치를 선택하였다. 봇 탐지 오탐율을 줄이기 위하여 높은 신뢰 구간을 설정하였다.

[그림 1] 사용자 행위 분석을 통한 온라인 게임 봇 탐지 프레임워크

봇 파티가 일반 파티와 다른 목적으로 플레이한다는 가설을 증명하기 위하여 게임 플레이의 목적을 나타내는 주요 액션 로그를 분석하였다. 그런 다음 두 가지 측정 방법을 기반으로 상세한 액션 로그 분석을 진행하였다. 하나는 파티에서 차지하는 각 액션의 비중이고 다른 하나는 액션 로그의 순위이다. 몇몇 액션은 매우 낮은 비중을 차지하기 때문에 봇 파티와 일반 파티를 구분하기 어려워 두 가지 측정 방법을 적용하였다.

액션 로그의 순위는 큰 차이를 보이기 때문에 중요한 구분자가 된다. 임계값은 이상치 파티에 의해 수행된 액션의 비중과 액션 로그의 순위로 설정하였다.

액션 로그 분석을 통해 봇 파티와 일반 파티를 구분할 수 있는 의미 있는 구분자를 이끌어 내었고 MMORPG에 대한 지식을 바탕으로 rule-base를 구축하였다.

[그림 2]는 rule-base 구축 과정을 도식화한 것이다. 먼저 액션 로그 분석으로 추출된 주요 액션 로그에서 MMORPG 게임에 대한 지식을 바탕으로 특정 액션 로그를 선택한다. 다음으로 해당 액션의 비중이나 순위 중 봇 파티와 일반 파티의 차이가 큰 측정 방법의 임계값을 적용하여 봇 탐지를 수행한다. 그 결과를 제재된 계정 목록과 비교하여 정확도를 체크한 후, 동일한 과정을 반복한다. 반복 수행한 결과 중 정확도가 최대가 될 때의 해당 액션에 대한 임계값으로 최종 rule-base를 구축한다.

[그림 2] rule-base 구축 과정

Rule-base를 구축한 후에 파티 플레이에 관련된 액션 로그에 규칙을 적용하여 온라인 게임 봇을 식별하였다. 평가에는 두 가지 데이터 집합을 사용하였다.

하나는 게임 회사 내부 감시 규칙에 탐지된 코드가 기록된 사용자 목록이고 다른 하나는 게임 회사에서 제공한 제재 계정 목록이다.

[그림 3]은 온라인 게임 봇 탐지 알고리즘을 의사 코드로 나타낸 것이다. Cache Table은 로그 ID, Value, Threshold로 구성되어있다. 먼저 이상치 파티의 액션 로그로부터 TCT(Threshold Cache Table)를 만든다. 그런 다음, 전체 파티의 액션 로그로부터 VCT(Value Cache Table)을 만든다. 마지막으로 VCT의 Threshold가 TCT의 Threshold보다 큰 경우 게임 봇으로 분류한다.

[그림 3] 온라인 게임 봇 탐지 알고리즘

[그림 4]는 이상치 정의에서부터 rule-base 생성 및 봇 탐지까지의 전 과정을 자동화 한 프로그램이다. 게임 봇이 진화함에 따라 봇 파티의 패턴이 달라질 수 있으므로 시기마다 새로운 rule-base 구축이 가능하다.

[그림 4] 온라인 게임 봇 탐지 프로그램

IV. 실험 및 평가

전 세계적으로 6위에 속하는 게임에 제안한 프레임워크를 적용하였다. 이 MMORPG 게임은 43개의 서버를 운영하고 있고 약 240,000명의 동시 접속자를 보유하고 있다. 온라인 게임 봇을 탐지하기 위해 게임 액션 로그를 분석하였다. 일주일 동안 생성된 63,092개의 파티를 기준으로 하였다.

각 서버 당 하루에 약 12,000 플레이어가 접속하고 약 74,000,000개의 로그가 기록된다. 게임 액션 로그는 파티, 레기온, 사냥, 거래, 채집 및 채팅에 대한 정보를 포함한다[19]. [그림 5]는 MMORPG 게임의 기본적인 게임 행위로 사냥, 파티, 레기온, 거래, 채집, 채팅 등이 있다.

[그림 5] MMORPG 게임의 기본 행위

게임 봇 파티로 가정하는 이상치 파티를 정의하기 위하여 파티 지속 시간에 따른 분포를 분석하였다. [그림 6]의 누적 분포 그래프는 전체 파티의 0.3%가 12시간 보다 오래 지속되는 것을 보여준다. 10분 미만 지속 파티는 파티 생성 과정에서 파티 생성을 시도했다가 바로 해체하는 등 정상적인 파티 생성에 실패한 경우이므로 이들 파티 22%는 분석에서 배제하였다. 본 연구에서는 전체 파티의 0.3%를 차지하는 12시간 이상 지속 파티를 이상치 파티로 정의하였다.

[그림 6] 파티 지속 시간에 따른 누적 분포 그래프

봇 파티의 구분할 수 있는 특징을 알아내기 위해 파티 지속 시간에 따른 파티 구성원을 조사하였다. [그림 7]은 파티 지속 시간에 따른 평균 파티 구성원의 비중을 파이 차트로 나타낸 것이다. 차트 (a)는 전체 파티의 평균 구성원을 보여준다. 차트 (b)에서 (f)까지는 차트에 파티 지속 시간을 표기하였다. 예를 들어, 차트 (b)는 파티 플레이 시간이 10분 이상 3시간 미만이라는 것을 나타낸다.

[그림 7] 파티 지속 시간에 따른 평균 파티 구성원 수

위의 파이 차트와 같이 일반 파티의 파티 구성원 비중은 비슷하다. 그러나 이상치 파티는 일반 파티와 파티 구성원 비중에서 차이를 보인다. 다른 차트 보다 차트 (e)와 (f)에서 파티 구성원 2명의 비중이 크다. 그 사실은 이전에 언급한 두 개의 봇이 파티를 맺어 하나는 주로 사냥을 하고 다른 하나는 사냥하는 봇을 보호한다는 것을 뒷받침해준다.

이상치 파티와 일반 파티의 차이점을 조사하기 위해 파티 플레이의 목적을 반영하는 주요 행위 로그를 분석하였다. [그림 8]은 파티 지속 시간에 따른 주요 행위 로그(A)의 비중을 보여준다.

[그림 8] 파티 지속 시간에 따른 주요 행위(A) 분포

일반 파티의 주요 행위 로그에는 종족 간 대전 포인트 습득 시 로그, 퀘스트 완료 로그, 인스턴스 던전에 입장 로그, 일대일 대결 로그 등이 있다. 이상치 파티의 주요 행위 로그에는 아이템을 채집할 때 로그, 거래 로그 등이 있다. 주요 행위 로그는 모두 합쳐도 10% 미만의 낮은 비율을 차지하고 있지만 일반 파티는 이 분포에서도 유사한 현상을 보인다. 일반 파티에서는 종족 간 대전 포인트 습득 시 로그가 5% 이상이고 채집은 2% 미만의 비중을 차지한다. 반면에 이상치 파티에서는 아이템을 채집할 때 로그가 약 3% 정도로 늘어난 것을 볼 수 있다.

뚜렷하게 구분되는 특징은 이상치 파티에서는 퀘스트 완료 로그가 아주 적은 비중을 차지하며, 인스턴스 던전에 입장 로그나 일대일 대결 로그는 전혀 없다는 점이다. 또한, 내부적인 규칙에 의해 기록되는 봇 탐지 로그에서도 일반 파티와 이상치 파티는 차이를 보였다. 일반 파티에는 봇 탐지 로그가 아주 적거나 없으며, 12시간 이상 지속 파티부터 봇 탐지 로그가 크게 증가한 것을 볼 수 있다.

[그림 9]는 파티 지속 시간에 따른 TOP 7 행위 분포를 파이 차트로 나타낸 것이다. 이상치 파티로 정의한 차트 (e)와 (f)를 제외한 나머지 일반 파티의 TOP 7 행위 분포는 큰 차이가 없다. 차트 (e)와 (f)에서 첫 번째 순위인 경험치 포인트를 획득할 때 로그와 아이템을 얻을 때 로그의 비중이 특히 커지는 것을 확인할 수 있다. 일반 파티는 경험치 포인트 획득 로그와 아이템을 얻을 때 로그의 비율이 25% 내외인 반면, 이상치 파티는 50% 정도이다.

[그림 9] 파티 지속 시간에 따른 TOP 7 행위 분포

파티 지속 시간에 따른 파티들의 액션 로그 엔트로피를 계산하여 [표 5]에 나타내었다. 이상치 파티는 일반 파티에 비해 특정 행위들에 집중된 것을 알 수 있다. 파티별 액션 로그의 엔트로피 계산에 사용된 함수는 다음과 같다.

#(1)

n: 로그의 수(로그 i = 1,2,3,···,n)

Pi: 로그 i가 발생할 확률

[그림 10]은 파티 지속 시간에 따른 엔트로피 값을 그래프로 그린 것이다. 이상치 파티로 정의한 12시간이상 지속 파티에서 값이 급격하게 떨어지는 것을 알 수 있다.

[그림 10] 파티 지속 시간에 따른 엔트로피

일반 파티와 이상치 파티의 행위 특징을 분석하여 파티 플레이의 목적을 알아보고자 하였다. 먼저 전체 평균 파티의 TOP 10 로그 중 사용자의 행위를 반영하는 로그를 선택하여 로그의 순위 변화를 알아보았다. [그림 11]은 파티 지속 시간에 따른 주요 행위 로그(B)의 순위를 그래프로 표현한 것이다.

[그림 11] 파티 지속 시간에 따른 TOP 10 중 주요 행위 (B) 순위

전체 평균 파티에서 첫 번째 순위인 경험치 포인트를 획득할 때 로그, 두 번째 순위인 아이템을 얻을 때 로그, 네 번째 순위인 게임 머니 증가 로그는 전체적으로 높은 순위를 기록했다. 이것은 기본적으로 사냥을 할 때 남는 로그이므로 일반 파티와 이상치 파티 모두 사냥을 많이 하는 것으로 해석할 수 있다. 이와 달리 전체 평균 파티의 로그에서 여섯 번째 순위인 종족 간 대전 포인트 습득 시 로그, 일곱 번째 순위인 아이템을 사용할 때 로그는 일반 파티에 비해 이상치 파티에서 순위가 급격하게 떨어졌다. 이것은 일반 파티 플레이의 주요 목적 중에 하나인 종족 간 대전 포인트 습득을 위한 행위를 이상치 파티에서는 거의 하지 않는 것으로 해석된다. 일반 유저는 종족 간 대전 포인트 습득으로 직위를 높이고, 필요한 장비도 구입하지만 게임 봇은 금전적인 이익을 목적으로 하기 때문에 종족 간 대전 포인트 습득은 이에 도움이 되지 않는다.

또한, 전체 평균 파티의 로그에서 여덟 번째 순위인 아이템을 생성할 때 로그와 아홉 번째 순위인 아이템을 생산할 때 로그는 12시간 이상 지속 파티와 24시간 이상 지속 파티에서 순위의 변동 폭이 큰 것을 볼 수 있다. 이것은 이상치 파티마다 목적이 다르다는 것을 의미한다. 아이템을 생성할 때 로그는 채집이나 추출 등 유저가 아이템을 생성할 때 기록되는 로그이며, 아이템을 생산할 때 로그는 여러 재료를 모아서 하나의 아이템을 제작할 때 기록되는 로그이다.

게임 봇은 게임 머니와 아이템 판매를 목적으로 하는데, 이를 달성하기 위해서 여러 가지 방법을 사용할 수 있다. 사냥, 채집, 화학 물질 추출, 제작 등의 행위가 해당된다. 게임 봇은 기능을 사용자가 설정할 수 있게 되어 있는데, 사냥, 채집, 화학 물질 추출, 제작 중에 원하는 것을 선택해서 할 수 있다. 자동 사냥과 채집을 동시에 하게 할 수도 있으나 효율성을 위해서 일반적으로 한 가지를 선택해서 사용한다. 채집을 목적으로 하는 이상치 파티에서는 채집과 관련된 아이템을 생성할 때 로그가 높은 순위로 기록되고, 제작을 목적으로 하는 이상치 파티에서는 아이템을 생산할 때 로그가 높은 순위로 기록된다.

자동 사냥을 위주로 하는 이상치 파티에서는 아이템을 생성할 때 로그, 아이템을 생산할 때 로그가 낮은 순위에 기록된다. 반면에 일반 파티에서는 게임 진행에 필요한 행위를 골고루 수행하기 때문에 각 로그들이 비교적 일정한 순위를 기록한다.

[그림 12]에서는 전체 파티의 TOP 10 로그 중 사용자의 행위를 반영하는 로그(B)의 비중을 나타내었다. 이상치 파티로 정의한 12시간 이상 파티에서 첫번째 순위인 경험치 포인트를 획득할 때, 두 번째 순위인 아이템을 얻을 때 로그의 비중이 크게 증가했다. 이를 통하여 이상치 파티와 일반 파티는 구분된다는 것을 알 수 있다.

[그림 12] 파티 지속 시간에 따른 TOP 10 중 주요 행위 (B) 분포

다음으로 각 파티의 TOP 10 로그에 속했던 사용자 행위를 반영하는 로그(C)들의 순위 변화를 살펴보았다. [그림 13]은 파티 지속 시간에 따른 해당 로그들의 순위를 그래프로 나타낸 것이다. 퀘스트 업데이트로 그의 순위는 일반 파티에서 10위 초반을 기록하였으나 이상치 파티에서 40위 이하로 떨어지는 것을 확인할 수 있다. 일반 파티의 목적 중 하나인 퀘스트 수행이 이상치 파티에서는 많이 하지 않는 행위임을 나타낸다. 일반 파티는 퀘스트 수행을 통해 레벨 업에 도움을 얻고 특수 기술을 배울 수 있는 조건을 갖추지만, 이상치 파티는 굳이 복잡하고 어려운 퀘스트를 수행하지 않아도 원하는 목적을 달성할 수 있기 때문이다.

[그림 13] 파티 지속 시간에 따른 TOP 10 중 주요 행위 (C) 순위

공중 활주 시작 로그의 순위도 일반 파티에서 10위를 기록하지만 이상치 파티에서 30위 이하로 떨어지는 것을 볼 수 있다. 공중 활주는 높은 곳에서 낮은 곳으로 가속도를 이용하여 동력이 꺼진 상태에서 비행하는 것이다. 일반 유저는 높은 곳에서 낮은 곳으로 이동 시에 공중 활주를 사용하여 조금이라도 빠르게 이동하려고 하지만, 게임 봇은 뛰어서 가거나 공중 활주가 필요 없는 지역에서 사냥을 한다. 게임 봇은 지역 특성 상 공중 활주를 하여 사냥터로 가야하는 경우를 제외하면 공중 활주를 하지 않고 뛰어서 이동하는 것을 알 수 있다.

채집 로그의 순위는 일반 파티에서 10위대 또는 20위대에 머무르지만 이상치 파티에서 10위 이내를 기록하였다. 이것은 채집을 통해 모은 재료를 파는 것을 목적으로 하는 이상치 파티의 영향으로 볼 수 있다.

앉을 때 로그와 일어설 때 로그는 게임 봇의 기능을 확연히 보여준다. 게임 봇은 생명력과 정신력이 특정 값 아래로 떨어진 경우 휴식 기능을 이용해 생명력과 정신력을 회복하게 한다. 일반 유저는 더 이상 잡을 몬스터가 없어서 다시 생성될 때까지 기다리거나 생명력이나 정신력을 회복시켜주는 물약이 떨어졌을 때 등 상황에 따라 휴식을 취해 생명력이나 정신력을 회복하지만 게임 봇은 휴식이 필요 없는 상황에서도 생명력과 정신력의 값에 따라 휴식을 취한다. 이상치 파티에서 앉을 때 로그와 일어설 때 로그가 높은 순위를 기록하는 이유는 게임 봇의 휴식 설정 기능 때문이다.

비행을 시작할 때 로그의 순위는 일반 파티에서 20위 후반에서 30위 전후를 기록하는데 이상치 파티에서 20위를 기록하였다. 이것은 화학 물질 추출을 통해 모은 재료를 파는 것을 목적으로 하는 이상치 파티의 영향 때문이다. 화학 물질 추출은 비행한 상태에서 하게 되는데 이 때문에 화학 물질 추출을 목적으로 하는 이상치 파티에서 비행을 시작할 때 로그가 높은 순위를 기록하는 것이다.

봇 탐지 로그는 내부적인 규칙에 따라 기록되는 로그로 이상치 파티에서 순위가 10위 이내로 급격하게 높아지는 것을 확인할 수 있다.

파티 플레이 시 액션 로그 기반으로 다양한 소셜 액티비티 분석을 통해 일반 유저와 온라인 게임 봇을 구분할 수 있는 분류법을 정의하였다. 또한 분류법의 임계값을 도출해내어 rule-base를 만들고 [표 6]에 정리하였다. 아래의 봇 탐지 규칙을 사용하여 사냥 봇을 탐지할 수 있었다.

[표 6] 봇 탐지 규칙

첫 번째 열은 제안한 rule-base를 통해 탐지된 봇의 수를 나타내고, 두 번째 열은 제안한 rule-base를 통해 탐지된 봇 중에 내부 탐지 규칙에 탐지된 봇의 수이다. 세 번째 열은 제안한 rule-base를 통해 탐지된 봇 중에 제재 계정 목록에 존재하는 봇의 수를 말 한다. 봇 탐지 로그는 유저가 이상 행위를 했을 때 내부 감시 규칙에 의해 기록되는 로그이다. 모든 이상 행위 하나하나에 대해 탐지 로그를 남기는 내부 규칙조차도 제안한 rule-base에 의해 탐지된 봇을 모두 탐지해내지 못했다. 그러나 제안한 봇 탐지 프레임워크를 사용하면 봇 탐지 정확도를 95.92%로 향상 시킬 수 있다.

[표 7] 봇 탐지 정확도 비교

[그림 14]는 봇 탐지 결과를 파이차트로 나타낸 것이다. 내부 규칙에 의해 기록되는 봇 탐지 로그는 제안한 rule-base로 탐지된 봇을 모두 탐지하지 못했다. 붉은 색으로 표시한 부분이 내부 규칙에 탐지되지 않았으나 제안한 방법에 의해 탐지되고, 수개월 뒤에 게임 회사에서 제재한 봇의 수를 나타낸다. 제안한 rule-base는 내부 규칙이 탐지하지 못한 봇을 플레이 당일 바로 탐지하여 미탐율(false negative rate)을 낮추고 정확도를 높였다. 연두색으로 표시한 부분은 내부 규칙과 제안한 탐지 방법에 의해 봇으로 간주되었으나 수개월 뒤에도 제재되지 않은 유저 수를 나타낸다.

[그림 14] 제안한 봇 탐지 방법론과 내부 모니터링을 통한봇 탐지 결과

각각의 오탐율을 계산해보면 제안한 방법은 2/49 =4.05%, 내부 규칙은 473/868=54.49%로 제안한 방법을 통해 오탐율을 많이 감소시켰다는 것을 알 수 있다. 봇 탐지 로그로 탐지한 봇의 수 보다 제안한 탐지 방법에 의해 탐지된 봇의 수가 적은 이유는 탐지 범위를 파티 플레이를 사용하는 봇으로 한정했기 때문이다. 또한, 실제 게임 회사에서는 많은 수의 봇을 탐지하는 것 보다 높은 정확도로 탐지하는 것이 중요하다. 미탐율(false negative rate)을 낮추는 것 보다 오탐율(false positive rate)을 0에 가깝게 최소화 하는 것이 필요하다. 이에 rule-base를 엄격하게 설정하여 100% 봇으로 간주되는 유저만 탐지하도록 하였다. 아래의 벤다이어그램에서 노란색으로 표시한 제안된 탐지 방법에 의해 탐지된 2명의 유저는 제재계정 목록에는 존재하지 않았지만, 수개월이 지나서까지도 게임 회사에서 탐지하지 못한 봇으로 예상된다.

제안한 방법론의 강점은 파티 플레이를 수행한 당일의 로그로 바로 봇을 탐지할 수 있다는 점이다. 더불어 통계학적 분석 기법을 사용하여 rule-base의 임계값을 매일 업데이트할 수 있으며, 수일의 탐지 결과를 가중치로 부여하면 더욱 높은 정확도로 봇을 탐지할 수 있다.

정확도를 비교하기 위해 다른 데이터를 사용하여 봇 탐지를 수행하고 [표 8]에 다른 데이터를 사용한 봇 탐지 정확도를 정리하였다. VPN/PPTP, 채집, 채팅 및 거래 로그를 사용한 정확도는 약 36%에서 68% 사이였다. 이들 중 제안한 파티 로그 기반 탐지 방법은 가장 높은 정확도를 보였다.

[표 8] 봇 탐지 정확도 비교

V. 결론

본 연구에서는 온라인 게임 봇 탐지를 위해 소셜 액티비티 분석 프레임워크를 제안하였다. 제안하는 프레임워크는 다른 소프트웨어와의 충돌이나 게임 플레이 방해와 같은 클라이언트 측과 네트워크 측 탐지 방법의 단점을 극복할 수 있는 방법으로 게임 봇 탐지에 적용할 수 있다.

본 연구는 게이머의 소셜 액티비티 분석을 위해 파티 플레이를 사용한 첫 번째 시도이다. 온라인 게임봇 탐지를 위한 기존의 연구는 이동이나 조준과 같은 사용자의 간단한 액션을 사용하였다. 두 명의 플레이어가 하나의 파티를 구성하여 플레이하는 게임 봇은 빠르고 쉽게 불공정한 이익을 얻기 위해 서로를 돕고 보호한다. 게임 봇 파티는 일반 파티와 다른 목적을 갖기 때문에 게임 봇의 액션은 일반 파티 플레이어와 행위 패턴에 차이가 있다.

전 세계적으로 6위에 속하는 게임 로그에 제안한 프레임워크를 적용하였다. 시각적인 차트와 통계학적 분석을 사용하여 이상치 파티의 특징을 알아내고 rulebase와 임계값을 설정하여 rule-base 기반 게임 봇 탐지를 할 수 있었다. 내부 규칙에 의해 기록된 탐지로그와 게임 회사로부터 제공받은 제재 계정 목록을 사용하여 봇 탐지 정확도를 측정하였다. 제재 계정 목록과의 비교에서 95.92%의 정확도를 보였다.

향후 연구에서는 파티 플레이에 의해 이루어진 사용자의 소셜 네트워크를 분석하고 봇 탐지 프레임워크에 소셜 네트워크의 특성을 포함할 예정이다. 봇은 독특하고 고립된 소셜 네트워크를 가지기 때문에 탐지 정확도를 향상 시킬 것이라고 기대한다. 또한 봇 탐지에 적합한 분류 기법과 특성 치 선택 방법을 연구할 계획이다. 더 나아가 로그인 IP 데이터와 채팅, 채집 및 거래와 같은 다른 사용자 행위를 포함하여 봇 탐지 정확도를 향상 시킬 것으로 기대하고 있다.

References

  1. K.M. Woo, H.M. Kwon, H.C. Kim, C.K. Kim, and H.K. Kim, "What Can Free Money Tell Us on the Virtual Black Market," ACM SIGCOMM, vol. 41, no. 5, pp. 392-393, Oct. 2011.
  2. 유동영, 서동남, 김휘강, 최진영, "온라인게임 서비스 분야에 정보보호 사전진단 적용시 효과성에 관한 연구," 한국IT서버스학회지, 10(2), pp. 293-308, 2011년 6월.
  3. R. Thawonmas, Y. Kashifuji, and K.T. Chen, "Detection of MMORPG bots based on behavior analysis," Computer Entertainment Technology, ACM, pp. 91-94, Dec. 2008.
  4. K.T. Chen and L.W. Hong, "User identification based on game-play activity patterns," Digital Signal Processing, ACM, pp. 7-12, Jan. 2007.
  5. S. Yeung, J.C.S. Lui, J. Liu, and J. Yan, "Detecting cheaters for multiplayer games: theory, design and implementation," Networking Issues in Multimedia Entertainment, Citeseer, pp. 1178-1182, Jan. 2006.
  6. M. Varvello and G.M. Voelker, "Second life: a social network of humans and bots," Network and Operating Systems Support for Digital Audio and Video, ACM, pp. 9-14, June 2010.
  7. J. Yan, "Bot, cyborg and automated turing test", Computer Science, vol. 5087, pp. 190-197, 2009.
  8. M.A. Ahmad, B. Keegan, J. Srivastava, D. Williams, and N. Contractor, "Mining for Gold Farmers: Automatic Detection of Deviant Players in MMOGs," Computational Science and Engineering, IEEE, vol. 4, pp. 340-345, Aug. 2009.
  9. M. van Kesteren, J. Langevoort, and F. Grootjen, "A step in the right direction: Botdetection in MMORPGs using movement analysis," Proceedings of the 21st Benelux Conference on Artificial Intelligence (BNAIC 2009), Oct. 2009.
  10. S. Mitterhofer, C. Platzer, C. Kruegel, and E. Kirda, "Server-side bot detection in massively multiplayer online games," IEEE Security & Privacy, vol. 7, no. 3, pp. 29-36, May 2009.
  11. R. Thawonmas, M. Kurashige, and K.T. Chen, "Detection of landmarks for clustering of online-game players," International Journal of Virtual Reality, vol. 6, no. 3, pp. 11-16, 2007.
  12. K.T. Chen, J.W. Jiang, P. Huang, H.H. Chu, C.L. Lei, and W.C. Chen, "Identifying MMORPG bots: A traffic analysis approach," EURASIP Journal on Advances in Signal Processing, vol. 2009, Jan. 2009.
  13. S. Hilaire, H. Kim, and C. Kim, "How to deal with bot scum in MMORPGs?," Communications Quality and Reliability, pp. 1-6, June 2010.
  14. H. Kim, S. Hong, and J. Kim, "Detection of auto programs for MMORPGs," Computer Science, vol. 3809, pp. 1281-1284, 2005.
  15. S. Gianvecchio, Z. Wu, M. Xie, and H. Wang, "Battle of botcraft: fighting bots in online games with human observational proofs," Computer and Communications Security, pp. 256-268, Nov. 2009.
  16. R.V. Yampolskiy and V. Govindaraju, "Embedded noninteractive continuous bot detection," Computers in Entertainment, vol. 5, no. 4, pp. 1-11, Mar. 2008.
  17. P. Golle and N. Ducheneaut, "Preventing bots from playing online games," Computers in Entertainment, vol. 3, no. 3, pp. 3-3, July 2005.
  18. J.N. Kelly, "Play Time: An Overview of the MMORPG Genre," http://www.anthemion.org, 2004.
  19. S.S. Son, A.R. Kang, H.C. Kim, T.K. Kwon, J.Y. Park, and H.K. Kim, "Multi-relational Social Networks in a Large-scale MMORPG", ACM SIGCOMM, vol. 41, no. 5, pp. 414-415, Oct. 2011.
  20. D.N. Seo and H.K. Kim, "Detecting Gold-farmers' Groups in MMORPG by connection information," Proceedings of the 3th International Conference on Internet 2011, pp. 583-588, Dec. 2011.
  21. A.R. Kang, J.Y. Woo, and H.K. Kim, "Data and Text Mining of Communication Patterns for Game Bot Detection," Proceedings of the 3th International Conference on Internet 2011, pp. 495-500, Dec. 2011.