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

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

Info

Publication number
KR20220165079A
KR20220165079A KR1020210073603A KR20210073603A KR20220165079A KR 20220165079 A KR20220165079 A KR 20220165079A KR 1020210073603 A KR1020210073603 A KR 1020210073603A KR 20210073603 A KR20210073603 A KR 20210073603A KR 20220165079 A KR20220165079 A KR 20220165079A
Authority
KR
South Korea
Prior art keywords
user
feature vector
click
bot
game
Prior art date
Application number
KR1020210073603A
Other languages
English (en)
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 KR1020210073603A priority Critical patent/KR20220165079A/ko
Publication of KR20220165079A publication Critical patent/KR20220165079A/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/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
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • G06N5/047Pattern matching networks; Rete networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/469Contour-based spatial representations, e.g. vector-coding

Abstract

본 개시는 소정의 시간 동안 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여, 적어도 하나의 이미지를 생성하는 단계; 상기 적어도 하나의 이미지를 제1 인공지능 모델에 적용하여, 상기 사용자의 현재 특성 벡터를 획득하는 단계; 상기 사용자의 현재 특성 벡터와, 저장된 상기 사용자의 과거 특성 벡터에 기초하여, 상기 사용자의 업데이트된 특성 벡터를 획득하는 단계; 상기 사용자의 업데이트된 특성 벡터를 상기 사용자의 과거 특성 벡터로서 저장하는 단계; 및 상기 사용자의 업데이트된 특성 벡터를 제2 인공지능 모델에 적용하여, 상기 사용자가 봇(bot)인지 여부를 판단하는 단계를 포함하는, 게임 봇 탐지 방법을 제안한다.

Description

