KR20120045234A - 온라인 게임에 있어서의 악성모듈 탐지 방법, 및 컴퓨터 판독 가능한 기록 매체 - Google Patents

온라인 게임에 있어서의 악성모듈 탐지 방법, 및 컴퓨터 판독 가능한 기록 매체 Download PDF

Info

Publication number
KR20120045234A
KR20120045234A KR1020100106649A KR20100106649A KR20120045234A KR 20120045234 A KR20120045234 A KR 20120045234A KR 1020100106649 A KR1020100106649 A KR 1020100106649A KR 20100106649 A KR20100106649 A KR 20100106649A KR 20120045234 A KR20120045234 A KR 20120045234A
Authority
KR
South Korea
Prior art keywords
game
api function
module
screen
monitoring program
Prior art date
Application number
KR1020100106649A
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 KR1020100106649A priority Critical patent/KR20120045234A/ko
Publication of KR20120045234A publication Critical patent/KR20120045234A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Human Resources & Organizations (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Strategic Management (AREA)
  • Primary Health Care (AREA)
  • Virology (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 게임 화면을 캡쳐하여 분석하는 방식을 통해 비정상적으로 온라인 게임을 진행하는 악성모듈을 탐지할 수 있도록 한다. 이를 위하여 사용자 컴퓨터의 메모리에 로딩된 모듈이 임포트(Import) 하는 스크린 샷 관련 API 함수에 통보 코드를 설정하함으로써 화면 캡쳐가 얼마나 자주 발생하는지를 감시한다. 그리고 일정 기간 동안 일정 횟수 이상의 화면 캡쳐 동작이 발생하면, 스크린 샷 관련 API 함수를 통해 캡쳐된 이미지가 게임 화면 이미지인지를 조사하여, 사용자 컴퓨터에 악성모듈이 존재하는지를 판별한다.

Description

온라인 게임에 있어서의 악성모듈 탐지 방법, 및 컴퓨터 판독 가능한 기록 매체{ Method and Computer Readable Recording Medium for Detecting Malicious Module of On-Line Game }
본 발명은 온라인 게임과 관련된 악성모듈을 탐지하는 방법에 관한 것으로서, 특히 게임 화면을 캡쳐하여 분석하는 방식을 통해 비정상적으로 온라인 게임을 진행하는 악성모듈을 탐지할 수 있도록 한다.
통신망과 컴퓨터 관련 기술이 발전하면서 다양한 종류의 온라인 게임 서비스가 제공되고 있는데, 게임 내 재화의 가치가 높아지면서 비정상적인 방법으로 온라인 게임을 이용하는 사례가 늘고 있다.
게임 내 재화를 획득하기 위하여 온라인 게임을 비정상적으로 이용하는 방법은 다양하다.
예를 들자면, USB 디바이스를 이용하여 마치 사용자가 키보드나 마우스를 통해 어떤 명령을 입력하는 것처럼 위장하는 하드웨어적 처리 방법, 특정 기능을 수행하는 프로그램(악성모듈)을 메모리의 온라인 게임 프로세스에 로딩시켜 게임 함수를 호출하는 소프트웨어적 처리 방법을 들 수 있다.
전자의 경우 로봇 프로그램(불법 프로그램이나 'BOT' 등으로도 불린다)은 게임 화면을 캡쳐하여 분석하고, USB 디바이스를 이용하여 마치 사용자가 키보드나 마우스를 통해 어떤 명령을 입력하는 것처럼 위장하여 캐릭터를 조작하는 방식으로 게임을 진행시킨다.
이와 같이 악성모듈에 의해 게임이 진행되면, 정상적으로 게임을 이용하는 사용자들이 게임 내에서 좋은 게임 아이템을 얻을 기회가 부당하게 박탈되고, 게임 진행을 방해 받으며, 게임 서버에 과도한 부하가 걸리는 등 여러 가지 문제점이 발생하게 된다. 또한, 게임에 대한 흥미를 감소시켜 사용자들이 게임의 이용을 피하게 하고 민원을 발생시키는 주요 요인이 될 수 있다.
이에 본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 게임 화면을 캡쳐하여 분석하는 방식을 통해 비정상적으로 온라인 게임을 진행하는 악성모듈을 효율적으로 탐지할 수 있도록 하는데 그 목적이 있다.
상기와 같은 목적을 달성하기 위하여, 본 발명에 따른 온라인 게임에 있어서의 악성모듈 탐지 방법은, 사용자 컴퓨터에서 실행되는 감시용 프로그램이 메모리를 스캔하여 스크린 샷 관련 API 함수를 임포트(Import) 하고 있는 모듈이 있는지를 조사하는 단계; 상기 조사 결과에 따라 해당 스크린 샷 관련 API 함수에 통보 코드를 설정하는 단계; 및 상기 통보 코드를 통해 일정 기간 동안 일정 횟수 이상의 통보가 있으면, 스크린 샷 관련 API 함수를 통해 캡쳐된 이미지가 게임 화면 이미지인지를 조사하는 단계를 포함하여 이루어진다.
상기 통보 코드란 해당 스크린 샷 관련 API 함수가 호출되는 경우 상기 감시용 프로그램으로 이를 알릴 수 있는 코드이다.
상기 감시용 프로그램은 스크린 샷 관련 API 함수를 통해 캡쳐된 이미지가 게임 화면 이미지인 경우에는 해당 스크린 샷 관련 API 함수를 호출한 모듈을 악성모듈로 판별하고, 게임 화면 이미지가 아닌 경우에는 해당 스크린 샷 관련 API 함수를 호출한 모듈을 의심스러운 모듈로 판별할 수 있다.
상기 통보 코드는 해당 스크린 샷 관련 API 함수의 함수인자(Argument)를 상기 감시용 프로그램으로 전달할 수 있다. 이 경우 상기 감시용 프로그램은 상기 통보 코드로부터 받은 함수인자를 이용하여 해당 스크린 샷 관련 API 함수를 통해 캡쳐된 이미지를 얻을 수 있다.
상기 감시용 프로그램은 게임 화면 이미지 중 변동하지 않는 복수의 픽셀 정보와 스크린 샷 관련 API 함수를 통해 캡쳐된 이미지의 해당 픽셀 정보를 비교하여 상기 캡쳐된 이미지가 게임 화면 이미지인지의 여부를 확인할 수 있다.
상기 감시용 프로그램의 조사 대상이 되는 스크린 샷 관련 API 함수는 마이크로소프트사의 윈도우즈 운영체제(OS)가 제공하는 다음과 같은 API 함수를 포함할 수 있다.
'GDI32!CreateCompatibleBitmap',
'GDI32!BitBlt',
'GDI32!GetBitmapBits',
'Win32k!NtGdiBitBlt',
'Win32k!NtGdiCreateCompatibleBitmap',
'Win32k!NtGdiGetBitmapBits'
상기 감시용 프로그램은 악성모듈 또는 의심스러운 모듈에 관한 정보를 통신망을 통해 특정 서버로 전송할 수 있다.
상기 감시용 프로그램이 특정 서버로 전송하는 정보는 악성모듈 또는 의심스러운 모듈의 파일명, 파일 크기, 해쉬(Hash) 값 등을 포함할 수 있다.
본 발명은 사용자 컴퓨터에서 화면 이미지를 캡쳐하는 동작이 얼마나 자주 발생하는지를 감시한다. 화면을 캡쳐하는 동작은 정상적인 상황에서도 얼마든지 발생할 수 있지만, 그 빈도가 비정상적인 상황이라고 의심할만큼 높다면 화면을 캡쳐하는 프로그램 모듈은 의심의 대상이 될 수 있다.
또한 비정상적인 빈도로 캡쳐되는 화면 이미지가 게임 화면과 일치한다면, 로봇 프로그램에 의해 온라인 게임이 진행되고 있다고 판단할 수 있다.
이에 따라 게임 화면을 캡쳐하여 분석하는 방식을 통해 온라인 게임을 비정상적으로 진행하는 악성모듈을 정확하게 판별할 수 있다.
도 1은 온라인 게임을 서비스하는 시스템의 개요,
도 2는 사용자 컴퓨터의 구체적인 예,
도 3은 화면을 캡쳐하여 분석하는 방식으로 온라인 게임을 비정상적으로 진행하는 방법을 설명하는 예,
도 4는 본 발명에 따라 악성모듈을 탐지하는 방법의 일 실시예,
도 5는 통보 코드를 통해 스크린 샷 관련 API 함수가 호출되는 상황을 파악하는 과정의 개요,
도 6은 게임 화면의 변동하지 않는 픽셀을 설명하는 예,
도 7은 감시용 프로그램이 캡쳐된 이미지와 게임 화면의 비교를 통해 악성모듈 또는 의심스러운 모듈을 판별하는 예이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다.
도 1을 참조하자면, 온라인 게임 서비스는 유선 인터넷망이나 무선 인터넷망 등 각종 통신망(15)을 통해 제공되며, 각 사용자 컴퓨터(10)에 설치되는 게임 클라이언트(11)는 통신망(15)을 통해 게임 서버(17)와 서로 통신하면서 온라인 게임을 진행한다.
온라인 게임의 종류는 다양할 수 있으며, 구체적인 예로는 여러 사용자가 동시 다발적으로 참여할 수 있는 MMORPG(Massively Multi-player Online Role Playing Game) 유형의 게임을 들 수 있다.
각 사용자가 온라인 게임을 이용하기 위해 사용하는 사용자 컴퓨터(10)는 데스크 탑 컴퓨터나 노트북 컴퓨터와 같은 개인용 컴퓨터(PC: Personal Computer)뿐 아니라 휴대폰이나 스마트폰 등 통신망을 통해 온라인 게임 서비스를 이용할 수 있는 성능을 갖는 임의의 기기일 수 있다.
사용자 컴퓨터(10)에는 사용자가 온라인 게임을 이용할 수 있도록 해주는 게임 클라이언트(11)가 설치된다.
게임 클라이언트(11)는 통신망(15)을 통해 다운로드되어 설치될 수 있고 최신 버젼으로 유지되며, 게임 관련 공지사항의 디스플레이, 게임 화면 처리, 사운드 효과 처리, 게임을 위한 각종 사용자 인터페이스의 제공 등 사용자측에서 수행되어야 할 다양한 역할을 담당한다.
게임 클라이언트(10)는 기본적으로 게임 서버(17)와 통신하면서 온라인 게임을 진행시키는 역할을 수행하며, 게임 클라이언트(11)와 게임 서버(17)의 역할 분담은 필요에 따라 다양하게 구성될 수 있다.
특히, 게임 클라이언트(11)는 본 발명에 따라 악성모듈을 탐지하는 감시용 프로그램을 포함할 수 있다.
도 2는 사용자 컴퓨터(10)의 구체적인 예를 보인 것이다.
각 요소들은 다양한 구조의 시스템 버스(10-1)를 통해 서로 연결되고, 중앙처리장치(CPU: Central Processing Unit,10-2)의 총괄적인 제어하에 서로 데이터를 주고 받으면서 그 역할을 수행한다.
메모리(10-3)는 램(RAM: Random Access Memory)으로서, 중앙처리장치(10-2)가 즉시 액세스할 컴퓨터 프로그램이나 데이터를 저장한다.
입력장치 인터페이스(10-4)는 입력장치(10-5)와 연결되어 사용자가 사용자 컴퓨터(10)로 각종 명령이나 정보를 입력할 수 있도록 한다.
사용자 컴퓨터(10)는 입력장치 인터페이스(10-4)를 통해 키보드, 마우스, 키패드, 터치 스크린 등 다양한 종류의 입력장치(10-5)와 연결될 수 있다.
특히, 입력장치 인터페이스(10-4)는 본 발명과 관련하여 USB(Universal Serial Bus) 포트를 구비할 수 있는데, USB 포트에는 각종 키 신호를 발생시키는 USB 디바이스가 연결될 수 있다.
디스플레이 어댑터(10-6)는 다양한 디스플레이 장치(10-7)를 통해 출력할 비디오 정보를 처리하며, 사운드 카드(10-8)는 오디오 정보를 처리하여 스피커(10-9)를 통해 출력한다.
네트워크 인터페이스(10-11)는 사용자 컴퓨터(10)가 유선 인터넷망이나 무선 인터넷망 등 각종 통신망(15)과 연결되어 통신할 수 있도록 한다.
저장매체(10-10)는 비휘발성의 성질을 가지며, 사용자 컴퓨터(10)에 의해 액세스될 수 있는 내장형, 외장형, 분리형, 비분리형의 다양한 형태를 가질 수 있다.
저장매체(10-10)에는 마이크로 소프트사의 윈도우즈(Windows)와 같은 운영체제(OS: Operating System,14), 게임 클라이언트(11) 등의 각종 컴퓨터 프로그램이나 데이터가 저장된다.
또한, 저장매체(10-10)에는 프로그래밍된 내용에 따라 마치 자신이 사용자인 것처럼 위장하여 온라인 게임을 비정상적으로 진행하는 로봇 프로그램(12)이 설치될 수 있다.
사용자가 게임 클라이언트(11)를 실행시키면, 게임 클라이언트(11)가 메모리(10-3)에 로딩되어 온라인 게임 프로세스가 생성되고, 중앙처리장치(10-2)는 해당 코드를 순차적으로 처리한다. 또한, 온라인 게임을 비정상적으로 이용하는 경우에는 로봇 프로그램(12)도 실행된다.
도 3을 참조하여, 게임 화면을 캡쳐하여 분석하는 방식을 통해 온라인 게임을 비정상적으로 진행하는 과정을 살펴보기로 한다.
먼저 로봇 프로그램(12)은 온라인 게임 프로세스(31)에 악성모듈(12-1)을 주입(Injection) 시키는데, 온라인 게임 프로세스(31)에 주입되는 악성모듈(12-1)은 일반적으로 DLL(Dynamic Link Library)로 만들어진다.
온라인 게임 프로세스(31)에 주입된 악성모듈(12-1)은 게임 화면을 반복적으로 캡쳐하고, 로봇 프로그램(12)은 캡쳐된 게임 화면을 분석하여 게임 내 캐릭터를 어떻게 조작할 것인지를 결정하고 USB 디바이스(33)로 알려준다.
그러면 USB 디바이스(33)는 마치 사용자가 직접 키보드나 마우스를 조작하는 것처럼 각종 키 신호를 발생시켜 온라인 게임 프로세스(31)로 전달하고, 온라인 게임 프로세스(31)는 USB 디바이스(33)로부터 입력되는 키 신호에 따라 계속 게임을 진행하게 된다.
이러한 방법으로 온라인 게임을 진행하기 위하여 악성모듈(12-1)은 반복적으로 게임 화면을 캡쳐하며, 이 과정에서 운영체제(OS,14)가 제공하는 스크린 샷 관련 API(Application Program Interface) 함수를 이용한다.
본 발명은 사용자 컴퓨터에서 게임 화면을 캡쳐하는 동작이 이루어지는 상황을 감시하여 악성모듈의 존재 여부를 판별한다.
본 발명에 따라 악성모듈을 탐지하는 역할은 감시용 프로그램(11-1)이 수행하는데, 감시용 프로그램(11-1)은 독자적인 프로그램으로 구성되어 실행될 수도 있고, 게임 클라이언트(11)의 모듈로서 구성되어 게임 클라이언트(11)의 실행시 함께 실행될 수도 있다.
도 4를 참조하여, 본 발명에 따른 온라인 게임에 있어서의 악성모듈 탐지 방법에 관한 실시예를 설명하기로 한다.
먼저 감시용 프로그램(11-1)은 사용자 컴퓨터의 메모리(10-3)에 로딩된 프로세스(Process)와 DLL 등을 스캔하여, 스크린 샷 관련 API 함수를 임포트(Import)하고 있는지를 조사한다(S211).
단계 S211은 게임 클라이언트(11)가 실행된 시점에 수행할 수도 있고, 필요에 따라 주기적으로 수행될 수도 있다.
감시용 프로그램(11-1)의 조사 대상이 되는 스크린 샷 관련 API 함수는 화면을 캡쳐하기 위하여 사용될 수 있는 함수이다. 구체적인 예로서 마이크로소프트사의 윈도우즈 운영체제(OS)가 스크린 샷 기능과 관련하여 제공하는 API 함수로서 다음과 같은 것들을 포함할 수 있다.
(1) 'GDI32!CreateCompatibleBitmap',
(2) 'GDI32!BitBlt',
(3) 'GDI32!GetBitmapBits',
(4) 'Win32k!NtGdiBitBlt',
(5) 'Win32k!NtGdiCreateCompatibleBitmap',
(6)'Win32k!NtGdiGetBitmapBits'
여기서 (1) 내지 (3)은 유저 레벨의 API 함수이고, (4) 내지 (5)는 커널(Kernel) 레벨의 API 함수이다.
단계 S211에서의 조사 결과, 스크린 샷 관련 API 함수를 임포트하는 모듈이 존재하면, 해당 스크린 샷 관련 API 함수에 통보 코드를 설정한다(S212).
여기서 통보 코드란 해당 스크린 샷 관련 API 함수가 호출되는 경우 감시용 프로그램(11-1)으로 이와 관련한 정보를 알려주는 프로그램 코드를 말한다.
도 5를 참조하자면, 악성모듈(12-1)이 게임 화면을 캡쳐하기 위하여 스크린 샷 관련 API 함수(35)를 호출하면, 해당 스크린 샷 관련 API 함수에 설정되어 있는 통보코드(35-1)가 이를 감시용 프로그램(11-1)에게 알려주게 된다.
감시용 프로그램(11-1)이 통보 코드(35-1)를 통해 받을 정보는 필요에 따라 다양하게 설정될 수 있으며, 구체적인 예로는 해당 스크린 샷 관련 API 함수(35-1)가 호출된 사실을 알려 주는 정보, 함수인자(Argument) 등을 들 수 있다.
한편, 감시용 프로그램(11-1)은 통보 코드를 통해 일정 기간 동안 일정 횟수(예 10분에 3회) 이상의 통보가 있는 경우에는 스크린 샷 관련 API 함수(35)를 통해 캡쳐된 이미지가 게임 화면 이미지인지의 여부를 조사한다(S213).
이때 감시용 프로그램(11-1)은 함수인자(Argument)를 이용하여 해당 스크린 샷 관련 API 함수(35)를 통해 캡쳐된 이미지를 얻을 수 있다.
단계 S213에서 스크린 샷 관련 API 함수(35)를 통해 캡쳐된 이미지가 게임 화면과 일치하는지의 여부를 조사하는 방법은 다양하게 구성될 수 있다.
구체적인 예로서, 감시용 프로그램(11-1)은 게임 화면 이미지 중 변동하지 않는 하나 이상의 픽셀(pixel) 정보를 스크린 샷 관련 API 함수(35)를 통해 캡쳐된 이미지의 해당 픽셀 정보와 비교하여, 캡쳐된 이미지가 게임 화면 이미지인지의 여부를 확인할 수 있다.
도 6은 게임 화면(60)의 예를 도시한 것으로서, 게임 화면은 게임 진행에 따라 계속 변동하지만, 원으로 표시한 게임 화면(60)의 일정 부분은 게임의 진행과 관계없이 항상 고정적으로 유지된다.
이러한 부분 중 하나 이상의 픽셀을 스크린 샷 관련 API 함수(35)를 통해 캡쳐된 이미지의 해당 위치 픽셀과 비교하여 모두 일치하면 게임 화면으로 판단하고, 그렇지 않으면 게임 화면이 아닌 것으로 판단할 수 있다.
비교 대상 픽셀 수가 많을 수록 정확한 판단이 가능하며, 픽셀의 수는 필요에 따라 적절하게 설정할 수 있다.
도 6에는 7개의 픽셀이 설정된 예가 나타나 있으며, 스크린 샷 관련 API 함수(35)를 통해 캡쳐된 이미지의 동일 위치 픽셀값이 이와 일치하면 게임 화면 이미지인 것으로 판단된다.
즉, 감시용 프로그램(11-1)이 이미지의 비교를 위해 유지할 정보는 해상도별 각 픽셀의 좌표값과 해당 좌표에서의 픽셀 값(RGB 값)이 된다.
한편, 감시용 프로그램(11-1)은 단계 213에서의 조사 결과에 따라 사용자 컴퓨터의 상황을 판별할 수 있다.
도 7을 참조하자면, 감시용 프로그램(11-1)은 스크린 샷 관련 API 함수를 통해 캡쳐된 이미지가 게임 화면 이미지와 일치하면(S214-1), 사용자 컴퓨터에 악성모듈이 존재하는 것으로 판단하거나, 해당 스크린 샷 관련 API 함수를 호출한 모듈을 악성모듈로 판별한다(S214-2).
그러나 스크린 샷 관련 API 함수를 통해 캡쳐된 이미지가 게임 화면 이미지와 일치하지 않으면(S214-1), 사용자 컴퓨터에 의심스러운 모듈이 존재하는 것으로 판단하거나, 해당 스크린 샷 관련 API 함수를 호출한 모듈을 의심스러운 모듈로 판단할 수 있다(S214-3).
즉, 사용자 컴퓨터에서 화면을 캡쳐하는 동작은 정상적인 상황에서도 얼마든지 이루어질 수 있다.
예컨대 온라인 게임을 이용하는 사용자가 자신의 필요에 따라 게임 화면을 캡쳐할 수도 있고, 온라인 게임과 관련없이도 사용자는 자신의 필요에 따라 얼마든지 화면을 캡쳐할 수 있다.
그러나 화면 캡쳐가 이루어지는 빈도가 비정상적인 상황이라고 의심할만큼 높다면 화면을 캡쳐하는 프로그램 모듈은 일단 의심의 대상이 될 수 있다.
특히, 캡쳐되는 화면이 게임 화면이라면 온라인 게임과 관련한 악성모듈로 판단할 수 있는 합리적인 근거가 된다.
또한, 감시용 프로그램(11-1)은 악성모듈 또는 의심스러운 것으로 판단된 모듈에 관한 정보를 통신망(15)을 통해 특정 서버로 전송할 수 있다.
여기서 특정 서버는 게임 서버(17)일 수도 있고, 악성모듈 감시 기능을 수행하는 별도의 서버(도시되지 않음)일 수도 있다.
그러면, 해당 서버는 비정상적으로 온라인 게임을 이용하는 사용자에 대한 적절한 조치를 취할 수 있다.
예를 들자면, 악성모듈이나 의심스러운 모듈이 존재하는 것으로 판단된 사용자 컴퓨터를 통해 접속한 유저의 아이디(ID), 유저 캐릭터 식별정보, 해당 사용자 컴퓨터의 IP 주소, 게임 이용 일시 등의 정보를 로그 정보로서 저장할 수 있다.
이러한 로그 정보는 이후 해당 사용자에 대한 게임 이용 금지나 경고 등의 제재를 가하는데 있어 기초 자료로 사용될 수 있다.
감시용 프로그램(11-1)이 특정 서버로 전송할 정보는 필요에 따라 다양할 수 있다. 예컨대 악성모듈로 판단되거나 또는 의심스러운 것으로 판단된 모듈의 파일명, 파일 크기, 해쉬(Hash) 값, 해당 모듈이 로딩된 메모리 블럭의 내용 등을 전송할 수 있다.
위에서 설명한 각 실시예의 악성모듈 탐지 방법은 컴퓨터 판독 가능한 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있다.
상기 컴퓨터 판독 가능한 기록 매체는 컴퓨터에 의해 읽혀질 수 있는 정보가 저장되는 모든 종류의 기록장치를 포함한다.
예를 들자면, ROM(Read Only Memory), RAM, CD-ROM, 자기 테이프, 플로피 디스크, 하드 디스크 드라이브(HDD), 광 데이터 저장 장치, USB(Universal Serial Bus) 메모리, 메모리 카드 등을 포함할 수 있다. 뿐만 아니라 통신망을 통해 전송되는 형태로 구현되는 것도 포함한다.
상술한 실시예는 본 발명의 이해를 돕기 위한 것이며, 본 발명은 상술한 실시예에 한정되지 않고 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 당업자에 의해 다양하게 변형하여 실시할 수 있는 것임은 물론이다.
10: 사용자 컴퓨터 11: 게임 클라이언트
11-1: 감시용 프로그램 12: 로봇 프로그램
12-1: 악성모듈 15: 통신망
17: 게임 서버 10-2: 중앙처리장치(CPU)
10-3: 메모리 31: 온라인 게임 프로세스
33: USB 디바이스 35: 스크린 샷 관련 API 함수
35-1: 통보 코드

Claims (8)

  1. 사용자 컴퓨터에서 실행되는 감시용 프로그램이 게임 화면을 캡쳐(Capture)하여 분석하는 방식을 통해 온라인 게임을 비정상적으로 진행하는 악성모듈을 탐지하는 방법으로서,
    상기 사용자 컴퓨터의 메모리를 스캔하여 스크린 샷 관련 API 함수를 임포트(Import) 하고 있는 모듈이 있는지를 조사하는 단계;
    상기 조사 결과에 따라 해당 스크린 샷 관련 API 함수에 통보 코드를 설정하는 단계 -상기 통보 코드는 해당 스크린 샷 관련 API 함수가 호출되는 경우 상기 감시용 프로그램으로 이를 알릴 수 있는 코드임-; 및
    상기 통보 코드를 통해 일정 기간 동안 일정 횟수 이상의 통보가 있으면, 스크린 샷 관련 API 함수를 통해 캡쳐된 이미지가 게임 화면 이미지인지를 조사하는 단계를 포함하는 온라인 게임에 있어서의 악성모듈 탐지 방법.
  2. 제 1 항에 있어서,
    상기 감시용 프로그램은 스크린 샷 관련 API 함수를 통해 캡쳐된 이미지가 게임 화면 이미지인 경우에는 해당 스크린 샷 관련 API 함수를 호출한 모듈을 악성모듈로 판별하고, 게임 화면 이미지가 아닌 경우에는 해당 스크린 샷 관련 API 함수를 호출한 모듈을 의심스러운 모듈로 판별하는 것을 특징으로 하는 온라인 게임에 있어서의 악성모듈 탐지 방법.
  3. 제 1 항에 있어서,
    상기 통보 코드는 해당 스크린 샷 관련 API 함수의 함수인자(Argument)를 상기 감시용 프로그램으로 전달하고,
    상기 감시용 프로그램은 상기 통보 코드로부터 받은 함수인자를 이용하여 해당 스크린 샷 관련 API 함수를 통해 캡쳐된 이미지를 얻는 것을 특징으로 하는 온라인 게임에 있어서의 악성모듈 탐지 방법.
  4. 제 1 항에 있어서,
    상기 감시용 프로그램은 게임 화면 이미지 중 변동하지 않는 복수의 픽셀 정보와 스크린 샷 관련 API 함수를 통해 캡쳐된 이미지의 해당 픽셀 정보를 비교하여 상기 캡쳐된 이미지가 게임 화면 이미지인지의 여부를 확인하는 것을 특징으로 하는 온라인 게임에 있어서의 악성모듈 탐지 방법.
  5. 제 1 항에 있어서,
    상기 감시용 프로그램의 조사 대상이 되는 스크린 샷 관련 API 함수는 마이크로소프트사의 윈도우즈 운영체제(OS)가 제공하는 API 함수로서,
    'GDI32!CreateCompatibleBitmap',
    'GDI32!BitBlt',
    'GDI32!GetBitmapBits',
    'Win32k!NtGdiBitBlt',
    'Win32k!NtGdiCreateCompatibleBitmap',
    'Win32k!NtGdiGetBitmapBits' 중 하나 이상을 포함하는 것을 특징으로 하는 온라인 게임에 있어서의 악성모듈 탐지 방법.
  6. 제 2 항에 있어서,
    상기 감시용 프로그램은 악성모듈 또는 의심스러운 모듈에 관한 정보를 통신망을 통해 특정 서버로 전송하는 것을 특징으로 하는 온라인 게임에 있어서의 악성모듈 탐지 방법.
  7. 제 6 항에 있어서,
    상기 감시용 프로그램이 전송하는 정보는 악성모듈 또는 의심스러운 모듈의 파일명, 파일 크기, 해쉬(Hash) 값 중 하나 이상을 포함하는 것을 특징으로 하는 온라인 게임에 있어서의 악성모듈 탐지 방법.
  8. 온라인 게임이 실행되는 사용자 컴퓨터에서,
    상기 사용자 컴퓨터의 메모리를 스캔하여 스크린 샷 관련 API 함수를 임포트(Import) 하고 있는 모듈이 있는지를 조사하는 단계;
    상기 조사 결과에 따라 해당 스크린 샷 관련 API 함수에 통보 코드를 설정하는 단계 -상기 통보 코드는 해당 스크린 샷 관련 API 함수가 호출되는 경우 이와 관련된 정보를 통보받기 위한 코드임-; 및
    상기 통보 코드를 통해 일정 기간 동안 일정 횟수 이상의 통보가 있으면, 스크린 샷 관련 API 함수를 통해 캡쳐된 이미지가 게임 화면 이미지인지를 조사하는 단계를 순차적으로 실행할 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020100106649A 2010-10-29 2010-10-29 온라인 게임에 있어서의 악성모듈 탐지 방법, 및 컴퓨터 판독 가능한 기록 매체 KR20120045234A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100106649A KR20120045234A (ko) 2010-10-29 2010-10-29 온라인 게임에 있어서의 악성모듈 탐지 방법, 및 컴퓨터 판독 가능한 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100106649A KR20120045234A (ko) 2010-10-29 2010-10-29 온라인 게임에 있어서의 악성모듈 탐지 방법, 및 컴퓨터 판독 가능한 기록 매체

Publications (1)

Publication Number Publication Date
KR20120045234A true KR20120045234A (ko) 2012-05-09

Family

ID=46264736

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100106649A KR20120045234A (ko) 2010-10-29 2010-10-29 온라인 게임에 있어서의 악성모듈 탐지 방법, 및 컴퓨터 판독 가능한 기록 매체

Country Status (1)

Country Link
KR (1) KR20120045234A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107770529A (zh) * 2017-11-07 2018-03-06 万兴科技股份有限公司 一种录屏方法以及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107770529A (zh) * 2017-11-07 2018-03-06 万兴科技股份有限公司 一种录屏方法以及装置

Similar Documents

Publication Publication Date Title
US11654365B2 (en) Secure anti-cheat system
US20100138775A1 (en) Method, device and system, for extracting dynamic content from a running computer application
JP2015511047A (ja) マルウェアを検出するコンピューティングデバイス
US20090143144A1 (en) Add-in card based cheat detection platform for online applications
US8561178B2 (en) Chipset based cheat detection platform for online applications
US20180054461A1 (en) Allowing access to false data
CN110888781B (zh) 一种应用卡顿检测方法及检测装置
CN111298434B (zh) 业务处理方法、装置、设备及存储介质
KR101237161B1 (ko) 온라인 게임의 비공개 봇 검출방법
Genkin et al. Lend Me Your Ear: Passive Remote Physical Side Channels on {PCs}
CN114042310A (zh) 游戏操作数据收集方法、装置、计算机设备及存储介质
KR20120045234A (ko) 온라인 게임에 있어서의 악성모듈 탐지 방법, 및 컴퓨터 판독 가능한 기록 매체
KR101741026B1 (ko) 온라인 게임에 있어서의 악성모듈 탐지 방법, 및 컴퓨터 판독 가능한 기록 매체
KR20220002249A (ko) 이스포츠에서 사기 행위 방지를 위한 시스템 및 방법
CN115828256A (zh) 一种越权与未授权逻辑漏洞检测方法
CN111921204B (zh) 云应用程序的控制方法、装置、设备及存储介质
CN108875363B (zh) 一种加速虚拟执行的方法、装置、电子设备及存储介质
KR101699693B1 (ko) 온라인 게임에서 비정상적인 함수 호출을 탐지하는 방법 및 프로그램
CN115335127B (zh) 用于反作弊检测的系统和方法
KR101155255B1 (ko) 온라인 게임 서비스에 있어서의 불량 유저 검출 시스템 및 그 방법
KR20120039108A (ko) 온라인 게임 시스템의 불량 유저 모니터링 방법 및 온라인 게임 시스템을 위한 불량 유저 모니터링 시스템
KR20110048936A (ko) 로봇 프로그램에 의한 게임 플레이 검출 방법
KR20120094671A (ko) 온라인 게임 서비스에 있어서의 불량 유저 검출 시스템 및 그 방법
US20230377284A1 (en) System and method of controlling system
KR100906850B1 (ko) 사용자 컴퓨터와 서버 사이의 통신에 있어서 상기 사용자 프로그램의 정상작동을 확인하기 위한 방법

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination