개발자 / 디지털 디바이스 / 모바일 / 보안 / 스마트폰 / 애플리케이션 / 웹서비스

HTML5 모바일 앱, ‘코드 주입 공격’에 취약

Phil Johnson | PCWorld 2014.11.06
최근 몇 년 간 모바일 개발자들 사이에서 대세로 자리 잡은 언어는 바로 HTML5다. 네이티브 앱과는 달리, 플랫폼에 구애받지 않고, 개발 시간은 짧으며, 유지보수가 쉽다는 것이 장점으로, 가트너는 2016년 전체 모바일 앱 가운데 50% 이상이 HTML5로 개발될 것으로 예상했다. 그러나 HTML5로 개발한 모바일 앱이 코드 주입 공격에 더 취약하다는 심각한 결함이 발견됐다.

미국 시라큐스 대학교(Syracuse University)의 연구팀은 일부 HTML5 모바일 앱에서 이와 같은 결함을 발견했다고 발표했다. HTML5 모바일 앱의 취약점을 이용해서 모바일 기기에 악성코드를 주입하면, 해커는 기기에 저장된 데이터에 액세스할 수 있을 뿐만 아니라, 해킹 공격을 시도할 수도 있다. 현재 코드 주입 공격에 대한 안정성을 갖춘 네이티브 앱이 점차 개발이 편리한 HTML5로 전환됨에 따라, 모바일 기기의 보안성은 더욱 악화할 것으로 보인다.

미들웨어의 문제
HTML5는 HTML5와 자바스크립트를 지원하는 웹컨테이너 내에서 동작하는데, 안드로이드의 웹뷰(WebView)가 대표적인 예다. 웹컨테이너는 운영체제를 보호하기 위해 해당 코드를 샌드박스하는 반면, 미들웨어는 카메라 접근과 같은 네이티브 언어 안의 특정 시스템을 호출하기 위해 자바스크립트를 허용한다. 이 점이 바로 코드 주입 공격에 활용되는 부분이다.

일반적으로, 웹 프레임워크는 교차 사이트 스크립팅(XSS)에 감염되기 쉬운데, HTML로 작성된 콘텐츠나 자바스크립트와 코드를 인식하고, 자동으로 코드를 실행하기 때문이다. 특히 모바일은 위치 데이터 접근, 연락처 접근, 카메라 접근과 같은 권한을 ‘부여’한다는 점에서 더 위험하다.

또한, PC 웹브라우저와는 달리 모바일 기기에서는 악성 코드가 전송될 수 있는 채널이 더 많다. 예를 들어, 악성 코드는 와이파이 핫스팟 SSID나 QR코드, 바코드, 미디어 파일의 메타데이터에 주입될 수 있다. 악성 코드가 주입된 앱 하나를 내려받기만 해도 다른 앱이나 SMS을 통해 악성 코드가 다른 기기로도 전파될 수 있다.

시라큐스 대학 연구팀은 기존 HTML5로 작성된 모바일 앱이 이와 같은 방식으로 공격당할 수 있다고 설명했다. 특히, 연구팀은 오픈소스 미들웨어로 유명한 폰갭(PhoneGap)으로 개발된 앱을 살펴봤다. 폰갭은 웹컨테이너 대신, 모바일 기기에 액세스할 수 있는 플러그인을 사용한다. 186개의 폰갭 플러그인 가운데 77개가 악용됐는데, 해당 플러그인은 외부 채널로부터 악성 코드가 주입된 데이터를 전송받은 뒤, 이 코드를 실행할 수 있는 웹 컨테이너로 반환한다.

연구진은 폰갭으로 개발된 764개의 무료 안드로이드 앱 가운데 2개에 코드 주입 공격을 성공적으로 수행했다. 매우 적은 성공률(0.26%)이라고 볼 수 있겠지만, 구글 플레이 스토어에는 이보다 더 많은 무료 앱이 등록돼 있다는 점을 고려해야 한다. HTML5로 작성된 모바일 앱의 숫자가 많을수록, 코드 주입 공격을 당할 수 있는 앱은 더 많아진다.

시라큐스 연구팀은 코드 주입 공격을 막을 방법으로 XSS에도 적용된 다음과 같은 3가지 방식을 활용하라고 조언한다.

- 데이터에 포함된 코드를 검출한다.
- 신뢰할 수 없는 태그, 속성, 이벤트 등을 블랙리스트에 등록하고, 실행을 허용하지 않는다.
- 신뢰할 수 없는 코드가 요청하는 허가를 제한한다.

모바일 앱 개발에 있어서 HTML5는 매우 편리한 언어이며, 새로운 비즈니스를 창출할 기회를 제공한다. 만약 HTML5로 앱을 개발하고자 한다면, HTML5 보안에 관련한 최신 기술 동향을 반드시 습득해야 한다. editor@itworld.co.kr

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

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

Copyright © 2023 International Data Group. All rights reserved.