CAFE

[효율적인팁〃](참고용) 온라인 게임 서비스 공격 현황

작성자[오를]마리아린츠|작성시간09.06.01|조회수3,556 목록 댓글 17

온라인 게임의 공격 유형으로는 크게 서버 공격과 클라이언트 공격으로 나눌 수 있다.
서버 공격은 말 그대로의 서버 해킹을 의미한다. 웜, Dos공격, 패킷 리플라이 공격, 웹 사이트 취약점 공격 등 악의적 목적을 갖고 서비스를 마비시키기 위하여 서버를 다운시키거나, 소스 코드를 탈취하는 등의 부류가 이에 속한다.

클라이언트 공격은 자신의 PC에 설치된 클라이언트 파일에 대한 변조나 스피드핵 사용, 메모리 조작 등을 들 수 있다. 사용자들이 흔히 표현하는“핵”이라는 용어가 이 클라이언트 해킹 범주에 들어가게 된다. 그렇다면, 서버 공격과 클라이언트 공격은 구체적으로 어떤 것들이 있는지 유형별로 살펴보기로하겠다.

 

1. 서버 공격
가. 게임 소스 탈취

어떤 프로그램이든 그렇겠지만, 온라인 게임의 소스 코드 역시 보안에 보안을 거듭해도모자라지 않을 만큼 중요한 것이다. 이 게임 소스를 탈취하면, 게임에 대한 정보를 모두 파악할 수 있고, 똑같은 게임을 마음대로 서비스할 수도 있다. 우리나라의 온라인 게임은 국제적으로도 상당한 수준이라, 해외로 수출하는 경우가 많은데, 대부분의 게임 소스는 이때에 유출되곤 한다.

본 서버에 비해 상대적으로 보안에 허술한 테스트 서버 오픈 시에 이러한 소스 탈취의위험도가 더 높게 되며, 해킹을 통해 유출된 소스로 인해 생겨나는 것들이 바로 프리서버(Free Server)라는 불법 게임 서버이다. 프리서버의 발생은 곧 게임 서비스 질 저하로 이어지게 된다.

 

나. Dos, 웜, 패킷 리플라이 공격
악의적 목적을 가지고 게임 서비스를 중단시키려는 경우가 이에 속한다. 게임 서비스에불만을 갖고 혹은 해커의 실력을 과시하기 위해 서버를 공격하여 다운시킨 후 서비스를 할수 없게 만드는 경우를 말한다. 서버 공격의 대표격인 Dos공격을 가하거나, 웜에 의한 무차별 패킷 발송이 대표적인 경우이다.

이 같은 경우는 굳이 온라인 게임에서가 아닌 다른 해킹의 경우에도 비슷하지만, 온라인 게임의 특성과 좀더 직접적으로 연관된 부분도 없지 않다. 좀비 프로그램을 제작하여 무차별로 로그인을 시도하는 패킷 리플라이 공격(로그인을 무한 시도하여 서버에 부하를 주는방법) 등도 대표적인 사례로 볼 수 있다. 어쨌든 대부분 서버 과부하 또는 서버 다운을 의도하여 행한 해킹으로, 게임 서비스 중지를 그 목적으로 한다. 중국에 게임을 수출하는 경우“우리나라에 게임을 수출하지 마라”라며 해커가 게임 서버에 공격을 가한 경우도 있다.

 

다. 웹 사이트 취약점
웹 사이트의 취약점을 이용하여, 서버에 해커가 원하는 악성 코드를 심어놓고, 그곳에 접속하는 사용자들에게 백도어나 바이러스 등을 감염시키는 해킹 유형이다. 반드시 게임 서버가 아닌 경우도 많으며, 관리가 허술하고 인터넷 사용자들의 접속이 빈번한 웹 사이트 가 주 공격대상이 되고 있다.

해커의 목적은 주로 백도어 감염을 통한 게임 계정 도용이다. 사이트에는 백도어를 심어놓고, 사이트에 접속한 사용자들의 PC에 백도어가 설치되게 한다. 그 후 사용자가 입력한 게임 계정은 해커의 이메일로 전송된다. 최근 관리가 허술한 웹사이트를 찾아주는 SQL Injection 자동화 툴이 해커들 사이에서 공유되고 있어 백도어 감염 웹사이트가 늘어나고있다.

 

