云同步中的MITC攻击分析

2016年第二届IEEE计算机与通信国际会议

云计算中客户端设备同步的云劫持攻击攻击树分析

Aaron Zimba, 陈洪松, 王昭顺
北京科技大学 计算机科学与技术系 中国 北京
电子邮件: azimba@xs.ustb.edu.cn.chenhs@ustb.edu.cn.zhswang@sohu.com

摘要

云计算具有许多无可争议的优势,其中最吸引用户迁移到云的一个好处是能够将其每个设备与云进行同步。A用户即使身处不同地点并使用完全不同的设备,借助云同步技术,也能够访问并复制数据变更到其所有已同步的设备上。然而,这种便利性是有代价的。实现这一理想功能的框架在安全性方面仍存在不足,因为与云同步的授权仅需用户在一次性认证后获得的同步令牌即可。这意味着任何持有该同步令牌的人都能够在本地和云端同步用户的资料,而无需提供任何登录凭据。因此,攻击者的任务就是获取这个始终存储在云用户客户端设备上的同步令牌,而这一目标可通过云中人(MITC)攻击来实现。

本文采用攻击树方法分析在云计算中客户端设备同步过程中MITC攻击的构成要素。基于该分析,我们进一步提出了部署预防措施时应重点关注的方面。

关键词 —云计算;云中人(MITC);攻击树;认证;同步令牌

一、INTRODUCTION

互联网技术的快速发展催生了诸如云计算等普适技术,这些技术在个人用户和企业中正稳步占据重要地位。从公共电子邮件到特定角色的软件,云计算显然不可避免,且必将持续存在[1]。这种新的计算方式带来了诸多吸引人的优势,包括成本效益、便利性、可扩展性、动态性等等[2]。云计算的基本理念是通过互联网访问计算资源和服务,而无需实际拥有相关基础设施,正是这种计算范式的转变引起了各方利益相关者的关注。

在这种虽非全新但日益普及的计算方式中,存在多种服务和部署模型,其中最流行的是在公共部署模型中的软件即服务(SaaS)[3]。

云服务用户通常订阅云服务提供商提供的服务。云服务提供商利用规模经济,集中资源以满足客户端的需求。这意味着用户能够共享资源,同时也隐含了对用户隐私和数据保护的需求。云服务提供商通过实施多种安全解决方案来响应这一需求,其中包括加密技术以应对机密性方面的威胁,以及认证和授权机制以应对完整性相关的攻击。随着云计算用户基数的扩大,新的需求不断涌现,需要服务提供商加以解决。云用户希望从任意位置、使用任意设备访问自己的数据。这明确表明,云端的用户数据必须与用户在任何时间选择使用的不同客户端设备保持同步。为了满足这一新需求,Dropbox[4]和GoogleDrive[5]等云服务提供商已采用数据同步服务,旨在实现云与多个客户端设备之间的数据同步。为了访问云端数据,用户必须通过提供有效凭据向云系统进行认证。然而,若每次设备尝试与云进行同步时都要求用户提供凭据,则会带来极大的不便。因此,云服务提供商进一步实施了授权协议[6],通过向已认证用户发放同步令牌,实现自动设备同步。这提升了用户体验,使用户更便捷地使用云服务。然而,这种认证与同步机制的实现方式存在固有缺陷,使其容易受到一种新型攻击——云中人(MITC)[7]攻击的威胁,该攻击正是利用了这些同步令牌。本文将探讨云同步的关键要素,采用攻击树方法分析MITC攻击,并提出最佳实践建议。

第二节介绍云计算中的认证与同步基础知识及相关概念,第三节阐述MITC攻击及其攻击树分析。相关文献在第四节中讨论,最后我们在第五节总结并提出最佳实践建议。

II. AUTHENTICATION和数据同步基础及相关概念

云计算的第三个特征[8]规定了将资源汇集在一起以满足不断变化的用户需求,这本身就带来了一项不可避免的任务,即要求云服务提供商不仅确保用户数据的安全,还要防止来自外部攻击者,也包括来自其他云用户。认证是为满足此类系统需求而实施的措施之一。

A. 认证

