Software Hyena::

[저널리뷰] - Multimodal Game Bot Detection Using User Behavioral Characteristics 본문

Journal Review

[저널리뷰] - Multimodal Game Bot Detection Using User Behavioral Characteristics

bluehyena 2022. 3. 23. 02:39
반응형

Journal Reveiw of Game Bot Detection (Anomaly Detection)

 

논문제목 : Multimodal game bot detection using user behavioral characteristics

 

Abstract

온라인 게임시장이 커지면서, 온라인 세계에서의 불법적인 활동들이 급격히 증가했고 다양해졌다. 이 연구의 목적은 MMORPG(Massively Multiplayer Online Role Playing Game) 장르에서의 게임봇을 탐지하는 것이다. 그래서 이 연구는 골드파밍과 현금거래와 같은 게임봇의 특징적인 부분을 찾았다. 데이터는 유명한 MMORPG 회사에서 제공받은 실제 데이터를 사용했으며 탐지 정확도는 96.06%를 기록했다.

 

Background

게임봇은 게임머니를 얻기 위한 자동프로그램이다. 쉬지않고 일하기 때문에 인간보다 많은 재화를 벌어들이고 몬스터 리젠 즉시 처치, 아이템 수확등을 해버리기 때문에 일반 유저들을 크게 방해한다. , 이런 게임봇을 통한 게임재화 습득은 게임운영에 상당히 치명적인 게임재화의 인플레이션을 유발한다. 때문에 실제로 학계나 산업계에서 게임봇을 탐지하려는 많은 노력들이 있었다. 크게 3가지로 범주화가 가능한데 Client-side, Network-side, Server-side로 구분할 수 있다. 대부분의 게임사는 client-side 한 방법을 택했다. 이는 백신프로그램과 비슷하게 동작하는데 쉽게 우회 당할 수 있다. Network-side detection의 경우는 네트워크 지연, 게임의 렉등을 유발하여 게임환경에 적합하지 못하다. 이런 limitation들을 극복하기 위해 server-sidemethod를 채택했다. Server-side 방법은 sever log data를 분석하는 data mining기술을 기반으로 한다. Server-side detectioncategory로는 Action frequency analysis, Social activity analysis, Gold farming group analysis, Sequence analysis, similarity analysis, Moving path analysis 가 있다.

 

-  Action frequency analysis : 게임봇의 어떤 특정 행동의 빈도수가 인간보다 더 높게 나타난다는 것을 배경으로 한다.

-  Social Activity analysis : 인간과 봇의 소셜네트워킹 특징을 바탕으로 구별한다.

-  Gold Farming Group Analysis : 게임 속 가상경제를 분석한다. Gold farmer, merchants, bankers, buyer간의 비정상적인 거래를 탐지하는 것이다.

-  Sequence Analysis : 로그인에서 로그아웃까지의 sequence를 계산한다.

-  Similarity Analysis : 봇들이 돈을 벌기위해 행동하는 강한 비슷한 패턴이 있다는 점을 이용한다.

-  Moving path analysis : 인간은 다양한 경로로 움직이지만 봇은 정해진 경로로만 움직이는 것을 바탕으로 한다.

 

+ 이 연구는 NCSOFT와 협업을 통해 진행되었고, 이 연구의 프레임워크는 multimodal한 유저의 행동특징을 분석하여 특징을 추출해 game bot detectionaccuracy를 향상시켰다.

 

Methods

- DatasetAion이라는 게임의 88일간 (201049~ 201075) 의 인게임 액션 로그이다. 49,739 캐릭터가 3시간 넘게 플레이를 했고 7,702캐릭터가 게임사에서 식별한 게임봇이었다. Ban list는 Ground Truth로 사용되었고 이들은 게임사의 모니터링과 인간의 노동으로 식별된 것 들이다.

 

Framework and workflow

Game bot detection framework based on user behavioral characteristics

-       Workflow는 위 그림을 따름. 문제를 Binaray classification problem으로 접근했으며. High level에서 data collection, data exploration(include feature extraction), machine learning, validation 으로 나뉨.

-       Data Collection phase -> chat contentsgame log를 합친 데이터셋을 모음.

-       Data exploration -> 어떤 feature 가 가장 봇과 일반유저를 잘 구분하는지. Ex) feature representation : quantized each network measure into three clusters with low, medium, high value using k-means algorithm.

