KR102663735B1 - 게임 봇 탐지 시스템 및 게임 봇 탐지 방법 - Google Patents

게임 봇 탐지 시스템 및 게임 봇 탐지 방법 Download PDF

Info

Publication number
KR102663735B1
KR102663735B1 KR1020160148379A KR20160148379A KR102663735B1 KR 102663735 B1 KR102663735 B1 KR 102663735B1 KR 1020160148379 A KR1020160148379 A KR 1020160148379A KR 20160148379 A KR20160148379 A KR 20160148379A KR 102663735 B1 KR102663735 B1 KR 102663735B1
Authority
KR
South Korea
Prior art keywords
bot
character
animation
log
game
Prior art date
Application number
KR1020160148379A
Other languages
English (en)
Other versions
KR20180051279A (ko
Inventor
장창완
황준식
Original Assignee
주식회사 넥슨코리아
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 넥슨코리아 filed Critical 주식회사 넥슨코리아
Priority to KR1020160148379A priority Critical patent/KR102663735B1/ko
Publication of KR20180051279A publication Critical patent/KR20180051279A/ko
Application granted granted Critical
Publication of KR102663735B1 publication Critical patent/KR102663735B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/75Enforcing rules, e.g. detecting foul play or generating lists of cheating players
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/58Controlling game characters or game objects based on the game progress by computing conditions of game characters, e.g. stamina, strength, motivation or energy level
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/535Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for monitoring, e.g. of user parameters, terminal parameters, application parameters, network parameters
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/65Methods for processing data by generating or executing the game program for computing the condition of a game character

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Display Devices Of Pinball Game Machines (AREA)
  • Pinball Game Machines (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 발명은 본 발명은 게임 봇 탐지 시스템 및 게임 봇 탐지 방법에 관한 것으로, 보다 상세하게는 유저 캐릭터의 애니메이션 로그를 분석하여 봇 여부를 판단하는 게임 봇 탐지 시스템 및 방법에 관한 것이다. 본 발명의 제 1 측면에 따르면, 봇 여부를 판별하고자 하는 테스트 캐릭터의 애니메이션 로그를 분석하여 플레이 패턴을 산출하는 패턴 산출부, 테스트 캐릭터에 대한 비교군이 되는 샘플 캐릭터의 애니메이션 로그를 포함하는 샘플 데이터를 제공하는 샘플 제공부 및 산출한 플레이 패턴 및 샘플 데이터에 기초하여 테스트 캐릭터의 봇 캐릭터 여부를 판단하는 봇 판정부를 포함하는 게임 봇 탐지 시스템이 개시된다.

Description

게임 봇 탐지 시스템 및 게임 봇 탐지 방법{APPARATUS AND METHOD FOR DETECTING GAME BOT}
본 발명은 게임 봇 탐지 시스템 및 게임 봇 탐지 방법에 관한 것으로, 보다 상세하게는 유저 캐릭터의 애니메이션 로그를 분석하여 유저 캐릭터의 봇 여부를 판단하는 게임 봇 탐지 시스템 및 방법에 관한 것이다.
온라인 게임은 일종의 가상 사회이기에 현실의 욕구나 문제가 비슷하게 발현되기 마련이다. 그렇기에 게임 내에서 경쟁 역시 존재하게 되고, 유저는 가상 사회에서 자신의 시간과 노력이 공정하게 보상받기를 원한다. 유저가 공정하지 않은 경쟁이라고 느끼는 순간 가상 사회인 게임에 시간과 노력을 투자하지 않게 되고, 이는 게임의 이탈로 연결된다.
그런데 최근 온라인 게임의 인기가 지속되면서 다소 불량한 게임 유저들도 등장하고 있다. 과도한 승부욕이나 기타 부당한 이익을 위하여 불법적인 프로그램의 사용 빈도가 증가하고 있다.
이러한 불법적인 프로그램을 개발하고 배포하는 유저들과, 이를 설치하여 이용하는 유저들이 증가함에 따라 게임의 공정성이 저해되고, 불법 프로그램을 이용하지 않는 선량한 유저들의 게임에 대한 흥미나 의욕을 저해하고 있다. 이에 따라, 정당하게 플레이하는 유저들의 게임 승률을 낮추어 선량한 유저들의 게임 이탈을 촉진하고 있으며, 이는 온라인 게임을 개발하고 서비스하는 서비스 제공자 입장에서도 큰 손실이 아닐 수 없다.
이를 방지하기 위하여 서비스 제공자들 입장에서는, 불법 프로그램의 유저들을 타 유저들로부터 신고 받아 수동으로 관리하거나, 불법 프로그램의 설치를 감지하여 차단하는 쉴드 프로그램을 게임 프로그램과 함께 제공하는 등 별도의 노력과 비용을 기울여야 하는 번거로움도 있었다.
관련하여 선행기술 문헌인 한국특허공개번호 10-2011-0024850호 “해킹 프로세스의 실행 차단방법”에서는, 보안프로세스가 검사대상프로세스를 선정하고 이를 핵 진단기준과 비교하여 해킹프로세스인지 확인하고, 해킹프로세스라고 판단되면 검사대상프로세스의 실행을 차단하는 방법에 대해 개시되어 있다.
그러나 이러한 종래기술에 의한 차단방법에 따르면, 실행되는 프로세스를 매번 감시하여야 하고 기존의 차단이력을 확인하거나 활용할 수 없을 뿐 아니라, 해킹 프로그램이 새로 추가될 때마다 보안 프로그램도 새로 개발해야 하는 등의 문제점이 있었다.
나아가 게임 수행 도중에 불법 프로그램을 사용하는 행위를 차단하기 어렵기 때문에, 불량 유저가 게임 수행 중에 불법 프로그램을 사용하는 경우 해당 게임을 함께 플레이한 나머지 유저들은 게임 순위에서 밀려나게 되고 게임의 수행 결과로서 보상을 지급받는데 있어 손해를 볼 수 밖에 없었다.
따라서 상술된 문제점을 해결하기 위한 기술이 필요하게 되었다.
한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 발명의 일 실시예는, 게임 봇 탐지 시스템 및 게임 봇 탐지 방법을 제시하는 데에 목적이 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따르면, 봇 여부를 판별하고자 하는 테스트 캐릭터의 애니메이션 로그를 분석하여 플레이 패턴을 산출하는 패턴 산출부, 테스트 캐릭터에 대한 비교군이 되는 샘플 캐릭터의 애니메이션 로그를 포함하는 샘플 데이터를 제공하는 샘플 제공부 및 산출한 플레이 패턴 및 샘플 데이터에 기초하여 테스트 캐릭터의 봇 캐릭터 여부를 판단하는 봇 판정부를 포함하는 게임 봇 탐지 시스템이 개시된다.
또한 본 발명의 제 2 측면에 따르면, 게임 봇 탐지 시스템이 수행하는 것으로서, 봇 여부를 판별하고자 하는 테스트 캐릭터의 애니메이션 로그를 분석하여 플레이 패턴을 산출하는 단계, 테스트 캐릭터에 대한 비교군이 되는 샘플 캐릭터의 애니메이션 로그를 포함하는 샘플 데이터 및 산출한 플레이 패턴에 기초하여, 테스트 캐릭터의 봇 캐릭터 여부를 판단하는 단계를 포함하는 게임 봇 탐지 방법이 개시된다.
본 발명의 제 3 측면에 따르면, 게임 봇 탐지 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한 기록매체로서, 게임 봇 탐지 방법은 봇 여부를 판별하고자 하는 테스트 캐릭터의 애니메이션 로그를 분석하여 플레이 패턴을 산출하는 단계, 테스트 캐릭터에 대한 비교군이 되는 샘플 캐릭터의 애니메이션 로그를 포함하는 샘플 데이터 및 산출한 플레이 패턴에 기초하여, 테스트 캐릭터의 봇 캐릭터 여부를 판단하는 단계를 포함할 수 있다.
본 발명의 제 4 측면에 따르면, 게임 봇 탐지 시스템에 의해 수행되며, 게임 봇 탐지 방법을 수행하기 위해 기록매체에 저장된 컴퓨터 프로그램으로서, 게임 봇 탐지 방법은 봇 여부를 판별하고자 하는 테스트 캐릭터의 애니메이션 로그를 분석하여 플레이 패턴을 산출하는 단계, 테스트 캐릭터에 대한 비교군이 되는 샘플 캐릭터의 애니메이션 로그를 포함하는 샘플 데이터 및 산출한 플레이 패턴에 기초하여, 테스트 캐릭터의 봇 캐릭터 여부를 판단하는 단계를 포함할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 본 발명의 일 실시예는 게임 봇 탐지 시스템 및 게임 봇 탐지 방법을 제시할 수 있다.
또한, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 게임 캐릭터의 애니메이션 로그만으로 봇 캐릭터 여부를 용이하게 판별할 수 있는 게임 봇 탐지 시스템 및 게임 봇 탐지 방법을 제시할 수 있다. 이를 통해 봇 캐릭터 검출에 소요되는 시간과 노력을 최소화할 수 있다.
그리고 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 봇 캐릭터를 판별하는데 걸리는 시간이 단축됨으로 인해 비정상 게임 로그가 발견되는 즉시 해당 유저의 게임 플레이를 차단하거나, 게임 순위에서 해당 유저를 제외시킬 수 있는 게임 봇 탐지 시스템 및 게임 봇 탐지 방법을 제시할 수 있다. 이로써 선량한 유저들의 게임 플레이 또는 결과에 대한 비정상 유저의 영향을 최소화하여 선량한 유저의 손해를 최소화할 수 있다.
또한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 봇 캐릭터 판별의 정확도를 향상시켜 오제재로 인한 유저의 피해를 방지할 수 있다.
또한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 봇 캐릭터를 판별하는데 있어서 사람의 경험과 룰셋에 근거한 휴리스틱을 이용하거나 로그 항목을 선별하는 선별 과정(Feature Selection) 없이 머신러닝으로 트레이닝된 모델을 활용할 수 있어 보다 정확하고 효율적으로 봇을 탐지할 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 게임 봇 탐지 시스템을 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 게임 봇 탐지 시스템을 설명하기 위한 참고도이다.
도 3 내지 도 5는 본 발명의 일 실시예에 따른 게임 봇 탐지 방법을 설명하기 위한 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 게임 봇 탐지 시스템(100)을 설명하기 위한 블록도이다.
게임 봇 탐지 시스템(100)은 게임 공간 내에서 플레이하는 캐릭터를 감시하여 봇을 탐지하기 위한 시스템이다. 여기서 봇(Bot)이란 몬스터나 NPC(Non-player Character)와는 구분되는 개념으로서 게임 유저를 대체하는 인공지능 플레이어를 말한다. 본 발명의 일 실시예에서 탐지하고자 하는 봇은 게임 시스템에서 허용되지 않는 인공지능 플레이어, 즉, 불법 프로그램을 포함할 수 있다.
이때 봇 여부를 판별하고자 하는 대상이 되는 캐릭터를 테스트 캐릭터라고 하고, 봇이 아닌 정상적인 자연인 유저에 의해 플레이되는 캐릭터는 정상 캐릭터라고 한다.
또한 테스트 캐릭터의 봇 여부를 판단하기 위한 비교군이 되는 캐릭터를 샘플 캐릭터라고 한다. 샘플 캐릭터는 테스트 캐릭터와 비교할 수 있는 샘플 데이터로서 존재할 수 있다. 즉, 샘플 캐릭터는 게임 공간 상에서 실제 플레이했던 캐릭터일 수도 있으나 봇 캐릭터 판정을 위해 별도로 생성된 데이터일 수 있다. 따라서 샘플 데이터는 캐릭터의 모든 구성 요소를 포함할 수도 있으나 봇 캐릭터 판정을 위한 비교군으로서 필요한 데이터만을 포함할 수도 있다.
본 발명의 일 실시예에 따르면 게임 봇 탐지 시스템(100)은 테스트 캐릭터와 샘플 캐릭터를 비교하여 봇 여부를 판정할 수 있다. 구체적으로 테스트 캐릭터의 애니메이션 로그를 샘플 데이터와 비교할 수 있다.
이때 애니메이션 로그란 클라이언트에서 발생하는 애니메이션 정보를 말하는 것으로 게임 내 객체의 움직임에 관한 모든 정보를 포함할 수 있다. 즉, 본 발명의 일 실시예에서 테스트 캐릭터의 애니메이션 로그는 테스트 캐릭터의 움직임에 관한 모든 정보를 포함할 수 있다.
한편 게임 봇 탐지 시스템(100)은 게임 애플리케이션이 설치된 전자단말기 또는 서버로 구현되거나, 서버-클라이언트 시스템으로 구현될 수 있다. 게임 봇 탐지 시스템(100)이 서버-클라이언트 시스템으로 구현된다면 게임 봇 탐지 시스템(100)은 유저와의 인터랙션을 위한 클라이언트가 설치된 전자단말기를 포함할 수 있고, 게임 봇 탐지 시스템(100)이 서버로 구현된다면 클라이언트가 포함된 전자단말기와 통신할 수 있다.
이때 전자단말기는, 유저와의 인터랙션이 가능한 인터페이스를 포함할 수 있는 컴퓨터나 휴대용 단말기, 텔레비전, 웨어러블 디바이스(Wearable Device) 등으로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop)등을 포함하고, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant),GSM(Global System for Mobile communications), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet), 스마트폰(Smart Phone), 모바일WiMAX(Mobile Worldwide Interoperability for Microwave Access) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다. 또한, 텔레비전은 IPTV(Internet Protocol Television), 인터넷 TV(Internet Television), 지상파 TV, 케이블 TV 등을 포함할 수 있다. 나아가 웨어러블 디바이스는 예를 들어, 시계, 안경, 액세서리, 의복, 신발 등 인체에 직접 착용 가능한 타입의 정보처리장치로서, 직접 또는 다른 정보처리장치를 통해 네트워크를 경유하여 원격지의 서버에 접속하거나 타 단말과 연결될 수 있다.
그리고 서버 또는 서버-클라이언트 시스템의 서버는, 클라이언트가 설치된 전자단말기와 네트워크를 통해 통신이 가능한 컴퓨팅장치로 구현될 수 있으며, 데이터를 저장할 수 있는 저장장치가 포함될 수 있거나 또는 제 3 의 서버(미도시)를 통해 데이터를 저장할 수도 있다.
상술된 바와 같은 전자단말기, 서버 또는 서버-클라이언트 시스템 중 어느 하나의 형태로 구현되는 게임 봇 탐지 시스템(100)은 도 1에 도시된 바와 같이 패턴 산출부(110), 샘플 제공부(120) 및 봇 판정부(130)를 포함할 수 있다.
본 발명의 일 실시예에 따르면 패턴 산출부(110)는 봇 여부를 판정하기 위해 테스트 캐릭터의 플레이 패턴을 산출할 수 있다. 여기서 플레이 패턴이란 사용자 입력으로 이루어지는 모션, 예를 들어 이동, 공격 스킬 등을 포함하는 모든 액션이 누적되어 나타나는 캐릭터 모션의 양상을 포함할 수 있다.
한편 샘플 제공부(120)는 봇 여부 판정을 위해 테스트 캐릭터의 비교군이 되는 샘플 캐릭터의 데이터인 샘플 데이터를 제공할 수 있다. 이때 샘플 제공부(120)가 제공하는 샘플 데이터는 패턴 산출부(110)가 플레이 패턴을 산출하는 방식에 대응될 수 있다.
예를 들어 패턴 산출부(110)가 테스트 캐릭터의 애니메이션 로그를 분석하여 플레이 패턴을 산출하는 경우, 샘플 제공부(120)는 샘플 캐릭터의 애니메이션 로그를 포함하는 샘플 데이터를 제공할 수 있다. 이때 봇 판정부(130)는 플레이 패턴 및 샘플 데이터에 기초하여 테스트 캐릭터의 봇 캐릭터 여부를 판단할 수 있다.
애니메이션 로그는 게임 상에서 발생하는 모든 데이터 중 캐릭터의 플레이를 집약적으로 보여줄 수 있는 데이터로서 캐릭터의 플레이 패턴을 산출하는데 있어서 효과적이다. 전체 게임 로그를 분석의 대상으로 하여 게임 봇을 탐지하기 위해서는 각 경우에 따라 사람의 경험과 룰셋에 근거한 로그 항목을 선별하는 과정(Feature Selection)이 필연적으로 동반될 수 밖에 없는 반면, 본 발명의 일 실시예에 따르면 항목 선별 과정 없이 효율적으로 봇을 탐지할 수 있다.
따라서 게임 상의 모든 로그를 분석하는 것에 비해 시간 및 비용에 있어서 유리하다. 실험에 따르면 2만6천여건의 애니메이션 로그를 분석하는데 걸린 시간은 7분32초에 불과하다. 즉, 봇 캐릭터를 빠르게 탐지하고 차단할 수 있으므로, 결과적으로 봇 캐릭터가 일정한 이익을 성취하고 난 이후에 사후적인 조치를 취하는 것이 아니라 즉각적으로 대응하여 게임 사회의 균형을 유지할 수 있게 된다.
한편 패턴 산출부(110)가 애니메이션 로그를 분석하는 일 실시예로서, 패턴 산출부(110)는 테스트 캐릭터의 애니메이션 시퀀스에 기초하여 플레이 패턴을 산출할 수 있다.
여기서 애니메이션 시퀀스란 애니메이션 로그를 이루는 한 단위로서, 예를 들어 캐릭터의 동작 단위 또는 캐릭터 동작을 일으키는 사용자 입력 단위, 애니메이션 로그 저장을 위해 분해 결합된 저장 단위 등으로 형성될 수 있다. 테스트 캐릭터의 애니메이션 로그 및 샘플 캐릭터의 애니메이션 로그는 각각 하나 이상의 애니메이션 시퀀스를 포함할 수 있다.
관련하여 애니메이션 로그가 하나 이상의 애니메이션 시퀀스를 포함할 때, 패턴 산출부(110)는 테스트 캐릭터의 애니메이션 시퀀스에 기초하여 플레이 패턴을 산출하고, 샘플 제공부(120)는 샘플 캐릭터의 애니메이션 시퀀스를 제공함으로써, 봇 판정부(130)는 테스트 캐릭터의 애니메이션 시퀀스 및 샘플 캐릭터의 애니메이션 시퀀스에 기초하여 봇 여부를 판정할 수 있다.
보다 구체적으로 패턴 산출부(110)는 테스트 캐릭터의 애니메이션 시퀀스의 가중치를 연산함으로써 플레이 패턴을 산출할 수 있다. 이 경우 샘플 제공부(120)는 샘플 캐릭터의 애니메이션 시퀀스의 가중치 데이터를 포함하는 샘플 데이터를 제공할 수 있다.
본 발명의 실시예로서 일 캐릭터의 애니메이션 시퀀스의 가중치는 일 캐릭터의 애니메이션 로그에 출현하는 빈도 및 타 캐릭터의 애니메이션 로그에 출현하는 빈도에 기초하여 연산할 수 있다. 이때 타 캐릭터는 샘플 캐릭터에 포함될 수 있으며, 샘플 데이터가 하나 이상의 샘플 캐릭터를 포함할 때, 테스트 캐릭터의 애니메이션 로그에 포함된 애니메이션 시퀀스의 가중치는, 테스트 캐릭터의 애니메이션 로그에 출현하는 빈도와 샘플 데이터에 포함된 하나 이상의 샘플 캐릭터의 애니메이션 로그 전체에 출현하는 빈도의 역수에 기초하여 산출할 수 있다.
또한 예를 들면, 패턴 산출부(110)는 다음과 같은 함수를 통해 테스트 캐릭터에 포함된 애니메이션 로그의 각 시퀀스의 가중치를 연산할 수 있다.
각 시퀀스의 가중치=tf(s) X log(N/df(s))
위의 함수에서 tf(s)는 특정 시퀀스s가 테스트 캐릭터의 애니메이션 로그에서 출현한 빈도를 의미하며, df(s)는 특정 시퀀스 s가 출현한 타 캐릭터의 애니메이션 로그의 수를 의미한다.
또한 각 시퀀스의 가중치는, 예를 들어, 테스트 캐릭터의 애니메이션 로그에 포함된 애니메이션 시퀀스 중 하나를 A라고 특정할 때, A 시퀀스의 가중치는 테스트 캐릭터의 애니메이션 로그에서 출현하는 횟수에 비례하며, 타 캐릭터의 애니메이션 로그에 출현하는 횟수에 반비례할 수 있다.
나아가 샘플 제공부(120)는 샘플 캐릭터의 시퀀스의 가중치를 다차원 벡터화된 데이터를 봇 판정부(130)에 제공하고, 패턴 산출부(110)는 테스트 캐릭터의 시퀀스의 가중치를 다차원 벡터화하여 봇 판정부(130)에 제공함으로써 봇 판정부(130)가 봇 여부를 판정하도록 할 수 있다.
이때 봇 판정부(130)는 다차원 벡터화된 테스트 캐릭터의 시퀀스 가중치 및 다차원 벡터화된 샘플 캐릭터의 시퀀스 가중치를 비교하여 테스트 캐릭터의 봇 캐릭터 여부를 판정할 수 있다.
예를 들어, 봇 판정부(130)는 다차원 벡터화된 각 시퀀스 가중치의 코사인 유사도를 연산하고, 연산한 코사인 유사도에 기초하여 봇 여부를 판정할 수 있다.
구체적으로 시퀀스의 가중치를 다차원 벡터화하기 위하여, 시퀀스 각각을 한 축으로 설정하고, 시퀀스 별 가중치를 각 축에 대응하는 성분으로 하여 애니메이션 로그를 벡터로 표현할 수 있다.
도 2를 참고하면, 상술한 바와 같이 애니메이션 로그의 시퀀스 가중치가 벡터 공간에 벡터로 표현됨을 시각화한 도면이 도시되어 있다. 시퀀스 1, 시퀀스 2 및 시퀀스 3을 각각 한 축으로 설정하고, 로그 1에 포함된 시퀀스별 가중치를 각 축에 대응하는 성분으로 하여 벡터화할 수 있다. 같은 과정을 거쳐 로그 2 역시 벡터화할 수 있다. 이때 봇 판정부(130)는 로그 1 및 로그 2의 코사인 유사도를 연산하고, 연산된 코사인 유사도에 기초하여 봇 여부를 판정할 수 있다.
예를 들어, 샘플 제공부(120)가 제공하는 샘플 캐릭터가 봇 캐릭터일 때 유사도를 연산하여 소정 값 이상의 유사도가 산출되면 테스트 캐릭터를 봇 캐릭터로 판정할 수 있다. 또는 샘플 캐릭터가 정상 캐릭터일 때 유사도를 연산하여 소정 값 이하의 유사도가 산출되면 테스트 캐릭터를 봇 캐릭터로 판정할 수 있다.
한편 샘플 제공부(120)는 하나 이상의 애니메이션 로그를 포함하는 샘플 데이터를 봇 판정부(130)에 제공할 수도 있다. 이때 하나 이상의 애니메이션 로그는 정상 그룹에 속하는 하나 이상의 정상 캐릭터의 애니메이션 로그 및 봇 그룹에 속하는 하나 이상의 봇 캐릭터의 애니메이션 로그를 포함할 수 있다.
이 경우 봇 판정부(130)는 패턴 산출부(110)가 산출한 플레이 패턴을 샘플 데이터에 포함된 애니메이션 로그와 비교하고, 테스트 캐릭터의 플레이 패턴과 소정의 유사도를 갖는 유사 로그를 추출할 수 있다. 봇 판정부(130)는 추출한 유사 로그에 기초하여 봇 여부를 판정할 수 있는데 예를 들면, 유사 로그로 추출된 애니메이션 로그가 정상 그룹에 속하는 경우 테스트 캐릭터를 정상 캐릭터로 판정하고, 유사 로그로 추출된 애니메이션 로그가 봇 그룹에 속하는 경우 테스트 캐릭터를 봇 캐릭터로 판정할 수 있다.
또한 봇 판정부(130)는 테스트 캐릭터의 플레이 패턴과 소정의 유사도를 나타내는 유사 로그에 있어서, 정상 그룹에 포함된 유사 로그의 개수와 봇 그룹에 포함된 유사 로그의 개수의 비율에 기초하여 상기 테스트 캐릭터의 봇 캐릭터 여부를 판단할 수 있다.
예를 들어 봇 판정부(130)는 테스트 캐릭터의 플레이 패턴과 샘플 데이터에 포함된 하나 이상의 애니메이션 로그와의 유사도를 산출하여 유사도가 높은 상위 10개의 애니메이션 로그를 유사 로그로 추출하고 봇 그룹에 속하는 유사 로그의 비율이 80% 이상이면, 테스트 캐릭터를 봇 캐릭터로 판정할 수 있다. 즉, 추출된 10개의 유사 로그 중 봇 그룹에 속하는 유사 로그가 8개 이상이고, 정상 그룹에 속하는 유사 로그가 2개 이하이면 테스트 캐릭터를 봇 캐릭터로 판정할 수 있다.
또한 봇 판정부(130)는 정상 그룹에 속하는 유사 로그의 개수와 봇 그룹에 속하는 유사 로그의 개수의 비율을 추출된 유사 로그 각각에 대해 스코어링함으로써 연산할 수도 있다. 예를 들어 추출된 10개의 유사 로그 중 봇 그룹에 속하는 유사 로그에 1점을 부여하고 정상 그룹에 속하는 유사 로그에 0점을 부여하는 방식으로 스코어링하여 소정 점수 이상이 부여된 테스트 캐릭터를 봇 캐릭터로 판정할 수 있다. 즉, 추출된 유사 로그 중 봇 그룹에 속하는 유사 로그의 비율이 80% 이상이면 테스트 캐릭터를 봇 캐릭터로 판정한다고 할 때, 상술한 예에 따르면, 봇 판정부(130)는 8점 이상의 점수가 부여된 테스트 캐릭터를 봇 캐릭터로 판정할 수 있다.
이로써 게임 봇 탐지 시스템(100)은 봇 판정의 정확도를 향상시키고, 오제재를 방지할 수 있다.
또한 샘플 제공부(120)는 봇 판정부(130)의 판정에 따라 테스트 캐릭터의 애니메이션 로그를 샘플 데이터에 포함시킬 수 있다. 본 발명의 일 실시예로서 샘플 제공부(120)가 정상 그룹 및 봇 그룹을 포함하는 데이터 그룹을 포함하고 있을 때, 테스트 캐릭터의 애니메이션 로그를, 판정에 따라 정상 그룹 및 봇 그룹 중 어느 하나에 포함시킬 수 있다. 여기서 샘플 데이터에 포함되는 애니메이션 로그는 상술한 바와 같이 가공된 애니메이션 로그, 예를 들어, 애니메이션 시퀀스, 연산된 시퀀스의 가중치, 벡터화된 시퀀스의 가중치 등을 포함할 수 있다.
이를 통해 샘플 데이터가 새롭게 업데이트됨으로써, 변화하는 봇 방식에 즉각적으로 대처할 수 있다. 즉, 새로운 봇이 등장할 때마다 사람의 경험과 룰셋에 근거한 휴리스틱을 이용하거나 로그 항목을 선별하는 과정(Feature Selection) 없이 머신러닝으로 트레이닝된 모델을 활용할 수 있어 보다 정확하고 효율적으로 봇을 탐지할 수 있다.
또한 본 발명의 일 실시예에 따르면 게임 봇 탐지 시스템(100)은 봇 캐릭터의 배후 계정을 탐지하는 배후계정 탐지부(140)를 더 포함할 수 있다. 배후계정 탐지부(140)는 테스트 캐릭터가 봇 캐릭터로 판정된 경우 테스트 캐릭터의 거래 네트워크를 분석하여 배후 계정을 탐지할 수 있다. 예를 들면, 배후계정 탐지부(140)는 봇 캐릭터로 판정된 테스트 캐릭터가 게임 머니, 게임 아이템 등의 게임 내 재화를 양도하거나 양도받는 등의 거래 행위를 한 거래 대상을 추적할 수 있다. 이때 봇 캐릭터와 거래를 한 거래 대상을 배후 계정으로 보아 적절한 조치, 예를 들면 계정 삭제나 순위 제외 등의 제재를 취할 수 있다.
이하에서는 상술한 바와 같은 게임 봇 탐지 시스템(100)이 수행하는 게임 봇 탐지 방법을 설명한다. 도 3 내지 도 5는 본 발명의 일 실시예에 따른 게임 봇 탐지 방법을 도시한 순서도이다.
도 3 내지 도 5에 도시된 실시예에 따른 게임 봇 탐지 방법은 도 1에 도시된 게임 봇 탐지 시스템(100)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 1에 도시된 게임 봇 탐지 시스템(100)에 관하여 이상에서 기술한 내용은 도 3 내지 도 5에 도시된 실시예에 따른 게임 봇 탐지 방법에도 적용될 수 있다.
본 발명의 일 실시예에 따른 게임 봇 탐지 방법에 따르면, 도 3에 도시된 바와 같이, 게임 봇 탐지 시스템(100)은 봇 여부를 판별하고자 하는 테스트 캐릭터의 애니메이션 로그를 분석하여 플레이 패턴을 산출한다(S31).
그리고 게임 봇 탐지 시스템(100)은 산출한 플레이 패턴 및 샘플 데이터에 기초하여 테스트 캐릭터의 봇 캐릭터 여부를 판단한다(S32). 여기서 샘플 데이터는 테스트 캐릭터에 대한 비교군이 되는 샘플 캐릭터의 애니메이션 로그를 포함할 수 있음은 상술한 바와 같다.
한편 도 4를 참고하면, 게임 봇 탐지 시스템(100)은 테스트 캐릭터의 애니메이션 로그를 분석하여 플레이 패턴을 산출함에 있어서(S31), 테스트 캐릭터의 애니메이션 로그에 포함된 하나 이상의 애니메이션 시퀀스의 가중치를 산출할 수 있다(S41). 이때 구체적으로 애니메이션 시퀀스의 가중치는, 테스트 캐릭터의 시퀀스가 테스트 캐릭터의 애니메이션 로그에 출현하는 빈도 및 샘플 캐릭터의 애니메이션 로그에 출현하는 빈도에 기초하여 산출할 수 있다.
또한 게임 봇 탐지 시스템(100)은 산출한 애니메이션 시퀀스의 가중치를 다차원 벡터화할 수 있다(S42).
나아가 게임 봇 탐지 시스템(100)은 테스트 캐릭터의 봇 캐릭터 여부를 판단하기 위하여(S32), 다차원 벡터화한 애니메이션 시퀀스의 가중치를, 다차원 벡터화된 샘플 캐릭터의 애니메이션 시퀀스의 가중치와 비교함으로써 테스트 캐릭터의 봇 캐릭터 여부를 판단할 수 있다(S43).
이때 시퀀스의 가중치의 비교(S43)를 위하여 게임 봇 탐지 시스템(100)은 다차원 벡터화된 테스트 캐릭터의 시퀀스의 가중치 및 다차원 벡터화된 샘플 캐릭터의 시퀀스의 가중치의 코사인 유사도를 연산하고, 연산한 코사인 유사도에 기초하여 테스트 캐릭터의 봇 캐릭터 여부를 판단할 수 있다.
한편 도 5를 참고하면, 샘플 데이터는 하나 이상의 정상 캐릭터의 애니메이션 로그를 포함하는 정상 그룹 및 하나 이상의 봇 캐릭터의 애니메이션 로그를 포함하는 봇 그룹을 포함하는 샘플 데이터 그룹을 포함할 수 있다. 이때, 게임 봇 탐지 시스템(100)은 테스트 캐릭터의 봇 캐릭터 여부를 판단함에 있어서(S32), 산출한 플레이 패턴을 상기 샘플 데이터에 포함된 애니메이션 로그와 비교하고(S51), 플레이 패턴과 소정의 유사도를 나타내는 유사 로그를 추출하여(S52), 추출한 유사 로그가 어느 그룹에 속하는지 여부를 판단하고, 상기 판단에 따라 정상 그룹에 포함된 유사 로그와 봇 그룹에 포함된 유사 로그의 비율을 연산할 수 있다(S53). 게임 봇 탐지 시스템(100)은 연산한 비율에 기초하여 테스트 캐릭터의 봇 캐릭터 여부를 판단할 수 있다(S54).
또한 게임 봇 탐지 시스템(100)은, 테스트 캐릭터의 봇 캐릭터 여부에 대한 판단에 따라 테스트 캐릭터의 애니메이션 로그를 샘플 데이터에 포함시킬 수 있다. 이때 샘플 데이터가 정상 그룹 및 봇 그룹을 포함하는 샘플 데이터 그룹을 포함할 때, 게임 봇 탐지 시스템(100)은 테스트 캐릭터의 봇 캐릭터 여부에 대한 판단에 따라 테스트 캐릭터의 애니메이션 로그를 정상 그룹 및 봇 그룹 중 어느 하나에 포함시킬 수 있다.
나아가 게임 봇 탐지 시스템(100)은, 테스트 캐릭터가 봇 캐릭터로 판단된 경우 테스트 캐릭터의 거래 네트워크를 분석하여 배후 계정을 탐지할 수 있다.
상술한 게임 봇 탐지 방법을 통해 게임 봇 탐지 시스템(100)은 실시간으로 게임 봇을 탐지하여 게임 사회의 균형을 유지할 수 있게 된다.
본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field programmable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.
구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다.
뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다
도 3 내지 도 5를 통해 설명된 실시예에 따른 게임 봇 탐지 방법은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
또한 본 발명의 일 실시예에 따르는 게임 봇 탐지 방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다.
따라서 본 발명의 일 실시예에 따르는 게임 봇 탐지 방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.
여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다.
또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다.
그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 게임 봇 탐지 시스템
110: 패턴 산출부 120: 샘플 제공부
130: 봇 판정부 140: 배후계정 탐지부