从概念上讲,认证是一个简单的过程,即一方根据所提供的凭证集的有效性被授予对系统资源的一组权限。在云计算中,这意味着用户通过提供相关信息向云系统进行自我识别,系统则对这些信息进行核对。然而实际上,成功实现这一过程并非易事。

上述过程存在许多难以预见的情况,包括网络攻击和系统故障。除开非蓄意攻击导致的系统故障不谈,认证过程本身必须应对网络攻击。在这方面,认证凭证集可能遭受三重攻击:
1) 在云服务提供商的系统上
2) Whilst在用户与云服务提供商之间的网络传输过程中
3) On用户的终端或其无意披露

在第一种情况下,认证凭据驻留在云系统上,攻击者需要获取代表这些凭据的文件。然而,云系统上的凭证集(即在此上下文中的用户ID和密码)通常不会以明文形式存储,而是通过单向映射函数进行加密或哈希处理。本文假设云服务提供商已针对此类攻击采取了足够的安全措施。

在第二种情况下,当认证凭据通过网络从用户传输到云系统时,攻击者通常会采用数据包嗅探技术来窃听线路,以获取相关信息从而进一步发动攻击。此处的假设仍然是系统已采用足够的安全措施来阻止此类攻击。

第三种在用户端发生泄露的情况引人关注,因为责任方取决于适用的服务级别协议(SLA)。因此,在此场景下,我们假设由认证泄露引起的任何差异均由SLA解决。因此,我们在考虑MITC攻击时假定认证过程不存在缺陷。如果情况如此,则只要提供正确的凭证集,用户便可随时登录云系统。然而如今,用户使用多种设备,例如笔记本电脑、平板电脑、智能手机、记事本、台式机等。这意味着他们每次使用这些设备时都必须提供登录凭据。尽管如此,用户还希望其云数据在所有这些多台设备上始终保持最新并同步。这一新的用户需求促使云服务提供商采用数据同步技术和解决方案。

B. 云数据同步

数据同步本质上是确保在给定的一组设备之间,数据实例保持一致性和统一性的过程。在云计算背景下,在云计算中,专用同步软件安装在客户端设备上,用于跟踪本地和云端的变化,任一位置的更改都会通过特定的更新算法在参与的设备之间进行复制。由于云服务器会更新数据实例中的任何更改并复制到所有相应的设备,因此可以认为参与的客户端设备通过云服务器间接地相互同步。图1展示了用户多个设备与云服务商之间的典型云同步环境。

示意图0

我们使用Synca表示云服务器与任意设备之间的直接同步,如图1中的实线转换所示;而设备间的间接同步,以虚线转换表示,则用Syncp表示。正如我们稍后将看到的,正是Syncp向Synca的实际转化使得MITC攻击成为可能。

云计算行业中有多个参与者采用不同的技术来实现数据同步。中国的百度云[9]和谷歌网盘[10]采用全文件时间监控同步机制,以协调云端与设备之间的数据。该方法使用退避算法来跟踪算法启动后可能发生的任何更改,如果在规定的时间范围内检测到其他更改,则丢弃此次更新;否则,将整个修改后的文件上传至云端进行同步。另一方面,作为云计算[11]领域最大的参与者之一,亚马逊在其亚马逊云驱动[12]服务中采用手动周期性同步。在这种模式下,数据集的更新通常需要手动同步到云端,或在一定时间窗口后自动同步。Dropbox虽然自行管理元数据,但使用亚马逊进行实际的数据存储[13],其利用Rsync算法[14]来确保参与设备之间的数据一致性。由于Rsync是一种原生的UNIX工具[15],旨在减少网络带宽消耗,因此其在Dropbox中的应用体现在云同步过程中:仅将数据集的更新差异发送至云端进行同步,而非整个文件。

C. 云中的OAuth

OAuth是一种授权协议,通过使用令牌验证机制,授予第三方访问用户数据的权限。目前在实现中有两个版本:OAuth 1.0[16] 和 OAuth 2.0[17]。试图访问用户数据的第三方(也称为客户端、依赖方或客户)必须使用由服务提供商(SP)(也称为身份提供商)颁发的令牌,而正是这种令牌使用的概念被扩展到云计算中的数据同步,以实现单点登录,为用户提供便利性。该过程通过在每次同步实例中无需提供凭证,仅需使用已颁发的令牌来实现,并且此过程对用户透明。图2下面简要描述了OAuth协议的流程。

