게임봇과 작업장은 게임 회사뿐 아니라, 게이머들에게도 다양한 문제를 일으킵니다.

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

게임봇을 탐지하는 다양한 기법 중, 인간과 다른 행동을 분석해 게임봇을 가려내는 기법을 살펴보도록 하겠습니다. ( ͡° ͜ʖ ͡°)


# 게임봇과의 전쟁, 그 처절한 역사

과거 게임봇을 가려내기 위해, 몇몇 보안 회사에서 만든 게임보안솔루션으로 PC에 게임봇 프로그램이 깔려 있는지 점검하는 방식이 통용됐었다. 

하지만 이런 방식은 불과  7~8년 전만 하더라도 PC 보안 프로그램과 충돌을 일으켜 블루 스크린을 띄우거나, 모처럼 큰 맘 먹고 산 게이밍 전용 키보드를 불법 하드웨어로 인식해 에러를 일으키는 등 게이머들에겐 그닥 좋은 인상을 주지 못했다.

Windows_9X_BSOD

 핵고구마 같은 이 푸르딩딩한 화면! -ㅁ-

이런 애로사항을 극복하기 위해, 게임봇 탐지 기법은 진화에 진화를 거듭했다.

그중 현재 많이 쓰이는 방식 중 하나는 게임 서버단에서 각각의 캐릭터를 면밀하게 관찰한 뒤, 인간이라고 하기엔 너무나 다른 행동을 하는 캐릭터를 가려내는 방식이다. 

데이터마이닝과 기계학습의 발전은 이러한 탐지 기법이 발전하는 데 많은 영향을 주기도 했다. 

Arnold-Schwarzenegger-Terminator-2

내가…사람으로 보이니?

이번 편에서는 “과연 게임봇도 사람과 비슷하게 사회 활동이나 협업 플레이를 할까?” 라는 점에서 착안한 탐지 기법을 소개하고자 한다.

이 기법은 2013년, 필자가 속한 연구진이 발표한 논문 “파티 플레이 로그 분석을 기반으로 온라인 게임 봇 탐지(Online game bot detection based on party-play log analysis)”에서 다룬 것이다. 

정상적인 사람의 플레이가 봇의 플레이와 가장 크게 다른 점은, 전투나 사냥 등 경험치와 재화를 얻는 일 외에도 가상 사회에서의 사회 활동 행위를 한다는 점이다.

20120629110822_5553

온라인 게임의 가장 큰 핵심은 커뮤니티를 통한 사회활동 #초대점요 

사실 레벨업만이 목표라면 다른 게이머와 1 : 1 채팅을 할 필요도 없고, 더 나아가 아예 게임 안에서 친구를 만들 필요도 없다.

게임봇을 관찰해 보면, 이러한 사회 활동을 전혀 하지 않고 오로지 경험치 보상이 높은 퀘스트만 골라서 하는 것을 알 수 있다.

시리

사회활동이 전혀 없는 상대방과의 대화 #Siri 

이러한 관점에서 파티플레이를 분석해 보면, 매우 정확하게 봇을 가려낼 수 있다. 

예컨대 파티원 전체를 봇으로 구성했다면 몰라도, 사람들로 구성된 파티라면 플레이 도중 생리 현상으로 인해 잠깐 쉬는 타임이 있을 것이다.

하지만 모든 파티원이 24시간 동안 쉬지 않고 플레이를 한다면? 이는 사람으로 구성된 파티라 보기 힘들다. 

 

1

온라인 게임에서의 파티플레이 지속시간 그래프 

위의 그래프는 MMORPG 게임에서의 파티플레이 지속시간을 나타낸 것이다.  

그래프를 보면, 약 87퍼센트의 파티원들이 평균 2시간 남짓 플레이를 하는 것을 알 수 있다.

반면 0.14퍼센트 정도의 파티원들은 한 번 플레이를 시작하면, 무려 24시간을 꼬박 새우며 플레이하는 것을 확인할 수 있다. 

slide_image_cubenap-100298828-orig

게임이 아무리 재밌어도 생리적 욕구인 잠을 막을 순 없는데 말입니다 

이 0.14퍼센트에는 정말 오늘을 하얗게 불태워 보겠다는 심정으로 달리는 게이머들도 있겠지만, 현실적으론 게임봇일 확률이 높다.

그렇다면 파티플레이 지속 시간별 인원 구성은 어떻게 다를까?

2

6~12시간 파티플레이를 하는 집단의 인원수 구성 

3

24시간 이상 파티플레이를 하는 집단의 인원수 구성

위의 그래프를 보면, 24시간 이상 지속하는 파티의 경우는 대부분 2명의 소수 멤버로 구성된 것을 알 수 있다. 

즉, 장시간 진행하는 파티는 게임의 주 캐릭터에, 이를 보조하는  봇으로 구성돼 있을 가능성이 높다고 예상할 수 있다.

그렇다면 사람으로 구성된 파티와 봇으로 구성된 파티의 가장 큰 차이는 무엇일까?

파티 중에 하는 행위는 대부분 경험치와 아이템 획득하기 위한 것이다. 하지만 길드 관련 행위나, 채팅 등 다양한 소셜 행위들은 사람으로 구성된 파티에서만 주로 발생한다.

이러한 행동의 다양성을 살펴보면 사람 파티에서는 다양한 소셜 행위가 50.88퍼센트를 차지하나, 봇 파티에서는 절반 정도인 27.55퍼센트에 불과하다. 

4

엔트로피 지표를 이용해 행동 다양성이 6시간 이상 플레이하는 봇파티에서 급감함을 보여주는 차트

이러한 관찰을 토대로, 봇으로 구성된 것으로 추정되는 파티가 공통적으로 보이는 조건들을 추려내 봇 파티를 걸러낼 수 있다. 

참고로 이를 적용해 본 결과 95퍼센트의 높은 정확도(accuracy) 로 봇을 탐지할 수 있었다. (단, 동시 접속자가 10만 명 이상이라고 할 때, 나머지 5퍼센트의 오류는 큰 숫자이므로 실제 현업에서는 다양한 탐지 기법을 동시에 적용해 정확도를 더 높이고 있음을 밝힌다.)

다음편에서는 게임봇을 탐지할 수 있는 다양한 기법들 중에서, 채팅 패턴을 기반으로 정상적인 이용자와 봇 유저를 구분하는 방법을 소개하겠다. 

참고문헌

 Kang, Ah Reum, et al. “Online game bot detection based on party-play log analysis.” Computers & Mathematics with Applications 65.9 (2013): 1384-1395.


 

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

 

 

 

 

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

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

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