Skip to main content
QUICK REVIEW

[논문 리뷰] Code Injection Attacks on HTML5-based Mobile Apps

Xing Jin, Tongbo Luo|arXiv (Cornell University)|2014. 10. 28.
Web Application Security Vulnerabilities참고 문헌 21인용 수 14
한 줄 요약

이 논문은 PhoneGap 같은 프레임워크를 사용해 개발된 HTML5 기반 모바일 앱에서의 코드 인젝션 취약성을 조사하며, 2차원 바코드, Wi-Fi 스캐닝, 블루투스 페어링 등의 공격 벡터를 통해 악성 JavaScript를 주입하여 앱 전체를 해킹할 수 있음을 입증한다. 연구에서는 분석한 186개의 PhoneGap 플러그인 중 11개가 취약하다고 밝히며, 두 개의 실존 앱에서 실제 공격이 이루어졌음을 확인하여 널리 사용되는 하이브리드 앱 개발 모델에 심각한 보안 위험을 드러낸다.

ABSTRACT

HTML5-based mobile apps become more and more popular, mostly because they are much easier to be ported across different mobile platforms than native apps. HTML5-based apps are implemented using the standard web technologies, including HTML5, JavaScript and CSS; they depend on some middlewares, such as PhoneGap, to interact with the underlying OS. Knowing that JavaScript is subject to code injection attacks, we have conducted a systematic study on HTML5-based mobile apps, trying to evaluate whether it is safe to rely on the web technologies for mobile app development. Our discoveries are quite surprising. We found out that if HTML5-based mobile apps become popular--it seems to go that direction based on the current projection--many of the things that we normally do today may become dangerous, including reading from 2D barcodes, scanning Wi-Fi access points, playing MP4 videos, pairing with Bluetooth devices, etc. This paper describes how HTML5-based apps can become vulnerable, how attackers can exploit their vulnerabilities through a variety of channels, and what damage can be achieved by the attackers. In addition to demonstrating the attacks through example apps, we have studied 186 PhoneGap plugins, used by apps to achieve a variety of functionalities, and we found that 11 are vulnerable. We also found two real HTML5-based apps that are vulnerable to the attacks.

연구 동기 및 목표

  • 웹 기술과 PhoneGap와 같은 미들웨어에 의존하는 HTML5 기반 모바일 앱의 보안을 평가하기 위해.
  • 바코드 스캔, Wi-Fi 스캐닝, 블루투스 페어링과 같은 일반적인 앱 기능이 코드 인젝션 취약성을 유발하는지 조사하기 위해.
  • 앱 기능을 확장하기 위해 사용되는 PhoneGap 플러그인 중 취약한 항목을 식별하고 분석하기 위해.
  • 기존 실존 앱에서 이러한 취약점이 실제로 어떻게 악용될 수 있는지 보여주기 위해.
  • 하이브리드 모바일 앱 아키텍처에서 인젝션 위험을 줄이기 위한 개발자와 제조사에게 실질적인 통찰을 제공하기 위해.

제안 방법

  • 인젝션 취약성을 탐지하기 위해 186개의 PhoneGap 플러그인에 대한 체계적 정적 및 동적 분석을 수행하기 위해.
  • 2차원 바코드 스캔 및 Wi-Fi 액세스 포인트 목록 조회와 같은 일반적인 공격 벡터를 시뮬레이션하기 위해 예제 앱을 개발하고 배포하기 위해.
  • 사용자 제공 데이터 또는 장치 상호작용과 같은 신뢰할 수 없는 입력 원천을 통해 JavaScript 인젝션을 악용하기 위해.
  • 실제 HTML5 기반 모바일 앱을 역공학하여 악용 가능성과 실제 영향을 평가하기 위해.
  • 제한된 하이브리드 앱 실행 환경 내에서 표준 웹 기반 공격 기법(예: XSS 및 명령어 인젝션)을 사용하기 위해.
  • 통제된 실험을 통해 공격 체인을 검증하고 권한 상승 및 데이터 유출 여부를 확인하기 위해.

실험 결과

연구 질문

  • RQ1PhoneGap 또는 유사 프레임워크를 사용하는 HTML5 기반 모바일 앱에 대해 코드 인젝션 공격이 성공적으로 수행될 수 있는가?
  • RQ2하이브리드 앱에서 어떤 일반적인 앱 기능이 인젝션 공격에 가장 취약한가?
  • RQ3넓게 사용되는 PhoneGap 플러그인에서 인젝션 취약성은 얼마나 퍼져 있는가?
  • RQ4실제 세계의 HTML5 기반 모바일 앱이 이러한 인젝션 벡터를 통해 해킹될 수 있는가?
  • RQ5이러한 공격의 실질적 결과는 데이터 泄露 및 시스템 해킹 측면에서 어떻게 나타나는가?

주요 결과

  • 분석한 186개의 PhoneGap 플러그인 중 11개가 코드 인젝션 공격에 취약하며, 주로 입력 값의 잘못된 정제로 인해 발생한다.
  • 사용자 제공 데이터나 장치 상호작용(예: 2차원 바코드 스캔 또는 Wi-Fi 네트워크 연결)에서 온 신뢰할 수 없는 입력을 악용해 악성 JavaScript를 주입할 수 있다.
  • 두 개의 실존하는 HTML5 기반 모바일 앱이 코드 인젝션에 취약하다는 것이 확인되어 실제 공격 가능성을 입증했다.
  • 입력 값이 적절히 검증되지 않으면 블루투스 페어링 및 MP4 비디오 재생과 같은 기능이 악성 코드 실행에 악용될 수 있다.
  • 웹 기반 로직과 네이티브 플러그인 액세스의 조합으로 인해 하이브리드 앱의 공격 표면이 크게 확장된다.
  • 심지어 보통은 무해해 보이는 사용자 입력이라도 취약한 플러그인을 통해 처리될 경우 전체 앱이 해킹될 수 있음을 연구가 드러냈다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.