示意图1

在上图中,用户在消息1中登录到第三方系统,并尝试访问其驻留在服务提供商系统中的数据。在消息2中,用户被重定向,于消息3中向服务提供商进行身份验证,随后在消息4中获得一次性同意授权码,并在消息5被重定向时将该授权码提交给第三方。第三方在消息6中将从用户处获取的一次性同意授权码提交给服务提供商,服务提供商验证后,在消息7中向第三方颁发用户的访问令牌。此后,第三方即可通过提供用户的访问令牌来访问服务提供商系统中的用户数据,如消息8所示,用户数据在消息9中被返回。从该实现方式可以看出,第三方无需提供任何用户凭据,仅需使用所授予的、对应于相应用户的访问令牌,即可访问服务提供商系统中的用户数据。

在云计算的背景下,用户成功登录后会获得一个令牌,该令牌存储在用户设备的指定目录中。因此,任何能够提供此令牌的实体都有权访问并同步(Synca)用户的数据,而这正是MITC攻击的基础。

III. 基于攻击树分析的MITC ATTACKS WITH ATTACK TREE ANALYSIS

MITC攻击是指攻击者获取受害者的同步令牌,从而能够进行同步并访问受害者的数据。在此攻击中,入侵者的目标是获取同步令牌。下面的图3展示了MITC攻击的抽象元素。

示意图2

图3中的参数表示如下:
- Tsynca — 由云服务提供商颁发的合法同步令牌
- TsyncjJ — 攻击者的同步令牌
- Synca — 使用合法同步令牌在云服务提供商与云用户设备之间建立的同步实例
- Synca’ — 使用攻击者的同步令牌在攻击者与云用户设备之间建立的同步实例
- 同步B — 使用适用的同步令牌在客户端设备之间进行间接同步

在转换1中,用户登录云服务并请求将其本地数据与云进行同步。根据第二节中先前讨论的OAuth框架,云服务提供商向用户发放一个同步令牌 Tsynca,如转换2所示。该令牌存储在用户设备的指定位置。现在,用户能够与云进行同步,这由 Synca 表示。攻击者使用一系列攻击,在转换3中将其同步令牌 TsyncjJ 安装以替换 Tsynca,然后将用户的同步令牌复制到同步目录中。

攻击者用他的同步令牌替换了 Tsynca 后,现在能够与用户的同步目录进行同步,并在第4步中获取之前复制的用户的同步令牌 Tsynca。攻击者可以在第5步中提供 Tsynca,进一步直接与云进行同步。根据第6步,攻击者能够访问用户与云同步的所有数据。需要注意的是,攻击者在成功获取用户的同步令牌后,会将 Tsynca 恢复原状,以避免引起怀疑和被检测到。

下图4展示了前述图3中MITC攻击的攻击树。根节点用 Go 表示,即攻击者的最终目标。后续的子目标从 G1 到 G9。

示意图3

子节点 G1, G2 和 G3 与父节点 Go 具有析取布尔 OR 关联。因此,攻击者可以选择从云服务提供商、用户处获取令牌,或从网络中嗅探令牌。我们之前假设云系统足够安全,并使用了足够的加密来与云用户通信。这意味着攻击者不会选择 G1 路径,也不会选择 G3。这将节点 Go 的度数降低为 1,其中边 {G2, Go} 构成狭径。

关于节点 G2,攻击者可以猜测令牌、使用社会工程获取令牌,或利用已知漏洞。实际上不可能猜出加密令牌的长度、值、格式和大小,因此排除了叶节点 G4。攻击者可以使用叶节点 G6,但相比之下,节点 G5 的漏洞利用依赖于多种因素[18],因此我们为节点 G5 分配更高的权重。在节点 G5,攻击者可以实施钓鱼攻击、诱导用户运行木马或进行驱动下载。因此,剪枝后的攻击树的邻接矩阵是一个7阶方阵 Ao:

0 0 0 0 0 0 0  
0 0 0 0 0 0 0  
0 0 0 0 0 0 0  
0 0 0 0 0 0 0  
0 0 0 0 0 0 0  
0 0 0 0 0 0 0  
0 0 0 0 0 0 0  

