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

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

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

게임봇을 탐지하는 다양한 기법들 중에서 채팅 패턴을 분석해서 봇을 탐지하는 기법을 살펴보겠습니다.  ( ͡° ͜ʖ ͡°)


thumb_170217_게임과보안

얼마 전, 두 인공지능 챗봇(chatbot)의 대화를 소개한 영상이 화제가 되었다. 

호구 조사에 여념이 없는 두 챗봇 #어색어색 #소개팅아님 

챗봇들은 때로는(?) 동문서답을 하긴 했지만, 서로의 취향과 사랑에 대한 견해(…), 인간에 대한 감상까지 논하며 장장 9시간 이상 긴 대화를 나눴다. 

그렇다면 챗봇과 같은 인공지능 봇인 게임봇은 일반 게이머들과 비슷한 방식으로 채팅을 할까? 아니, 그에 앞서 게임봇들끼리도 대화라는 것을 할까?

심지어 게임봇에게 말을 걸었을 때,  게임봇인지 아님 사람인지 쉽게 구분할 수 있을까?

캡처

너…봇 맞니??  #현타오네요 

게임봇의 대화 패턴은 게임봇 제작자가 구현하기 나름이고, 게임봇 이용자가 세팅하기 나름이다.

하지만 게임봇은 확실히 사람과는 다른 대화 패턴을 보인다.

몇 가지 재미있는 사례를 통해,  게임봇의 대화 패턴을 통해 게임봇을 탐지하는 방법을 알아보자. 

 

Case 1.

대부분의 게임봇들은 자동 답변 기능이 탑재돼 있다.

일반 게이머가 말을 걸면 묵묵부답이다가도, 게임 내 GM의 귓말에는 칼같이 대답하는 경향을 보인다.

article_27212911592255

GM을 대하는 게임봇의 자세 

게임봇은 계속 대화를 시도하면 들키지 않기 위해 자리를 옮기거나, 일정한 주기로 답변을 반복하는 특징을 보인다.

그리고 “오토”, “자동”, “신고”라는 단어가 들어간 질문에는 상대가 예의가 없거나 거친 말(…)을 내뱉더라도 잘 반응하는 경향을 보이기도 한다. 

499a04fa7f764BJ

“너 오토로 신고할 거다! ”

“저 오토 아니에여…바빠서 그래여. ^^” 

Case 2.

게임봇끼리도 대화를 한다. 단, 이때는 사람이 알아들을 수 있는 말을 사용하지 않는다. 

네이버-짤

당최 어느 행성에서 쓰는 말인고…

봇이 주 캐릭터를 쫓아다니게 하려고 좌표값을 자동으로 알려주거나, 숫자나 단순 명령어를 미리 정해두고 봇에게 명령을 짧게 지속적으로 전달하는 방식을 쓰곤 한다. 

Case 3.

봇을 추적해 보면, 봇들이 출현해서 대화를 하는 지역은 정해져 있는 경우가 많다.

이 지역은 보통 일반 게이머들은 잘 가지 않는 지역인데, 한적한 곳에서 봇끼리 접선(?)을 하는 것으로 추정할 수 있다. 

사본 -다운로드

봇들도 이렇게 몰래 접선을 합니다 

과거에는 게임봇이 GM으로부터 지속적으로 질문을 받을 경우, 작업장 직원이 게임봇 대신 채팅을 이어받아 들키는 것을 피하곤 했다.

하지만 이렇게 할 경우 작업장에서 관리해야 할 게임봇의 개수가 늘어나서 관리가 힘들어진다.

때문에 봇 대신 채팅을 이어받아 해결하기보다는, 대부분 등록한 예시 대화 문장의 양을 늘리거나, 답을 적당히 회피하고 로그아웃하는 식으로 효율성(?)을 추구한다. 

gg

GM이 자꾸 말을 걸면? 빛의 속도로 피하기 스킬 시전 

다음은 게임봇이 채팅을 하는 예이다.

네이버-짤2-수정

작업장에서 관리하기 편하도록 보유 계정들의 이름은 대부분 비슷하고, 해당 캐릭터들은 시종일관 다른 대화 없이  ‘ㅊ’ , ‘힐’, ‘선택’ 만을 외치는 것을 알 수 있다.

이들의 대화 내용은 같은 파티에 있는 봇에게 ‘쳐’ 라고 공격 신호를 보내거나, 치료를 요구하는 ‘힐’ 명령을 하는 것으로 추정된다.

참고로  위와 같이 채팅을 통해서 명령을 주고 받으며 협력플레이를 하는 봇은 매우 쉽게 탐지할 수 있는 고전적인 봇이다. 

22

이런 봇은 탐지하기 힘들겠죠 

게임봇을 탐지하기 위해 채팅 전문을 모두 읽고 맥락을 파악하는 텍스트 마이닝 분석을 할 수도 있지만, 채팅 간 간격(Interval), 지정된 시간 동안의 채팅 빈도(Frequency), 채팅 메시지의 길이(Message length) 와 같은 지표를 활용해서 봇을 탐지하는 방법도 있다. 

특히 채팅과 채팅 사이의 간격이 거의 없다시피 할 만큼 매우 빠른 속도로 타이핑을 하거나, 채팅 빈도가 아주 균일하거나, 메시지의 길이가 2글자-6글자-2글자-6글자 처럼 반복된다면 손쉽게 게임봇임을 알 수 있다.

chat-bot

타자를 좀 빨리 쳤을 뿐인데 #넘나_빛의속도

게임봇을 탐지하는 상세한 기법이 궁금하신 분들은 아래 참고문헌을 참고하시기 바란다. 

이번 편에서는 사람과 다른 대화 패턴을 분석해 게임봇을 가려내는 유쾌한(!) 방법을 소개했다. 다음 편에서는 사람과 사뭇 다른 형태를 분석해 게임봇을 탐지하는 기법을 소개하도록 하겠다. 

참고문헌

Kang, Ah Reum, Huy Kang Kim, and Jiyoung Woo. “Chatting pattern based game BOT detection: do they talk like us?.” KSII Transactions on Internet & Information Systems 6.11 (2012).


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

 

 

 

 

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

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

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

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