라. Non Client BOT
게임 클라이언트를 설치하지도 않고 게임을 실행하는 형태로 가장 골치 아픈 해킹 유형중 하나이다. 게임의 패킷 구조를 완전히 분석한 해커가 프로그램을 개발하여 판매하는 형태로, 그 프로그램만 실행하면 자동으로 서버에 접속하여 이동 패킷, 공격 패킷을 전송하며 사냥을 하게 된다. 게임 플레이를 하지도 않는 사용자들이 서버로 대량 접속하기 때문에 서버 과부하가 생기는 것은 물론, 클라이언트에 아무리 보안 코드를 삽입해도 클라이언트 자체가 실행되지 않으므로 무용지물인 해킹이다.

앞서 열거한 서버 공격과는 약간 성격이 다르며, 게임 서비스 중지를 목표로 하지는 않지만, 해커 자신의 이익 추구 그리고 불법 플레이를 조장하는 온라인 게임 공격 형태 중의하나이다.
프로그램을 이용하여 게임 서버에 무단으로 접속하여 캐릭터를 성장시키게 된다.

 

2. 클라이언트 공격
사실 서버 공격은 반드시 게임 서비스 그리고 게임 서버가 아니더라도 어떠한 서버가 필요하고 그에 대한 서비스를 하는 경우라면 그 공격 유형이 유사할 수 있다. 따라서 특별히 위에 열거한 서버 해킹의 모든 항목이 반드시 게임 분야만의 특징이라고 보기는 어려운 편이다(논 클라이언트 봇 제외). 그러나 이제부터 열거될 클라이언트 공격 유형은, 거의 온라인 게임이란 파트에 특화된, 진정한 의미에서의 온라인 게임 서비스 공격 형태라 볼 수 있다.

서버 공격과의 또 다른 큰 차이점이라면, 서버 공격에서는 게임 서비스 마비의 목적이 주를 이루는데, 클라이언트 공격에서는 자신만이 유리한 위치에서의 게임 플레이, 즉 공정한 게임 룰 파괴가 그 주목적이 된다(일부 제외). 그럼 클라이언트 공격에는 어떠한 것들이있는지 분류별로 살펴보겠다.

 

가. 스피드 핵
클라이언트 공격 유형 중의 가장 대표적이자, 해킹에 대해 아무것도 모르는 이들도 이름은 들어봤음직한 해킹 유형이다. 본인 PC(클라이언트)의 시계를 빨리 간 것처럼 속여, 게임내에서도 빠른 속도로 이동하게 만드는 핵이다. 스피드 핵은 크게 두 가지 종류가 있는데8254 PIT(Programmable Interval Timer) 칩의 값을 조정하여 컴퓨터의 시계가 빠르게흐르도록 하는 경우와 타이머 관련 API함수(GetTickCount(), timeGetTime() 등)를 후킹(Hooking)하여 시간이 빨리 계산되도록 하는 가짜 API함수를 만든 후, 클라이언트에서 시간을 계산할 때 그 함수를 이용하게 하는 방법이다. 공격 속도와 이동 속도가 빨라지므로
서버와 주고받는 패킷의 양도 당연히 늘어나게 된다. 따라서 이는 곧 서버 과부하의 문제로이어질 수 있으며, 그와 더불어 공정한 게임 룰에도 지장을 가져오게 된다.

 

나. 매크로
이른바“자동 사냥”이라 불리우는 클라이언트 해킹 유형으로, 역시 스피드 핵과 더불어 가장 널리 알려진 해킹에 속한다. “시작”버튼 하나만 누르면, 매크로가 알아서 몹을 발견하고 공격해 주며, 체력이 떨어지면 자동으로 물약을 복용하는 등 아무런 조작 없이 켜 두는 것만으로 레벨 업이 가능해지기 때문에 로봇 플레이 또는 BOT이라 불리우기도 한다.

매크로를 이용하여 게임 플레이를 하는 사용자가 많아지면, 당장의 동시 접속자 수는 증가할지 몰라도, 게임을 직접 플레이 하지도 않으면서 계속적으로 서버와 패킷을 주고받는 유령 접속자 때문에, 역시 서버 과부하의 문제로 이어질 수 있으며, 이는 곧 몹 사냥터 부족의문제로까지 발전할 수 있다. 따라서 사용자들의 불만은 높아질 수밖에 없으며, 정상적으로플레이를 하는 사용자들은 늘어난 매크로 사용자 때문에 게임을 그만두려 하는 경우도 있다.

 

