今天为大家推荐的是一篇被 USENIX Security 2023录用的论文——Credit Karma: Understanding Security Implications of Exposed Cloud Services through Automated Capability Inference,论文由来自中佛罗里达大学(UCF)、Meta、ServiceNow以及印第安纳大学(IUB)的多位研究人员合作完成并投稿。
在该论文中,研究人员关注了移动应用中广泛使用的云服务,提出了一种自动化的方法来提取应用中的云服务凭证,推断凭证操作云服务的能力,并验证这些能力是否超出了应用程序的合法需求(即过度授权)。研究人员进一步探究这些看起来非特权的能力结合起来是否会造成严重的数据安全问题。
研究背景
移动应用程序(应用)的日益普及导致了对后端云服务的强烈需求,例如数据存储、用户认证和通知推送等。云服务上存储和处理的海量敏感用户数据也促使攻击者将注意力转移到云平台,引发了一系列泄漏用户个人信息和公司/政府机密信息的事件。
事实上,应用已经成为了保障云服务的一个薄弱环节。之前的多项研究报告了应用中残留的云凭证会造成不安全的云访问。特别地,Zuo [75]系统地研究了应用中的云凭证,并指出高特权凭证(比如根用户凭证)的滥用是导致云数据泄漏的重要原因。基于此,主要的云服务商,如Google Cloud、Amazon Web Services (AWS) 和 Microsoft Azure,更新了他们的安全准则,以促使应用开发者正确配置并使用常规云用户凭证(比如IAM)来访问云服务,进而限制可能存在的数据泄漏。但是,这种方法的有效性完全依赖于应用开发者正确地配置常规云用户凭证的能力。历史迹象表明,这对于普通的开发者来说是一项艰巨的任务 — 任何小的配置错误都可能会导致严重的安全后果。因此,有必要对常规云用户凭证进行分析,判断它所拥有的细粒度的操作云服务的能力,以便更好的理解其潜在的安全影响。
核心思路
本文通过回答三个关键问题,来系统地研究暴露的云凭证,从而帮助更好地理解应用如何使用常规云用户凭证以及其安全影响:1)应用开发者在访问云服务时向云凭证授予哪些能力?2)应用开发者是否经常授予超过应用所需要的能力?3)超过需要的能力在何种情况下有害(当与其他看似无害的能力结合时,一种非特权的额外能力是否会导致针对云服务的大规模攻击)?
要回答这些问题,我们需要解决几个挑战。首先,与评估应用在其操作系统上的权限(比如Android Permission)不同,如何识别应用在其后端云服务上拥有的能力尚未得到充分解决。缺乏对云服务的可见性使得对应用的分析成为唯一可行的方法,但单独分析应用很难全面了解该应用在云服务上拥有的所有能力。其次,由于云服务的访问控制模型的复杂性和配置策略的不透明性,准确且细粒度的描述应用在其云服务上的能力很困难。为了解决第一个挑战,本文利用了一种称为induced transaction failure的动态探测方法来补充静态应用分析,进而在不影响数据安全的情况下来推断应用操作云服务的能力。另外,本文力图构建最基本的访问控制列表–<主体,客体,云操作>,以消除不同云服务的特定访问控制模型和策略造成的歧义。这项工作将这些想法和一套应用分析技术相结合,构建了一个名为PrivRuler的工具,使我们能够系统地调查应用中使用的云凭证,并识别可能导致用户数据泄露的凭证。
图1. PrivRuler设计
主要贡献
-
作者构建了PrivRuler,这是一种结合了静态应用分析和动态探测的自动化工具,可以准确推断移动应用所拥有的云能力。
-
作者对移动应用程序拥有的云功能及其安全影响进行了大规模的实证研究。调查结果表明,过多的云功能导致的安全风险普遍且严重,尤其是常规凭证组合带来的风险。
-
作者提出了几种启发式方法来识别可能被大规模攻击的移动应用程序。这种方法揭示了多种新的攻击方式,例如鱼叉式网络钓鱼攻击、大规模数据泄露、数据污染等。
研究发现
我们在三个流行的云平台(AWS,Microsoft Azure和阿里云)上评估了两种流行的移动后端服务类型:存储和消息推送。我们的实证研究包括从 Google Play 抓取的 1,358,057 个移动应用,其中 11,891 个应用被识别为使用了上述移动后端服务。我们发现 2,572 个较新的应用程序包含具有超出所需能力(即过度特权)的云凭证。这些应用程序证实了我们的假设,即仅仅鼓励应用程序开发人员不使用云根用户 凭证并不能解决问题。我们进一步确定了 1,667 个应用程序(在 2,572 个应用程序中,占 64.8%),它们的额外能力可能会导致对移动应用程序用户的大规模攻击。典型的攻击例子包括鱼叉式网络钓鱼攻击(攻击者可以使用精心设计的应用程序内通知消息针对任何或所有移动应用程序用户),大规模数据泄露(攻击者可以获取用户 PII、个人照片、合法记录、旅行日志等),以及数据污染攻击(攻击者可以向移动应用程序用户分发篡改过的恶意内容)。这些应用程序的总下载量已超过 7.65 亿次。
我们已经向移动应用程序开发人员、云供应商和 Google Play 进行了负责任的披露,并开始看到这项工作的影响——317 个应用程序已经更新到更新的版本,并更改了它们的云凭证 ;56 位移动应用程序开发人员通过电子邮件正式承认了我们的努力。
图2. 针对匿名智能家居应用的钓鱼攻击
总结
本文作者在之前研究工作(比如[75]等)的基础上,提出了一种系统的方法推断应用中的云凭证的能力,并检测开发者是否授予应用程序超出其合法需求的凭证。然后,作者研究暴露云凭证的安全影响,并演示云能力的组合如何导致严重的安全和隐私风险。作者实现了一个原型,并将其运行在三个主流云提供商的两个云服务上。作者对超过 130 万个应用程序的大规模实验研究表明,在可以提取凭证的应用程序中,有 27.3% 的应用程序拥有过度权限的云凭证,覆盖了数亿用户。进一步分析表明,这些权限过高的应用程序中的大多数都容易受到一系列数据攻击。作者已负责任地向云提供商和应用程序开发人员披露了我们的发现,从而帮助修复了数百个实际应用程序中的权限过高问题。笔者认为论文还存在着很多不足,例如针对应用程序的分析存在较多的漏报、利用了人工设计的启发式规则(而非自动的方法)判断应用程序是否会受到攻击、以及发现的易受攻击的应用程序难以自动化的验证等。论文中还有更多的发现,感兴趣的朋友可以去看看原文~
原文链接:https://www.usenix.org/conference/usenixsecurity23/presentation/wangxueqiang
原文始发于微信公众号(安全研究GoSSIP):G.O.S.S.I.P 阅读推荐 2023-02-02 Credit Karma