게임을 하다 보면 한 번쯤은 만나게 되는 존재가 있으니, 바로 게임봇을 사용하는 버그&핵 플레이어다. 높은 인기를 구하는 게임의 경우 악성 프로그램을 전문적으로 판매하는 업자들이 존재하며 대규모 MMORPG의 경우엔 흔히 말하는 작업장으로 수십 대의 컴퓨터에서 반복적인 노가다를 통해 수익을 창출해낸다.

게임에 버그&핵 플레이어가 많아진다면 게임의 콘텐츠 소모가 급속히 빨라질 수 있으며 실시간 대전 장르인 AOS와 FPS의 경우 사용자들의 스트레스를 높여 게임의 질을 크게 떨어트리는 요인이 된다. 이와 같은 이유로 게임봇 플레이어는 개발자들 사이에서도 해악의 존재로 구분해 강력한 제재를 하고 있지만, 현실적인 문제와 기술적인 문제 때문에 아직도 처리 방식에 많은 애로사항이 발생하고 있다.

고려대학교 정보보호대학원 부교수 김휘강은 게임봇의 제재 정책의 변화와 각종 사례를 들며 어떤 방식으로 게임봇을 처리하는지를 알리고자 2017 NDC 강단에 섰다. 게임 속 장치들로 게임봇을 구분할 수 있는 다양한 방법과 게임봇 사용자들의 프로파일링 분석으로 탐지하는 방법 등을 지금부터 알아보자.

▲ 고려대학교 부교수 김휘강



▲ 무조건 헤드샷을 쏘는 게임봇을 만나면 멘탈도 같이 터진다

먼저 게임봇이란 사람을 대신하여 자동으로 게임플레이를 해주는 프로그램으로써 게임봇을 사용하는 유저들이 많아질 경우 빠른 성장과 재화 취득으로 인해 콘텐츠 소모 속도가 빨라지고 공정한 경쟁이 이뤄지지 않아 게임의 전체적인 밸런스가 망가지게 된다.

장르에 따라서 게임봇 제재가 달라질 수 있는데, MMORPG의 경우 자동으로 사냥&채집을 하므로 장기간을 두고 제재를 해도 즉각적인 피드백이 안 오기 때문에 어느 정도 괜찮다. 하지만 AOS 혹은 FPS의 경우 유저가 전투 중 즉각적인 피드백을 받기 때문에 많은 스트레스를 받게 되고 이는 게임의 재미를 반감시키는 요인이 된다.

게임 플레이 중 게임봇을 발견하는 유저들은 대게 이런 생각을 가질 것이다. "게임봇이 저렇게 많은데 왜 막지 않는가?", "신고시스템을 통해 신고해도 왜 대응이 즉각적으로 이뤄지지 않는가?" 등이 대표적인 예라 할 수 있다. 사실 개발자들 입장에서도 게임봇은 용납할 수 없는 행위기 때문에 내버려 두기보단 제재를 가하려고 노력하고 있다.

하지만 막상 제재를 가하려 해도 현실적인 한계가 발생하는데, 오탐 문제와 봇 사용자들의 적반하장 식 법적 대응 등이 생기기도 하며 무엇보다 기술적으로 이를 완전히 차단하기가 굉장히 어렵다. 또한 막아도 새로운 방식으로 뚫고 들어오는 게임봇 프로그램은 개발자가 힘 빠지게 만드는 요인이 된다.

▲ 사실 기자도 게임봇 한번 만나면 이런 인식으로 게임을 볼 때가 있었다

▲ 개발자도 나름대로의 고충이 많다

그렇다면 개발자들은 어떤 방식으로 게임봇을 찾아내는 것일까? 가장 보편적인 방식은 게임 속 플레이어마다 행동 패턴 로그를 남기고 기록한 후 수상한 로그를 발견할 시 지속해서 검토하면서 확인하는 방식이 있다. 이때 중요한 것은 로그를 얼마나 확인하기 쉽게 남기냐가 중요하며 로그를 살펴보는 것은 게임봇 유저들을 파악하는 데 도움이 될 뿐만 아니라 사용자들의 행동 패턴을 파악하여 게임의 다양한 문제점들을 수정 및 보완하는데에도 큰 도움이 된다.

▲ 수 많은 로그 중, 수상한 녀석들만 잡아내 집요하게 파고든다!

▲ 오토를 돌리는 유저들이 채팅을 하지 않는다는 점을 이용한 검사

▲ 로그를 볼 줄 모르는 사람을 위해 특정한 형태가 되도록 시각화하기도 한다

▲ 로그 분석은 봇탐지 외에도 다양하게 쓰일 수 있다