이처럼 매크로를 방치하면, 실 사용자 수는 줄어만 가는데, 정작 게임을 즐기지도 않는거품 사용자들 때문에 오히려 서버를 늘려가야만 하는 아이러니한 사태에 봉착하여 게임서비스 질 하락, 그리고 게임 서비스 중지라는 최악의 상황까지도 될 수 있다.

 

다. 메모리 변조, 파일 변조
주로 게임 클라이언트 프로세스의 메모리를 조작하는 해킹을 가리킨다. 메모리 변조는크게 각종 데이터나 수치와 관련된 여러 값을 처리하는 데이터 영역과, 게임의 내부 구현루틴 즉, 코드 영역 부분으로 나눌 수 있다. 먼저 데이터를 조작하는 경우를 살펴보겠다.

현재 게임 외부에서 보이는 HP, 아이템, 레벨, 경험치, 돈 등 모든 수치는 다 메모리에적용되어 있다. 따라서 메모리에 기록된 값이 어떤 부분인지만 알아내면, 그 부분을 바꿔버림으로써 순식간에 속임(Cheat)이 가능해지게 된다. 물론 대부분의 온라인 게임에서 클라이언트 PC에 저장되는 메모리 값은, 서버에서 처리한 내용을 보여주는 용도 정도로만 사용하고 있다. 따라서 그런 경우는 클라이언트에서 아무리 값을 고쳐 봤자, 자신의 PC에서만 고쳐진 값이“보여질”뿐이므로 그다지 문제될 것이 없다.

하지만, 일부 게임에선 게임의 구조상, 그리고 서버에서의 오버헤드를 최소한으로 줄이기 위하여 클라이언트의 데이터를 신뢰하여 그대로 게임에 적용하기도 한다. 이런 경우 메모리 변조가 크게 문제가 된다. 경험치를 배로 올려주게 한다거나, 아이템을 획득했을 때 어떠한 번지에 어떤 값이 기록되는 부분을 변조하여 무한대로 아이템이 얻어지는, 아이템복사 핵으로까지 발전할 수 있다.

다음은 코드 영역을 고치는 부분인데, 이 부분은 데이터 영역 변조보다 그 피해도가 훨씬 심각하며 가장 직접적인 클라이언트 공격에 속한다. 게임 개발자가 게임의 룰을 유지하기 위하여 작성한 코드를 무력화 시키거나, 자신이 원하는 대로 코드를 바꿀 수도 있다. 예를 들어 보안 코드를 NOP시켜 해당 루틴이 실행되지 않게 하는 일이 가능해진다.

밤낮이변하는 부분을 무력화 하여 계속 낮처럼 보이게 할 수도 있고, 통행로가 아닌 부분에 억지로 캐릭터가 지나다니게 할 수도 있다. 이 같은 코드 영역의 변조는 메모리에 올라간 후에 변조시킬 수도, 파일 상태에서 미리 변조시킨 후 실행하는 방법도 있다. 후자의 경우를 방지하기 위하여 클라이언트 실행파일을 프로텍터 등으로 암호화(Packing)하기도 하지만, 언패커(Unpacker)가 공개되며 암호화를 풀어낸 뒤 다시 변조하는 경우도 적지 않다.

이런 식의 메모리 변조는 일반적인 프로그래밍은 물론, 어셈블리어의 역분석에 까지도능한 초 고수급 해커들이 사용하는 방법이기 때문에 사용할 수 있는 곳은 무궁무진하다. 자신을 분석해 내는 보안 코드를 뛰어넘게 만들거나 아예 보안 프로그램이 실행되지 않게 만들어 버릴 수도 있다. 중국의 핵툴 제작업체에선 이런 게임 클라이언트 분석을 통한 메모리, 파일 변조 해킹이 능수능란하게 이루어지고 있다.

 

라. 패킷 변조
게임 클라이언트와 게임 서버가 주고받는 네트워크 패킷을 분석하고 조작하는 해킹 유형이다. 클라이언트에서는 사용자가 플레이한 내용으로 패킷을 만들어 서버로 날리는데,이때 이 패킷을 캡쳐하여 중간에서 조작, 몇 배의 수치로 늘려 보낸다면 이것이 곧 패킷 해킹이 되는 것이다.

