晨间论文

  下载本文的PDF版本 PDF

晨间论文

操作系统中的时间保护和说话人合法性检测

基于操作系统的、针对基于定时的侧信道攻击的保护;语音模仿软件的含义

Adrian Colyer

基于定时的侧信道攻击是一类特别棘手的攻击,因为你经常追求的东西——改进的性能——可能会暴露你的弱点。总是有更多有创意的新攻击实例被发现,所以你需要一种有原则的方式来思考针对这类攻击的防御措施,而不仅仅是针对特定的实例化。"时间保护,缺失的操作系统抽象"一文中,Ge 等人就为我们提供了这种方法。正如操作系统通过内存保护来防止空间推断一样,未来的操作系统也需要通过时间保护来防止时间推断。这将是一条漫长的道路。

本期选择的第二篇论文来自 NDSS'19(网络和分布式系统安全研讨会),研究了不断改进的语音模仿软件在生理和社会方面的影响。似乎人们可能特别容易被假声音欺骗。Neupane 等人的 "语音(不)安全性的关键:说话人合法性检测的脑部研究" 是一项引人入胜的研究,其意义远不止技术层面。

时间保护:缺失的操作系统抽象

Ge 等人,EuroSys'19 (欧洲计算机系统会议)

https://ts.data61.csiro.au/publications/csiro_full_text//Ge_YCH_19.pdf

 

自从基于定时的微架构攻击(例如,Spectre, Meltdown, 以及其他类似攻击)显著出现以来,我一直在思考如何应对它们。当侧信道基于观察改进的性能时,消除改进性能的解决方案可能有效,但这显然是不可取的。在今天的论文选择中,作者们凭借该论文在 3 月份的 EuroSys'19 会议上获得了最佳论文奖,Qian Ge 等人为防御这类攻击奠定了原则性基础。正如今天的系统提供内存保护一样,他们称之为时间保护。该论文阐述了在现有硬件条件下,软件可以做些什么,并在此过程中强调了未来硬件需要合作的领域。

 

定时信道,特别是微架构信道,它们利用了由于共享使用缓存和其他硬件而导致的时间变化,仍然是一个基本的操作系统安全挑战,至今尚未找到全面的解决方案……我们认为,现在是认真对待时间隔离的时候了,并使操作系统负责时间保护,即防止时间推断,就像内存保护防止空间推断一样。

 

如果填充所有内容以使执行速度始终与最慢路径一样慢不是一个理想的解决方案,那么剩下的另一个探索途径是消除作为定时信道根本原因的硬件资源共享

 

微架构信道

微架构定时信道是由于对功能上对软件透明的硬件资源的竞争而产生的……[ISA] 抽象泄漏,因为它影响了可观察的执行速度,从而导致定时信道。

 

感兴趣的微架构状态包括数据和指令缓存、TLB(转换后备缓冲区)、分支预测器、指令和数据预取器状态机以及 DRAM(动态 RAM)行缓冲区。还有无状态互连,包括总线和片上网络。

秘密的基于缓存的信道(例如)可以由发送者通过其执行来调节其在缓存中的足迹来构建,接收者通过系统地触摸缓存行并测量内存延迟以及观察其自身的执行速度来探测此足迹。(侧信道类似,但发送者不主动合作)。

可以通过类似的方式在无状态互连上构建秘密信道,发送者在其带宽消耗中编码信息,接收者感知可用带宽。

 

威胁场景

硬件支持尚不能阻止互连被用作秘密通信信道,但在许多用例中,安全性仍然可以提高。本文重点关注两个关键用例

• 在其自身安全域中运行的受限组件,通过显式(例如,IPC [进程间通信])输入和输出信道连接到系统的其余部分。"为了避免互连信道,我们必须假设系统要么在单核上运行(至少在敏感代码执行时),要么在核心上共同调度域,以便在任何时候只有一个域执行。"

• 防止在公共云基础设施上托管的虚拟机 (VM) 之间发生侧信道攻击。超线程必须禁用,或者核心的所有超线程必须属于同一虚拟机。

这两种威胁可以通过在操作系统级别引入时间保护来缓解

时间保护:一系列操作系统机制,它们共同防止安全域之间的干扰,这种干扰会使一个域中的执行速度依赖于另一个域的活动。

 

时间保护的五个要求

系统安全策略的执行不得依赖于正确的应用程序行为。因此,时间保护与内存保护一样,必须是一种强制性(黑盒)操作系统安全执行机制。特别是,只有强制性执行才能支持限制。

 

时间保护基于防止资源共享。为此有两种策略:某些类别的资源(例如,缓存)可以在域之间进行分区;那些改为时分复用的资源必须在域切换期间刷新。假设核心未绑定到单个域,那么我们有第一个要求

 

