Software Hyena::

[저널리뷰] - A Study on Game Bot Detection Using Self-Similarity in MMORPGs 본문

Journal Review

[저널리뷰] - A Study on Game Bot Detection Using Self-Similarity in MMORPGs

bluehyena 2022. 5. 18. 18:12
반응형

Journal Reveiw of Game Anomaly Detection

논문제목 : A Study on Game Bot Detection Using Self-Similarity in MMORPGs

 

실제 기업의 데이터로 성능테스트와 시스템 구현등을하여 실전에 적용한 논문이라 리뷰를 진행해 보았다.

 

Abstract

이 논문은 게임 봇이 가지고 있는 본질적인 특징인 프로그래밍된 패턴에 따라 행동을 반복하는 자기유사성을 주요한 특징으로 이용한 기계학습 기법을 제안하였고 위 모델을 자동으로 유지, 보수하는 시스템을 제안했다. 이 방법은 NC소프트의 게임인 리니지, 아이온, 블레이드 앤 소울이라는 게임들에 대해 성능을 테스했고, 실전에 적용하였다.

Introduction 

- MMORPG에서의 봇, 작업장등에 대한 정의, 게임봇을 없애야 하는 이유들은 생략하도록 하겠다.

 

기존 게임봇 탐지방법은 봇의 리버스 엔지니어링을 통해 프로세스 패턴을 찾아서 탐지하는 것으로  많은 시간, 노력이 필요하고 각 게임 별로 패턴을 찾고 규칙을 만들어야 해서 부담이 크다.

 

때문에 위 논문은 2가지를 제시한다


1. 봇이 가지고 있는 근본적인 속성중 자기 유사성에 주목한다.

 

2. 탐지 결과가 더 이상 유효하지 않게 되는 시점을 자동으로 탐지하고, 모델의 재학습을 통해 변경된 상황에 맞는 탐지 모델을 자동생성하는 프로세스를 제안한다.

위에서 제안한 것들이 여러 MMORPG에도 일반적으로 사용할 수 있는지 검증하기 위해 리니지, 아이온, 블레이드 앤 소울에 대해 탐지성능을 실험하였고 라이브 시스템으로 구현하였다. 

 

Self-similarity of Game Bots

게임 봇이 일반 유저에 비해 특정행동을 반복 수행하는 경향이 더 강한지 확인하기 위해 데이터 분석을 수행함.

 

실제 유저들의 사냥, 채집, 아이템 거래, 게임 접속, 게임 종료등 행동 수행 및 이벤트 발생시마다 기록된 로그를 이용하였다. 유저별 로그아이디를 시퀀스 데이터로 생성했고 이를 일정 개수단위로 이동해가며 부분 집합 시퀀스를 만들었다. 

Histogram of Sequence Data

제재 유저가 일반유저에 비해 시퀀스가 높은쪽에 분포되어 있다.

blocked user - red, non blocked user - gary

위 히스토그램을 보면 block user가 non blocked user 보다 반복적인 행동을 수행하는 것을 알 수 있다. 하지만 이렇게 시퀀스를 만들어 처리하는 방법은 비용이 매우 크다. 그래서 시퀀스 대신에 벡터를 이용한 분석을 진행했다.

 

게임 로그를 특정 시간 단위로 묶어 벡터를 만들고, 각 벡터와 단위벡터간의 코사인 유사도를 측정했다.

 

반복적인 행동이 있다 -> 코사인유사도도 비슷한 값이 나온다 -> 코사인 유사도 만으로 특정행동이 반복되는 것을 확인할 수 있다.

 

Time Series Chart of Cosine Similarity

일반 유저는 코사인 유사도의 변화가 큰 반면, 게임 봇은 대체로 비슷한 값을 유지한다.

 

Self-Similarity between Bots and Normal Users

세 게임에서 모두 봇이 유저보다 자기 유사도가 높았다.

Methodology

1. Feature Selection

먼저 로그 벡터를 생성하고 로그 벡터와 단위 벡터간 코사인 유사도를 측정한다. 측정 공식은 다음과 같다.

Cosine Similarity

그리고 코사인 유사도의 표준 편차를 측정한다. 유사성이 높을수록 1에, 낮을수록 0.5에 가까워 진다.

