Cordova 安全性:可以修改已部署应用程序的 HTML/JS 文件吗?

Posted

技术标签:

【中文标题】Cordova 安全性:可以修改已部署应用程序的 HTML/JS 文件吗?【英文标题】:Cordova security: Possible to modify HTML/JS files of deployed application? 【发布时间】:2016-03-16 11:13:44 【问题描述】:

我们正在安全敏感的上下文中构建 iosandroid Cordova 应用程序。

虽然我们已经在使用多种技术来保护我们的应用程序(例如Secure Storage Plugin、SSL Pinning 和其他技术),但有一个问题到目前为止我们还没有找到明确的答案:

攻击者(可能使用恶意软件,尤其是在 Android 上)是否有可能修改在应用程序下载并安装后正在执行的源文件(html、JS,甚至可能是更原生的部分)用户使用适当的渠道(Android 和 iOS 应用商店)?

到目前为止,我们可以想到两种主要的攻击场景:

场景 #1:

攻击者可以读取源代码 攻击者可以读取本地存储的内容 攻击者无法读取加密存储的内容 攻击者无法修改执行的代码

场景 #2:

攻击者可以修改被执行的代码(从而覆盖和拦截应用程序和加密存储之间的所有通信)

虽然我们当前的措施可以保护我们免受场景 #1 的攻击,但我们想知道场景 #2 的攻击是否可能(可能仅在有根的 Android 设备上?)以及如何在 Cordova 中防范这些攻击。非常感谢!

注意:这个问题不是关于攻击者能够读取我们应用程序的源文件的问题。虽然我们知道我们可以使用不同形式的混淆来保护自己免受这种情况的影响,但我们也知道我们几乎总是可以进行去混淆,而且并不在意这一点。

【问题讨论】:

【参考方案1】:

我在 Cordova 指南上找到了这个

'不要假设你的源代码是安全的

由于 Cordova 应用程序是由打包在本机容器中的 HTML 和 javascript 资产构建的,因此您不应认为您的代码是安全的。可以对 Cordova 应用程序进行逆向工程。

https://cordova.apache.org/docs/en/latest/guide/appdev/security/

【讨论】:

嗨,谢谢。然而,正如发布的那样“这个问题不是关于攻击者能够读取我们应用程序的源文件”。

以上是关于Cordova 安全性:可以修改已部署应用程序的 HTML/JS 文件吗?的主要内容,如果未能解决你的问题,请参考以下文章

Cordova iOS - 如何更改最低部署版本?

如何动态更改Cordova白名单?

如何使用 Cordova 部署 SenchaTouch 应用程序?

WebStorm 之 Cordova 环境搭建

将 cordova 应用程序部署到连接的设备时无法部署到设备

Cordova IOS 部署