要求 1:当分时共享核心时,操作系统必须在域切换时刷新核心微架构状态,除非硬件支持对此状态进行分区。

 

物理内存帧的空间分区可以使用页面着色来实现。这确保了特定页面只能驻留在缓存的特定部分中,称为页面的颜色。通常,LLC(末级缓存)和 L2 缓存可以以这种方式着色,但较小的 L1 缓存和其他核心状态(如 TLP 和 BP)则不能。因此,这些核心缓存必须在域切换时刷新。

内核本身的代码和数据也可以用作定时信道。为了防止这种情况

 

要求 2:每个域必须拥有其自己的私有操作系统文本、堆栈和(尽可能多的)全局数据副本。

 

所有动态分配的内核内存都由用户空间提供,因此将被着色。这留下少量未着色的全局内核数据……

 

要求 3:访问任何剩余的操作系统共享数据必须具有足够的确定性,以避免信息泄漏。

 

即使我们确实刷新了缓存,刷新延迟本身也可以用作信道(因为它强制写回所有脏行。)

 

要求 4:状态刷新必须填充到其最坏情况的延迟。

 

最后,由于中断也可以用于秘密信道

 

要求 5:当共享核心时,操作系统必须禁用或分区除抢占计时器之外的任何中断。

 

在 seL4 中的实现