Claims (17)

  1. 봇 여부를 판정하고자 하는 테스트 캐릭터의 움직임과 관련된 복수의 애니메이션 시퀀스로 이루어지는 애니메이션 로그를 분석하여 플레이 패턴을 산출하는 패턴 산출부;
    상기 테스트 캐릭터에 대한 비교군이 되는 샘플 캐릭터의 움직임과 관련된 복수의 애니메이션 시퀀스로 이루어지는 애니메이션 로그를 포함하는 샘플 데이터를 제공하는 샘플 제공부; 및
    상기 산출한 플레이 패턴 및 상기 샘플 데이터에 기초하여 상기 테스트 캐릭터의 봇 캐릭터 여부를 판단하는 봇 판정부를 포함하는, 게임 봇 탐지 시스템.
  2. 제1항에 있어서,
    상기 패턴 산출부는,
    상기 테스트 캐릭터의 애니메이션 시퀀스의 가중치를 산출하고,
    상기 샘플 제공부는,
    상기 샘플 캐릭터의 애니메이션 시퀀스의 가중치 데이터를 상기 봇 판정부에 제공하고,
    상기 봇 판정부는,
    상기 테스트 캐릭터의 애니메이션 시퀀스의 가중치 및 상기 샘플 캐릭터의 애니메이션 시퀀스의 가중치를 비교하여, 상기 테스트 캐릭터의 봇 캐릭터 여부를 판단하는, 게임 봇 탐지 시스템.
  3. 제2항에 있어서,
    상기 패턴 산출부는,
    상기 테스트 캐릭터의 시퀀스가, 상기 테스트 캐릭터의 애니메이션 로그에 출현하는 빈도 및 상기 샘플 캐릭터의 애니메이션 로그에 출현하는 빈도에 기초하여, 상기 테스트 캐릭터의 시퀀스의 가중치를 산출하는, 게임 봇 탐지 시스템.
  4. 제2항에 있어서,
    상기 패턴 산출부는,
    상기 테스트 캐릭터의 시퀀스의 가중치를 다차원 벡터화하고,
    상기 샘플 제공부는,
    상기 샘플 캐릭터의 시퀀스의 가중치를 다차원 벡터화한 데이터를 상기 봇 판정부에 제공하고,
    상기 봇 판정부는,
    다차원 벡터화된 상기 테스트 캐릭터의 시퀀스의 가중치 및 다차원 벡터화된 상기 샘플 캐릭터의 시퀀스의 가중치를 비교하여, 상기 테스트 캐릭터의 봇 캐릭터 여부를 판단하는, 게임 봇 탐지 시스템.
  5. 제4항에 있어서,
    상기 봇 판정부는,
    상기 다차원 벡터화된 상기 테스트 캐릭터의 시퀀스의 가중치 및 다차원 벡터화된 상기 샘플 캐릭터의 시퀀스의 가중치의 코사인 유사도를 연산하고, 연산한 코사인 유사도에 기초하여 상기 테스트 캐릭터의 봇 캐릭터 여부를 판단하는, 게임 봇 탐지 시스템.
  6. 제1항에 있어서,
    상기 샘플 제공부는,
    하나 이상의 정상 캐릭터의 애니메이션 로그를 포함하는 정상 그룹 및 하나 이상의 봇 캐릭터의 애니메이션 로그를 포함하는 봇 그룹을 포함하는 샘플 데이터 그룹을 봇 판정부에 제공하고,
    상기 봇 판정부는,
    산출한 플레이 패턴을 상기 샘플 데이터 그룹에 포함된 애니메이션 로그와 비교하고, 상기 플레이 패턴과 소정의 유사도를 갖는 유사 로그를 추출하고, 추출한 유사 로그가 속하는 그룹에 기초하여 상기 테스트 캐릭터의 봇 캐릭터 여부를 판단하는, 게임 봇 탐지 시스템.
  7. 제1항에 있어서,
    상기 샘플 제공부는,
    하나 이상의 정상 캐릭터의 애니메이션 로그를 포함하는 정상 그룹 및 하나 이상의 봇 캐릭터의 애니메이션 로그를 포함하는 봇 그룹을 포함하는 샘플 데이터 그룹을 봇 판정부에 제공하고,
    상기 봇 판정부는,
    산출한 플레이 패턴을 상기 샘플 데이터 그룹에 포함된 애니메이션 로그와 비교하여 상기 플레이 패턴과 소정의 유사도를 나타내는 유사 로그를 추출하고, 추출한 유사 로그 중 정상 그룹에 포함된 유사 로그 및 봇 그룹에 포함된 유사 로그의 비율에 기초하여 상기 테스트 캐릭터의 봇 캐릭터 여부를 판단하는, 게임 봇 탐지 시스템.
  8. 제1항에 있어서,
    상기 샘플 제공부는,
    상기 봇 판정부의 판정에 따라 상기 테스트 캐릭터의 애니메이션 로그를 샘플 데이터에 포함시키는, 게임 봇 탐지 시스템.
  9. 제1항에 있어서,
    상기 샘플 제공부는,
    정상 그룹에 속하는 하나 이상의 정상 캐릭터의 애니메이션 로그 및 봇 그룹에 속하는 하나 이상의 봇 캐릭터의 애니메이션 로그를 포함하는 샘플 데이터를 봇 판정부에 제공하고, 상기 봇 판정부의 판정에 따라 상기 테스트 캐릭터의 애니메이션 로그를 상기 정상 그룹 및 봇 그룹 중 어느 하나에 포함시키는, 게임 봇 탐지 시스템.
  10. 제1항에 있어서,
    상기 테스트 캐릭터가 봇 캐릭터로 판정된 경우, 상기 테스트 캐릭터의 거래 네트워크를 분석하여 배후 계정을 탐지하는 배후계정 탐지부를 더 포함하는, 게임 봇 탐지 시스템.
  11. 게임 봇 탐지 시스템이 수행하는 게임 봇을 탐지하는 방법으로서,
    봇 여부를 판별하고자 하는 테스트 캐릭터의 움직임과 관련된 복수의 애니메이션 시퀀스로 이루어지는 애니메이션 로그를 분석하여 플레이 패턴을 산출하는 단계; 및
    테스트 캐릭터에 대한 비교군이 되는 샘플 캐릭터의 움직임과 관련된 복수의 애니메이션 시퀀스로 이루어지는 애니메이션 로그를 포함하는 샘플 데이터 및 상기 산출한 플레이 패턴에 기초하여, 상기 테스트 캐릭터의 봇 캐릭터 여부를 판단하는 단계를 포함하는, 게임 봇 탐지 방법.
  12. 제11항에 있어서,
    상기 테스트 캐릭터의 애니메이션 로그를 분석하여 플레이 패턴을 산출하는 단계는,
    상기 테스트 캐릭터의 애니메이션 로그에 포함된 애니메이션 시퀀스의 가중치를 산출하는 단계; 및
    산출한 애니메이션 시퀀스의 가중치를 다차원 벡터화하는 단계를 포함하고,
    상기 테스트 캐릭터의 봇 캐릭터 여부를 판단하는 단계는,
    다차원 벡터화한 상기 애니메이션 시퀀스의 가중치를, 다차원 벡터화된 상기 샘플 캐릭터의 애니메이션 시퀀스의 가중치와 비교하여, 상기 테스트 캐릭터의 봇 캐릭터 여부를 판단하는 단계를 포함하는, 게임 봇 탐지 방법.
  13. 제11항에 있어서,
    상기 샘플 데이터는,
    하나 이상의 정상 캐릭터의 애니메이션 로그를 포함하는 정상 그룹 및 하나 이상의 봇 캐릭터의 애니메이션 로그를 포함하는 봇 그룹을 포함하는 샘플 데이터 그룹을 포함하고,
    상기 테스트 캐릭터의 봇 캐릭터 여부를 판단하는 단계는,
    산출한 플레이 패턴을 상기 샘플 데이터에 포함된 애니메이션 로그와 비교하는 단계;
    상기 플레이 패턴과 소정의 유사도를 나타내는 유사 로그를 추출하는 단계;
    추출한 유사 로그가 어느 그룹에 속하는지 여부를 판단하고, 정상 그룹에 포함된 유사 로그와 봇 그룹에 포함된 유사 로그의 비율을 연산하는 단계; 및
    연산한 비율에 기초하여 상기 테스트 캐릭터의 봇 캐릭터 여부를 판단하는 단계를 포함하는, 게임 봇 탐지 방법.
  14. 제11항에 있어서,
    상기 테스트 캐릭터의 봇 캐릭터 여부에 대한 판단에 따라 상기 테스트 캐릭터의 애니메이션 로그를 샘플 데이터에 포함시키는 단계를 더 포함하는, 게임 봇 탐지 방법.
  15. 제11항에 있어서,
    상기 테스트 캐릭터가 봇 캐릭터로 판단된 경우, 상기 테스트 캐릭터의 거래 네트워크를 분석하여 배후 계정을 탐지하는 단계를 더 포함하는, 게임 봇 탐지 방법.
  16. 제11항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한 기록매체.
  17. 게임 봇 탐지 방법에 의해 수행되며, 제11항에 기재된 방법을 수행하기 위해 기록매체에 저장된 컴퓨터 프로그램.
