자동 게임 프로그램(auto-playing game programs)은 게임 플레이어를 대신하여 게임 캐릭터를 조종하는 프로그램으로 MMORPG(massively multi-player online role playing game)에서 빈번히 사용되고 있다. MMORPG에서 게임 캐릭터의 레벨을 올리기 위해서는 경험치가 필요하며, 경험치 증가 과정에서 아이템을 구매할 때 사용되는 게임 머니와 특정한 기술을 사용할 수 있는 아이템을 획득한다. 이러한 레벨-업 과정에서 게임 플레이어들은 지루함을 느끼게 되고, 빠른 게임 캐릭터의 성장을 위해 자동 프로그램을 사용하여 게임 캐릭터의 레벨을 증가시키는 경우가 빈번히 발생한다 그러나 자동 프로그램은 게임상에서 비정상적으로 자원을 독점하여 게임 시스템을 황폐화시킬 뿐만 아니라, 불법적인 수익사업으로 악용되어 건전한 게임산업 육성을 방해한다. 본 논문에서는 이러한 자동 게임 프로그램을 찾아내기 위하여 게임 캐릭터에 의해 발생되는 마우스와 키보드를 포함한 윈도우 이벤트 시퀀스를 분석하고, 이벤트 시퀀스로부터 속성 벡터를 생성하여 결정트리 학습을 수행하였다. 결정트리 학습은 윈도우 이벤트 시퀀스에 의해 생성된 속성 벡터들을 이용하여 자동 프로그램을 분류한다. 본 논문에서는 윈도우 이벤트 시퀀스를 활용하여 생성한 26개의 속성들을 결정트리 학습에 적용함으로써 MMORPG에서 자동 프로그램을 효과적으로 분류할 수 있다는 것을 MMORPG에 속하는 몇 가지 게임에 대한 실험을 통해 확인하였다.
자동 게임 프로그램(auto-playing game programs)은 게임 플레이어를 대신하여 게임 캐릭터를 조종하는 프로그램으로 MMORPG(massively multi-player online role playing game)에서 빈번히 사용되고 있다. MMORPG에서 게임 캐릭터의 레벨을 올리기 위해서는 경험치가 필요하며, 경험치 증가 과정에서 아이템을 구매할 때 사용되는 게임 머니와 특정한 기술을 사용할 수 있는 아이템을 획득한다. 이러한 레벨-업 과정에서 게임 플레이어들은 지루함을 느끼게 되고, 빠른 게임 캐릭터의 성장을 위해 자동 프로그램을 사용하여 게임 캐릭터의 레벨을 증가시키는 경우가 빈번히 발생한다 그러나 자동 프로그램은 게임상에서 비정상적으로 자원을 독점하여 게임 시스템을 황폐화시킬 뿐만 아니라, 불법적인 수익사업으로 악용되어 건전한 게임산업 육성을 방해한다. 본 논문에서는 이러한 자동 게임 프로그램을 찾아내기 위하여 게임 캐릭터에 의해 발생되는 마우스와 키보드를 포함한 윈도우 이벤트 시퀀스를 분석하고, 이벤트 시퀀스로부터 속성 벡터를 생성하여 결정트리 학습을 수행하였다. 결정트리 학습은 윈도우 이벤트 시퀀스에 의해 생성된 속성 벡터들을 이용하여 자동 프로그램을 분류한다. 본 논문에서는 윈도우 이벤트 시퀀스를 활용하여 생성한 26개의 속성들을 결정트리 학습에 적용함으로써 MMORPG에서 자동 프로그램을 효과적으로 분류할 수 있다는 것을 MMORPG에 속하는 몇 가지 게임에 대한 실험을 통해 확인하였다.
Auto-playing programs are often used in behalf of human players in MMORPG(Massively Multi-player Online Role Playing Game). By playing automatically and continuously, it helps to speed up the game character's level-up process. However, the auto-playing programs, either software or hardware, do harm ...
Auto-playing programs are often used in behalf of human players in MMORPG(Massively Multi-player Online Role Playing Game). By playing automatically and continuously, it helps to speed up the game character's level-up process. However, the auto-playing programs, either software or hardware, do harm to games servers in various ways including abuse of resources. In this paper, we propose a way of detecting the auto programs by analyzing the window event sequences produced by the game players. In our proposed method, the event sequences are transformed into a set of attributes, and the Decision Tree learning is applied to classify the data represented by the set of attribute values into human or auto player. The results from experiments with several MMORPG show that the Decision Tree learning with proposed method can identify the auto-playing programs with high accuracy.
Auto-playing programs are often used in behalf of human players in MMORPG(Massively Multi-player Online Role Playing Game). By playing automatically and continuously, it helps to speed up the game character's level-up process. However, the auto-playing programs, either software or hardware, do harm to games servers in various ways including abuse of resources. In this paper, we propose a way of detecting the auto programs by analyzing the window event sequences produced by the game players. In our proposed method, the event sequences are transformed into a set of attributes, and the Decision Tree learning is applied to classify the data represented by the set of attribute values into human or auto player. The results from experiments with several MMORPG show that the Decision Tree learning with proposed method can identify the auto-playing programs with high accuracy.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 게임이 진행될 때 발생되는 캐릭터의 윈도우 이벤트 시퀀스를 분석하고, 이벤트 시퀀스로부터 생성된 속성들을 이용하여 결정 트리 학습을 통해 자동 프로그램 탐지 방법을 제안한다.
제안 방법
각 게임은 3명의 게임 플레이어가 90분씩 게임을 진행하고, 1분 간격으로 이벤트 시퀀스를 생성하였다. 자동 프로그램 또한 90분 동안 동일한 상황에서 게임을 진행시키고, 1분 간격으로 이벤트 시퀀스를 90개 생성하였다.
속성을 생성하기 위해서 먼저 게임 진행상에서 발생하는 이벤트들을 추출하였다. 게임 진행 시에 발생되는 키보드와 마우스의 입력 이벤트를 추출하기 위해서 “Tasker”라는 매크로 프로그램을 사용하였다. Tasker는 마우스의 움직임과 키보드의 이벤트 발생을 밀리초 단위로 파일에 기록한다.
다양하게 발생되는 이벤트 시퀀스들 사이의 직접 적인 비교는 매우 어렵다. 그래서 가능한 특성화된 이벤트 시퀀스를 다양하게 추출하여 이벤트 시퀀스에 대한 분석을 통해 플레이어 캐릭터와 자동 캐릭터를 효과적으로 분류할 수 있는 속성들을 생성하였다. 속성들은 각 이벤트 사이들의 시간에 대한 평균, 표준편차, 특정 이벤트의 발생율, 이벤트 패턴 등을 포함한다.
뮤 게임에서 추출한 이벤트는 자동 프로그램으로 진행한 90분 분량과 게임 플레이어가 게임을 수행한 90분 분량으로 총 180분 분량이다. 그리고 결정 트리에 사용할 이벤트 시퀀스 개체의 속성을 추출하기 위해 1분 단 위로 이벤트 데이터들을 재배열한 후, 속성을 추출하였다. 그러므로 뮤 게임에서 생성한 이벤트 시퀀스 개체의 총수는 180개이다.
Delap 등[2]은 MMORPG와 같은 대규모의 다중 사용자 게임에서 규칙 기반이 적용된 실시간 검사 시스템을 활용하여 게임 규칙에 위배되는 경우를 탐지해냈다. 또한, 이와 같은 접근 방법으로 게임의 실시간 감시를 통해 프로그램의 버그를 찾아내고, 게임 사용자들의 부당한 속임수 사용을 탐지하였다. Delap 등은 게임 캐릭터가 획득한 게임 머 니나 체력 등이 게임 규칙에 위배되는지를 검사함으로써 프로그램 버그나 속임수를 탐지하는 방법을 사용하였으며, 게임 규칙에 위배되는 판정을 위해 시간 간격 안에 획득할 수 있는 게임 머니와 체력들의 최 대값을 게임 규칙의 임계 값으로 활용하였다.
본 논문에서는 C4.5의 특성으로 윈도우 이벤트 시퀀스 분석 도구로 C4.5를 채택하였다. 이벤트 시퀀스를 분석하여 분류 모델을 생성하기 위해 WEKA에서 제공하는 결정 트리를 사용하였으며, WEKA에서 사 용한■결정트리는 J48로 C4.
본 논문에서는 자동 프로그램 탐지를 위해 게임 캐릭터에 의해 발생되는 마우스와 키보드를 포함한 윈도우 이벤트 시퀀스를 분석하고, 윈도우 이벤트 시퀀스를 속성 벡터로 변환하여 결정 트리 학습에 적용한다. 결정 트리 학습은 윈도우 이벤트 시퀀스에 의해 생성된 속성들을 이용하여 자동 프로그램 분류에 적용된다.
소프트웨어 방식과 하드웨어 방식의 자동 프로그램에 의해 조종되는 자동 캐릭터와 플레이어 캐릭터의 다양한 윈도우 이벤트들을 추출하고, 자동 프로그램 분류를 위해 추출한 윈도우 이벤트를 이용하여 다양한 이벤트 시퀀스를 생성하였다.
속성을 생성하기 위해서 먼저 게임 진행상에서 발생하는 이벤트들을 추출하였다. 게임 진행 시에 발생되는 키보드와 마우스의 입력 이벤트를 추출하기 위해서 “Tasker”라는 매크로 프로그램을 사용하였다.
이벤트 시퀀스 생성을 위해 먼저 플레이어 캐릭터와 자동 프로그램으로 조종되는 자동 캐릭터의 윈도 우 이벤트를 추출하였다. 이벤트들의 사이에서 평균 시간이나 시간의 표준편차, 이벤트 패턴 등을 이용하여 다양한 속성들을 생성하였다.
이벤트 시퀀스 생성을 위해 먼저 플레이어 캐릭터와 자동 프로그램으로 조종되는 자동 캐릭터의 윈도 우 이벤트를 추출하였다. 이벤트들의 사이에서 평균 시간이나 시간의 표준편차, 이벤트 패턴 등을 이용하여 다양한 속성들을 생성하였다. 생성된 이벤트 시퀀스의 속성들은 26차원 벡터로 재표현 되고, 결정 트리 학습에 훈련 데이터로 이용돤다.
각 게임은 3명의 게임 플레이어가 90분씩 게임을 진행하고, 1분 간격으로 이벤트 시퀀스를 생성하였다. 자동 프로그램 또한 90분 동안 동일한 상황에서 게임을 진행시키고, 1분 간격으로 이벤트 시퀀스를 90개 생성하였다. 게임 플레이어와 자동 게임 모두 이벤트 생성 시 단순한 마우스 움직임은 배제하였다.
추가적으로 결정 트리 이외의 기계학습 기법을 이용하여 동일한 실험 방법으로 여러 기계학습 기법들의 분류 성능을 비교 실험하였다. 표 6에 다른 기계학 습 기법들의 분류 정확도를 나타내었다.
대상 데이터
그리고 결정 트리에 사용할 이벤트 시퀀스 개체의 속성을 추출하기 위해 1분 단 위로 이벤트 데이터들을 재배열한 후, 속성을 추출하였다. 그러므로 뮤 게임에서 생성한 이벤트 시퀀스 개체의 총수는 180개이다. 이벤트 시퀀스 추출에 사용한 게임은 뮤(Mu), 아크로드(Archlord), 군주 (GoonZu), 메이플스토리(Maple Story) 이고, 생성한 이벤트 시퀀스의 수량은 뮤에서 추출한 이벤트 시퀀스의 개체 총수와 동일하다.
본 실험을 수행하기 위해 현재 인터넷에서 서비스 되고 있는 MMORPG에 속하는 게임들 중에 “뮤 (Mu), 아크로드(Archlord), 군주(GoonZu), 메이플스 토리 (Maple Story)”를 이용하여 실험하였으며, 실험은 자동 프로그램의 동작 방식에 따라 크게 두 가지로 나뉜다. 하나는 하드웨어 방식의 자동 프로그램에 대한 실험으로 실험에 사용된 게임은 뮤와 메이플스 토리 이고, 다른 하나는 소프트웨어 방식의 자동 프로그램에 대한 실험으로 실험에 사용된 게임은 아크 로드와 군주이다.
메이플스토리는 마우스를 사용하지 않고 키보드만을 이용하는 게임이기 때문에 이벤트 시퀀스 생성 시 키보드만을 이용하였다. 생성된 이벤트 시퀀스들을 이용하여 속성 벡터로 변환하였고, 훈련 집합의 전체 데이터 수량은 각 게임마다 180개이다. 실험은 10회 교차 검증(10-fold cross validation)으로 수행하여 정확도를 측정하였다.
5를 채택하였다. 이벤트 시퀀스를 분석하여 분류 모델을 생성하기 위해 WEKA에서 제공하는 결정 트리를 사용하였으며, WEKA에서 사 용한■결정트리는 J48로 C4.5를 자바로 구현한 것이다. WEKA는 Waikato 대학에서 구현한 기계학습 (machine learning) 라이브러 리로 자바로 구현한 여러 가지 기계 학습 알고리즘과 전처리 (data pre-processing), 평가도구(evaluation methods)를 제공한다.
본 실험을 수행하기 위해 현재 인터넷에서 서비스 되고 있는 MMORPG에 속하는 게임들 중에 “뮤 (Mu), 아크로드(Archlord), 군주(GoonZu), 메이플스 토리 (Maple Story)”를 이용하여 실험하였으며, 실험은 자동 프로그램의 동작 방식에 따라 크게 두 가지로 나뉜다. 하나는 하드웨어 방식의 자동 프로그램에 대한 실험으로 실험에 사용된 게임은 뮤와 메이플스 토리 이고, 다른 하나는 소프트웨어 방식의 자동 프로그램에 대한 실험으로 실험에 사용된 게임은 아크 로드와 군주이다.
데이터처리
생성된 이벤트 시퀀스들을 이용하여 속성 벡터로 변환하였고, 훈련 집합의 전체 데이터 수량은 각 게임마다 180개이다. 실험은 10회 교차 검증(10-fold cross validation)으로 수행하여 정확도를 측정하였다.
성능/효과
일반적으로 자동 프로그램은 게임 플레이어보다 많은 이벤트를 발생시키고 동일한 종류의 이벤트 사이의 평균 시간이나 표준편차 등이 게임 플레이어보다 작았다. 4개의 서로 다른 온라인게임에서 본 논문에서 제안한 방법이 자동 프로그램을 높은 정확도로 탐지할 수 있다는 것을 실험을 통해 확인하였다.
표 5은 각 게임에서 전체 속성을 이용한 분류 정확도를 나타낸 것이다. 모든 경우, 본 논문에서 제안한 자동 프로그램 분류 방법이 93% 이상의 정확도를 나타낸다. 그림 5부터 그림 8까지는 각 게임에서 C4.
표 6에 다른 기계학 습 기법들의 분류 정확도를 나타내었다. 뮤 게임과 메 이플 스토리 게임에서는 결정 트리가 높은 정확도를 나타내었고, 아크로드 게임에 대한 실험에서는 다중 퍼셉트론 기법이 가장 우수한 결과를 나타내었으며, 군주 게임에서는 k-NN(k~Nearest Neighbor)0] 가장 우수한 성능을 나타내었다. 평균 정확도는 모든 경우에 대해 비슷한 성능을 나타내었지만, 결정 트리 학습이 다른 기계학습들에 비해 자동 프로그램을 분류하는데 가장 우수한 분류 정확도를 나타내었다.
각 게임에서 정보획득량이 높은 상위 7개 속성들 의 정보획득량을 표 4에 나타내었다. 본 결과를 보면 생성된 속성들은 각 게임에서 자동 게임의 분류를 위해 매우 유용하게 활용되는 것을 알 수 있다.
결정 트리 학습은 윈도우 이벤트 시퀀스에 의해 생성된 속성들을 이용하여 자동 프로그램 분류에 적용된다. 본 논문에서 생성한 이벤트 시퀀스를 활용한 26개의 속성들을 결정 트리 학습에 적용하면 MMORPG에서 자동 프로그램을 효과적으로 분류할 수 있다.
뮤 게임과 메 이플 스토리 게임에서는 결정 트리가 높은 정확도를 나타내었고, 아크로드 게임에 대한 실험에서는 다중 퍼셉트론 기법이 가장 우수한 결과를 나타내었으며, 군주 게임에서는 k-NN(k~Nearest Neighbor)0] 가장 우수한 성능을 나타내었다. 평균 정확도는 모든 경우에 대해 비슷한 성능을 나타내었지만, 결정 트리 학습이 다른 기계학습들에 비해 자동 프로그램을 분류하는데 가장 우수한 분류 정확도를 나타내었다.
37초보다 작은 평균 시간이라면 자동. 프로그램을 97.2%의 정확도로 분류할 수 있으며, 시간의 표준편차 0.23 초보다 작다면 자동 프로그램을 95.6% 정확도로 분류할 수 있다. 뮤 게임에서 a07과 al7이 가장 잘 분류 하는 이유는 뮤에서 몬스터 사냥을 수행할 때 마우스 오른쪽 버튼을 활용하는 경우에 몬스터에게 높은 데미지를 줄 수 있는 기능이 포함되어 사냥 시 활용도가 가장 높은 버튼이기 때문이다.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.