-1

我有一个项目即将推出,我目前正在评估该方法(使用 PhoneGap 的本机与混合)。关于这个评估过程(主要是大量的谷歌搜索),我对大多数观点都很清楚,除了一个。安全。

我读过的很多文章都说混合应用程序的安全性低于原生应用程序,但没有详细说明细节。我想了解,究竟它是如何不安全的。

只有一篇文章深入探讨了这个话题,说安全风险可能是:

  • 应用源代码
  • 静态数据
  • 传输中的数据
  • 网址安全问题

我想更详细地了解这个主题。有人可以详细说明一下或指出一些有用的资源吗?

PS:我知道这是一个不集中/开放式的问题,但我真的被困在这个问题上,而且我已经经历了很多谷歌搜索。版主,请不要关闭此线程。

4

1 回答 1

1

纯粹是推测(根据本机、iOS 和 Android 上的混合应用程序的经验),但混合应用程序需要通过将数据绑定到 API 并以通用数据格式存储来更易于访问。这隐含地允许更多的攻击向量,因为您通过混合数据使数据本质上更易于访问。作为本机应用程序,应用程序和相关数据必须以专有格式存储。这意味着必须专门构建攻击者或恶意软件以解决该格式的数据访问问题,而对于混合应用程序,恶意软件或攻击者可以通过通用 API 或通用数据存储格式访问数据。

此外,每当您与服务器“通过网络”交互时,本机应用程序使用低级通信,打开套接字连接,而对于混合应用程序,数据(通常)被封装在 HTTP 之上。这意味着如果攻击者所做的只是嗅探端口 80 上的流量(与某些奇怪协议中的嗅探端口 2030 相比),攻击者需要克服的障碍就会更少。使用“混合”通信(通常再次通过 HTTP)与服务器交互的最常见方法之一是通过 URL。这意味着用户名和密码之类的内容将包含在以明文形式发送的 URL 中(作为一个愚蠢的示例)http://www.example.com/control_me?username=foo&password=bar:.

至于应用程序源代码,这又回到了可访问性。根据定义,混合应用程序源代码需要开放。它需要在多个平台上运行,在应用程序领域,当我们谈论混合应用程序源代码时,我们通常指的是 HTML5。这意味着您的整个方法可以下载和逆向工程(或只是打开并查看),因为您需要发送源代码才能使其在设备上运行。这与原生应用程序相比,原生应用程序基本上是编译的 java 或 Objective-c,很难或不可能“反编译”。

于 2013-02-25T11:24:19.977 回答