해커는 왜 모바일 앱을 공격할까? 모바일 앱 해킹 유형과 보안 방법

모바일 앱 보안 – 해커와의 전쟁! 우리 회사가 앱 서비스를 운영 중이라면? 모바일 앱 해킹 유형을 파악하고 안전하게 보안하는 방법을 알아봅니다

 
 

해커는 왜 모바일 앱을 공격할까? 모바일 앱 해킹 유형과 보안 방법

 
 
모바일 앱 보안 현황

일상의 많은 부분이 모바일로 가능해졌지만 많은 앱 서비스들의 보안 사고는 연일 끊이지 않습니다. 왜 이렇게 많은 모바일 앱 보안 피해사례가 생기는 것일까요?

그 이유는 바로 모바일 앱 서비스에는 많은 사용자들의 ‘데이터’가 있기 때문입니다. 고객 정보 데이터는 앱을 통해 쉽게 접근 가능하고, PC, 서버와 달리 모바일 앱은 간단한 툴만으로도 누구나 쉽게 소스코드를 볼 수 있어 보안이 매우 취약합니다.

모바일 앱 서비스를 주된 사업으로 하는 회사와 사내 서비스를 모바일 앱으로 제공하는 회사가 많아 짐에 따라 현재 앱 서비스를 진행, 개발중인 개발자, 관련 IT 운영 관리자, 보안 책임자를 위한 모바일 앱 해킹 유형과 보안 방법에 대해 소개하고자 합니다.



해커들은 어떤 식으로 모바일 앱을 공격하나?

일반적으로 사용자들은 공식 앱 마켓을 통해 앱을 내려 받습니다. 모바일 앱은 앱 마켓에 등록되기 전 안정성, 보안, 콘텐츠 유해성 등을 심사받기 때문에 PC에 비해 상대적으로 안전하다는 인식이 있었습니다. 그러나 악성 앱을 유포하는 해커들이 이런 앱 마켓 심사를 우회하는 전략을 사용하고, 공격 기법을 고도화하면서 앱을 통한 해킹 위험성이 높아지고 있습니다.


소스코드 유출 및 무단 재활용

소스코드는 모바일 앱의 핵심 설계도 역할로 기업이 보유하고 있는 수많은 디지털 자산 중 하나입니다. 기획, 생성, 실험, 발표, 수정, 보완 등을 거치며 정교하고 정성스럽게 다듬어지는 데에 수천 시간이 소요됩니다. 하지만 소스코드가 서비스의 설계도일 뿐이라며 소스코드 유출을 덤덤하게 바라보는 시선도 존재합니다. 하지만 소스코드에는 개발자들이 공유했던 각종 접근 키가 그대로 저장되어 있는 경우가 있어 이는 해커들이 얼마든지 재활용할 수 있다는 점에서 위험합니다.


앱 위변조

앱 위변조는 해커의 특정 목적을 달성하기 위해 정상적인 앱을 무단으로 변경하는 모든 행위를 칭합니다. 해커가 앱을 위변조 하는 목적은 크게 2가지로 나뉘는데, 첫번째로 앱을 무단으로 수정하여 앱이 가지고 있는 원천기술 및 영업 정보를 탈취하거나 부가서비스의 불법이용 또는 유료 컨텐츠를 무단으로 취득하여 되팔아 금전적 또는 비금전적 이익을 추구할 수 있습니다. 두번째로 자신이 변조한 앱이 마치 공식 앱인 것처럼 위장하여 배포함으로써 서비스 이용자를 대상으로 사용자의 정보 탈취 및 불법적인 금전 또는 비금전적인 이익을 노리는 목적을 가지고 있습니다.


악성코드 삽입

대부분의 개발자들은 개발 시간을 절약하기 위해 다양한 오픈소스를 활용해 모바일 앱을 개발하고 있는 실정입니다. 해커들은 개발자를 대상으로 개발 중인 앱에 악성 행위를 수행하는 코드를 추가하도록 유도하여 모바일 기기에서 사용자가 자주 입력하는 계정정보, 개인정보, 카드정보를 사전에 저장해 쉽게 불러오는 자동 완성 기능을 이용해 해당 정보를 탈취하는 피싱 방법을 사용하고 있습니다.


메모리 해킹(Memory Hacking)