由于叶节点 G7, G8 和 G9 也共享一个析取的 OR 关联,因此攻击者的攻击面得以扩大,从安全角度而言,这需要分别应对这三种攻击选项,而不像合取关联那样,消除单个叶节点即可将阻止攻击进展。根据上述 Ao,我们推导出三个对应于以下路径的攻击场景:
- P1 = {G7, G5, G2}
- P2 = {G8, G5, G2}
- P3 = {G9, G5, G2}

第3行与第 G7, G8, G9 列以及第3列与第 G7, G8, G9 列之间的共性——狭径边 {G5, G2},该边决定了攻击的整体成功。断开节点 G5 与 G2 之间的这一狭径边会使攻击失效,因为这将形成一个上下文无桥图,从而将攻击目标 Go 与来自底层叶节点的攻击场景分离开来。

通过评估相应路径中各节点的漏洞和威胁向量,可以找到攻击路径 P1, P2 和 P3 的风险值。有关这些向量的量化参数,请参见[19]。成功攻击后对系统造成的损害是一个最终结果,而不是攻击路径中某个节点的瞬时值。从攻击树可以看出,MITC攻击的成功取决于用户能否与攻击者同步,而这种同步只有在用户接受攻击者的同步令牌(无论是否知情)的情况下才能实现。正因如此,我们认为攻击者极有可能会追求社会工程的子目标来实施其攻击。

IV. 相关文献

MITC攻击是一种相对较新型的间接攻击,迄今为止已由[7]进行了详细阐述。本文剖析了四大主要厂商的同步令牌的相关细节,包括所使用的令牌格式和类型,以及各自的目录和注册表位置。文章还揭示了在用户设备上对令牌进行本地加密的库函数和系统调用。事实上,作者指出,本地用户凭据被用于解密过程,这意味着攻击者根本无需对同步令牌进行解密。此外,研究还探讨了授权令牌的类型,其中四分之三使用OAuth类型,另一种则采用专有类型。

在[5]中,对主要云服务提供商的云同步机制进行了比较研究,分析了特定提供商的同步算法及其对云流量的影响。作者更侧重于同步算法的性能而非其安全性,并提出了一种增强型云同步方法,该方法是对所考察算法之一的扩展。

在[20]中,深入研究了OAuth 2.0实现框架的缺陷。文中作者认为,协议新版本的更改使得实现框架容易受到多种攻击。特别是,缺少数字签名导致难以确认授权请求及其响应的真实性;缺乏时间戳和随机数也使受损的凭证集易受重放攻击。MITC攻击的模拟在[21]中,采用白盒测试来验证云服务的潜在弱点,并将MITC攻击视为众多漏洞之一。随后提出了针对MITC攻击的对策和最佳实践。

在[22]中,利用机器学习识别网络和系统日志数据中的异常行为,指出尽管已实施多层安全措施,但系统的复杂性仍导致安全漏洞日益增多。其后果不仅限于财务和社会损失。由于MITC攻击在公共云中更为突出,因此建议采用基于开源的私有云计算方法[23]。此外,文中还指出,尽管主要云服务提供商声称提供高度安全保护,但诸如MITC之类的攻击仍进一步加剧了用户对云服务安全性的疑虑。

V. 结论

MITC攻击无疑为攻击云环境提供了一种全新的方式。这种攻击并非直接针对云本身,而是通过不知情的用户间接进入云环境。此外,该攻击的目标并非授权令牌本身,而是提供该令牌的OAuth 2.0框架的实现机制。为了在同步用户数据时提供便利性和易用性,云服务提供商采用了一种同步框架,但由于OAuth 2.0框架中缺乏加密、数字签名和时间戳,该框架容易受到各种攻击。

显然,这种访问便利性是以牺牲安全性为代价的,两者可被视为处于连续体的两端。MITC攻击的目标是获取同步令牌,而只有当用户接受了攻击者的令牌后,这一目标才可能实现。因此,MITC攻击的关键环节在于用户使用对手令牌的能力,因此防范MITC攻击的努力应集中于此。作为预防措施,新的客户端设备只有在成功完成双因素认证后,才应被明确允许使用令牌进行同步;并且在可行的情况下,双因素认证的第二要素应以带外方式实现。云服务提供商应在怀疑发生异常同步活动时,主动而非被动地实施通知机制。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值