为什么 Android 恶意软件的研究论文多于 iOS 恶意软件?

信息安全 恶意软件 安卓 IOS 研究
2021-08-27 10:02:28

基于这个问题

为什么 Android 恶意软件的研究论文多于 iOS 恶意软件?

4个回答

Android拥有87%的市场份额即使攻击者设法感染了一小部分,在漏洞修复或检测到恶意软件之前,他们仍然可以在很短的时间内覆盖很多设备。

Android 存在臭名昭著的碎片问题,大多数 android 设备在 3 到 4 年后就会丢失安全更新,并且永远容易受到新漏洞的攻击。这给了攻击者很大的时间来通过各种渠道传播恶意软件,直到它们被 Google Play 商店和反恶意软件机构捕获。因此,针对 Android 设备构建了更多恶意软件。

Android 允许闪烁自定义图像,这些图像可用于获得 root 访问权限。这对于研究人员禁用某些 SELinux 策略、自定义内核、将调试器附加到恶意软件、转储其内存以及分析恶意软件在真实环境中的后期利用行为非常有用。

高通、三星和联发科为其 SoC 发布了平台工具,这些工具甚至可以刷新硬砖设备。这降低了研究成本,如果实验出错,无需专门的硬件程序员即可返回安全状态。使用这些工具,该过程还可以自动测试不同操作系统版本和通用系统映像中的恶意软件样本。

我能想到几个原因:

  1. 安卓是开源的

    这使得分析其工作原理和识别易受攻击的代码变得更加容易。

  2. 用的比较多

    使用 Android 的人比使用 iOS 的人多,因此由此产生的恶意软件会感染更多的人。

  3. 模拟器更易于访问

    Android 模拟器更易于访问。这使得测试不同的 Android 版本变得更加容易。

  4. 侧载非常容易

    正如罗伯特正确评论的那样,向某人发送随机 APK 很容易,他们可能会安装。

  5. 自定义 ROM

    有数百种自定义 ROM 可用,其中一些禁用了安全功能。它们主要用于开发用途,但有些人将其用作默认 ROM。

为 Android 编写恶意软件更容易且更有利可图,因此与 iOS 相比,关于 Android 恶意软件的研究和研究论文更多。

分解为什么恶意软件在 Android 中更常见:

更轻松

Android 允许开发者有更多的自由(也可以被恶意利用),有几点值得一提:

  • Android 可以通过设计“扎根”,即默认图像很容易替换为开发人员(黑客/脚本小子/任何东西)想要的任何东西
  • Android 允许侧面加载应用程序,像点击“坏”链接这样简单的操作可能会导致在后台进行恶意下载,而消费者只能看到一个空白屏幕 - 或者恶意行为者选择的任何其他内容。
  • Android 的模拟器不需要任何特定的硬件,而 iOS 基本上需要一台苹果电脑,或者 1k+ 的投资(我说基本上是因为,是的,有办法绕过它)

Android 在安全更新方面也存在问题。任何时候都有 X 数量的供应商运行 Y 版本的 android,通常是对操作系统进行了自己的定制,制造商的支持平均从 1 到 4 年不等。我以前购买过根本不允许您更新操作系统的Android 平板电脑。将此与 Apple 在简化的设备系列中提供更长的支持和一致的更新进行比较。很容易忘记在安全讨论中集成软件+硬件的方式 - 这不仅仅是关于软件和补丁。

更有利可图

Android 在市场份额上遥遥领先,即使 iPhone 用户的平均收入明显更高,Android 用户的绝对数量意味着成功的漏洞利用可以覆盖更多的人,从而带来更多的利润。

其他注意事项

我经常看到 Android 开源是它不那么安全的一个原因——我个人反对这个理论。一般来说,大型的、得到良好支持的开源项目与它们的闭源项目一样安全,甚至更安全。此外,像苹果和微软这样的公司希望他们的源代码从他们的安全计划开始就被完整地公开。他们知道无限期地隐藏几乎是不可能的,最好不要依赖“隐藏的源代码”来确保安全。

最后我想补充一点,Android 可能会有更多的恶意软件,但这并不意味着 iPhone 天生就更安全这只是(黑)市场所决定的。

除了恶意软件更常见之外,该项目的开源性质允许更多的安全研究人员审查和分析代码,与 iOS 相比,这也增加了有关 Android 的研究论文数量。感谢@Nosajimiki 明确了这一点/拓宽了这个答案的视角

其他答案集中在 Android 是碎片化的、更易于访问并且拥有更大的市场份额这一事实上。虽然这一切都非常正确,但还有一些其他的事情让恶意软件变得更加有趣:

  • 与 iOS 相比,Android 提供了更多可供应用程序滥用的功能。即使不必利用漏洞,恶意软件也可以诱骗用户授予它某些非常危险的权限。一些例子:
    • 应用程序可以请求允许它们在其他应用程序之上绘制的SYSTEM_ALERT_WINDOW权限。这通常与向用户提供虚假覆盖窗口的银行木马一起使用。
    • 应用程序可以注册为无障碍服务这允许他们从屏幕上读取内容,以及在设备上进行输入触摸以代表用户执行操作。一旦授予此可访问权限,恶意软件通常会禁用 Google Play Protect,为自己提供所有其他必要的权限,在启动器中隐藏自己,并使用户更难卸载它。Accessibility Service 也可用于创建 KeyLogger。
    • 应用程序可以注册为传入文本消息的默认SMS 处理程序,这允许它们轻松拦截 mTAN/2FA 令牌,或确认移动订阅。
  • Android 10 以下的所有设备都容易受到StrandHogg 2的攻击,这是 Android 任务管理方式中的一个漏洞。应用程序无法保护自己免受这种情况的影响,大多数用户还需要很多年才能拥有 Android 10 或更高版本。
  • 一些 Android 供应商将提供安全补丁,但不提供操作系统升级。这意味着虽然它们可能会受到特定漏洞的保护,但设备将无法保护自己免受与 API 相关的问题(例如上面列出的 StrandHogg 2 漏洞)的影响。
  • Android 应用程序可以在运行时加载代码这意味着应用程序可以将所有恶意代码放在远程服务器上,并且仅在满足特定条件时才加载该代码。这是 Android 恶意软件经常进入 Google Play 商店的一种方式,因为在 Play 商店的(自动)安全验证期间不会显示恶意行为。谷歌确实试图阻止动态代码加载,因为它违反了 Play 商店 EULA,但恶意软件会尽可能地隐藏这一点。

Android 碎片化的事实绝对是真实的,但大多数恶意软件甚至都不会尝试获取 root 权限。因为它是如此分散,实际上创建一个可以在多个 Android 设备上可靠运行的漏洞利用实际上比在 iOS 上需要更多的努力。这就是为什么Android 的零点击漏洞现在比 iOS 更有价值的原因之一。

如果你想攻击 iOS,你将不得不利用需要大量投资的已知或未知漏洞。这确实发生了,但它通常是有针对性的攻击,而不仅仅是为了赚钱。此外,iOS 更新可以在很短的时间内交付给最终用户,新 iOS 版本支持的 iPhone 数量也令人印象深刻。这使得使用已知漏洞变得不那么有趣了。