作者演示了如何在 seL4 的改编版本中满足这五个要求 seL4 (https://sel4.systems/)。每个域都获得了自己的内核副本,使用内核克隆机制,该机制在用户提供的数据中创建内核映像的副本,包括堆栈和几乎所有内核数据的副本。两个内核共享交接处理器所需的最小静态数据。Kernel_SetInt 系统调用允许将 IRQ(中断请求)与内核关联,这样内核就不能跨分区边界触发中断(参见 §4.2)。

域切换在抢占中断时隐式发生。当这种情况发生时,需要切换堆栈,然后刷新所有核心微架构状态。内核会延迟返回,直到配置的时间过去(要求 4)。内核克隆确保内核共享很少的数据。对于剩下的内容,要求 3 通过在返回用户空间之前仔细预取所有共享数据(通过触摸每个缓存行)来满足。在切换内核堆栈之前,所有中断都被屏蔽,切换后,只有与新内核关联的中断才会被取消屏蔽。

 

评估

评估解决了两个主要问题:这里概述的时间保护机制是否真的像预期的那样防止了秘密信道和侧信道?它们增加了多少性能开销?

 

防止信息泄漏

信息泄漏使用互信息来量化,作为信道大小的度量。实验在 x86 和 Arm v7 上进行。(请注意,在 Arm v8 架构中,核心包含无法通过架构方式清除的架构状态,因此包含无法关闭的高带宽信道。)

比较下图中的顶部和底部图表。顶部图表显示了在没有保护的情况下通过 LLC 秘密信道的互信息,底部图表显示了在实施时间保护增强功能后的互信息。

Time Protection in Operating Systems

在没有保护的情况下,内核信道可以每秒传输 395 位。在保护下,信道消失了。

下表显示了原始(未保护)缓存的互信息容量、完全刷新的结果以及启用时间保护的结果。

Time Protection in Operating Systems

Haswell 上的残留 L2 信道通过完全刷新来关闭,但不能通过时间保护机制来关闭。禁用数据预取器大大减少了信道;剩余的小信道 "可能来自无法禁用的指令预取器"。

 

性能开销

在一组 IPC 微基准测试中,时间保护的开销在 x86 上非常小,在 Arm 上则在 15% 以内。

Time Protection in Operating Systems

Arm 成本归因于内核克隆操作;由于 Arm v8 核心的四路关联性,预计开销将大大降低。

下表进一步显示了对域切换的影响

Time Protection in Operating Systems

……结果表明,尽管我们的时间保护实现与完全刷新一样有效地消除了定时信道,但其带来的开销明显小于完全刷新……

 

克隆的总成本仅为创建进程成本的一小部分。

 

接下来是什么?

时间保护显然受制于硬件,并非所有硬件都为完全时间隔离提供足够的支持。我们在表 3 中的 x86 L2 信道中看到了这一点,我们无法关闭它……结果强调了需要一种新的、面向安全的硬件-软件合同……
• 操作系统必须能够分区或刷新任何共享硬件资源
• 并发访问的资源必须进行分区
• 虚拟寻址状态必须刷新

 

当前硬件在这方面最明显的弱点在于互连。

作者的最终目标是生成一个经过验证的具有时间保护的 seL4。

 

语音(不)安全性的关键:说话人合法性检测的脑部研究

Neupane 等人,NDSS'19 (网络和分布式系统安全研讨会)

https://www.ndss-symposium.org/wp-content/uploads/2019/02/ndss2019_08-3_Neupane_paper.pdf

 

本文的主要结果很容易理解,但其影响需要很长时间才能揭示。语音变形(voice morphing)是将说话者的声音转换为听起来像给定的模仿目标的过程。这种能力现在已经可以直接使用——本文使用了 卡内基梅隆大学 Festvox 语音转换器 (http://festvox.org/)——并且一直在变得更好。模仿某人声音的能力将社会工程攻击等威胁提升到了一个全新的水平……

 

……语音模仿是一种新兴的威胁,特别是考虑到语音合成技术的进步,这种进步在各种情况下都会损害受害者的声誉及其安全/保障。例如,攻击者可以在社交媒体上发布变形的语音样本,在电话交谈中冒充受害者,给受害者的联系人留下虚假的语音消息,甚至对需要用户验证呼叫者声音的端到端加密技术发起中间人攻击,仅举几个此类攻击的例子。

 

因此,在这个新的后现实世界中,声音应该与图像和视频一起作为不可信任的来源。当与某些其他东西(例如,语音模仿和视频)结合使用时,它似乎特别强大。但我们已经知道这一点了。然而,事实证明,声音可能是一种特别具有破坏性的攻击媒介,因为在我们大脑深处,我们真的无法区分真实的声音和模仿它的变形声音。

之前的研究调查了用户在查看真实和虚假网站和图像时的脑部活动,发现 "当用户接触真实与虚假的人工制品时,即使用户自己可能无法在行为上区分两者,也存在潜意识的神经差异。" Neupane 等人报告的工作始于这样的假设:在听说话者的原始声音和假声音之间应该存在类似的神经差异。然而,尽管非常努力地尝试,但没有检测到这种差异

 

我们的主要见解是,人类大脑处理 合法说话者与合成说话者 的方式可能没有统计学上的显著差异,而在遇到 合法说话者与不同的其他人为说话者 时,则可以观察到明显的差异……总的来说,我们的工作……揭示了用户在 生物学层面 上对语音合成攻击的易感性。

 

无论人们被教导要多么警惕语音模仿,但似乎他们都无法可靠地检测到它,尤其是在语音合成技术不断改进的情况下。为了防御语音模仿攻击,我们将需要机器辅助。但是,如果语音合成是以对抗性风格训练的,那么即使那样也可能吗?

如果这里能找到一线希望,那么也许是这样:由于人们无法区分真实的声音和合成的声音,当前的变形技术可能已经准备好为那些真正失去声音的人服务。

 

使用 fNIRS 分析神经活动

神经活动使用 fNIRS(功能性近红外光谱)进行研究。fNIRS 是一种非侵入性成像方法(使用图像中所示的大量外部探头),用于测量大脑皮层中氧合血红蛋白 (oxyHb) 和脱氧血红蛋白 (deoxyHb) 的相对浓度。它提供比 fMRI 更好的时间分辨率——无需受试者仰卧在扫描仪中——并且比 EEG 更好的空间分辨率。

Speaker Legitimacy Detection

 

实验设置

从互联网上收集了奥普拉·温弗瑞和摩根·弗里曼的语音样本,他们两人都具有鲜明且易于识别的声音。然后通过亚马逊 Mechanical Turk 招募了 20 位美国演讲者,用他们自己的声音录制这两位名人的演讲,尽可能地模仿原始的说话风格、节奏和情感。然后从这 20 位演讲者中选出一位男性和一位女性演讲者,并将他们的演讲输入 Festvox 语音转换器,以生成弗里曼和温弗瑞声音的变形版本。

然后招募了 20 名实验参与者:10 名男性和 10 名女性;全部说英语;且年龄范围都在 19-36 岁。每位参与者都熟悉了受害者说话者的声音一分钟,然后播放了 12 个随机选择的语音样本:四个是原始说话者的声音,四个是旨在模仿原始说话者的变形声音,还有四个是不同说话者的声音。参与者被要求识别受害者说话者的合法和虚假声音,但没有明确告知语音变形技术。

每个参与者进行四次实验:两次以名人声音之一作为受害者,两次以他们 "短暂熟悉" 的声音(即仅在实验期间首次遇到)进行实验。

Speaker Legitimacy Detection

在所有这些进行的同时,fNIRS 探头帽捕获了大脑以下区域的脑部活动

Speaker Legitimacy Detection

 

主要结果

对于原始声音,参与者能够正确地将说话者识别为受害者声音的次数为 82%。变形声音(不正确地)被识别为真实受害者声音的次数为 58%。作为基线,模仿原始说话者的不同声音(不正确地)被识别为真实受害者声音的次数为 33%。

在比较原始说话者语音样本和模仿该说话者的变形声音的大脑神经激活时,未观察到统计学上的显著差异。此时您可能会认为,也许实验只是没有监测到大脑中显示差异的部分(我肯定是这样认为的)。这仍然是一种可能性,但比较原始说话者语音样本和模仿该说话者的不同声音之间的神经激活确实显示出统计学上的显著差异(即,探头至少在测量一些重要区域的大脑活动)。

Speaker Legitimacy Detection

在熟悉的声音(名人)和 "短暂熟悉" 的声音(那些仅在实验中接触到的声音)之间,也观察到大脑激活的差异。著名的说话者导致前额极区和颞中回的激活程度更高。

由于未能使用传统的统计技术检测到真实声音和变形声音的脑部活动存在任何统计学上的显著差异,因此作者随后尝试在脑部活动数据上训练机器学习分类器,以查看它是否可以学会区分。性能最佳的模型仅达到 53% 的准确率(即,在捕获的脑部活动中似乎真的没有任何东西可以区分这两种情况)。

最后的思考

 

由于真实声音与变形声音之间潜在的无法区分性是人类生物学的核心,我们认为这个问题非常严重,因为人类对合成攻击的检测可能会随着时间的推移而不会随着进化而改善。此外,在我们的研究中,我们使用了一种基于语音转换的现成的学术语音变形工具 CMU Festvox,而随着语音合成技术的进步(例如,Lyrebird 和 Google WaveNet 等提供的新型语音建模技术),用户可能更难识别此类攻击。此外,我们的研究参与者大多是年轻人,并且没有报告听力障碍,而年龄较大的群体样本和/或有听力障碍的人可能更容易受到语音合成攻击。

 

请记住,研究中的参与者虽然没有预先了解语音变形技术,被明确要求尝试区分真实声音和模仿声音。在现实世界的攻击中,人们不太可能如此关注被模仿的可能性。

Adrian Colyer 是伦敦 Accel 的风险合伙人,他的工作是帮助在欧洲和以色列寻找和建立伟大的科技公司。 (如果您正在从事有趣的科技相关业务,他很乐意收到您的来信:您可以通过 [email protected] 联系他。) 在加入 Accel 之前,他曾在技术岗位工作 20 多年,包括在 Pivotal、VMware 和 SpringSource 担任 CTO。

版权 © 2019 由所有者/作者持有。出版权已授权给 。

经许可转载自 https://blog.acolyer.org

acmqueue

最初发表于 Queue 第 17 卷,第 3 期
数字图书馆 中评论本文





更多相关文章

Jinnan Guo, Peter Pietzuch, Andrew Paverd, Kapil Vaswani - 使用机密联邦学习的可信人工智能
安全性、隐私性、问责制、透明度和公平性原则是现代人工智能法规的基石。经典的 FL 在设计时非常强调安全性和隐私性,但牺牲了透明度和问责制。CFL 通过将 FL 与 TEE 和承诺相结合,弥合了这一差距。此外,CFL 还带来了其他理想的安全属性,例如基于代码的访问控制、模型机密性以及推理期间的模型保护。机密计算的最新进展(例如机密容器和机密 GPU)意味着可以无缝扩展现有的 FL 框架,以低开销支持 CFL。


Raluca Ada Popa - 机密计算还是密码计算?
通过 MPC/同态加密与硬件飞地进行安全计算,在部署、安全性和性能方面存在权衡。关于性能,您考虑的工作负载非常重要。对于简单的求和、低阶多项式或简单的机器学习任务等简单工作负载,这两种方法都可以在实践中使用,但对于复杂的计算(例如复杂的 SQL 分析或训练大型机器学习模型),目前只有硬件飞地方法在许多实际部署场景中足够实用。


Matthew A. Johnson, Stavros Volos, Ken Gordon, Sean T. Allen, Christoph M. Wintersteiger, Sylvan Clebsch, John Starks, Manuel Costa - 机密容器组
此处展示的实验表明,Parma(Azure 容器实例上驱动机密容器的架构)增加的额外性能开销不到底层 TEE 增加的性能开销的百分之一。重要的是,Parma 确保了容器组所有可到达状态(以证明报告为根)的安全不变性。这允许外部第三方与容器安全通信,从而实现各种需要机密访问安全数据的容器化工作流程。公司获得了在云中运行最机密工作流程的优势,而无需在其安全要求上妥协。


Charles Garcia-Tobin, Mark Knight - 使用 Arm CCA 提升安全性
机密计算在提高通用计算平台的安全性方面具有巨大潜力,方法是将监管系统从 TCB 中移除,从而减小 TCB 的大小、攻击面以及安全架构师必须考虑的攻击向量。机密计算需要平台硬件和软件方面的创新,但这些创新有可能增强对计算的信任,尤其是在第三方拥有或控制的设备上。机密计算的早期消费者将需要自行决定他们选择信任的平台。





© 保留所有权利。

© . All rights reserved.