모바일 앱 위변조와 방지 솔루션 - 위변조

MaxxHan·2023년 2월 23일
17

앱 위변조는 모바일 앱을 불법적으로 변경하는 행위로써 위조, 변조를 합쳐 '위변조' 또는 'Tampering'이라 하고 이를 방어하는 기술을 '위변조 방지' 또는 'Anti tamper'라 하고 있습니다.

앱 위변조는 해커의 특정 목적을 달성하기 위해 정상적인 앱을 무단으로 변경하는 모든 행위를 칭합니다.

현재 앱 위변조를 하는 이유는 크게 2가지 목적으로 나눌 수 있습니다.

첫번째, 앱을 무단으로 수정하여 앱이 가지고 있는 원천 기술 및 영업 정보를 탈취하거나 부가 서비스의 불법이용 또는 유료 컨텐츠를 무단으로 취득하여 되팔거나 사용함으로써 금전적 또는 비금전적 이익을 추구할 수 있습니다.

두번째, 자신이 변조한 앱이 마치 공식 앱인 것처럼 위장하여 배포함으로써 서비스 이용자를 대상으로 사용자의 정보 탈취 및 불법적인 금전 또는 비금전적 이익을 노리는 목적을 가지고 있습니다.

1. 앱을 변조하여 서비스 이용자의 개인 정보 탈취 사례

블랙 마켓 배포 또는 악성 코드를 이용하여 위변조 된 앱을 설치하고 이를 이용하여 개인 정보 탈취 서비스에 호감을 가지고 사용하는 이용자의 개인 정보를 탈취함으로써 서비스의 신뢰성에 큰 타격을 입힐 수 있습니다. 물론 이렇게 위변조가 된 앱들은 정식 앱스토어에서 배포가 불가능하기 때문에

블랙마켓이라 불리는 사설 앱 스토어 또는 사설 웹 페이지에서 배포 또는 악성 코드를 이용하여 배포하고 있습니다. 이러한 일이 생긴 이유는 위의 경우와 같이 악성 코드 감염 또는 비공식적인 스토어에서 앱을 다운로드 받은 사용자의 부주의에 대한 책임도 크지만, 앱 위변조에 대한 방어가 잘 준비된 앱들은 불법 마켓에서의 배포가 잘 이루어지지 않기 때문에 사용자는 해당 서비스에 대한 불신을 가질 수 있으며 이는 사용자 이탈로 나타납니다.

2. 앱을 변조하여 서비스 이용자의 금전 및 중요 재화 탈취 사례

주로 게임 상의 돈이나 아이템 등과 상품권 및 금융 관련 앱에서 나타날 수 있으며, 금전적인 피해가 즉각적으로 나타나므로 서비스에 큰 타격을 입을 수 있습니다.

3. 앱을 변조하여 서비스를 제공하는 서비스의 중요 정보 탈취 및 변경 사례

모든 앱에서 해킹의 목적에 맞게 작업이 이루어지는데 이를 통해 서비스의 밸런스 파괴나 불법적인 이득을 취할 수 있습니다. 게임에서의 능력치 향상, 자동 입력을 통한 불법적인 게임 내 재산 취득이 일어날 수 있고 대리운전 앱의 콜 가로채기 사건들을 예로 들 수 있습니다.

또한, 호텔 예약 특가 이벤트를 시작한 지 몇 시간 만에 경쟁사에서 더 낮은 금액으로 모든 특가 상품이 출시되는 현상 또한 앱 위변조를 이용하여 나타날 수 있습니다.

4. 앱을 변조하여 앱 내 광고를 해커의 광고로 전환한 채 재 배포 사례

무료앱에서 주로 나타나는 해킹으로, 해외 해커들이 무료앱을 해킹하여 앱에서 노출되는 광고를 자신의 광고 계정으로 변경함으로써 앱 서비스의 주요 수익인 광고에 대한 수익을 가로채는 사건들이 이에 해당하며 이러한 사건은 서비스 기업에 직접적인 금전적 타격을 줄 수 있습니다. 이와 같은 현상을 방지하기 위해 국내에서는 약 2010년부터 금융 및 공공에서 본격적으로 도입하게 되었습니다.

앱 위변조 방지 솔루션들은 출시(패키징)가 완료된 앱의 변조 여부를 판단하는 것이 주목적이며,
초기 위변조 방지 기술은 앱에 적용되어 있는 사이닝의 상태를 앱에서 판단하거나 package 파일에 특정 값을 입력하고 이를 확인하는 방법으로 위변조를 방지하는 기술도 많았습니다.

그러나, 현재의 발전된 해킹 기술로 인해 이와 같이 상대적으로 취약한 방식의 위변조 탐지 기술은 쉽게 우회할 수 있으며 앱의 위변조를 판단하는 로직이 JAVA의 형태로 되어있다면 해당 로직을 수정하여 쉽게 위변조 검사를 우회하고 있습니다.

현재의 발전된 해킹 기술로 인해 예전 방식의 취약한 위변조 탐지 기술은 쉽게 우회할 수 있습니다.

그러므로, 현재는 JAVA의 형태보다는 상대적으로 코드 분석이나 변조가 어려운 Native code로 위변조를 탐지하는 기술이 요구되며, 앱의 위변조 상태를 검사하는 로직이 Native code로 구현되어 있다 할지라도 해당 로직에 대한 분석을 방지하고 검사 로직을 우회하는 공격에 대비해 우회 난이도를 높여 코드를 수정하면 앱이 정상 동작을 하지 않게 하여 우회 할 수 없거나, 어렵게 하는 2~3중의 방어기술이 함께 구현되어야 비로소 위변조 방지의 효과를 볼 수 있습니다.

우회 난이도를 높여 코드를 수정하면 앱이 정상 동작을 하지 않게 하여 우회할 수 없거나, 어렵게 하는 2~3중의 방어 기술이 함께 구현되어야 비로소 위변조 방지 효과를 볼 수 있습니다.

또한, 이러한 위변조 방지 기술들은 대부분 패키징이 완료된 현재의 상태를 기억하고 검사하기 때문에 Google app signing과 같이 앱스토어 배포 시 시스템에 의해 앱이 변경되는 상황을 지원하지 않아 정상적인 서비스가 곤란한 경우 또한 고려되어야 할 대상입니다.

그러므로 위변조 방지 솔루션 기술을 선택할 시에는 위변조 방지 기술의 발전도가 높은 것과 어느 상황에도 유연하게 대처할 수 있는 솔루션을 선택하는 것이 중요합니다.

4개의 댓글

comment-user-thumbnail
2023년 2월 23일

good!!

답글 달기
comment-user-thumbnail
2023년 2월 23일

good!

답글 달기
comment-user-thumbnail
2023년 2월 23일

awesome !

답글 달기
comment-user-thumbnail
2023년 3월 1일
답글 달기