导语:在这篇博文中,我们试图找出一些根植于Android生态系统的哲学和整体设计的因素。基于Android的发展历史和谷歌的哲学,这些元素预计不会有很快及很大的改变,因此它们的影响不容忽视。
我们花了一些时间利用基于在网上流传所看到的一些方法了解了自定义样本的开发。在花费无数个小时坐在Android Studio面前,我们越来越清楚开发正常的Android应用程序和恶意软件的难易程度。对基于Android的恶意软件系列的分析使我们得出一个结论,尽管谷歌做出了所有努力,但Android仍然是受经济利益驱动的威胁参与者的首选平台。操作系统供应商以及AV领域的许多其他参与者都致力于检测各种恶意软件并识别其背后的威胁行为发起者,尽管工作正常,但Android恶意软件样本的数量却仍在增加。
在这篇博文中,我们试图找出一些根植于Android生态系统的哲学和整体设计的因素。基于Android的发展历史和谷歌的哲学,这些元素预计不会有很快及很大的改变,因此它们的影响不容忽视。
灵活性是整个平台的理念
Android已被设计为免费平台,为开发人员和最终用户提供了自由。在Android的根源(Eclair,Froyo,他们敲响了铃声吗?),美国的智能手机市场由臭名昭着的黑莓主导,即便是美国总统巴拉克奥巴马也很自豪。当时Apple只在他们的iPhone原型上工作。基于开源Linux的Android设计人员选择了不同的路径:他们选择了一种方法,这种方法限制了对应用程序开发人员和最终用户的限制。早在2005年,谷歌推出安卓的灵活性和可升级性就是手机制造商和移动服务提供商的主要卖点之一。
API困境
从开发人员的角度来看,要开发他们的第一个Android应用程序,只需要免费下载的SDK,其中已包含一个模拟器模块。直到通过官方市场(现在的Google Play)平台分发他们的应用程序,开发人员不必支付任何费用或需要注册到供应商的开发人员计划。此外,开发商可以自由选择他们的分销平台,官方市场只是其中一种选择。因此,开发一个恶意软件非常容易,因为威胁人员的观点实际上没有成本来生成新的开发人员密钥。
Android平台为开发人员提供了强大的功能。例如,获取设备管理员权限非常容易,这为需要权限请求的应用程序提供了对操作系统安全设置的深度访问。一个类似的例子是Accessibility API,它们被恶意软件广泛滥用以窃取用户密码,银行隐私数据和其他敏感数据。
实际上,一旦恶意软件安装在Android上并且第一次启动,恶意软件通过强制重新启动Device Administration API或Settings应用程序的辅助功能启用程序的部分来强制用户授予其所需的任何权限的行为非常常见。
一旦用户最终放弃操作,该恶意软件就会驻留在一个难以从系统中移除的位置 – 在大多数情况下,至少得需要某种出厂重置才能清除,这显然会从设备中删除所有用户数据。即使在这种情况下,我们也知道有一些恶意软件家族,它们根据操作系统的不同特性并将自己嵌入系统分区。在这种情况下,需要从干净的源进行系统升级。
用户的错误
从用户的角度来看,Android提供了很大的灵活性。首先,用户可以从他们想要的任何来源安装应用程序,这对于市场来说非常方便,在应用程序方面它们对价格非常敏感。另一方面,Android为用户提供了许多安全选项(双因素身份验证,全盘加密,生物识别身份验证等),但最终还是要用户来决定是否启用这些功能。根据用户的选择,运行相同版本Android的同一块硬件可以通过严格的启动链,验证提供带有复杂密码的完整磁盘加密,并且每个功能也可以关闭,从而最大限度的降低安全性或结果可能是无安全性。
如前所述,用户在Android安全领域发挥着关键作用。这是一项严肃的任务 – 使用可能对操作系统的安全级别有害的设置进行调整。但是,大多数Android用户并不知道个人设置对安全会有什么影响以及它们在操作中的实际含义。为了解决这个问题,操作系统设计人员会尽力在用户选择禁用重要安全功能时告知用户可能产生的后果。例如,“设备管理员” 截屏中,这是大多数情况下恶意软件永久性感染之前的最后一步。
设置应用中的设备管理员截屏
但是,为了理解屏幕上显示的文本,需要一定程度的识字率。尽管欧盟和美国的大多数人都接受过某种形式的教育,但即使在经济发达地区,功能性文盲仍然是一个问题(例如,根据意大利的研究, 16-65岁之间有47%的人能阅读书面文字但他们无法理解其含义。)了解屏幕上显示的含有技术性的警告可能会导致许多用户出现疑惑 – 大多数第三方应用商店都会提供合法应用程序的盗版和后门副本。
此外,需要一些与IT相关的背景来了解各个设置的潜在后果,并且大多数用户没有这样的背景。看起来很明显,但这是一个关键点,因为OS GUI设计者倾向于创建界面,这需要更少的心理活动和知识来有效的利用。因此,用户可以轻松的禁用安全功能,因为他们可以使用操作系统的其他模块,例如,当一个恶意软件显示“设置”应用的“允许第三方应用”部分时,大多数用户根本没有意识,在最糟糕的情况下,他们只需轻轻一点就可以放弃设备上的任何数据。
结论
我们总结了导致Android恶意软件普遍存在的一些因素,这些因素可能会停留在谷歌的所有努力中。随着Android越来越新的API版本的出现,许多明显的漏洞得到了修复,例如,在8.0 Oreo中,“向用户提供的设备管理员屏幕一遍又一遍的显示”方法与早期版本相比具有有限的潜力,但问题的根本原因在于Android的基础和设计哲学。只要这些因素保持不变,那我们预计Android恶意软件市场是不会很快萎缩的。