KR20220002249A - 이스포츠에서 사기 행위 방지를 위한 시스템 및 방법 - Google Patents
이스포츠에서 사기 행위 방지를 위한 시스템 및 방법 Download PDFInfo
- Publication number
- KR20220002249A KR20220002249A KR1020217026278A KR20217026278A KR20220002249A KR 20220002249 A KR20220002249 A KR 20220002249A KR 1020217026278 A KR1020217026278 A KR 1020217026278A KR 20217026278 A KR20217026278 A KR 20217026278A KR 20220002249 A KR20220002249 A KR 20220002249A
- Authority
- KR
- South Korea
- Prior art keywords
- player
- interaction
- peripheral devices
- data
- profile
- Prior art date
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/75—Enforcing rules, e.g. detecting foul play or generating lists of cheating players
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/44—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment involving timing of operations, e.g. performing an action within a time slot
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/67—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/79—Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/53—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
- A63F2300/535—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for monitoring, e.g. of user parameters, terminal parameters, application parameters, network parameters
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/55—Details of game data or player data management
- A63F2300/5586—Details of game data or player data management for enforcing rights or rules, e.g. to prevent foul play
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
가상 게임 플레이어의 부정 행위를 객관적으로 식별하고 분류하기 위한, 즉 신원 사기 또는 임의의 유형의 소프트웨어 기반 사기 또는 기타 비신사적이거나 비윤리적인 행위를 객관적으로 식별하기 위한 방법 및 장치. 플레이어, 게임, 게임 서버 또는 임의의 다른 외부 엔티티에 부정 행위 사기를 알려 이러한 엔티티가 게임 또는 대회의 규정에 따라 징계 또는 징벌 조치를 트리거할 수 있도록 그 정보를 사용하는 방법.
Description
본 발명은, 예를 들어, 경쟁적인 전자 스포츠(electronic sports)와 같지만 이에 국한되지 않는, 온라인 비디오 게임에서의 부정 행위 분야에 관한 것이다.
이러한 온라인 비디오 게임은 종종 "이스포츠(esports)"라 불리며, 이 용어가 설명에서 사용될 것이다. 이스포츠 토너먼트에서의 상금이 높아지고 있으며, 악평(notoriety)과 상금이 많은 전통적인 스포츠의 악평과 상금에 가까워 지거나 이를 능가하여, 부정 행위에 대한 동기를 창출하고 있다. 따라서, 전통적인 스포츠에서와 같이, 부정 행위 또는 기타 비신사적 행동을 포함하지만 이에 국한되지 않는 사기 행위를 방지하기 위하여 사기 방지 메커니즘이 마련될 필요가 있다. 그러나, 이스포츠의 새로운 특성을 고려할 때, 기존 접근 방식은 적합하지 않다.
이스포츠(전자 스포츠)에서, 플레이어(게이머)는 컴퓨터, 콘솔 또는 기타 장치를 사용하여 온라인으로 서로 경쟁한다. 이러한 대회는 경기장이나 물리적 건물에서 반드시 열리는 것은 아니며, 비디오 스트리밍을 통해 라이브 청중에 의해 시청된다. 최근의 전문화로 인하여, 플레이어나 팀 또는 플레이어가 후원자로부터 지불을 받고 상당한 상금을 받을 수 있는 프로 경쟁 리그가 있다.
경제적인 측면에서, 이것은 토너먼트 당 100만 달러를 초과하는 상금과 플레이어들에 대한 수백 만 명의 청중이 있는 거대한 시장이다. 전 세계 시청자 수는 대략 3억 8천만 명의 플레이어로 추산되며, 광고, 후원 및 미디어 권리를 통해 창출되는 수익은 빠르게 성장하고 있는 9억 달러 시장에 기여한다.
이러한 경제적 수치와 증가하는 악명(notoriety)은 플레이어와 팀이 점점 더 경쟁을 하도록 유도하고, 때로는 경쟁에서 우위를 차지하기 위해 비신사적 행동에 의존한다. 전통적인 스포츠에서, 가장 일반적인 유형의 사기는 운동 능력을 향상시키는 약물의 사용이다. 이스포츠에서, 능력을 향상시키는 새로운 수단이 있으며, 이의 대부분은 경쟁에 사용되는 동일한 전자 장치에 의해 지원되거나 가능하게 된다. 공정성을 위하여, 이러한 행동을 방지하기 위해 이러한 새로운 유형의 스포츠를 전통적인 스포츠처럼 통제하는 것이 필수적이다. 그러나, 기존 접근 방식은 이스포츠가 매우 뚜렷한 특징을 가지고 있기 때문에 적합하지 않다.
이스포츠에는 몇 가지 다른 유형의 부정 행위가 있으며, 이는 다음의 2개의 주요 그룹으로 요약될 수 있다: 소프트웨어 지원 부정 행위 및 반스포츠적 플레이.
1) 소프트웨어 지원 부정 행위는 게임에서 플레이어의 능력과 관련된 특정 기술을 인위적으로 향상시키기 위하여 플레이어의 장치에서 특정 소프트웨어를 사용하는 방법을 포함한다.
조준봇(aimbot)은 상대방의 위치에 관하여 플레이어의 장치가 수신한 정보에 의존하는 방법이다. 이 정보는 게임이 이의 모든 요소의 시각화를 렌더링하는데 필요하지만, 특수 소프트웨어에 의해 악용되어 특정 상대방을 인위적이고 지속적으로 목표로 삼아 인간 플레이어가 달성하기는 불가능한 정밀한 방식으로 사용될 수도 있다. 이것은 심지어 상대방이 장애물(예를 들어, 벽) 뒤에 있을 때에도 수행될 수 있어, 플레이어의 조준 십자 망선(aiming reticule)의 겨냥이 항상 정확하기 때문에, 상대가 보이자 마자 플레이어가 발사할 수 있게 한다.
티거봇(tiggerbot)은 플레이어의 조준 십자 망선 내에 상대방이 나타날 때 자동으로 발사하는 방법이다. 이로 인해 플레이어는 인간 플레이어에게는 불가능한 반응 시간을 보여준다. 이 방법은 일반적으로 지속적으로 상대방을 추적하고 즉시 발사하도록 조준봇과 함께 사용되어, 플레이어의 성과를 크게 향상시킨다.
인공 지연(artificial lag)은 플레이어와 서버 사이의 데이터 스트림을 늦추거나 일시적으로 중단하는데 의존하는 방법이다. 이 방법의 주요 목표는 플레이어의 아바타가 비정상적이고 예측할 수 없는 방식으로 행동하게 하는 것이다(예를 들어, 아바타는 선형으로 이동하는 대신에 두 지점 사이에서 순간 이동하는 것처럼 보인다). 따라서, 플레이어는 필요한 품질로 상대의 데이터를 여전히 수신하면서, 플레이어의 나가는 정보 스트림을 변조할 수 있다. 이것은 플레이어에게 상대방에 비하여 이점을 제공한다. 이 방법은 소프트웨어 또는 하드웨어를 통해 구현될 수 있다.
미리보기(look-ahead)는 플레이어가 자신의 행동을 알리기 전에 상대방의 행동을 분석할 수 있도록 자신의 행동을 지연시켜 상대방보다 우위를 차지하는 방법이다. 이는 실제 타임 스탬프 이전의 타임 스탬프를 첨부함으로써 나가는 데이터 패키지를 변조하는 특수 소프트웨어를 통해 이루어지므로, 패키지가 정확한 시간에 전송되었지만 전송 중에 지연되었다고 믿도록 서버를 호도한다.
스크립팅(scripting)은 부정 행위 플레이어가 특정 작업을 자동화하거나 부자연스러운 속도로 수행할 수 있게 하여, 인위적으로 플레이어의 성과를 높이는 기술이다. 이러한 기술은 일반적으로 특정 소프트웨어를 사용하거나 게임의 특징을 이용하여 구현된다(예를 들어, 마우스의 스크롤에 발사 동작을 할당하여 훨씬 더 빠른 속도로 발사함). 한 가지 이러한 예는 특정 조건이 충족될 때 총을 자동으로 재장전하는 것이다. 스크립팅의 다른 일반적인 적용은 아래에 설명 된 속사(Rapid fire)이다.
속사 수정(Rapid fire modification)은 부정 행위 플레이어가 플레이하는데 사용하는 주변 장치(예를 들어, 컨트롤러, 마우스, 키보드)의 수정에 의존하는 방법이다. 이러한 수정은 하드웨어 또는 소프트웨어를 통해 수행될 수 있으며, 플레이어가 훨씬 더 빠른 속도로 발사하거나 다른 게임 내 동작을 수행할 수 있도록 하여, 상대방보다 우위를 차지한다.
비신사적 플레이는 특정 소프트웨어 또는 하드웨어에 반드시 의존하는 것이 아니라 플레이어의 비윤리적인 행동에 의존하는 접근 방식을 포함한다.
부스팅(boosting) 또는 스탯 패딩(stat-padding)은, 토너먼트 랭킹 및 리그 테이블에서 플레이어의 순위를 높여(즉, 상당히 개선하여) 더 가치 있는 대회에 참여할 수 있게 하고 더 많은 후원금을 얻도록 하는 것을 주요 목표로 하여, 플레이어가 여러 계정을 사용하고 서로 대결하는 방법이다. 또한, 이것은 여러 플레이어에 의해 수행될 수 있으며, 한 명 또는 여러 명의 플레이어가 부정 행위 플레이어가 승리하는데 동의하여, 개인 최고 점수를 인위적으로 향상시킬 수 있게 할 수 있다.
캐릭터 공유(character sharing)는 여러 사람이 번갈아 가면서 같은 캐릭터로 플레이하는 방식이다. 이것은 온라인 상태가 훨씬 더 길어져 더 많은 리소스의 수집, 더 많은 포인트의 획득 및/또는 스킬/장비의 더 빠른 진화를 가능하게 하기 때문에, 캐릭터가 다른 캐릭터에 비하여 우위를 지니게 한다.
트윙킹(twinking)은 낮은 레벨의 캐릭터가 일반적으로 가질 수 없고 그리고/또는 획득할 수 없는 높은 레벨의 캐릭터의 도구(gear)/장비를 한 플레이어가 그 낮은 수준의 캐릭터로 전달하는 행동이다. 이 장비의 더 높은 스탯(stat)은 더 낮은 레벨의 캐릭터에게 랭킹의 나머지 캐릭터에 비하여 불공정한 우위를 제공한다. 이 전달은 동일한 플레이어의 캐릭터들 사이에 또는 상이한 플레이어들의 계정 사이에 발생할 수 있으며 그 대가로 실제 돈이 교환되는 것을 수반할 수 있다.
고스팅(Ghosting)은 플레이어가 보조 플레이 장치(예를 들어, 컴퓨터, 콘솔) 및 계정을 사용하여 주어진 상대방의 게임 플레이를 관찰하는 방법이다. 부정 행위 플레이어는 사람들이 게임을 관전할 수 있도록 하는 대부분의 온라인 게임에 존재하는 메커니즘을 이용한다. 플레이어가 동일한 물리적 위치에서 2 이상의 게이밍 장치 및 계정을 보유하고 있는 경우, 추가 장치를 사용하여 상대방을 관전할 수 있으므로 부당한 방식으로 귀중한 정보(예를 들어, 상대의 위치, 상대의 무기)를 얻을 수 있다.
전술된 소프트웨어 지원 부정 행위의 이러한 방법들은, 일반적으로, 1) 게임 코드 수정, 2) 시스템 소프트웨어 수정 및 3) 패킷 변조의 3가지 다른 방식으로 구현될 수 있다.
부정 행위 방법들은 게임의 소프트웨어 코드의 수정에 의해 구현될 수 있다. 게임 공급 업체기 게임의 바이너리 버전(예를 들어, 사람이 판독 가능한 소스 코드가 사용 가능하지 않은 기계 실행 가능 버전)만 배포하지만, 소스 코드의 일부 또는 전체를 밝혀내고 이의 후속 편집을 허용하는 리버스 엔지니어링 기술이 있다. 대안적으로, 부정 행위 플레이어는 불공정한 이점이나 더 유리한 플레이 조건을 얻기 위하여 게임과 연관된 데이터 파일을 변경할 수도 있다. 비신사적인 행동을 구성하는 것 외에도, 이 방법은 게임의 최종 플레이어 라이선스 계약에 의해 엄격히 금지된다.
또한, 부정 행위 방법은 시스템 소프트웨어 수정을 통해 구현될 수 있다. 이러한 방법에서, 변경되는 것은 게임이 아니라 게임이 실행되는 시스템의 컴포넌트이다(예를 들어, 그래픽 드라이버 수정). 예를 들어, 이러한 방법은 장애물이 있음에도 불구하고 화면에 모든 게임 객체를 그리는 데 사용될 수 있으며, 이를 통해 부정 행위 플레이어는 현재 상황에서 보이지 않아야 하는 상대를 볼 수 있다.
마지막으로, 일부 부정 행위 방법은 패킷 가로채기, 변조 및/또는 조작을 통해 구현될 수 있다. 이것은 중간자 공격(man-in-the-middle attack)의 한 유형이며, 부정 행위 플레이어가 들어오는/나가는 데이터 패키지를 가로채서 결국 변경하여 상대방보다 우위를 점할 수 있도록 한다(예를 들어, 인위적으로 위치 또는 플레이어 동작을 변경한다).
따라서, 이스포츠 부정 행위는 매우 다양하고 널리 퍼져 있는 것으로 추정되며, 실시간으로 소스에서 부정 행위를 모니터링하는 방법을 사용해야만 저지될 수 있다. 전통적인 스포츠에서 약물 도핑을 통제하는데 있어서 혈액 검사가 효과적이지만, 이스포츠에서는 사후 검출이 부당 이득을 중화하는데 대체로 비효율적이며, 다른 접근 방식이 필요하다.
따라서, 본 출원은, 프로 경기 동안(그러나 이에 국한되지는 않음) 지속적으로 그리고 실시간으로 사용될 수 있는 이스포츠에서의 비신사적 행위를 방지하고 검출하는 방법 및 장치를 제안한다.
이를 달성하기 위하여, 제안된 방법은 이전에 제시된 부정 행위 방법들이 공통적으로 갖는 한 가지 양태를 이용한다: 이들은 플레이어가 게임 내에서 행동하는 방식을 변경한다. 즉, 외부 관찰자의 관점에서 볼 때, 부정 행위 플레이어는 부자연스럽거나 비인간적인 방식으로 행동한다. 때때로, 이러한 변화는 인간 관찰자에 의해 검출될 수 있을 만큼 상당하거나 분명하다. 그러나, 특히 훈련되지 않은 플레이어에게, 더 미묘하고 더 검출되기 어려운 기술이 있다. 제안된 기술은 빅 데이터와 통계를 사용하여 검출을 자동화하고, 이를 정확하고 신뢰할 수 있으며 확장 가능하게 한다.
이스포츠, 즉 프로 대회에서의 제안된 방법의 사용은 전체 프로세스의 공정성, 투명성 및 신뢰성을 상당히 높일 수 있다. 이는 결과적으로 스폰서와 브랜드의 참여 의지를 높이고 이스포츠 팀 및 플레이어와 연결하여 업계의 지속적이고 윤리적인 발전에 기여할 것이다.
선행 기술
수행된 배경 분석은 이스포츠에서 부정 행위 방법이 구현 방법과 목표 모두에서 매우 다양할 수 있다는 것을 보여준다. 이스포츠에서 사기를 방지하거나 검출하는 일부 방법과 장치가 이미 제안되었지만, 제한된 개수로 제안되었거나 매우 제한된 애플리케이션에 대하여 제안되었다. 이것은 이스포츠 대회에서 그러한 방법의 사용 부족을 설명할 수 있다.
현재, 2개의 주요 유형의 사기 검출 메커니즘이 알려져 있다. 제1 유형의 사기 검출 메커니즘은 게이밍 장치의 메모리 분석과, 동일한 장치에서 동시에 실행되는 부정 행위 소프트웨어와 같은 외부 에이전트에 의해 발생될 수 있는 메모리에서의 코드 변경을 확인하는 것에 기초한다. 제2 유형의 사기 검출 메커니즘은 특정 게임 내 데이터를 보고 특정 게임 동작(예를 들어, 이동 패턴, 조준 및 발사 패턴)에 의존하여 이러한 게임 동작이 인간적으로 가능하거나 있을 법한지 여부를 결정한다.
K.D.(중국 특허 번호 CN102334140B)는 이스포츠에서 사기를 방지하는 방법을 설명한다. 제안된 방법은, 운영 체제 또는 장치 드라이버를 포함하는, 주어진 순간에 주어진 게이밍 장치에 존재하는 하드웨어 및 소프트웨어를 인증하는 인증 기관에 의존한다. 이 동일한 인증 기관은 또한 시스템에서 수행되는 모든 변경 사항(예를 들어, 그래픽 드라이버 업데이트 또는 하드웨어 업그레이드)도 인증되었는지 확인하여야 한다. 예를 들어, 사용되는 드라이버가 변경되지 않았거나 플레이어에 의해 사용되는 게임의 코드가 원래 코드인지를 확인하여야 한다. 이 발명의 주요 목적은 시스템 수정을 통한 부정 행위를 방지하는 것이다.
유사한 접근 방식이 Pearson 등(US 2004/0078572 A1)에 의해 제안되었지만, 소프트웨어 레벨에서만 제안되었다. 이 접근 방식은 먼저 BIOS 및 운영 체제와 같은 관련 소프트웨어 코드의 진위(authenticity)를 확인하여 플레이어가 신뢰할 수 있는 컴퓨팅 플랫폼 에서의 구획 내에서 게임을 실행하고 있고 게임과의 상호 작용을 변경할 수 있는 그 구획에 어떠한 다른 소프트웨어 컴포넌트도 존재하지 않는다는 것을 보장한다. 시스템이 이 제1 검사를 통과하면, 이 방법은 게이밍 애플리케이션의 ID를 확인하여 예를 들어 게임에 패치 또는 일부 다른 승인되지 않은 수정을 적용함으로써 원래 소프트웨어 코드가 변경되지 않았는지 확인한다. 이러한 확인은 알려진 패치의 서명에 대한 확인, 게임 내에서 사용되는 루틴의 이름에 대하여 이루어지는 확인, 길이에 대한 확인 및/또는 애플리케이션 소프트웨어 컴포넌트의 일부의 검사합(check sum)을 포함할 수 있다. 게임의 구현에 따라, 소프트웨어 컴포넌트는 실행 파일, 바이너리 파일, 라이브러리 파일 또는 애플릿을 포함할 수 있다. Pearsons 등은 또한 참가자 컴퓨팅 장치에서 실행되는 플레이어의 능력을 모니터링하기 위하여 모니터링 에이전트를 사용하는 것을 제안한다. 모니터링 에이전트는 유익하게는 인과 관계의 규칙이 준수되는지 그리고/또는 응답 시간이 믿을 수 없을 정도로 빠르지 않은지 결정하기 위하여 게임 플레이를 모니터링할 수 있다. 그러나, 이 에이전트가 이러한 관련 게임 특정 정보에 어떻게 액세스하는지는 명백하게 설명하지는 않는다.
Eisen(US 8151327B2)은 패킷 변조 부정 행위, 더욱 구체적으로는, 중간자 공격을 처리하는 방법을 제안한다. 이 접근 방식은 플레이어의 세션 식별자와 연관된 복수의 장치 지문을 수집한다. 온라인 세션 전체에 걸쳐 서버에 의해 전달되는 콘텐츠 중 여러 위치에서 이러한 장치 지문 및 세션 정보를 수집함으로써, 제안된 방법은 세션 변조, 즉 동일한 세션에서 다른 IP 주소로부터 콘텐츠가 액세스 되는 때를 식별할 수 있다. 제안된 방법은 일반적이며 이스포츠를 포함하는 온라인 세션의 개념이 있는 모든 도메인에 적용될 수 있다.
Overton(US 2004/0242321 A1)은, 하나가 다른 하나를 모니터링하는, 2개의 개별 기계에서 실행되는 2개의 게임 인스턴스를 사용하는 부정 행위의 검출에 대한 접근 방식을 제안한다. 구체적으로는, 게임 인스턴스는 다른 캐릭터의 동작을 모니터링하여, 게임 애플리케이션의 성능을 벗어난 동작(예를 들어, 게임에 의해 허용하는 최대 거리보다 더 긴 거리로 점프를 수행하는 것)을 지적한다. 제안된 방법은 부정 행위자를 게임 시스템에 지적하여 부정 행위자가 게임 환경에서 배제될 수 있도록 한다. 또한, 이 문헌은 방법이 게임의 규칙에 어떻게 접근할 수 있는지, 또는 각각의 게임이 자신의 고유한 규칙을 가진다는 것을 감안할 때 이것이 어떻게 각각의 게임에 대하여 맞추어질 수 있는지 명확하지 않다.
Guo 등(US 2014/0045564 A1)은, 특히 발사체 발사 턴 기반 전쟁 게임(projectile-launching turn-based war game)을 위해 설계된, 온라인 게임을 위한 부정 행위 방지 방법을 제안한다. 이 방법의 핵심 아이디어는 각각의 발사체 발사에 대한 정보를 서버로 전송하여, 발사체의 궤적을 계산하는 서버가 되도록 하는 것이다. 그 다음, 서버는 이 궤적을 플레이어 클라이언트로 다시 보내며, 플레이어 클라이언트는 이를 화면에 표시하기만 하면 된다. 따라서, 목표는 신뢰할 수 없는 클라이언트로부터의 모든 게임 로직을 인증된 서버로 이동시키는 것이다. 그러나, 이 방법은 매우 특정한 유형의 게임에만 적용된다. 더욱이, 저자는 서버로부터 수신된/서버로 송신된 패킷을 변조하여 상대방보다 우위를 점할 수 있는 중간자 공격으로부터 보호하는 방법을 명확하게 설명하지 않는다.
또한, US 8708791 B2, US 20090163280 A1, US 8734238 B2 또는 US 20130072306 A1을 포함하는, 온라인 베팅 및 카지노용 게임에 특화된 부정 행위 방지를 위한 광범위한 방법도 있다. 그럼에도 불구하고, 이러한 방법들은 카지노에 의해 사용되는 게임 유형에 너무 특화되며, 이스포츠에서 플레이되는 게임 유형(예를 들어, RPG, FPS)에 사용되도록 일반화될 수 없다.
US 7169050 B1, US 8360890 B2 또는 US 2007/0105624 A1을 포함하는, 이전에 설명된 것들과 유사하거나 그들과 관련된 다른 방법 또는 시스템이 발견될 수 있다. 여기에서, A) 각각의 방법이 특정 유형의 부정 행위(예를 들어, 소프트웨어 변조, 통신 변조)만을 대상으로 하거나; 또는 B) 게임으로부터의 특정 정보에 의존하는 방법이 있지만, 이 정보가 어떻게 얻어질 수 있는지 또는 방법이 상이한 게임들에 어떻게 맞추어질 수 있는지를 명확하게 설명하지 않는다.
US 9517402 B1에서, 플레이어 프로필 및 소위 플레이어 행동 모델에 의존하는 플레이어 식별 방법이 제안된다. 플레이어 프로필은 다른 것들 중에서 나이, 성별, 거주지 및 현재 위치, 직업, 소득, 라이프 스타일, 신용 카드 거래 등과 같은 많은 다양한 데이터를 포함한다. 플레이어 행동 모델은 게임 특화 데이터를 기반으로 구축되며, 즉, 게임 특화 데이터는 게임 별로 개별적으로 개발되고 구현된다. 게임 특화 데이터에서의 예시적인 변수는 다른 것들 중에서도 표적 획득 패턴, 온-스크린(on-screen)으로부터 반응까지의 시간, 표적이 되는 신체 부위(들), 발사 패턴, 폭발 사이의 시간을 포함한다. 또한, 저자에 의해 제안된 변수는 FPS(flames per second(초당 프레임 수)) 유형 게임에 매우 특화되며, 롤 플레잉 게임(RPG)과 같은 다른 상이하고 동등하게 인기 있는 게임을 방치한다.
US 20080305869 A1 및 WO 2007/109130 A2 모두 플레이어가 사용 중인 장치가 사용되고 있는 방식을 관찰함으로써 부정 행위 문제를 해결한다. 구체적으로는, 특허 출원 US '869 및 WO '130은 다른 것들 중에서 데이터 저장소 액세스 패턴, 파일 작업(예를 들어, 읽기, 쓰기, 열기), CPU 사용량, 페이징 파일, 네트워크 활동 및 리소스 활용과 같은 요소를 살펴본다.
따라서, 본 문서는 상이한 유형의 사기를 방지하고 검출하기 위한 새로운 방법 및 장치를 교시한다. 본 방법과 장치는 다음과 같은 의미에서 기존 접근 방식과 다르다:
● 특정 게임 내(in-game) 정보를 필요로 하지 않는다. 따라서, 본 방법 및 장치는 특정 게임 유형에 제한되지 않고, 각각의 상이한 게임 유형에 맞추어질 필요가 없다.
● 플레이어의 프로필을 설정하기 위해 위치, 성별, 신용 카드 거래 또는 소셜 네트워크 정보와 같은 개인적이고 민감한 정보의 획득에 의존하지 않는다.
● 장치의 성능을 방해하고 이에 따라 플레이어 능력을 손상시킬 위험이 없도록 하드웨어/소프트웨어 활동이나 네트워크 활동/리소스를 모니터링하지 않는다.
본 방법 및 장치는 키보드, 조이스틱 또는 컨트롤러와 같은 하드웨어를 포함하지만 이에 국한되지 않는 장치의 입력 하드웨어와의 플레이어의 상호 작용(예를 들어, 쓰기 속도, 키 타이핑 대기 시간, 마우스 포인터 속도 및 가속도)만을 고려하여 작동한다. 부정 행위의 검출은 플레이어 상호 작용을 지속적으로 모니터링하고 통계 도구를 사용하여 사람이 아니거나 플레이어의 알려진 프로필과 상당히 다른 패턴을 식별함으로써 달성된다. 그런 의미에서, 그리고 기존의 접근 방식과는 대조적으로, 이 접근 방식은 개별적이고 구체적인 적응이나 하드웨어 없이도 임의의 게이밍 장치 또는 임의의 게임에서 사용될 수 있고, 부정 행위의 검출이 게임 및 이의 상황에 독립적이라는 의미에서 일반적(generic)이다.
더욱이, 종래 기술의 해결 방안과 달리, 본 방법 및 장치는 원래 플레이어를 대신하는 더 탁월한 기술을 가진 플레이어와 같은 비신사적 행동을 검출할 수 있다. 이러한 유형의 행동은 메모리에 있는 게임의 소프트웨어를 변경하지 않으며 플레이어를 교체해도 계산 리소스가 사용되는 방식이 변경되지 않는다. 그러나, 플레이어의 교체는 게이밍 장치의 주변 장치와의 플레이어의 상호 작용의 역학(dynamics)을 변경한다. 이러한 역학의 실시간 모니터링은 플레이 역학에 상당한 변화를 가져 오는 다른 유형의 사기 또는 부정 행위를 제외하고 이러한 경우의 검출을 가능하게 한다.
본 문서는 이스포츠 부정 행위 또는 사기를 감지하고 온라인 게임에서 한 명 이상의 플레이어가 주어진 순간에 부정 행위를 하고 있고 그리고/또는 사기로 행동하고 있는지 여부를 결정하기 위한 시스템 및 방법을 설명한다. 이 검출은 게임 유형(또는 게임 상황)과 독립적으로 수행된다. 시스템은 개인용 컴퓨터, 랩탑, 휴대용 장치, 게임 콘솔, 또는 컴퓨터 게임을 플레이하기 위해 사용되는 임의의 컴퓨팅 장치일 수 있는 적어도 하나의 개인용 컴퓨팅 장치를 포함한다. 중앙 서버에 연결된 개인용 컴퓨팅 장치에서 컴퓨터 게임을 실행할 때, 개인용 컴퓨팅 장치는 또한 클라이언트라고도 알려져 있다. 또한, 시스템은, 게임의 동일한 서버일 수도 있고 아닐 수도 있는 중앙 서버와, 게임 인스턴스가 실행되고 있는 플레이어의 자체 컴퓨팅 장치인 다수의 클라이언트를 포함한다. 중앙 서버는 아래에서 설명되는 바와 같이 데이터를 저장하기 위한 서버 메모리를 포함한다. 클라이언트는 인터넷과 같은 통신 네트워크를 통해 서버에 연결된다.
보통의 게임 특유 데이터에 추가하여, 게임을 실행하는 클라이언트(들)는 장치의 입력 주변 장치(예를 들어, 마우스, 키보드, 컨트롤러)와의 플레이어의 상호 작용 이벤트를 설명하는 상호 작용 데이터를 중앙 서버에 전송한다. 이 데이터는 클라이언트에 설치되고 모니터링되고 있는 게임과 동시에 실행되는 외부 애플리케이션에 의해 수집되거나, 게임 공급자에 의해 통합될 수 있는 사용 가능한 SDK(Software Development Kit(소프트웨어 개발 키트))를 사용하여 게임 자체에 의해 수집될 수 있다. 중앙 서버로 전송되는 상호 작용 데이터는, 마우스 클릭 또는 입력된 키, 이들의 특정 타임 스탬프, 좌표, 지속 시간 및 기타 특성과 같지만 이에 국한되지 않는, 게임 플레이 중에 장치의 입력 주변 장치와의 일반적인 상호 작용 이벤트를 설명한다.
중앙 서버는 플레이어로부터 상호 작용 데이터를 수신하고 상호 작용 데이터를 처리하여 관련성 있고 의미 있는 상호 작용 특징을 생성한다. 이러한 상호 작용 특징은 매우 다양하며 플레이어에 의해 사용되는 주변 장치(들)(예를 들어, 키보드, 마우스, 조이스틱)와 관련된다. 상호 작용 데이터는 일반적으로 상호 작용 데이터의 전송을 위해 네트워크에서 필요한 리소스의 양을 줄이기 위해 압축될 것이다. 기존 접근 방식과 달리, 생성된 상호 작용 특징은 게임 중 입력 주변 장치와의 플레이어의 상호 작용의 역학을 설명한다. 상호 작용 특징은 (게임에 따라 다를 수 있는) 플레이어의 게임 내 동작이 아니다. 그런 의미에서, 이러한 생성된 상호 작용 특징은 임의의 주어진 순간에 플레이되는 게임과 독립적이다. 이러한 상호 작용 특징은 마우스 속도, 마우스 가속도, 클릭 대기 시간, 키보드 대기 시간과 같은 특징을 포함하며, 플레이어가 입력 주변 장치를 어떻게 사용하고 있는지를 설명하는 다른 특징도 포함할 것이다.
서로 다른 플레이어 및 다수의 게임 세션으로부터의 처리된 데이터는 중앙 서버의 서버 메모리에 지속적으로 전송되어 저장된다. 중앙 서버의 서버 메모리에 충분한 데이터가 저장될 때, 2가지 유형의 상호 작용 프로필이 구축된다. 1) 일반 상호 작용 프로필은 이 특정 게임을 플레이하는 동안 임의의 플레이어가 게이밍 장치의 입력 주변 장치(들)와 일반적으로 상호 작용하는 방식을 설명한다. 2) 특정 상호 작용 프로필은 한 특정 플레이어가 이 특정 게임을 플레이하는 동안 게이밍 장치의 주변 장치(들)와 상호 작용하는 방식을 설명한다. 따라서, 그리고 US 9517402 B1의 교시 내용 및 종래 기술에 설명된 유사한 작업과는 반대로, 본 문서의 방법 및 장치는 개인적인/민감한 데이터에 기초하는 고유한 플레이어 식별자의 생성을 사용하지 않는다. 오히려, 본 방법 및 장치는 게이밍 장치의 입력 주변 장치와의 플레이어의 상호 작용 역학을 설명하는 통계적 상호 작용 프로필을 구축한다. 이는, 1) 일반적인 상호 작용 역학; 2) 개별 상호 작용 역학; 및 3) 어떤 유형의 사기 또는 부정 행위를 나타낼 수 있는 허용된 정상적인 행동으로부터의 통계적으로 유의한 편차를 공식화할 수 있는 이 영역에서 의미 있는 아티팩트(artifact)이다.
단독으로 또는 서로 결합하여 취해진 이 2개의 상호 작용 프로필은 이스포츠 플레이어의 디지털 서명 역할을 하고, 따라서 이스포츠 플레이어의 신원 및 게이밍 장치와의 일반적인 상호 작용 패턴을 확인하여, 결과적으로 사기꾼을 발견하거나 불법적인 성능 향상 장치를 검출하는 것을 포함하는 부정 행위 또는 사기 행위를 식별하는데 사용될 수 있다.
양 유형의 상호 작용 프로필은 유사한 방식으로 구축된다: 각각의 상호 작용 특징에 대해 중앙 서버는 소위 "정상 인터벌(normal interval)"을 계산한다. 이의 최대값과 최소값에 의해 표시되는 이 정상 인터벌은 각각의 상호 작용 특징과 관련된 플레이어(또는 플레이어 그룹)의 일반적인 행동을 구성하는 경계를 나타낸다. 예를 들어, 대부분의 플레이어의 경우, 키보드 상의 각각의 키 누름의 대기 시간은 일반적으로 55ms에서 90ms 사이다(그러나, 이 값은 본 발명을 제한하지 않는다).
각각의 플레이어에 대해 추적되는 다양한 상호 작용 특징만큼 많은 다수의 차원이 있는 주어진 플레이어(또는 플레이어 그룹)의 입력 주변 장치 중 하나 이상과의 모든 상호 작용 특징에 대한 모든 인터벌의 결합은 소위 "상호 작용 프로필"을 구성한다. 각각의 플레이어 그리고 임의의 원하는 플레이어 그룹(예를 들어, 등록된 팀 또는 게임의 모든 플레이어)의 상호 작용 프로필은 중앙 서버의 서버 메모리에 저장된다.
중앙 서버는 게임을 플레이하는 플레이어의 상호 작용 특징을 지속적으로 모니터링하고, 서버 메모리에 저장된 상호 작용 프로필에 대하여 모니터링된 상호 작용 특징을 비교한다. 한 플레이어의 행동이 상호 작용 프로필과 상당히 다르다면, 그 플레이어는 서버에 의해 부정 행위자(또는 사기)로 표시된다. 그 다음, 서버는, 다른 것들 중에서도, 이벤트를 기록하거나, 클라이언트에게 알리거나, 클라이언트와의 연결을 종료하거나, 임시 또는 영구 금지, 플레이어 아바타에서 게임 내 리소스 제거, 플레이어 아바타의 위치를 강조하는 것, 플레이어의 아바타를 손상시키는 것(예를 들어, 움직임 속도 저하)과 같은 징계 조치를 적용하는 등의 하나 이상의 조치를 구현할 수 있다.
예시적인 시나리오로서, 주어진 플레이어가 일반적으로 2 내지 5초 사이의 평균 마우스 클릭 빈도를 갖고 이의 상호 작용 특징이 0.2초의 평균 속도로 발생하는 클릭을 포함하기 시작한다면, 이것은 부정 행위로 식별될 것이다.
본 문서에서 아래에 더 설명된 모든 상호 작용 특징의 조합된 사용은 각각의 플레이어가 게이밍 장치의 입력 주변 장치(들)와 매우 다른 상호 작용 패턴을 가진다는 점에서 매우 상세하고 고유한 상호 작용 프로필의 생성을 허용한다. 이것은 상이한 유형의 사기 또는 부정 행위의 검출을 위한 본 방법, 즉, 플레이어의 게임 능력을 인위적으로 향상시키거나, 자신의 순위를 향상시키거나 임의의 다른 유형의 이점을 획득하도록 플레이어가 더 큰 능력과 기술을 갖는 다른 플레이어로 대체되는 방법의 사용을 가능하게 한다. 이러한 종류의 부정 행위 또는 사기는 종래 기술에서 설명된 바와 같은 기존의 방법 또는 시스템에 의해 검출될 수 없다.
본 문서는 온라인 비디오 게임에서 플레이어의 사기 행위의 검출을 위한 컴퓨터 구현 방법을 교시한다. 방법은, 개인용 컴퓨터 장치에서, 개인용 컴퓨터 장치에 연결된 복수의 주변 장치와의 플레이어의 복수의 상호 작용에 관련된 복수의 상호 작용 데이터를 수집하는 단계와, 상호 작용 데이터를 중앙 컴퓨터 서버에 송신하는 단계를 포함한다. 중앙 컴퓨터 서버에서, 송신된 상호 작용 데이터와 플레이어 상호 작용 데이터베이스에 저장된 플레이어 상호 작용 프로필 사이에 비교가 수행되어, 송신된 상호 작용 데이터와 저장된 플레이어 상호 작용 프로필 사이의 비교에 기초하여 사기 행위 위험을 식별한다. 중앙 컴퓨터 서버는 사기 행위 위험을 나타내는 메시지를 발행한다. 본 방법은 온라인 비디오 게임과의 상호 작용이 필요하지 않으며 상호 작용 데이터의 수집을 주변 장치에 의해 생성된 상호 작용 데이터로 제한한다. 따라서, 온라인 비디오 게임이 동작하는 방식에 영향을 미칠 수 있는 온라인 비디오 게임의 동작과의 상호 작용이 없다.
비교를 위해 사용되는 플레이어 상호 작용 프로필은 통계에 기초한 정상 인터벌 레벨 및 기계 학습으로부터 얻어진 모델 중 적어도 하나로부터 얻어지고, 일반 플레이어 상호 작용 프로필과 하나 이상의 특정 플레이어 상호 작용 프로필을 포함한다. 일반적으로, 각각의 플레이어는 특정 플레이어 상호 작용 프로필을 가질 것이다. 아래에서 설명되는 바와 같이, 일반 플레이어 상호 작용 프로필이 비교를 하기 위하여 초기에 사용될 수 있으며, 신규 플레이어가 온라인 비디오 게임을 더 자주 플레이하기 시작함에 따라, 신규 플레이어로부터의 상호 작용 데이터가 신규 플레이어 자신의 특정 상호 작용 프로필을 발전시키기 위하여 사용된다. 정상 인터벌 레벨은 최대 보통 이동 거리 및 최소 보통 이동 거리 사이에 있고, 사기 행위 위험을 식별하기 위한 비교는 정상 인터벌 레벨 내에 속하는지 판단하기 위하여 이동 거리들 중 하나 이상을 비교함으로써 결정된다. 통계 또는 기계 학습 모델의 사용은 주변 장치에 의해 생성되고 중앙 컴퓨터 서버에 의한 저장 및 비교를 위해 전송되는 상호 작용 데이터의 양이 제한되어 리소스에 대한 부하를 줄이고 처리를 가속한다는 것을 의미한다.
상호 작용 데이터는, 플레이어와 하나 이상의 주변 장치 사이의 반응 시간, 플레이어에 의해 이동된 주변 장치 중 이동 가능한 주변 장치의 이동 거리, 주변 장치 중 이동 가능한 주변 장치의 이동 속도 및 하나 이상의 주변 장치에 인가된 힘 중 적어도 하나를 포함하지만 이에 국한되지 않는다. 이 상호 작용 데이터는 온라인 비디오 게임과 독립적으로 생성되거나, 실제로 온라인 비디오 게임 유형과 독립적으로 생성된다.
방법은 플레이어들 중 특정 플레이어로부터 전송된 상호 작용 데이터를 하나 이상의 특정 플레이어 상호 작용 프로필과 비교함으로써 플레이어들 중 한 플레이어의 신원을 확인하는 데 사용될 수 있다. 또한, 방법은 수신된 상호 작용 데이터에 기초하여 저장된 플레이어 상호 작용 프로필을 업데이트하도록 구성될 수 있다.
본 방법은, 예를 들어, 사기 행위를 검출하기 위해 사용되며, 사기 행위는 추가 소프트웨어 도구를 사용하는 것, 능력 향상 약물을 복용하는 것 및 플레이어 프로필을 교환하는 것 중 적어도 하나를 포함한다.
또한, 온라인 비디오 게임에서의 플레이어의 사기 행위의 검출을 위한 시스템이 본 문서에서 개시된다. 본 시스템은 네트워크를 통해 하나 이상의 개인용 컴퓨터 장치에 연결된 중앙 컴퓨터 서버를 포함하고, 하나 이상의 개인용 컴퓨터 장치는 복수의 주변 장치에 연결된다. 또한, 시스템은 복수의 플레이어 상호 작용 프로필을 저장하는 플레이어 상호 작용 데이터베이스를 포함한다. 중앙 컴퓨터 서버는, 복수의 주변 장치로부터 상호 작용 데이터를 수신하고, 수신된 상호 작용 데이터와 저장된 플레이어 상호 작용 프로필 사이의 비교에 기초하여 사기 행위 위험을 식별하도록 구성된다.
주변 장치는 마우스, 키보드, 조이스틱, 모션 검출기 및 눈 추적 장치 중 하나 이상을 포함하지만 이에 국한되지 않는다.
추가 양태에서, 플레이어 상호 작용 프로필 생성 방법이 본 문서에 개시된다. 본 방법은, 개인용 컴퓨터 장치에서 개인용 컴퓨터 장치에 연결된 복수의 주변 장치와의 플레이어(들)의 복수의 상호 작용에 관련된 복수의 상호 작용 데이터를 수집하는 단계와, 상호 작용 데이터를 중앙 컴퓨터 서버에 송신하는 단계를 포함한다. 상호 작용 데이터는 플레이어 상호 작용 프로필을 생성하기 위하여 통계 및 기계 학습 방법 중 하나를 이용하여 분석된다.
방법을 수행하기 위한 논리 명령어는 내부 메모리, 클라우드 메모리 또는 연결된 데이터 서비스와 같은 적어도 하나의 비일시적인 기계 판독 가능한 저장 매체에 저장된다.
도 1은 시스템의 개요를 도시한다.
도 2는 상호 작용 프로필을 구축하는 과정의 개요를 도시한다.
도 3은 한 특정 플레이어의 상호 작용 데이터를 부정 행위 또는 비부정 행위로 분류하는 과정의 개요를 도시한다.
도 4는 직선에 대한 마우스의 거리 및 평균 거리의 특징의 계산을 도시한다.
도 5는 각도의 부호 및 절대 합의 특징의 계산을 도시한다.
도 6은 2번의 클릭 사이에 마우스에 의해 이동된 실제 거리의 계산을 도시한다.
도 7은 그래픽으로 도시된 한 플레이어(플레이어 2)의 상호 작용 프로필의 일부를 도시한다.
도 8은 그래픽으로 도시된 한 플레이어(플레이어 2)의 상호 작용 프로필의 일부와, 동일한 플레이어로부터의 상호 작용 데이터의 한 인스턴스를 도시한다.
도 9는 그래픽으로 도시된 한 플레이어(플레이어 2)의 상호 작용 프로필의 일부와, 다른 플레이어(플레이어 5)로부터의 상호 작용 데이터의 한 인스턴스를 도시한다.
도 10은 그래픽으로 도시된 한 플레이어(플레이어 5)의 상호 작용 프로필의 일부를 도시한다.
도 11은 신원 분류를 위한 시스템의 사용 후에 생성된 혼동 행렬을 도시한다.
도 2는 상호 작용 프로필을 구축하는 과정의 개요를 도시한다.
도 3은 한 특정 플레이어의 상호 작용 데이터를 부정 행위 또는 비부정 행위로 분류하는 과정의 개요를 도시한다.
도 4는 직선에 대한 마우스의 거리 및 평균 거리의 특징의 계산을 도시한다.
도 5는 각도의 부호 및 절대 합의 특징의 계산을 도시한다.
도 6은 2번의 클릭 사이에 마우스에 의해 이동된 실제 거리의 계산을 도시한다.
도 7은 그래픽으로 도시된 한 플레이어(플레이어 2)의 상호 작용 프로필의 일부를 도시한다.
도 8은 그래픽으로 도시된 한 플레이어(플레이어 2)의 상호 작용 프로필의 일부와, 동일한 플레이어로부터의 상호 작용 데이터의 한 인스턴스를 도시한다.
도 9는 그래픽으로 도시된 한 플레이어(플레이어 2)의 상호 작용 프로필의 일부와, 다른 플레이어(플레이어 5)로부터의 상호 작용 데이터의 한 인스턴스를 도시한다.
도 10은 그래픽으로 도시된 한 플레이어(플레이어 5)의 상호 작용 프로필의 일부를 도시한다.
도 11은 신원 분류를 위한 시스템의 사용 후에 생성된 혼동 행렬을 도시한다.
이제 본 발명이 도면에 기초하여 설명될 것이다. 본 명세서에 설명된 본 발명의 실시예들과 양태들은 단지 예일 뿐이며 어떠한 방식으로도 청구항의 보호 범위를 제한하지 않는다는 것이 이해될 것이다. 본 발명은 청구 범위 및 이의 균등물에 의해 정의된다. 본 발명의 한 양태 또는 실시예의 특징은 본 발명의 다른 양태 또는 양태들 및/또는 실시예의 특징과 결합될 수 있다는 것이 이해될 것이다.
"사기(fraud)", "사기의(fraudulent)", "속임수(cheat)" 및 "부정 행위(cheating)"라는 용어는 게임의 정직한 플레이를 준수하지 않고 또한 "비신사적인(unsportsmanlike)" 것으로 결정될 수 있는 동일한 유형의 행위를 설명하기 위하여 본 문서에서 대안적으로 상호 교환 가능하게 사용된다.
본 문서의 장치는 도 1에 도시되며, 포인터 장치(20), 키보드(30) 및 디스플레이 유닛(40)에 연결된 개인용 컴퓨팅 장치(10)를 포함한다. 포인터 장치(20) 및 키보드(30)는 집합적으로 "입력 주변 장치"라 한다. "입력 주변 장치"라는 용어는 여기에 도시되지 않은 다른 유형의 장치를 포함한다.
개인용 컴퓨팅 장치(10)는 처리 시스템(10p) 및 저장 장치 또는 로컬 메모리(15)를 가진다. 개인용 컴퓨팅 장치(10)는 이의 처리 시스템(10p)에서 상호 작용 데이터(12d)를 수집하는 특정 데이터 수집 소프트웨어(12)를 실행하고 있고, 선택적으로는, 플레이되고 있는 온라인 비디오 또는 컴퓨터 게임(14)을 실행하고 있다. 데이터 수집 소프트웨어(12) 및 컴퓨터 게임(14)은 메모리(15)에 저장된다. 개인용 컴퓨팅 장치(10)는 네트워크(60)를 통해 중앙 컴퓨터 서버(50)에 추가로 연결된다. 중앙 컴퓨터 서버(50)는 네트워크 저장 영역(55)을 가진다. 또한, 추가 컴퓨터(70a-c)가 개인용 컴퓨팅 장치(10) 또는 중앙 컴퓨터 서버(50)에 연결될 수 있다.
데이터 저장 장치 또는 로컬 메모리(15)는 본 명세서에 설명된 방법론 또는 기능 중 임의의 하나 이상을 구체화하는 소프트웨어 프로그램 명령어의 하나 이상의 세트가 저장된 기계 액세스 가능한 비일시적인 매체를 포함할 수 있다. 또한, 소프트웨어는 컴퓨터 시스템(10), 로컬 메모리(15) 및 프로세서(10p)에 의해 실행되는 동안 로컬 메모리(15) 내에 및/또는 프로세서(10p) 내에 완전히 또는 적어도 부분적으로 상주할 수 있으며, 또한 기계 액세스 가능한 저장 매체를 구성한다. 또한, 소프트웨어는 네트워크 인터페이스 또는 통신 서브 시스템을 통하여 네트워크(60)를 통해 송신 또는 수신될 수 있다.
또한, 기계 액세스 가능한 비일시적인 매체는 플레이어 상호 작용 프로필을 정의하는 데이터 구조 세트를 저장하는데 사용될 수 있다. 데이터 구조 세트 및 상호 작용 프로필은 또한 정적 메모리와 같은 컴퓨터 시스템(10)의 다른 섹션에 저장될 수 있다.
예시적인 실시예에서 기계 액세스 가능한 비일시적인 매체가 단일 매체인 것으로 도시되어 있지만, "기계 액세스 가능한 비일시적인 매체"라는 용어는 단일 매체 또는 하나 이상의 명령 세트를 저장하는 다중 매체(예를 들어, 중앙 집중식 또는 분산 데이터베이스 및/또는 연관된 캐시 및 서버)를 포함하는 것으로 간주되어야 한다. 또한, "기계 액세스 가능한 비일시적인 매체"라는 용어는 기계에 의한 실행을 위한 명령어 세트를 저장, 인코딩 또는 전달할 수 있고, 기계가 본 발명의 하나 이상의 방법론을 수행하게 하는 모든 매체를 포함하는 것으로 간주되어야 한다. 따라서, "기계 액세스 가능한 비일시적인 매체"라는 용어는 고체 메모리와, 광학 및 자기 매체와, 반송파 신호를 포함하는 것으로 간주되어야 하지만, 이에 국한되지는 않는다.
포인터 장치(20)는 개인용 컴퓨팅 장치(10)에 무선 또는 유선으로 연결되거나, 컴퓨터에 의해 검출 가능하고, 포인터 또는 다른 표시자(indicator)가 디스플레이 유닛(40)의 스크린 상에서 어디에 있어야 하는지에 관한 플레이어로부터의 명령어를 송신할 수 있고 포인터 또는 다른 표시자에 의해 덮인 스크린의 영역을 선택하도록 플레이어로부터의 명령어를 수신할 수 있는 임의의 입력 주변 장치를 포함한다. "포인터 장치(pointer device)"라는 용어는 마우스, 조이스틱, 터치패드, 트랙볼, 스타일러스, 플레이어의 눈이나 손가락 또는 디스플레이 유닛(40) 또는 플레이어에게 포인터 위치 정보를 제공하는 임의의 유닛에서의 주어진 위치에 포인터를 배치하는 기능을 갖는 임의의 다른 감지, 포인팅 또는 트래킹 장치를 포함하지만, 이들에 국한되지 않는다. 또한 포인터 장치는 컴퓨터 스크린 또는 디스플레이 유닛의 선택된 영역에 대한 프로그래밍된 동작을 런칭하기 위하여 플레이어가 클릭하거나, 태핑하거나, 누르거나, 작동할 수 있는 기계적 또는 기타 유형의 버튼, 스위치 또는 터치 민감 영역을 가질 수 있다. 본 출원 전체에서, "포인터" 및 "마우스"라는 용어는 상호 교환적으로 사용될 수 있으며, 모두 위에서 정의된 "포인터"라는 용어를 나타낸다.
키보드(30)는, 컴퓨터에 무선 또는 유선으로 연결되거나, 컴퓨터에 의해 검출 가능하고, 문자, 숫자, 기호 및 기능 키를 나타내고 플레이어에 의해 선택 가능한 키를 포함하고 컴퓨터와 선택적으로는 컴퓨터의 디스플레이 유닛에 전송되는 키를 포함하는 임의의 입력 장치를 포함한다. 키보드는 터치 스크린 컴퓨터 태블릿 또는 아직 발명되지 않았지만 키보드와 동일한 기능을 수행하는 다른 장치에서와 같이 기계식, 터치 민감식 및/또는 가상적일 수 있으며, 본 발명에 의해 다루어지지 않는 음성 명령은 제외된다.
데이터 수집 애플리케이션(12)은 플레이어의 개인용 컴퓨팅 장치(10)의 백그라운드에서 실행되는(즉, 플레이어의 뷰로부터 제거됨) 실시간 모니터링 시스템(12m)을 포함하며, 이는 전술한 입력 주변 장치(20, 30)를 이용하여 개인용 컴퓨팅 장치(10)와의 플레이어의 상호 작용 이벤트에 대한 상호 작용 데이터(12d)를 수집한다. 데이터 수집 애플리케이션(12)이 개인용 컴퓨팅 장치(10)에서 실행되는 임의의 장치, 입력 주변 장치 또는 애플리케이션과의 상호 작용으로부터 상호 작용 데이터를 수집할 수 있지만, 목표는 플레이어가 입력 주변 장치를 사용하는 동안 입력 주변 장치(들)(20, 30)와 플레이어와의 상호 작용 역학으로부터의 상호 작용 데이터(12d)를 수집하는 것이다. 이 실시간 모니터링 시스템(12m)은 이제 설명할 3가지 컴포넌트로 분할된다.
개인용 컴퓨팅 장치(10)의 입력 주변 장치(들)와의 플레이어의 상호 작용으로부터의 입력의 수집. 컴퓨터 게임 애플리케이션(14)이 포그라운드에서 실행되고 있을 때 플레이어가 개인용 컴퓨팅 장치(10) 및 입력 주변 장치(20, 30)와 상호 작용하는 동안, 데이터 수집 소프트웨어(12)의 이러한 실시간 모니터링 시스템(12m)은 백그라운드에서 지속적으로 실행된다. 데이터 수집 소프트웨어(12)의 모니터링 부분(12m)은 마우스 및 키보드 장치(20, 30)와 같은 주변 장치의 사용 또는 이들과의 일반적인 상호 작용으로 인한 이벤트에 관한 상호 작용 데이터(12d)를 수집한다; 플레이어가 개인용 컴퓨팅 장치(10)와 상호 작용하고 있을 때, 플레이어는 개인용 컴퓨팅 장치(10)로부터 수신된 정보를 처리할 수 있도록 플레이어의 마음에 일련의 인지 기술(cognitive skill)을 적용해야 한다. 이 수신된 정보에는 사운드, 비디오 또는 디스플레이 유닛(40) 상의 이미지를 포함한다. 개인용 컴퓨팅 장치(10)와의 상호 작용은 일반적으로 (수동적 또는 능동적 방식으로) 개인용 컴퓨팅 장치(10)에 주어진 명령의 결과로서 일련의 상호 작용의 결과이다.
입력 주변 장치(20, 30)로부터의 입력을 처리하기 위한 하나 이상의 애플리케이션 프로그래밍 인터페이스(API)(12a)(이것은 상호 작용 특징이라고도 하는 플레이어 상호 작용을 설명하는 최상위 정보를 계산하는 서버에서 호스팅되는 일련의 서비스이다) 또는 기계 자체의 입력 처리. 아래에서 설명되는 바와 같이, 수집되는 상호 작용 데이터(12d)의 양은 압축 알고리즘을 사용함으로써 감소된다.
플레이어로부터 수집 및 처리된 상호 작용 데이터(12d) 및 부정 행위 모니터링 결과를 제시하는 부정 행위 모니터링 결과의 프리젠테이션 패널(12i); 선택적으로, 이 컴포넌트는 또한 플레이어를 세션에서 일시적으로 금지하는 것과 같은 징벌적 조치를 트리거할 수도 있다.
컴퓨터 게임 애플리케이션(14)은 플레이어가 개인용 컴퓨팅 장치(10)에서 실행 및 플레이하고 있고 동작을 위해 마우스(20) 또는 키보드(30)와 같은 입력 주변 장치의 움직임을 필요로 하는 임의의 게임이다. 컴퓨터 게임 애플리케이션(14)은 경쟁적인 이스포츠 게임과 같은 온라인 비디오 게임이지만, 롤 플레잉 게임과 같은 다른 유형의 게임일 수도 있다.
중앙 서버(50)는 플레이어의 개인용 컴퓨팅 장치(10)와 네트워크로 연결되고, 플레이어의 상호 작용 프로필을 저장하는 임의의 컴퓨터이며, 일부 추가 처리를 수행해야 할 수 있다. 중앙 서버(50)는 2개의 별개의 컴포넌트로 분할된다:
플레이어로부터 상호 작용 데이터(12d)를 지속적으로 수신하고 통계 도구를 사용하여 플레이어의 상호 작용 프로필을 구축 및 업데이트하는 프로필 구축 모듈(50p). 이 상호 작용 프로필은 플레이어가 일반적으로 입력 주변 장치(20, 30)와 상호 작용하는 방식을 나타낸다. 더욱이, 이 프로필 구축 모듈(50p)은, 또한, 예를 들어 추가 컴퓨터(70a-c)를 사용하여 플레이어 그룹(예를 들어, 팀 또는 게임의 모든 플레이어)의 상호 작용 프로필을 구축한다. 상호 작용 프로필은 플레이어 상호 작용 프로필 데이터베이스(55p)에 저장된다.
부정 행위 검출 모듈(50c)은, 한 플레이어의 상호 작용 데이터(12d)가 주어지면, 상호 작용 데이터(12d)가 부정 행위/사기 행위를 나타내는지 여부를 결정한다. 이 부정 행위 검출 모듈(50c)은 통계 도구, 기계 학습, 인공 지능 및/또는 다른 접근 방식을 사용하여 플레이어의 알려진 상호 작용 프로필에 대하여 상호 작용 데이터를 분석한다. 선택적으로는, 상호 작용 데이터(12d)가 부정 행위를 나타내는 것으로 분류될 때, 컴퓨터 게임 애플리케이션(14)이 플레이어의 비신사적 행위 대해 통지될 수 있도록, 이 부정 행위 검출 모듈(50c)은 플레이어에게 통지하기 위해 플레이어의 개인용 컴퓨팅 장치(10)의 정보 패널(12i)과 통신할 수 있다. 또한, 다른 외부 모듈(예를 들어, 게임 서버)이 이 부정 행위 검출 모듈(50c)로부터 정보를 수신할 수 있다.
사용 시, 본 출원의 장치 및 방법은, 게임 동작으로 변환되는, 게이밍 장치로 사용되는 개인용 컴퓨팅 장치(10)의 입력 주변 장치(들)(20, 30)와의 플레이어의 상호 작용의 역학을 분석한다. 따라서, 제안된 장치 및 방법은 포인터 장치(20) 또는 키보드(30)와 같은 입력 주변 장치를 고려하여, 이들의 역학/움직임을 해석한다. 이 단계에서 많은 양의 데이터가 수집될 것이라는 것이 이해될 것이다. 이 데이터 중 일부는 반복적일 것이며, 실행 길이 인코딩(run length encoding)과 같은 스트링 압축 알고리즘을 사용하여 압축될 수 있다.
본 장치 및 방법은 이러한 포인터 및 키보드 역학을 플레이어의 상호 작용 패턴을 나타내는 정규화된 숫자 그룹(상호 작용 특징)으로 변환함으로써 절감될 필요가 있는 상호 작용 데이터(12d)의 양을 감소시킨다.
그 다음, 본 장치 및 방법은 추가 정밀도를 위하여 동일한 장치 및 방법을 사용하여 플레이어의 상호 작용 패턴을 동일한 플레이어 또는 다른 인터넷 연결 플레이어의 상호 작용 패턴(상호 작용 프로필)과 비교한다. 그 다음, 본 장치 및 방법은 그 기능을 플레이어의 상호 작용 패턴이나 개인용 컴퓨팅 장치의 외부에 있는 명령 시스템에 적응시키거나 또는 맞추기 위해 컴퓨터 게임 애플리케이션(14)(또는 다른 소프트웨어) 내에서 개입을 트리거하여, 의심되는 부정 행위 또는 사기 행위에 관하여 플레이어, 다른 애플리케이션(예를 들어, 게임 서버) 또는 감독자(예를 들어, 대회 심판)에게 알리거나 경고하도록 추가 동작을 트리거할 수 있다. 개입이 실시간으로 이루어질 필요는 없다. 리소스의 사용을 줄이기 위하여 개입이 주기인 간격으로만, 예를 들어, 매일, 매주 또는 대회의 마지막에 발생하는 것이 가능할 수 있다.
데이터 흐름 측면에서, 2가지 주요 프로세스가 식별될 수 있다: 제1 프로세스는 플레이어의 상호 작용 프로필을 구축 및 업데이트하기 위한 것이고(도 2에서 상술됨), 제2 프로세스는 부정 행위를 검출하고 분류하기 위한 것이다(도 3에서 상술됨). 이러한 프로세스들은 다음과 같다.
도 2는 개별 또는 그룹 상호 작용 프로필이 구축되는 프로세스를 단계별로 설명한다. 플레이어는 자신의 개인용 컴퓨팅 장치(10)에 데이터 수집 소프트웨어(12)(단계 200)를 설치한다. 대안적으로, 게임 공급자는 컴퓨터 게임 애플리케이션(14)에 필요한 기능을 포함하는 SDK를 통합한다. 플레이어는 시스템에서, 즉 개인용 컴퓨팅 장치(10) 및/또는 중앙 컴퓨터 서버(50)에서 자신을 식별하기 위하여 인증 정보를 제공한다(단계 210). 위에서 언급된 바와 같이, 데이터 수집 소프트웨어(12)는 입력 주변 장치(20, 30)와의 플레이어의 상호 작용으로부터 상호 작용 이벤트를 지속적으로 캡처한다(단계 220). 캡처된 상호 작용 데이터(12d)는 타임 스탬프(틱(tick) 또는 밀리 초 단위) 또는 디스플레이 장치(40)의 스크린 상의 포인터의 좌표와 같은 관련 정보를 포함한다. 다음은 캡처 및 추적될 수 있는 상호 작용 이벤트의 비제한적인 예이지만, 임의의 입력 주변 장치와의 임의의 다른 상호 작용 이벤트가 사용될 수 있다:
● MOV, 디스플레이 장치(40)의 스크린에서의 좌표(posX, posY)로의 주어진 시간에서의 마우스(20)의 이동을 설명하는 이벤트;
● MOUSE_DOWN, [Left|Right] - 이 이벤트는, 주어진 시간에서의, 클릭의 (마우스 버튼이 눌러졌을 때)의 제1 절반을 설명한다. 또한, 이는 어느 버튼이 눌러졌는지(왼쪽 또는 오른쪽)와 그 순간에서의 마우스(20)의 위치를 설명한다.
● MOUSE_UP, [Left|Right] - 이전 이벤트와 유사하지만 마우스 버튼이 해제될 때 클릭의 제2 부분을 설명하는 이벤트;
● MOUSE_WHEEL - 이 이벤트는 주어진 시간에서의 마우스 휠 스크롤의 양을 설명한다;
● KEY_DOWN - 주어진 시간에서 키보드(30)로부터의 주어진 키가 눌러지고 있는 것을 식별한다.
● KEY_UP - 주어진 시간에 키보드(30)로부터의 주어진 키의 해제를 설명한다.
수집된 데이터의 발췌 및 예는 다음과 같다. 이 발췌 부분에서, 플레이어는 좌표(451, 195)로부터 좌표(451, 197)로 마우스(20)를 이동시킨(처음 두 줄) 다음, 좌표(451, 199)에서 왼쪽 버튼으로 클릭의 제1 절반을 수행하고(세 번째 줄), 그 다음 마우스(20)를 좌표(452, 200)로 약간 이동시킨(네 번째 줄) 후, 동일한 좌표에서 버튼을 해제함으로써 클릭을 종료하고 마지막으로 마우스(20)를 좌표(454, 205)로 계속 이동시킨다. 이 모든 것은 타임 스탬프 635296941683402953과 635296941685803193 사이에 발생한다:
MOV, 635296941683402953, 451, 195
MOV, 635296941684123025, 451, 197
MOUSE_DOWN, 635296941684443057, Left, 451, 199
MOV, 635296941685273140, 452, 200
MOUSE_UP, 635296941685283141, Left, 452, 200
MOV, 635296941685723185, 452, 203
MOV, 635296941685803193, 454, 205
상기 상호 작용 이벤트 중 일부는 통상적인 마우스(20)에 대한 것이다. 어떠한 움직이는 부분도 가지지 않는 터치 패드의 경우, 특정 추적 이벤트는 다를 것이다(예를 들어, 누르는 힘은 다른 추적 이벤트 중 하나일 것이다). 당해 업계에서의 통상의 기술자는 이러한 상이한 추적 상호 작용 이벤트를 식별하고 추적할 새로운 유형의 상호 작용 이벤트를 사용하도록 데이터 수집 소프트웨어(12)를 조정하는데 문제를 가지지 않는다는 것을 이해할 것이다. 조이스틱, 스타일러스 또는 다른 유형의 포인터 장치에도 동일하게 적용된다.
상호 작용 이벤트의 이러한 6개 카테고리는 플레이어가 포그라운드에서 실행되는 컴퓨터 게임 애플리케이션(14)을 플레이하고 있는 동안 상호 작용 데이터(12d)를 생성한다. 단계 230에서, 이러한 데이터는 입력 주변 장치(20, 30)와의 플레이어의 상호 작용을 완전하게 설명하는 고수준 변수 그룹인 이른바 상호 작용 특징을 생성하도록 처리된다. 이어지는 목록은 플레이어가 마우스(20) 및 키보드(30)와 동시에 상호 작용하는 동안 데이터 수집 소프트웨어(12)에 의해 생성될 수 있는 상호 작용 특징의 예를 포함한다. 그러나, 제안된 장치 및 방법은 이러한 상호 작용 특징에 제한되지 않으며, 임의의 컴퓨터 게임 애플리케이션(14)을 플레이하는 동안, 게이밍 장치로서 사용되는 개인용 컴퓨팅 장치(10)의 임의의 입력 주변 장치와 상호 작용하는 플레이어의 역학을 설명하는 임의의 다른 특징을 포함한다.
● 키 다운(key down) 및 키 업(key up)(또는 키 해제(key release)) 이벤트 사이에 소요된 시간;
● 키보드(30) 상의 상이한 키들 사이에 소요된 시간;
● 키보드(30) 상의 키를 누르는데 있어서의 가속도;
● 키보드(30) 상의 키를 누르는데 있어서의 속도;
● 백스페이스 키가 눌러진 횟수 대(versus) 눌러진 키;
● 커서가 이동하는 속도;
● 주어진 시간에서의 포인터의 가속도;
● 각각의 포인터 클릭의 지속 시간;
● 능동 컨트롤의 클릭 횟수 대 수동 영역에서의 클릭 횟수의 정도;
● 한 쌍의 2회 연속 클릭 사이에 포인터에 의해 이동된 거리의 초과량;
● 한 쌍의 2회 연속 클릭 사이에 포인터에 의해 이동된 초과 거리의 평균;
● 더블 클릭의 속도;
● 시간 프레임에서의 더블 클릭의 횟수;
● 객체를 드래그하는 동안 포인터에 의해 이동된 거리;
● 이동하는 동안 포인터가 왼쪽 또는 오른쪽으로 "방향 전환된(turned)" 정도;
● 이동하는 동안 포인터가 "방향 전환된" 정도를 절대적으로 측정한다;
● 각각의 2회 연속 클릭 사이에서 마우스에 의해 이동된 경로의 모든 포인트와, 2회의 클릭의 좌표 사이의 (가장 짧은 경로를 나타내는) 직선에서 가장 가까운 점 사이의 거리를 측정한다;
● 위와 동일하지만, 직선까지의 거리의 평균값을 제공한다.
위에서 언급된 상호 작용 특징은 데이터 수집 소프트웨어(12)에 의해 일정한 인터벌로 계산된다. 명확성을 위하여, 제안된 가장 복잡한 상호 작용 특징들을 계산하여 이들의 관련성과 의미를 상호 작용 역학과 사기 검출과 연계하여 상술하기 위한 프로세스를 설명한다.
직선까지의 마우스와 거리(Distance of the Mouse to the Straight Line(DMSL))의 경우에, 이 특징은 2회 연속 클릭 사이에서 정의된 직선까지의 마우스의 거리의 합을 측정한다. 각각 좌표 (x1, y1) 및 (x2, y2)에서의 2회의 연속하는 MOUSE_UP 및 MOUSE_DOWN 이벤트(mup, mdo)를 가정하자. 또한, mup과 mdo 사이의 연속하는 MOUSE_MOV 이벤트의 좌표를 보유하는 크기 n의 2개의 벡터(posx, posy)를 가정하자. 각각의 위치와 점 (x1, y1) 및 (x2, y2)에 의해 정의되는 직선 사이의 거리의 합은 아래의 수학식 1로 주어지며, ptLineDist는 특정된 점과 (x1, y1) 및 (x2, y2)에 의해 정의되는 무한하게 연장되는 선에서의 가장 가까운 점 사이의 거리를 되돌려준다.
데이터 수집 소프트웨어(12)에 의해 생성된 다른 상호 작용 특징은 마우스 속도이다. 이것은 시간(밀리 초 단위)에 걸쳐 마우스(20)에 의해 이동된 거리(픽셀 단위)이다. 속도는 2개의 연속하는 MOUSE_UP 및 MOUSE_DOWN 이벤트에 의해 정의된 각각의 인터벌 동안 대해 계산된다. 순간 time1 및 time2에서 각각 발생한 좌표 (x1, y1) 및 (x2, y2)에서의 2회의 연속하는 MOUSE_UP 및 MOUSE_DOWN 이벤트(mup, mdo)를 가정하자. 또한, mup과 mdo 사이의 연속하는 MOUSE_MOV 이벤트의 좌표를 보유하는 크기 n의 2개의 벡터(posx, posy)를 가정하자. 2회의 클릭 사이의 속도는 로 주어지고, rdist는 마우스에 의해 이동된 거리를 나타내고, 수학식 2로 주어진다:
여기에서 설명된 상호 작용 특징의 하나의 마지막 예는 각도의 절대 합이다. 이 특징은 마우스(20)가 방향 전환된 방향에 관계 없이 마우스(20)가 얼마나 많이 "방향 전환되었는지"를 찾는다(도 5). 그 의미에서, 상호 작용 특징은, 수학식 3에 표시된 바와 같이, 함수 degree(x1, y1, x2, y2, x3, y3)에 의해 반환된 값의 절대값으로 계산된다. 효율적인 마우스 움직임은 거의 직선인 이동 라인을 특징으로 한다. 따라서, 더 큰 값의 이러한 특징은 마우스의 덜 효율적인 움직임을 나타낸다.
또한, 일례는 키보드 데이터의 로그가 키 다운 시간, 키들 사이의 시간 등과 같은 키보드 관련 상호 작용 특징으로 어떻게 변환되는지 보여줄 것이다. 다음의 의사 코드 스니펫(snippet)을 고려하라:
알고리즘 1: 키 다운 시간 알고리즘
이 의사 코드는 키보드(30) 상의 키의 다운 시간의 양, 즉 얼마나 오래 키가 눌러졌는지(타이핑 지연이라고도 함)를 결정한다. 유사한 코드가 다른 상호 작용 특징의 값을 결정하는데 사용될 수 있으며, 이의 상대적인 간단함을 고려하여, 여기에서는 상술되지는 않을 것이다.
처리된 데이터의 예는 이 프로세스에 의해 생성된 정보의 유형을 더 잘 설명하는 역할을 할 것이다. 아래에 제시된 데이터는 주어진 시간에 주어진 플레이어(플레이어 X)에 대하여 계산된 모든 상호 작용 특징을 설명한다.
{
"TimeStamp" : NumberLong(1506373243375),
"Player" : "Player X",
"Performance" : {
"TimeStamp" : 1506373242732,
"KDTVar" : 1033.9388571428572,
"KDTMean" : 125.5952380952381,
"MAMean" : 0.5366564446226314,
"MAVar" : 0.36105299630493787,
"MVMean" : 0.4912874973741709,
"MVVar" : 0.29093708004098856,
"TBCMean" : 9089.82142857143,
"TBCVar" : 152705577.48544973,
"DDCMean" : 21.252471533256006,
"DDCVar" : 1111.4930124743523,
"DMSLean" : 18972550.8,
"DMSLVar" : 664834398497875.0,
"AEDMean" : 3.0064312681905263,
"AEDVar" : 6.020307987912261,
"ADMSLMean" : 184632.7142857143,
"ADMSLVar" : 65030255404.582,
"TBKVar" : 18145.18881118881,
"TBKMean" : 147.36363636363637,
"LeftClicks" : 29.0,
"RightClicks" : 0.0,
"KeysPressed" : 88.0,
"WVMean" : 28.333333333333332,
"MouseDistance" : 7.833947450529339,
"MouseExcessDistance" : 1.2101157953969313,
"MousePrecision" : 78.52464254995121,
"ErrorPerKey" : 22.727272727272727
}
}
그 다음, 처리된 상호 작용 데이터(12d)는 이를 네트워크 저장 영역(55)에 국지적으로 기록하는 중앙 컴퓨터 서버(50)로 전송된다(단계 240). 따라서, 각각의 플레이어에 관한 상호 작용 데이터(12d)는 각각의 플레이어가 컴퓨터 게임 애플리케이션(14)을 플레이함에 따라 지속적으로 증가한다.
주변 장치(20, 30)와의 주어진 플레이어에 관한 충분한 양의 상호 작용 데이터(12d)가 이용 가능할 때, 시스템은 계속해서 상기 플레이어의 상호 작용 프로필을 구축한다(단계 250). 다음을 포함하지만 그에 한정되지 않는 여러 상이한 접근 방식이 상호 작용 프로필을 구축하는데 사용될 수 있다: A) 통계 및 B) 기계 학습 알고리즘과 같은 인공 지능 기술.
A) 플레이어 상호 작용 프로필은 다음의 방법을 사용하는 통계 도구를 사용하여 구축될 수 있다. 플레이어 상호 작용 프로필은 위에서 설명된 상호 작용 특징의 각각에 대한 2개의 한계 값(하한 및 상한)으로 구성된다. 이러한 한계는 통계적 접근 방식을 사용하여 계산되며, 함께, 고려되는 한 플레이어 또는 플레이어 그룹(예를 들어, 팀, 최상위 플레이어)의 "정상적인(normal)" 상호 작용 역학을 나타낸다. "정상적인" 상호 작용 역학의 의미는 마우스 이동 속도에 관한 다음 예를 통해 이해될 수 있다: 일반적으로 플레이어 X는 0.02 px/ms 및 0.34 px/ms 사이의 속도로 마우스를 이동시킨다. 이러한 한계가 모든 상호 작용 특징에 대하여 계산될 때, 개별 플레이어의 각각에 대하여 고유한 상호 작용 프로필이 얻어진다. 따라서, 이 고유한 상호 작용 프로필은 한 플레이어의 "정상적인" 행동으로부터 통계적으로 유의미한 편차를 찾을 수 있을 뿐만 아니라, 플레이어가 완전히 다른 방식으로 행동하고 있는 경우(다른 플레이어가 제1 플레이어 캐릭터를 사용하고 있는 경우와 같이)를 식별하는데 사용될 수 있다.
이러한 한계를 계산하기 위해 다음의 방법이 적용된다. 각각의 플레이어에 대하여, 모든 사용 가능한 상호 작용 데이터가 고려된다. 각각의 상호 작용 특징에 대하여, IQR(Inter-Quartile Range)이 계산된다. 각각의 상호 작용 특성에 대하여, 제1 및 제3 변위치(quantile)(각각 Q1 및 Q3)가 계산된다. 상호 작용 특징(f)의 상한은 수학식 4에 의해 구해진다. 상호 작용 특징(f)의 하한은 수학식 5에 의해 구해진다. 이 두 한계는 주어진 플레이어의 "정상적인" 행동의 경계를 함께 설정한다.
통계적 플레이어 상호 작용 프로필은 중앙 컴퓨터 서버(50)에 연결된 플레이어 상호 작용 프로필 데이터베이스(55p)에 표와 같은 형식으로 저장된다(단계 260). 식별 정보와 같은 다른 데이터 중에서, 상호 작용 프로필은 각각의 상호 작용 특징에 대한 2개의 값(상한 및 하한)을 포함한다.
도 7은 한 플레이어(플레이어 2로 식별됨)의 상호 작용 프로필을 단순화하여 시각적으로 도시한다. 가독성을 위하여, 5개의 상호 작용 특징만 표시된다. 2개의 선은 이러한 변수의 하한과 상한을 도시한다.
도 10은 유사한 시각화를 도시하지만, 다른 플레이어(플레이어 5로 식별됨)의 상호 작용 데이터에 대한 시각화를 도시한다: 양 시각화의 형상에서의 차이가 분명하며, 이는 양 플레이어의 상이한 상호 작용 패턴의 결과이다. 상호 작용 프로필이 너무 다르기 때문에, 아래에서 더 설명되는 바와 같이, 플레이어를 식별하는데 사용될 수 있다. 이 단계에서는 상호 작용 프로필의 어느 것도 "개인" 데이터를 포함하지 않는다는 것이 이해될 것이다.
B) 대안적으로, 기계 학습과 같지만 이에 한정되지 않는 인공 지능 기술에 기초한 접근 방식을 따라 플레이어의 상호 작용 프로필을 생성할 수 있다. 이 접근 방식에 따라, 인공 지능 알고리즘은 플레이어에 대하여 정상적인 행동으로 간주되는 것과 비정상적인 행동으로 간주되는 것을 구별하도록 훈련된다. 이 목적으로, A)와 유사한 방법이 사용된다. 그러나 정의된 상한 및 하한은 이제 주어진 플레이어의 각각의 데이터 인스턴스가 정상인지 아닌지 자동으로 라벨링하는데 사용된다. 그 결과 이항 분류 또는 회귀 모델을 훈련하는데 사용될 수 있는 범주형 변수("정상"/"비정상")를 갖는 데이터 세트가 생성된다.
이러한 모델은, 일단 훈련되면, 클래스("정상"/"비정상") 및/또는 확실성 수준을 나타내는 숫자를 새로운 데이터 인스턴스에 부여하고, 이에 따라 새로운 데이터 인스턴스가 부정 행위를 나타낼 수 있는지 여부를 결정한다(정의된다면, 확실성 수준을 포함한다). 이 학습 알고리즘의 일례는 최근접 이웃 알고리즘(nearest neighbor's algorithm)이다((https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm 참조). 다른 방법은 인공 신경망(https://en.wikipedia.org/wiki/Artificial_neural_network)의 경우와 같이 근사값 함수를 생성하는 것에 의하거나, 패턴을 인식할 수 있는 다른 알고리즘을 통해서이다. 이러한 기계 학습 알고리즘은 실질적인 실시간 모니터링을 위해 줄어든 시간 공간에서 많은 양의 데이터의 해석을 가능하게 한다.
이제, 도 3에 상술된 바와 같이, 본 출원에서 제안된 가장 관련성 있는 2개의 프로세스 중 제2 프로세스를 설명한다. 이 프로세스의 주요 목표는, 임의의 주어진 순간에 플레이되고 있는 임의의 컴퓨터 게임 애플리케이션에서, 주어진 플레이어가 부정 행위를 하고 있는지 아닌지를 결정하는 것이다. 이 프로세스는 도 2에 설명된 프로세스의 첫 번째 성공적인 종료 후, 즉 중앙 컴퓨터 서버(55)의 플레이어 상호 작용 프로필 데이터베이스(55p)에 저장된 플레이어에 대한 상호 작용 프로필이 있는 후에 정기적으로 실행된다.
처음 다섯 단계는 이전에 설명된 프로세스와 유사하다: 플레이어는 데이터 수집 소프트웨어(12)가 아직 설치되지 않았거나 컴퓨터 게임 애플리케이션(14)이 SDK를 통합하지 않는다면, 개인용 컴퓨팅 시스템(10)에 데이터 수집 소프트웨어(12)를 설치한다(단계 300). 플레이어는 자신이 시스템에서 인식될 수 있도록 식별 정보를 제공하고(단계 310), 데이터 수집 소프트웨어(12)는 플레이하는 동안 플레이어로부터 상호 작용 데이터(12d)를 수집하기 시작하고(단계 320), 상호 작용 데이터(12d)가 이전에 설명된 상호 작용 특징이 생성되어 중앙 서버로 전송되도록 처리되고(단계 330), 상호 작용 특징이 중앙 컴퓨터 서버(50)의 네트워크 저장 영역(55)에 저장된다(단계 340).
다음 단계(단계 350)는 개인용 컴퓨팅 장치(10)로부터 수신된 주변 장치(20, 30)와의 플레이어의 상호 작용 데이터가 부정 행위 또는 사기 행위를 나타내는지 여부를 결정하는 단계이다. 이 단계는 상호 작용 프로필이 구축된 방식에 따라 다르다. 아래에서, 명확성을 위해, 이전에 언급된 2가지 방법인 A) 통계 도구 또는 B) 인공 지능에 대한 프로세스를 자세히 설명할 것이다. 그러나, 다른 유사한 프로세스가 정의될 수 있고 본 방법 및 장치에 포함될 수 있으며, 이는 상호 작용 프로필이 구축된 방식에 따라 적응된 것이다.
A) 통계적 상호 작용 프로필을 사용하여 이 작업을 수행하기 위해, 중앙 컴퓨터 서버(50)는 먼저 플레이어 상호 작용 프로필 데이터베이스(55p)로부터 대응하는 플레이어 상호 작용 프로필을 검색한다. 그 다음, 각각의 상호 작용 특징에 대해, 중앙 컴퓨터 서버(50)는 수신된 데이터의 값이 플레이어 프로필에서의 특징의 한계 내에 있는지 확인한다. 따라서, 중앙 컴퓨터 서버(50)는 플레이어 상호 작용 프로필에 정의된 한계 내에 속하는 상호 작용 특징의 백분율을 계산한다. 높은 백분율은 플레이어가 정상적인 방식으로 상호 작용하므로 부정 행위를 하지 않는 것을 나타낸다. 낮은 백분율은 플레이어가 알려진 플레이어 상호 작용 프로필에 따라 비정상적으로 행동하고 있으며 부정 행위를 하고 있을 수 있다는 것을 나타낸다.
도 8은 이것을 그래픽으로 도시한다. 가독성을 위하여, 도면은 플레이어 2의 프로필의 일부(실선으로 도시된 5개의 상호 작용 특징의 상한 및 하한)를 그래픽으로 나타낸다. 또한, 이 도면은 동일한 플레이어의 부정 행위에 대하여 검사되고 있는 하나의 데이터 세트(점선)를 나타낸다. 이 예에서, 모든 상호 작용 특징은 플레이어 상호 작용 프로필의 한계 내에 있으며, 이는 플레이어의 신원이 정확하고 플레이어가 부정 행위를 하고 있지 않는다는 것을 나타낸다. 이 시나리오에서, 중앙 컴퓨터 서버(55)는 결과로서 100% 값을 제공하며, 이는 플레이어의 상호 작용이 알려진 플레이어 상호 작용 프로필과 일치하는 것을 나타낸다.
한편, 도 9는 상호 작용 프로필을 따르지 않는 데이터 인스턴스를 도시한다. 구체적으로는, 상호 작용 특징 중 3개(MV, MD 및 CD)는 플레이어 상호 작용 프로필의 한계를 벗어 났으며, 그 결과, 중앙 컴퓨터 서버(50)는 40% 값을 반환한다. 이것은 플레이어가 부정 행위를 하고 있거나 다른 플레이어가 등록된 플레이어의 캐릭터로 플레이하고 있는 것을 나타낸다. 이 예에서, 상이한 플레이어로부터의 데이터가 개념을 예시하는데 사용되었기 때문에, 제2 경우가 발생한다.
이것이 프로세스의 시각화를 용이하게 하기 위해 단지 5개의 상호 작용 특징만을 고려하는 프로세스의 단순화된 버전이라는 것이 다시 한 번 지적될 필요가 있다. 본 출원에서 제안된 발명은 플레이어 상호 작용 프로필을 구축할 때와 비신사적인 행위를 확인할 때 다른 많은 특징을 고려하며, 명확성을 위해 본 출원에서 상술된 것들에 한정되지 않다.
B) 인공 지능 알고리즘을 통해 얻은 모델을 사용하여 이 작업을 달성하기 위해, 이러한 모델들이 실행될 수 있기 때문에 프로세스는 더욱 간단해지고, 라벨링되지 않는 데이터 인스턴스를 고려할 때, 그 데이터에 대한 라벨을 반환할 것이다. 이 경우, 중앙 컴퓨터 서버(50)는 네트워크 저장 영역(55)에 저장된 대응하는 인공 지능 모델을 검색하고 분류 라벨("정상"/"비정상") 및/또는 예측에 있어서의 확실성 수준을 나타내고 분석되고 있는 데이터 인스턴스를 특성화하는 숫자를 획득한다.
마지막으로, 단계 360에서, 사기 예측의 결과에 따라 특정 조치가 트리거될 수 있다. 즉, 중앙 컴퓨터 서버(50)는, 다른 것들 중에서도, 이벤트를 기록하거나, 클라이언트에게 통지하거나, 클라이언트와의 연결을 종료하거나, 임시 또는 영구 금지, 플레이어 아바타에서 게임 내 리소스를 제거하는 것, 플레이어 아바타의 위치플레이어 아바타의 위치를 강조하는 것, 플레이어의 아바타를 손상시키는 것(예를 들어, 움직임 속도 저하)과 같은 임의의 징계 조치를 적용하는 등의 하나 이상의 조치를 구현할 수 있다.
본 발명의 제2 용도는 플레이어 또는 팀의 부정 행위에 관허여 게임 서버에 지속적으로 알려, 게임 서버가 게임 규칙에 따라 플레이어를 일시적 또는 영구적으로 금지하는 것과 같은 추가적인 처벌 조치를 취할 수 있도록 하는 것이다.
본 발명의 제3 용도는 플레이어와 심판이 상이한 지리적 위치에서 원격으로 참가하는 온라인 이스포츠 대회 동안 부정 행위를 방지하고 검출하는 것일 수 있다. 이 경우에, 시스템은 규정에 따라 징계 조치가 취해질 수 있도록 임의의 플레이어에서 관찰된 임의의 의심되는 부정 행위에 관해 심판에게 알릴 수 있다.
본 발명의 제4 용도는, 이스포츠 대회가 스타디움 또는 유사한 건물에서 개최될 때와 같이, 선수와 심판이 동일한 지리적 위치에 있는 이스포츠 대회 동안 부정 행위를 방지하고 검출하는 것이다. 이 시나리오에서, 시스템은 플레이어에 의해 사용되는 소프트웨어/하드웨어가 추가로 검사되고 규정에 따라 임의의 징계 조치가 취해질 수 있도록 임의의 의심되는 부정 행위에 관하여 심판에게 알릴 수 있다.
본 발명의 제5 용도는 주어진 컴퓨터 게임 애플리케이션을 플레이하는 동안 속임수를 쓴 것으로 밝혀진 플레이어의 온라인 목록을 유지하는 것이다. 이 목록은 자동으로 업데이트될 수 있으며, 선택적으로는, 각각의 경우에 적용되는 벌칙 또는 징계 조치를 포함할 수 있다. 이러한 목록은 다른 플레이어의 부정 행위를 억제하는 효과를 가진다.
제안된 시스템의 이러한 모든 용도는 제한 없이 결합될 수 있으며, 중앙 서버에서 발생하는 신호 및 트리거는 위에서 식별된 것 중 하나 일 수 있으며, 이는 메인 소프트웨어 애플리케이션에서, 플레이 환경에서 또는 플레이어, 심판 또는 기타 감독자에게 알리는데 있어서 원하는 조치를 발생시킬 수 있다.
본 발명의 방법은 전술된 장치 및 방법을 이용하여 정상적인 게임 플레이 중에 수행되는 포인터와 키보드를 이용하는 플레이어의 동작 및 행위를 기록, 분석 및 비교함에 따라 부정 행위를 객관적으로 검출하며, 그 다음, 메인 소프트웨어 애플리케이션 또는 게임 자체에서 사전 설정된 조치, 게임 환경에 대한 변경 또는 플레이어, 심판 또는 기타 감독자에 대한 정보의 전달을 신호로 알리거나 트리거하는데 이를 사용한다.
예
여기에서, 플레이어 식별을 위한 본 발명의 사용이 설명된다. 장치는 중앙 서버 역할을 하는 하나의 컴퓨터(앞서 언급된 모든 컴포넌트를 포함함)와 클라이언트 역할을 하는 5대의 컴퓨터를 사용하여 이전에 설명된 바와 같이 구현되었다. 데이터 수집 소프트웨어(12)가 게이밍 컴퓨터로 사용되는 개인용 컴퓨팅 장치에서 활성화되어 있는 동안 5명의 상이한 프로 플레이어가 주어진 게임의 여러 인스턴스를 플레이하였다.
전체 9309개의 데이터 인스턴스가 각각의 플레이어로부터 수집되었다. 이 경우에, 각각의 데이터 인스턴스가 마지막 5분의 평균 값을 포함한다면, 고려되는 데이터는 700시간 이상의 상호 작용을 나타낸다.
이 데이터를 사용하여, 각각의 플레이어를 식별하기 위한 본 방법 및 장치의 능력을 평가하는 프로토콜이 테스트되고 검증되었다. 결과의 타당성을 보장하기 위해, 데이터는 학습 및 검증의 두 그룹으로 분할되었다.
훈련 데이터 세트는 무작위로 선택된 데이터의 대략 75%를 포함하며, 전술된 바와 같이 통계적 접근 방식에 따라 플레이어 상호 작용 모델을 생성하는데 사용되었다. 그 결과 5개의 플레이어 상호 작용 프로필(각각의 플레이어에 대해 하나씩)이 생성되었으며, 각각은 39개의 변수를 포함한다: 플레이어를 식별하는 하나와, 전술된 상호 작용 특징마다 2개(설명된 통계적 접근 방식에 따라 결정된 상한 및 하한).
검증 데이터 세트는 데이터의 나머지 25%를 포함하며, 올바른 플레이어를 식별할 때 본 발명의 분류 정확도를 평가하는 데 사용되었다. 본 발명의 정확성을 평가하기 위해 따르는 방법은 다음과 같다. 검증 데이터 세트의 각각의 인스턴스에 대해, 각각의 플레이어의 상호 작용 프로필을 준수하는 상호 작용 특징의 백분율이 계산되었다. 따라서, 각각의 상호 작용 인스턴스에 대해, 중앙 서버는 5명의 플레이어 각각에 속하는 데이터의 유사성을 반환하였다.
다음으로, 가장 가능성이 높은 플레이어가 예측 결과인 것으로 선택되었다. 그 다음, 이 예측 결과는 (이 경우에는 알려진) 실제 플레이어와 비교되었다. 올바른 예측과 잘못된 예측의 수는 정확하게 분류된 플레이어의 백분율을 제공한다.
도 11은 검증 데이터 세트에서 훈련된 모델을 사용하여 각각의 플레이어를 식별하기 위해 본 시스템을 사용한 후에 생성된 혼동 행렬을 도시한다.
본 발명은 임시 특허 출원으로 제출되며, 적절한 기술적 법적 요건과 명세서 내용 및 개별 청구항 사이의 적절한 대응 관계에 준수하는 최종 출원이 제출되어 우선 기간 내에 제출되어야 한다는 것이 이해될 것이다. 그러나, 우리는 발명적 사례가 이루어져 본 명세서에 완전히 개시되며, 최종 출원에서 적절한 종속항과 정확한 도면 참조와 함께 적절하게 기재될 것이라고 신뢰한다.
10
개인용 컴퓨팅 장치
10p 처리 시스템
12 데이터 수집 소프트웨어
12a 애플리케이션 프로그래밍 인터페이스
12i 개입 모듈
12m 실시간 모니터링 시스템
14 컴퓨터 게임 애플리케이션
15 메모리
16 데이터베이스
18 내부 테이블
20 포인터 장치
30 키보드
40 디스플레이 유닛
50 중앙 컴퓨터 서버
50c 부정 행위 분류 모듈
50p 프로필 구축 모듈
55 네트워크 저장 영역
55p 플레이어 상호 작용 프로필 데이터베이스
60 네트워크
70a-c 추가 컴퓨터
10p 처리 시스템
12 데이터 수집 소프트웨어
12a 애플리케이션 프로그래밍 인터페이스
12i 개입 모듈
12m 실시간 모니터링 시스템
14 컴퓨터 게임 애플리케이션
15 메모리
16 데이터베이스
18 내부 테이블
20 포인터 장치
30 키보드
40 디스플레이 유닛
50 중앙 컴퓨터 서버
50c 부정 행위 분류 모듈
50p 프로필 구축 모듈
55 네트워크 저장 영역
55p 플레이어 상호 작용 프로필 데이터베이스
60 네트워크
70a-c 추가 컴퓨터
Claims (20)
- 온라인 비디오 게임에서 플레이어의 사기 행위의 검출을 위한 컴퓨터 구현 방법에 있어서,
- 개인용 컴퓨팅 장치(10)에서, 상기 개인용 컴퓨팅 장치(10)에 연결된 복수의 주변 장치(20, 30)와의 상기 플레이어의 복수의 상호 작용에 관련된 복수의 상호 작용 데이터를 수집하는 단계;
- 상기 상호 작용 데이터(12d)를 중앙 컴퓨터 서버(50)에 송신하는 단계;
- 상기 중앙 컴퓨터 서버(50)에서, 송신된 상기 상호 작용 데이터와 플레이어 상호 작용 데이터베이스(55p)에 저장된 플레이어 상호 작용 프로필 사이의 비교를 수행하는 단계;
- 송신된 상기 상호 작용 데이터와 상기 저장된 플레이어 상호 작용 프로필 사이의 비교에 기초하여 사기 행위 위험을 식별하는 단계; 및
- 상기 사기 행위 위험을 나타내는 메시지를 상기 중앙 컴퓨터 서버(50)로부터 수신하는 단계
를 포함하는, 방법. - 제1항에 있어서,
상기 플레이어 상호 작용 프로필은 통계에 기초한 정상 인터벌 레벨 및 기계 학습으로부터 얻어진 모델 중 적어도 하나로부터 얻어지는, 방법. - 제1항 또는 제2항에 있어서,
상기 상호 작용 데이터는, 상기 플레이어와 하나 이상의 상기 주변 장치(20, 30) 사이의 반응 시간들, 상기 플레이어에 의해 이동된 상기 주변 장치(20, 30) 중 이동 가능한 주변 장치의 이동 거리들, 상기 주변 장치(20, 30) 중 상기 이동 가능한 주변 장치의 이동 속도 및 하나 이상의 상기 주변 장치(20, 30)에 인가된 힘 중 적어도 하나를 포함하는, 방법. - 제3항에 있어서,
상기 정상 인터벌 레벨은 최대 보통 이동 거리 및 최소 보통 이동 거리 사이고, 상기 사기 행위 위험을 식별하기 위한 비교는 상기 정상 인터벌 레벨 내에 속하는지 판단하기 위하여 상기 이동 거리들 중 하나 이상을 비교함으로써 결정되는, 방법. - 제3항에 있어서,
상기 정상 인터벌 레벨은 하나 이상의 상기 주변 장치(20, 30)와의 최대 보통 반응 시간 및 하나 이상의 상기 주변 장치(20, 30)와의 최소 보통 반응 시간 사이고, 상기 사기 행위 위험을 식별하기 위한 비교는 상기 정상 인터벌 레벨 내에 속하는지 판단하기 위하여 상기 반응 시간들 중 하나 이상을 비교함으로써 결정되는, 방법. - 제1항 내지 제5항 중 어느 한 항에 있어서,
송신된 상기 상호 작용 데이터에 기초하여 상기 플레이어 상호 작용 프로필을 지속적으로 업데이트하는 단계를 포함하는, 방법. - 제1항 내지 제6항 중 어느 한 항에 있어서,
상기 저장된 플레이어 상호 작용 프로필은 일반 플레이어 상호 작용 프로필과 하나 이상의 특정 플레이어 상호 작용 프로필을 포함하는, 방법. - 제7항에 있어서,
플레이어들 중 특정 플레이어로부터의 송신된 상기 상호 작용 데이터를 하나 이상의 상기 특정 플레이어 상호 작용 프로필과 비교함으로써 상기 플레이어들 중 한 플레이어를 식별하는 단계를 더 포함하는, 방법. - 제1항 내지 제8항 중 어느 한 항에 있어서,
수신된 상기 상호 작용 데이터(12d)에 기초하여 상기 저장된 플레이어 상호 작용 프로필을 업데이트하는 단계를 포함하는, 방법. - 제1항 내지 제9항 중 어느 한 항에 있어서,
상기 사기 행위는 추가 소프트웨어 도구를 사용하는 것, 능력 향상 약물을 복용하는 것 및 플레이어 프로필을 교환하는 것 중 적어도 하나를 포함하는, 방법. - 제1항 내지 제10항 중 어느 한 항에 있어서,
상기 사기 행위 위험을 나타내는 메시지에 기초하여 사전 설정된 조치를 트리거하는 단계를 더 포함하는, 방법. - 온라인 비디오 게임에서 플레이어의 사기 행위의 검출을 위한 시스템에 있어서,
- 네트워크(6)를 통해 하나 이상의 개인용 컴퓨팅 장치(10)에 연결된 중앙 컴퓨터 서버(50) - 상기 하나 이상의 개인용 컴퓨팅 장치(10)는 복수의 주변 장치(20, 30)에 연결됨 -; 및
- 복수의 플레이어 상호 작용 프로필을 저장하는 플레이어 상호 작용 데이터베이스(55p);
를 포함하고,
상기 중앙 컴퓨터 서버(50)는, 상기 복수의 주변 장치(20, 30)로부터 상호 작용 데이터(12d)를 수신하고, 수신된 상기 상호 작용 데이터(12d)와 상기 저장된 플레이어 상호 작용 프로필 사이의 비교에 기초하여 사기 행위 위험을 식별하도록 구성되는, 시스템. - 제12항에 있어서,
상기 복수의 주변 장치(20, 30)는, 마우스, 키보드, 조이스틱, 모션 검출기 및 눈 추적 장치 중 하나 이상을 포함하는, 시스템. - 제12항에 있어서,
상기 상호 작용 데이터는, 상기 플레이어와 하나 이상의 상기 주변 장치(20, 30) 사이의 반응 시간들, 상기 플레이어에 의해 이동된 상기 주변 장치(20, 30) 중 이동 가능한 주변 장치의 이동 거리들, 상기 주변 장치(20, 30) 중 상기 이동 가능한 주변 장치의 이동 속도 및 하나 이상의 상기 주변 장치(20, 30)에 인가된 힘 중 적어도 하나를 포함하는, 시스템. - 제12항 내지 제14항 중 어느 한 항에 있어서,
상기 중앙 컴퓨터 서버(50)는 상기 상호 작용 데이터(12d)에 기초하여 하나 이상의 상기 플레이어 상호 작용 프로필을 생성하도록 구성되는, 시스템. - 제12항 내지 제15항 중 어느 한 항에 있어서,
상기 사기 행위 위험을 나타내는 메시지를 생성하기 위한 메시징 시스템을 더 포함하는, 시스템. - 플레이어 상호 작용 프로필을 생성하는 방법에 있어서,
- 개인용 컴퓨팅 장치(10)에서, 상기 개인용 컴퓨팅 장치(10)에 연결된 복수의 주변 장치(20, 30)와의 상기 플레이어의 복수의 상호 작용에 관련된 복수의 상호 작용 데이터를 수집하는 단계;
- 상기 상호 작용 데이터(12d)를 중앙 컴퓨터 서버(50)에 송신하는 단계; 및
- 상기 플레이어 상호 작용 프로필을 생성하기 위하여 통계 및 기계 학습 방법 중 하나를 이용하여 상기 상호 작용 데이터(12d)를 분석하는 단계
를 포함하는,
를 포함하는, 방법. - 제17항에 있어서,
상기 상호 작용 데이터(12d)는, 상기 플레이어와 하나 이상의 상기 주변 장치(20, 30) 사이의 반응 시간들, 상기 플레이어에 의해 이동된 상기 주변 장치(20, 30) 중 이동 가능한 주변 장치의 이동 거리들, 상기 주변 장치(20, 30) 중 상기 이동 가능한 주변 장치의 이동 속도 및 하나 이상의 상기 주변 장치(20, 30)에 인가된 힘 중 적어도 하나를 포함하는, 방법. - 논리 명령어가 저장된 적어도 하나의 비일시적인 기계 판독 가능한 저장 매체에 있어서,
상기 논리 명령어는 중앙 서버 프로세서에 의해 실행될 때 상기 중앙 서버 프로세서(50)가,
- 개인용 컴퓨팅 장치(10)로부터, 상기 개인용 컴퓨팅 장치(10)에 연결된 복수의 주변 장치(20, 30)와의 상기 플레이어의 복수의 상호 작용에 관련된 복수의 상호 작용 데이터를 수신하고;
- 상기 중앙 컴퓨터 서버(50)에서, 송신된 상기 상호 작용 데이터와 플레이어 상호 작용 데이터베이스(55p)에 저장된 플레이어 상호 작용 프로필 사이의 비교를 수행하고; 그리고
- 송신된 상기 상호 작용 데이터와 상기 저장된 플레이어 상호 작용 프로필 사이의 비교에 기초하여 사기 행위 위험을 식별하게
하는, 저장 매체. - 제19항에 있어서,
상기 중앙 컴퓨터 서버(50)가 상기 사기 행위 위험을 나타내는 메시지를 발행하게 하는 논리 명령어를 더 포함하는, 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PT2019003627 | 2019-01-19 | ||
PT20191000003627 | 2019-01-19 | ||
PCT/EP2020/051184 WO2020148448A1 (en) | 2019-01-19 | 2020-01-17 | System and method for fraud prevention in esports |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220002249A true KR20220002249A (ko) | 2022-01-06 |
Family
ID=69423279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217026278A KR20220002249A (ko) | 2019-01-19 | 2020-01-17 | 이스포츠에서 사기 행위 방지를 위한 시스템 및 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11986737B2 (ko) |
EP (2) | EP4242888A3 (ko) |
KR (1) | KR20220002249A (ko) |
WO (1) | WO2020148448A1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114504827A (zh) * | 2022-01-20 | 2022-05-17 | 杭州电魂网络科技股份有限公司 | 验证战斗游戏作弊的方法、系统、电子装置和存储介质 |
US11947742B2 (en) * | 2022-02-02 | 2024-04-02 | Nvidia Corporation | Submovement-based mouse input cheating detection |
GB2624674A (en) * | 2022-11-25 | 2024-05-29 | Sony Interactive Entertainment Europe Ltd | Autonomous anomalous device operation detection |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8360838B2 (en) | 2006-07-03 | 2013-01-29 | Igt | Detecting and preventing bots and cheating in online gaming |
GB2391341A (en) | 2002-07-31 | 2004-02-04 | Hewlett Packard Co | A method of validating the rights of a user to participate in an interactive computer environment |
US7169050B1 (en) | 2002-08-28 | 2007-01-30 | Matthew George Tyler | Online gaming cheating prevention system and method |
US7288027B2 (en) | 2003-05-28 | 2007-10-30 | Microsoft Corporation | Cheater detection in a multi-player gaming environment |
US8832048B2 (en) * | 2005-12-29 | 2014-09-09 | Nextlabs, Inc. | Techniques and system to monitor and log access of information based on system and user context using policies |
US8622837B2 (en) | 2006-03-20 | 2014-01-07 | Sony Computer Entertainment America Llc | Managing game metrics and authorizations |
US8151327B2 (en) | 2006-03-31 | 2012-04-03 | The 41St Parameter, Inc. | Systems and methods for detection of session tampering and fraud prevention |
KR100823547B1 (ko) | 2006-08-16 | 2008-05-22 | 주식회사 안철수연구소 | 입력 데이터의 자동 입력 감지 방법 |
CN101141446A (zh) | 2006-09-04 | 2008-03-12 | 腾讯科技(深圳)有限公司 | 网络通信游戏中防止玩家作弊的装置及方法 |
US20080305869A1 (en) | 2006-09-05 | 2008-12-11 | Cognisafe Ltd. | Prevention of cheating in on-line interaction |
US9805196B2 (en) * | 2009-02-27 | 2017-10-31 | Microsoft Technology Licensing, Llc | Trusted entity based anti-cheating mechanism |
US8529343B2 (en) | 2011-07-27 | 2013-09-10 | Cyber Holdings, Inc. | Method for monitoring computer programs |
CA2855352C (en) | 2011-11-10 | 2016-12-20 | Gamblit Gaming, Llc | Anti-cheating hybrid game |
US9305028B2 (en) * | 2012-04-11 | 2016-04-05 | Zynga Inc. | Gaming platform utilizing a fraud detection platform |
US20140045564A1 (en) | 2012-08-07 | 2014-02-13 | Tencent Technology (Shenzen) Company Limited | Anti-cheating method and system for online games |
US9517402B1 (en) * | 2013-12-18 | 2016-12-13 | Epic Games, Inc. | System and method for uniquely identifying players in computer games based on behavior and other characteristics |
US10427048B1 (en) * | 2015-03-27 | 2019-10-01 | Electronic Arts Inc. | Secure anti-cheat system |
US10319182B2 (en) * | 2016-02-15 | 2019-06-11 | Zynga Inc. | Automatically identifying potentially fraudulent gaming accounts |
GB2555596A (en) | 2016-11-02 | 2018-05-09 | Sony Interactive Entertainment Inc | System and method of input verification |
US10279266B2 (en) * | 2017-06-19 | 2019-05-07 | International Business Machines Corporation | Monitoring game activity to detect a surrogate computer program |
US10603593B2 (en) * | 2018-03-21 | 2020-03-31 | Valve Corporation | Automatically reducing use of cheat software in an online game environment |
US11669914B2 (en) * | 2018-05-06 | 2023-06-06 | Strong Force TX Portfolio 2018, LLC | Adaptive intelligence and shared infrastructure lending transaction enablement platform responsive to crowd sourced information |
US10905962B2 (en) * | 2018-09-07 | 2021-02-02 | Valve Corporation | Machine-learned trust scoring for player matchmaking |
US11052311B2 (en) * | 2018-09-07 | 2021-07-06 | Valve Corporation | Machine-learned trust scoring based on sensor data |
US11253785B1 (en) * | 2019-01-29 | 2022-02-22 | Electronic Arts Inc. | Incentivizing fair gameplay through bot detection penalization within online gaming systems |
US20230259631A1 (en) * | 2022-02-16 | 2023-08-17 | Chime Financial, Inc. | Detecting synthetic user accounts using synthetic patterns learned via machine learning |
-
2020
- 2020-01-17 US US17/419,571 patent/US11986737B2/en active Active
- 2020-01-17 KR KR1020217026278A patent/KR20220002249A/ko unknown
- 2020-01-17 EP EP23179005.6A patent/EP4242888A3/en active Pending
- 2020-01-17 WO PCT/EP2020/051184 patent/WO2020148448A1/en unknown
- 2020-01-17 EP EP20703147.7A patent/EP3740294B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11986737B2 (en) | 2024-05-21 |
EP4242888A3 (en) | 2023-11-08 |
WO2020148448A1 (en) | 2020-07-23 |
US20220072430A1 (en) | 2022-03-10 |
EP4242888A2 (en) | 2023-09-13 |
EP3740294A1 (en) | 2020-11-25 |
EP3740294B1 (en) | 2023-11-08 |
EP3740294C0 (en) | 2023-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200269139A1 (en) | Multiplayer video game matchmaking optimization | |
CN108499108B (zh) | 视频游戏应用程序内玩游戏参数的实时动态修改和优化 | |
JP5974044B2 (ja) | 規制された複合型ゲームのためのシステムおよび方法 | |
KR20220002249A (ko) | 이스포츠에서 사기 행위 방지를 위한 시스템 및 방법 | |
US20180169526A1 (en) | Dynamic difficulty adjustment | |
US11654365B2 (en) | Secure anti-cheat system | |
Gianvecchio et al. | Battle of botcraft: fighting bots in online games with human observational proofs | |
JP4385863B2 (ja) | オンラインゲーム不正検出方法 | |
JP6511537B2 (ja) | ダーツゲーム不正行為判別方法及びサーバ | |
JP7524451B2 (ja) | 自動ハラスメント監視システム | |
US11465055B2 (en) | Systems and methods for detecting and preventing fraudulent in-app activities | |
US12023594B2 (en) | Incentivizing fair gameplay through bot detection penalization within online gaming systems | |
US11033813B2 (en) | Latency erasure | |
US10463971B2 (en) | System and method for validating video gaming data | |
US11117055B2 (en) | Systems and methods for validating leaderboard gaming data | |
US11090566B1 (en) | Method for determining player behavior | |
KR100900666B1 (ko) | 온라인 게임 서비스 방법 및 시스템 | |
Schmid et al. | Small Latency Variations do not Affect Player Performance in First-Person Shooters | |
KR20150116299A (ko) | 온라인 게임의 조준 봇 자동 탐지 방법 및 장치 | |
Zhang | Improvement of online game anti-cheat system based on deep Learning | |
CN114728203A (zh) | 用于视频流分析的系统和方法 | |
GB2555596A (en) | System and method of input verification | |
Mäkynen | Cheat Prevention & Detection in online games | |
Lee | Lag compensation in first-person shooter games | |
CN114225423A (zh) | 游戏举报处理方法、装置、设备及存储介质 |