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.
翻译:基于 HTML5 的移动应用程序越来越受欢迎, 主要是因为它们比本地应用程序更容易在不同的移动平台上移植。 基于 HTML5 的应用程序使用标准的网络技术, 包括 HTML5、 JavaScript 和 CSS ;它们依赖某些中间软件, 如PhoneGap, 与基础OS 互动。 知道 JavaScript 受到代码注射攻击, 我们对基于 HTML5 的移动应用程序进行了系统研究, 试图评估依赖网络技术开发移动应用程序是否安全。 我们的发现令人惊讶。 我们发现, 如果基于 HTML5 的移动应用程序成为大众化应用, 我们发现基于目前我们通常做的东西的预测- 任务可能变得危险。 包括阅读 2D 条码, 扫描 Wi-Fi 接入点, 播放 MP4 视频, 与蓝牙设备配对等。 本文描述了基于 HTML5 的应用程序是如何变得脆弱的, 攻击者如何通过多种渠道利用其脆弱性, 以及什么损害可能是攻击者所能实现的。 我们使用 186 工具的功能。