일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- DP
- BFS
- Python
- c++
- classification
- 그리디
- 백준
- datascience
- 정렬
- Deeplearning
- AA test
- anomaly detection
- Anti Cheat
- Queue
- 통계
- Stack
- 중앙갑
- Game Data Analysis
- 7569번
- cs231n
- 큐
- Machine learning
- ML
- Journal Review
- p-value
- 자료구조
- 알고리즘
- 구현
- 딥러닝
- 스택
- Today
- Total
Software Hyena::
[저널리뷰] - Cheat Detection in a Multiplayer First-Person Shooter Using Artificial Intelligence Tools 본문
[저널리뷰] - Cheat Detection in a Multiplayer First-Person Shooter Using Artificial Intelligence Tools
bluehyena 2022. 3. 30. 17:56Journal Reveiw of Game Bot Detection (Anomaly Detection)
논문제목 : Cheat Detection in a Multiplayer First-Person Shooter Using Artificial Intelligence Tools
이번 논문리뷰의 경우 Introduction등의 부분에 게임의 Cheat가 어떤 것이 있는지, Cheat가 게임 운영에 어떤 작용을 하는지 등의 내용들은 앞서 한 논문리뷰의 내용들과 거의 같은 부분이므로 최대한 생략하고 이 논문에서 다루고자 하는 부분과 방법들을 위주로 리뷰를 진행하겠다.
ABSTRACT
: FPS 게임 장르에서의 Cheat Detection을 다룬 내용이다. Decision Tree, SVM, Naïve Bayes Classifier를 이용하였으며 mouse dynamics가 플레이어의 행동을 측정하는 수단으로서의 가능성을 보여주었다. 또, Decision tree가 가장 honest한 user를 판별하는 정확도가 높았다.
INTRODUCTION
Cheater들이 존재하는 대표적인게임으로 Counter-Strike: Global Offensive (CS:GO, 글옵)을 예시로 들었다. 전통적인 Anti-Cheat 방식과는 달리 이 연구에서는 인공지능툴을 이용하여 치트를 감지한다.
LITERATURE REVIEW
별도의 프로그램을 사용하는 Standalone Program, 게임의 DLL file을 건드려서 직접 메모리를 조작하는 Program등이 있다. CS:GO 는 1인칭 슈팅게임이다. 키보드로 움직임을, 마우스로 시야를 조작하는 것 방식이며 이 분야에서 사용되는 대표적인 Cheat는 다음과 같다.
Cheating Software
1. Aimbot : 조준선을 완전히 제어시켜주는 핵
2. Wallhack, Extra Sensory Perception : 게임마다 월핵이나 ESP등으로 불린다. 장애물에 가려서 보이지 않아야 하는 곳의 적의 위치를 알 수 있는 핵이다. ESP는 위치 정보외에도 체력, 장비등의 모든 정보를 알 수 있다.
3. Movement Scripts : 스피드핵의 느낌이다. 이동을 향상시켜준다고 한다.
Mouse dynamics
마우스의 역학으로 조사. 클릭, 더블클릭, 단순한 이동등과 같은 것을 말한다. 클릭과 드래그는 사용자를 고유하게 식별하는 것에 가장 효과가 좋은 것으로 나타났다.
+ 선행연구자료 : 마우스의 동적 데이터는 외부요인의 영향을 받는다. 하드웨어 및 소프트웨어 구성, 물리적 공간에서 움직임을 가상공간으로 넘기는 과정에서의 측정환경등이 영향을 줌.
Keystroke dynamics
키입력의 역학 감지 방법. 사용자가 이전에 입력한 키를 다시 입력하면 정확도가 증가하였다. 이런 일관성을 통해 추세를 더 쉽게 감지하고 예측할 수 있었음. 다양한 분류 알고리즘과 비교한 결과, Keystroke dynamics에서는 Multiclass Support Vector Machine이 가장 효과가 좋았음.
Statistical data analysis
게임당 적중률, 킬 수 등이 사용한 cheat의 종류에 관계없이 비슷하게 나타났다. 이미 조준했던 샷 위치를 고려하여 Bayesian Network가 사용자 분류에 사용되었다. 중요한 점은 분류에서 FP가 나타나지 않았다는 것 이다.
SIMILAR SYSTEMS
서드파티 안티치트 솔루션을 사용하기도 한다. 이 전통적인 시스템은 한계가 있는 성공을 거두었는데 이전 논문 리뷰때도 언급했듯이 안티바이러스 소프트웨어와 방법이 유사한 것이라는 점에서 그렇다. 개개인의 기기에서 동작하며 DLL file의 변화나 cheat등을 감지한다. 이미 알려진 cheat들에 대해서 높은 정확도를 보인다. 이런 전통적인 안티치트 소프트웨어는 서버에서 설치될 수 있다.
또, CS:GO 개발사인 Valve는 동료리뷰 시스템을 도입했다. “Over-watch” 시스템이라고도 불리는 이 것은 개인의 게임플레이 화면을 녹화하여 저장한 뒤 의심가는 cheater의 화면을 보면서 실제 플레이어가 판단을 내리는 것이다. 정확한 판단을 내린 플레이어 에게는 명성점수를 부여하여 판단에 가중을 더하는 방식이다. 그리고 Valve는 최근 AI 를 사용한 cheat detection 솔루션을 공개했다. 플레이어의 쏘기 전 Crosshair 위치, 쏜 후의 Crosshair 위치, 사용한 무기등의 feature를 이용하여 deep learning 기반의 솔루션을 개발했다.
MODEL
mouse dynamics, keystroke dynamics, statistical data analysis 세가지 자료를 이용했으며 classifier의 accuracy를 비교했다.
Data capture
데이터 캡처는 인게임 콘솔의 keyloggers를 이용했다. 1분간격으로 text파일로 저장이 된다.
Mouse Behaviour
마우스 움직임 캡처, 클릭, 커서의 x축 위치, y축 위치, 액션이 발생한 시간(밀리초 단위) 등이 log file로 저장되어 측정된다.
Keystroke Dynamics
누른키와 누른시간은 키 릴리스 이벤트에 대해서 동일한 작업이 수행되는 로그 파일에 10개가 기록된다. 비정상적 행동을 강조하기 위해 config파일도 인게임 키로 읽힌다.
Console Logs
환경설정, configuration file 불러오기, 게임이벤트 확인하기 등의 Console Log를 이용한다. 각 Console의 끝에는 플레이어가 각 적플레이어에게 가한 히트 수, 피해, 적플레이어로부터 입은 피해, 히트 수 등이 번호로 나와 있다. 인게임 콘솔의 출력은 text file이고 log file이 매 매치마다 기록된다. (최대 30라운드)
Feature extraction
- SVM, Naïve Bayes classifier -> statistically independent events.
Mouse Behaviour.
- Clicking, dragging 등의 로그파일, 평균시간, 평균거리, 방향, 평균 translation이 추출되었다. 거리는 데카르트 평면에서 계산됨.
Keystroke Dynamics.
- 키를 누른 평균 시간, 입력사이의 간격, unbound key의 누른 수 등을 집계함. 인게임에서 사용되지 않는 키도 계산됨.
Console Logs
- 각 라운드의 게임 정보. 총 히트수, 데미지 양, 적의 수, 받은 히트 수, 받은 데미지의 합, 공격자의 합등 Naïve bayes classifier 에 사용하기 위해 범주화. Table 1이 그 것.
- Damage Dealt 가 높지 않아도 되는 이유 -> 어차피 핵은 대부분 헤드샷을 쏘기 때문에
Decision tree
- Mouse dynamics는 행렬로 표현함. 엔트로피는 다음과 같이 계산
- Pi 는 cheating이나 honest에 대한 확률임, 엔트로피 테이블은 frequency table로 계산할 수 있다. 한 feature와 그것의 label이다. 공식은 아래와 같다.
Probability는 특정 feature의 value의 횟수 / 전체 value of records 로 계산이 된다.
Tree는 Maximum depth를 기반으로 한 pruning을 해서 overfitting을 방지했다.
Support vector machines
- Only linear 만 사용.
Feature Pairs
- Feature pair 로 분류를 시도.
- 분리된 SVM 모델이 feature간의 가능한 조합들로 학습될 수 있음. 각각의 SVM이 하나의 결정을 내리는 것을 기반으로 함.
Ensemble Learning
- SVM의 성능향상을 위해 시도.
- 1. SVM의 예측을 같은 weight으로 진행.
- 2. 가중합 방식 이용
Multi-Feature
- 최고 성능의 classifier는 높은 정확도와 낮은 복잡도(가중치의 절대합)를 바탕으로 결정됨.
Naïve Bayes
- 이 알고리즘으로 cheating과 honest의 가능성을 계산한다.
- Likelihood 는 cheating, honest 모두 계산한 결과임.
RESULTS
- 결과는 분류기 유형별로 그룹화 할 수 있었다.
- 대부분의 기능 쌍은 선형으로 분리할 수 없어서 잘 수행되지 않음.
- Naive Bayes 분류기는 부정 행위를 탐지하는데에만 사용되었다.
- 콘솔 로그 통계를 기반으로 한 모델은 87.5%의 정확도를 달성하여 다른 분류기의 성능과 동등함.
ANALYSIS OF RESULTS
Decision tree
- Pruning을 하고, 안하고의 차이는 극명하게 나뉘었다.
- Decision tree는 honest behaviour를 classifying 하는데에만 추천된다.
Support vector machines
- 모든 pair에서 선형적으로 분리할 수 있지는 않았다. 특히 keystroke dynamics에서 SVM을 사용한 것은 정확도가 범위가 매우 넓다. 이 방법은 많은 feature들이 고려될 수 있으나, 콘솔로그와 비슷한 결과들을 보였다. 앙상블학습은 동일예측과 가중예측사이의 차이가 가장 개선된 입력유형 보이는 등의 예상치 못한 결과를 내었다. Table 4에서 확인가능.
- 성능향상을 보여주는 것은 Mouse Dynamics에서 였다.
Naïve Bayes
- Single behaviour measure에 만 적용가능하다. Given data에서는 잘 작동하였음.
- 향 후 연구가 다른 행동공간에서 비교할 class를 찾을 수 있다는 것.
FUTURE CONSIDERATIONS
- 단일 플레이어 만을 대상으로 데이터 캡쳐가 진행됨. Complete data set은 multiple player로부터 얻어지는 것이 필요함.
- 테스트를 위해 치트를 사용하는 것에 대한 윤리적, 기술적인 영향력, 가만히 있는다고 정보가 얻어지는 것이 아니라서 실제 사람의 플레이를 이용했고 인게임상에서 봇들과 플레이를 진행했다.
- 타 RTS, MOBA등의 장르에도 Cheat detection. 다른 장르는 다른 새로운 feature를 추출해야함.
CONCLUSION
- AI base의 cheat detection method를 적용해보았다. 향후 연구는 성공적인 feature추출과 더 많은 classifier들을 적용해 보는 등이 cheat detection에 도움이 될 것.
-----------------------
+ 사족
Cheat Detection을 하게 된다면 FPS장르의 Cheat Detection이 목표라 위 논문을 리뷰하게 되었다. RPG장르와는 다르게 데이터를 얻기가 상당히 어렵다는 점과 실제로 게임사에 더 막대한 피해를 주는 장르이다. 위 논문에서도 나와있듯 실제 게임유저에게 핵 의심 플레이어의 화면을 보고 직접 judge하도록 하는 Over-Watch 시스템, 특정 게임에서는 길로틴 시스템이라고 하는 방식을 채택하고 있다. 이 시스템의 장점은 물론 눈에 띄게 증가하는 핵유저의 차단이지만 매우 큰 단점이 그만큼 무고한 유저도 제제를 당한다는 점이다. 이런 점 때문에 FPS장르에서 Cheat Detection이 어떤식으로 이루어지고 있는지 더 서칭하던 중 Can FPS Games Survive the Onslaught of AI Cheat Engines? 라는 제목의 2021년 8월의 기사를 보게 되었다.
https://www.makeuseof.com/game-terminator-the-rise-of-the-cheating-machines/
Can FPS Games Survive the Onslaught of AI Cheat Engines?
Cheating in gaming is rife, particularly in first-person shooters. We ask whether the genre can cope with the glut of cheats on the scene.
www.makeuseof.com
내용을 요약하자면 흔히들 스트리머나 인터넷 방송 BJ들은 게임용 컴퓨터와 방송송출용 컴퓨터 2개를 사용하는데 이 아이디어를 따와서 1번 PC의 화면을 2번 PC에서 Computer Vision을 통해 에임핵등의 역할을 하도록 하는 프로그램이 개발되었었다는 이야기이다. 이런 CV를 이용한 핵이 발전될 경우, 일반적인 Cheat Detection Solution 으로는 해결하기 힘들 것이라고 전망하고 있다. 다만 희소식은 Call of Duty Warzone 이라는 게임을 서비스 중인 Activision 이라는 회사에서 이런류의 Cheater들을 빠르게 정지시켜 게임운영에 차질을 덜었다는 것인데 앞으로 이런 Cheat 기술들에도 AI기술들이 적용될 가능성이 크다. 그렇게 되면 무고한 유저와, 핵유저 사이의 구별이 더욱 힘들어 지게 될 텐데 이에 잘 대응하는 것이 관건이라 생각한다.