Skip to main content
QUICK REVIEW

[论文解读] Slick: Secure Middleboxes using Shielded Execution

Bohdan Trach, Alfred Krohmer|arXiv (Cornell University)|Sep 13, 2017
Software-Defined Networks and 5G参考文献 28被引用 11
一句话总结

Slick 是一种安全的中间盒框架,通过将基于 Intel SGX 的受保护执行(通过 Scone 实现)与 DPDK 集成,实现在不受信任的云服务器上高性能、线速网络功能(NF)处理。它通过基于 Click 的编程接口、安全飞地以及针对内存安全、状态持久性和 NF 链接的定制优化,实现了接近原生的吞吐量和延迟,支持广泛的 NF。

ABSTRACT

Cloud computing offers the economies of scale for computational resources with the ease of management, elasticity, and fault tolerance. To take advantage of these benefits, many enterprises are contemplating to outsource the middlebox processing services in the cloud. However, middleboxes that process confidential and private data cannot be securely deployed in the untrusted environment of the cloud. To securely outsource middleboxes to the cloud, the state-of-the-art systems advocate network processing over the encrypted traffic. Unfortunately, these systems support only restrictive middlebox functionalities, and incur prohibitively high overheads due to the complex computations involved over the encrypted traffic. This motivated the design of Slick --- a secure middlebox framework for deploying high-performance Network Functions (NFs) on untrusted commodity servers. Slick exposes a generic interface based on Click to design and implement a wide-range of NFs using its out-of-the box elements and C++ extensions. Slick leverages SCONE (a shielded execution framework based on Intel SGX) and DPDK to securely process confidential data at line rate. More specifically, Slick provides hardware-assisted memory protection, and configuration and attestation service for seamless and verifiable deployment of middleboxes. We have also added several new features for commonly required functionalities: new specialized Click elements for secure packet processing, secure shared memory packet transfer for NFs chaining, secure state persistence, an efficient on-NIC timer for SGX enclaves, and memory safety against DPDK-specific Iago attacks. Furthermore, we have implemented several SGX-specific optimizations in Slick. Our evaluation shows that Slick achieves near-native throughput and latency.

研究动机与目标

  • 解决在不牺牲性能的前提下,将中间盒处理安全地外包到不受信任的云环境中的挑战。
  • 支持广泛的企业网络功能(NF),具备可编程性和线速性能。
  • 为在不受信任的云基础设施中处理的私有数据提供强大的机密性和完整性保障。
  • 通过远程认证和安全配置,实现中间盒的可验证、可移植且透明的部署。
  • 通过利用硬件保护执行,克服先前系统中端到端加密处理的性能瓶颈。

提出的方法

  • Slick 使用基于 Click 的编程接口,通过标准组件和 C++ 扩展定义和组合网络功能(NF)。
  • 所有数据包处理均在 Intel SGX 飞地中进行,确保数据和代码的机密性与完整性。
  • Slick 将 Intel DPDK 与 Scone 受保护执行框架集成,实现在安全飞地内的高速用户态数据包 I/O。
  • 它引入了新的 Click 组件用于安全数据包处理、用于 NF 链接的安全共享内存,以及用于飞地时间同步的 NIC 上 PTP 定时器。
  • 安全的状态持久化层支持容错和迁移,而内存保护机制可防范针对 DPDK 的 Iago 攻击。
  • 通过远程认证和加密配置加载,确保在云环境中可验证且可信的部署。

实验结果

研究问题

  • RQ1安全的中间盒框架能否在不受信任的云环境中实现接近原生的性能,同时确保强大的机密性和完整性?
  • RQ2如何有效结合硬件辅助的安全飞地(Intel SGX)与高性能数据包 I/O 框架(DPDK),以实现线速处理?
  • RQ3为在 SGX 飞地中支持复杂、有状态的 NF,需要哪些系统级优化,以避免产生不可接受的性能开销?
  • RQ4如何利用远程认证和加密配置,在云环境中实现 NF 的安全、可验证且可移植的部署?
  • RQ5为实现基于 SGX 的网络处理中安全的 NF 链接、状态持久化和内存安全,需要哪些新的抽象和组件?

主要发现

  • Slick 在多种网络功能上实现了接近原生的吞吐量和延迟,仅因通用 SGX 内存访问开销导致轻微性能下降。
  • DPDK 与 Scone 的集成实现了飞地内高效、高速的数据包 I/O,克服了传统飞地系统中常见的 I/O 瓶颈。
  • Slick 使用与明文处理相同的基于 Click 的接口,支持广泛的企业 NF(如防火墙和 IDS),确保了可编程性和模块化。
  • 通过远程认证和加密配置加载,系统实现了可验证的部署,使用户能够信任不受信任的云服务提供商。
  • 定制组件如用于 NF 链接的安全共享内存、NIC 上的时间同步机制,以及对 Iago 攻击的内存保护,显著提升了安全性和可用性。
  • 评估表明,Slick 的性能接近原生 Click 执行,尽管在内存密集型操作中存在可测量但可接受的开销。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。