KR1020160148379A 2016-11-08 2016-11-08 게임 봇 탐지 시스템 및 게임 봇 탐지 방법 KR102663735B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160148379A KR102663735B1 (ko) 2016-11-08 2016-11-08 게임 봇 탐지 시스템 및 게임 봇 탐지 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160148379A KR102663735B1 (ko) 2016-11-08 2016-11-08 게임 봇 탐지 시스템 및 게임 봇 탐지 방법

Publications (2)

Publication Number Publication Date
KR20180051279A KR20180051279A (ko) 2018-05-16
KR102663735B1 true KR102663735B1 (ko) 2024-05-03

Family

ID=62452328

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160148379A KR102663735B1 (ko) 2016-11-08 2016-11-08 게임 봇 탐지 시스템 및 게임 봇 탐지 방법

Country Status (1)

Country Link
KR (1) KR102663735B1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101746684B1 (ko) * 2011-01-07 2017-06-15 주식회사 엔씨소프트 온라인 게임 내 자산의 거래특성 분석을 통한 비정상 캐릭터 검출시스템 및 그 방법
KR20150100993A (ko) * 2014-02-24 2015-09-03 주식회사 엔씨소프트 자기유사도 값을 이용한 봇 검출시스템 및 그 방법
KR20150114292A (ko) * 2014-04-01 2015-10-12 한국전자통신연구원 온라인 게임 로그 데이터를 이용한 게임봇 검출 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"MMORPG에서 게임 봇 프로그램 탐지를 위한 플레이어 패턴 변화 모델에 관한 연구", 윤태복 외 1명, 한국게임학회 논문지 제11권 제1호(2011.2.)*