일반 유저도 장시간 대기, 짧은 플레이등 자기 유사도가 높게 측정되는 경우를 막기 위해 특질을 추가했고 전체 특질들은 아래와 같다.

List of Features

2. 탐지모델 생성 및 평가

Logistic Regression으로 탐지 모델을 생성하고, K-fold cross validation을 이용하여 모델 성능을 평가한다. 검증 시에는 ROC 곡선에 대한 면적(AUC)를 구하여 성능을 측정한다. 

 

3. 결과 모니터링 및 탐지 모델 재학습

자동화 된 프로세스는 위와 같다. '변화 감지' 단계에서 EWMA 라는 기법을 사용했다.

 

유저를 i,

시점을 t,

게임 봇일 확률을 ai,

t-1에서 봇일 확률을 bi 라고 할 때

t 시점에서의 게임 봇 확률 상관계수 xt는 아래 처럼 계산한다.

이렇게 측정한 상관계수에 대해서 가중치 이동 평균을 계산한다. 가중치의 경우는 정하는 방식을 이후에 설명한다.

이렇게 구한 zt 값이 관리 한계치를 벗어나면 봇 패턴의 변화가 발생한 것 이므로 계정들의 확률값들을 다시 계산해야 한다고 판단한다. 이의 상한선과 하한선은 아래 식으로 정한다.

이후 모델을 검증하는데, k-fold validation을 이용하였으며 AUC가 0.9 이하인 경우 부적합하다고 판단한다. 재학습 결과가 부적절하다고 판단하면, 탐지프로세스를 종료한다.

 

Experiments

Ground Turth의 설정은 인간의 육안 검사를 이용하여 직접 정답 집합을 구축하였음.

최소 2명 이상의 검사자가 독립적으로 판정하였고 판정시 사유를 기입하게 하였다. 이렇게 정답집합을 생성한 후에 각 판정대상들에 대해 LOOCV를 수행하였다.

Ground Truth Construction Results

데이터의 규모는 다음과 같다.

데이터 전처리시 집계할 데이터 기간, 자기 유사도 측정을 위해 사용하는 로그 벡터의 시간 단위 두 파라미터를 결정해야 한다. 위 연구에선 집계기간을 일주일, 벡터의 단위를 300초로 결정했다.

cross validation 으로 나온 결과는 위와 같은데 위 실험에서 데이터의 기간은 5일, 로그 벡터의 길이는 짧을수록 좋음이 드러났다.

각 게임별로 통계적 유의성을 갖는 특질들이 조금씩 다르지만, 자기 유사도 변수는 공통적으로 통계적 유의성을 가지고 있다. 

ROC 커브의 결과는 위와 같다.

 

이렇게 개발 모델이 충분하게 신뢰도가 높다고 판단하여 위 모델들로 게임봇 확률을 계산하고 규모를 파악하는 시스템을 구축하였다. 

 

파라미터 튜닝과정을 이야기 해보자면 먼저 z를 계산하는데 가중치인 람다를 결정하기 위해 SSE를 사용했다.

(a)를 보면 람다의 값이 커질수록 초반에는 SSE가 급격히 감소하다, 일정 수준 이상이 되면 다시 증가하는 것을 알 수 있으므로 변곡점이 되는 지점이 SSE를 최소로 하는 람다값이 된다. (b), (c) 에서 데이터가 많아질 수록 점차 값이 수렴하는 것을 확인할 수 있고, (d)에서 변화폭을 최대한 수용하는 관리한계치의 상한과 하한을 그리는 것을 확인할 수 있다.

EWMA Parameter

 

Conclusion

전형적인 분류문제인 게임 봇 탐지는 일시적인 조치가 아닌 상시적인 운영이 필요한 업무이다. 이 연구에서는 자기유사도를 바탕으로 이 분류문제를 해결하고자 하였으며 낮은 비용으로 유지보수하기 위한 방안으로 EWMA 기반의 탐지모델 자동학습 알고리즘을 제안하였다.

 

Future Works

뱅커 봇, 작업장그룹등에 대해서는 효과적이라고 말할 수 없다. 또, 실효성에 대한 효과적인 검증이 아직 이루어지지 않았기 때문에 시스템을 운영하면서 검증을 계속할 필요가 있다.

 

 

반응형
Comments