▲ 찾았다! 너의 패턴은 강약약 중간약약!

또 다른 방법으로는 게임 유저들의 거래이용내용을 통해 게임봇을 찾아내는 방식이다. 작업장을 운영하는 대규모 단체의 경우, 작업을 돌리는 캐릭터와 돈을 관리하는 캐릭터가 거래하는 것을 이용한 것인데 이를 찾아내기 위해선 먼저 기초 작업이 필요하다.

먼저 게임 전체 이용자들의 평균 거래 횟수와 평균 거래 금액 등의 기초적은 통계를 확인한 후 거래의 양 이외에도 거래 방식에 대해서도 세세한 조사가 필요하다. 대부분 게임봇의 거래 방식은 양방향이 아닌 단방향으로만 이뤄지므로 이를 확인하기 위해 거래 방향, 거래 아이템 종류, 거래가 발생한 지역 등의 다양한 분석이 필요하다.

이런 식으로 거래 내용을 조사하다 보면 일반적인 사용자들과는 다른 패턴을 보이는 이상한 관계를 포착할 수 있는데, 소규모의 게임봇 유저들만 제재를 할 것인지 아니면 더 깊게 조사해서 관련 있는 모든 유저들을 찾아내 대규모로 제재를 가할 것인지는 게임의 상황에 따라 유동적으로 조절하여 진행된다.

이때 중요한 것은 간혹 일반 사용자도 게임봇과 비슷한 모습을 보일 수 있으므로 언제나 수동으로 개발자들이 확인하는 수고를 할 필요가 있다. 이러한 제재가 지속할 경우 작업장의 경제 규모에도 영향을 주고 캐릭터 수에도 영향을 줄 수 있으므로 지속적인 계정 제재는 작업장 감소에 탁월한 효과를 보여준다.

▲ 무엇이든 밑작업이 가장 중요하다

▲ 이상한 거래를 정의하고 관찰하면 딱 봐도 수상한게 보인다

▲ 타겟을 어디로 잡냐에 따라 수사 방식이 달라지기도 한다

▲ 기계가 다 해도 마지막에 사람이 확인하는 절차는 필요하다

▲ 그래프로 작업장이 감소하는 것을 확인할 수 있다

마지막으로 데이터 마이닝을 이용한 게임봇 탐지가 있다. 데이터 마이닝을 사용할 경우 게임봇 탐지의 정확도를 향상할 수 있다. 게임봇은 재화를 수집하는 과정이 일반 사용자들과 다른 행위 패턴을 보이는 것을 역이용하는 방식으로써 일반 유저와 게임봇의 차이를 잘 반영할 수 있는 행위들을 추출하는 것이 중요하다.

그 후 게임봇과 일반 유저간의 게임 활동을 비교하며 차이점을 확인하는 과정이 있다. 가령 게임봇은 일반 유저는 절대 하지 못할 엄청난 채집 수행 능력을 보이거나 누적 플레이 시간 등을 통해 확인할 수 있다. 게임 내 행동 비율을 비교하다 보면 게임봇이 수행하는 전체 활동의 50%는 아이템 수집과 경험치 획득임을 알 수 있는데 이는 일반 유저의 1.5~2배 수준을 가지고 있다.

이외에도 그룹 활동과 소셜네트워크 활동의 다양성에서 나타나는 차이점으로 결과의 완성도를 높일 수 있다. 게임봇의 커뮤니티 관계는 매우 단순한 형태를 보이기 때문에 비교하는 게 비교적 수월하다. 이처럼 일반 유저와 게임봇 유저의 행위 특징을 이용해 프로파일링할 경우 탐지 정확도가 96%에 이르는 것을 확인할 수 있었다.

▲ 데이터 마이닝은 탐지의 정확도를 향상시킬 수 있다

▲ 수상한 행동을 자주 보여주는 유저를 주목하라!



특성 비교는 게임에 맞춰 유동적으로 바꾸는 것이 좋다

▲ 높은 탐지 정확도를 가질 수 있다

게임봇과 대규모 작업장과 싸우는 것은 단기간에 끝나는 것이 아니라 장기전을 바라보고 싸워야 한다. 게임봇을 간과할 경우 게임의 밸런스를 망치는 주범이 될 수 있으며 강력한 제재는 잠재 고객들의 이탈을 막고 일반 유저들의 게임 만족도를 높일 수 있는 매우 중요한 작업이다.

개발 중인 게임에 맞는 로그를 디자인하고 분석할 수 있는 인프라를 마련하는 것이 중요하며 게임 개발 단계부터 이러한 사항을 인지하고 강력한 제재 정책을 마련하는 것이 좋다.

▲ 게임봇 없는 클린한 게임을 위하여!