모바일 게임 보안 - 해킹 유형

모바일 게임 보안 - 해킹 유형

 
 

모바일 게임 보안 - 해킹 유형

안녕하세요. LIAPP TEAM입니다.
이번 포스트는 해킹으로 인한 피해가 가장 많은 분야 중 하나인 ‘모바일 게임 해킹’에 관하여 다뤄 보도록 하겠습니다.

현재 모바일 게임을 향한 해킹 공격은 지금 이 순간에도 지능화되고 횟수 역시 기하급수적으로 늘어가고 있습니다.
그렇다면 왜 사람들은 이토록 다양한 방법들을 사용해가면서 모바일 게임을 해킹하려고 하는 것 일까요?

가장 큰 이유로는 게임 앱 해킹이 쉽기 때문입니다.

대체적으로, 모바일 게임 앱은 PC용 게임에 비해 상대적으로 수명이 짧습니다.
그러다 보니 개발에 많은 시간을 뺏기게 되고 결국 이를 보호하기 위한 보안 기술은 약해질 수밖에 없어 해커들의 공격 대상이 되고 있습니다.
물론 해커들은 게임 앱 외에도 게임 서버와 같은 게임의 다른 부분을 해킹하는 경우도 있습니다. 하지만 이와 같은 방법은 오랜 시간 준비를 해야 할 뿐 아니라 그동안 비슷한 공격을 많이 당해온 게임 회사 및 클라우드 서비스 사업자들 역시 이에 대한 강력한 보완책을 마련하고 있어서 공격이 쉽지 않은 것이 현실입니다.

또 한가지 이유는 목적이 명확하기 때문입니다.
 
게임을 하는 사람들이 원하는 것은 무엇일까요? 
대부분 남보다 강한 나만의 캐릭터를 키우고, 더욱 빠르고 쉽게 즐기고 싶다는 공통적인 희망을 품고 있을 것입니다. 
물론 이 모든 것들을 무료로 즐기고 싶을 것이고요.  즉, 수많은 사람이 사용하고 있지만 결국 그 목적은 명확하게 추려낼 수 있으며 해커들이 해킹하는 목적은 이와 같은 이유를 충족하기 위해서 라고 생각할수 있습니다.
이처럼 상대적으로 효과적이고 또 효율적인 개임 앱을 공격하는 것은 해커들에게는 자연스러운 현상이며, 이 때문에 해킹을 위한 다양한 툴이 모습을 드러내고 있습니다.
 

그럼 게임 서비스를 위협하는 대표적인 해킹의 종류는 어떤 것들이 있는지 알아 보도록 하겠습니다.

게임 내 아이템이나 점수 등 주요 데이터를 찾아 위 변조하는 
'메모리 서칭(Memory Searching)'
 
메모리 서칭은 악의적인 사용자가 게임의 메모리를 해킹하여 게임 점수나 아이템의 능력치 등을 수정하는 방법입니다. 
이 공격은 앱에 저장된 데이터 값이 어떻게 쓰이는지 파악한 해커가 원하는 값으로 변경하거나 고정을 시켜 버림으로써 게임내 life count 고정, 아이템 사용 횟수 증가, 미 구매 아이템 사용 등 게임 서비스를 위협하는 가장 영향력이 큰 공격 방법 중 하나 입니다. 
메모리 서칭 공격은 해킹툴을 이용하거나, 가상머신을 이용하는 방법으로 나뉘게 됩니다. 
해킹툴은 메모리 해킹을 쉽게 할 수 있도록 도와주어 몇 번의 터치만으로 메모리를 변조할 수 있도록 기능을 제공합니다.
가상머신의 경우 PC에서 모바일 단말 환경을 구축하여 모바일 앱을 구동할 수 있도록 만든 소프트웨어입니다.  본래의 개발 목적은 해킹이 아니었으나 과거 PC에서 해킹 하였던 것과 동일한 방법을 이용할 수 있으므로 많은 해커들이 이용하는 방법입니다.  상대적으로 열악한 디버깅 환경을 제공하는 모바일보다 많은 공격 방법이 존재하기 때문에 더욱 수월하게 공격을 할 수 있는 장점이 있습니다. 

정상적인 앱을 원하는 형태로 조작하는 '리패키징(Repacking)'
 
휴대폰에서 게임 앱(APK)을 추출하고 APK 리패키징 작업을 거쳐 코드를 변조하고 다시 패킹해 배포하는 방법입니다. 
리패키징이 된 APK파일은 인터넷에서 무작위로 배포 되며, 이러한 앱을 받은 사용자들은 어떠한 노력없이 해킹된 상태로 서비스를 이용할 수 있음으로 서비스에 가장 파급력이 강력한 종류라 할수 있습니다.
또한 무료 게임의 가장 큰 수입원 중에 하나인 광고를 삭제 하거나 해커가 소유한 광고로 교체하여 배포함으로써 직접적인 금전적 피해를 유발할수 있는 유형입니다.

인앱 결제를 우회
 
최근 출시되는 많은 모바일 게임은 원활한 아이템의 판매를 위해 게임상에서 결제하게 되어있는데, 많은 해커들이 이를 공격하여 부당한 이익을 챙기는 공격이 늘어가고 있습니다.
인앱 결제를 우회하는 해킹 방법에는 크게 해킹툴을 이용하거나, 결제 과정을 변경 혹은 인증을 우회하는 해킹 방법으로 나누어집니다.
해킹 툴은 앞서 말씀드린 것처럼 몇 번의 터치를 통해 게임 내의 결제 및 카드 정보 등을 변경하여 실제 과금 없이 손쉽게 아이템을 획득할 수 있게 기능을 제공합니다.
결제 과정을 변경하거나 인증을 우회하는 방법 역시 많이 사용하는 방법입니다. 일반적으로 게임 앱에서 인앱 결제를 하게 될 경우 구글의 구글 플레이, 혹은 애플의 앱스토어와 같은 마켓 서버에서 과금이 이루어지게 되면 아이템이 지급되는 방식으로 구현이 되고 있는데, 이와 같은 과정 없이, 임의로 과금이 완료되었다는 패킷을 획득하거나 조작된 패킷을 이용하여 불법적으로 아이템을 지급받는 방식으로 구현되고 있습니다.
위와 같은 해킹의 방어가 중요한 이유는 그 피해가 다수의 일반 사용자(non-hacking user) 들에게로 돌아가기 때문입니다. 또한 개발사들은 해킹 시도가 발견되면 문제를 해결하는 데 집중할 수밖에 없고, 결국 정상적인 업데이트를 진행하거나 게이머들의 의견을 수렴하기가 어려워지게 됩니다.


다음 포스트에서는 이러한 게임 해킹을 막기 위해 어떠한 기능이 필요한지에 대한 전략을 포스팅 하도록 하겠습니다.
 
 
#android packer #application protection #앱 위변조 방지 #모바일 보안 #게임 보안 #코드 난독화 #앱 보안 #LIAPP ONSITE #LIAPP BUSINESS #LIAPP for Game