2017.03.27 게임과 보안

게임과 보안 #6 찾아라! 게임봇의 행동 패턴

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

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

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


게임과 보안 #6 찾아라! 게임봇의 행동 패턴
시퀀스 분석이란?

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

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

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

속세와 단절하는 유형.jpg 

속세와 단절하는 유형.jpg


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

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

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

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

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


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

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

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

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


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

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

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

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

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

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


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

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

똑같은 액션 시퀀스만 100번 한다면?  아무래도 사람이 아니무니다…

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

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


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


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

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

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

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

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

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


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

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

딱 걸리셨네요 

딱 걸리셨네요


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

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

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

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


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

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

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

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


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

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

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


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

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

참고문헌

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.


김휘강

김휘강

고려대학교 정보보호대학원 부교수.
게임 봇과 작업장 탐지 등에 대해 연구하고 있으며
고려대 해킹대응기술 연구실은 온라인 게임 보안 분야에서
전 세계적으로 가장 많은 연구 성과를 내고 있다.

TOP