-       Feature exploration : 7개의 활동을 social interaction으로 구분함 (Shannon diversity entropy 방법사용)

-       Feature selection : best first search, greedy-stepwise search, information gain ranking filter

-       Machine Learning : decision tree, random forest, logistic regression, naïve Bayes.

-       Parameters k-fold cv, specific algorithm parameter

-       Evaluation : accuracy, precision, recall, F-measure

-       Used feature and their gap : 게임봇의 목적은 부당한 수익을 얻는 것, 인간과 봇 사이의 gap이 존재할 것. 개인적 featureplayer informationaction으로 categorized.

-       Player information : 로그인 빈도, 플레이 타임, 게임머니, ip address.

-       Player action : sitting(recovering), earn exp, obtain item, earning game money, earning pk points, harvesting item, resurrecting, restoring exp, killed by npc, pc, using portal. Ex) game bots은 사람보다 더 자주 앉음. pk포인트를 많이 얻지 않으려함. 외 특징들은 아래 Table에 있음.

Personal and social features

-       게임봇은 사람처럼 social하게 행동하려고 하지 않음. 

-       Network measure 의 정의들은 아래 Table에 정리.

Definition of network measures

 

Results and discussion

Behavioral charactersistics

Player information

- 봇은 게임에 인간보다 긴 시간 접속해있고 플레이한다. 24시간도 가능. 인간은 1,000개가 넘는 아이템을 하루에 얻기가 불가능에 가까운데 60%에 가까운 봇들은 하루에 5,000개가 넘는 아이템을 수확한다. 봇과 인간을 구별하는 가장 명백한 지표가 된다. 

Player Information

 

Player actions

-  아래 그림은 Game Bot과 Human의 행동비율을 나타낸다.

-  Earning money 비율은 비슷하다.

-  Earning exp, Obtaining item 은 봇이 인간보다 훨씬 크다.

-  Earning exp, Obtaining item, Earning game money of game bots 의 누적 비율은 0.5에 가깝다, 반면 인간은 0.33 이다. 

-  봇들은 수익성과 연관된 행동만 한다. 인간은 다양한 활동들을 한다.

-  PK포인트를 얻는 것은 게임봇과 인간이 3배차이가 난다. 봇은 랭킹에는 관심이 없기 때문.

Player actions activity ratio

 

Group activities

-  아래 그림은 봇과 인간의 평균 파티플레이 시간을 보여준다.

-  몇몇 봇들은 다른 봇들과 파티를 형성하고 서로 죽임을 당하지 않도록 돕는다. 그리고 이들은 여전히 비정상적인 패턴을 보인다.

-  80% 의 봇들이 파티를 4시간 10분 지속했다. 반면 인가유저의 80% 는 2시간 20분 파티를 지속했다. 어려운 미션도 2시간의 협동끝에 깨므로 인간은 봇처럼 오래 파티를 지속하지 않는다.

Group Activities Cumulative Distribution

 

Social interaction diversity

- 아래그림은 cumulative distribution of entropy of social interactions 이다.

- 7 activities : social interactions, party, friendship, trade, whisper, mail, shop, guild.

- Human bot보다 다양한 활동을 즐긴다는 것을 보여 줌.

Cumulative distribution of user social interaction diversity

 

Network measures

- 파티 네트워크에서 Average Degree가 인간이 봇보다 대략 18배 더 크다. -> 사람은 수 많은 모르는 사람과 랜덤 파티, bot은 다른 bot끼리 파티.

-  게임 봇은 인간의 친구관계와 완전히 다름. 인간이 더 큼. 봇에게 친구란 그저 같이 재화를 캘 동료. 인간그룹이 2.5배 더 크다(trade network에서)

-  게임봇 그룹의 Average clustering coefficient 가 인간 그룹보다 5배 더 크다.

-  Mail network 에서 게임봇은 9명인데, 한 사람에게 1,000여개를 보냈다. 

5명의 아이템을 취합하는 다른 봇은 6,000개가 넘는 아이템을 다른 봇들로부터 받았다.

 

The triad census

- 13개의 Type의 Triad Network를 정의.

- 아래 그림의 b는 분석한 게임의 interaction pattern을 나타냄.

- 봇 : Friendship, whisper, mail, shop network 에서 하나의 네트워크가 우세하게 나타남.

- 인간 : Friendship, Shop 에서 하나의 네트워크가 우세하게 나타남.

