일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- CTM
- 피파온라인 API
- BERTopic
- LDA
- 포아송분포
- 블루 아카이브
- NLP
- 토픽 모델링
- 붕괴 스타레일
- 원신
- 데이터리안
- 다항분포
- 자연어 모델
- 개체명 인식
- 옵티마이저
- 블루아카이브 토픽모델링
- SBERT
- 데이터넥스트레벨챌린지
- KeyBert
- Tableu
- Roberta
- Optimizer
- 클래스 분류
- 데벨챌
- 코사인 유사도
- 문맥을 반영한 토픽모델링
- 구글 스토어 리뷰
- geocoding
- 조축회
- 트위치
- Today
- Total
분석하고싶은코코
온라인 게임에서의 이상 징후 탐지 기법 조사 및 분류 본문
**고려대학교 정보보호대학원 곽병일, 김휘강님의 논문을 정리한 내용입니다.
온라인 게임에서의 이상 징후 탐지 기법 조사 및 분류¶
고려대학교 정보보호대학원 곽병일, 김휘강님의 논문을 토대로 작성하였습니다.
게임의 불법 사용에 대한 정의¶
게임안에서 불법행위에 대한 정의는 게임 봇(Game bot), 게임 핵(Game hack), 골드 파밍(Gold farming), 사설서버(Private server), 시스템 및 네트워크 해킹, 계정 도용으로 분류하고 있다.
온라인 게임에서의 이상 징후 탐지와 보안¶
온라인 게임에서는 다양한 부정행위 및 이상 징후가 발생합니다. 아래 분류는 온라인 게임에서의 이상 징후 탐지 및 대응에 대한 연구를 다양한 관점으로 분류한 것입니다.
논문에서는 다음과 같은 6가지로 분류 방법을 소개하였습니다.
- 탐지 위치에 따른 분류
- 탐지 기법에 따른 분류
- 알고리즘에 따른 분류
- 데이터 소스에 따른 분류
- 게임 장르에 따른 분류
- 탐지 대상에 따른 분류
01. 탐지 위치에 따른 분류¶
[서버에서의 탐지]¶
이상 징후에 대한 탐지는 탐지 위치가 어디냐에 따라 서버, 네트워크, 클라이언트로 세 가지로 분류가 가능합니다.
첫 번째로 서버에서 탐지할 경우 유저들이 온라인 게임을 플레이할 경우 플레이 로그를 분석하여 이상 징후를 탐지합니다. Yutaro Mishima 등은 게임 플레이 로그에 대한 캐릭터 행위 빈도 및 속도를 분석하여 특징을 만들고, 통계적 기법을 적용하여 MMORPG에서 게임봇과 일반 사용자를 분류했습니다. Ausushi Fujita 등은 유저들의 거래 네트워크를 데이터 마이닝 기법에 적용하여 RMT(Real Money Trade)탐지 방법을 제시하였습니다. RMT는 게임 재화를 현금으로 환전하는 거래를 의미합니다. 게임 재화의 현금화는 탈세, 돈세탁 등과 같은 현실에서 지하경제의 부정 거래를 이용하는데 사용된다고 합니다. RMT의 방법론은 유저들 사이의 거래 네트워크에서 거래 횟수, 거래 머니의 양 및 현재 보유중인 게임 머니의 양을 특징으로 추출하고, SVM(Support Vector Machine) 알고리즘에 적용한 방법입니다. Muhammad Aurangzeb Ahmad 등은 유저들의 현금거래 네트워크 및 행위를 데이터 마이닝 기법에 적용하여 골드파밍 탐지 방법을 제시하였습니다. 제시한 방법론은 사용자와 골드파머(Gold Framer)들의 거래 횟수 및 한 번에 이뤄지는 거래 량, 거래 물품의 종류와 같은 특징을 추출하고, Naive Bayes, Bayes Network, Logisitc Regression, KNN, J48, AdaBoost와 같은 다양한 알고리즘에 적용하여 MMOG에서 골드파머를 분류하였습니다. Kuan-Ta Chen 등은 서버 단에서 캐릭터의 게임 내 활동 시간과 유휴 시간을 특징으로 추출하고, 이들에 대한 분포 및 엔트로피 비교를 통해 MMORPG에서 게임봇에 대한 탐지를하였습니다.
[네트워크에서의 탐지]¶
네트워크에서의 탐지는 클라이언트와 서버간의 통신의 트래픽을 분석하여 이상 징후를 탐지하는 방법입니다. Chen Kuan Ta 등은 이 트래픽의 규칙성 및 폭발성을 분석하여 특징으로 추출하고, 통계적 기법에 적용하여 MMORPG에서 게임 봇을 분류하였습니다. Sylvain Hilaire 등은 네트워크 단에서 네트워크 트래픽 데이터를 데이터 마이닝 기법에 적용하여 게임봇 탐지 방법을 제시하였습니다. 제시한 방법론은 서버와 클라이언트간의 전송되는 패킷의 시간 간격과 패킷의 사이즈를 특징으로 추출하고, Decision Tree 알고리즘에 적용하여 MMORPG에서 게임봇을 탐지합니다.
[클라이언트에서의 탐지]¶
Sungwoo Hong 등은 클라이언트 단에서 사용자 행위를 데이터 마이닝 기법에 적용하여 게임봇 탐지 방법을 제시했습니다. 사용자의 키보드 및 마우스 입력 시퀀스를 포함한 윈도우 이벤트 시퀀스를 특징으로 추출하고, Decision Tree 알고리즘에 적용하여 MMORPG 게임봇을 탐지하는 방법입니다.
02. 탐지 기법에 따른 분류¶
탐지 기법에 따른 이상 징후 탐지 기법에는 데이터 마이닝 기법, 통계적 기법, 유사도 패턴 매칭 기법, 튜링 테스트 기법으로 나눌 수 있습니다.
[데이터 마이닝 기법]¶
데이터 마이닝 기법은 게임 상에서 캐릭터의 행위 및 유저들의 행위들을 분석하여 데이터들 간의 유용한 상관관계 발견 및 유의미한 정볼르 추출하여 의사 결정에 사용하는 기법입니다. Jina Lee 등은 서버 단에서 캐릭터의 행위 시퀀스를 데이터 마니이 기법에 적용하여 게임봇을 분류하였습니다. 게임 내 캐릭터의 행위 시퀀스를 특징으로 추출하고 Naive Bayesian 알고리즘에 적용하여 게임봇을 분류하였습니다. Su-Yang Yu 등은 서버 단에서 캐릭터의 행위를 데이터 마이닝 기법에 적용하여 Aim봇 분류방법을 제시하였습니다. 적의 타겟을 조준하는데 걸리는 가속도와 조준을 유지하는 시간과 같은 특징을 추출하고, SVM 알고리즘에 적용하여 FPS에서 Aim봇을 분류하였습니다.
[통계적 기법]¶
통계적 기법은 게임 내 일반 유저와 부정행위자들의 로그 데이터를 특징 지어 분산, 평균, 표준 편차 및 분포와 p-value, z-value등의 통계적 지표를 통해 유저와 부정행위자를 구분짓는 방법입니다. Marlieke van Kesteren 등은 클라이언트 단에서 게임 내 캐릭터의 움직이는 각도에 따른 빈도를 특징으로 추출하고, 통계적기법에 적용하여 MMORPG에서 게임봇을 탐지하였습니다. Jehwan Oh 등은 서버 단에서 캐릭터의 경험치, 거래, 로그인 데이터와 같은 특징을 추출하고, 통계적 기법에 적용하여 계정 도용에 대한 탐지를 하였습니다.
[유사도 분석 기법]¶
유사도 분석 기법은 일반 유저와 게임봇의 행위 분서 시 현재와 이전 행위간의 유사성 분석을 통해 게임봇을 분류하는 기법입니다. 게임봇의 경우 사전에 입력된 행위만을 반복하기 때문에 유사도 패턴이 유사하게 나타나지만 일반 유저의 경우 사냥 외에 채집, 채팅, 거래, 파티, 길드 활동 등 다양한 행위를 수행하기 때문에 유사도 분석 시 다르게 유사도가 나타납니다. Stefan Mitterhoffer 등은 서버 단에서 게임 캐릭터의 이동 패턴을 유사도 패턴 매칭에 기법에 적용하여 게임봇을 분류 하였습니다. Waypoint는 게임내 캐릭터의 이동 기점을 말합니다. 게임 유저들의 이동 경로 중 가장 높은 빈도로 머무는 장소를 의미합니다. 이 방법론에서는 유저들이 가장 높은 빈도로 머무는 Waypoint를 추출하고 이 정보를 LCP(Longest Common Prefix) 알고리즘에 적용하여 게임봇을 분류하였습니다. LCP는 두 단어 및 문장이 있을 경우 접미사의 최대 공통 접두사의 길이를 의미하며 일반적으로 문자열 비교를 수행 시 사용되는 알고리즘입니다. Chrisian Platzer는 서버 단에서 캐릭터의 행위 시퀀스를 유사도 패턴 매칭 기법에 적용하여 게임봇 탐지 방법을 제시하였습니다. 캐릭터의 전투 행위를 시퀀스로 나타내어 시퀀스들간의 거리를 추출하고, Levenshitein distance 알고리즘에 적용하여 게임봇을 탐지하는 방법입니다. Levenshitein distance 알고리즘은 두 개의 문자열을 비교할 때 한 문자열이 다른 문자열로 바뀌기 위해서 필요한 변경 횟수를 측정하는 알고리즘으로 두 개 문자열의 유사성을 측정하는데 사용합니다.
[튜링 테스트 기법]¶
튜링 테스트 기법은 기계는 인지하고 판별하는 것이 어렵지만 사람은 쉽게 인지하여 판별할 수 있게 하여 기계와 사람을 분류하는 방법입니다. Ryan McDaniel 등은 서버 단에서 이미지에 대한 특징을 튜링테스트에 적용하여 체스 게임에서 게임봇 사용을 예방하는 방법을 제시하였습니다. 제시한 방법은 이미지 회전, 이미지 해상도 조절, 랜덤 이미지를 사용과 같이 체스게임에서 체스 말이 가지고 있는 이미지를 변형하여 생기는 이미지를 게임내 그래픽으로 구성하여 체스 게임에서 게임봇 사용을 방지하고자 하였습니다.
03. 알고리즘에 따른 분류¶
알고리즘에 따른 분류는 머신러닝에서 사용하는 모데들의 이름과 같습니다. 여기서는 Decision Tree, SVM, Naive Bayes, kNN, Logistic Regression, Bayes Network, Adaboost, Neural Network를 설명합니다.
[Decision Tree]¶
의사결정 나무는 특정 변수에 대해 여러 성질의 데이터를 유사한 성질의 데이터 끼리 분류하는 알고리즘입니다. 또한 과거에 수집된 데이터들을 분석하여 유사한 그룹끼리 나누고 분류 모형을 나무 형태로 나타냅니다.
[SVM(Support Vector Machine)]¶
서포트 백터 머신은 의사결정 나무 알고리즘과 같이 여러 성질의 데이터를 유사한 성질의 데이터끼리 분류하는 것입니다. 경계면을 통해 구분짓는데 이 경계면의 최댓값을 찾는 것이 SVM 알고리즘입니다.
[Naive Bayes]¶
나이브 베이지안 알고리즘은 트정 사건이 발생한 후 그 사건의 원인이 될 수 있는 사건들에 대한 사전 확률분포를 이용하여 사후에 원인이 될 수 있는 사건들의 사후화귤ㄹ분포를 도출하는 알고리즘입니다.
[kNN(k-Nearest Neighbor)]¶
kNN 알고리즘은 학습 데이터 중 가장 유사한 k개의 데이터를 이용해 새로운 데이터의 부류 값을 예측하는 알고리즘입니다. 이 알고리즘은 학습과정이 빠르고 효과적으로 분류하는 장점이 있지만 모든 데이터에 대해 거리 계산이 필요하기 때문에 데이터 크기가 커짐에 따라 많은 시간이 소요된다는 단점이 있습니다.
[Logistic Regression]¶
로지스틱 회귀는 대표적인 이진분류 기법입니다. 2개의 종속변수와 독립변수 사이의 과련성을 추정합니다. 이 기법은 계산비용이 적고 결과 해석을 위한 표현이 쉬운 장점이 있지만 학습이 잘 되지 않은 모델의 경우 낮은 정확도가 단점입니다.
[Bayes Network]¶
그래프 이론과 확률 이론의 결함에 기초한 확률 그래프 모델입니다. 이 알고리즘은 변수들 간의 상관관계를 쉽게 이해하는 것이 가능한 장점이 있지만 관련 없는 속성들에 대한 데이터 축소 과정이 필수로 필요합니다.
[Adaboost]¶
약한 분류기들을 선형적을 조합하고 반복을 통해 가중치 값을 추출하여 새로운 데이터 부류 값을 예측하는 알고리즘입니다.(논문이 작성될 당시에는 XGB, LightGBM 등의 모델이 나오지 않은 상황이었기에 Adaboost 알고리즘을 예로 들었습니다.) 이 알고리즘은 오류율이 낮고 빠른 연산 속도를 가지는 장점이 있지만 오류 데이터에 대한 민감한 단점이 있습니다.
[Neural Network]¶
신경망 알고리즘은 노드와 엣지로 구성된 망구조를 모형화하고, 수집된 데이터 반복 학습과정에 적용하여 패턴을 찾아 새로 입력되는 데이터 부류 값을 예측하는 알고리즘입니다. 다른 알고리즘에 비해 비교적 높은 정확도를 가지는 장점이 있지만 기준 근거를 알기 어렵고 많은 연산량으로 인해 많은 소비시간이 단점입니다. 이 모델은 딥러닝의 단점을 그대로 갖고 있습니다.
04. 데이터 소스에 따른 분류¶
데이터 소스에 따른 분류는 쉽게 유저들에게서 찾는 방법입니다. 분류는 캐릭터의 행위, 캐릭터의 이동경로, 유저 행위, 소셜 네트워크 데이터, 네트워크 트래픽, 이미지 소스로 나눌 수 있습니다.
[캐릭터 행위]¶
유저가 게임을 플레이 시 서버에 저장되는 캐릭터 행위 로그이다. 캐릭터 행위 로그는 액션 행위 시퀀스, 경험치 획득, 로그인 및 로그아웃 데이터, 획득 재화, 상점 이용 횟수, 승리 비율, 조준정확도, 타겟과의 거리와 같은 데이터이다.
[캐릭터 이동경로]¶
유저가 게임 플레이 시 캐릭터가 이동한 경로를 추적한 데이터이다. 일반 캐릭터와 다르게 이상 행위를 하는 캐릭터의 경우 특정 지역만 이동하거나 반복적인 동일 구간만 이동하는 등 일반 캐리터와는 다르게 이동하므로 이를 이상 징후 탐지에 데이터 소스로 사용한다.
[사용자 행위]¶
사용자 행위는 게임 플레이 시 사용자가 입려하는 키보드, 마우스 입력, 마우스 움직임, 사용자 접속 IP주소, MAC주소와 같은 데이터이다. 캐릭터 행위나 이동경로랑 같은게 아닌가 할 수 있지만 실제로 움직여서 남은 기록 데이터와 유저가 입력한 데이터에는 차이가 존재하므로 분류하여 보는게 적합하다.
[소셜 네트워크 데이터]¶
게임 플레이 시 서버에 저장되는 캐릭터의 소셜 행위 및 네트워크 데이터이다. 사용되는 데이터는 캐릭터으 ㅣ채팅, 거래, 파티, 길드, PVP와 같은 소셜 네트워크 관련 데이터이다.
[네트워크 트래픽]¶
게임 플레이 시 서버와 클라이언트간의 전송되는 패킷 사이즈, 종류, 빈도, 타이밍과 같은 데이터이다.
[이미지 소스]¶
카드 게임에서 게임 내 카드의 그림을 방향 회전, 이미지 번형, 게임에서 CAPTCHA를 위한 사진에 문자열로 표시되어 사용된다.
05. 게임 장르에 따른 분류¶
온라인 게임의 장르에 따른 분류는 MMORPG, FPS, 카드 게임, 경주 게임으로 나뉜다. 논문 작성당시에 없던 오토배틀러(TFT, 전장)는 카드 게임에서 파생된 게임으로 보면 된다.
[MMORPG (Massive Multiplayer Online Role Playing Game]¶
게임 속의 캐릭터들을 설정하여 온라인상에서 여러 사용자들이 같은 가상공간에서 동시에 즐길 수 있는 게임이이다.
[FPS (First-person shooter)]¶
1인칭 시점에서 바라보며 게임의 목적을 수행하는 게임이다. TPS(Third-person shooter)를 포함한 슈팅게임을 FPS라고 표현하는 경우가 엄연히 둘은 다른 장르의 게임이다. 하지만 이를 포함한 총 게임을 보통 FPS라고 한다.
[카드게임]¶
게임 내에서 주어지는 카드를 이용하여 게임 상에서 다른 캐릭터들과 경쟁하는 보드게임의 종류이다. 여기서 파생된 게임은 오토배틀러(TFT, 전장)이 있다.
[경주게임]¶
레이싱 게임을 뜻한다. 달리기, 카레이싱 등 캐릭터들간 스피드 경쟁을 하는 게임이다.
06. 탐지 대상에 따른 분류¶
어떤 탐지를 할 것인가에 따라서 분류할 수 있다. 탐지 대상은 게임봇 탐지, 게임봇 예방, 게임핵 탐지, 계정도용 탐지, 골드파밍 그룹 탐지로 나눌 수 있다.
[게임봇 탐지]¶
서버에 저장 가능한 캐릭터 행위, 이동 경로, 사용자 행위, 소셜 네트워크 데이터, 네트워크 트래픽 데이터를 분석하여 게임 속에서 사용자 대신 게임을 플레이 해주는 자동화 프로그램을 탐지하는 것이다.
[골드파밍 그룹 탐지]¶
게임 내에서 대규모 봇을 이용하여 게임 재호라르 획득하는 작업장을 탐지하는 방법으로 서버에 저장되는 로그를 통해 탐지하는 것이다.
[계정도용 탐지]¶
사용자의 계정을 탈취하여 불법 로그인을 탐지하는 것이다. 서버에 저장되는 게임 플레이 로그를 이용하여 탐지한다.
[게임 봇 예방]¶
게임봇의 사용을 막는 것으로 게임 클라이언트 실행 시 게임 보안 솔루션을 적용하는 다른 프로그램의 접근을 제어한다. 다른 방법으로 게임 기획 시 게임 내부의 튜링테스트 기법을 적용하여 게임봇의 이용을 방해하는 방법이다.
[게임핵 탐지]¶
게임핵 탐지는 서버에 저장되는 로그를 이용하여 게임 내 다양한 핵의 메모리 조작 또는 네트워크 패킷 조작을 통해 이뤄지는 부정행위를 탐지하는 것이다.
'데이터분석' 카테고리의 다른 글
다양한 시계열 예측 모델(ARIMA, Prophet, LSTM) 정리 (0) | 2023.03.26 |
---|---|
딥러닝을 통한 게임 봇 탐지를 위한 판단 근거 분석 기법 (0) | 2023.03.21 |
Riot API 활용해서 TFT 시즌8 데이터 분석 해보기 - (1) 크롤링 (0) | 2023.03.03 |
최동원 선수 연봉 예측 프로젝트 (2) | 2023.01.12 |
따릉이 수요량 예측 (0) | 2023.01.03 |