본문 바로가기

Security Indicator/Insight

중-Online game의 Vista 효과와 보안이슈

 
- 이번 단락에서는 게임내의 Abusing 유형과 악성코드로 인한 피해를 간략하게 살펴보는 장입니다.
 

 

 

 

2.3.                        게임내의 Abusing유형

 

직접적인 해킹 이외에도 온라인 게임에 영향을 미칠 수 있는 보안적인 이슈로는 Abusing을 예로 들 수 있으며 각 Abusing유형은 특정 온라인 게임에 한정되어 발전이 되는 경향을 보이고 있다. 즉 특정 온라인 게임에만 특화된 Abusing 솔루션들을 통해 선의의 게임 사용자에게 영향을 미칠 수 있고 피해를 입힘으로써 사용자의 접근성을 떨어뜨리게 되고 정상적인 게임 사용자가 피해를 입음으로써 사용자의 이탈까지도 유발하게 되는 중요한 이슈가 된다.

게임 내에서 이루어지는 Abusing 영역은 다음과 같이 세분화 하여 나열 할 수 있다.

기술적인 부분과 작동 방식에 따른 분류이다. 가장 기본적인 부분은 온라인 게임의 실행 클라이언트 프로그램에 대한 Binary 분석과 실행구조의 분석을 통해서 이루어 지며 간단한 기술부터 전문적인 기술 영역까지 혼재하고 있다.

 

Memory Hack : 온라인 게임 클라이언트 프로그램에서 사용하는 메모리 주소를 조작함으로써 게임의 아이템 비율을 조작하거나 승부를 조작할 수 있는 유형

Macro: 사용자의 입력 없이 자동으로 게임을 진행 하도록 하는 유형

Speed Hack: 클라이언트 PC의 속도를 조작하여 게임의 속도를 조작하는 유형

Debugging: 게임의 로직을 분석하고 게임 클라이언트 내의 숨겨진 정보를 분석하여 활용 하는 유형

Packet Hack: 게임 클라이언트와 서버간에 주고 받는 패킷을 조작하여 게임을 컨트롤 하는 유형

Client Manipulation: 게임 클라이언트 프로그램의 변경 및 조작을 통한 컨트롤을 하는 유형

 

1. Abusing 방식과 대응

Abusing 유형

방식

대응

Memory Hack

Memory를 외부 프로세스에서 접근하여 조작함, 커널레벨에서는 타 프로세스 접근 가능한 점을 이용하여 조작

Memory Hack 관련 process의 접근 차단 , Memory I/O 관련 함수 Hooking 차단

Macro

키보드 및 마우스 이벤트를 프로그램적으로 발생 시키고 발생된 이벤트에 의해 게임이 반응

Port IO 모니터링 , Filter Driver 사용 , System Function call 차단 방식을 활용

Speed Hack

PIT (Programmable Interval Timer)변조 , Time 관련 함수의 Hooking

Time 관련 함수 Hooking 차단 , CPUClock을 검사하여 변조 감시

Debugging

OllyDbg SoftIce와 같은 Debugging 도구를 이용하여 조작

게임 실행 process hiding , 실행파일 변조여부 확인 , 실행파일 protect를 통한 차단

Packet Hack

Socket 관련 함수 Hooking , TDI , NDIS 등의 packet filter 활용

악의적인 process 접근 차단 , API Hooking 차단

Client Manipulation

Client에 다운된 게임 관련 파일의 직접조작 , 파일 관련 함수를 Hooking하여 조작

게임 실행 파일의 Checksum 검사 , 중요 기능에 대한 검토 이후 실행 루틴 적용등

 

Abusing 유형에 대해 대응 하는 방식은 표 1. Abusing 방식과 대응에서 기술된 것과 같은 유형으로 대응을 진행하고 있다. 그러나 표 1과 같은 다양한 Abusing 유형에 대해 대응 하기 위해 게임 클라이언트 프로그램 차원에서 protect를 하는 것은 매우 어려운 일이며 게임을 위한 게임 프로그램보다 차단을 하기 위한 프로그램적인 기능이 더욱 구현하기 어렵고 큰 영역을 지니고 있다. 따라서 일반적으로 다양한 Abusing 위험을 제거 하고 게임 클라이언트를 보호하기 위해 게임보안툴을 적용하는 것이 일반적이다. 게임보안툴의 적용은 게임 실행 초기에 실행이 되고 정상 상태를 확인 한 이후 게임실행 중의 Abusing 행위를 방어하는 역할을 수행한다.

 

 

그림 4 packet 조작을 위한 send 함수

 

그림 5. packet 조작을 위한 send 함수 변경

 

그림 4 packet 조작을 위한 send 함수, 그림 5. packet 조작을 위한 send 함수 변경에서는 packet hack을 위해 packet 전송을 하는 루틴을 debugger로 확인을 한 내용이다. 그림 4 packet 조작을 위한 send 함수에서 선택된 send 함수가 그림 5. packet 조작을 위한 send 함수 변경에서 packet을 가로채어 전송하는 packet manipulation 도구의 send 함수로 바뀌어 진 것을 볼 수 있다. 위와 같은 Packet Hack의 기능은 게임 실행 프로세스에 packet 전송을 가로채는 도구를 간단하게 Attach만 시키면 되는 조작 기법이다.

 

게임보안툴의 사용을 통해서 표 1. Abusing 방식과 대응에 기술된 다양한 영역의 Abusing을 방어하여 게임을 보호하고 있으나 공격 기술의 발전이 빨라 대응에 어려운 점이 있다. 게임보안툴의 사용 이외에도 게임의 구조를 서버 단위의 실행 구조로 변경 함으로써 대응을 하고 있으나 전체의 기능을 변경 할 수 없는 게임의 특성상 발전하는 Abusing에 대해 모니터링을 통한 감시와 게임보안툴과 게임 실행 구조의 변경을 통한 안정성 확보만이 주된 방안이라 할 수 있다.

 