게임 봇 탐지 방법 및 장치{METHOD AND APPARATUS FOR DETECTING GAME BOT}
본 개시는 게임 봇(bot) 탐지 방법 및 장치에 관한 것이다. 보다 구체적으로는, 사용자의 클릭 데이터에 기초하여 사용자가 봇인지 여부를 탐지하는 방법 및 장치에 관한 것이다.
컴퓨팅 디바이스 및 네트워크 환경의 발달에 따라 다양한 유무선 통신 기기를 이용한 온라인 기반의 게임을 즐기는 사용자들이 크게 증가하고 있다. 온라인 게임에서, 사용자는 다른 사용자들과 대결하거나, 또는 팀 또는 동맹을 형성하여 공통적인 목표를 달성하기 위해 협동하거나, 게임 내의 경제 시스템 상에서 서로 거래하는 등의 다양한 형태의 인터랙션을 통하여 교류할 수 있다.
다만, 최근 온라인 게임에서 봇(bot)에 의한 피해가 증가하고 있다. 매크로(macro)라고도 불리는 봇은, 사용자 입력 없이도 자동으로 게임 컨텐츠를 수행하는 프로그램을 의미한다. 봇은 게임의 공정성을 해치고, 게임의 밸런스를 붕괴시켜, 정상적으로 게임을 플레이하는 사용자들 및 게임 서비스 제공자에게 큰 피해를 줄 수 있다. 따라서 게임 서비스 제공자는 사용자가 봇인지 여부를 판단하고, 검출하고 제재한다.
게임 서비스 제공자는 봇을 다양한 방법을 이용하여 탐지하는데, 서비스를 제공하는 온라인 게임의 숫자와 게임 유저의 수가 증가함에 따라 봇 여부를 판단하는 것이 점점 어려워지고 있다. 따라서, 이러한 문제점을 해결하기 위해 보다 개선된 봇 탐지 방법이 요구되고 있다.
본 개시에서는 게임 봇을 효과적으로 탐지하기 위한 방법을 제공하고자 한다.
본 개시의 다양한 실시예들에 따르면, 소정의 시간 동안 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여, 적어도 하나의 이미지를 생성하는 단계; 상기 적어도 하나의 이미지를 제1 인공지능 모델에 적용하여, 상기 사용자의 현재 특성 벡터를 획득하는 단계; 상기 사용자의 현재 특성 벡터와, 저장된 상기 사용자의 과거 특성 벡터에 기초하여, 상기 사용자의 업데이트된 특성 벡터를 획득하는 단계; 상기 사용자의 업데이트된 특성 벡터를 상기 사용자의 과거 특성 벡터로서 저장하는 단계; 및 상기 사용자의 업데이트된 특성 벡터를 제2 인공지능 모델에 적용하여, 상기 사용자가 봇(bot)인지 여부를 판단하는 단계를 포함하는, 게임 봇 탐지 방법이 제공된다.
일 실시예에 따르면, 상기 클릭 데이터는, 상기 적어도 하나의 클릭 입력의 위치 및 시각을 포함할 수 있다.
일 실시예에 따르면, 상기 클릭 데이터는 상기 적어도 하나의 클릭 입력을 수신한 게임 인터페이스에 관한 정보, 또는 상기 클릭 입력에 의하여 실행된 게임 내 동작에 관한 정보 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, 상기 클릭 데이터는 게임 로그로부터 추출되는 것일 수 있다.
일 실시예에 따르면, 상기 적어도 하나의 이미지는, 클릭 위치의 분포를 나타내는 그래프 또는 클릭 위치 변화량의 분포를 나타내는 그래프 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, 상기 적어도 하나의 이미지는, 클릭 속도의 분포를 나타내는 그래프를 더 포함할 수 있다.
일 실시예에 따르면, 상기 클릭 속도의 분포를 나타내는 그래프는, 정규화된 클릭 속도에 기초하여 생성될 수 있다.
일 실시예에 따르면, 상기 업데이트된 특성 벡터를 획득하는 단계는,
상기 사용자의 현재 특성 벡터와, 상기 저장된 상기 사용자의 특성 벡터를 제3 인공지능 모델에 적용하여, 상기 사용자의 업데이트된 특성 벡터를 획득하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 사용자의 현재 특성 벡터는 상기 소정의 시간마다 실시간으로 획득되고, 상기 사용자의 업데이트된 특성 벡터는, 상기 소정의 시간마다 상기 사용자의 현재 특성 벡터를 이용하여 실시간으로 획득 및 저장될 수 있다.
일 실시예에 따르면, 상기 사용자가 봇인지 여부를 판단하는 단계는, 상기 사용자의 업데이트된 특성 벡터를 제2 인공지능 모델에 적용하여, 상기 사용자가 봇일 확률을 추정하는 단계; 및 상기 사용자가 봇일 확률이 소정의 임계값을 초과하면, 상기 사용자를 봇으로 판단하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 게임 봇 탐지 방법은, 상기 사용자가 봇으로 판단되는 경우, 상기 사용자의 게임 서비스 이용에 페널티를 설정하는 단계를 더 포함할 수 있다.
본 개시의 다양한 실시예들에 따르면, 인스트럭션들을 저장하는 메모리; 및 상기 메모리와 기능적으로 연결되고, 상기 인스트럭션들을 실행하도록 구성되는 적어도 하나의 프로세서를 포함하는 게임 봇(bot)을 탐지하기 위한 전자 장치가 제공된다. 상기 적어도 하나의 프로세서는 상기 인스트럭션들을 실행하여, 소정의 시간 동안 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여, 적어도 하나의 이미지를 생성하고, 상기 적어도 하나의 이미지를 제1 인공지능 모델에 적용하여, 상기 사용자의 현재 특성 벡터를 획득하고, 상기 사용자의 현재 특성 벡터와, 저장된 상기 사용자의 과거 특성 벡터에 기초하여, 상기 사용자의 업데이트된 특성 벡터를 획득하고, 상기 사용자의 업데이트된 특성 벡터를 상기 사용자의 과거 특성 벡터로서 저장하고, 상기 사용자의 업데이트된 특성 벡터를 제2 인공지능 모델에 적용하여, 상기 사용자가 봇인지 여부를 판단하도록 설정될 수 있다.
일 실시예에 따르면, 상기 클릭 데이터는 상기 적어도 하나의 클릭 입력의 위치 및 시각을 포함할 수 있다.
일 실시예에 따르면, 상기 클릭 데이터는 상기 적어도 하나의 클릭 입력을 수신한 게임 인터페이스에 관한 정보 또는 상기 클릭 입력에 의하여 실행된 게임 내 동작에 관한 정보 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, 상기 클릭 데이터는 게임 로그로부터 추출될 수 있다.
일 실시예에 따르면, 상기 적어도 하나의 이미지는, 클릭 위치의 분포를 나타내는 그래프 또는 클릭 위치 변화량의 분포를 나타내는 그래프 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, 상기 적어도 하나의 이미지는, 클릭 속도의 분포를 나타내는 그래프를 더 포함할 수 있다.
일 실시예에 따르면, 상기 클릭 속도의 분포를 나타내는 그래프는, 정규화된 클릭 속도에 기초하여 생성될 수 있다.
일 실시예에 따르면, 상기 적어도 하나의 프로세서는 상기 인스트럭션들을 실행하여, 상기 사용자의 현재 특성 벡터와, 상기 저장된 상기 사용자의 특성 벡터를 제3 인공지능 모델에 적용하여, 상기 사용자의 업데이트된 특성 벡터를 획득하도록 설정될 수 있다.
일 실시예에 따르면, 상기 사용자의 현재 특성 벡터는 상기 소정의 시간마다 실시간으로 획득되고, 상기 사용자의 업데이트된 특성 벡터는, 상기 소정의 시간마다 상기 사용자의 현재 특성 벡터를 이용하여 실시간으로 획득 및 저장될 수 있다.
일 실시예에 따르면, 상기 적어도 하나의 프로세서는 상기 인스트럭션들을 실행하여, 상기 사용자의 업데이트된 특성 벡터를 제2 인공지능 모델에 적용하여, 상기 사용자가 봇일 확률을 추정하고, 상기 사용자가 봇일 확률이 소정의 임계값을 초과하면, 상기 사용자를 봇으로 판단하도록 설정될 수 있다.
일 실시예에 따르면, 상기 적어도 하나의 프로세서는 상기 인스트럭션들을 실행하여, 상기 사용자가 봇으로 판단되는 경우, 상기 사용자의 게임 서비스 이용에 페널티를 설정하도록 더 설정될 수 있다.
본 개시의 다양한 실시예들에 따르면, 인스트럭션들을 저장하는 메모리; 및 상기 메모리와 기능적으로 연결되고, 상기 인스트럭션들을 실행하도록 구성되는 적어도 하나의 프로세서를 포함하는 게임 봇(bot)을 탐지하는 서버가 제공된다. 상기 적어도 하나의 프로세서는 상기 인스트럭션들을 실행하여, 소정의 시간 동안 사용자가 사용자 단말에서 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여, 적어도 하나의 이미지를 생성하고, 상기 적어도 하나의 이미지를 제1 인공지능 모델에 적용하여, 상기 사용자의 현재 특성 벡터를 획득하고, 상기 사용자의 현재 특성 벡터와, 저장된 상기 사용자의 과거 특성 벡터에 기초하여, 상기 사용자의 업데이트된 특성 벡터를 획득하고, 상기 사용자의 업데이트된 특성 벡터를 상기 사용자의 과거 특성 벡터로서 저장하고, 상기 사용자의 업데이트된 특성 벡터를 제2 인공지능 모델에 적용하여, 상기 사용자가 봇인지 여부를 판단하도록 설정될 수 있다.
본 개시의 다양한 실시예들에 따르면, 사용자의 클릭 입력을 수신하는 사용자 입력부; 인스트럭션들을 저장하는 메모리; 및 상기 사용자 입력부 및 상기 메모리와 기능적으로 연결되고, 상기 인스트럭션들을 실행하도록 구성되는 적어도 하나의 프로세서를 포함하는 게임 컨텐츠를 이용하는 사용자 단말이 제공될 수 있다. 상기 적어도 하나의 프로세서는 상기 인스트럭션들을 실행하여, 소정의 시간 동안 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여, 적어도 하나의 이미지를 생성하고, 상기 적어도 하나의 이미지를 제1 인공지능 모델에 적용하여, 상기 사용자의 현재 특성 벡터를 획득하고, 상기 사용자의 현재 특성 벡터와, 저장된 상기 사용자의 과거 특성 벡터에 기초하여, 상기 사용자의 업데이트된 특성 벡터를 획득하고, 상기 사용자의 업데이트된 특성 벡터를 상기 사용자의 과거 특성 벡터로서 저장하고, 상기 사용자의 업데이트된 특성 벡터를 제2 인공지능 모델에 적용하여, 상기 사용자가 봇인지 여부를 판단하도록 설정될 수 있다.
본 개시의 다양한 실시예들에 따르면, 소정의 시간 동안 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여, 적어도 하나의 이미지를 생성하는 단계; 상기 적어도 하나의 이미지를 제1 인공지능 모델에 적용하여, 상기 사용자의 현재 특성 벡터를 획득하는 단계; 상기 사용자의 현재 특성 벡터와, 저장된 상기 사용자의 과거 특성 벡터에 기초하여, 상기 사용자의 업데이트된 특성 벡터를 획득하는 단계; 상기 사용자의 업데이트된 특성 벡터를 상기 사용자의 과거 특성 벡터로서 저장하는 단계; 및 상기 사용자의 업데이트된 특성 벡터를 제2 인공지능 모델에 적용하여, 상기 사용자가 봇(bot)인지 여부를 판단하는 단계를 포함하는, 게임 봇 탐지 방법을 하드웨어와 결합되어 실행시키기 위하여 매체에 저장되는 컴퓨터 프로그램이 제공된다.
본 개시의 다양한 실시예들에 따르면, 소정의 시간 동안 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여, 적어도 하나의 이미지를 생성하는 단계; 상기 적어도 하나의 이미지를 제1 인공지능 모델에 적용하여, 상기 사용자의 현재 특성 벡터를 획득하는 단계; 상기 사용자의 현재 특성 벡터와, 저장된 상기 사용자의 과거 특성 벡터에 기초하여, 상기 사용자의 업데이트된 특성 벡터를 획득하는 단계; 상기 사용자의 업데이트된 특성 벡터를 상기 사용자의 과거 특성 벡터로서 저장하는 단계; 및 상기 사용자의 업데이트된 특성 벡터를 제2 인공지능 모델에 적용하여, 상기 사용자가 봇(bot)인지 여부를 판단하는 단계를 포함하는, 게임 봇 탐지 방법을 컴퓨터상에서 실행하는 프로그램이 수록된 컴퓨터 판독가능 기록매체가 제공된다.
본 개시의 다양한 실시예들에 따르면, 사용자의 클릭 데이터에 기초하여 사용자가 봇인지 여부를 탐지하는 방법 및 장치가 제공될 수 있다.
본 개시의 다양한 실시예들에 따르면, 게임 봇을 탐지하는 보다 효과적인 방법이 제공될 수 있다.
도 1은 본 개시의 다양한 실시예들에 따른, 서버 및 사용자 단말을 포함하는 게임 제공 시스템을 도시한다.
도 2는 본 개시의 다양한 실시예들에 따른, 게임 봇을 탐지하는 방법의 흐름도이다.
도 3a 및 3b는 본 개시의 다양한 실시예들에 따른, 클릭 위치에 기초하여 생성되는 이미지의 일 예시를 도시한다.
도 4a 및 4b는 본 개시의 다양한 실시예들에 따른, 게임 봇을 탐지하는 방법을 설명하기 위한 도면이다.
도 5는 본 개시의 다양한 실시예들에 따른, 게임 봇을 탐지하는 방법의 흐름도이다.
도 6a 내지 6d는 본 개시의 다양한 실시예들에 따른, 게임 봇을 탐지하는 방법을 설명하기 위한 도면이다.
도 7은 본 개시의 다양한 실시예들에 따른, 사용자 특성 벡터를 획득하는 방법을 설명하기 위한 도면이다.
도 8은 본 개시의 다양한 실시예들에 따른, 클릭 위치의 변화량에 기초하여 생성되는 이미지의 일 예시를 도시한다.
도 9는 본 개시의 다양한 실시예들에 따른, 클릭 속도에 기초하여 생성되는 이미지의 일 예시를 도시한다.
도 10은 본 개시의 다양한 실시예들에 따른, 인공지능 모델을 구성하는 복수 개의 계층 구조를 갖는 인공 신경망을 개략적으로 도시한 도면이다.
도 11은 본 개시의 다양한 실시예들에 따른, 게임 봇을 탐지하기 위한 전자 장치의 세부적인 구성을 설명하기 위한 도면이다.
도 12는 본 개시의 다양한 실시예들에 따른 서버의 세부적인 구성을 설명하기 위한 도면이다.
도 13은 본 개시의 다양한 실시예들에 따른 사용자 단말의 세부적인 구성을 설명하기 위한 도면이다.
이하, 첨부된 도면들에 기재된 내용들을 참조하여 본 발명에 따른 예시적 실시예를 상세하게 설명한다. 또한, 첨부된 도면들에 기재된 내용들을 참조하여 본 발명의 실시예에 따른 전자 장치를 구성하고 사용하는 방법을 상세히 설명한다. 각 도면에서 제시된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되지는 않는다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. '및/또는'이라는 용어는 복수의 관련된 항목들의 조합 또는 복수의 관련된 항목들 중의 어느 하나의 항목을 포함한다.
본 명세서에서 사용한 용어는 실시예를 설명하기 위해 사용된 것으로, 본 발명을 제한 및/또는 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원서에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
명세서 전체에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 전기적으로 연결되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
이하의 본 개시에서 캐릭터란, 문맥에 따라 사용자가 제어할 수 있는 플레이어 캐릭터(player character: PC)를 가리킬 수 있음이 이해되어야 한다.
이하의 본 개시에서 캐릭터 정보란 게임 캐릭터와 관련된 정보로써, 캐릭터의 레벨, 캐릭터의 등급, 캐릭터의 누적 사용 시간, 캐릭터의 보유 금액, 캐릭터의 명성, 캐릭터의 업적 달성율, 캐릭터의 퀘스트 달성률과 같은 캐릭터의 능력 정보 및 캐릭터의 이름, 캐릭터의 외형 등 캐릭터에 대한 모든 정보를 포함할 수 있으며, 상기 예시에 제한되지 않는다.
이하의 본 개시에서 사용자 계정이란, 적어도 하나의 캐릭터를 포함한 사용자의 계정을 의미할 수 있다. 게임 내에서는 사용자가 복수의 캐릭터를 생성할 수 있으며, 복수의 캐릭터가 하나의 사용자 계정에 종속된 형태로 존재할 수 있다. 물론 상기 예시에 제한되지 않으며, 하나의 사용자 계정을 통해 게임 서비스를 제공하는 형태 또한 존재할 수도 있다.
이하의 본 개시에서 사용자 계정 정보란 사용자의 이름, 전화번호, 이메일 주소, 게임 이용 기간, 나이 등을 포함할 수 있으며, 상기 예시에 제한되지 않는다.
이하의 본 개시에서 사용자 정보란, 문맥에 따라 사용자 계정 정보, 사용자의 캐릭터 정보 또는 이들 모두를 가리킬 수 있음이 이해되어야 한다.
이하의 본 개시에서 게임 컨텐츠란, 게임 내에서 사용자가 경험할 수 있는 모든 요소를 의미할 수 있다. 예를 들어, 게임 컨텐츠는 이동, 대결, 거래, 제작 등 게임 내에서 사용자가 수행할 수 있는 소정의 활동일 수 있다. 또는 게임 컨텐츠는 미션, 퀘스트, 의뢰 등 게임 내에서 사용자가 수행할 수 있는 소정의 임무일 수도 있다. 또는 게임 컨텐츠는 스테이지, 필드, 던전, 전장 등과 같은 게임 내에서 사용자가 방문할 수 있는 소정의 공간일 수도 있다. 또는 게임 컨텐츠는 NPC 또는 그 밖의 사용자와 상호작용하는 오브젝트일 수도 있다. 또는 게임 컨텐츠는 사용자가 획득, 수집, 사용, 또는 소비할 수 있는 아이템, 골드, 캐쉬 등의 게임 내 재화일 수도 있다. 또는 게임 컨텐츠는 사용자 캐릭터 또는 사용자 계정이 달성할 수 있는 레벨, 등급, 플레이 시간, 명성, 업적 등일 수도 있다.
이하의 본 개시에서 게임 로그란 사용자가 게임 내에서 활동한 기록을 포함하는 데이터를 의미할 수 있다. 예를 들면, 게임 로그에는, 사용자가 게임에 로그인 한 기록, 사용자가 게임에 로그 아웃한 기록, 사용자의 정보를 변경한 기록, 사용자 캐릭터가 게임 내에서 수행한 행동에 대한 기록 등에 대한 정보 또는 데이터가 포함될 수 있다. 사용자 캐릭터가 게임 내에서 수행한 행동에 대한 기록은, 사용자 캐릭터의 이동, 스킬 사용, 임무 수행, 아이템 획득 및 상실, 다른 캐릭터 또는 오브젝트와의 상호작용, 커뮤니케이션, 그 밖의 게임 내에서 수행될 수 있는 모든 행동에 대한 기록을 포함할 수 있으며, 상기 예시에 제한되지 않는다.
이하의 본 개시에서 게임 제공 장치는 게임 서버, 사용자 단말, 게임 서버 및 사용자 단말을 포함하는 게임 시스템 또는 독립적인 하나의 장치일 수 있다.
이하의 본 개시에서, 서버가 사용자 단말을 제어한다는 의미는 서버가 사용자 단말과의 통신을 통해 사용자 단말에서의 출력(화면 표시, 음향 출력, 진동 출력, 램프 발광 등 사용자 단말에서의 모든 출력 장치) 및 사용자 단말이 소정의 동작을 수행하기 위한 데이터를 제공하는 것을 의미할 수 있다. 물론 사용자 단말이 기 저장된 데이터를 이용하여 사용자 단말에서의 출력을 제어할 수도 있으며, 상기 예시에 제한되지 않는다.
이하의 본 개시에서 사용자(또는 사용자 계정)와 정보 또는 데이터를 송수신한다는 의미는 사용자(또는 사용자 계정)와 대응 또는 연동된 디바이스(또는 사용자 단말)과 정보 또는 데이터를 송수신한다는 의미를 포함할 수 있다.
이하의 본 개시에서 사용자 단말과 대응되는 사용자 계정이란 사용자 단말을 통해 서비스에 로그인 또는 접속한 사용자 계정 및 사용자 단말이 정보를 저장하고 있는 사용자 계정을 포함할 수 있다. 또한 사용자 계정의 사용자 단말이란 사용자 계정이 로그인 되거나, 사용자 계정 정보가 저장되거나, 사용자 계정이 접속한 사용자 단말을 의미할 수 있다.
이하의 본 개시에서, 유저, 플레이어, 사용자, 사용자 계정, 게이머는 동일한 의미로 사용될 수 있다. 본 개시에서 사용자 단말은 문맥에 따라 유저, 플레이어, 사용자, 사용자 계정, 게이머를 가리키거나, 그들에 의해 사용되는 장치를 가리킬 수 있음이 이해되어야 한다. 본 개시에서 유저, 플레이어, 사용자, 사용자 계정, 게이머는 문맥에 따라 그들이 조작하는 아바타나 캐릭터를 가리키거나 그들에 의해 사용되는 장치를 가리킬 수 있음이 이해되어야 한다.
도 1은 본 개시의 다양한 실시예들에 따른 서버 및 사용자 단말을 포함하는 게임 제공 시스템을 도시한다.
본 개시의 게임 제공 시스템(100)은 서버(170)와 적어도 하나의 사용자 단말(110 내지 160)을 포함할 수 있다. 서버(170)는 네트워크 망을 통해 다양한 온라인 활동을 제공할 수 있다. 서버(170)는 적어도 하나의 사용자 단말(110 내지 160)에게 동시에 온라인 활동을 제공할 수 있다.
본 개시의 일 실시예에 따르면, 서버(170)라 함은, 단일 서버, 서버의 집합체, 클라우드 서버 등을 포함할 수 있으며, 상기 예시에 제한되지 않는다. 서버(170)는 다양한 온라인 활동을 제공하며, 온라인 활동을 위한 데이터를 저장하는 데이터베이스를 포함할 수 있다. 또한 서버(170)는 결제 이벤트를 생성 및 처리하는 결제 서버를 포함할 수도 있다. 앞서 설명한 바와 같이 서버(170)는 게임 제공 장치일 수 있다.
본 개시의 일 실시예에 따르면 네트워크란 모든 통신 방식을 이용하여 설립(또는 형성)된 연결을 의미하며, 단말과 단말 간의 또는 단말과 서버 간의 데이터를 송수신하는, 모든 통신 방식을 통해 연결된 통신망을 의미할 수 있다.
모든 통신 방식이라 함은 소정의 통신 규격, 소정의 주파수 대역, 소정의 프로토콜 또는 소정의 채널을 통한 통신 등 모든 통신 방식을 포함할 수 있다. 예를 들면, 블루투스, BLE, Wi-Fi, Zigbee, 3G, LTE, 초음파를 통한 통신 방식 등을 포함할 수 있으며, 근거리 통신, 원거리 통신, 무선 통신 및 유선 통신을 모두 포함할 수 있다. 물론 상기 예시에 제한되지 않는다.
본 개시의 일 실시예에 따르면 근거리 통신 방식이라 함은, 통신을 수행하는 디바이스(단말 또는 서버)가 소정의 범위 내에 있을 때에만 통신이 가능한 통신 방식을 의미할 수 있으며, 예를 들어, 블루투스, NFC 등을 포함할 수 있다. 원거리 통신 방식이라 함은, 통신을 수행하는 디바이스가 거리와 관계없이 통신이 가능한 통신 방식을 의미할 수 있다. 예를 들면, 원거리 통신 방식은 AP와 같은 중계기를 통해 통신을 수행하는 두 디바이스가 소정의 거리 이상일 때에도 통신할 수 있는 방식을 의미할 수 있으며, SMS, 전화와 같은 셀룰러 네트워크(3G, LTE)를 이용한 통신 방식을 포함할 수 있다. 물론 상기 예시에 제한되지 않는다. 네트워크 망을 이용하여 온라인 활동을 제공받는다는 의미는 모든 통신 방식을 통해 서버와 단말 간의 통신이 수행될 수 있다는 의미를 포함할 수 있다.
명세서 전체에서 적어도 하나의 사용자 단말(110 내지 160)이라 함은 퍼스널 컴퓨터(Personal Computer)(110), 태블릿(Tablet)(120), 휴대폰(Cellular Phone)(130), 노트북(140), 스마트 폰(150), TV(160) 뿐만 아니라, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 디지털 카메라, 냉장고, 세탁기, 청소기 등의 다양한 전자 디바이스를 포함할 수 있고, 상기 예시에 제한되지 않는다. 앞서 설명한 바와 같이 적어도 하나의 사용자 단말(110 내지 160)은 게임 제공 장치일 수 있다.
본 개시의 일 실시예에 따르면, 온라인 활동은 온라인 게임, 포털 서비스, SNS(Social Network Service)를 포함할 수 있으며, 상기 예시에 제한되지 않는다. 또한 온라인 게임은 스포츠, MMORPG, AOS, FPS, TCG, CCG 등 다양한 장르를 포함할 수 있다. 또한 온라인 게임은 사용자와 사용자 간의 대결 방식의 게임일 수도 있고, 사용자와 컴퓨터(예를 들면, 인공지능)과의 대결 방식일 수도 있다. 또한 대결 방식이 아닌 건설 또는 꾸밈 방식의 게임일 수도 있다. 물론 상기 예시에 제한되지 않으며 온라인 게임의 형태에는 제한이 없다.
본 개시의 다양한 실시예들에 따르면, 사용자 단말(110 내지 160)은 게임을 플레이하는 사용자의 클릭 입력에 관한 정보를 수집하여 서버(170)에 전송할 수 있다. 서버(170)는 사용자 단말(110 내지 160)으로부터 수신된 사용자의 클릭 입력에 관한 정보를 포함하는 게임 로그를 저장할 수 있다. 일 실시예에서, 클릭 데이터를 포함하는 게임 로그는 외부 저장 장치에 저장될 수 있다.
본 개시의 다양한 실시예들에 따르면, 서버(170)는 사용자가 봇(bot)인지 여부를 탐지할 수 있다. 다양한 실시예들에서, 서버(170)는 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여, 적어도 하나의 이미지를 생성할 수 있다. 서버(170)는 생성된 이미지를 제1 인공지능 모델에 적용하여, 사용자의 특성 벡터를 획득할 수 있다. 서버(170)는 사용자의 특성 벡터를 제2 인공지능 모델에 적용하여, 사용자가 봇(bot)인지 여부를 판단할 수 있다.
다양한 실시예들에서, 서버(170)는 소정의 시간 동안 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여, 적어도 하나의 이미지를 생성할 수 있다. 서버(170)는 생성된 이미지를 제1 인공지능 모델에 적용하여, 사용자의 현재 특성 벡터를 획득할 수 있다. 서버(170)는 사용자의 현재 특성 벡터와, 저장된 사용자의 과거 특성 벡터에 기초하여, 사용자의 업데이트된 특성 벡터를 획득할 수 있다. 서버(170)는 사용자의 업데이트된 특성 벡터를 상기 사용자의 과거 특성 벡터로서 저장할 수 있다. 서버(170)는 사용자의 업데이트된 특성 벡터를 제2 인공지능 모델에 적용하여, 사용자가 봇(bot)인지 여부를 판단할 수 있다.
일 실시예에서, 서버(170)는 사용자가 봇으로 판단되는 경우, 사용자의 게임 서비스 이용에 페널티를 설정할 수 있다.
일 실시예에서, 서버(170)의 동작 중 일부 또는 전부는 사용자 단말(110 내지 160)에서 수행될 수도 있다. 예를 들어, 본 개시의 다양한 실시예들에 따른 게임 봇을 탐지하기 위한 방법은 서버(170)와의 통신 없이 사용자 단말(110 내지 160)에 의해 수행될 수 있다.
일 실시예에서, 본 개시의 다양한 실시예들에 따른 게임 봇을 탐지하기 위한 방법은 게임 서비스를 제공하는 서버(170)와 별개의 전자 장치(미도시)에 의해 수행될 수 있다. 이 경우, 게임 서비스를 제공하는 서버(170)와 게임 봇을 탐지하기 위한 전자 장치는 네트워크 망을 통해 연결되어 있을 수 있다. 게임 봇을 탐지하기 위한 전자 장치는 게임 서비스를 제공하는 서버(170)로부터 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터를 획득하고, 사용자가 봇인지 여부를 나타내는 판단 결과를 서버(170)에 전송할 수 있다. 일 실시예에서, 게임 봇을 탐지하기 위한 전자 장치는 복수의 게임 서비스를 제공하는 서버(170)들과 연결되어 있을 수 있다.
도 2는 본 개시의 다양한 실시예들에 따른, 게임 봇을 탐지하는 방법의 흐름도이다. 이러한 동작은 도 1에 도시된 사용자 단말(110 내지 160) 및 서버(170), 도 11에 도시된 전자 장치(1100) 또는 전자 장치(1100)의 프로세서(1110), 또는 도 12에 도시된 서버(1200) 또는 서버(1200)의 프로세서(1210), 또는 도 13에 도시된 사용자 단말(1300) 또는 사용자 단말(1300)의 프로세서(1310)에 의해 수행될 수 있다.
도 2를 참조하면, 단계 S210에서 전자 장치는, 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여, 적어도 하나의 이미지를 생성할 수 있다.
일 실시예에서, 클릭 입력은 사용자 단말에서 수신된 클릭 또는 터치 입력을 포함할 수 있다. 사용자의 클릭 입력은 마우스, 터치패드, 또는 터치스크린 등과 같은 사용자 인터페이스를 통하여 수신될 수 있다. 일 실시예에서, 클릭 입력은 사용자가 게임 서비스를 이용하는 중에 입력된 것일 수 있다. 예를 들어, 클릭 입력은 게임 어플리케이션의 그래픽 인터페이스를 통해 수신된 것일 수 있다.
일 실시예에서, 클릭 데이터는 적어도 하나의 클릭 입력의 위치 및 시각을 포함할 수 있다. 예를 들어, 클릭 데이터는 각 클릭 입력의 좌표 및 타임스탬프를 포함할 수 있다. 일 실시예에서, 클릭 데이터는 클릭 입력의 유형을 포함할 수 있다. 예를 들어, 클릭 데이터는 왼쪽 클릭 또는 오른쪽 클릭과 같은 클릭 버튼의 종류 또는 싱글 클릭, 더블 클릭, 클릭 앤 드래그, 또는 클릭 앤 홀드 등과 같은 제스처의 종류를 포함할 수 있다.
일 실시예에서, 클릭 데이터는 적어도 하나의 클릭 입력을 수신한 게임 인터페이스에 관한 정보를 포함할 수 있다. 예를 들어, 클릭 데이터는 클릭 입력을 수신한 게임 인터페이스의 ID를 포함할 수 있다. 일 실시예에서, 클릭 데이터는 클릭 입력에 의하여 실행된 게임 내 동작에 관한 정보를 포함할 수 있다. 예를 들어, 클릭 데이터는 클릭 입력에 의하여 플레이어 캐릭터가 수행한 행동(예: 이동, 공격, 스킬 또는 아이템 사용, 퀘스트 수행, 보상 획득 등) 및 그 대상에 관한 정보를 포함할 수 있다. 예를 들어, 클릭 데이터는 클릭 입력에 의하여 이용된 게임 컨텐츠 또는 게임 어플리케이션의 기능(예: 스테이지 입장, 친구 추가, 캐릭터 정보 확인, 결제 등)에 관한 정보를 포함할 수 있다.
일 실시예에서, 상기 클릭 데이터는 저장된 게임 로그에 포함되어 있을 수 있다. 일 실시예에서, 전자 장치는 사용자의 게임 로그를 분석하여, 사용자가 봇인지 여부를 판단하기 위한 클릭 데이터를 추출할 수 있다.
일 실시예에서, 전자 장치는 소정의 시간 동안 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터를 추출할 수 있다. 예를 들어, 전자 장치는 최근 15분 동안의 사용자의 클릭 입력에 관한 클릭 데이터를 추출할 수 있다.
다양한 실시예들에서, 클릭 데이터에 기초하여 생성되는 적어도 하나의 이미지는, 클릭 데이터의 통계적 분포를 나타내는 그래프일 수 있다. 예를 들어, 상기 적어도 하나의 이미지는 산점도, 확률 밀도 그래프, 또는 히스토그램 중 적어도 하나를 포함할 수 있다. 일 실시예에서, 상기 적어도 하나의 이미지는 클릭 위치의 분포를 나타내는 그래프를 포함할 수 있다. 일 실시예에서, 상기 적어도 하나의 이미지는 클릭 위치 변화량의 분포를 나타내는 그래프를 포함할 수 있다. 일 실시예에서, 상기 적어도 하나의 이미지는 클릭 속도 변화량의 분포를 나타내는 그래프를 포함할 수 있다.
단계 S220에서 전자 장치는, 적어도 하나의 이미지를 제1 인공지능 모델에 적용하여, 사용자의 특성 벡터를 획득할 수 있다. 사용자의 특성 벡터란, 상기 적어도 하나의 이미지의 특성, 즉 사용자의 클릭 입력의 특성을 나타내는 벡터일 수 있다. 일 실시예에서, 사용자의 특성 벡터는 상기 적어도 하나의 이미지를 압축한 결과일 수 있다.
일 실시예에서, 제1 인공지능 모델은 이미지를 분석하여 이미지의 특성을 식별하기 위한 인공지능 모델일 수 있다. 제1 인공지능 모델은 입력된 이미지를 분석하여, 이미지의 특성을 나타내는 특성 벡터를 출력할 수 있다. 출력된 특성 벡터는 이미지에 포함된 오브젝트의 위치나 배치, 색상 등에 대한 특성을 포함할 수 있다.
일 실시예에서, 제1 인공지능 모델은 기계학습, 신경망, 유전자, 딥러닝, 분류 알고리즘 중 적어도 하나를 이용하여 학습된 인공지능 모델일 수 있다. 일 실시예에서, 제1 인공지능 모델은 미리 정상 사용자 또는 봇으로 라벨링(labeling)된 클릭 데이터를 학습 데이터로 하여 학습된 인공지능 모델일 수 있다.
단계 S230에서 전자 장치는, 사용자의 특성 벡터를 제2 인공지능 모델에 적용하여, 상기 사용자가 봇(bot)인지 여부를 판단할 수 있다.
일 실시예에서, 제2 인공지능 모델은 사용자의 클릭 입력의 특성으로부터 사용자를 정상 사용자 또는 봇으로 분류하기 위한 인공지능 모델일 수 있다. 일 실시예에서, 제2 인공지능 모델은 사용자의 특성 벡터를 입력받아 사용자가 봇일 확률을 추정하는 인공지능 모델일 수 있다. 일 실시예에서, 전자 장치는 제2 인공지능 모델에서 출력된 확률이 소정의 임계값을 초과하면, 상기 사용자를 봇으로 판단할 수 있다.
일 실시예에서, 제2 인공지능 모델은 기계학습, 신경망, 유전자, 딥러닝, 분류 알고리즘 중 적어도 하나를 이용하여 학습된 인공지능 모델일 수 있다. 일 실시예에서, 제2 인공지능 모델은 미리 정상 사용자 또는 봇으로 라벨링(labeling)된 사용자 특성 벡터를 학습 데이터로 하여 학습된 인공지능 모델일 수 있다.
일 실시예에서, 전자 장치는 제2 인공지능 모델에서 출력된 결과값의 신뢰도를 판단하고, 상기 신뢰도가 소정의 임계값을 초과하면 상기 결과값에 따라 사용자가 봇인지 여부를 판단할 수 있다. 일 실시예에서, 전자 장치는 사용자가 소정의 횟수 이상 봇으로 판단되는 경우, 최종적으로 사용자가 봇이라고 결정할 수 있다. 일 실시예에서, 전자 장치는 사용자가 봇인지 여부에 대한 판단 결과를 저장할 수 있다.
일 실시예에서, 전자 장치는 사용자가 봇으로 판단되는 경우, 사용자의 게임 서비스 이용에 페널티를 설정할 수 있다. 예를 들어, 전자 장치는 사용자의 게임 서비스 이용을 차단하거나, 사용자의 계정을 삭제할 수 있다. 다른 예를 들어, 전자 장치는 사용자가 특정한 게임 컨텐츠를 이용하지 못하도록 설정할 수 있다. 다른 예를 들어, 전자 장치는 사용자가 게임 컨텐츠에서 획득하는 점수, 경험치, 또는 게임 재화의 양을 감소시키도록 설정하거나, 이미 획득한 것을 회수할 수 있다.
도 3a 및 도 3b는 본 개시의 다양한 실시예들에 따른, 클릭 위치에 기초하여 생성되는 이미지의 일 예시를 도시한다.
도 3a를 참조하면, 소정의 시간 동안 정상 사용자의 클릭 위치 분포를 나타내는 산점도(300)와 봇의 클릭 위치 분포를 나타내는 산점도(310)의 일 예시가 도시된다. 각 산점도(300, 310)의 가로축은 클릭 입력의 x 좌표, 세로축은 클릭 입력의 y 좌표를 나타내며, 각각의 점이 하나의 클릭 입력을 나타낸다. 각 산점도(300, 310)의 상단 및 우측의 그래프는 각각 x 좌표 및 y 좌표에 대하여 클릭 입력의 횟수 분포를 나타내는 히스토그램이다.
도 3b를 참조하면, 소정의 시간 동안 정상 사용자의 클릭 위치 분포를 나타내는 확률 밀도 그래프(350)와 봇의 클릭 위치 분포를 나타내는 확률 밀도 그래프(360)의 일 예시가 도시된다. 각 확률 밀도 그래프(350, 360)의 가로축은 클릭 입력의 x 좌표, 세로축은 클릭 입력의 y 좌표를 나타내며, 그래프의 농담은 전체 클릭 횟수 대비 해당 좌표(x, y)에서의 클릭 횟수를 가리키는 확률 밀도를 나타낸다. 각 확률 밀도 그래프(350, 360)의 상단 및 우측의 그래프는 각각 x 좌표 및 y 좌표에 대하여 클릭 입력의 횟수 분포를 나타내는 히스토그램이다.
일반적으로, 정상 사용자와 봇은 클릭 위치의 분포에서 뚜렷한 차이를 보인다. 인간의 경우 게임 플레이 시 다양한 동작을 수행하고, 또한 클릭 입력 조작에 있어 오차가 발생할 수도 있는 반면, 봇은 미리 설정된 동작만을 반복적으로 수행하도록 설정되어 있다. 따라서 일반 유저의 경우 클릭 위치가 넓은 영역에 불규칙적으로 분포하는 반면, 봇의 경우 클릭 위치가 좁은 영역에 규칙성 있게 분포하는 경향이 있다. 그러므로, 봇의 클릭 위치에 기초하여 생성된 이미지에서는 정상 사용자의 클릭 위치에 기초하여 생성된 이미지와는 구분되는 특징이 나타날 수 있다. 예를 들어, 산점도(310)에서 예시적으로 도시되는 바와 같이, 클릭 위치가 게임 인터페이스의 모양에 따라 사각형에 가깝게 분포하거나, 확률 밀도 그래프(360)에서 예시적으로 도시되는 바와 같이, 클릭 위치가 특정 지점을 중심으로 한 가우시안 분포를 나타내는 것과 같은 특징이 나타날 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 클릭 위치의 분포를 나타내는 이미지에 나타난 정상 사용자와 봇을 구분하는 특성을 추출하기 위하여, 인공지능 모델이 사용될 수 있다. 전자 장치는 클릭 위치의 분포를 나타내는 이미지를 제1 인공지능 모델에 입력할 수 있다. 제1 인공지능 모델은 입력된 이미지를 분석하여, 사용자의 클릭 위치 분포의 특성을 나타내는 특성 벡터를 출력할 수 있다. 출력된 특성 벡터는 이미지에 포함된 오브젝트의 위치나 배치, 색상 등에 대한 특성을 포함할 수 있다.
도 4a 및 4b는 본 개시의 다양한 실시예들에 따른, 게임 봇을 탐지하는 방법을 설명하기 위한 도면이다.
도 4a를 참조하면, 사용자의 클릭 데이터에 기초하여 게임 봇을 탐지하는 과정의 일 예시가 도시된다. 게임 봇을 탐지하기 위한 전자 장치는, 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여 생성된 이미지(410)를 획득할 수 있다. 일 실시예에서, 이미지(410)는 누적된 사용자의 클릭 데이터 전체에 기초하여 생성된 것일 수 있다. 일 실시예에서, 이미지(410)는 사용자가 수행한 클릭 입력의 클릭 위치 분포를 나타내는 그래프일 수 있다. 일 실시예에서, 이미지(410)는 사용자의 게임 로그로부터 추출된 클릭 데이터에 기초하여 생성될 수 있다.
일 실시예에서, 전자 장치는 이미지(410)를 제1 인공지능 모델(420)에 적용하기 위하여 이미지(410)를 규격화할 수 있다. 클릭 데이터에서 클릭 입력의 위치를 나타내는 좌표의 범위는 사용자 단말의 디스플레이 해상도 및 게임 어플리케이션 설정에 따라 달라질 수 있으므로, 클릭 데이터에 기초하여 생성되는 이미지(410)의 크기 역시 달라질 수 있다. 이 경우, 전자 장치는 제1 인공지능 모델(420)에 입력되는 이미지가 동일한 크기를 갖도록, 생성된 이미지(410)를 소정의 크기로 규격화할 수 있다.
전자 장치는 이미지(410)의 특징을 식별하기 위하여, 이미지(410)를 제1 인공지능 모델(420)에 입력할 수 있다. 제1 인공지능 모델(420)은 입력된 이미지(410)를 분석하여, 이미지(410)의 특성을 나타내는 사용자 특성 벡터(430)를 출력할 수 있다.
일 실시예에서, 제1 인공지능 모델(420)은 기계학습, 신경망, 유전자, 딥러닝, 분류 알고리즘 중 적어도 하나를 이용하여 학습된 인공지능 모델일 수 있다. 일 실시예에서, 제1 인공지능 모델(420)은 미리 정상 사용자 또는 봇으로 라벨링(labeling)된 클릭 데이터에 기초하여 생성된 이미지를 학습 데이터로 하여 학습된 인공지능 모델일 수 있다.
예를 들어, 제1 인공지능 모델(420)은 컨볼루션 뉴럴 네트워크(convolution neural network, CNN)를 이용하여, 이미지 내에 포함된 적어도 하나의 오브젝트의 특성을 식별하는 인공지능 모델일 수 있다.
사용자 특성 벡터(430)란, 이미지(410)의 특성을 나타내는 벡터일 수 있다. 이미지(410)는 사용자의 클릭 데이터에 기초하여 생성된 것이므로, 사용자 특성 벡터(430)는 사용자의 클릭 입력의 특성을 나타내는 벡터일 수 있다. 사용자 특성 벡터(430)는 이미지(410)에 포함된 오브젝트의 위치나 배치, 색상 등에 대한 특성을 포함할 수 있다. 일 실시예에서, 사용자 특성 벡터(430)는 이미지(410)를 압축한 결과일 수 있다.
전자 장치는 사용자가 봇인지 여부를 판별하기 위하여, 사용자 특성 벡터(430)를 제2 인공지능 모델(440)에 입력할 수 있다. 제2 인공지능 모델(440)은 입력된 사용자 특성 벡터(430)로부터 사용자가 봇일 확률(450)을 추정하는 인공지능 모델일 수 있다. 일 실시예에서, 전자 장치는 제2 인공지능 모델(440)에서 출력된 확률(450)이 소정의 임계값을 초과하면, 상기 사용자를 봇으로 판단할 수 있다.
일 실시예에서, 제2 인공지능 모델(440)은 기계학습, 신경망, 유전자, 딥러닝, 분류 알고리즘 중 적어도 하나를 이용하여 학습된 인공지능 모델일 수 있다. 일 실시예에서, 제2 인공지능 모델(440)은 미리 정상 사용자 또는 봇으로 라벨링(labeling)된 사용자 특성 벡터를 학습 데이터로 하여 학습된 인공지능 모델일 수 있다.
도 4b를 참조하면, 사용자의 클릭 데이터에 기초하여 게임 봇을 탐지하는 과정의 다른 예시가 도시된다. 도 4b의 제1 인공지능 모델(420) 및 제2 인공지능 모델(440)은 도 4a의 제1 인공지능 모델(420) 및 제2 인공지능 모델(440)에 상응할 수 있으므로, 중복되는 설명은 생략한다.
도 4a에 도시된 것과 달리, 도 4b에서 전자 장치는 상대적으로 짧은 시간 동안 수집된 데이터에 기초하여 생성된 이미지(411)를 이용하여 사용자가 봇인지 여부를 판단할 수 있다. 예를 들어, 이미지(411)는 최근 15분간 누적된 사용자의 클릭 데이터에 기초하여 생성된 것일 수 있다. 이 때, 이미지(411)를 제1 인공지능 모델(420)에 입력하여 획득되는 사용자 특성 벡터(431)는 사용자의 최근 클릭 입력의 특성을 나타내는 사용자의 '현재' 특성 벡터일 수 있다. 또한 사용자 특성 벡터(431)를 제2 인공지능 모델(440)에 입력하여 획득되는 사용자가 봇일 확률(451)은 '현재' 사용자가 봇인지 여부, 즉 사용자가 현재 매크로 프로그램을 사용하고 있는지 여부를 나타낼 수 있다.
이 경우, 판단의 기초가 되는 클릭 입력의 개수가 상대적으로 적기 때문에, 클릭 데이터를 추출하고, 클릭 데이터로부터 이미지(411)를 생성하고, 이미지(411)를 분석하여 사용자 특성 벡터(413)를 획득하는 데에 요구되는 연산량 및 메모리는 크게 줄어들 수 있다. 그러나, 이 때 이미지(411) 및 사용자 특성 벡터(431)는 사용자가 봇인지 여부를 판단하기에 충분한 정보를 포함하고 있지 않을 수 있다.
다시 말해, 사용자가 봇인지 여부를 판단하기 위해 장기간 누적된 클릭 데이터를 이용할 경우, 판단의 정확도는 높아지나, 데이터의 보관 및 게임 봇 탐지에 많은 컴퓨팅 자원이 필요하고 실시간으로 게임 봇을 탐지하기가 어려워질 수 있다. 반면 사용자가 봇인지 여부를 판단하기 위해 최근 단시간 동안의 클릭 데이터만을 이용할 경우, 자원이 절약되고 속도가 빨라질 수 있으나, 과거에 발생한 클릭 입력의 정보를 잃게 되어 오탐 또는 미탐의 가능성이 높아질 수 있다.
상술한 문제점을 해결하기 위하여, 이하 도 5 내지 6d를 참조하여 본 개시의 다른 실시예들을 제안한다.
도 5는 본 개시의 다양한 실시예들에 따른, 게임 봇을 탐지하는 방법의 흐름도이다. 이러한 동작은 도 1에 도시된 사용자 단말(110 내지 160) 및 서버(170), 도 11에 도시된 전자 장치(1100) 또는 전자 장치(1100)의 프로세서(1110), 또는 도 12에 도시된 서버(1200) 또는 서버(1200)의 프로세서(1210), 또는 도 13에 도시된 사용자 단말(1300) 또는 사용자 단말(1300)의 프로세서(1310)에 의해 수행될 수 있다.
도 5를 참조하면, 단계 S510에서 전자 장치는, 소정의 시간 동안 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여, 적어도 하나의 이미지를 생성할 수 있다. 단계 S510은 도 2의 단계 S210에 상응할 수 있으므로, 중복되는 설명은 생략한다.
일 실시예에서, 소정의 시간은 봇을 실시간으로 탐지하여 제재할 수 있을 만큼은 짧고, 충분한 클릭 데이터를 수집할 만큼은 긴 시간으로 결정될 수 있다. 예를 들어, 소정의 시간은 15분으로 결정될 수 있다. 물론 상기 예시에 제한되지 않으며, 소정의 시간은 제공되는 게임 서비스에 따라 다르게 설정될 수 있다.
일 실시예에서, 상기 클릭 데이터는 저장된 게임 로그에 포함되어 있을 수 있다. 일 실시예에서, 전자 장치는 사용자의 게임 로그를 분석하여, 소정의 시간 동안 누적된 클릭 데이터를 추출할 수 있다.
일 실시예에서, 전자 장치는 소정의 시간 동안 사용자가 수행한 클릭 입력의 개수가 소정의 임계값 이상일 경우, 상기 소정의 시간 동안의 클릭 입력에 관한 클릭 데이터에 기초하여 사용자가 봇인지 여부를 판단하고, 상기 클릭 데이터에 기초하여 적어도 하나의 이미지를 생성할 수 있다. 예를 들어, 전자 장치는 상기 소정의 시간 동안 게임 로그에 기록된 클릭 입력의 개수가 100개 이상일 경우, 상기 클릭 입력에 관한 클릭 데이터에 기초하여 사용자가 봇인지 여부를 판단하는 절차를 개시할 수 있다. 소정의 시간 동안 사용자가 수행한 클릭 입력의 개수가 소정의 임계값 미만일 경우, 전자 장치는 소정의 시간 동안 사용자가 수행한 클릭 입력의 개수가 소정의 임계값 이상이 될 때까지 대기할 수 있다. 일 실시예에서, 전자 장치는 소정의 시간마다 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터를 추출하기를 반복할 수 있다.
단계 S520에서 전자 장치는, 적어도 하나의 이미지를 제1 인공지능 모델에 적용하여, 사용자의 현재 특성 벡터를 획득할 수 있다. 단계 S520 은 도 2의 단계 S220에 상응할 수 있으므로, 중복되는 설명은 생략한다.
단계 S530에서 전자 장치는, 사용자의 현재 특성 벡터와, 저장된 사용자의 과거 특성 벡터에 기초하여, 사용자의 업데이트된 특성 벡터를 획득할 수 있다. 사용자의 현재 특성 벡터는 단계 S510 및 S520을 통해 획득된, 소정의 시간 동안 사용자가 수행한 클릭 입력의 특성, 즉 현재 클릭 입력의 특성을 나타내는 벡터를 의미한다. 사용자의 과거 특성 벡터는, 소정의 시간 이전에 사용자가 수행했던 클릭 입력의 특성, 즉 과거 클릭 입력의 특성을 나타내는 벡터를 의미한다. 일 실시예에서, 사용자의 과거 특성 벡터는 이전에 사용자가 봇인지 여부를 판단했을 때 사용되었던 업데이트된 특성 벡터일 수 있다. 사용자의 업데이트된 특성 벡터는, 사용자의 과거 클릭 입력의 특성에 현재 클릭 입력의 특성을 추가로 반영한 특성 벡터를 의미한다.
일 실시예에서, 사용자의 과거 특성 벡터는 외부 저장 장치에 저장되어 있을 수 있다. 일 실시예에서, 만일 저장된 사용자의 과거 특성 벡터가 없다면, 전자 장치는 영(0)벡터를 사용자의 과거 특성 벡터로 사용할 수 있다.
일 실시예에서, 전자 장치는 사용자의 현재 특성 벡터와 저장된 사용자의 과거 특성 벡터를 제3 인공지능 모델에 적용하여, 사용자의 업데이트된 특성 벡터를 획득할 수 있다. 일 실시예에서, 제3 인공지능 모델은 과거의 특성 벡터와 현재의 특성 벡터를 융합하여, 사용자의 과거 클릭 입력의 특성과 현재 클릭 입력의 특성을 모두 반영한 특성 벡터를 얻기 위한 인공지능 모델일 수 있다. 일 실시예에서, 제3 인공지능 모델은 기계학습, 신경망, 유전자, 딥러닝, 분류 알고리즘 중 적어도 하나를 이용하여 학습된 인공지능 모델일 수 있다.
일 실시예에서, 사용자의 업데이트된 특성 벡터는 사용자의 현재 특성 벡터와 사용자의 과거 특성 벡터 간에 벡터 연산을 수행하여 획득될 수 있다. 수행되는 벡터 연산은 예를 들어, 합, 선형 결합, Hadamard product, 또는 푸리에 변환 등을 포함할 수 있다. 물론, 상기 예시들에 제한되지 않는다.
다른 실시예에서, 사용자의 업데이트된 특성 벡터는 사용자의 현재 특성 벡터와 사용자의 과거 특성 벡터를 이어 붙여 획득될 수 있다. 예를 들어, 사용자의 현재 특성 벡터가 n차 벡터이고, 사용자의 과거 특성 벡터가 m차 벡터인 경우, 사용자의 업데이트된 특성 벡터는 n + m차 벡터일 수 있다. 이 경우, 사용자의 특성 벡터의 길이는 업데이트를 거칠수록 길어질 수 있다.
단계 S540에서 전자 장치는, 사용자의 업데이트된 특성 벡터를 사용자의 과거 특성 벡터로서 저장할 수 있다. 저장된 사용자의 업데이트된 특성 벡터는, 이후에 다시 사용자가 봇인지 여부를 판단할 때에, 단계 S530에서 사용자의 과거 특성 벡터로서 사용될 수 있다. 일 실시예에서, 전자 장치는 소정의 시간마다 사용자의 현재 특성 벡터를 이용하여 사용자의 업데이트된 특성 벡터를 획득하고 저장하기를 반복할 수 있다. 일 실시예에서, 사용자의 업데이트된 특성 벡터는 외부 저장 장치에 저장될 수 있다.
단계 S550에서 전자 장치는, 사용자의 업데이트된 특성 벡터를 제2 인공지능 모델에 적용하여, 상기 사용자가 봇인지 여부를 판단할 수 있다. 단계 S550은 도 2의 단계 S230에 상응할 수 있으므로, 중복되는 설명은 생략한다.
도 6a 내지 6d는 본 개시의 다양한 실시예들에 따른, 게임 봇을 탐지하는 방법을 설명하기 위한 도면이다. 도 6a 내지 6d는, 도 5에서 설명된 게임 봇 탐지 방법에 기초하여 사용자가 봇인지 여부를 판단하는 연속된 4번의 판단 과정을 도시하고 있다.
도 6a는 사용자가 봇인지 여부에 관한 첫 번째 판단 과정(600)을 도시한다. 게임 봇을 탐지하기 위한 전자 장치는, 첫 번째 기간(예를 들어, 4시 00분 ~ 4시 15분) 동안 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여 생성된 제1 이미지(610)를 획득할 수 있다. 일 실시예에서, 제1 이미지(610)는 사용자가 수행한 클릭 입력의 클릭 위치 분포를 나타내는 그래프일 수 있다. 일 실시예에서, 제1 이미지(610)는 사용자의 게임 로그로부터 추출된 첫 번째 기간 동안의 클릭 데이터에 기초하여 생성될 수 있다.
전자 장치는 제1 이미지(610)의 특징을 식별하기 위하여, 제1 이미지(610)를 제1 인공지능 모델(620)에 입력할 수 있다. 제1 인공지능 모델(620)은 도 4a 및 4b의 제1 인공지능 모델(420)에 상응할 수 있으므로, 중복되는 설명은 생략한다. 제1 인공지능 모델(620)은 입력된 제1 이미지(610)를 분석하여, 제1 이미지(610)의 특성을 나타내는 제1 현재 사용자 특성 벡터(630)를 출력할 수 있다. 제1 현재 사용자 특성 벡터(630)는 첫 번째 기간(4시 00분 ~ 4시 15분) 동안의 클릭 입력의 특성을 나타내는 벡터일 수 있다.
전자 장치는 제1 현재 사용자 특성 벡터(630)와 제1 과거 사용자 특성 벡터(640)를 업데이트 모듈(650)에 입력하여, 제1 업데이트된 사용자 특성 벡터(660)를 획득할 수 있다. 다만 사용자가 봇인지 여부를 처음으로 판단하는 경우, 제1 과거 사용자 특성 벡터(640)는 존재하지 않을 수 있다. 이 경우, 전자 장치는 제1 과거 사용자 특성 벡터(640)를 영(0)벡터로 설정할 수 있다. 즉, 제1 과거 사용자 특성 벡터(640)는 어떤 클릭 데이터도 반영하지 않는 빈 이미지(645)에 대응되는 것일 수 있다. 또한 이 경우, 제1 업데이트된 사용자 특성 벡터(660)는 제1 현재 사용자 특성 벡터(630)와 동일할 수 있다. 즉, 제1 업데이트된 사용자 특성 벡터(660)는 첫 번째 기간(4시 00분 ~ 4시 15분) 동안 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여 생성된 이미지(665)에 대응될 수 있다.
일 실시예에서, 업데이트 모듈(650)은 제3 인공지능 모델일 수 있다. 일 실시예에서, 제3 인공지능 모델은 과거와 현재의 특성 벡터를 융합하여, 사용자의 과거 클릭 입력의 특성과 현재 클릭 입력의 특성을 모두 반영한 특성 벡터를 얻기 위한 인공지능 모델일 수 있다. 일 실시예에서, 제3 인공지능 모델은 기계학습, 신경망, 유전자, 딥러닝, 분류 알고리즘 중 적어도 하나를 이용하여 학습된 인공지능 모델일 수 있다.
일 실시예에서, 업데이트 모듈(650)은 사용자의 현재 특성 벡터와 사용자의 과거 특성 벡터 간에 벡터 연산을 수행하는 모듈일 수 있다. 다른 실시예에서, 업데이트 모듈(650)은 사용자의 현재 특성 벡터와 사용자의 과거 특성 벡터를 이어 붙이는 모듈일 수 있다.
전자 장치는 다음 판단 시에 사용하기 위하여, 제1 업데이트된 사용자 특성 벡터(660)를 외부 메모리(670)에 저장할 수 있다.
전자 장치는 사용자가 봇인지 여부를 판별하기 위하여, 제1 업데이트된 사용자 특성 벡터(660)를 제2 인공지능 모델(680)에 입력할 수 있다. 제2 인공지능 모델(680)은 도 4a 및 4b의 제2 인공지능 모델(440)에 상응할 수 있으므로, 중복되는 설명은 생략한다. 제2 인공지능 모델(680)은 입력된 제1 업데이트된 사용자 특성 벡터(660)로부터 사용자가 봇일 확률(690)을 추정하여 출력할 수 있다.
이 시점에서, 사용자가 봇인지 여부에 관한 판단은 단지 15분간의 클릭 데이터에만 기초한 것이므로, 사용자가 봇일 확률(690)의 신뢰도는 충분히 높지 않을 수 있다. 따라서 전자 장치는 최초의 판단 결과에 의해 사용자가 봇인지 여부의 결론을 내리지 않고, 판단 결과의 신뢰도가 충분히 높아질 때까지 대기할 수 있다.
도 6b는 사용자가 봇인지 여부에 관한 두 번째 판단 과정(601)을 도시한다. 도 6b의 제1 인공지능 모델(620), 업데이트 모듈(650), 외부 메모리(670) 및 제2 인공지능 모델(680)은 도 6a에 도시된 것과 동일하다.
게임 봇을 탐지하기 위한 전자 장치는, 첫 번째 판단 이후 두 번째 기간(예를 들어, 4시 15분 ~ 4시 30분) 동안 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여 생성된 제2 이미지(611)를 획득할 수 있다. 전자 장치는 제2 이미지(611)를 제1 인공지능 모델(620)에 입력하여, 제2 이미지(611)의 특성을 나타내는 제2 현재 사용자 특성 벡터(631)를 출력할 수 있다. 제2 현재 사용자 특성 벡터(631)는 두 번째 기간(4시 15분 ~ 4시 30분) 동안의 클릭 입력의 특성을 나타내는 벡터일 수 있다.
전자 장치는 외부 메모리(670)로부터 제2 과거 사용자 특성 벡터(641)를 획득할 수 있다. 제2 과거 사용자 특성 벡터(641)는, 앞서 도 6a에 도시된 첫 번째 판단 과정(600)에서 외부 메모리(670)에 저장된 제1 업데이트된 사용자 특성 벡터(660)일 수 있다. 즉, 제2 과거 사용자 특성 벡터(641)는 첫 번째 기간(4시 00분 ~ 4시 15분) 동안의 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여 생성된 이미지(646)에 대응될 수 있다.
전자 장치는 제2 현재 사용자 특성 벡터(631)와 제2 과거 사용자 특성 벡터(641)를 업데이트 모듈(650)에 입력하여, 제2 업데이트된 사용자 특성 벡터(661)를 획득할 수 있다. 제2 업데이트된 사용자 특성 벡터(661)는 첫 번째 기간 및 두 번째 기간(4시 00분 ~ 4시 30분) 동안 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여 생성된 이미지(666)에 대응될 수 있다. 전자 장치는 다음 판단 시에 사용하기 위하여, 제2 업데이트된 사용자 특성 벡터(661)를 외부 메모리(670)에 저장할 수 있다.
전자 장치는 사용자가 봇인지 여부를 판별하기 위하여, 제2 업데이트된 사용자 특성 벡터(661)를 제2 인공지능 모델(680)에 입력할 수 있다. 제2 인공지능 모델(680)은 입력된 제2 업데이트된 사용자 특성 벡터(661)로부터 사용자가 봇일 확률(691)을 추정하여 출력할 수 있다.
같은 방식으로, 도 6c는 사용자가 봇인지 여부에 관한 세 번째 판단 과정(602)을 도시한다. 도 6c의 제1 인공지능 모델(620), 업데이트 모듈(650), 외부 메모리(670) 및 제2 인공지능 모델(680)은 도 6a에 도시된 것과 동일하다.
게임 봇을 탐지하기 위한 전자 장치는, 두 번째 판단 이후 세 번째 기간(예를 들어, 4시 30분 ~ 4시 45분) 동안 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여 생성된 제3 이미지(612)를 획득할 수 있다. 전자 장치는 제3 이미지(612)를 제1 인공지능 모델(620)에 입력하여, 제3 이미지(612)의 특성을 나타내는 제3 현재 사용자 특성 벡터(632)를 출력할 수 있다. 제3 현재 사용자 특성 벡터(632)는 세 번째 기간(4시 30분 ~ 4시 45분) 동안의 클릭 입력의 특성을 나타내는 벡터일 수 있다.
전자 장치는 외부 메모리(670)로부터 제3 과거 사용자 특성 벡터(642)를 획득할 수 있다. 제3 과거 사용자 특성 벡터(642)는, 앞서 도 6b의 두 번째 판단 과정(601)에서 외부 메모리(670)에 저장된 제2 업데이트된 사용자 특성 벡터(661)이다. 즉, 제3 과거 사용자 특성 벡터(642)는 첫 번째 기간 및 두 번째 기간(4시 00분 ~ 4시 30분) 동안 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여 생성된 이미지(647)에 대응될 수 있다.
전자 장치는 제3 현재 사용자 특성 벡터(632)와 제3 과거 사용자 특성 벡터(642)를 업데이트 모듈(650)에 입력하여, 제3 업데이트된 사용자 특성 벡터(662)를 획득할 수 있다. 제3 업데이트된 사용자 특성 벡터(662)는 첫 번째 기간 내지 세 번째 기간(4시 00분 ~ 4시 45분) 동안 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여 생성된 이미지(667)에 대응될 수 있다. 전자 장치는 다음 판단 시에 사용하기 위하여, 제3 업데이트된 사용자 특성 벡터(662)를 외부 메모리(670)에 저장할 수 있다.
전자 장치는 사용자가 봇인지 여부를 판별하기 위하여, 제3 업데이트된 사용자 특성 벡터(662)를 제2 인공지능 모델(680)에 입력할 수 있다. 제2 인공지능 모델(680)은 입력된 제3 업데이트된 사용자 특성 벡터(662)로부터 사용자가 봇일 확률(692)을 추정하여 출력할 수 있다.
같은 방식으로, 도 6d는 사용자가 봇인지 여부에 관한 네 번째 판단 과정(603)을 도시한다. 도 6d의 제1 인공지능 모델(620), 업데이트 모듈(650), 외부 메모리(670) 및 제2 인공지능 모델(680)은 도 6a에 도시된 것과 동일하다.
게임 봇을 탐지하기 위한 전자 장치는, 세 번째 판단 이후 네 번째 기간(예를 들어, 4시 45분 ~ 5시 00분) 동안 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여 생성된 제4 이미지(613)를 획득할 수 있다. 전자 장치는 제4 이미지(613)를 제1 인공지능 모델(620)에 입력하여, 제4 이미지(613)의 특성을 나타내는 제4 현재 사용자 특성 벡터(633)를 출력할 수 있다. 제4 현재 사용자 특성 벡터(633)는 네 번째 기간(4시 45분 ~ 5시 00분) 동안의 클릭 입력의 특성을 나타내는 벡터일 수 있다.
전자 장치는 외부 메모리(670)로부터 제4 과거 사용자 특성 벡터(643)를 획득할 수 있다. 제4 과거 사용자 특성 벡터(643)는, 앞서 도 6c의 세 번째 판단 과정(602)에서 외부 메모리(670)에 저장된 제3 업데이트된 사용자 특성 벡터(662)이다. 즉, 제4 과거 사용자 특성 벡터(643)는 첫 번째 기간 내지 세 번째 기간(4시 00분 ~ 4시 45분) 동안 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여 생성된 이미지(648)에 대응될 수 있다.
전자 장치는 제4 현재 사용자 특성 벡터(633)와 제4 과거 사용자 특성 벡터(643)를 업데이트 모듈(650)에 입력하여, 제4 업데이트된 사용자 특성 벡터(663)를 획득할 수 있다. 제4 업데이트된 사용자 특성 벡터(663)는 첫 번째 기간 내지 네 번째 기간(4시 00분 ~ 5시 00분) 동안 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여 생성된 이미지(668)에 대응될 수 있다. 전자 장치는 다음 판단 시에 사용하기 위하여, 제4 업데이트된 사용자 특성 벡터(663)를 외부 메모리(670)에 저장할 수 있다.
전자 장치는 사용자가 봇인지 여부를 판별하기 위하여, 제4 업데이트된 사용자 특성 벡터(663)를 제2 인공지능 모델(680)에 입력할 수 있다. 제2 인공지능 모델(680)은 입력된 제4 업데이트된 사용자 특성 벡터(663)로부터 사용자가 봇일 확률(693)을 추정하여 출력할 수 있다.
상술하였듯이, 외부 메모리(670)에 저장되는 사용자 특성 벡터(660, 661, 662, 663)는 지난 판단 이후에 수집된 클릭 데이터의 특성을 추가로 반영하도록 업데이트되고, 저장된 사용자 특성 벡터(660, 661, 662, 663)는 다시 다음 판단에서의 입력으로 활용된다. 따라서, 사용자가 봇인 여부에 관한 판단은 판단 횟수가 늘어날수록 더 많은 클릭 데이터에 기초하게 되고, 판단 결과로서 출력되는 사용자가 봇일 확률(690, 691, 692, 693)의 신뢰도는 판단을 거듭할수록 점점 상승하게 된다. 전자 장치는 판단 결과의 신뢰도가 충분히 높아진 경우, 사용자가 봇일 확률(690, 691, 692, 693)에 기초하여 사용자가 봇인지 여부를 결정할 수 있다. 예를 들어, 전자 장치는 사용자가 봇일 확률(690, 691, 692, 693)이 소정의 임계값 이상인 경우 사용자가 봇이라고 결정할 수 있다.
도 6a 내지 6d는 동일한 시간 간격으로 사용자가 봇인지 여부를 판단하는 예시를 도시하고 있으나, 이에 제한되지 않는다. 예를 들어, 각 판단 간의 시간 간격은 서로 다를 수 있다. 예를 들어, 각 판단에서 사용하는 클릭 데이터의 수집 기간은 각기 다를 수 있다.
또한, 사용자가 게임 서비스를 항상 이용하고 있는 것은 아니며, 게임 서비스를 이용 중이더라도 지속적으로 클릭 입력을 하는 것은 아니므로, 각 판단에서 사용하는 클릭 데이터의 기간은 이전 판단에서 사용한 클릭 데이터의 수집 기간과 반드시 연속되지 않더라도 무방하다. 일 실시예에서, 전자 장치는 소정의 기간 동안 사용자가 수행한 클릭 입력의 개수가 소정의 임계값 이상인 경우 사용자가 봇인지 여부를 판단하고, 그렇지 않을 경우 다음 판단 시기까지 대기할 수 있다.
상술한 실시예에 따르면, 과거에 발생한 클릭 입력의 정보를 잃지 않으면서도, 실시간으로 현재의 클릭 입력에 관한 클릭 데이터만을 처리하므로 빠르게 사용자가 봇인지 여부에 관한 판단을 수행할 수 있다. 또한, 과거의 클릭 데이터 전체를 저장하거나, 과거의 클릭 데이터 전체로부터 생성된 이미지를 저장하는 것이 아니라, 사용자 특성 벡터만을 저장하므로, 사용자가 봇인지 여부를 판단하기에 충분한 정보를 보존하기 위해 상대적으로 작은 저장 용량만이 요구된다.
도 7은 본 개시의 다양한 실시예들에 따른, 사용자 특성 벡터를 획득하는 방법을 설명하기 위한 도면이다.
도 7을 참조하면, 클릭 데이터에 기초하여 생성된 복수의 이미지들로부터 사용자의 특성 벡터를 획득하는 일 예시가 도시된다. 도 7은 세 개의 이미지들로부터 사용자의 특성 벡터를 획득하는 예시가 도시되었지만, 사용자의 특성 벡터를 획득하기 위해 사용되는 이미지들의 개수는 이보다 더 많거나, 적을 수 있다.
게임 봇을 탐지하기 위한 전자 장치는, 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여 생성된 복수의 이미지들(710, 720, 730)를 획득할 수 있다. 복수의 이미지들(710, 720, 730)은 클릭 데이터의 통계적 분포를 나타내는 것들일 수 있다.
일 실시예에서, 전자 장치는 사용자가 수행한 클릭 입력의 클릭 위치 분포를 나타내는 그래프(710)를 생성할 수 있다. 클릭 위치 분포를 나타내는 그래프(710)는, 도 3a 및 3b에 예시적으로 도시된 것과 같은 산점도 또는 확률 밀도 그래프일 수 있다.
일 실시예에서, 전자 장치는 사용자가 수행한 클릭 입력의 클릭 위치의 변화량의 분포를 나타내는 그래프(720)를 생성할 수 있다. 이에 대하여는 도 8을 참조하여 상세히 설명한다. 일 실시예에서, 전자 장치는 사용자가 수행한 클릭 입력의 클릭 속도 분포를 나타내는 그래프(730)를 제 생성할 수 있다. 이에 대하여는 도 9를 참조하여 상세히 설명한다.
전자 장치는 상기 복수의 이미지들(710, 720, 730)에 나타난 정상 사용자와 봇을 구분하는 특성을 추출하기 위하여, 복수의 이미지들(710, 720, 730)을 제1 인공지능 모델(740)에 입력하여 사용자 특성 벡터(750)를 획득할 수 있다. 제1 인공지능 모델(740)은 복수의 이미지들을 분석하여, 사용자의 클릭 위치, 클릭 위치 분포, 및 클릭 속도 등의 다양한 클릭 입력의 특성을 나타내는 사용자 특성 벡터(750)를 출력할 수 있다. 출력된 사용자 특성 벡터(750)는 복수의 이미지들에 포함된 오브젝트의 위치나 배치, 색상 등에 대한 특성을 포함할 수 있다.
전자 장치는 복수의 이미지들에 기초하여 획득된 사용자 특성 벡터(750)를 이용하여, 본 개시의 다양한 실시예들에 따른 게임 봇 탐지 방법을 수행할 수 있다. 예를 들어, 사용자 특성 벡터(750)는 도 4a 및 4b에 도시된 실시예에 따라, 제2 인공지능 모델(440)의 입력값으로 사용될 수 있다. 예를 들어, 사용자 특성 벡터(750)는 도 6a 내지 6d에 도시된 실시예에 따라, 현재 사용자 특성 벡터로서 업데이트 모듈(650)의 입력값으로 사용될 수 있다.
상술한 실시예에 따르면, 클릭 입력의 다양한 속성들을 나타내는 복수의 이미지들에 기초하여 사용자 특성 벡터를 획득하므로, 사용자 특성 벡터는 하나의 이미지를 사용했을 때에 비해 정상 사용자와 봇을 구분하는 특성을 더 많이 포함하고 있을 수 있다. 따라서 특징 벡터에서 유의미한 정보를 얻는 빈도, 즉 0이 아닌 특징 벡터가 생성되는 빈도가 더욱 높아진다. 따라서 인공지능 모델의 학습이 보다 안정될 수 있고, 게임 봇 탐지의 정확성이 높아질 수 있다.
도 8은 본 개시의 다양한 실시예들에 따른, 클릭 위치의 변화량에 기초하여 생성되는 이미지의 일 예시를 도시한다.
도 8을 참조하면, 소정의 시간 동안 사용자의 클릭 위치 변화량의 분포를 나타내는 산점도(800)와 사용자의 클릭 위치 변화량 분포를 나타내는 확률 밀도 그래프(850)의 일 예시가 도시된다. 클릭 위치 변화량이란, 현재 클릭 입력의 위치와 직전 클릭 입력의 위치의 차를 의미한다. 산점도(800) 및 확률 밀도 그래프(850)의 가로축은 x축 방향의 클릭 위치 변화량(Δx), 세로축은 y축 방향의 클릭 위치 변화량(Δy)을 나타낸다. 산점도(800)에서는 각각의 점이 하나의 클릭 위치 변화량을 나타내며, 확률 밀도 그래프(850)의 그래프의 농담은 해당 클릭 위치 변화량 (Δx, Δy)의 확률 밀도를 나타낸다. 산점도(800) 및 확률 밀도 그래프(850)의 상단 및 우측의 그래프는 각각 x 방향 및 y 방향에 대하여 클릭 위치 변화량의 분포를 나타내는 히스토그램이다.
일반적으로, 정상 사용자와 봇은 클릭 위치의 변화량의 분포에서도 차이를 보인다. 정상 사용자의 경우 클릭 위치의 변화량이 상대적으로 넓은 범위에 분포하는 반면, 봇의 경우 클릭 위치의 변화량이 (0, 0) 근처에 집중될 수 있다. 그러므로, 봇의 클릭 위치 변화량에 기초하여 생성된 이미지에서는 정상 사용자의 클릭 위치 변화량에 기초하여 생성된 이미지와는 구분되는 특징이 나타날 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 클릭 위치 변화량의 분포를 나타내는 이미지에 나타난 정상 사용자와 봇을 구분하는 특성을 추출하기 위하여, 인공지능 모델이 사용될 수 있다. 전자 장치는 클릭 위치 변화량의 분포를 나타내는 이미지를 제1 인공지능 모델에 입력할 수 있다. 제1 인공지능 모델은 입력된 이미지를 분석하여, 사용자의 클릭 위치 변화량의 특성을 나타내는 특성 벡터를 출력할 수 있다. 출력된 특성 벡터는 이미지에 포함된 오브젝트의 위치나 배치, 색상 등에 대한 특성을 포함할 수 있다.
도 9는 본 개시의 다양한 실시예들에 따른, 클릭 속도에 기초하여 생성되는 이미지의 일 예시를 도시한다.
도 9을 참조하면, 소정의 시간 동안 사용자의 클릭 속도의 분포를 나타내는 산점도(900)와 사용자의 클릭 속도의 분포를 나타내는 확률 밀도 그래프(950)의 일 예시가 도시된다. 클릭 속도란, 현재 클릭 입력의 위치와 직전 클릭 입력의 위치의 차를 현재 클릭 입력과 직전 클릭 입력 간의 시간 간격으로 나눈 값으로 정의된다.
일 실시예에서, 전자 장치는 정규화된 클릭 속도에 기초하여 클릭 속도의 분포를 나타내는 이미지를 생성할 수 있다. 정규화된 클릭 속도란, 클릭 속도를 클릭 위치의 변화량으로 나눈 값을 의미한다. 즉, 정규화된 클릭 속도는 클릭 위치가 얼마나 많이 변했는지와 관계없이, 직전 클릭 입력과 현재 클릭 입력 간의 시간 간격 및 직전 클릭 입력에서 현재 클릭 입력으로 이동한 방향을 나타낼 수 있다.
정규화된 클릭 속도 vn은 다음 수학식에 의해 계산될 수 있다.
Figure pat00001
이 때 xcur, ycur, tcur은 각각 현재 클릭 입력의 x좌표, y좌표, 입력 시각을 나타내고, xpre, ypre, tpre은 각각 직전 클릭 입력의 x좌표, y좌표, 입력 시각을 나타낸다.
산점도(900) 및 확률 밀도 그래프(950)의 가로축은 정규화된 클릭 속도의 x 성분(vx n), 세로축은 정규화된 클릭 속도의 y 성분(vy n)을 나타낸다. 즉, 산점도(900) 및 확률 밀도 그래프(950)에서 각 점의 방위각(θ)은 직전 클릭 입력 후 현재 클릭 입력이 어느 방향으로 이동하였는가를 나타내며, 원점으로부터의 거리는 클릭 입력들 간의 시간 간격(1/Δt)을 나타낸다. 산점도(800)에서는 각각의 점이 하나의 클릭에 대응되는 클릭 속도를 나타내며, 확률 밀도 그래프(850)의 그래프의 농담은 해당 클릭 속도의 확률 밀도를 나타낸다. 산점도(800) 및 확률 밀도 그래프(850)의 상단 및 우측의 그래프는 각각 x 방향 및 y 방향에 대하여 클릭 속도의 분포를 나타내는 히스토그램이다.
일 실시예에서, 클릭 속도를 계산할 때 클릭 입력들 간의 시간차는 이산적인 것으로 간주될 수 있다. 예를 들어, 직전 클릭 후 1초 이내에 다음 클릭을 한 경우, 클릭 입력들 간의 시간 간격(Δt)은 1초로 간주될 수 있다. 예를 들어, 직전 클릭 후 1초 이상 2초 이내에 다음 클릭을 한 경우, 클릭 입력들 간의 시간 간격(Δt)은 2초로 간주될 수 있다. 예를 들어, 직전 클릭 후 2초 이상 3초 이내에 다음 클릭을 한 경우, 클릭 입력들 간의 시간 간격(Δt)은 3초로 간주될 수 있다. 이 경우, 산점도(900) 및 확률 밀도 그래프(950)에서 클릭 속도의 분포는 여러 개의 동심원 형태로 나타날 수 있다. 예를 들어, 직전 클릭 후 1초 이내에 다음 클릭을 한 경우, 클릭 속도는 산점도(900) 및 확률 밀도 그래프(950) 상에서 반지름이 1인 원 상에 분포한다. 예를 들어, 직전 클릭 후 1초 이상 2초 이내에 다음 클릭을 한 경우, 클릭 속도는 산점도(900) 및 확률 밀도 그래프(950) 상에서 반지름이 1/2인 원 상에 분포한다. 예를 들어, 직전 클릭 후 2초 이상 3초 이내에 다음 클릭을 한 경우, 클릭 속도는 산점도(900) 및 확률 밀도 그래프(950) 상에서 반지름이 1/3인 원 상에 분포한다. 즉, 클릭 입력 간의 간격이 길수록, 클릭 속도는 산점도(900) 및 확률 밀도 그래프(950) 상에서 반경이 작은 원으로 나타날 수 있다.
일반적으로, 정상 사용자와 봇은 클릭 속도의 분포에서도 차이를 보인다. 정상 사용자의 경우 클릭 속도가 상대적으로 넓은 범위에 분포하는 반면, 봇의 경우 미리 설정된 동작을 반복하므로, 특정 방향으로 이동하는 클릭 입력이 많이 나타나거나, 특정 시간 간격으로 클릭 입력이 반복되는 패턴이 나타날 수 있다. 그러므로, 봇의 클릭 속도에 기초하여 생성된 이미지에서는 정상 사용자의 클릭 속도에 기초하여 생성된 이미지와는 구분되는 특징이 나타날 수 있다.
본 개시의 다양한 실시예들에 따르면, 상기 클릭 속도의 분포를 나타내는 이미지에 나타난 정상 사용자와 봇을 구분하는 특성을 추출하기 위하여, 인공지능 모델이 사용될 수 있다. 전자 장치는 클릭 속도의 분포를 나타내는 이미지를 제1 인공지능 모델에 입력할 수 있다. 제1 인공지능 모델은 입력된 이미지를 분석하여, 사용자의 클릭 속도의 특성을 나타내는 특성 벡터를 출력할 수 있다. 출력된 특성 벡터는 이미지에 포함된 오브젝트의 위치나 배치, 색상 등에 대한 특성을 포함할 수 있다.
도 10은 본 개시의 다양한 실시예들에 따른, 인공지능 모델을 구성하는 복수 개의 계층 구조를 갖는 인공 신경망을 개략적으로 도시한 도면이다. 도 10의 인공 신경망은 본 개시의 다양한 실시예들에 따른 제1 인공지능 모델, 제2 인공지능 모델, 또는 제3 인공지능 모델을 구성하는 인공 신경망일 수 있다.
도 10을 참고하면, 인공 신경망은 입력 레이어(1010), 적어도 하나의 히든 레이어(1020, 1030) 및 출력 레이어(1040)를 포함할 수 있다. 또한, 인공 신경망을 통한 연산은 게임 제공 장치 내의 프로세서에서 수행될 수 있다. 또한, 히든 레이어(1020, 1030)에서 수행된 학습 및 훈련을 통해 각 레이어와 노드 사이의 파라미터가 학습될 수 있다.
예를 들어, 인공 신경망은 컨볼루션 뉴럴 네트워크(convolution neural network, CNN)일 수 있다. CNN은 입력 레이어(1010), 적어도 하나의 히든 레이어(1020, 1030) 및 출력 레이어(1040)들을 포함하는 복수의 레이어들을 포함할 수 있다. 각 레이어에서는 입력된 이미지에 가중치를 포함한 커널을 적용하여 특징 맵(Feature map)을 생성하는 과정이 수행된다. 각 레이어에서 특징 맵은 적어도 하나가 생성될 수 있고, 각 레이어에서는 적어도 하나의 이미지 프레임에 복수 개의 커널이 적용될 수 있다. 각 레이어들이 포함하는 가중치는 CNN의 학습에 의해 업데이트 될 수 있다.
커널이란 입력된 데이터를 프로세싱 하기 위해 사용되는 가중치를 가지는 행렬을 의미할 수 있다. 커널은 필터, 마스크라고도 할 수 있으며, 입력된 데이터의 특징을 추출하기 위해 프로세싱 수행시 적용되는 값을 의미한다.
CNN의 첫 번째 레이어에서는 커널과 입력 이미지 데이터를 컨볼루션 연산함으로써 첫 번째 특징 맵을 생성할 수 있고, CNN의 두 번째 레이어에서는 첫 번째 만들어진 특징 맵과 커널을 컨볼루션 연산함으로써, 두 번째 특징 맵을 생성할 수 있다. 컨볼루션 연산이란, 가중치를 가진 행렬인 커널을 이미지 픽셀에 적용하는 것을 의미할 수 있다. 예를 들면, 컨볼루션 연산이란 소정의 픽셀 값 및 소정의 픽셀 주위의 픽셀 값에 각각 커널의 가중치를 곱하고, 커널 내의 각각 대응하는 셀들의 결과 값(M행 N열의 값)들을 모두 합산하는 연산일 수 있다. 즉, 컨볼루션 연산이란 주위(예를 들면, 특정 픽셀의 주변 픽셀)의 값들을 반영해 중앙(예를 들면, 특정 픽셀)의 값을 변화시키는 것을 의미할 수 있다.
예를 들면, 전자 장치 내의 프로세서는 반복적인 학습을 통하여, 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여 생성된 이미지에서 사용자의 클릭 입력의 특성을 추출하는 데 영향을 미치는 요소들에 관련된 파라미터의 값들을 획득할 수 있다. 예를 들어, 전자 장치 내의 프로세서는 사용자의 클릭 입력의 특성으로부터 사용자를 정상 사용자 또는 봇으로 분류하는 데 영향을 미치는 파라미터의 값들을 획득할 수 있다. 예를 들어, 전자 장치 내의 프로세서는 사용자의 현재 클릭 특성과 사용자의 과거 클릭 특성을 융합하여 사용자의 클릭 특성을 업데이트하는 데 영향을 미치는 파라미터의 값들을 획득할 수 있다.
또한, 전자 장치는 획득된 파라미터의 값이 인공지능 모델에 반영되도록, 인공지능 모델을 재학습시킬 수 있다.
도 11은 본 개시의 다양한 실시예들에 따른 게임 봇을 탐지하기 위한 전자 장치의 세부적인 구성을 설명하기 위한 도면이다.
도 11에 도시된 바와 같이 일부 실시예에 따른 전자 장치(1100)는 적어도 하나의 프로세서(1110), 출력부(1130), 메모리(1150), 사용자 입력부(1170) 및 통신부(1190)를 포함할 수 있다. 그러나 도 11에 도시된 구성 요소가 모두 전자 장치(1100)의 필수 구성 요소인 것은 아니다. 도 11에 도시된 구성 요소보다 많은 구성 요소에 의해 전자 장치(1100)가 구현될 수도 있고, 도 11에 도시된 구성 요소보다 적은 구성 요소에 의해 전자 장치(1100)가 구현될 수 있다. 전자 장치(1100)는 사용자 단말일 수도 있고 서버일 수도 있고, 게임 네트워크 시스템일수도 있고, 별도의 장치일 수도 있다.
본 개시의 일 실시예에 따르면, 프로세서(1110)는 통상적으로 전자 장치(1100)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1110)는 메모리(1150)에 저장된 프로그램을 실행함으로써, 출력부(1130), 메모리(1150), 사용자 입력부(1170) 및 통신부(1190) 등을 전반적으로 제어할 수 있다. 프로세서(1110)는, 출력부(1130), 메모리(1150), 사용자 입력부(1170) 및 통신부(1190) 등을 제어함으로써, 본 명세서에서의 전자 장치(1100)의 동작을 제어할 수 있다.
본 개시의 일 실시예에 따르면, 프로세서(1110)는 소정의 시간 동안 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여, 적어도 하나의 이미지를 생성하고, 상기 적어도 하나의 이미지를 제1 인공지능 모델에 적용하여, 상기 사용자의 현재 특성 벡터를 획득하고, 상기 사용자의 현재 특성 벡터와, 저장된 상기 사용자의 과거 특성 벡터에 기초하여, 상기 사용자의 업데이트된 특성 벡터를 획득하고, 상기 사용자의 업데이트된 특성 벡터를 상기 사용자의 과거 특성 벡터로서 저장하고, 상기 사용자의 업데이트된 특성 벡터를 제2 인공지능 모델에 적용하여, 상기 사용자가 봇인지 여부를 판단하도록 설정될 수 있다.
본 개시의 일 실시예에 따르면, 프로세서(1110)는 게임 로그로부터 상기 클릭 데이터를 추출할 수 있다.
본 개시의 일 실시예에 따르면, 상기 적어도 하나의 이미지는, 클릭 위치의 분포를 나타내는 그래프 또는 클릭 위치 변화량의 분포를 나타내는 그래프 중 적어도 하나를 포함할 수 있다. 일 실시예에 따르면, 상기 적어도 하나의 이미지는, 클릭 속도의 분포를 나타내는 그래프를 더 포함할 수 있다. 일 실시예에 따르면, 상기 클릭 속도의 분포를 나타내는 그래프는, 정규화된 클릭 속도에 기초하여 생성될 수 있다.
본 개시의 일 실시예에 따르면, 프로세서(1110)는 상기 사용자의 현재 특성 벡터와, 상기 저장된 상기 사용자의 특성 벡터를 제3 인공지능 모델에 적용하여, 상기 사용자의 업데이트된 특성 벡터를 획득하도록 설정될 수 있다.
본 개시의 일 실시예에 따르면, 상기 사용자의 현재 특성 벡터는 상기 소정의 시간마다 실시간으로 획득되고, 상기 사용자의 업데이트된 특성 벡터는, 상기 소정의 시간마다 상기 사용자의 현재 특성 벡터를 이용하여 실시간으로 획득 및 저장될 수 있다.
본 개시의 일 실시예에 따르면, 프로세서(1110)는 상기 사용자의 업데이트된 특성 벡터를 제2 인공지능 모델에 적용하여, 상기 사용자가 봇일 확률을 추정하고, 상기 사용자가 봇일 확률이 소정의 임계값을 초과하면, 상기 사용자를 봇으로 판단하도록 설정될 수 있다.
본 개시의 일 실시예에 따르면, 프로세서(1110)는 상기 사용자가 봇으로 판단되는 경우, 상기 사용자의 게임 서비스 이용에 페널티를 설정하도록 설정될 수 있다.
출력부(1130)는 전자 장치(1100)에서 처리되는 정보를 표시 출력할 수 있다. 출력부(1130)는 프로세서(1110)의 제어에 따라, 그래픽 인터페이스들을 포함한 게임 화면을 출력할 수 있다. 출력부(1130)는 게임 정보에 대한 알림을 이미지, 동영상, 소리, 진동, 램프 등으로 출력할 수 있다.
메모리(1150)는 프로세서(1110)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 전자 장치(1100)로 입력되거나 전자 장치(1100)로부터 출력되는 데이터를 저장할 수도 있다. 본 개시의 일 실시예에 따르면, 메모리(1150)는 게임 로그 및 사용자 정보를 저장할 수 있다.
본 개시의 일 실시예에 따르면, 메모리(1150)는 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터를 저장할 수 있다. 일 실시예에 따르면, 상기 클릭 데이터는 상기 적어도 하나의 클릭 입력의 위치 및 시각을 포함할 수 있다. 일 실시예에 따르면, 상기 클릭 데이터는 상기 적어도 하나의 클릭 입력을 수신한 게임 인터페이스에 관한 정보 또는 상기 클릭 입력에 의하여 실행된 게임 내 동작에 관한 정보 중 적어도 하나를 포함할 수 있다. 일 실시예에 따르면, 상기 클릭 데이터는 게임 로그에 포함되어 있을 수 있다.
본 개시의 일 실시예에 따르면, 메모리(1150)에 저장된 프로그램을 이용하여 프로세서(1110)는 게임 봇을 탐지하는 방법을 실행할 수 있다.
본 개시의 일 실시예에 따르면, 메모리(1150)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한 본 개시의 일 실시예에 따르면, 메모리(1150)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있다.
사용자 입력부(1170)는, 사용자가 전자 장치(1100)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(1170)는, 키보드, 물리 버튼, 마우스, 조이스틱, 터치 스크린, 터치 패드, 카메라 또는 마이크 등과 같이 다양한 형태의 사용자 입력을 수신할 수 있는 장치들을 포함할 수 있다. 본 개시의 일 실시예에 따르면, 사용자 입력부(1170)는 게임을 플레이하는 사용자의 클릭 입력을 수신할 수 있다.
통신부(1190)는 프로세서(1110)의 제어에 의해 외부 장치와 통신을 수행할 수 있다. 예를 들어, 통신부(1190)는 프로세서(1110)의 제어에 의해 결제 서버, 인증 서버와 같은 외부 장치와 통신을 수행할 수 있다. 또한 통신부(1190)는 외부 인터페이스와의 통신을 통해 사용자 정보 또는 사용자 입력을 획득할 수도 있다.
본 개시의 일 실시예에 따르면, 게임 봇을 탐지하는 방법은 전자 장치(1100)에서 수행되거나, 서버 또는 사용자 단말에서 수행될 수도 있다. 또한 전자 장치(1100)가 포함하는 적어도 하나의 구성은 앞선 도 1 내지 도 10에서 설명한 실시예들을 수행할 수 있다.
또한 게임 봇을 탐지하는 방법은 서버와 사용자 단말이 개별적으로 또는 함께 수행할 수도 있다. 서버 및 사용자 단말의 구성은 이하 도 12 및 도 13에서 더 자세히 설명한다.
도 12는 본 개시의 다양한 실시예들에 따른 서버의 세부적인 구성을 설명하기 위한 도면이다.
도 12에 도시된 바와 같이 일부 실시예에 따른 서버(1200)는 적어도 하나의 프로세서(1210), 통신부(1230), 및 메모리(1250)를 포함할 수 있다. 그러나 도 12에 도시된 구성 요소가 모두 서버(1200)의 필수 구성 요소인 것은 아니다. 도 12에 도시된 구성 요소보다 많은 구성 요소에 의해 서버(1200)가 구현될 수도 있고, 도 12에 도시된 구성 요소보다 적은 구성 요소에 의해 서버(1200)가 구현될 수 있다.
본 개시의 일 실시예에 따르면, 프로세서(1210)는 통상적으로 서버(1200)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1210)는 메모리(1250)에 저장된 프로그램을 실행함으로써, 통신부(1230) 및 메모리(1250) 등을 전반적으로 제어할 수 있다. 프로세서(1210)는, 통신부(1230) 및 메모리(1250) 등을 제어함으로써, 본 명세서에서의 서버(1200)의 동작을 제어할 수 있다.
본 개시의 일 실시예에 따르면, 프로세서(1210)는 소정의 시간 동안 사용자가 사용자 단말에서 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여, 적어도 하나의 이미지를 생성하고, 상기 적어도 하나의 이미지를 제1 인공지능 모델에 적용하여, 상기 사용자의 현재 특성 벡터를 획득하고, 상기 사용자의 현재 특성 벡터와, 저장된 상기 사용자의 과거 특성 벡터에 기초하여, 상기 사용자의 업데이트된 특성 벡터를 획득하고, 상기 사용자의 업데이트된 특성 벡터를 상기 사용자의 과거 특성 벡터로서 저장하고, 상기 사용자의 업데이트된 특성 벡터를 제2 인공지능 모델에 적용하여, 상기 사용자가 봇인지 여부를 판단하도록 설정될 수 있다.
본 개시의 일 실시예에 따르면, 프로세서(1210)의 동작은 도 11에서 설명한 전자 장치(1100)의 프로세서(1110)의 동작과 대응될 수 있으므로, 자세한 설명은 생략한다.
통신부(1230)는 프로세서(1210)의 제어에 따라 사용자 단말(1300)에게 질의를 제공하고, 질의에 대한 응답 정보를 수신할 수 있다. 또한 본 개시의 일 실시예에 따르면, 통신부(1230)는 사용자 단말(1300)과 데이터를 송수신할 수 있으며, 사용자 단말(1300)과 송수신하는 데이터에는 사용자 단말(1300) 또는 사용자 단말(1300) 내에 포함된 프로그램을 제어하는 제어 데이터를 포함할 수 있다.
메모리(1250)는 프로세서(1210)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 서버(1200)로 입력되거나 서버(1200)로부터 출력되는 데이터를 저장할 수도 있다. 본 개시의 일 실시예에 따르면, 메모리(1250)는 게임 로그 및 사용자 정보를 저장할 수 있다.
본 개시의 일 실시예에 따르면, 메모리(1250)는 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터를 저장할 수 있다. 일 실시예에 따르면, 상기 클릭 데이터는 상기 적어도 하나의 클릭 입력의 위치 및 시각을 포함할 수 있다. 일 실시예에 따르면, 상기 클릭 데이터는 상기 적어도 하나의 클릭 입력을 수신한 게임 인터페이스에 관한 정보 또는 상기 클릭 입력에 의하여 실행된 게임 내 동작에 관한 정보 중 적어도 하나를 포함할 수 있다. 일 실시예에 따르면, 상기 클릭 데이터는 게임 로그에 포함되어 있을 수 있다.
본 개시의 일 실시예에 따르면, 메모리(1250)에 저장된 프로그램을 이용하여 프로세서(1210)는 게임 봇을 탐지하는 방법을 실행할 수 있다.
본 개시의 일 실시예에 따르면, 메모리(1250)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한 본 개시의 일 실시예에 따르면, 메모리(1250)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있다.
또한 본 개시의 일 실시예에 따르면, 게임 봇을 탐지하는 방법은 서버(1200)와 사용자 단말(1300)이 나누어 수행할 수도 있고, 서버(1200)와 사용자 단말(1300)이 개별적으로 수행할 수도 있고, 전자 장치(1100)에서 수행될 수도 있다.
도 13은 본 개시의 다양한 실시예들에 따른 사용자 단말의 세부적인 구성을 설명하기 위한 도면이다.
도 13에 도시된 바와 같이 일부 실시예에 따른 사용자 단말(1300)은 적어도 하나의 프로세서(1310), 출력부(1330), 메모리(1350), 사용자 입력부(1370) 및 통신부(1390)를 포함할 수 있다. 그러나 도 13에 도시된 구성 요소가 모두 사용자 단말(1300)의 필수 구성 요소인 것은 아니다. 도 13에 도시된 구성 요소보다 많은 구성 요소에 의해 사용자 단말(1300)이 구현될 수도 있고, 도 13에 도시된 구성 요소보다 적은 구성 요소에 의해 사용자 단말(1300)이 구현될 수 있다.
본 개시의 일 실시예에 따르면, 프로세서(1310)는 통상적으로 사용자 단말(1300)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1310)는 메모리(1350)에 저장된 프로그램을 실행함으로써, 출력부(1330), 메모리(1350), 사용자 입력부(1370) 및 통신부(1390) 등을 전반적으로 제어할 수 있다. 프로세서(1310)는, 출력부(1330), 메모리(1350), 사용자 입력부(1370) 및 통신부(1390) 등을 제어함으로써, 본 명세서에서의 사용자 단말(1300)의 동작을 제어할 수 있다.
본 개시의 일 실시예에 따르면, 프로세서(1310)는 소정의 시간 동안 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여, 적어도 하나의 이미지를 생성하고, 상기 적어도 하나의 이미지를 제1 인공지능 모델에 적용하여, 상기 사용자의 현재 특성 벡터를 획득하고, 상기 사용자의 현재 특성 벡터와, 저장된 상기 사용자의 과거 특성 벡터에 기초하여, 상기 사용자의 업데이트된 특성 벡터를 획득하고, 상기 사용자의 업데이트된 특성 벡터를 상기 사용자의 과거 특성 벡터로서 저장하고, 상기 사용자의 업데이트된 특성 벡터를 제2 인공지능 모델에 적용하여, 상기 사용자가 봇인지 여부를 판단하도록 설정될 수 있다.
본 개시의 일 실시예에 따르면, 프로세서(1310)의 동작은 도 11에서 설명한 전자 장치(1100)의 프로세서(1110)의 동작과 대응될 수 있으므로, 자세한 설명은 생략한다.
출력부(1330)는 사용자 단말(1300)에서 처리되는 정보를 표시 출력할 수 있다. 출력부(1330)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 출력부(1330)와 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 출력부(1330)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 또한 출력부(1330)는 LED 램프, 진동 모터, 스피커, 플래쉬 등을 포함할 수 있으며, 상기 예시에 제한되지 않는다.
출력부(1330)는 프로세서(1310)의 제어에 따라, 그래픽 인터페이스들을 포함한 게임 화면을 출력할 수 있다. 출력부(1330)는 게임 정보에 대한 알림을 이미지, 동영상, 소리, 진동, 램프 등으로 출력할 수 있다.
메모리(1350)는 프로세서(1310)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 사용자 단말(1300)로 입력되거나 사용자 단말(1300)로부터 출력되는 데이터를 저장할 수도 있다. 본 개시의 일 실시예에 따르면 메모리(1350)는 사용자 계정에 관한 정보, 게임 관련 정보를 저장할 수 있다.
본 개시의 일 실시예에 따르면, 메모리(1350)는 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터를 저장할 수 있다. 일 실시예에 따르면, 상기 클릭 데이터는 상기 적어도 하나의 클릭 입력의 위치 및 시각을 포함할 수 있다. 일 실시예에 따르면, 상기 클릭 데이터는 상기 적어도 하나의 클릭 입력을 수신한 게임 인터페이스에 관한 정보 또는 상기 클릭 입력에 의하여 실행된 게임 내 동작에 관한 정보 중 적어도 하나를 포함할 수 있다. 일 실시예에 따르면, 상기 클릭 데이터는 게임 로그에 포함되어 있을 수 있다.
본 개시의 일 실시예에 따르면, 메모리(1350)에 저장된 프로그램을 이용하여 프로세서(1310)는 게임 봇을 탐지하는 방법을 실행할 수 있다.
본 개시의 일 실시예에 따르면, 메모리(1350)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한 본 개시의 일 실시예에 따르면, 메모리(1350)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있다.
본 개시의 일 실시예에 따르면, 사용자 입력부(1370)는 다양한 인터페이스를 포함할 수 있다. 예를 들면, 사용자 입력부(1370)는 키 패드(key pad), 돔 스위치(dome switch), 음성 입력 인터페이스, 지문 입력 인터페이스, 터치 입력 인터페이스(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 카메라, 조그 휠, 조그 스위치 등 다양한 인터페이스를 포함할 수 있으며, 가속도 센서, 위치 센서, 온도 센서, 광센서 등 다양한 센서를 사용자 인터페이스와 연동할 수도 있다. 다만, 이에 한정되지 않고 사용자 입력부(1370)는 다양한 입력을 지원하는 장치를 포함할 수 있다. 본 개시의 일 실시예에 따르면, 사용자 입력부(1370)는 게임을 플레이하는 사용자의 클릭 입력을 수신할 수 있다.
통신부(1390)는 프로세서(1310)의 제어에 따라 서버(1200)에게 질의를 제공하고, 질의에 대한 응답 정보를 수신할 수 있다. 또한 본 개시의 일 실시예에 따르면, 통신부(1390)는 서버(1200)와 데이터를 송수신할 수 있으며, 서버(1200)와 송수신하는 데이터에는 사용자 단말(1300) 또는 사용자 단말(1300) 내에 포함된 프로그램을 제어하는 제어 데이터를 포함할 수 있다.
본 개시의 일 실시예에 따르면, 통신부(1390)는 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 자기장 통신부(Near Field Communication), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
또한 본 개시의 일 실시예에 따르면, 통신부(1390)는 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (26)

  1. 소정의 시간 동안 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여, 적어도 하나의 이미지를 생성하는 단계;
    상기 적어도 하나의 이미지를 제1 인공지능 모델에 적용하여, 상기 사용자의 현재 특성 벡터를 획득하는 단계;
    상기 사용자의 현재 특성 벡터와, 저장된 상기 사용자의 과거 특성 벡터에 기초하여, 상기 사용자의 업데이트된 특성 벡터를 획득하는 단계;
    상기 사용자의 업데이트된 특성 벡터를 상기 사용자의 과거 특성 벡터로서 저장하는 단계; 및
    상기 사용자의 업데이트된 특성 벡터를 제2 인공지능 모델에 적용하여, 상기 사용자가 봇(bot)인지 여부를 판단하는 단계;
    를 포함하는, 게임 봇 탐지 방법.
  2. 제1항에 있어서,
    상기 클릭 데이터는 상기 적어도 하나의 클릭 입력의 위치 및 시각을 포함하는, 게임 봇 탐지 방법.
  3. 제1항에 있어서,
    상기 클릭 데이터는 상기 적어도 하나의 클릭 입력을 수신한 게임 인터페이스에 관한 정보 또는 상기 클릭 입력에 의하여 실행된 게임 내 동작에 관한 정보 중 적어도 하나를 포함하는, 게임 봇 탐지 방법.
  4. 제1항에 있어서,
    상기 클릭 데이터는 게임 로그로부터 추출되는, 게임 봇 탐지 방법.
  5. 제1항에 있어서,
    상기 적어도 하나의 이미지는, 클릭 위치의 분포를 나타내는 그래프 또는 클릭 위치 변화량의 분포를 나타내는 그래프 중 적어도 하나를 포함하는, 게임 봇 탐지 방법.
  6. 제1항에 있어서,
    상기 적어도 하나의 이미지는, 클릭 속도의 분포를 나타내는 그래프를 포함하는, 게임 봇 탐지 방법.
  7. 제6항에 있어서,
    상기 클릭 속도의 분포를 나타내는 그래프는, 정규화된 클릭 속도에 기초하여 생성되는, 게임 봇 탐지 방법.
  8. 제1항에 있어서, 상기 업데이트된 특성 벡터를 획득하는 단계는,
    상기 사용자의 현재 특성 벡터와, 상기 저장된 상기 사용자의 특성 벡터를 제3 인공지능 모델에 적용하여, 상기 사용자의 업데이트된 특성 벡터를 획득하는 단계를 포함하는, 게임 봇 탐지 방법.
  9. 제1항에 있어서,
    상기 사용자의 현재 특성 벡터는 상기 소정의 시간마다 실시간으로 획득되고,
    상기 사용자의 업데이트된 특성 벡터는, 상기 소정의 시간마다 상기 사용자의 현재 특성 벡터를 이용하여 실시간으로 획득 및 저장되는, 게임 봇 탐지 방법.
  10. 제1항에 있어서, 상기 사용자가 봇인지 여부를 판단하는 단계는,
    상기 사용자의 업데이트된 특성 벡터를 제2 인공지능 모델에 적용하여, 상기 사용자가 봇일 확률을 추정하는 단계; 및
    상기 사용자가 봇일 확률이 소정의 임계값을 초과하면, 상기 사용자를 봇으로 판단하는 단계;
    를 포함하는, 게임 봇 탐지 방법.
  11. 제1항에 있어서,
    상기 사용자가 봇으로 판단되는 경우, 상기 사용자의 게임 서비스 이용에 페널티를 설정하는 단계; 를 더 포함하는, 게임 봇 탐지 방법.
  12. 게임 봇(bot)을 탐지하기 위한 전자 장치에 있어서, 상기 전자 장치는,
    인스트럭션들을 저장하는 메모리; 및
    상기 메모리와 기능적으로 연결되고, 상기 인스트럭션들을 실행하도록 구성되는 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는 상기 인스트럭션들을 실행하여,
    소정의 시간 동안 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여, 적어도 하나의 이미지를 생성하고,
    상기 적어도 하나의 이미지를 제1 인공지능 모델에 적용하여, 상기 사용자의 현재 특성 벡터를 획득하고,
    상기 사용자의 현재 특성 벡터와, 저장된 상기 사용자의 과거 특성 벡터에 기초하여, 상기 사용자의 업데이트된 특성 벡터를 획득하고,
    상기 사용자의 업데이트된 특성 벡터를 상기 사용자의 과거 특성 벡터로서 저장하고,
    상기 사용자의 업데이트된 특성 벡터를 제2 인공지능 모델에 적용하여, 상기 사용자가 봇인지 여부를 판단하도록 설정되는, 게임 봇을 탐지하기 위한 전자 장치.
  13. 제12항에 있어서,
    상기 클릭 데이터는, 상기 적어도 하나의 클릭 입력의 위치 및 시각을 포함하는, 게임 봇을 탐지하기 위한 전자 장치.
  14. 제12항에 있어서,
    상기 클릭 데이터는 상기 적어도 하나의 클릭 입력을 수신한 게임 인터페이스에 관한 정보, 또는 상기 클릭 입력에 의하여 실행된 게임 내 동작에 관한 정보 중 적어도 하나를 포함하는, 게임 봇을 탐지하기 위한 전자 장치.
  15. 제12항에 있어서,
    상기 클릭 데이터는 게임 로그로부터 추출되는, 게임 봇을 탐지하기 위한 전자 장치.
  16. 제12항에 있어서,
    상기 적어도 하나의 이미지는, 클릭 위치의 분포를 나타내는 그래프 또는 클릭 위치 변화량의 분포를 나타내는 그래프 중 적어도 하나를 포함하는, 게임 봇을 탐지하기 위한 전자 장치.
  17. 제16항에 있어서,
    상기 적어도 하나의 이미지는, 클릭 속도의 분포를 나타내는 그래프를 더 포함하는, 게임 봇을 탐지하기 위한 전자 장치.
  18. 제17항에 있어서,
    상기 클릭 속도의 분포를 나타내는 그래프는, 정규화된 클릭들 간 시간 간격에 기초하여 생성되는, 게임 봇을 탐지하기 위한 전자 장치.
  19. 제12항에 있어서, 상기 적어도 하나의 프로세서는 상기 인스트럭션들을 실행하여,
    상기 사용자의 현재 특성 벡터와, 상기 저장된 상기 사용자의 특성 벡터를 제3 인공지능 모델에 적용하여, 상기 사용자의 업데이트된 특성 벡터를 획득하도록 설정되는, 게임 봇을 탐지하기 위한 전자 장치.
  20. 제12항에 있어서,
    상기 사용자의 현재 특성 벡터는 상기 소정의 시간마다 실시간으로 획득되고,
    상기 사용자의 업데이트된 특성 벡터는, 상기 소정의 시간마다 상기 사용자의 현재 특성 벡터를 이용하여 실시간으로 획득 및 저장되는, 게임 봇을 탐지하기 위한 전자 장치.
  21. 제12항에 있어서, 상기 적어도 하나의 프로세서는 상기 인스트럭션들을 실행하여,
    상기 사용자의 업데이트된 특성 벡터를 제2 인공지능 모델에 적용하여, 상기 사용자가 봇일 확률을 추정하고,
    상기 사용자가 봇일 확률이 소정의 임계값을 초과하면, 상기 사용자를 봇으로 판단하도록 설정되는, 게임 봇을 탐지하기 위한 전자 장치.
  22. 제12항에 있어서, 상기 적어도 하나의 프로세서는 상기 인스트럭션들을 실행하여,
    상기 사용자가 봇으로 판단되는 경우, 상기 사용자의 게임 서비스 이용에 페널티를 설정하도록 더 설정되는, 게임 봇을 탐지하기 위한 전자 장치.
  23. 게임 봇(bot)을 탐지하는 서버에 있어서, 상기 서버는,
    인스트럭션들을 저장하는 메모리; 및
    상기 메모리와 기능적으로 연결되고, 상기 인스트럭션들을 실행하도록 구성되는 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는 상기 인스트럭션들을 실행하여,
    소정의 시간 동안 사용자가 사용자 단말에서 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여, 적어도 하나의 이미지를 생성하고,
    상기 적어도 하나의 이미지를 제1 인공지능 모델에 적용하여, 상기 사용자의 현재 특성 벡터를 획득하고,
    상기 사용자의 현재 특성 벡터와, 저장된 상기 사용자의 과거 특성 벡터에 기초하여, 상기 사용자의 업데이트된 특성 벡터를 획득하고,
    상기 사용자의 업데이트된 특성 벡터를 상기 사용자의 과거 특성 벡터로서 저장하고,
    상기 사용자의 업데이트된 특성 벡터를 제2 인공지능 모델에 적용하여, 상기 사용자가 봇인지 여부를 판단하도록 설정되는, 서버.
  24. 게임 컨텐츠를 이용하는 사용자 단말에 있어서, 상기 사용자 단말은,
    사용자의 클릭 입력을 수신하는 사용자 입력부;
    인스트럭션들을 저장하는 메모리; 및
    상기 사용자 입력부 및 상기 메모리와 기능적으로 연결되고, 상기 인스트럭션들을 실행하도록 구성되는 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 프로세서는 상기 인스트럭션들을 실행하여,
    소정의 시간 동안 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여, 적어도 하나의 이미지를 생성하고,
    상기 적어도 하나의 이미지를 제1 인공지능 모델에 적용하여, 상기 사용자의 현재 특성 벡터를 획득하고,
    상기 사용자의 현재 특성 벡터와, 저장된 상기 사용자의 과거 특성 벡터에 기초하여, 상기 사용자의 업데이트된 특성 벡터를 획득하고,
    상기 사용자의 업데이트된 특성 벡터를 상기 사용자의 과거 특성 벡터로서 저장하고,
    상기 사용자의 업데이트된 특성 벡터를 제2 인공지능 모델에 적용하여, 상기 사용자가 봇인지 여부를 판단하도록 설정되는, 사용자 단말.
  25. 소정의 시간 동안 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여, 적어도 하나의 이미지를 생성하는 단계;
    상기 적어도 하나의 이미지를 제1 인공지능 모델에 적용하여, 상기 사용자의 현재 특성 벡터를 획득하는 단계;
    상기 사용자의 현재 특성 벡터와, 저장된 상기 사용자의 과거 특성 벡터에 기초하여, 상기 사용자의 업데이트된 특성 벡터를 획득하는 단계;
    상기 사용자의 업데이트된 특성 벡터를 상기 사용자의 과거 특성 벡터로서 저장하는 단계; 및
    상기 사용자의 업데이트된 특성 벡터를 제2 인공지능 모델에 적용하여, 상기 사용자가 봇(bot)인지 여부를 판단하는 단계;
    를 포함하는, 게임 봇 탐지 방법을 하드웨어와 결합되어 실행시키기 위하여 매체에 저장되는 컴퓨터 프로그램.
  26. 소정의 시간 동안 사용자가 수행한 적어도 하나의 클릭 입력에 관한 클릭 데이터에 기초하여, 적어도 하나의 이미지를 생성하는 단계;
    상기 적어도 하나의 이미지를 제1 인공지능 모델에 적용하여, 상기 사용자의 현재 특성 벡터를 획득하는 단계;
    상기 사용자의 현재 특성 벡터와, 저장된 상기 사용자의 과거 특성 벡터에 기초하여, 상기 사용자의 업데이트된 특성 벡터를 획득하는 단계;
    상기 사용자의 업데이트된 특성 벡터를 상기 사용자의 과거 특성 벡터로서 저장하는 단계; 및
    상기 사용자의 업데이트된 특성 벡터를 제2 인공지능 모델에 적용하여, 상기 사용자가 봇(bot)인지 여부를 판단하는 단계;
    를 포함하는, 게임 봇 탐지 방법을 컴퓨터상에서 실행하는 프로그램이 수록된 컴퓨터 판독가능 기록매체.
KR1020210073603A 2021-06-07 2021-06-07 게임 봇 탐지 방법 및 장치 KR20220165079A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210073603A KR20220165079A (ko) 2021-06-07 2021-06-07 게임 봇 탐지 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210073603A KR20220165079A (ko) 2021-06-07 2021-06-07 게임 봇 탐지 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20220165079A true KR20220165079A (ko) 2022-12-14

Family

ID=84438592

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210073603A KR20220165079A (ko) 2021-06-07 2021-06-07 게임 봇 탐지 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20220165079A (ko)

Similar Documents

Publication Publication Date Title
CN108733427B (zh) 输入组件的配置方法、装置、终端及存储介质
CN108434740B (zh) 一种策略信息确定的方法及装置、存储介质
CN109445662B (zh) 虚拟对象的操作控制方法、装置、电子设备及存储介质
CN111773696A (zh) 一种虚拟对象的展示方法、相关装置及存储介质
US20220266143A1 (en) Virtual object interaction method and related apparatus
CN108236785B (zh) 一种获取对象信息的方法及装置
CN105431813A (zh) 基于生物计量身份归属用户动作
KR102616397B1 (ko) 온라인 게임에서 플레이어의 유형을 결정하기 위한 시스템 및 방법
US11786823B2 (en) System and method for creating personalized game experiences
CN112837099B (zh) 潜在流失用户识别方法、装置、存储介质及电子设备
CN110826717A (zh) 基于人工智能的博弈业务执行方法、装置、设备及介质
KR102246617B1 (ko) 화면 분석 방법
US11900406B2 (en) Control method, apparatus, and computer program for stochastic item-providing system
KR20230110220A (ko) 브랜드의 개선을 위한 솔루션을 제공하는 방법 및 장치
KR20220165079A (ko) 게임 봇 탐지 방법 및 장치
US11803630B2 (en) Method and apparatus for providing CAPTCHA system
CN115392405A (zh) 模型训练方法、相关装置及存储介质
US11090564B1 (en) Using sensor statistics for player authentication
US11660538B2 (en) Methods and systems for game system creation
KR102641885B1 (ko) 게임 제공 장치에서 결제 분석 정보를 제공하는 방법 및 게임 제공 장치
KR20200029923A (ko) 컴퓨팅 장치에서 게임에 대한 사용자의 데이터를 처리하는 방법, 및 컴퓨팅 장치
KR20200143842A (ko) 화면 분석 방법
KR101771636B1 (ko) 아이템 관리 서버, 방법 및 컴퓨터 프로그램
KR102602594B1 (ko) 메타버스 상에서 공간 시멘틱 정보를 기반으로 아바타의 위치를 추적하는 방법 및 장치
CN112990236B (zh) 一种数据处理方法和相关装置