모바일 게임 해킹에 대처방법을 생각해본다.

2013. 2. 21. 15:14회사 경영/개발이야기

728x90
반응형

모바일 게임 해킹


모바일 게임의 해킹은 다음과 같이 크게는 2방식으로 이루어지고 있습니다.

1. 메모리상의 정보를 변경시켜서 게임의 골드나 스타등의 재화를 비정상적으로 높여서 이득을 보는방법.(루팅 및 툴사용이 일반적입니다.)

2. 결재 모듈을 우회해서 실제로 결재가 이루어지지 않지만 게임은 결재가 이루어진 것으로 속여서 ITEM등을 획득하는 방법.(크랙된 앱사용의 경우)


이런 해킹 또는 크랙을 방지하기 위해서 다양한 방법들이 도입되고 있지만 휴전없는 전쟁과 같다는 생각입니다.

개발사는 최대한 다양한 방법을 개발하고 적용해서 보호하는 것은 필수 입니다.

대형 개발사의 경우 전담인력이 다양한 기술을 개발하고 있지만 중소 개발사의 경우 기술 개발과 적용이 느린게 현실입니다.


1. 메모리 해킹의 대처 방법

-우선 게임상의 중요한 값들의 경우 int형등의 기본형을 사용하는 것보다는 string타입으로 관리되도록하는것이 좋습니다.

메모리 해킹은 게임을 진행하면서 메모리상에서 일정 차만큼 변경되는 주소를 찾아서 그 주소값을 변경하는 방법이 사용되고 있습니다.

따라서 경우에 따라서는 원치 않게 비정상적으로 큰값이 들어가는 경우가 있습니다.

위와 같이 문자열을 사용하거나 한번더 암호화를 적용한다면 이렇게 도구를 이용한 메모리 해킹은 어느정도 방지 할수 있습니다.

 2. 결재 모듈의 우회 대처 방법.

-현재 몇몇 통신사의 결재 모듈에서는 영수증 확인 방식을 도입하고 있습니다. 이렇게 실제 결재가 되었는지 한번 더 확인 하는 방법으로 



부정사용자를 식별할 수 있습니다. 하지만 이 또한 영원히 안전하다고는 할수 없지 않을까요..?


게임의 실행 파일을 위변조하는 경우에는 개발사가 딱히 부정사용자를 식별할 수 있는 방법이 없습니다.

그래서 위 2가지는 기본으로 적용하고 추가로 로그 분석을 통해서 부정사용자를 식별하는 방법이 그나마 현실적인 것 같습니다.


사용자의 게임상의 재화가 비정상적으로 증가하거나 IAP결재등의 다른 로그가 없는 상황에서 증가한다면 이는 메모리해킹등의 방법을 이용했다고 판단하면 될듯 합니다.

부정사용자를 구별했다면 이들을 무조건적으로 막는것이 좋은것일까...? 이는 개발사의 판단에 따르면 될듯 합니다.

음지의 사용자를 양지로 끌어들이는 것 또한 필요하지 않을까요..?




728x90
반응형