iOS / 보안

"악용 가능성 충분한" 애플 앱 스토어 승인 프로세스 우회로 등장

Lucian Constantin | PCWorld 2016.01.29
점점 더 많은 iOS 앱 개발자들이 애플의 일반적인 승인 프로세스를 통하지 않고 원격으로 코드를 수정할 수 있는 기법을 이용하고 있는 가운데, 이 방법이 잠재적으로 악용되어 사용자를 보안 위험에 빠뜨릴 수 있다는 사실이 드러났다.

이 기법은 시스템이나 앱을 재시작하지 않고 다양하게 업데이트할 수 있는 한 방법인 핫패치(hot patch)의 변종이다. 개발자들이 공식 iOS 앱 스토어에 새로운 버전을 제출해서 애플의 승인을 기다리지 않고도 iOS 앱을 업데이트할 수 있다는 의미다.

이러한 핫패치 기법을 이용한 도구 중에서 이번에 문제가 된 것은 JS패치(JSPatch)라는 오픈소스 프로젝트다. JS패치는 앱 개발자들이 자신의 앱에 통합해서 자바스크립트 코드와 iOS 앱용 프로그래밍 언어인 오브젝트-C의 다리 역할을 하는 엔진을 제공한다.

앱에 코드 7줄만 넣으면 JS패치 엔진을 추가할 수 있는데, 개발자들은 이 앱이 자신이 제어하는 원격 서버의 자바스크립트 코드를 항상 로딩하도록 앱을 구성할 수 있다. 이 코드는 JS패치 엔진을 통해 해석되고 오브젝트-C 형태로 변환된다.

파이어아이(FireEye)는 “JS패치는 iOS 개발자들에게 대단히 유용하다. 올바르게 사용하면 빠르고 효과적으로 패치와 코드 업데이트를 할 수 있다. 하지만 현실은 유토피아가 아니기 때문에, 이 기술을 나쁜 의도를 가지고 악용할 가능성이 충분하다”고 경고했다.

문제는 이 핫패치가 강력한 애플의 ‘폐쇄된 정원’에 기반한 iOS 보안 모델과 상충한다는 점이다.

애플이 서드파티 앱에 금지하고 있는 몇 가지 보안 관련된 사항이 있으며, 오로지 앱 스토어 리뷰 프로세스를 통해서 이를 단속한다. JS패치는 개발자들이 이 정책을 우회하도록 하는 것이다.

이 기법을 악용한다면, 처음에 앱이 승인되었을 때에는 포함되어 있지 않던 iOS APIs에 엑세스할 수도 있고, 애플 앱만 사용하도록 허용된 있는 APIs에 엑세스할 수도 있다.

파이어아이의 설명에 따르면, 이런 앱들은 시스템 변경, 앨범에 저장된 사진의 메타데이터 수집, 혹은 페이스트보드(pasteboard)에 저장된 정보에 엑세스할 가능성이 있다. 현재는 공격자들이 할 수 있는 것에 제한이 있지만, 이 제한은 개발자들의 의도에 따라 쉽게 없앨 수 있다.

악성코드 삽입, 광고 SDK 삽입, 비암호화된 연결로 원격 자바스크립트 코드 다운로드 유도 등 JS패치가 악용될 시나리오는 다양하다.

지금까지는 JS패치가 악의적으로 사용된 사례가 없으나, 가능성이 충분한 것이다. 파이어아이는 “JS패치 기술은 앱 스토어 리뷰 프로세스를 우회해서 사용자가 모르게 어떤 기능을 수행하도록 할 수 있다. 코드의 역동적인 특성상 악성 기능이 수행되고 있는지를 잡아내기가 매우 어렵다”고 말했다.editor@itworld.co.kr
 

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.