2

我目前正在研究不同的 Android 恶意软件以及它们如何影响应用程序。然而,我的研究表明,Android 恶意软件是通过重新包装的假冒应用程序或带有隐藏恶意软件的原始应用程序传播的。

  • 如果是这样,是否意味着您的设备只有在您下载了已被感染的应用程序时才会被感染?或者是否有可能已经安装在设备中的合法应用程序被感染?
  • 是否存在可以感染已安装应用程序的现有恶意软件?它是什么?
  • 恶意软件如何感染已安装的应用程序?
  • 恶意软件可以利用的应用程序中可能存在哪些不同的安全漏洞?
  • 您如何保护应用程序免受恶意软件的侵害?避免恶意软件利用的编码安全措施是什么?

请放心,我无意创建恶意软件。我问这些问题是为了了解代码中是否有任何方法可以保护我的应用程序免受恶意软件的侵害。我正在开发一个移动银行应用程序,因此应用程序的安全性至关重要。

4

2 回答 2

2

免责声明:我绝不是安全专家,所以请用一粒(或一磅)盐来接受我的话。

恶意软件可能会感染已root手机上的其他应用程序。如果恶意软件设法说服用户授予它超级用户权限(这并不难),恶意软件可以做几件事,允许它在其他应用程序中“注入”自己的恶意代码,在这种情况下,每次被感染应用程序运行时,它也可以感染其他应用程序。

对于非 root 手机,恶意软件更难注入自己的代码。如果有一个应用程序的服务从 Intent 包中读取 dex 代码并将其存储在其本地目录中,然后使用 ClassLoader 加载和执行该代码,则恶意软件将能够注入恶意代码,前提是目标应用程序确实如此不需要任何权限,并允许任何人发送这样的意图。但是,找到这样的应用程序的机会非常渺茫。

请注意,在大多数情况下,保护应用程序免受恶意软件攻击是操作系统的功能,而不是应用程序本身。如果操作系统允许任何第三方应用程序为所欲为,那么您的应用程序将无法保护自己(禁止从客户端应用程序切换到 Web 应用程序,即使这样,在浏览器中注入恶意 JS 也可能会更困难)。因此,您无法在植根手机上保护自己。而在非root手机上,操作系统已经做了很好的隔离,所以除非你盲目地相信外部输入并将其视为可执行代码,否则你不需要做太多的事情来保护自己。

于 2012-09-21T03:16:13.877 回答
0

我可以想象,恶意软件可能能够破解 android-os,通过被黑的意图机制用自己的银行表单(活动)“输入密码”替换一个银行表单(活动)“输入密码”。android-intent-mechanism 控制打开哪些表单(活动)。

因此,根本不需要修改您的银行应用程序来损害银行客户。但这只是假设。

于 2012-09-21T05:40:15.390 回答