I. 서론
경제사회에서 한 경제주체의 지리적 위치를 효과적으로 파악하기 위해 대상의 자금이 사용된 곳을 추적, 감시하는 방법이 있다. 수사기관에서는 범죄자의 이동 경로나 은닉처의 위치를 추정하기 위해 주로 금융카드 사용기록을 조사한다. 실제로 여러 매체에서 수사기관의 추적을 피해 은닉한 범죄자를 카드 사용 기록을 이용하여 검거한 사례를 접할 수 있다.
대부분의 MMORPG (Massive Multiplayer Online Role Playing Game)는 현실 사회의 경제 시스템을 상당 부분 반영하고 있다. 플레이어들은 몬스터를 사냥하거나 채집활동을 통해 돈, 아이템 등의 재화를 수집하고 유저-유저 또는 유저-상인 NPC로 구성되는 시장에서 이루어지는 상거래 활동을 통해 점차 부를 축적한다. 온라인 게임 산업의 성장과 함께 MMORPG 재화의 현금 가치가 상승하면서 부정한 방법을 사용하여 금점적인 이득을 취하려 하는 악성 유저들이 증가하고 있으며, 북한이나 해커 그룹 등 불법 조직의 돈벌이 수단으로까지 이용되고 있다. 악성 유저들은 주로 게임 내 재화를 수집하기 위해 게임봇이라 불리는 소프트웨어를 사용한다. 게임봇이란 플레이어가 직접 캐릭터를 조작하지 않고, 자동으로 게임을 플레이하여 돈, 아이템, 경험치 등의 재화를 수집하는 불법 프로그램이다. 악성 유저들은 이러한 불법 프로그램을 이용해 축적한 게임 내 재화를 현금으로 판매하여 금전적인 이득을 얻고 있다. 반면에 일반적인 사용자들은 게임봇 사용자와의 불공정한 경쟁으로 상대적 박탈감과 불쾌감을 받게 되고, 그로 인해 게임 서비스의 만족도를 저하 시킨다. 이와 더불어 게임봇이 수집하여 유저들에게 공급하는 재화로 인해 게임 경제에 인플레이션 효과가 발생하며 게임 내 컨텐츠 소모가 가속화되고 결국에는 게임의 라이프 사이클이 단축되는 등 게임 산업에 큰 경제적 피해를 발생시키고 있다.
일반유저와 게임봇을 효과적으로 식별해내기 위해 게임 내에서 발생하는 다양한 이벤트들에 대해 서버에 기록되는 게임 내 로그 데이터 (in-game log data)를 활용하여 게임봇을 탐지하는 방법에 대한 연구들이 이루어지고 있다. 기존의 연구들은 대부분 일반유저와 게임봇의 차이를 관찰하는 과정에서 길드 활동, 채팅 등 대부분의 유저들이 보이는 행동이지만 게임봇은 하지 않는 행동에 초점을 맞춘 게임봇 탐지 시스템을 제안하였다. 하지만 MMORPG 에는 다양한 플레이 패턴을 보이는 유저들이 존재하며, 게임봇처럼 채팅을 거의 하지 않는 유저도 존재하고, 길드에 가입하지 않고 주로 혼자 게임을 즐기는 유저도 존재한다. 그렇기 때문에 기존의 연구들의 탐지 룰로 사용된 특정 행위를 하지 않는 유저들이 게임봇으로 탐지되는 문제점이 발생하며, 게임봇 역시 채팅이나 길드 활동을 하도록 프로그래밍 될 수 있기 때문에 탐지 시스템이 무력화 될 가능성이 높고, 사용된 피쳐 (feature)들이 특정 게임 혹은 컨텐츠에 한정되어 다른 게임이나 동일 게임이라도 업데이트로 인한 컨텐츠 변화에 따라 적용하지 못하게 될 수 있다.
본 논문에서는 MMORPG가 현실 사회의 경제 시스템을 적용하고 있으며, 게임봇의 목적이 게임머니의 수집이기 때문에 일반유저들이 게임머니를 축적하는 방식과 게임봇이 게임머니를 축적하는 방식에서 근본적인 차이가 나타난다는 점에 초점을 맞추어 피쳐를 선정하고 게임봇 탐지 시스템을 설계하였다. 게임머니 축적 과정에서 일반유저들은 협업 플레이를 통해 습득한 고가의 아이템을 판매하여 게임머니를 축적하고, 이를 다시 필요한 아이템을 구입하는데 소비한다. 반면에 게임봇은 혼자서 죽이기 쉬운 약한 몬스터를 장시간동안 쉬지 않고 반복적으로 사냥하여 소액의 게임머니와 값싼 전리품을 수집하고 상점에 판매하여 축적하는 박리다매 전략을 사용한다.
우리는 일반유저와 게임봇의 재화 수집 방식의 근본적인 차이를 이용해 특정 MMORPG에서만 사용 가능한 피쳐가 아니라 대부분의 MMORPG에서 범용적으로 사용할 수 있는 피쳐들을 최종 선정하여 게임봇 탐지 시스템에 적용하였으며 해당 피쳐들은 게임봇의 생산성에 직접적인 영향을 미치기 때문에 게임봇 개발자들이 탐지 시스템을 우회하기 어렵다. 또한, 다양한 분류기의 성능 비교를 통해 게임봇 탐지 시스템에 가장 적합한 분류기로 random forest를 선정하였고 변별력이 높은 피쳐의 선별 과정을 거쳐 게임봇 탐지에 효과적인 피쳐셋 (feature set)을 선정하여 결과적으로 97.76%의 높은 정확도를 갖는 우수한 성능의 게임봇 탐지 시스템을 설계하였다.
게임봇 탐지 성능 평가에 사용된 데이터셋은 NCSoft에서 개발한 MMORPG인 AION의 액션로그로, AION은 340만 이상의 유저를 가지고 있는 대규모 MMORPG이다.
II. 용어 설명
2.1 MMORPG
MMORPG란 많은 수의 플레이어가 하나의 가상 세계에 동시 접속하여 서로 상호작용하며 자신의 캐릭터를 육성해 나가는 장르의 게임이다. MMORPG에서는 플레이어의 전투나 아이템 획득과 같이 게임 내에서 발생하는 모든 이벤트들을 서버에서 관리하기 때문에 게임 서버에는 게임 내에서 발생한 많은 종류의 이벤트를 기록한 로그들이 저장된다.
2.2 PC, NPC, 몬스터
MMORPG의 게임 세계에는 사용자가 직접 조작하며 움직이는 캐릭터인 PC (Player Character), 인공지능에 따라 행동하며 게임 진행을 도와주는 캐릭터인 NPC (Non-Player Character) 그리고 NPC 중에서 PC와 전투를 벌이고, 게임머니와 아이템을 제공하는 몬스터가 존재한다. MMORPG는 PC, NPC 그리고 몬스터가 상호작용하며 세계를 형성하고 게임이 진행된다.
2.3 사냥, 아이템, 게임머니
플레이어가 전투를 통해 몬스터를 처치하고 게임머니와 아이템을 획득하는 행위를 사냥이라 한다. 게임머니는 게임 세계에서 사용되는 화폐이다. 플레이어들은 게임머니를 이용하여 MMORPG에서 아이템을 구입하거나 판매하며 경제활동에 참여하게 된다. 아이템은 게임에 존재하는 모든 물건을 지칭한다. 아이템에는 무기, 방어구와 같이 플레이어가 장착하여 캐릭터를 강하게 만들어주는 장비들뿐만 아니라 전투를 통해 소모된 체력을 채워주는 체력회복 물약과 같은 소비 아이템과 장비를 강화하거나 제작하는데 사용되는 재료아이템 그리고 특별한 사용처는 없으나 상인 NPC에게 판매하여 게임머니를 획득할 수 있는 일반 아이템도 있다. 플레이어들은 강력한 몬스터를 처치할수록 많은 양의 게임머니와 고가의 아이템을 획득할 수 있다.
2.4 자산 변동 위치 좌표
앞서 설명한 바와 같이 MMORPG에서는 몬스터를 사냥하거나 아이템을 판매하여 게임머니를 습득한다. 게임 서버에는 각 플레이어가 소지한 게임머니가 증가하거나 감소할 때마다 변화 금액과 캐릭터의 위치 좌표를 로그로 기록한다.
2.5 파티(party)
플레이어들은 혼자서 처치하기 어려운 몬스터를 사냥하기 위해 다른 플레이어들과 협업 플레이를 하게 된다. 이 때, 협업 플레이를 위해 구성한 그룹을 파티라 한다. 파티에 소속된 플레이어들은 파티원들과 몬스터를 사냥을 통해 획득한 게임머니와 전리품을 고르게 분배하여 습득하게 된다.
III. 선행 연구
3.1 DBSCAN
밀도 기반 군집화 알고리즘인 DBSCAN은 1996년 Ester의 논문[1]에서 처음 제안되었으며, 두 점 사이의 거리 ε (eps)와 군집을 형성하기 위한 최소 점의 개수 (minPts) 2개의 파라미터를 갖는다. 기준 점으로부터 거리 eps안에 minPts개 이상의 이웃이 존재하면 군집이 형성되고, minPts개 미만이면 노이즈로 남는다.
DBSCAN은 지리적 위치 좌표 데이터로부터 지역 (place or area) 식별[3,4], 유사 기온을 보이는 지역의 군집화[5], 위치이동 벡터로부터 위치이동 패턴 추출[6], 이상증후 탐지[7,8] 등 다양한 분야에서 사용된다.
본 논문에서는 MMORPG에서 각 플레이어의 재산이 증가/감소한 위치인 자산변동 좌표 데이터에 DBSCAN을 적용하여 좌표 군집의 수, 멤버 포인트 비율, 노이즈 포인트의 비율과 같은 공간적 특징들을 추출하였다. 일반 플레이어들은 게임 내 다양한 지역에서 활동하기 때문에 자산변동이 발생한 위치 좌표들의 밀도가 낮게 나타나는 반면에, 게임봇은 한정된 지역에서 반복적으로 몬스터를 사냥하며 아이템과 게임머니를 수집하기 때문에 자산변동이 발생한 위치 좌표들의 밀도가 낮게 나타난다.
3.2 게임봇 탐지 연구
게임 산업의 성장과 함께 나타난 게임봇은 온라인 게임 산업에 큰 위협이 되고 있으며, 유저들 사이에 섞여 있는 게임봇을 효과적으로 식별해내는 것이 중요한 문제로 부각되고 있다. 그에 따라 다양한 방법론의 게임봇 탐지 연구들이 이루어지고 있는데, 게임봇 탐지 기법들은 데이터를 관찰하는 관점에 따라 분류할 수 있다. Table 1에 기존 연구들의 게임봇 탐지 기법을 분석 대상 데이터에 따라 분류하였다. 유저의 활동성을 이용한 게임봇 탐지 연구로는 Thawonmas 등의 논문 [9]가 일반 유저와 게임봇을 액션의 종류와 주기를 이용하여 구분하고자 하였고, Chen 등의 논문 [10]은 사용자들이 접속 상태에서 보이는 활동시간(active)과 유휴시간(idle)의 패턴을 분석하였다. Van 등의 논문 [11]은 일반 유저와 게임봇의 움직임에서 방향 전환 각도의 분포를 비교 분석하였으며, Mitterhofer 등의 논문 [12]은 캐릭터가 두 지점을 이동할 때, 이동 경로가 얼마나 일치하는가를 분석하였고, Pao 등의 논문 [13]과 Chen 등의 논문 [14]은 FPS 장르 게임에서 일반 유저와 게임봇이 선호하는 이동 경로의 차이와 엔트로피 기반의 불확실성을 비교 분석하였다. Keegan 등의 논문 [15]과 Woo 등의 논문 [16]은 유저 간의 거래 네트워크 분석을 통해 다수의 게임봇과 게임봇을 통해 획득한 게임머니를 수집하는 창고 계정 등으로 구성된 불법 그룹을 탐지하는 기법을 제안하였다. 이 외에도 Kang 등의 논문에서는 채팅 로그에서 일반 유저와 게임봇이 보이는 채팅 패턴의 차이[17]와 파티 플레이 로그에서 나타나는 패턴 차이[18]를 분석하였다. 기존의 연구들은 일반 유저와 게임봇이 나타내는 차이를 관찰하기 위해 다양한 데이터를 사용하였으나 게임봇의 주요 활동인 게임머니 획득에 관련된 데이터가 사용되지 않았다. 해당 데이터들은 게임봇이 사냥을 하면서도 일반 유저처럼 보이도록 동작할 수 있기 때문에 탐지 알고리즘이 노출되었을 경우 우회될 가능성이 높다.
Table 1. taxonomy of game-bot detection research by analyzing data
본 논문에서는 게임봇이 게임 내 재화의 수집을 목적으로 플레이한다는 점에 초점을 맞추어 각 캐릭터의 소지금 변화와 연관된 데이터에 나타나는 패턴을 중심으로 데이터마이닝 기법을 적용하여 게임봇 탐지 시스템을 구현하였다. 소지금과 관련된 데이터는 게임봇이 게임머니를 수집하는 행위 자체가 자세하게 기록되기 때문에 이를 일반 유저처럼 보이게 하는 것은 불가능하다. 또한, 게임봇의 동작 특성을 고려하여 범용성 있는 최종 피쳐들을 선별하여 적용했기 때문에 게임이 업데이트 되어 게임 컨텐츠가 변경된 경우뿐만 아니라 다른 MMORPG에서도 적용이 가능하다.
IV. 방법론
4.1 게임봇 탐지 시스템 아키텍쳐
게임봇 탐지 시스템 아키텍쳐를 Fig.1에 나타내었다. 먼저, 액션 로그에서 소지금 증가/감소 이벤트 로그, 상인 NPC와의 거래 이벤트 로그, 로그인/아웃 로그를 추출한다. 다음으로, 각 로그에서 피쳐 추출 (feature extraction)에 필요한 데이터를 먼저 추출한다. 이 때, 소지금의 증가/감소 이벤트 로그에서는 이벤트가 발생한 위치 좌표 데이터와 소지금 변동량 데이터를 분리한다. 이 중 좌표 데이터는 DBSCAN 알고리즘을 통해 공간적 특성을 나타내는 피쳐들로 변환되고, 변동량 데이터는 소지금 변동 횟수 및 변동량에 대한 통계 값들을 나타내는 피쳐들로 변환된다. 나머지 상인 NPC와의 거래 이벤트 로그와 로그인/아웃 로그를 사용하여 나머지 피쳐들을 추출하였다.
Fig. 1. process of game-bot detection system
우리의 게임봇 탐지 시스템에 적합한 분류기를 선별하기 위해 random forest, logistic regression, multilayer perceptron, SVM의 4가지 알고리즘을 사용하여 분류기를 생성하고 성능 평가를 수행하였다. 각 분류기의 성능 평가를 위한 방법으로는 데이터셋을 랜덤하게 10등분하여 9개의 서브셋 (subset)으로 학습하고 나머지 1개 서브셋으로 평가를 수행하는 10-fold cross validation 기법을 사용하였다.
4.2 피쳐 추출
MMORPG는 사용자의 접속, 캐릭터의 이동, 거래, 몬스터 사냥, 채집 등 게임 내에서 발생하는 수많은 이벤트에 대하여 상세한 로그를 서버에 기록한다. 본 논문에서는 많은 종류의 로그 중에서 게임봇의 주요 목적이 게임 내 재화의 수집이라는 점에 초점을 맞추어 소지금의 증가/감소 이벤트 로그를 집중적으로 살펴보았으며, 게임봇이 자동사냥을 통해 수집한 전리품을 상인 NPC에게 판매하고, 사냥을 위한 소모품 구입이나 장비 수리 등으로 소비하는 소지금 변화를 관찰하기 위해 상인 NPC와의 거래 이벤트 로그를 포함시켰다. 추가적으로, 사용자의 게임 플레이시간과 접속 횟수 등의 게임플레이 패턴을 살펴보기 위해 로그인/아웃 이벤트 로그를 사용하였다. 우리는 세 가지 종류의 로그로부터 피쳐들을 추출하는 과정에서 소지금 변동과 연관이 있는 피쳐들을 선별하고자 노력하였으며, 최종적으로 공간적 특성, 게임플레이 패턴, 소지금 변동, 소지금 증가, 소지금 감소, 상인 NPC와의 거래의 6가지 분류로 31개의 피쳐를 선정하였다.
4.2.1 DBSCAN을 이용한 위치 좌표 클러스터링
플레이어의 소지금 변동 위치 좌표의 공간적 특징을 나타내는 피쳐들을 추출하기 위해서 DBSCAN 클러스터링 알고리즘을 소지금의 증가/감소 이벤트가 발생하였을 때의 캐릭터 위치 좌표 데이터에 적용하였다. DBSCAN 알고리즘은 한 점으로부터 일정한 반경 내에 존재하는 이웃 데이터 탐색하여 이웃 데이터의 수가 지정된 상수 값의 파라미터보다 크다면 코어 포인트로 분류하고, 하나의 클러스터를 형성한다. 이웃 데이터의 수가 충분하지 않지만 다른 코어 포인트의 반경 안에 속하면 멤버 포인트로 분류하고, 코어 포인트와 같은 클러스터에 속하게 된다. 코어 포인트의 반경 안에도 속하지 못하고 이웃 데이터의 수도 적은 점은 어느 클러스터에도 속하지 못하는 노이즈 포인트로 분류하게 된다. 따라서 DBSCAN 알고리즘을 사용하면 밀집되어 있는 데이터는 하나의 클러스터로 군집화 시킬 수 있으며, 상대적으로 밀도가 낮은 데이터는 클러스터를 이루지 못하고 노이즈로 분리할 수 있는 장점이 있다.
본 논문에서는 소지금 증가/감소 위치 좌표 데이터에 DBSCAN 알고리즘을 적용하여, 그 결과로 생성된 클러스터의 개수 외에도 코어 포인트, 멤버 포인트, 노이즈 포인트의 비율을 산출하여 게임봇과 일반 유저를 구분하기 위한 피쳐로 사용하였다. 각 플레이어의 소지금 변동 위치 좌표 데이터에 DBSCAN 알고리즘을 적용하는 과정은 다음의 네 단계로 진행된다.
단계 1. 소지금 증가/감소 이벤트 로그로부터 이벤트가 발생하였을 때의 위치 좌표가 기록된 데이터를 플레이어 별로 분리한다.
Fig. 2. basic concept of DBSCAN algorithm
단계 2. 각 플레이어의 좌표 데이터를 지역 별로 분리한다.
MMORPG는 게임 안의 모든 공간이 하나의 큰 세계로 구성되어 있는 것이 아니라 여러 개의 공간이 상호 연결되어 있는 구조를 갖는다. 각각의 공간을 하나의 지역이라고 한다면, 같은 공간 좌표(x,y,z)이더라도 지역이 다르면 다른 공간에 있는 것이기 때문에 다른 위치를 나타낸다. 즉, A 지역의 좌표(1,1,2)와 B 지역의 좌표(1,1,2)는 별개로 구분되어야 한다.
Fig. 3. process of asset-varied location coordinates clustering using DBSCAN algorithm
단계 3. 플레이어에 따라 지역 별로 분리된 좌표 데이터에 DBSCAN 알고리즘을 적용하여 공간적 특성을 나타내는 결과 값을 계산한다.
DBSCAN 알고리즘은 주어진 파라미터에 따라 형성되는 클러스터의 수와 함께 각각의 포인트가 코어, 멤버 그리고 노이즈 중 어느 유형에 속하는지 알려준다. 지역별로 분리된 좌표 데이터에 DBSCAN 알고리즘을 적용해 형성된 클러스터의 수와 함께 코어, 멤버 , 노이즈로 분류된 포인트 수를 추출하였다.
단계 4. DBSCAN 알고리즘을 통해 지역 별로 추출된 결과 값들을 플레이어 별로 합산하여 최종 결과 값을 산출한다.
앞서 지역 별로 추출한 클러스터 수와 코어, 멤버, 노이즈로 분류된 포인트의 수를 합산하여 각 플레이어의 소지금 변동 위치 좌표 데이터가 구성하는 총 클러스터의 수를 구하고 전체 포인트 중에 코어, 멤버, 노이즈 포인트가 차지하는 비율을 산출하였다. 이 결과 값들은 플레이어의 소지금 변동 위치가 얼마나 다양한 위치에서 밀집되어 나타나는지 혹은 산개되어 있는지를 나타내는 피쳐들로 사용된다.
Fig. 4에 나타난 DBSCAN 알고리즘을 소지금 변동 위치 좌표에 적용한 결과를 보면 소지금 변동 위치의 공간적 특성에서 게임봇과 일반 유저의 차이를 확인 할 수 있다. 게임봇의 경우 클러스터를 이루는 포인트의 비율이 높게 나타나며, 특정 지역에 밀집되어 있는 것을 확인할 수 있고, 사냥을 하며 이동한 경로를 일부분 추정할 수 있다. 하지만, 일반 유저의 결과를 보면 퀘스트 보상, 다른 유저와의 거래 활동 등 게임 내 여러 가지 요인에 의해 다양한 지역에서 소지금 변동이 발생하기 때문에 밀집도가 낮아 클러스터에 속하지 못하고 산발적으로 분포된 노이즈의 비율이 높으며 크기가 작은 클러스터가 다수 존재한다.
Fig. 4. examples of results of DBSCAN algorithm applied to asset-varied location coordinates. Each axis represents x, y and z components of 3D coordinate. Normal players have lots of noise points on variety areas while game-bot players have lots of core points on few specific areas.
Fig. 5에 게임봇과 일반유저의 노이즈 포인트 비율을 나타내었다. 게임봇의 95%는 노이즈 포인트의 비율이 5%이하로 대부분의 포인트가 멤버 혹은 코어 포인트로 분류되어 클러스터에 속하는 것을 확인 할 수 있다. 반면에 일반유저의 70%는 노이즈 포인트의 비율이 5%이상으로 나타났다. 또한, 일반 유저는 장소의 이동 중에 사냥 등의 활동을 하지 않기 때문에 일반 유저의 소지금 변동 위치 좌표 분포를 살펴보아도 이동경로를 추정하기 어렵다. 이러한 게임봇과 일반 유저 사이에 나타나는 공간적 특성 차이로 이용해 효과적으로 게임봇을 탐지할 수 있다.
Fig. 5. cumulative distribution function of ratio of noise points
4.2.2 소지금 변동
일반 유저들은 난이도가 높지만 고가의 아이템을 획득할 수 있어 시간 대비 수익성이 좋은 던전에서 강력한 몬스터를 주로 사냥을 하는 반면에, 게임봇은 수익성은 낮지만 난이도가 쉽고 안전한 필드의 일정한 지역을 순회하며 약한 몬스터를 장시간 반복적으로 사냥하여 게임머니를 수집한다. 이러한 일반 유저와 게임봇의 플레이 특성 차이로 인하여 일반유저에 비해 게임봇의 몬스터 처치 횟수가 높게 나타난다.
몬스터를 죽이고 전리품을 획득할 때마다 게임머니를 일정량 획득하게 되어 소지금이 증가하기 때문에 게임봇은 일반 유저들에 비해 소지금의 변동 횟수가 많다. Fig. 6에 나타난 소지금 변동 횟수의 분포를 살펴보면 일반 유저의 93%는 소지금 변동 횟수가 7,000회 이하로 나타난 반면에 게임봇은 63%가 소지금 변동 횟수 7,000회 이상이었다.
Fig. 6. cumulative distribution function of asset increased/decreased number
4.2.3 상인 NPC와의 거래
MMORPG에서 각 플레이어들은 다양한 경제활동을 한다. 상인 NPC로부터 아이템을 구매하거나 판매하기도 하지만, 다른 유저와 직접 거래 혹은 대리판매 시스템을 이용한 거래 등 다양한 방법으로 아이템을 매매한다. 캐릭터가 성장함에 따라 획득하는 아이템의 가치가 높아지기 때문에 상인 NPC와 거래하는 비중보다 유저간의 거래 비중이 높아진다. 반면에 게임봇이 재산을 축적하는 방법은 안전하게 죽이기 쉬운 몬스터를 반복적으로 사냥하여 소량의 게임머니와 저렴한 전리품을 장시간 축적하는 것이다. 장시간 사냥을 통해 축적된 전리품을 상인 NPC에게 일괄적으로 판매하여 대량의 게임머니를 획득하게 된다. 게임봇과 일반유저의 재화 수집 방식의 차이에 착안하여 상인 NPC로부터의 아이템 구매와 판매와 관련된 피쳐들을 사용하였다.
4.3 피쳐 선별
앞서 선정한 31개의 피쳐들 중에서 게임봇과 일반 유저의 차이가 나타나는 중요하고 의미 있는 피쳐들을 선별하여 부적합한 피쳐의 사용으로 인한 노이즈를 제거하고 정확도를 향상시켰다. 분류기에 사용되는 피쳐 수가 줄어들면 연산량이 적어지는 효과가 있어 처리해야 하는 데이터의 양이 많은 MMORPG 로그 분석에 있어 필요한 과정이다. 선택된 피쳐의 적합성과 피쳐셋에 따른 탐지 성능 비교를 위해 최상 우선 알고리즘 (best first algorithm)과 유전자 알고리즘 (genetic algorithm)을 사용하여 각각 피쳐셋을 구성하고, 선택적으로 3가지 피쳐셋을 구성하였다.
Table 2에 실험에 사용된 피쳐셋들을 나타내었다. 피쳐셋별로 사용된 피쳐의 수와 피쳐 선별 방법, 피쳐 카테고리 별로 사용된 피쳐의 수를 함께 나타내었다. 예를 들어 set 1의 경우, 총 4개의 피쳐가 사용되었으며 피쳐의 선별 방법은 최상우선 알고리즘을 통해 선택되었다. 피쳐의 카테고리 별로 살펴보면 공간적 특성을 나타내는 피쳐 7개 중 2개, 소지금 증가와 관련된 피쳐 5개 중 1개, 상인 NPC와의 거래와 관련된 피쳐 6개 중 1개가 포함되었고, 플레이 패턴, 소지금 변동 그리고 소지금 감소와 관련된 피쳐들은 포함되지 않았다.
Table 2. overview of selected feature sets
V. 평가
피쳐셋과 분류기에 따른 게임봇 탐지 결과를 평가하기 위해서 NCSoft에서 개발한 대표적인 MMORPG인 AION의 액션 로그 데이터를 이용하였다. 데이터셋의 기간은 2010년 5월 1일부터 2010년 5월 10일까지이며, 723개의 일반유저 샘플과 214개의 게임봇 샘플이 포함되어 있다. 일반 유저와 게임봇의 구분은 게임사로부터 액션 로그와 함께 제공받은 제재리스트에 포함된 계정들 중 제재사유가 게임봇으로 표기된 계정들을 게임봇으로 분류하였다.
피쳐셋과 분류기에 따른 탐지 정확도를 Fig. 7에 나타내었다. Fig. 7의 왼쪽부터 순서대로 random forest, logistic regression, multilayer perceptron, SVM의 분류 정확도이다. 분류기에 따른 정확도를 살펴보면 모든 피쳐셋에서 random forest가 가장 높은 정확도를 보여 게임봇 탐지 시스템에 가장 적합한 분류기임을 알 수 있다. 피쳐셋에 따른 탐지 정확도를 살펴보면, 최상우선 알고리즘을 통해 선택된 set 1이 가장 낮은 정확도를 보였지만 전체 피쳐 중 4개만을 사용하여 94%의 정확도를 얻을 수 있었다. 활용 가능한 컴퓨팅 자원이 제한적일 경우에 피쳐의 수를 최소화 시켜 사용한다면 충분히 고려할 만한 수준으로 생각된다.
Fig. 7. game-bot detection accuracy of each feature sets and classifier
유전자 알고리즘을 사용하여 9개의 피쳐로 구성된 set 2의 경우 set 1보다 높은 94.77% 정확도를 보였지만 추가된 피쳐의 수에 비하여 가시적인 성능 향상을 보이지 못했다. 피쳐 선별 알고리즘 (feature selection algorithm)을 통해 구성된 두 개의 피쳐셋 set 1과 set 2는 피쳐의 수는 줄일 수 있었지만 그에 따라 정확도가 모든 피쳐를 사용했을 때보다 낮았다. 반면에 실험을 통해 선별한 피쳐셋 set 3, set 4, set 5에서는 피쳐의 수는 줄이면서 정확도는 모두 97% 이상으로 향상시키는 결과를 얻을 수 있었다.
앞선 연구들의 게임봇 탐지 정확도를 살펴보면 Chen 등의 논문 [13][14]은 FPS 장르의 게임에서 아바타의 이동 경로를 분석하여 0.98의 정확도를 보여주었다. MMORPG 장르의 게임 데이터를 이용한 연구들의 경우 Thawonmas 등의 논문 [9]은 action frequency 분석을 기반으로 0.36의 재현율(recall)과 0.95의 정밀도(precision)을 보여주었으며, Kang 등의 논문 [17]에서는 다양한 분류기와 데이터셋을 사용하여 평균 0.915의 정확도를 보여주었다.
본 논문의 게임봇 탐지 시스템은 set 5 피쳐셋과 random forest 분류기를 사용하여 97.76%의 탐지 정확도를 보였다. 또한, set 5에 포함된 피쳐들은 대부분의 MMORPG에서도 사용할 수 있는 범용적인 피쳐들로서 게임의 업데이트로 인해 컨텐츠에 변화가 발생하더라도 그대로 적용 할 수 있다. 그에 따라, 다른 MMORPG에서도 게임봇 탐지에 활용 가능할 것으로 보인다.
VI. 결론
본 논문에서는 MMORPG에서 소지금 증가/감소가 발생한 위치 좌표 데이터에 DBSCAN 알고리즘을 적용하여 공간적 특성을 나타내는 피쳐들을 추출하였으며, 이 피쳐들이 게임봇과 일반유저를 식별하는데 효과적임을 보였다. 또한, MMORPG에서 게임봇과 일반유저의 게임머니 축적 방식의 근본적인 차이를 고려하여 특정 MMORPG에서만 사용가능한 피쳐가 아니라 대부분의 MMORPG에서 범용적으로 사용 가능할 수 있는 피쳐들을 추출하였으며, 추출된 피쳐들 중에서 탐지 정확도를 저하시키는 노이즈 피쳐를 제거하고 변별력 있는 피쳐들만을 선별하는 과정을 거쳐 피쳐의 수는 감소시키면서 정확도는 향상시키는 결과를 얻을 수 있었다.
또한, 다양한 분류기를 사용하여 분류기에 따른 탐지 정확도 비교를 통해 모든 피쳐셋에서 가장 우수한 성능을 보인 random forest를 게임봇 탐지 시스템 분류기로 사용하였고, 97% 이상의 높은 정확도를 얻을 수 있었다.
결과적으로 본 논문에서 제안하는 게임봇 탐지 시스템에 사용된 피쳐들은 대부분의 MMORPG에서 추출할 수 있는 피쳐들로써 다양한 MMORPG에 적용 가능할 것으로 예상 된다.
본 연구는 2014년도 정부(미래창조과학부)의 재원으로 한국연구재단의 지원을 받아 수행된 기초연구사업임 (과제번호 2014R1A1A1006228)
추가로 본 연구는 고려대학교 특별연구비에 의하여 수행되었음
참고문헌
- M. Ester, H.P. Kriegel, J. Sander and X. Xu, "A density-based algorithm for discovering clusters in large spatial databases with noise," Kdd, vol. 96, no. 34, pp. 226-331, Aug. 1996.
- H.P. Kriegel, P. Kroger and J. Sander, "Density-based clustering," Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery, vol. 1, no. 3, pp. 231-240, Apr. 2011 https://doi.org/10.1002/widm.30
- M. Nishino, Y. Nakamura, T. Yagi and S. Muto, "A location predictor based on dependencies between multiple lifelog data," Proceedings of the 2nd ACM SIGSPATIAL International Workshop on Location Based Social Networks, ACM, pp. 11-17, Nov. 2010.
- A. Sridharan and J. Bolot, "Location patterns of mobile users: A large-scale study," in Proc. IEEE INFOCOM13, pp. 1007-1015, Apr. 2013.
- T. T. Bilgin and A. Y. Camurcu. "A data mining application on air temperature database," Advances in Information Systems. Springer Berlin Heidelberg, pp. 68-76, Oct. 2005.
- W. He and Z. Liu, "Motion pattern analysis in crowded scenes by using density based clustering," Fuzzy Systems and Knowledge Discovery (FSKD), 9th International Conference on Fuzzy Systems and Knowledge Discovery (FSKD 2012), pp. 1855-1858, May. 2012.
- M. Celik, F. Dadaser-Celik, and A. S. Dokuz. "Anomaly detection in temperature data using dbscan algorithm," Innovations in Intelligent Systems and Applications (INISTA), 2011 International Symposium on. IEEE, pp. 91-95, June. 2011.
- T. M. Thang and J. Kim. "The anomaly detection by using dbscan clustering with multiple parameters," Information Science and Applications (ICISA), 2011 International Conference on. IEEE, pp. 1-5, Apr. 2011.
- R. Thawonmas, Y. Kashifuji, and K.T. Chen, "Detection of MMORPG bots based on behavior analysis," International Conference on Advances in Computer Entertainment Technology, pp. 91-94, Dec. 2008
- K.T. Chen and L.W. Hong, "User Identification based on Game-Play Activity Patterns," ACM SIGCOMM workshop on Network and system support for games, pp. 7-12, Set. 2007
- M. van Kesteren, J. Langevoort, and F. Grootjen, "A step in the right direction: Botdetection in MMORPGs using movement analysis," Proc. of the 21st Belgian-Dutch Conference on Artificial Intelligence (BNAIC 2009), pp. 129-136, Oct. 2009.
- S. Mitterhofer, C. Platzer, C. Kruegel and E. Kirda, "Server-side bot detection in massive multiplayer online games," IEEE Security and Privacy, pp.29-36, 2009
- H.K. Pao, K.T. Chen, and H.C. Chang. "Game bot detection via avatar trajectory analysis," Computational Intelligence and AI in Games, IEEE Transactions on, vol. 2 no. 3, pp. 162-175, Sep. 2010 https://doi.org/10.1109/TCIAIG.2010.2072506
- K.T. Chen, H.K. Pao, and H.C. Chang. "Game bot identification based on manifold learning," Proceedings of the 7th ACM SIGCOMM Workshop on Network and System Support for Games, ACM, pp. 21-26, Oct. 2008.
- B. Keegan, M.A. Ahmed and D. Williams, "Sic Transit Gloria Mundi Virtuali? Promise and Peril in the Computational Social Science of Clandestine Organizing," WebSci Conference, pp. 1-8, June. 2011
- K. Woo, H. 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, Aug. 2011 https://doi.org/10.1145/2043164.2018484
- A.R. Kang, H.K. Kim and J. Woo, "Chatting pattern based game BOT detection: do they talk like us?," KSII Transactions on Internet and Information Systems, vol. 6 no. 11, pp. 2866-2879, Jun. 2013. https://doi.org/10.3837/tiis.2012.10.007
- A.R. Kang, J. Woo, J. Park and H.K. Kim, "Online game bot detection based on party-play log analysis," Computers & Mathematics with Applications, vol. 65, no. 9, pp.1384-1395, May. 2013. https://doi.org/10.1016/j.camwa.2012.01.034
- J. Lee, J. Lim, W. Cho and H.K. Kim, "In-Game Action Sequence Analysis for Game BOT Detection on the Big Data Analysis Platform," 18th Asia Pacific Symposium on Intelligent and Evolutionary Systems, pp. 403-414, Jan. 2015.
- H.M. Kwon and H.K. Kim, "Self-similarity based Bot Detection System in MMORPG," Proceedings of the 3th International Conference on Internet. pp. 477-481, May, 2011.
- 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.
- J.Y. Woo, A.R. Kang, and H.K. Kim, "The contagion of malicious behaviors in online games," ACM SIGCOMM Computer Communication Review, vol. 43, no. 4, pp. 543-544. Aug. 2013 https://doi.org/10.1145/2534169.2491712
- J.Y. Woo, A.R. Kang, and H.K. Kim, "Modeling of bot usage diffusion across social networks in MMORPGs," Proceedings of the Workshop at SIGGRAPH Asia. ACM, pp. 13-18, Nov. 2012.