메모리 해킹은 메모리에 상주한 데이터를 위조 또는 변조하는 해킹 방식을 의미합니다. 기존 해커들의 방식은 외부에서 계좌의 비밀번호를 빼내는 방법으로 진행되었다면, 메모리 해킹은 별도의 백도어 프로그램이 설치된 뒤 모바일 메모리에 침투해 계좌와 금액을 조작하여 돈을 빼돌리는 것입니다. 금융정보 뿐만 아니라 모바일 게임에서도 데이터를 위변조하는 메모리 해킹으로 개인 정보 유출이나 아이템 결제로 인한 요금 폭탄 등의 피해를 입을 수 있으며, 사용자가 이용하는 게임의 동작을 조절하는 스피드 해킹 등을 당할 수 있습니다.

 



그렇다면 모바일 앱은 어떻게 지킬 수 있을까?

모바일 앱이 해킹의 위험에서 벗어날 수 있는 방법은 무엇이 있을까요? 현재 서비스되는 앱을 보안하는 기술로는 소스코드 난독화, 소스코드 암호화, 위변조 체크, 메모리 보호, 안티 디버깅 등의 방법이 있습니다. 효과적인 앱 보안을 위해서는 하나의 기능만 사용하여서는 안되며 서비스 특성에 맞게 필수적인 기능과 선택적인 기능을 종합적으로 적용하여 다양한 방면의 위협을 방지하는 것이 좋습니다.


소스코드 보호

소스코드를 보호하는 대표적인 기술로는 난독화와 암호화가 있습니다. 소스코드 난독화는 소스코드를 읽기 어렵게 일부 또는 전체를 변경하는 것으로 클래스명, 함수명 변경, 문자열 암호화, API 숨김, 제어흐름 변경 등 소스코드 난독화 기술을 이용하여 소스코드 역 분석에 어렵움이 있도록 하는 것을 목표로 하고 있습니다. 하지만 난독화는 분석에 시간이 다소 걸리는 것이지 일정한 시간과 노력이 수반되면 분석이 가능하므로 난독화만으로 소스코드를 보호하기에는 어려움이 있을 수 있습니다. 이러한 이유로 최근에는 효과적인 보호를 위해서 난독화 뿐 아니라 소스코드 자체를 암호화하여 원본 소스를 원천적으로 보이지 않게 하는 소스코드 암호화의 방법을 함께 사용함으로써 모바일 앱을 지킬 수 있습니다.


위변조 체크

앱의 위변조는 기존 앱을 바탕으로 특정 소스 코드를 추가, 삭제, 수정해서 생성시킨 앱이므로 기존의 앱과 일정 부분의 소스코드를 공유하게 됩니다. 이 유사성에 기반을 두고 작성자는 다르지만 소스코드가 유사한 앱들을 찾아내는 방법을 사용할 수 있습니다. 또는 앱이 실행되는 시점에 무결성 검증 방법을 적용시켜 앱의 위변조를 확인할 수 있습니다.


메모리 보호

메모리 보호는 애플리케이션 메모리 액세스 권한을 제어하는 방법으로 프로세스가 할당되지 않은 메모리에 액세스하는 것을 방지하는 것을 말합니다. 앱 실행 중 해커가 메모리에 있는 값을 변조하지 못하도록 보호해 모바일 앱을 보호할 수 있습니다.


안티 디버깅

안티디버깅(Anti-Debugging)이란 말 그대로 디버깅을 방해해서 분석을 어렵게 하는 기술입니다. 안티 디버깅을 적용한 앱이 실행 중에 있을 때 디버깅을 당한다면 디버깅을 하지 못하도록 고의적으로 에러를 발생시키거나 디버거 프로그램을 종료시키는 등 여러가지 방법들을 사용하여 해커가 앱을 분석하지 못하도록 방해합니다.


 
 
모바일 앱 보안 서비스 리앱은 이 모든 기능으로 모바일 환경에 최적화된 보안을 제공합니다. 이후 포스팅에서는 해커의 악의적인 공격에 대항해 여러분이 만든 앱을 안전하게 보호하기 위한 각각의 기능들에 대해 자세히 알아보도록 하겠습니다.
 
 
#ios_mobile_game_protector #android_mobile_game_protector #mobile_game_application_protection #모바일_앱_보안 #모바일_게임_보안_솔루션 #앱_위변조_탐지 #Unity_보안 #Unreal_engine_보안 #cocos_보안 #리패키징_방지 #메모리_보안 #메모리_변조_탐지 #게임_파일_변조_방지 #위변조_차단 #유니티_디_컴파일_방지