일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 중앙갑
- anomaly detection
- p-value
- datascience
- Deeplearning
- Anti Cheat
- 그리디
- 알고리즘
- Stack
- 정렬
- 통계
- 자료구조
- Game Data Analysis
- 스택
- 큐
- Python
- DP
- Machine learning
- cs231n
- 백준
- 구현
- 딥러닝
- Journal Review
- 7569번
- AA test
- BFS
- classification
- Queue
- ML
- c++
- Today
- Total
Software Hyena::
[저널리뷰] - Multimodal Game Bot Detection Using User Behavioral Characteristics 본문
[저널리뷰] - Multimodal Game Bot Detection Using User Behavioral Characteristics
bluehyena 2022. 3. 23. 02:39Journal 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-side한 method를 채택했다. Server-side 방법은 sever log data를 분석하는 data mining기술을 기반으로 한다. Server-side detection의 category로는 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 detection의 accuracy를 향상시켰다.
Methods
- Dataset은 Aion이라는 게임의 88일간 (2010년 4월 9일 ~ 2010년 7월 5일) 의 인게임 액션 로그이다. 총 49,739 캐릭터가 3시간 넘게 플레이를 했고 7,702캐릭터가 게임사에서 식별한 게임봇이었다. Ban list는 Ground Truth로 사용되었고 이들은 게임사의 모니터링과 인간의 노동으로 식별된 것 들이다.
Framework and workflow
- Workflow는 위 그림을 따름. 문제를 Binaray classification problem으로 접근했으며. High level에서 data collection, data exploration(include feature extraction), machine learning, validation 으로 나뉨.
- Data Collection phase -> chat contents와 game 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이 존재할 것. 개인적 feature는 player information과 action으로 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에 있음.
- 게임봇은 사람처럼 social하게 행동하려고 하지 않음.
- Network measure 의 정의들은 아래 Table에 정리.
Results and discussion
Behavioral charactersistics
Player information
- 봇은 게임에 인간보다 긴 시간 접속해있고 플레이한다. 24시간도 가능. 인간은 1,000개가 넘는 아이템을 하루에 얻기가 불가능에 가까운데 60%에 가까운 봇들은 하루에 5,000개가 넘는 아이템을 수확한다. 봇과 인간을 구별하는 가장 명백한 지표가 된다.
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배차이가 난다. 봇은 랭킹에는 관심이 없기 때문.
Group activities
- 아래 그림은 봇과 인간의 평균 파티플레이 시간을 보여준다.
- 몇몇 봇들은 다른 봇들과 파티를 형성하고 서로 죽임을 당하지 않도록 돕는다. 그리고 이들은 여전히 비정상적인 패턴을 보인다.
- 80% 의 봇들이 파티를 4시간 10분 지속했다. 반면 인가유저의 80% 는 2시간 20분 파티를 지속했다. 어려운 미션도 2시간의 협동끝에 깨므로 인간은 봇처럼 오래 파티를 지속하지 않는다.
Social interaction diversity
- 아래그림은 cumulative distribution of entropy of social interactions 이다.
- 7 activities : social interactions, party, friendship, trade, whisper, mail, shop, guild.
- Human 이 bot보다 다양한 활동을 즐긴다는 것을 보여 줌.
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를 나타냄.
Network overlap
- 네트워크 사이의 corrleated 를 파악하기 위해 similarities 를 확인함.
- 아래 그림의 a는 두 네트워크 간의 Jaccard Coefficient를 나타냄.
- 아래 그림의 b는 두 노드 간의 Pearson Correlation Coefficient를 나타냄.
- 봇 그룹이 party-friendship, party-trade 페어에서 높은 Jaccard Coefficient 를 보임. 게임 봇의 메인 활동은 파티플레이와 아이템 거래라는 것을 확인할 수 있음.
- party-trade에서 인간그룹은 높은 양의 Pearson Correlation Coefficient를 보임. 파티 행위가 전투, 사냥등을 하는데 가장 선호되는 방법임을 알 수 있음.
- 반대로 게임 봇 그룹은 상관계수가 극도로 낮음. 다른 몇몇의 게임 봇들과만 관계를 유지하기 때문.
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에 활용하기로 결정.
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 들이 실제 필수적인 게임플레이와 떼 놓을 수 없는 관계이기 때문에 성능이 낮게 나온것으로 추정된다.
- 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인지 자세히 알 수 있었다.