1. Abusing 방식과 대응 의 대응 방식에서 보듯이 게임클라이언트는 사용자가 클라이언트 프로그램을 사용자의 PC에 다운로드 받고 설치 한 이후에 실행을 하는 구조이다. 따라서 사용자 시스템의 주요 기능들을 이용할 수 밖에 없다. Abusing 유형에서도 보듯이 시스템의 기능들을 이용하여 실제 클라이언트의 기능이나 효과를 변경 함으로써 게임에 영향을 미치는 것을 볼 수 있다. 게임보안툴의 사용은 사용자의 시스템에 일정부분에 대해 제한을 가하는 구조이며 시스템의 하위 권한까지도 충분히 부여가 되어야만 한다. Vista와의 충돌은 시스템 권한의 부여에서 시작된다.

 

2.4.                        악성코드를 이용한 사용자 정보 도용 위험

 

2005년 이후 온라인 게임업체 및 IT 관련 서비스 업체에 영향을 미치는 중요요소로서 사용자 정보를 유출 하기 위한 악성코드의 설치를 들 수 있다. 현재까지도 줄어들지 않고 있는 상황이며 향후에도 지속될 것으로 예상이 된다.

주된 악성코드의 유형은 사용자의 계정정보를 유출하기 위한 Key logging 기능이 일반적이며 사용자의 ID Password를 공격자가 지정된 장소로 전달 되도록 하는 유형이 가장 큰 피해를 입히고 있다.

Key logging 을 시도하는 악성코드를 유포하기 위해 국내 대규모 사이트를 해킹하여 다수의 사용자에게 유포하도록 함으로써 피해를 입힌 경우가 다수 존재 하였다. 사이트를 해킹한 이후 사용자 정보를 유출하는 악성코드를 해당 사이트에 접근 하는 사용자에게 Windows 취약성을 이용하여 자동 실행 되도록 하였으며 사용자의 ID/ Password를 유출하도록 동작 되었다. 그림 6. 악성코드 제거 결과 Hangame 전용백신은 한게임에서 제공하는 온라인 게임백신에서 탐지된 한게임 관련된 악성코드 제거 결과로서 한게임 사용자를 대상으로 한 악성코드를 제거한 결과이다.

그림 6. 악성코드 제거 결과 Hangame 전용백신

 

그림 6. 악성코드 제거 결과 Hangame 전용백신의 결과는 2006 9월에서 10월까지의 한달 가량의 탐지 결과로서 특정 기간에 탐지 횟수가 급증하는 것을 확인 할 수 있다. 결과가 급증된 구간은 대규모 사이트를 통해 악성코드가 사용자에게 유포된 이후 악성코드에 대한 분석이 완료 된 이후  한게임 전용백신을 통해 온라인 상에서 사용자의 PC의 악성코드를 탐지 및 제거한 내용이다.  최초 악성코드 발견 이후 평균 이틀 정도의 시간 간격으로 악성코드를 제거 하도록 업데이트를 하였는데 탐지 결과가 대폭 증가하는 것을 확인 할 수 있다. 그림 6과 같은 증가 유형은 전용백신 서비스를 시작한 2006 1월 이래 줄곧 반복되어온 유형이며 대규모 사이트가 해킹 되어 악성코드가 유포될수록 매우 많은 탐지 및 제거 결과가 나오는 것을 확인 할 수 있다.

 

현재에도 온라인 게임에 직접적인 위협이 되는 사용자 계정 유출 악성코드는 변형이 계속 나오고 있으며 기법적으로도 다양하고 수준 높은 공격유형들이 출현하고 있어서 대응이 어려운 면이 존재한다. 사용자의 PC에 설치된 백신의 경우 탐지 및 업데이트까지 걸리는 주기가 길어 실제적인 효과를 보는 것이 어려운 경우도 있다. 규모가 큰 온라인 게임사 이외에도 주요 온라인 게임 전체를 대상으로 하고 있어서 지금도 많은 계정 유출 피해가 우려 되고 있다.

 

그림 7. 온라인 게임에 대한 악성코드 공격 분석

 

그림 7. 온라인 게임에 대한 악성코드 공격 분석은 사용자 정보 탈취를 위한 악성코드의 실행 과정 및 진행 상황을 도식화한 것이다. 그림 7. 온라인 게임에 대한 악성코드 공격 분석의 설명에서 볼 수 있듯이 2006년 하반기 이후에는 신규 취약성 및 백신에 탐지가 되지 않는 형식의 악성코드를 유포하여 보안패치와 보안 솔루션을 사용하는 사용자에게도 일부 피해가 발생하고 있는 실정이다.

악성코드를 이용한 사용자 정보 유출로 인해 온라인 게임업체들은 많은 비용과 전문인력을 투입하여 게임을 보호하고 사용자를 보호하는 방안을 고민 할 수 밖에 없는 상황이다.

현재 유포되고 있는 악성코드는 종결형이 아닌 현재 진행형이고 앞으로도 끊임 없이 나타날 현상이라 할 수 있다.  키보드보안 솔루션과 보안패치서비스, 온라인게임 전용백신서비스 등 다양한 보호방안을 만들어 전체 위험요소의 대다수를 제거하여도 새롭게 발전하는 공격기술의 진화속도를 따라 가는 것은 어려움이 따를 수 밖에 없다. 일부 피해는 계속 발생할 것이고 피해를 줄이기 위한 노력도 계속 될 수 밖에 없다.

 --Continue

* 다음장에서 Vista의 보안과 최종 결론을 도출합니다. 그건 내일..