몹에게 히트를 한방 먹이면 1이라는 패킷이 전달된다고 가정했을 때, 이때 전송되는 이 1값이 포함된 패킷을 중간에서 가로채 100이라고 바꾸면 백 배의 공력으로바뀌어 전달되어 어떤 몹이라도 한번에 잡을 수 있게 된다. 여기서 패킷을 암호화하거나,서버에서 패킷 체크를 함으로써 네트워크 상에서 값을 조작하여 전달하는 것이 불가능할경우, 그냥 캡춰한 값을 조작하지 않고 보내되, 같은 값을 계속적으로 여러 번 보내는 작업을 한다면 한 방 먹였을 때 수 십방 먹인 것과 같은 효과가 발생되어 역시 같은 효과를 낼
수 있다. 이것이 곧 한방에 적을 물리칠 수 있는 한방핵의 원리이다.


패킷은 단지 공격 값의 경우에만 제한된 요소가 아닌 다양한 값에 대한 처리를 하고 있기 때문에, 현재 몹의 위치를 파악하거나 자신의 체력 상태 등의 체크도 가능하다. 따라서패킷을 검사해 어떤 방향에 적이 있는지를 파악하고 그쪽으로 자동으로 이동하는 등 오토마우스와 더불어 사용되기도 한다. 이정도 수준까지 구현하는 핵툴은 상당한 고수준의BOT이며 중국, 대만 등에서 유료 핵툴을 제작하여 판매하는 경우가 대부분으로 개별 게임사에서 일일이 대응하기도 힘든 부분 중의 하나이다.

 

마. 조준 핵(AimBot)
게임 도중 어떠한 과녁을 맞추기 위해 거리 계산, 각도 등의 눈짐작이 필요할 때 쓰이는해킹 방법이다. 화면상에 발사 위치를 그려주거나, 각도, 거리 등을 계산하여 준다. 어떠한메모리 변조나, 패킷 조작도 아닌 단지 화면에 그림을 그려주는 역할 뿐이라 일반적인 메모리 가드(Memory Guard) 루틴으로는 감지할 수도 없다. 역시 이런 프로그램을 사용하는자와 그렇지 않은 자와는 게임 레벨 업에 많은 불공정이 있게 되므로, 사용자의 사기와 게임 의욕을 저하시키는 해킹 부류중의 하나이다. 주로 캐주얼 게임에서 적용되는 사항이다.

 

바. 계정 해킹
온라인 게임에서 가장 중요한 계정을 훔쳐가는 해킹이다. 다른 게임 클라이언트 해킹 유형 중에, 사용자들이 가장 직접적으로 피해를 입는 부분이므로, 대중적으로는 이러한 것이일반적으로 해킹이라고 알려져 있다. 계정을 빼앗아가는 방법에도 매우 다양한 기술이 있으나, 대부분은 최신 백신 설치와 윈도우 보안 패치로 예방이 가능하다. 하지만 그것마저제대로 설치해 놓고 있지 않은 사용자들이나, 타인에게 속아 무심코 계정 정보를 알려주는게이머들이 흔히 당하는 해킹 중의 하나이다. 계정을 해킹할 수 있는 방법에도 굉장히 많은형태가 있으며, 점차 다양화∙기술화되고 있다.

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
  • 답댓글 작성자[지기]『Zer0』 | 작성시간 09.06.01 오우~ ㅎㅎㅎ 출처알았당!!!! ㅎㅎㅎ
  • 작성자[오를]평도위에저울 | 작성시간 09.06.01 이건 추천해도 손색없는 글입니다 ㄷㄷㄷㄷㄷ... 이해가 됩니다..
  • 작성자[아노]산이。 | 작성시간 09.06.02 조준핵의 대표적인게 서든의 헤드샷 스킨인가 뭐 그런거 아닌가요
  • 작성자아노]파이어쇼크 | 작성시간 09.06.02 무식한저도 보면서 이해가 되는군요...
  • 작성자NewP | 작성시간 09.06.18 클라이언트 변조로 인한 무딜핵이 생기는 바람에 현 테일즈위버 콤보시스템이 현재와같이 재미없게 바뀌어버렸죠 - -; 예전엔 거의 리듬게임수준으로 판정이 있었는데.. 여튼 가장 아쉬운 부분 중 하나입니다
댓글 전체보기
맨위로

카페 검색

카페 검색어 입력폼