모바일 앱을 노린 각종 해킹 도구가 급증했다. 고도의 기술이나 지식 없이 해킹이 가능하다. 기업별 서비스에 적합한 모바일 앱 보안이 시급하다.
17일 업계에 따르면 모바일 앱을 해킹하는 디컴파일 도구(툴)와 디어셈블 툴, 분석도구가 급증했다. 네이티브 바이너리 디컴파일러 `헥스레이(hex-rays)`, 자바 디컴파일러 제브2(jeb2), 디스어셈블러 `IDA`, 무료 동적 분석 툴 `프리다(FIRDA)` 등 20~30여종이 최근 등장했다. 고성능 도구는 유료 제품이지만 해외 인터넷 커뮤니티 등에서 쉽게 구할 수 있다.
모바일 보안 솔루션 업체 에스이웍스는 지난해 11월 기준 구글 플레이스토어에 등록된 앱 80% 이상이 디컴파일 등 해킹에 노출됐다고 밝혔다. 트렌드마이크로에 따르면 2010년 8월 첫 안드로이드 악성앱이 나타난 후 5년여 만에 1000만개를 돌파했다. 지난해는 불과 1년 만에 5년간 등장한 약 430만개를 크게 넘어서는 630만개 악성앱이 나타났다.
최근 인기를 끌고 있는 스마트폰 증강현실 게임 `포켓몬 고(GO)` 역시 앱이 불법 복제되거나 악성코드가 숨겨진 상태로 APK가 국내 유포됐다.
디컴파일 툴은 앱을 구성하는 소스코드를 역분석해 앱 작동 구조를 알아낸다. 공개된 툴 프로그램을 어렵지 않게 구할 수 있는데다 사용법도 쉽다. 디스어셈블 툴은 디컴파일이 안 되는 환경에서 어셈블리 언어 단의 분석을 돕는 도구다. 소스코드 추출 결과보다 불편하지만 작동 구조가 노출된다.
동적 분석 도구는 프로그램 실행 중 사용되는 파일과 데이터, 연결된 서버, 네트워크 등을 파악하는데 사용한다. 동작 코드를 중간에 바꿔 앱을 변조하는 행위가 가능하다. 모바일 게임 등에 이상 기능을 집어넣거나 악성코드를 삽입하는 식이다.
이승진 그레이해쉬 대표는 “4~5년 전만해도 모바일 앱을 대상으로 하는 디컴파일 툴이 별로 없었는데 최근 어셈블리 언어를 몰라도 쉽게 분석을 돕는 도구가 많아졌다”며 “동적 분석 역시 쉽게 사용 가능한 도구가 개발돼 전문 지식 없이도 할 수 있다”고 말했다.
앱을 보호하는 보안 솔루션은 `난독화`나 `패킹` 등 방식으로 나뉜다. 패킹은 소스코드를 압축하거나 암호화 알고리즘으로 숨기는 방식이다. 기술이 부족한 초보 해커 공격 방어에 효과적이다. 구현과 앱 실행 안정성이 높지만 언패킹되면 소스코드가 그대로 노출된다. iOS용 앱에는 `코드사인` 문제로 적용하지 못한다.
난독화는 소스코드를 알아볼 수 없게 배열 구조를 바꾸는 방식이다. 원래 코드와 기능적으로는 동일한 기능을 수행한다. 안정적인 구현이 어렵지만 해커 입장에서 분석에 많은 시간이 걸린다. 앱 개발 과정 자체에 생긴 취약점을 제거할 수는 없지만 해당 취약점을 알아내기 어렵게 해 공격비용을 높인다. 안드로이드용 앱과 iOS용 앱에 모두 적용된다.
이 대표는 “해커는 공격 대상 선정에 투입한 시간 대비 기회 비용을 중요하게 여긴다”며 “난독화와 패킹이 각기 장단점이 있어 앱 서비스 환경에 맞는 솔루션을 도입해야 한다”고 말했다. 그는 “현재 모바일 앱 보안 솔루션 시장이 성장 단계에 들어서면서 두 기술 용어가 정확히 구분되지 않고 혼용된다”고 덧붙였다.
박정은기자 jepark@etnews.com
;