Also Published As

Publication number Publication date
KR20180051279A (ko) 2018-05-16

Similar Documents

Publication Publication Date Title
Mitterhofer et al. Server-side bot detection in massively multiplayer online games
KR20230141689A (ko) 게임 가이드 제공 장치 및 게임 가이드 제공 방법
US20230330485A1 (en) Personalizing Prediction of Performance using Data and Body-Pose for Analysis of Sporting Performance
US11452940B2 (en) Real-world activity simulation augmentation with real-world data of the activity
US10881965B2 (en) Detecting and identifying unauthorized accounts in online environments
US20240181343A1 (en) System and method for individual player and team simulation
KR102246617B1 (ko) 화면 분석 방법
KR102663735B1 (ko) 게임 봇 탐지 시스템 및 게임 봇 탐지 방법
KR102186412B1 (ko) 게임 컨텐츠 제공 방법
KR101288476B1 (ko) 보상 아이템 제공 방법 및 서버
KR20170121950A (ko) 온라인 게임 내에서 비정상 계정을 탐지하는 방법 및 장치
US9364760B2 (en) System and method for detecting game client modification through script injection
US11638880B2 (en) Method and system for managing team by automatically recommending position and trainer for player in sports game
KR102426625B1 (ko) 해킹 툴 탐지 장치 및 해킹 툴 탐지 방법
US11673061B2 (en) Extensible dictionary for game events
KR102494361B1 (ko) 개발자 관여 매트릭스에 기초한 전자 게임의 품질 결정
KR102235538B1 (ko) 가이드 컨텐츠 제공 방법 및 장치
KR20200143842A (ko) 화면 분석 방법
KR101892158B1 (ko) 게임 제공 장치 및 게임 제공 방법
KR102530298B1 (ko) 악성 게임의 탐지
KR102071970B1 (ko) 게임 내에서 가이드 컨텐츠를 제공하기 위한 게임 서비스 제공 방법 및 그 장치
Wong et al. Detection on auto clickers in mobile games.
KR102238940B1 (ko) 컴퓨팅 장치에서 콘텐츠에 대한 매니아 정보를 처리하는 방법, 및 컴퓨팅 장치
KR102060533B1 (ko) 게임봇 판별 방법과 그를 수행하는 게임 제공 장치
Park et al. The Gravy Value: A Set of Features for Pinpointing BOT Detection Method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant