KR102610113B1 - 게임 봇 탐지 장치 및 방법 - Google Patents

게임 봇 탐지 장치 및 방법 Download PDF

Info

Publication number
KR102610113B1
KR102610113B1 KR1020150165871A KR20150165871A KR102610113B1 KR 102610113 B1 KR102610113 B1 KR 102610113B1 KR 1020150165871 A KR1020150165871 A KR 1020150165871A KR 20150165871 A KR20150165871 A KR 20150165871A KR 102610113 B1 KR102610113 B1 KR 102610113B1
Authority
KR
South Korea
Prior art keywords
question
user
game
answer
data
Prior art date
Application number
KR1020150165871A
Other languages
English (en)
Other versions
KR20170061002A (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 KR1020150165871A priority Critical patent/KR102610113B1/ko
Publication of KR20170061002A publication Critical patent/KR20170061002A/ko
Application granted granted Critical
Publication of KR102610113B1 publication Critical patent/KR102610113B1/ko

Links

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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/401Secure communication, e.g. using encryption or authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 게임 봇 탐지 장치 및 방법에 관한 것이다. 본 발명의 제 1 측면에 따르면, 게임 봇 탐지 장치로서, 소스 콘텐츠를 수집하는 소스수집부, 상기 소스 콘텐츠를 가공하여, 질의 데이터 및 상기 질의 데이터에 대응하는 응답 데이터를 생성하는 질의응답생성부, 상기 질의응답생성부가 생성한 상기 질의 데이터 및 상기 응답 데이터를 포함하는 질의응답 쌍을 저장하는 질의응답관리부, 상기 질의응답관리부에 저장된 질의응답 쌍에 포함된 질의 데이터를 적어도 하나의 사용자에게 제공하는 질의제공부, 그리고 상기 질의제공부로부터 질의 데이터를 제공받은 상기 사용자로부터 수신된 응답을, 상기 사용자에게 제공된 질의 데이터가 포함된 질의응답 쌍의 응답 데이터와 비교하여 상기 사용자가 게임 봇인지 여부를 판별하는 봇판별부를 포함할 수 있다.

Description

게임 봇 탐지 장치 및 방법{APPARATUS AND METHOD FOR DETECTING GAME BOT}
본 발명은 게임 봇 탐지 장치 및 방법에 관한 것으로, 보다 상세하게는 게임 봇 판정의 정확성을 높임과 동시에, 적응 및 학습이 어려운 판정 방법을 제공하는 게임 봇 탐지 장치 및 방법에 관한 것이다.
온라인 게임 이용자가 증가하면서, 온라인 게임 내에서 제공되는 재화들, 예를 들어 게임 아이템, 게임 머니, 캐릭터 등은, 실제 오프라인 상의 시장과 다를 바 없는 가상의 시장을 형성하고 있다. 따라서 온라인 게임 상의 시장 질서가 사용자 사이에 균형을 이루어야만 게임의 공정성 및 인기가 유지될 수 있다.
그러나 최근 일부 사용자들이 게임 봇, 즉 멀티 플레이 게임에서 인공지능 플레이어로서 기능하는 소프트웨어의 사용이 증가하면서, 온라인 게임 내의 시장 질서가 붕괴되고 게임 봇을 사용하지 않는 선량한 일반 사용자들이 상대적으로 피해를 보고 있다.
게임 봇의 경우 반응속도가 현저히 빠르고 지속적인 게임 플레이가 가능하기 때문에 게임 내에서 제공되는 재화를 독점하거나, 타 사용자와의 유기적인 플레이가 어렵기 때문에 상대방에게 불쾌감을 주는 등의 문제를 야기한다. 따라서 게임 봇의 사용이 증가할수록, 게임 봇에 의해 피해를 보는 일반 사용자들의 게임에 대한 재미와 충성도를 약화시키고 그에 따라 게임 자체의 인기를 저하한다는 문제점이 있었다.
한국공개특허 제 10-2015-0116299호 “온라인 게임의 조준 봇 자동 탐지 방법 및 장치”에 기재된 바에 의하면, 캐릭터의 동작 패턴, 즉 캐릭터가 게임을 플레이하는 패턴들을 수집하여 게임 봇의 이용 여부를 판정하는 방법이 기재되어 있다.
그러나 이러한 방법은 각각의 캐릭터들의 플레이 패턴을 모두 기록하고 이로부터 게임 봇의 공통된 특징 패턴을 추출하며, 각 사용자들의 플레이 패턴과 게임 봇의 공통된 특징 패턴의 일치 여부 및 빈도 등을 확인하는 등 실시간으로 처리해야 할 데이터 연산량이 과중하다는 문제점이 있다.
또한 이러한 게임 봇 탐지 방법에 의하면 플레이 패턴만으로 게임 봇의 이용 여부를 판정하므로, 정확성이 떨어지는 경우 선량한 사용자의 계정이 잘못 차단될 수 있다는 문제점도 있었다.
한편 이 외에도 종래에는 사용자에게 게임과 관련된 질의를 전송하고 그에 대응하는 응답을 수신함으로써 게임 봇 이용 여부를 판정하는 방법도 이용되고 있었으나, 게임 봇 개발자들이 이러한 질의를 학습하여 적응할 수 있도록 게임 봇을 개발함에 따라 판정 방법이 무력화되는 경우가 발생하고 있다.
따라서 상술된 문제점을 해결하기 위한 기술이 필요하게 되었다.
한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 발명의 일실시예는, 게임 봇 탐지 장치 및 방법을 제시하는 데에 목적이 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따르면, 게임 봇 탐지 장치로서, 소스 콘텐츠를 수집하는 소스수집부, 상기 소스 콘텐츠를 가공하여, 질의 데이터 및 상기 질의 데이터에 대응하는 응답 데이터를 생성하는 질의응답생성부, 상기 질의응답생성부가 생성한 상기 질의 데이터 및 상기 응답 데이터를 포함하는 질의응답 쌍을 저장하는 질의응답관리부, 상기 질의응답관리부에 저장된 질의응답 쌍에 포함된 질의 데이터를 적어도 하나의 사용자에게 제공하는 질의제공부, 그리고 상기 질의제공부로부터 질의 데이터를 제공받은 상기 사용자로부터 수신된 응답을, 상기 사용자에게 제공된 질의 데이터가 포함된 질의응답 쌍의 응답 데이터와 비교하여 상기 사용자가 게임 봇인지 여부를 판별하는 봇판별부를 포함할 수 있다.
본 발명의 제 2 측면에 따르면, 복수의 사용자가 동시에 플레이하는 온라인 게임에서 사용자의 게임 봇 이용 여부를 탐지하는 방법으로서, 게임 봇 탐지 장치에 의하여 수행되고, 소스 콘텐츠를 수집하는 단계, 상기 소스 콘텐츠를 가공하여 질의 데이터 및 상기 질의 데이터에 대응하는 응답 데이터를 생성하고, 생성된 질의 데이터 및 대응하는 응답 데이터를 하나의 질의응답 쌍으로 저장하는 단계, 저장된 질의응답 쌍에 포함된 질의 데이터를 적어도 하나의 사용자에게 제공하는 단계, 그리고 질의 데이터를 제공받은 상기 사용자로부터 수신된 응답을, 상기 사용자에게 제공된 질의 데이터가 포함된 질의응답 쌍의 응답 데이터와 비교하여 상기 사용자가 게임 봇인지 여부를 판별하는 단계를 포함할 수 있다.
또한 본 발명의 제3측면에 따르면, 게임 봇 탐지 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한 기록매체로서, 게임 봇 탐지 방법은, 소스 콘텐츠를 수집하는 단계, 상기 소스 콘텐츠를 가공하여, 질의 데이터 및 상기 질의 데이터에 대응하는 응답 데이터를 생성하고, 생성된 질의 데이터 및 대응하는 응답 데이터를 하나의 질의응답 쌍으로 저장하는 단계, 저장된 질의응답 쌍에 포함된 질의 데이터를 적어도 하나의 사용자에게 제공하는 단계, 그리고 질의 데이터를 제공받은 상기 사용자로부터 수신된 응답을, 상기 사용자에게 제공된 질의 데이터가 포함된 질의응답 쌍의 응답 데이터와 비교하여 상기 사용자가 게임 봇인지 여부를 판별하는 단계를 포함할 수 있다.
또한 본 발명의 제4측면에 따르면, 게임 봇 탐지 장치에 의해 수행되며, 게임 봇 탐지 방법을 수행하기 위해 기록매체에 저장된 컴퓨터 프로그램으로서, 게임 봇 탐지 방법은, 소스 콘텐츠를 수집하는 단계, 상기 소스 콘텐츠를 가공하여, 질의 데이터 및 상기 질의 데이터에 대응하는 응답 데이터를 생성하고, 생성된 질의 데이터 및 대응하는 응답 데이터를 하나의 질의응답 쌍으로 저장하는 단계, 저장된 질의응답 쌍에 포함된 질의 데이터를 적어도 하나의 사용자에게 제공하는 단계, 그리고 질의 데이터를 제공받은 상기 사용자로부터 수신된 응답을, 상기 사용자에게 제공된 질의 데이터가 포함된 질의응답 쌍의 응답 데이터와 비교하여 상기 사용자가 게임 봇인지 여부를 판별하는 단계를 포함할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 본 발명의 일실시예는 게임 봇 탐지 장치 및 방법을 제시할 수 있다.
또한, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 게임 봇 판정의 정확성을 높일 수 있는 게임 봇 탐지 장치 및 방법을 제시할 수 있다.
그리고 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 실시간으로 처리해야 할 데이터의 양을 최소화할 수 있는 게임 봇 탐지 장치 및 방법을 제시할 수 있다.
나아가 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 게임 봇이 학습하거나 적응할 수 없는 방식의 게임 봇 탐지 장치 및 방법을 제시할 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일실시예에 따른 게임 봇 탐지 장치를 포함하는 네트워크 구성도이다.
도 2는 본 발명의 일실시예에 따른 게임 봇 탐지 장치의 구성을 도시한 블록도이다.
도 3은 본 발명의 일실시예에 따른 게임 봇 탐지 방법을 설명하기 위한 순서도이다.
도 4 내지 6은 본 발명의 일실시예에 따른 게임 봇 탐지 방법을 설명하기 위한 예시도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 일실시예에 따른 게임 봇 탐지 장치를 포함하는 네트워크 구성도이고, 도 2는 본 발명의 일실시예에 따른 게임 봇 탐지 장치의 구성을 도시한 블록도이다.
우선 도 1에 도시된 바와 같이 본 발명의 일실시예에 따른 게임 봇 탐지 장치(30)는 네트워크(N)를 통해 복수의 사용자 단말(10), 게임 서버(20), 그리고 하나 이상의 외부 서버(40)와 통신 연결될 수 있다.
네트워크(N)는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 개인 근거리 무선통신(Personal Area Network; PAN), 이동 통신망(mobile radio communication network), Wibro(Wireless Broadband Internet), Mobile WiMAX, HSDPA(High Speed Downlink Packet Access) 위성 통신망, LTE(long term evolution) 망 등과 같은 모든 종류의 유/무선 네트워크로 구현될 수 있다.
그리고 사용자 단말(10)은 네트워크(N)를 통해 원격지의 서버에 접속하거나, 타 단말 및 서버와 연결 가능한 컴퓨터나 휴대용 단말기, 텔레비전, 웨어러블 디바이스(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 등을 포함할 수 있다. 나아가 웨어러블 디바이스는 예를 들어, 시계, 안경, 액세서리, 의복, 신발 등 인체에 직접 착용 가능한 타입의 정보처리장치로서, 직접 또는 다른 정보처리장치를 통해 네트워크를 경유하여 원격지의 서버에 접속하거나 타 단말과 연결될 수 있다.
여기서 사용자 단말(10)은 게임 서버(20)가 제공하는 온라인 게임을 플레이하기 위하여 게임 클라이언트를 실행하는 주체가 되는 장치로서, 각각의 사용자 단말(10)은 사용자 계정을 이용하여 온라인 게임에 접속하고 게임을 수행한다. 이때 사용자 단말(10)에는 게임 봇이 설치될 수 있다. 이 경우 게임 봇은 사용자의 대리자로서 프로그래밍된 바에 따라 게임 클라이언트에 사용자 명령을 전달할 수 있다.
한편 게임 서버(20)는 사용자 단말(10)과 협력하여 온라인 게임을 실행하는 주체로서, 사용자 단말(10)이 이용하는 사용자 계정에 대응하는 캐릭터를 사용자 단말(10)의 명령에 따라 제어할 수 있다. 게임 서버(20)는 복수의 사용자 단말(10)에 대해 동시에 네트워크(N)를 통해 온라인 멀티 플레이 게임을 제공하는 장치로서 복수의 물리적인 서버를 포함할 수 있고, 로드 밸런싱 서버나 데이터베이스 등과 같이 일군의 서버를 운영하는데 필요한 장치를 더 포함할 수 있다.
그리고 게임 봇 탐지 장치(30)는 상술한 게임 서버(20) 내에 종속적으로 포함되거나 또는 독립적으로 구성되어 네트워크(N)를 통해 게임 서버(20)와 통신하는 장치로서, 복수의 사용자 단말(10)이 이용하는 사용자 계정 중에서 게임 봇을 사용하는 사용자 계정을 탐지하여 계정 사용을 중단시킬 수 있다.
이때 게임 봇 탐지 장치(30)는 하나 이상의 외부 서버(40)가 제공하는 콘텐츠를 수집하여 게임 봇 탐지를 위한 질의를 생성하고, 이를 사용자 단말(10)로 전달하여 질의에 대응하는 응답을 수신할 수 있다. 그리고 게임 봇 탐지 장치(30)는 수신된 응답이 질의에 대응하는지 판별하여 특정 사용자 계정을 이용하는 사용자 단말(10)이 게임 봇을 통해 게임을 플레이하는지 여부를 확인할 수 있다.
이때 외부 서버(40)는 콘텐츠를 복수의 사용자들에게 제공하는 콘텐츠 제공자가 운영하는 장치로서, 예를 들어 웹문서를 사용자들에게 제공하는 웹서버가 될 수 있다. 그리고 외부 서버(40)는 게임 서버(20)의 운영자와 동일한 운영자에 의해 운영될 수도 있으나, 전혀 다른 운영자가 운영하는 서드파티 서버일 수도 있다.
도 2를 참조하여 본 발명의 실시예에 의한 게임 봇 탐지 장치(30)를 보다 구체적으로 설명하면, 게임 봇 탐지 장치(30)는 사용자 단말(10)로 제공될 질의 데이터 및, 질의 데이터에 대응하는 응답 데이터를 생성하기 위한 소스로서, 상술한 외부 서버(40)가 제공하는 웹문서를 수집하는 소스수집부(31)를 포함할 수 있다.
소스수집부(31)는 주기적으로 또는 지속적으로 복수의 웹문서를 크롤링(Crawling)하여 수집할 수 있다. 이때 소스수집부(31)는 크롤링할 대상이 되는 웹문서의 주소를 먼저 수집한 후, 수집된 주소의 웹문서를 크롤링할 수 있다. 즉, 예를 들어 소스수집부(31)는 우선적으로 수집될 웹문서의 URL(Uniform Resource Locator) 정보를 먼저 수집한 후, 수집된 URL에 대응하는 웹문서를 크롤링할 수 있다. 이때 소스수집부(31)가 웹문서를 수집하는 방법은 크롤링에 한정되지는 않는다. 일례로 외부서버(40) 운영주체와의 제휴에 의하여 주기적으로 외부서버(40)로부터 웹문서를 제공받을 수 있다.
이때 소스수집부(31)는 특정 외부 서버(40), 또는 특정 외부 서버(40) 내의 특정 디렉토리에 저장된 웹문서만을 선택적으로 수집할 수 있다. 예를 들어, 소스수집부(31)는 기 설정된 외부 서버(40)나 기 설정된 외부 서버(40)의 기 설정된 디렉토리의 위치정보를 포함하는 URL만을 수집하고, 이에 기초하여 웹문서를 크롤링할 수 있다. 즉 예를 들어 URL에 포함된 도메인 네임이 특정 외부 서버(40)를 지시하는 경우에만, 해당 URL을 수집 대상 웹문서의 주소로서 저장할 수 있다.
또한 소스수집부(31)는 웹문서의 주소를 수집하기 위해, 이미 수집된 웹문서에 하이퍼링크 정보로서 포함된 웹문서 주소들을 수집하고, 다시 수집된 웹문서를 크롤링한 후, 크롤링된 웹문서에 하이퍼링크 정보로서 포함된 웹문서 주소들을 수집하는 과정을 반복할 수 있다. 이때 상술한 바와 같이 특정 외부 서버(40)가 제공하는 웹문서만을 수집하기 위해서는, 해당 외부 서버(40)의 위치를 나타내는 도메인 네임을 포함하지 않는 주소 정보는 수집에서 제외할 수 있다. 여기서 특정 외부 서버(40)는 게임 서버(20)가 제공하는 온라인 게임과 관련된 게임 포럼이나 커뮤니티를 제공하는 서버가 될 수 있다.
또한 소스수집부(31)는 크롤링한 웹문서를 모두 소스로서 저장하거나, 또는 크롤링한 웹문서 중 특정 조건을 만족하는 웹문서만을 소스로서 저장할 수 있다. 소스수집부(31)는 예를 들어, 게임 서버(20)가 제공하는 온라인 게임과 관련된 문자열을 포함하는 웹문서만을 소스로서 수집할 수 있다.
한편 본 발명의 실시예에 의한 게임 봇 탐지 장치(30)는 질의응답생성부(32)를 포함할 수 있다. 질의응답생성부(32)는 소스수집부(31)가 크롤링하여 저장한 웹문서에 포함된 콘텐츠를 분석하고 이를 이용하여 질의 데이터 및 응답 데이터를 생성할 수 있다.
여기서 ‘질의 데이터’는 사용자 단말(10)이 게임 봇을 이용하고 있는지 여부를 판별하기 위하여 사용자 단말(10)로 제공되는 데이터로서, 인간과 프로그램의 구별을 위하여, 인간의 사고나 검색을 통해야만 답변이나 해결이 가능한 질문이나 퀴즈를 포함할 수 있다. 예를 들어 질의 데이터는 게임 서버(20)가 제공하는 온라인 게임과 관련된 질문이나 퍼즐을 포함할 수 있다. 여기서 질문은 게임 서버(20)가 제공하는 온라인 게임과 관련한 객관식 또는 주관식의 문제가 될 수 있고, 퍼즐은 게임 서버(20)가 제공하는 온라인 게임과 관련한 이미지를 이용한 미니 게임이 될 수 있다. 예를 들어 이미지를 순서대로 배열하거나 관련된 이미지의 짝을 맞추는 방식이 될 수 있으나 이는 일례에 불과하다.
이때 질의 데이터는 상술한 바와 같이 소스수집부(31)가 수집한 웹문서에 포함된 콘텐츠를 이용하여 생성될 수 있다. 따라서 질의응답생성부(32)는 소스수집부(31)가 수집한 하나 이상의 웹문서를 참조하여 질문이나 퍼즐을 생성할 수 있다. 예를 들어 질의응답생성부(32)는 복수의 웹문서를 문맥분석하고, 복수의 웹문서를 분석한 결과 공통적으로 추출되는 정보들을 이용하여 질의 데이터를 생성할 수 있다.
또한 ‘응답 데이터’는 상술한 질의 데이터에 대응하는 데이터로서, 질의응답생성부(32)가 질의 데이터를 생성할 때 함께 생성될 수 있다. 응답 데이터는 질의 데이터에 포함된 질문이나 퍼즐에 대한 정답으로서, 예를 들어 객관식이나 주관식 질문의 정답, 또는 퍼즐의 옳은 해결책에 대한 데이터가 될 수 있다. 응답 데이터는 질의 데이터와 마찬가지로 소스수집부(31)가 수집한 웹문서에 포함된 콘텐츠로부터 추출되거나 이를 가공하여 생성될 수 있다.
이와 같이 질의응답생성부(32)가 소스수집부(31)가 지속적으로 수집하는 웹문서들을 이용하여 새로운 질의 및 응답 데이터를 생성하도록 하여 질의의 신선도(Freshness)를 유지함과 동시에 질의 풀(Pool)을 충분히 확보함으로써, 게임 봇이 질의에 적응하거나 학습하는 것을 방지할 수 있다.
질의응답생성부(32)가 질의 데이터와 응답 데이터를 생성하는 방법을 보다 구체적으로 설명하면, 예를 들어 질의응답생성부(32)는 수집된 웹문서에 포함된 텍스트들을 문맥 분석하여 질의 데이터와, 그에 대응하는 응답데이터를 생성할 수 있다. 일례로 질의응답생성부(32)는 하나 이상의 웹문서에서 동일한 하나의 게임 캐릭터와 관련된 텍스트 콘텐츠를 독출하고, 이를 문맥분석하여 해당 게임 캐릭터의 특징을 하나 이상 추출할 수 있다. 그리고 해당 게임 캐릭터의 특징과 해당 게임 캐릭터의 특징이 아닌 것을 선택지로 제공하면서 해당 게임 캐릭터의 특징을 묻는 질의 데이터와, 선택지 중 게임 캐릭터의 특징에 부합하는 선택지를 응답 데이터로 생성함으로써 질의 및 응답을 생성할 수 있다.
또 다른 예로, 질의응답생성부(32)는 수집된 하나 이상의 웹문서에서 복수의 이미지를 선택할 수 있다. 그리고 복수의 이미지 각각을 포함하는 웹문서에 포함된 텍스트 콘텐츠를 분석하여, 각 이미지가 무엇을 나타내는지 확인할 수 있다. 그에 따라 질의응답생성부(32)가 각각 강아지 이미지, 꽃 이미지, 자동차 이미지를 추출하면, 세 개의 이미지를 나열하고 강아지 이미지를 고르라는 객관식의 질의 데이터를 생성하고, 응답 데이터로서 강아지 이미지를 포함하는 선택지를 설정할 수 있다.
나아가 또 다른 예로서, 질의응답생성부(32)는 퍼즐 방식의 질의 데이터와 응답 데이터를 생성할 수 있는데, 특정 웹문서에 포함된 하나의 이미지를 선택하고, 이를 분할하여 복수의 유닛 이미지로 구분한 후 재배열하여 사용자 단말(10)로 제공되도록 할 수 있다. 이때 재배열된 복수의 유닛 이미지는 사용자의 선택 및 드래그 동작에 의하여 다른 위치로 이동 가능한 사용자인터페이스를 통해 제공될 수 있으며, 응답 데이터는 복수의 유닛 이미지의 옳은 배열에 대한 정보를 포함할 수 있다.
한편 본 발명의 실시예에 의한 게임 봇 탐지 장치(30)는 질의응답관리부(33)를 포함할 수 있다. 질의응답관리부(33)는 질의응답생성부(32)가 생성한 질의 데이터 및 응답 데이터의 쌍을 저장하고 관리할 수 있다.
질의응답관리부(33)는 각각의 질의 데이터 및 응답 데이터를 서로 연관하여 저장하되, 이들이 생성된 시간, 사용자 단말(10)로 제공된 횟수, 정답률이나 오답률 등을 기록할 수 있다. 또한 질의응답관리부(33)는 질의응답생성부(32)가 생성한 질의 데이터 및 응답 데이터의 쌍이 생성된 시간이 일정 시간 이상 경과하거나, 또는 정답률이 일정 수준 이상인 경우 또는 오답률이 일정 수준 미만인 경우, 또는 사용자 단말(10)로 제공된 횟수가 일정 수 이상인 경우, 해당 질의 데이터 및 응답 데이터의 쌍을 삭제할 수 있다. 그에 따라 질의 데이터와 응답 데이터가 지속적으로 업데이트되면서 동시에 이미 충분히 이용되거나 게임 봇에 의해 학습된 질의는 제거되도록 할 수 있다.
한편 본 발명의 실시예에 의한 게임 봇 탐지 장치(30)는 의심자선정부(34)를 더 포함할 수 있다. 의심자선정부(34)는 게임 서버(20)에 접근한 사용자 단말(10)이 이용하는 사용자 계정 중에서 의심사용자를 선별하여 관리할 수 있다.
의심자선정부(34)가 의심사용자를 선별하는 방식은 다양하게 구현될 수 있다. 예를 들어, 타 사용자들로부터 게임 봇 의심 신고가 수신된 사용자 계정을 의심사용자로 선별하거나, 또는 게임 플레이 시간이 설정된 시간 이상이거나, 캐릭터 제어를 위한 입력 사이의 간격이 설정 시간 미만인 경우와 같이 인간의 게임 플레이로 보기 어려운 플레이 패턴이 기 설정 횟수 이상 발견된 경우 해당 사용자 계정을 의심사용자로 선별할 수 있다. 또는 상술한 질의응답생성부(32)가 생성한 질의 데이터를 제공하였을 때 이에 대해 응답하지 않거나 잘못된 응답을 한 경우가 기 설정 횟수 이상으로 발견된 사용자 계정을 일차적으로 의심사용자로 선별할 수도 있다.
의심자선정부(34)는 위와 같이 의심사용자로 선정된 사용자 계정을 의심자리스트로 기록하여 관리하면서, 의심사용자로 선정된 후 일정 시간이 경과하거나 후술할 봇판별부(37)가 최종적으로 게임 봇을 이용하지 않는 것으로 확인한 사용자 계정은 의심자리스트에서 다시 제거할 수도 있다.
한편 본 발명의 실시예에 의한 게임 봇 탐지 장치(30)는 질의전송부(35)를 포함할 수 있다. 질의전송부(35)는 모든 사용자 단말(10) 또는 상술한 의심자선정부(34)에 의심사용자로 기록된 사용자 계정을 이용하는 사용자 단말(10)로 주기적으로 또는 특정 조건이 만족되었을 때 질의 데이터를 전송할 수 있다. 이때 질의전송부(35)는 각각의 사용자 단말(10)에 대해 서로 다른 질의 데이터를 무작위 또는 순차적으로 추출하여 제공하거나, 또는 사용자 단말(10)이 이용하는 사용자 계정의 계정 정보를 참조하여 해당 사용자에 대한 맞춤의 질의 데이터를 추출하여 제공할 수 있다. 예를 들어 질의전송부(35)는 특정 사용자 계정을 이용하는 사용자가 현재 플레이하는 캐릭터와 연관된 질의 데이터를 추출하여 해당 사용자 단말(10)로 제공할 수 있다.
또한 질의전송부(35)는 질의 데이터가 텍스트를 포함하는 경우, 이를 이미지로 변환하여 사용자 단말(10)로 제공할 수 있다. 이는 사용자 단말(10)이 게임 봇을 이용하여 게임 플레이를 하는 경우, 질의 데이터에 포함된 텍스트를 문맥 분석하거나 의미 분석하는 것을 방지하기 위함이다.
나아가 질의전송부(35)는 각각의 질문을 각각의 사용자 계정을 이용하는 사용자 단말(10)로 제공한 이력이나 횟수 등을 기록할 수 있다.
한편 본 발명의 실시예에 의한 게임 봇 탐지 장치(30)는 응답수신부(36)를 포함할 수 있다. 응답수신부(36)는 질의 데이터를 제공받은 사용자 단말(10)로부터 일정 시간 내에 질의 데이터에 대응하는 응답을 수신하여 후술할 봇판별부(37)로 전달한다.
한편 봇판별부(37)는 특정 질의 데이터를 제공받은 사용자 단말(10)로부터 수신된 응답이, 특정 질의 데이터에 대응하여 질의응답관리부(33)에 기 저장된 응답 데이터와 일치하거나 대응하는지 여부를 비교하고, 비교 결과에 기초하여 해당 사용자 단말(10)이 게임 봇을 이용하는지 여부를 판별할 수 있다.
봇판별부(37)는 사용자 단말(10)로 제공된 질의 데이터에 대해 사용자 단말(10)로부터 응답이 수신되지 않거나 잘못된 응답이 수신된 경우가 적어도 1회 이상의 기 설정된 횟수 이상인 경우 해당 사용자 단말(10)이 게임 봇을 이용하는 것으로 판정할 수 있다. 그러나 실시예에 따라 봇판별부(37)는 사용자 단말(10)로부터 응답이 수신되지 않거나 잘못된 응답이 수신된 경우가 기 설정된 횟수 미만인 경우에는 판단을 유보하거나, 해당 사용자 단말(10)이 이용하는 사용자 계정 정보를 상술한 의심자선정부(34)로 전달하여 의심사용자로 구분되도록 할 수도 있다.
또한 실시예에 따라 봇판별부(37)는 질의 데이터에 옳은 응답, 즉 해당 질의 데이터에 대응하여 질의응답관리부(33)에 기 저장된 응답 데이터와 일치하거나 대응하는 응답을 송신한 사용자 단말(10)이 이용하는 사용자 계정은 게임 봇을 이용하지 않는 것으로 판단할 수 있다. 이 경우 봇판별부(37)는 상술한 의심자선정부(34)에 해당 사용자 계정의 정보를 제공하여 의심자리스트에서 해당 사용자 계정이 제거되도록 할 수도 있다.
한편 본 발명의 실시예에 의한 게임 봇 탐지 장치(30)는 계정접근차단부(38)를 더 포함할 수 있다. 계정접근차단부(38)는 봇판별부(37)가 특정 사용자 계정을 게임 봇으로 판정한 경우 해당 사용자 계정을 이용한 온라인 게임 접근을 즉시 또는 장래에 차단할 수 있다. 이때 사용자 계정을 이용한 게임 접근은 일정 기간 또는 영구적으로 차단될 수 있다.
한편 상술한 본 발명의 실시예에서는 전체적으로 게임 봇 이용 여부의 판단 대상을 사용자 계정 단위로 구분하여 설명하였으나 반드시 그러한 것은 아니고, 게임 클라이언트 자체를 게임 봇 이용 여부의 판단 대상이자 차단 대상으로 할 수도 있다.
상술한 본 발명의 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field programmable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다.
구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다.
뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다
이하에서는 상술한 게임 봇 탐지 장치(30)를 이용한 게임 봇 탐지 방법을 구체적으로 설명한다.
도 3은 본 발명의 일실시예에 따른 게임 봇 탐지 방법을 설명하기 위한 순서도이고, 도 4내지 6은 본 발명의 일실시예에 따른 게임 봇 탐지 방법을 설명하기 위한 예시도이다.
이때 도 3에 도시된 실시예에 따른 게임 봇 탐지 방법은 도 2에 도시된 게임 봇 탐지 장치(30)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 2에 도시된 게임 봇 탐지 장치(30)에 관하여 이상에서 기술한 내용은 도 3에 도시된 실시예에 따른 게임 봇 탐지 방법에도 적용될 수 있다.
도 3에 도시된 바와 같이 본 발명의 실시예에 의한 게임 봇 탐지 방법은, 게임 봇 탐지 장치(30)가 생성될 질의 데이터 및 응답 데이터의 소스가 될 콘텐츠를 크롤링하여 수집하는 단계(S101)를 포함한다.
이때 S101단계에서는 먼저 크롤링될 콘텐츠, 예를 들어 웹문서의 주소 정보를 수집하는 단계를 포함한다. 이때 특정 외부 서버(40)를 지시하는 정보나 특정 디렉토리를 지시하는 정보를 포함하는 주소 정보만을 크롤링 대상으로 수집할 수 있음은 앞서 설명한 바와 같다.
그리고 S101단계에서는 수집된 주소 정보에 기초하여 웹문서를 크롤링하고, 크롤링한 모든 웹문서 또는 크롤링한 웹문서 중 특정 조건을 만족하는 웹문서, 예를 들어 특정 문자열을 포함하는 웹문서만을 수집 대상으로 하여 저장할 수도 있다.
특히 S101단계는 주기적으로, 또는 적어도 지속적으로 수행될 수 있다.
이어서 본 발명의 실시예에 의한 게임 봇 탐지 방법은, 게임 봇 탐지 장치(30)가 S101단계에서 수집한 하나 이상의 콘텐츠에 기초하여 질의 데이터 및 응답 데이터를 생성하는 단계(S102)와, 생성된 질의 데이터 및 응답 데이터를 서로 연관하여 저장하는 단계(S103)를 포함할 수 있다.
S102단계에서는 수집된 하나 이상의 콘텐츠에 포함된 텍스트를 문맥 분석하여 질문이나 퍼즐을 생성하는 단계가 수행될 수 있으며, 특히 복수의 웹문서에서 공통적으로 발견되는 문맥에 기초하여 질문 데이터를 생성하는 단계가 수행될 수도 있다.
또한 S102단계에서는 게임 봇 탐지 장치(30)가 질의 데이터를 생성하면서 동시에 응답 데이터를 생성할 수 있다. 즉, 질의 데이터에 대응하는 정답이나 옳은 해결책을 데이터로 생성하여 함께 저장되도록 함으로써, 추후 사용자 단말(10)로부터 수신되는 응답과 비교할 대상을 미리 저장할 수 있다.
이때 S102단계에서는 S101단계에서 크롤링한 콘텐츠에 기초하여 질의 데이터와 응답 데이터를 생성하므로, 질의 데이터나 응답 데이터를 지속적으로 업데이트할 수 있고, 다양한 소스로부터 질의를 생성할 수 있기 때문에 질의의 예측이 쉽지 않아 게임 봇이 질의에 적응하여 옳은 응답을 할 가능성을 현저히 낮출 수 있다. 따라서 인간과 게임 봇의 구별 가능성 및 정확성을 높일 수 있다.
여기서 S102단계에서 생성되는 질의 데이터는, 예를 들어 도 4 내지 도 6에 도시된 바와 같이 객관식의 질문 형식, 또는 퍼즐 형식이 될 수 있다. 여기서 객관식 질문의 선택지는 도 4에 도시된 바와 같이 텍스트를 포함하거나 도 5에 도시된 바와 같이 이미지를 포함할 수 있다.
또한 여기서 퍼즐 형식의 질의 데이터는 단위 이미지로 분할되어 재배열된 복수의 이미지를 포함하고, 이를 재배열하여 옳은 배열을 찾는 방식의 퍼즐을 수행할 수 있는 사용자인터페이스 형태로 제공될 수 있다.
이에 대해서는 S106단계에서 보다 상세하게 설명한다.
한편 본 발명의 실시예에 의한 게임 봇 탐지 방법은, 게임 봇 탐지 장치(30)가 의심사용자를 발견하면(S104) 의심사용자에게 제공할 질의 데이터를 추출하여(S105), 추출된 질의 데이터를 제공하는 단계(S106)를 포함할 수 있다.
이때 의심사용자는 타 사용자의 신고에 의하여 선정되거나, 플레이 패턴에 의하여 선정되거나, 또는 질의 데이터를 전송하고 그에 대응하는 응답을 수신하는 과정을 통해 선정될 수 있음은 앞서 설명한 바와 같다.
물론 실시예에 따라, S104 내지 S106단계에서는 의심사용자의 구분 없이 모든 사용자의 사용자 단말(10)로 질의 데이터가 제공되도록 할 수도 있다.
한편 이때 S105단계에서는 각 사용자 단말(10)로 질의 데이터를 제공함에 있어서, 각 사용자 단말(10)이 이용하는 사용자 계정의 계정 정보를 참조하거나, 또는 각 사용자 계정에 대해 기 제공된 질의 데이터의 이력을 참조하여 각각의 사용자 단말(10)로 제공될 질의 데이터를 선별하여 추출할 수 있음은 물론이다.
또한 S106단계에서는 질의 데이터를 제공함에 있어서, 질의 데이터가 질문을 포함하는 경우 질문에 포함된 텍스트를 이미지로 변환하여 제공할 수 있다.
나아가 S106단계에서 사용자 단말(10)로 질의 데이터를 제공함에 있어서, 게임 클라이언트는 게임 봇 탐지 장치(30)가 제공하는 질의 데이터의 유형에 맞는 사용자 인터페이스를 제공하여, 사용자가 질의 데이터에 대응하는 응답을 입력할 수 있도록 할 수 있다.
한편 106단계에서 제공되는 질의 데이터는, 도 4에 도시된 바와 같이 게임 화면 위에 별개의 레이어로 구성되는 메시지 형식으로 사용자에게 제공될 수 있다. 또한 질의 데이터는, 예를 들어 도 4에 도시된 바와 같이 객관식 유형의 질문을 포함할 수 있다. 이때 게임 봇 탐지 장치(30)는 S101단계에서 수집된 콘텐츠에 기초하여 S102단계에서 질의 데이터를 생성하는데, 일례로 수집된 복수의 웹문서로부터 일정 횟수 이상 발견되는 문자열로서 ‘업데이트’를 추출할 수 있다. 그리고 ‘업데이트’라는 문자열과 함께 시기에 대한 정보인 ‘2015’, ‘가을’을 공통적으로 포함하는 웹문서가 다수 존재함을 확인한 후, 이들과 공통적으로 일정 빈도 이상 발견되는 새로운 단어나 문자열들을 확인하여 질의 데이터를 생성할 수 있다. ‘업데이트’, ‘2015’, ‘가을’이라는 문자열과 동일한 웹문서에 포함되어 발견된 문자열로서, 일정 빈도 이상 발견된 문자열이 예를 들어 ‘마이건 레벨 확장’, ‘클랜전 퀵매치 메뉴 추가’, ‘루키클랜 혜택 확대’, ‘홈페이지 메인 개편’인 경우, 도 4에 도시된 바와 같이 객관식 질문을 생성할 수 있다. 이때 정답으로서 ‘루키클랜 혜택 축소’를 응답 데이터로 질문에 대응하여 생성할 수 있다. 예를 들어, 추출된 문자열의 반의어나 추출된 문자열이 아닌 다른 문자열을 부정문의 질문에 대한 정답으로서 포함시킬 수 있다.
또한 S106단계에서 제공되는 질의 데이터는 도 5에 도시된 바와 같이 복수의 이미지가 각각의 선택지로 제공되고, 이 중 적어도 하나를 선택할 수 있도록 질의하는 텍스트가 포함될 수 있다. 이러한 질의 데이터는 예를 들어, S102단계에서 이미지를 포함하는 웹문서를 수집한 후, 해당 웹문서에서 이미지 콘텐츠를 추출하여 복수의 이미지를 하나의 질의 데이터로 조합함으로써 수행될 수 있다. 이때 이미지를 수집하면서 동시에, 이미지와 함께 포함된 텍스트를 문맥 분석하여 해당 이미지가 나타내는 것이 무엇인지 확인할 수 있다. 예를 들어, 도 5에 도시된 바와 같이 웹문서에 함께 포함된 텍스트의 분석결과, 복수의 이미지가 각각 ‘자전거 탄 사람’, ‘웃는 여성’, ‘장동건’, ‘우산 쓴 남자’를 나타내는 것으로 확인되면, 게임 봇 탐지 장치(30)는 4개의 이미지 중 하나를 선택할 수 있도록 하는 질문을 생성할 수 있다. 예를 들어 도 5에 도시된 바와 같이, ‘다음 중 자전거 탄 사람은?’, 또는 ‘다음 중 우산 쓴 남자는?’ 등과 같이 4개의 이미지 중 적어도 하나를 선택받기 위한 질문을 텍스트로 생성하여, 4개의 이미지와 함께 질의 데이터를 구성하도록 할 수 있다.
나아가 S106단계에서 제공되는 질의 데이터는 도 6에 도시된 바와 같이 퍼즐 형식이 될 수 있다. 이를 위하여 게임 봇 탐지 장치(30)는 S102단계에서, 소스 콘텐츠로부터 하나의 이미지를 선택하고, 이를 기설정된 바에 따라 복수의 유닛 이미지로 분할할 수 있다. 그리고 분할된 유닛 이미지를 재배열하여, 도 6에 도시된 바와 같이 퍼즐 이미지를 생성할 수 있다. 이때 퍼즐 이미지는 단순한 하나의 이미지는 아니고, 복수의 유닛 이미지를 유닛 이미지 단위로 이동시킬 수 있는 사용자인터페이스를 통해 사용자 단말(10)로 제공될 수 있다. 그에 따라 사용자가 다시 유닛 이미지를 소스 콘텐츠에 포함되어 있던 원래의 이미지와 동일하게 재배열하도록 할 수 있다.
그리고 이어서 본 발명의 실시예에 의한 게임 봇 탐지 방법은, 게임 봇 탐지 장치(30)가 S106단계에서 질의 데이터를 제공받은 사용자 단말(10)로부터 응답을 수신하는 단계(S107)와, 수신된 응답이 질의 데이터에 대응하여 기 저장된 응답 데이터와 일치하거나 대응하는지 여부를 판별하는 단계(S108)를 포함할 수 있다.
이어서 본 발명의 실시예에 의한 게임 봇 탐지 방법은, S107단계에서 사용자 단말(10)로부터 응답이 수신되지 않거나, 또는 S107단계에서 사용자 단말(10)로부터 응답은 수신되었으나 수신된 응답이 S108단계에서 기 저장된 응답 데이터에 일치하거나 대응하지 않는다고 판단되면, 게임 봇 탐지 장치(30)가 질의 데이터를 수신한 의심사용자의 사용자 계정을 이용한 게임 접근을 차단하는 단계(S109)를 포함할 수 있다.
이와 같이 본 발명의 실시예에 의하면, 게임 플레이 과정과는 별개로 질의 및 응답 데이터를 생성하고, 게임 중에는 단순히 기 생성된 질의를 제공하고 그에 대응하는 응답을 수신함으로써 게임 봇 이용 여부를 탐지한다. 즉 복수의 사용자들에게 온라인 게임을 제공하기 위한 서버 부하와, 게임 봇 탐지를 위해 서버 리소스를 사용하는 부하를 시간적으로 분산시킬 수 있다.
즉, 각 사용자의 게임 패턴을 수집하고 분석하는 방법을 통해 게임 봇 이용 여부를 탐지하는 종래의 방식의 경우, 게임 제공 과정에서 동시에 게임 플레이 패턴을 수집하고 분석하며, 실시간으로 각 사용자의 게임 플레이 패턴과 분석된 패턴을 비교해야 한다. 그에 따라 플레이 패턴 분석 방식에 의한 게임 봇 탐지의 경우, 동시 접속 사용자 수가 늘면 서버 부하가 집중되고 게임 봇 탐지를 위한 부하와 게임 제공을 위한 부하를 분산하기 어려운 반면, 본 발명의 실시예에서는 게임 봇 탐지를 위해 질의 및 응답 데이터를 생성하는데 소요되는 부하와 게임 제공을 위한 부하를 시간적으로 분산시킬 수 있기 때문에 서버 리소스를 효율적으로 이용할 수 있다.
도 3을 통해 설명된 실시예에 따른 게임 봇 탐지 방법은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
또한 본 발명의 일실시예에 따르는 게임 봇 탐지 방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다.
따라서 본 발명의 일실시예에 따르는 게임 봇 탐지 방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.
여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다.
또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다.
그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
10: 사용자 단말 20: 게임 서버
30: 게임 봇 탐지 장치 40: 외부 서버

Claims (16)

  1. 복수의 웹문서를 크롤링한 후, 크롤링된 웹문서 중 기 설정된 특정 문자열을 포함하는 웹문서를 소스 콘텐츠로 수집하는 소스수집부;
    상기 소스 콘텐츠를 가공하여, 질의 데이터 및 상기 질의 데이터에 대응하는 응답 데이터를 생성하는 질의응답생성부;
    상기 질의응답생성부가 생성한 상기 질의 데이터 및 상기 응답 데이터를 포함하는 질의응답 쌍을 저장하는 질의응답관리부;
    상기 질의응답관리부에 저장된 질의응답 쌍에 포함된 질의 데이터를 적어도 하나의 사용자에게 제공하는 질의제공부;
    상기 질의제공부로부터 질의 데이터를 제공받은 상기 사용자로부터 수신된 응답을, 상기 사용자에게 제공된 질의 데이터가 포함된 질의응답 쌍의 응답 데이터와 비교하여 상기 사용자가 게임 봇인지 여부를 판별하는 봇판별부; 및
    복수의 사용자 중에서 상기 게임 봇으로 의심되는 하나 이상의 의심사용자를 선정하는 의심자선정부를 포함하며,
    상기 의심자선정부는, 상기 질의제공부로부터 질의 데이터를 제공받은 상기 사용자로부터, 상기 사용자에게 제공된 질의 데이터가 포함된 질의응답 쌍의 응답 데이터에 대응하는 응답을 수신하지 못한 경우, 일차적으로 상기 사용자를 의심사용자로 선별하는, 게임 봇 탐지 장치.
  2. 제1항에 있어서,
    상기 소스수집부는,
    크롤링할 대상이 되는 소스 콘텐츠의 주소 정보를 수집하고, 수집된 주소 정보에 기초하여 소스 콘텐츠를 크롤링하는, 게임 봇 탐지 장치.
  3. 제2항에 있어서,
    상기 소스수집부는,
    기 설정된 특정 장치 또는 특정 장치의 특정 디렉토리의 위치 정보를 포함하는 주소 정보에 대응하는 소스 콘텐츠만을 크롤링하는, 게임 봇 탐지 장치.
  4. 제1항에 있어서,
    상기 의심자선정부는,
    상기 의심사용자를 의심자리스트에 등록한 후, 일정시간이 경과하거나 상기 봇판별부가 상기 의심사용자를 최종적으로 게임 봇이 아니라고 확인하면, 상기 의심사용자를 상기 의심자리스트에서 다시 제거하는, 게임 봇 탐지 장치.
  5. 제1항에 있어서,
    상기 질의 데이터는,
    상기 소스 콘텐츠를 가공하여 생성된 질문을 포함하되, 기 설정된 온라인 게임과 관련한 객관식 또는 주관식의 문제를 포함하는, 게임 봇 탐지 장치.
  6. 제1항에 있어서,
    상기 질의응답생성부는,
    상기 소스 콘텐츠에 포함된 복수의 이미지를 선택지로 갖는 객관식의 질문을 포함하는 질의 데이터를 생성하는, 게임 봇 탐지 장치.
  7. 제1항에 있어서,
    상기 질의응답생성부는,
    상기 소스 콘텐츠에 포함된 적어도 하나의 이미지를 분할하여 복수의 유닛 이미지를 생성하고, 복수의 유닛 이미지를 재배열하여 퍼즐 형식의 질의 데이터를 생성하는, 게임 봇 탐지 장치.
  8. 제1항에 있어서,
    상기 질의응답관리부는,
    저장된 질의응답 쌍 중에서,
    생성된 지 일정 시간 경과한 질의응답 쌍, 일정 횟수 이상 사용자에게 제공된 질의응답 쌍, 또는 정답률이 기 설정된 값 이상인 질의응답 쌍을 삭제하는, 게임 봇 탐지 장치.
  9. 제1항에 있어서,
    상기 질의제공부는,
    상기 의심자선정부가 의심사용자로 선정한 사용자에게 질의 데이터를 제공하는, 게임 봇 탐지 장치.
  10. 제9항에 있어서,
    상기 의심자선정부는,
    타 사용자로부터 게임 봇 의심 신고된 사용자, 게임 플레이 패턴이 기 설정된 의심 플레이 패턴에 대응하는 사용자, 또는 상기 질의응답관리부에 저장된 질의응답 쌍에 포함된 질의 데이터에 일정 횟수 이상 응답하지 않거나 잘못 응답한 사용자 중 적어도 하나를 의심사용자로 선정하는, 게임 봇 탐지 장치.
  11. 제1항에 있어서,
    상기 게임 봇 탐지 장치는,
    상기 봇판별부가 게임 봇으로 판별한 사용자의 사용자 계정 이용을 차단하는 계정접근차단부를 더 포함하는, 게임 봇 탐지 장치.
  12. 복수의 사용자가 동시에 플레이하는 온라인 게임에서 사용자의 게임 봇 이용 여부를 탐지하는 방법으로서, 게임 봇 탐지 장치에 의하여 수행되고,
    복수의 웹문서를 크롤링한 후, 크롤링된 웹문서 중 기 설정된 특정 문자열을 포함하는 웹문서를 소스 콘텐츠로 수집하는 단계;
    상기 소스 콘텐츠를 가공하여, 질의 데이터 및 상기 질의 데이터에 대응하는 응답 데이터를 생성하고, 생성된 질의 데이터 및 대응하는 응답 데이터를 하나의 질의응답 쌍으로 저장하는 단계;
    저장된 질의응답 쌍에 포함된 질의 데이터를 적어도 하나의 사용자에게 제공하는 단계; 그리고
    질의 데이터를 제공받은 상기 사용자로부터 수신된 응답을, 상기 사용자에게 제공된 질의 데이터가 포함된 질의응답 쌍의 응답 데이터와 비교하여 상기 사용자가 게임 봇인지 여부를 판별하는 단계를 포함하며,
    상기 저장된 질의응답 쌍에 포함된 질의 데이터를 적어도 하나의 사용자에게 제공하는 단계는, 복수의 사용자 중에서 상기 게임 봇으로 의심되는 하나 이상의 의심사용자를 선정하는 단계를 포함하고,
    상기 의심사용자를 선정하는 단계는, 상기 질의 데이터를 제공받은 상기 사용자로부터, 상기 사용자에게 제공된 질의 데이터가 포함된 질의응답 쌍의 응답 데이터에 대응하는 응답을 수신하지 못한 경우, 일차적으로 상기 사용자를 의심사용자로 선별하는, 게임 봇 탐지 방법.
  13. 제12항에 있어서,
    상기 저장된 질의응답 쌍에 포함된 질의 데이터를 적어도 하나의 사용자에게 제공하는 단계는,
    상기 선정된 의심사용자 각각에게 제공할 질의 데이터를 각각 추출하는 단계를 더 포함하는, 게임 봇 탐지 방법.
  14. 제12항에 있어서,
    상기 하나의 질의응답 쌍으로 저장하는 단계는,
    상기 소스 콘텐츠로부터 적어도 하나의 이미지를 추출하고, 추출된 이미지를 이용한 질문 또는 퍼즐 형식의 질의 데이터를 생성하는 단계를 포함하는, 게임 봇 탐지 방법.
  15. 제 12 항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한 기록매체.
  16. 게임 봇 탐지 장치에 의해 수행되며, 제 12 항에 기재된 방법을 수행하기 위해 기록매체에 저장된 컴퓨터 프로그램.
KR1020150165871A 2015-11-25 2015-11-25 게임 봇 탐지 장치 및 방법 KR102610113B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150165871A KR102610113B1 (ko) 2015-11-25 2015-11-25 게임 봇 탐지 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150165871A KR102610113B1 (ko) 2015-11-25 2015-11-25 게임 봇 탐지 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20170061002A KR20170061002A (ko) 2017-06-02
KR102610113B1 true KR102610113B1 (ko) 2023-12-04

Family

ID=59222565

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150165871A KR102610113B1 (ko) 2015-11-25 2015-11-25 게임 봇 탐지 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102610113B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101915802B1 (ko) * 2017-06-21 2018-11-06 넷마블 주식회사 매크로 프로그램 탐지 방법 및 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110208716A1 (en) * 2010-02-19 2011-08-25 Microsoft Corporation Image-Based CAPTCHA Exploiting Context in Object Recognition

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101051925B1 (ko) * 2009-03-12 2011-07-26 인하대학교 산학협력단 캡차 제공 방법
US8671058B1 (en) * 2009-08-07 2014-03-11 Gary Isaacs Methods and systems for generating completely automated public tests to tell computers and humans apart (CAPTCHA)
KR101171653B1 (ko) * 2010-11-26 2012-08-09 인하대학교 산학협력단 상품명의 이미지-텍스트 융합 캡차를 이용한 광고 시스템 및 방법
KR20120079621A (ko) * 2011-01-05 2012-07-13 에스케이플래닛 주식회사 게임 서비스 시스템, 그의 부정 행위 방지를 위한 게임 서비스 장치 및 게임 실행 방법
KR20140114945A (ko) * 2013-03-18 2014-09-30 한국전자통신연구원 게임 봇 탐지 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110208716A1 (en) * 2010-02-19 2011-08-25 Microsoft Corporation Image-Based CAPTCHA Exploiting Context in Object Recognition

Also Published As

Publication number Publication date
KR20170061002A (ko) 2017-06-02

Similar Documents

Publication Publication Date Title
US10924800B2 (en) Computerized system and method for automatically detecting and rendering highlights from streaming videos
JP6220440B2 (ja) モバイル・デバイスのためのキャリアの検出
JP6438135B2 (ja) ソーシャルプラットフォームに基づくデータマイニング方法及び装置
TWI628550B (zh) 合成問題制定
Valente et al. Mapping quality requirements for pervasive mobile games
US20180181558A1 (en) Method and system for facilitating a user-machine conversation
WO2016107523A1 (zh) 网站的访问路径的分析方法和装置
US20090248852A1 (en) Evaluating Entities Associations with their Respective Environments
US11775993B2 (en) Generating customized surveys using third-party social networking information
IL236810A (en) Built-in search questions based on social graph information
WO2016004584A1 (en) Method and system for providing a personalized snippet
CN106131627A (zh) 一种视频处理方法、装置及系统
CN107357903A (zh) 用户行为数据整合方法、装置及电子设备
CN104063475B (zh) 用户自定义列表处理方法和装置
CN110162603A (zh) 一种智能对话方法、动态存储方法和装置
JP2023020979A (ja) ゲームスタイルの分類
CN113626624B (zh) 一种资源识别方法和相关装置
CN111294620A (zh) 视频的推荐方法及装置
KR102610113B1 (ko) 게임 봇 탐지 장치 및 방법
CN104268246B (zh) 生成访问互联网站点指令脚本的方法及访问方法和装置
EP3794455A1 (en) Contextual digital media processing systems and methods
CN114281976A (zh) 一种模型训练方法、装置、电子设备及存储介质
KR20170121950A (ko) 온라인 게임 내에서 비정상 계정을 탐지하는 방법 및 장치
CN110215704B (zh) 游戏开启方法、装置、电子设备及存储介质
KR102147978B1 (ko) 사용자 어시스트 앱을 이용한 사용자 어시스트 시스템

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant