研究人员表示很多移动应用使用的共享第三方库可能通过“库内串通”增加移动数据被盗的风险。
英国剑桥大学罗宾逊学院教授Alastair Beresford以及牛津大学博士生Vincent Taylor及副教授Ivan Martinovic在论文《Intra-Library Collusion: A Potential Privacy Nightmare on Smartphones》中详细谈到了这个问题。
根据研究人员介绍,这个问题经常被忽视,因为移动安全“通常会分别检查应用和第三方库”,但是,他们声称如果这些共享库被同时用于移动数据盗窃,可能会造成更大损失。
“这种攻击,我们称之为库内串通,当单个库嵌入到设备的多个应用就可能发生这种攻击,它可利用组合权限来窃取敏感用户数据,”研究人员写道,“库内串通攻击的存在是因为,如果库包含与主机应用及流行库相同权限,则可能被设备中多个应用使用。”
该研究小组共研究3万部智能手机,他们发现由于不同应用被授予不同权限,恶意攻击者可整合每个应用的权限,以构建用户配置文件或执行移动数据窃取。
应用安全软件供应商Checkmarx公司应用安全战略全球主管Matthew Rose称,恶意攻击者可使用多种方法来感染共享库。
“通常来看,第三方库由维护代码库的人员来维护。由于这些库有很多贡献者,有时候很难让一个人来负责整个库代码,而这可能会允许被插入恶意代码,”Rose指出,“还存在另一个问题,这些库可能继承其他代码库的功能,所以在风险和对现有第三方库的利用方面存在相互作用。”
研究人员表示,广告库可能获得额外权限,这使得这种攻击更加危险,因为这些库可未经用户同意下跟踪用户。
该研究侧重于Android系统,这是由于Android设备安装的应用列表数据可用,但该研究小组指出他们认为在iOS上也同样是如此,因为iOS系统存在相似的访问控制和应用部署。
截至发稿时,谷歌和苹果公司都没有对此发表任何评论。
移动数据盗窃和权限变化
不幸的是,研究人员并没有简单的解决方案来缓解库内串通导致的移动数据盗窃风险。这些研究人员指出有一种方法可限制授予这些库的权限,但这样做可能会影响开发人员通过其应用获利的能力,这会对“进入市场的新应用开发人员造成威慑,而最终也可能会让用户受到影响”。
此外,该研究小组建议,运营应用商店的企业或者国家机构可指定政策或法律来检测和删除恶意的第三方库,但每种方法都有各自的问题。检测很困难,因为应用可能有合法的理由将数据发送到设备外,并且,这种执法可能无法超出应用程序的范围。
Fidelis 某公司威胁情报经理John Bambenek称:“恶意库可能不会被发现,但还有更简单的窃取移动数据的方法。”
“为了执行这种攻击,恶意攻击者需要创建一个库,由多个应用程序使用。随后他们会说服用户下载具有很多权限的应用,”Bambenek称,“在现实世界中,恶意攻击者首先会让受害者安装具有很多权限的应用,因为这样更直接和更容易。不过,我认为在短期内这种攻击不会被武器化。”
Rose称,更重要的问题是“人们在安装移动应用时需要知道它需要什么权限”。
“这个应用真的需要访问你的文件系统、地理位置或相机吗?请想一下该移动应用的预期用途是什么,并问自己是否需要比实际更多的权限,”Rose说,“如果权限请求与你的预期不符,则不要安装或者授予权限。”
Bambenek认为开发人员也需要谨慎小心,确保不会出现其应用通过超越权限尝试窃取移动数据。
“移动开发人员以及一般开发人员都需要关注编码安全性,以及最低权限,”Bambenek称,“开发人员应该采用这种开发模式,即编写只进行必要操作的代码,这样会非常有帮助。”