게임봇과 작업장은 게임회사 뿐 아니라 게임을 즐기는 사람들에게도 다양한 문제를 일으킵니다.

이러한 게임봇과 작업장은 어떤 방식으로 탐지할 수 있을까요?

게임봇을 탐지하는 다양한 기법 중에서, 게임봇의 시퀀스를 분석해 봇을 탐지하는 기법을 살펴보겠습니다.  ( ͡° ͜ʖ ͡°)


thumb_170324_게임봇의행동패턴

#시퀀스 분석이란?

사람은 무슨 일을 하건 본인만의 행동 패턴이 나오게 된다. 

예를 들어 탕수육과 짜장면을 먹는다고 치자. 일단 물 한 모금 마시는 사람, 단무지부터 먹는 사람, 자장면부터 비비는 사람, 탕수육부터 공략하는 사람 등등 다양한 유형이 있을 것이다. 

이러한 일련의 연속된 행동 패턴을 ‘액션 시퀀스(Action Sequence)’ 라고 한다.

202851_75617_5020

속세와 단절하는 유형.jpg 

 저마다 먹는 패턴이 다르지만, 많은 이들을 관찰해 보면 “탕수육과 짜장면을 먹어라!” 라는 퀘스트에서 공통적으로 보이는 액션 시퀀스의 통계를 낼 수 있을 것이다. 

약 40퍼센트 이상이 “단무지 먹고-탕수육 한 입-짜장 비비고-짜장 한 입”과 같은 공통된 패턴을 보인다는 식으로 말이다. 

그리고  0.5% 미만의 특이한 식사 패턴을 보이는 사람들이 “단무지 한 입- 단무지 한 입 – 단무지 한 입 – 단무지 한 입- 짜장 한 입 – 식사 끝”의 패턴을 보임을 알 수도 있을 것이다. 

사본 -파일-dg (1)

단무지 마니아 (・∀・) ??? 

시퀀스 분석을 하면 탕수육만 먹는 얌체, 골고루 먹는 사람, 단무지 마니아 등 공통된 패턴을 보이는 사람들을 그룹화할 수 있다.

또 그룹 성향에 따라 ‘탕수육만 먹는 얌체 그룹과는 같이 먹지 말아야지!’ 라거나 ‘단무지 마니아 그룹에 껴서 탕수육 흡입량을 극대화 해야겠군’ 하는 등 태그를 붙여 특별 관리를 할 수도 있다. 

gossip_695_2

찍먹인지 부먹인지도 미리 알고 대비(?)할 수 있다는 

이러한 액션 시퀀스 개념을 게임 분석에 응용해 보면 어떨까?

가장 쉬운 예로, 게이머가 게임을 하며 취하는 행동을 액션 시퀀스로 표현하면 아래의 그림과 같이 공격-공격-마법-물약먹고-몬스터킬-경험치 획득으로 나타낼 수 있다.

Untitled-1

만약 모든 게이머들의 행동을 분석할 수 있다면, 전체 게이머들, 솔로잉을 즐기는 게이머, 하드코어 게이머, 게임 내 거대 상인들의 액션 시퀀스를 각각 뽑아낼 수 있을 것이다. 

1

게임 서버에 남겨진 액션 로그를 이용해  대량의 액션 시퀀스를 뽑는 예 

더불어 위에서 예로 든 단무지 마니아와 같이, 사냥터 내에서 극히 드문 행동 패턴을 보이는 사람을 찾아낼 수 있다.

이를 테면 똑같은 액션 시퀀스만 내리 100번 가까이 하는 사람도 찾아낼 수 있을 것이다. 

image21

똑같은 액션 시퀀스만 100번 한다면?

아무래도 사람이 아니무니다…

이런 아이디어에 기반해, 요즘은 봇을 탐지할 때 액션 시퀀스 분석을 활용하는 추세다.

 

# 시퀀스 분석, 이렇게 한다!

시퀀스를 분석해 게임봇을 탐지하는 규칙은 다음과 같다 . 

첫째, 동일한 퀘스트를 10번 하더라도 행동 패턴은 매번 다르기 마련이다.  만약 동일 퀘스트를 수행할 때 지난번과 이번이 99퍼센트 일치한다면 봇으로 볼 수 있다.

둘째, 매번 로그인해서 보이는 일련의 액션 시퀀스가 완전히 똑같은 사람! 이것도 봇으로 볼 수 있다.

제목_없음8

이런 경우도 일종의 봇이라 볼 수 있…(읭?)

셋째, 실제 봇을 구매해서 플레이를 할 때 다른 게이머들과 다른 고유한 액션 시퀀스가 있다면? 해당 시퀀스를 봇을 검출하는 문자열로 활용할 수 있다.

넷째, 서로 다른 게이머들이 공통적으로 봇의 시퀀스를 가지고 있으면서, 접속한 IP주소 대역도 같다면 이것은 #빼박 #작업장 

SG

딱 걸리셨네요 

이와 같은 기법을 이용해 탐지할 경우, 99퍼센트 이상의 정확한 탐지율을 보인다. 

참고로 게임 내 모든 액션을 일일히 시퀀스화 하기는 어렵기 때문에, 아래 표와 같이 일련의 행동을 알파벳으로 변환해서 쉽게 계산할 수 있도록 하는 게 일반적이다. 

 

3535

알파벳으로 행동을 변환한 표 

액션 시퀀스를 분석해 알아보기 쉽도록 시각화한 예시는 아래와 같다. 

게임 회사에서는 고객들이 게임 내에서 전투, 사냥, 요리, 채집, 하우징, 채팅, 거래 등 다양한 플레이를 즐기기를 기대한다.  (아래 그림 참조)  

11

기획자가 의도한 대로 다양한 활동을 즐긴 경우 

하지만 게임봇의 액션 시퀀스는 아래 그림과 같이 오로지 사냥, 퀘스트, 장사의 반복 패턴으로 점철된 것을 볼 수 있다.  

22

                사냥-퀘스트-장사 외엔 아몰랑 #너님 #게임봇이네요 

이번 편에서는 액션 시퀀스 분석을 통해 게임봇을 탐지하는 기법을 소개했다.

다음 편에서는 시퀀스 분석을 응용해서 계정 도용을 탐지해 계정을 보호하는 기법을 다루도록 하겠다. 

참고문헌

Lee, Jina, et al. “In-Game Action Sequence Analysis for Game BOT Detection on the Big Data Analysis Platform.” Proceedings of the 18th Asia Pacific Symposium on Intelligent and Evolutionary Systems-Volume 2. Springer International Publishing, 2015.


원형프로필_김휘강교수님김휘강 고려대학교 정보보호대학원 부교수. KAIST 산업경영학과를 마치고 산업공학과에서 석사, 박사학위를 받았으며, 게임봇 탐지 및 작업장 탐지, 계정도용 및 결제부정 탐지와 관련하여 지속적인 연구를 수행 중에 있으며, 고려대학교 해킹대응기술 연구실은 온라인게임보안 분야에서 전세계적으로 가장 많은 연구 성과를 내고 있다.

 

 

 

 

게임과 보안 #1 게임봇의 두 얼굴

게임과 보안 #2 게임봇이 나쁜 이유

게임과 보안 #3 게임봇과 작업장을 바라보는 다양한 시선

게임과 보안 #4 게임봇을 탐지하는 기법

게임과 보안 #5 게임봇과의 채팅엔 뭔가 특별한게 있다