- 아래 그림의 c는 각 motif별로의 z-score를 나타냄.

The triad census

  

Network overlap

- 네트워크 사이의 corrleated 를 파악하기 위해 similarities 를 확인함.

- 아래 그림의 a는 두 네트워크 간의 Jaccard Coefficient를 나타냄.

- 아래 그림의 b는 두 노드 간의 Pearson Correlation Coefficient를 나타냄.

- 봇 그룹이 party-friendship, party-trade 페어에서 높은 Jaccard Coefficient 를 보임. 게임 봇의 메인 활동은 파티플레이와 아이템 거래라는 것을 확인할 수 있음.

- party-trade에서 인간그룹은 높은 양의 Pearson Correlation Coefficient를 보임. 파티 행위가 전투, 사냥등을 하는데 가장 선호되는 방법임을 알 수 있음. 

- 반대로 게임 봇 그룹은 상관계수가 극도로 낮음. 다른 몇몇의 게임 봇들과만 관계를 유지하기 때문.

Network overlap

 

Gamebot detection

- 게임봇을 탐지하는 Classifier를 설계하기위해 Train, Test Set으로 데이터를 분리함. 

- 10-fold cross validation을 진행하여 test data에 overfitting 되는 것을 방지.

 

Feature selection

- Best first, Greedy Stepwise, Information Gain Ranking Filter Algorithm 을 사용하여 Feature Selection을 진행함.

- 114개의 Feature를 가지는 Feature_Set1.

- Gain Ranking Filter Algorithm 을 이용하여 62개의 Feature를 가지는 Feature_Set2를 획득함.

- Best first, Greedy Stepwise를 이용하여 6개의 Feature를 가지는 Feature_Set3를 획득함.
- 아래 그림은 각 Feature_Set 에 대한 Classification Result임.

- Feature수가 절반수준인데 Feature1과 큰 차이가 없는 Feature2를 Game Bot Detection에 활용하기로 결정.

Performance comparison of feature sets

Classification and Evaluation

- Decision Tree, Random Forest, Logistic Regression, Naive Bayes 방법을 사용함.

- 평가지표로는 Precision, Recall, F-measure를 사용함.

- Random Forest 모델의 성능이 가장 좋았음.

- Random Forest는 Imabalance한 Data에 적합한 학습방식인데 이 연구에서 활용한 데이터도 Human 85%, Bot 15%로 불균형한 데이터임.

- Naive Bayes 방법은 특성상 feature의 독립성이 중요한데 obtaining_itmes_count, earning_exp_points_count, harvesting_items_max_count, play_time, party_eccentricity 처럼 낮은 중요도를 갖는 feature 들이 실제 필수적인 게임플레이와 떼 놓을 수 없는 관계이기 때문에 성능이 낮게 나온것으로 추정된다.

Model Performace

 

- Recall Value가 살짝 낮아서 TP, FP, FN, TN 케이스를 분석하여 현상을 확인하고자 하였음.

- 아래그림은 TP, FP, FN, TN 케이스를 나타낸 것이고 모든 클래스를 lowest한 class value로 정규화 함.

- FP, TP 의 비율과 FN, FP의 비율이 거의 유사하다. mail_between_centrality, mail_outdegree 에서 예외를 보임.

Conclusion

- Multimodal Framework를 통해 Game bot을 detecting하고자 하였다.

- 게임 봇은 부당한 이익을 위해 반복적인 행동을 하고, 다른 플레이어와의 사교를 즐기지 않고, 게임 봇 간의 연결이 있고 서로 게임머니를 교환하는 것으로 분석됨.

- 몇몇 게임 봇은 mail 을 활용하여 게임머니를 획득함.

- 최종적으로 0.961%의 정확도를 기록함.

- 이 탐지모델은 Multiple classes of feature 에 의존하기 때문에 더 robust 하며 게임 봇 탐지에 있어 더 흥미로운 방향을 제시할 것 이다.

 

처음 리뷰해본 게임 봇 탐지를 연구한 논문이다. 코드가 따로 공개되어있지 않아서 모델의 하이퍼 파라미터튜닝을 어떻게 했는지, 성능을 어떻게 끌어올렸는지는 자세히 알 수 없었지만 게임 데이터라는 도메인측면에서 어떤 데이터가 Game bot을 detecting 하는데 효과적인 feature인지 자세히 알 수 있었다.

반응형
Comments