intelsgx8大優勢
开发者必须依赖提供商的安全架构,在平台发布之后,他们没有能力设计一个符合他们需求的安全模型。 TPM/TCM提供度量、签名、加解密、密封等功能, 其主要用于系统和应用程序的静态完整性度量, 无法确保运行态的安全.SGX除了提供程序加载时的完整性验证外, 还保证程序运行时安全, 缓解针对程序运行时的攻击[58-60]. 为了实现远程认证, 需要引入一个特殊的引用enclave.同一平台enclave之间的验证使用的是对称密钥, 不适用于远程认证, 因此, 平台间的认证采用非对称密钥机制.由引用enclave创建平台认证的签名密钥EPID, 这个密钥不仅代表平台, 还代表着底层硬件的可信度, 并且绑定处理器固件的版本, 当enclave系统运行时, 只有引用enclave才能访问到EPID密钥. 本文重点分析了Intel SGX技术的基本原理及关键技术, 并深入讨论了针对SGX的侧信道攻击和防御; 同时, 将该技术与其他可信计算技术进行了对比分析, 也着重分析了其优势和不足, 并进一步讨论了该技术的相关学术研究工作和商业应用模型; 最后, 结合当前可信计算领域存在的安全问题和该技术在安全方面的优势, 展望了该技术的未来发展方向和应用需求.
Enclave是一个被保护的内容容器, 用于存放应用程序敏感数据和代码.SGX允许应用程序指定需要保护的代码和数据部分, 在创建enclave之前, 不必对这些代码和数据进行检查或分析, 但加载到enclave中去的代码和数据必须被度量.当应用程序需要保护的部分加载到enclave后, SGX保护它们不被外部软件所访问.Enclave可以向远程认证者证明自己的身份, 并提供必需的功能结构用于安全地提供密钥.用户也可以请求独有的密钥, 这个密钥通过结合enclave身份和平台的身份做到独一无二, 可以用来保护存储在enclave之外的密钥或数据. 外包计算的安全与隐私, 是近几年来的研究热点问题.通过将计算外包到云中, 一个计算能力有限的用户可以利用云计算强大的计算能力实现更高效更快捷的计算服务.然而, 如何保护外包数据和计算过程的安全与隐私, 是目前需要解决的问题.传统的方式是利用密文检索等方法, 在保护数据隐私的同时实现安全的计算.然而密文检索目前只能在密文数据上实现简单的计算, 此外, 性能目前仍然是制约密文检索技术被应用的瓶颈.SGX为保护外包计算的安全与隐私提供了一条新的途径.目前, 该方面的研究工作刚刚起步, 如何基于SGX构建可信的外包计算环境, 解决多方授权的外包计算安全, 以及针对具体应用构建可实用的安全外包计算服务, 实现外包计算中数据安全隐私保护, 是目前需要进一步研究的问题. 云计算中, 用户的数据访问模式可以泄露用户的隐私.为解决这一问题, 目前, 研究者利用不经意随机存取保护云平台中用户数据访问模式的隐私.然而, 目前ORAM方案效率较低, 无法实际应用.SGX拥有较小的可信基, 同时具有较高的性能和安全性.如何结合SGX和各种ORAM机制, 例如Path ORAM和Circuit ORAM, 实现更安全的用户数据访问模式隐私保护, 是值得关注和研究的问题. Intel VT/AMD SVM硬件虚拟化技术提供操作系统级别的隔离环境, SGX则针对用户空间提供程序粒度的隔离.虚拟化技术通过特权分级制度保证隔离, 其安全性依赖于特权软件的安全性, 若VMM出现安全漏洞, 平台的安全性将难以保证.而SGX提供硬件隔离的执行环境, 不依赖于固件和特权软件的安全性, intelsgx 特权软件也无法访问普通程序被保护的内存.
intelsgx: 安全性
后来, 基于页表的攻击有了新的变种.这些侧信道攻击主要利用页表的状态位.如图 11所示, 一个页表项有很多位, 有些是用来做访问控制, 比如P, RW, US, XD; 有些则标识状态, 比如D和A.如果Abit被设置, 则表明该页表指向的页面已经被访问; 如果D bit被设置, 则表明该页表指向的页面发生了写操作.通过监控观察这些状态位, 攻击者就可以获取和controlled-channel/pigeonhole攻击类似的信息. 系统在SGX调用前, 必须处于保护模式, 且需要支持分页.SGX所提供的内存保护机制, 在保护模式所提供的段保护、页保护机制基础上进行进一步的内存保护, 访问地址由虚拟地址转换为物理地址进行访问.对内存的访问可分为如下5种类型, 如图 4所示. 当前,ODM(原始设备制造商)和ISV(独立软件提供商)通常在制造时或通过无法以机密方式证明应用程序完整性的复杂字段配置来提供应用程序软件和机密。
Intel Software Guard Extensions (SGX) 是 Intel 處理器內建的安全性技術,可透過獨特的應用程式隔離技術協助保護使用中的資料。 探索 Intel SGX 強化安全與驗證功能的組合,以及 Intel 與龐大安全生態系持續的合作,如何協助儘可能縮小潛在的攻擊面,並降低理論上的風險。 我們最敏感的資料,目前所受到的威脅越來越嚴峻,對企業、政府組織和雲端供應商造成了莫大的風險。
intelsgx: 开发Intel SGX保护的应用程序
目前, 可信云主要依赖于在服务器中部署TPM, 利用它的信任链以及完整性度量技术, 保障平台的可信启动、操作系统可信、虚拟机可信等.但这种保护是静态的, TPM无法动态保护系统内存中的密钥等隐私数据的安全.SGX技术可以对软件运行时的环境进行硬件隔离, 安全系数高, 将其应用于可信环境构建中, 与可信计算技术相结合, 可以保障可信应用运行时的安全性.然而, 如何将TPM与SGX技术进行结合, 从而构建更安全的可信计算环境, 是目前需要进一步研究的问题. SGX技术允许用户程序访问系统的全部地址空间, 因此, 不安全的内存访问可能会泄露数据或者带来其他的安全威胁.如何限制enclave内部程序的内存访问, 减轻由于应用程序本身的缺陷而导致其遭受非法内存访问攻击, 是需要解决的一个问题.该项目基于GCC开发了安全增强的编译器, 在代码编译过程中增加额外参数, 将其地址空间限定在有效范围内, 从而有效地将需要保证完整性的代码放到一个独立的区域中, 并且对该区域中变量的读写访问都将进行检查.只有通过检查, 才能真正访问到用户数据. SGX只能在本地计算节点上为程序和数据构建安全执行环境, 如何在分布式大数据处理过程中确保代码和数据的安全可信是需要解决的关键问题.本方案提出了一个高效的分布式作业执行协议来保证MapReduce作业的正确性和机密性.每个计算节点为正在运行的程序产生一个安全的摘要信息, 之后再将这些摘要进行收集整合, 通过验证最后结果中的最终摘要信息, 用户可以检查云服务提供商是否干扰了计算的执行.
文献提出AsyncShock, 一个利用运行于SGX的多线程代码的同步漏洞的工具.AsyncShock只能通过操作用于执行enclave代码的线程调度来达到这一的目标.它允许一个攻击者通过在enclave页强制分割错误来中断线程. 硬件层次的解决方案还处于探索阶段.加入侧信道防御, 将会显著增加硬件复杂度, 影响功耗和性能.这也可能是Intel在最初推出SGX的时候没有加入侧信道防御的一个原因.硬件解决方案可能有以下两种. ● Enclave所有和non-enclave共享的资源都可能成为潜在的侧信道攻击面.因此, 发掘新的侧信道攻击的第2个途径就是发现新的共享资源, 比如未被发掘的CPU内部共享结构.这些新的共享资源可能来自一些新的硬件特性, 如Intel PT, Intel TSX, Intel MPX, Intel CAT等等. 对于不同的攻击面, 攻击者需要了解具体的细节和工作原理, 其中比较重要的参考文档就是Intel的手册.目前, SGX已经部署在SkyLake的机器上面.因此, 我们需要对SkyLake的一些硬件和性能细节重点掌握.文档对SkyLakei7-6700的一些CPU细节和性能做了一个比较全面的介绍和测量.
intelsgx: 如何使用 Windows 10 中的 SGX 啟動應用程式啟用Intel Software Guard Extensions (Intel SGX)
在运行时(如下图),Intel SGX指令在一个特定的保护内存区域中创建和执行enclave,该区域有由开发者定义的受限入口和出口函数。 在CPU范围中的enclave代码和数据运行在干净环境中,enclave数据写入到磁盘会被加密并且校验其完整性。 黑客也一样熟悉这些功能,他们能够利用弱点来加密敏感数据、凭据或者劫持代码来进行攻击。
- 云计算中, 用户的数据访问模式可以泄露用户的隐私.为解决这一问题, 目前, 研究者利用不经意随机存取保护云平台中用户数据访问模式的隐私.然而, 目前ORAM方案效率较低, 无法实际应用.SGX拥有较小的可信基, 同时具有较高的性能和安全性.如何结合SGX和各种ORAM机制, 例如Path ORAM和Circuit ORAM, 实现更安全的用户数据访问模式隐私保护, 是值得关注和研究的问题.
- EPCM检查, 请求访问的页属于正在运行的enclave(只有enclave内的代码才能访问该enclave的内容).
- 后来, 基于页表的攻击有了新的变种.这些侧信道攻击主要利用页表的状态位.如图 11所示, 一个页表项有很多位, 有些是用来做访问控制, 比如P, RW, US, XD; 有些则标识状态, 比如D和A.如果Abit被设置, 则表明该页表指向的页面已经被访问; 如果D bit被设置, 则表明该页表指向的页面发生了写操作.通过监控观察这些状态位, 攻击者就可以获取和controlled-channel/pigeonhole攻击类似的信息.
- 我們最敏感的資料,目前所受到的威脅越來越嚴峻,對企業、政府組織和雲端供應商造成了莫大的風險。
- Intel SGX使用enclave之间本地认证或者第三方的远程认证的方式来保证应用程序没有受到破坏。
目前, 对以CPU内部结构为攻击面的工作才刚刚开始, 仅仅有一个工作发表.相信通过进一步研究, 还会有其他的攻击面被陆续发掘. intelsgx 放大时间差异.比如, 攻击者可以配置侧信道攻击代码所在的CPU以最高频率运行, 而对enclave所在的CPU进行降频处理. Intel Xeon 處理器提供進階的安全功能,可搭配現有的基礎架構使用,強化並保護工作負載或服務中最敏感的部分。 Intel Xeon 可擴充處理器採用加強型 Intel Software Guard Extensions (Intel SGX),可將應用程式分割至處理器經強化的指定位址空間,加強保護部分應用程式或資料不遭到揭露或修改。 ● DRAM里面存在很难避免的噪音干扰.因为一个DRAM row被很多页面使用, 同时, 同一个bank不同row的数据读取也会对时间测量造成干扰, 使得误报时常发生.
intelsgx: 应用程序安全约束
Silicon-assisted安全有一个唯一的机会增加OS提供新能力为应用程序根据开发者需要来保护自身。 远程认证和提供:远程部分能够认证一个应用程序enclave的身份,并且安全地将密钥、凭据和敏感数据提供给enclave。 在云虚拟网络中, 网络功能主要不再仅以硬件的方式出现, intelsgx 取而代之的是数量众多并且可复用的虚拟网元(virtual network function, 简称VNF).然而, 如何保护这些虚拟网元自身的安全, 是云虚拟网络安全面临的一个难题.SGX为这一问题的解决提供了硬件基础. 在文献中, 展示了在使用SGX后以往被视为无害的同步漏洞可能会变为严重的安全漏洞.通过在enclave代码中利用UAF(use-after-free)和TOCTTOU(time-of-check-to-time-of-use)漏洞, 一个攻击者可以劫持它的控制流或者绕过访问控制. 目前还没有完全基于TLB的攻击, 但是已经出现TLB作为辅助手段的侧信道攻击, 我们会在混合侧信道攻击的章节(第4.1.3.6节)里面介绍.关于TLB的两点重要信息, 我们需要了解, 希望对提出新的基于TLB的侧信道攻击和防御有所帮助.
Intel SGX提供了17种新的Intel架构指令,应用程序可以用来为代码和数据设置保留的私有区域,也能够阻止对执行中代码和内存中数据进行的直接攻击。 目前, 对于大数据安全通常采用的是基于密码的保护机制, 如全同态加密机制、安全多方计算或零知识证明的机制, 然而这些方式目前都因受到性能的制约而没有大规模实用.另外一些方法, 如数据库加密机制, 如CtrptDB和Cipherbase, 只能对数据库进行保护, 却不能保护计算中的代码和数据.基于此, 文献提出了基于SGX技术构建大数据安全可信计算环境, 确保数据在计算和存储中的安全. EPC内存以页为单位进行管理, 页的控制信息保存在硬件结构EPCM里, 一个页面对应一个EPCM表项, 类似于操作系统内的页表, 管理着EPC页面的基本信息, 包括页面是否已被使用、该页的拥有者、页面类型、地址映射和权限属性等.EPCM结构在CPU地址映射过程中用于执行enclave页面的访问控制, 逻辑上而言, 它在保护模式的段保护和页保护机制的基础上增加了一层安全的访问控制.EPCM结构由PMH硬件模块访问, 这个模块通过查询页表(系统软件维护的)、范围寄存器、EPCM来进行内存访问.EPCM逻辑结构图如图 5所示. Cache隔离.目前, Intel推出了CAT技术, 允许对Cache进行粗粒度的隔离.这个技术已经被使用在云计算平台上面防御侧信道攻击, 但是还没有看到在SGX环境里面的应用.把CAT应用到SGX的一个很大的障碍是enclave在用户空间无法有效地检测或验证CAT的配置. SGX的实现需要处理器、内存管理部件、BIOS、驱动程序、运行时环境等软硬件协同完成.除了提供内存隔离与保护安全属性, SGX架构还支持远程认证和密封的功能, 可用于安全软件应用和交互协议的设计. 为增加方案的实用性, 本方法需要运行在未修改过的Hadoop上, 因此系统的可信计算基不包括Hadoop, OS和hypervisor.用户编写map和reduce代码, intelsgx 并且将它们进行加密, 之后上传到云端.在每一个工作节点上, 云操作系统将这些代码加载进一个隔离的enclave中之后, enclave内的代码会执行密钥交换协议, 解密出map和reduce函数, 从而运行分布式计算处理用户数据.
intelsgx: 支援
会发送一个报告给远端应用程序拥有着的服务器上,然后就能验证这个飞地报告是不是一个可靠的intel处理器生成的。 Intel TXT基于TPM动态可信度量根, 通过一组安全扩展, 为系统创建一个被保护的环境, 其在设计时缺乏对SMM的考虑导致可被绕过, 而SMM恶意代码无法绕过SGX硬件保护机制去访问受保护的模块. 在文献中, 作者基于自动定理证明和信息流分析, 提出了一套SGX的使用规范, 设计了Moat这一检测工具, 通过在汇编语言层面对程序进行分析, intelsgx 从而检测应用程序是否存在泄露SGX区域中秘密信息的可能. 从设计上来讲, SGX可以避免这类侧信道攻击.具体来讲, 在enclave到non-enclave的切换过程中, CPU清除这些共用的内部结构体.这样, non-enclave就不会得到任何残留的记录.但在具体实现的时候还要注意一些细节, 比如清除的时间也必须是稳定不变的.如果enclave运行的差异会导致清除操作的时间差异, 攻击者很可能据此推导出enclave的某些运行状态. 侧信道攻击主要目标是攻击enclave数据的机密性.攻击者来自non-enclave部分, 包括应用程序和系统软件.系统软件包括OS, hypervisor, SMM, BIOS等特权级软件. 这类方法的主要思想就是通过修改源码, 编写出能够防御侧信道的代码实现.这里的核心思想就是隐藏控制流和数据流.
随着云计算的兴起与发展, 虚拟化技术得到了广泛的研究与应用.虚拟化技术为云平台实现资源抽象、隔离以及资源的按需分配提供技术支撑.在云虚拟化架构中, 虚拟机是系统资源虚拟化的直观体现, 也与云用户密切相关. 目前, 已经有很多文献给出了防御SGX侧信道攻击的方案, 有些只是大体的思路, 有些则已经有成型的设计和实现.我们在这里主要介绍防御的思路和方法, 不涉及设计和实现的细节.首先, 我们把这些方法涉及的层次分为源码级别、系统级别和硬件级别. 由于操作系统自身可能是不可信的, 因此方案中设计了一个System Library库, 用来将操作系统的系统调用进行封装, 并在应用程序运行时将其一起放到enclave中供应用程序使用, System Library自身实现了全部的系统调用. 本文对SGX的技术原理、侧信道攻击以及在云安全领域的应用和未来研究方向进行了深入分析和总结.首先介绍了该技术的基础架构, 并且对其安全框架进行了详细分析; 接着, 深入剖析了其技术原理, 同时, 针对SGX自身安全, 深入讨论了SGX侧信道攻击及其防御; 此外, 文中也将该技术与其他可信计算技术进行了分析对比, 在此基础上, 指出了SGX技术自身的优势和不足, 并进一步介绍了SGX在云计算安全相关领域的应用; 最后, 本文提出SGX在云安全相关领域的未来应用需求和研究方向.
intelsgx: 需要更多協助嗎?
Intel SGX是Intel架构新的扩展, 在原有架构上增加了一组新的指令集和内存访问机制.这些扩展允许应用程序实现一个被称为enclave的容器, 在应用程序的地址空间中划分出一块被保护的区域, 为容器内的代码和数据提供机密性和完整性的保护, 免受拥有特殊权限的恶意软件的破坏.SGX整体架构如图 1所示. 最早的SGX侧信道攻击就是基于页表的攻击, 这类利用页表对enclave页面的访问控制权, 设置enclave页面为不可访问.这个时候任何访问都会触发缺页异常, 从而能够区分enclave访问了哪些页面.按照时间顺序把这些信息组合, 就能够反推出enclave的某些状态和保护的数据.该类典型的攻击包括controlled- channel攻击和pigeonhole攻击.这类攻击的缺点就是精度只能达到页粒度, 无法区分更细粒度的信息.但是在某些场景下, 这类攻击已经能够获得大量有用信息.例如图 9所示, 这类基于页表的侧信道攻击可以获得libjpeg处理的图片信息.经过还原, 基本上达到人眼识别的程度.pigeonhole攻击也展示了大量对现有的安全库的攻击, 如图 10所示. 侧信道攻击的主要手段是通过攻击面获取数据, 推导获得控制流和数据流信息, 最终获取enclave的代码和数据的信息, 比如加密密钥、隐私数据等等.我们这里不一一列举具体的工作, 而是试图从攻击面的角度, 全面地介绍侧信道攻击.本节下面的内容就从典型的攻击面, 包括页表、TLB、Cache、DRAM以及CPU内部结构, 描述目前已知的侧信道攻击. 侧信道攻击一般假设攻击者知道enclave初始化时候的代码和数据, 并且知道内存布局.内存布局包括虚拟地址、物理地址以及他们之间的映射关系.有些侧信道攻击假设攻击者知道enclave的输入数据, 并且可以反复触发enclave, 进行多次观察记录.侧信道攻击还假设攻击者知道运行enclave平台的硬件配置、特性和性能, 比如CPU、TLB、Cache、DRAM、页表、中断以及异常等各种系统底层机制. 当前, 云计算环境需要可信计算的支持, 云环境的构建通常使用传统分层的安全模型来保护特权程序免受不可信的用户程序的攻击, 但是却不能保护用户程序的数据被特权软件所访问和篡改.这导致云环境下的用户只能被动地相信云服务供应商的硬件和软件的可靠性, 以及管理人员不会去窃取自己的私密数据.
機密資料外洩的風險,不僅可能造成重大財務損失,還可能導致持續缺乏信任感的問題,更妨礙組織締造新發現,以及充分利用公有雲資源、經濟、擴充性和靈活性。 注意使用這些選項 之一,檢查Windows 10 是否在舊式或 UEFI 模式中開機。 如果 Windows 10 處於舊式模式,請變更為 BIOS 中的 UEFI 模式,並重新安裝 Windows 10。
intelsgx: 开发Intel SGX保护的应用程序
EPCM检查, 请求访问的页属于正在运行的enclave(只有enclave内的代码才能访问该enclave的内容). 對訊連科技來說,SGX 功能的移除以及與最新 Windows intelsgx 作業系統和驅動程式的相容性,使得要在我們的播放器軟體中繼續支援播放 Ultra HD 藍光電影造成了相當大的挑戰。 因此,訊連科技已無法在較新的 CPU 和最新的 Windows 平台上支援 Ultra HD 藍光播放。 第 11 代之後的 Intel CPU 已經移除 Intel SGX 功能,而且之後新版的 Intel 驅動程式或公用程式 (例如 Intel SGX 和 Intel 管理引擎驅動程式和韌體) 也可能會移除對 SGX 的支援。 這些變動可能會使這些平台失去播放 Ultra HD 藍光電影光碟的功能。
当enclave向平台上其他enclave报告身份时, 先获取当前的enclave的身份信息和属性、平台硬件TCB信息, 附加上用户希望交互的数据, 生成报告结构; 然后获取目标enclave的报告密钥, 对报告结构生成一个MAC标签, 形成最终的报告结构, 传递给目标enclave, 由目标enclave验证请求报告身份的enclave跟自己是否运行于同一平台. 所有的enclave都驻留在EPC中, 这是系统内一块被保护的物理内存区域, 用来存放enclave和SGX数据结构.EPC布局由平台具体实现决定, 如果CPU支持SGX架构并在加密保护的DRAM 中实现EPC, 那么它也支持BIOS保留一段叫PRM的内存范围.BIOS通过配置一组范围寄存器分配PRM.具体的PRM和EPC布局和平台有关, 并取决于BIOS设置, 下图 2是一个PRM和EPC布局的例子. 對負責資料安全的應用程式與解決方案開發人員來說,現在有了使用全新硬體式控制雲端與企業環境的寶貴機會。 Intel Software Guard Extensions (Intel SGX)1 2 提供以硬體為基礎的記憶體加密功能,可在記憶體內隔離特定的應用程式碼與資料。 Intel SGX 允許將使用者層級的程式碼配置於記憶體中的隱私區域,這稱為「指定位址空間」,其設計是為了在較高權限層級的執行程序中受到保護。 除了结合两个攻击面的侧信道攻击, 还可以采用多个攻击面相结合的侧信道攻击.这类混合攻击目前在SGX的环境下还没有看到相关工作.不过, 之前CCS’16的文献使用了3个攻击面(i.e., TLB、页表和Cache)的混合.我们相信, 类似的攻击也可以在SGX的环境下使用.
intelsgx: 需要更多協助嗎?
在攻击者能控制整个系统资源的情况下, 可以有针对地调度资源, 减少侧信道的噪音, 增加侧信道的成功率.降低噪音的策略大体可以有一下几种[39-42]. Cache和DRAM混合攻击.基于DRAM的攻击只能精确到row(一个row通常8KB)的粒度.为了增强这类攻击的效果, 文献提出了这个Cache-DRAM攻击来增加空间精度, 把精度提高到了一个Cacheline. 基于Cache的侧信道攻击可以进行细粒度的监控.最小粒度可以做到一个Cacheline, 即64个字节.由于粒度更小, 基于Cache的侧信道可以比基于页表的侧信道以及后面介绍的基于DRAM的侧信道获得更多的信息. 不间断运行.也就是不触发或尽量少触发AEX, 因为AEX和后续的ISR都会使用Cache, 从而引入不必要噪音.少触发AEX就是要使用中断绑定和时钟频率; 不触发AEX基本上就是让系统软件(比如OS)屏蔽所有中断. TLB对代码和数据的区分.L1区分代码和数据, 两者直接有Cachecoherence的保证; .L2不区分代码和数据.
intelsgx: 如何使用 Windows 10 中的 SGX 啟動應用程式啟用Intel Software Guard Extensions (Intel SGX)
由香港SEO公司 https://featured.com.hk/ 提供SEO服務