Skip to main content
QUICK REVIEW

[論文レビュー] Code Injection Attacks on HTML5-based Mobile Apps

Xing Jin, Tongbo Luo|arXiv (Cornell University)|Oct 28, 2014
Web Application Security Vulnerabilities参考文献 21被引用数 14
ひとこと要約

本論文は、PhoneGap などのフレームワークを用いて構築された HTML5 ベースのモバイルアプリにおけるコードインジェクション脆弱性を調査し、2次元バーコード、Wi-Fiスキャン、Bluetooth接続といった攻撃ベクトルを通じて JavaScript インジェクションを悪用することで、完全なアプリの改ざんが可能になることを実証している。研究では、分析対象の 186 個の PhoneGap プラグインのうち 11 個が脆弱であると特定し、2 つの本番アプリで実際の攻撃が行われたことを確認した。これは、広く使われているクロスプラットフォーム開発モデルにおける深刻なセキュリティリスクを露呈している。

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.

研究の動機と目的

  • Web テクノロジーや PhoneGap のようなミドルウェアに依存する HTML5 ベースのモバイルアプリのセキュリティを評価すること。
  • バーコードスキャン、Wi-Fi スキャン、Bluetooth 接続といった一般的なアプリ機能が、コードインジェクション脆弱性を引き起こすかどうかを調査すること。
  • アプリ機能を拡張するために使用される PhoneGap プラグインのうち、脆弱なものを同定および分析すること。
  • これらの脆弱性が、既存の本番アプリで実際に悪用可能であることを実証すること。
  • ハイブリッドモバイルアプリアーキテクチャにおけるインジェクションリスクを軽減するための、開発者およびベンダー向けの実用的知見を提供すること。

提案手法

  • コードインジェクション脆弱性の検出を目的とした、186 個の PhoneGap プラグインに対する体系的で静的および動的解析。
  • 2次元バーコードスキャンや Wi-Fi アクセスポイントの列挙といった一般的な攻撃ベクトルをシミュレートするための例題アプリの開発およびデプロイ。
  • ユーザーが提供するデータやデバイスとの相互作用から生じる信頼できない入力源を通じて、JavaScript インジェクションを悪用すること。
  • 実際の HTML5 ベースのモバイルアプリのリバースエンジニアリングにより、攻撃の実行可能性を検証し、実世界への影響を評価すること。
  • 制限されたハイブリッドアプリ実行モデル内での標準的なウェブベースの攻撃手法(XSS やコマンドインジェクションなど)の使用。
  • 制御された実験を通じた攻撃チェーンの検証および特権昇格やデータ漏洩の確認。

実験結果

リサーチクエスチョン

  • RQ1PhoneGap や類似フレームワークを使用する HTML5 ベースのモバイルアプリに対して、コードインジェクション攻撃が実際に成功するか?
  • RQ2ハイブリッドアプリにおける一般的なアプリ機能のうち、インジェクション攻撃に対して最も脆弱なものは何か?
  • RQ3広く使われている PhoneGap プラグインに、インジェクション脆弱性がどれほど広がっているか?
  • RQ4これらのインジェクションベクトルを通じて、実世界の HTML5 ベースのモバイルアプリが実際に攻撃可能か?
  • RQ5このような攻撃の実際の影響は、データ漏洩やシステム改ざんの観点でどのようなものか?

主な発見

  • 分析対象の 186 個の PhoneGap プラグインのうち 11 個が、入力の不適切なサニタイズによってコードインジェクション攻撃に対して脆弱であることが判明した。
  • 2次元バーコードのスキャンや Wi-Fi ネットワークへの接続といった、デバイスとの相互作用から生じる信頼できない入力を悪用することで、攻撃者は悪意ある JavaScript をインジェクトできる。
  • 本研究では、2 つの実際の HTML5 ベースのモバイルアプリがコードインジェクションに対して脆弱であることを確認し、実世界での攻撃可能性を実証した。
  • Bluetooth 接続や MP4 ビデオ再生といった機能は、入力が適切に検証されない場合、任意のコード実行が可能になる可能性がある。
  • ウェブベースのロジックとネイティブプラグインへのアクセスが組み合わさることで、ハイブリッドアプリの攻撃表面が顕著に拡大する。
  • たとえ無害に思えるユーザー入力であっても、脆弱なプラグインを介して処理されると、完全なアプリの改ざんに繋がる可能性があることが本研究で明らかになった。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。