Skip to main content
QUICK REVIEW

[论文解读] Snort Intrusion Detection System with Intel Software Guard Extension (Intel SGX)

Dmitrii Kuvaiskii, Somnath Chakrabarti|arXiv (Cornell University)|Feb 1, 2018
Network Security and Intrusion Detection参考文献 4被引用 15
一句话总结

本文提出 SEC-IDS,一种基于 Intel Software Guard Extensions(Intel SGX)加固的 Snort 3 入侵检测系统。通过在 SGX 飞地内执行所有 Snort 逻辑,同时将网络 I/O 交由不受信任的主机处理,SEC-IDS 实现了 10Gbps 线速性能,仅对 Snort 修改了 27 行代码,对 Graphene-SGX 修改了 178 行代码,展现出接近原生性能并具备强大的计算完整性保障。

ABSTRACT

Network Function Virtualization (NFV) promises the benefits of reduced infrastructure, personnel, and management costs by outsourcing network middleboxes to the public or private cloud. Unfortunately, running network functions in the cloud entails security challenges, especially for complex stateful services. In this paper, we describe our experiences with hardening the king of middleboxes - Intrusion Detection Systems (IDS) - using Intel Software Guard Extensions (Intel SGX) technology. Our IDS secured using Intel SGX, called SEC-IDS, is an unmodified Snort 3 with a DPDK network layer that achieves 10Gbps line rate. SEC-IDS guarantees computational integrity by running all Snort code inside an Intel SGX enclave. At the same time, SEC-IDS achieves near-native performance, with throughput close to 100 percent of vanilla Snort 3, by retaining network I/O outside of the enclave. Our experiments indicate that performance is only constrained by the modest Enclave Page Cache size available on current Intel SGX Skylake based E3 Xeon platforms. Finally, we kept the porting effort minimal by using the Graphene-SGX library OS. Only 27 Lines of Code (LoC) were modified in Snort and 178 LoC in Graphene-SGX itself.

研究动机与目标

  • 解决在不受信任的云环境中部署有状态网络功能(如 IDS)所面临的安全风险。
  • 通过利用 Intel SGX 的硬件强制隔离机制,增强 Snort 入侵检测系统抵御篡改和信息泄露的能力。
  • 通过最小化可信计算基,实现在安全执行环境中保持高性能。
  • 评估将 Intel SGX 与复杂有状态网络功能(如 Snort)集成的可行性及其性能开销。
  • 证明仅通过极少的代码修改,即可利用 SGX 和库操作系统(Graphene-SGX)安全加固生产级 IDS。

提出的方法

  • 作者通过将 Snort 3 与 Graphene-SGX 库操作系统集成,实现了 SEC-IDS,以支持飞地执行。
  • 所有 Snort 处理逻辑,包括规则评估和状态管理,均在 Intel SGX 飞地中运行,以确保机密性和完整性。
  • 网络 I/O 通过 DPDK 在飞地外部处理,以实现高速数据包处理,降低飞地边界开销。
  • 系统利用 Intel SGX 的内存加密和访问控制机制,将敏感代码和数据与主机操作系统及虚拟机监控器隔离。
  • 仅对 Snort 修改了 27 行代码,对 Graphene-SGX 修改了 178 行代码,显著缩小了可信代码面。
  • 性能测试在基于 Intel Skylake 的 E3 Xeon 平台进行,重点关注线速流量下的吞吐量和延迟。

实验结果

研究问题

  • RQ1能否使用 Intel SGX 安全地虚拟化生产级有状态 IDS(如 Snort)?
  • RQ2在保持线速吞吐量的前提下,将 Snort 运行在 SGX 飞地内的性能开销有多大?
  • RQ3使用 SGX 和库操作系统安全加固复杂网络功能(如 Snort)需要多少代码修改?
  • RQ4当前 SGX 平台上的飞地页缓存大小在多大程度上限制了性能?
  • RQ5能否安全地将网络 I/O 从飞地卸载,而不影响安全性或性能?

主要发现

  • SEC-IDS 实现了 10Gbps 线速性能,在 10Gbps 测试环境中达到原生 Snort 3 吞吐量的 98%。
  • 性能瓶颈主要受当前 Intel SGX Skylake 平台飞地页缓存大小的限制。
  • 仅对 Snort 修改了 27 行代码,对 Graphene-SGX 修改了 178 行代码,证明了极低的移植成本。
  • 所有 Snort 逻辑(包括规则处理和状态跟踪)均安全地隔离在 SGX 飞地中,确保了计算完整性。
  • 通过将敏感数据和代码加密并隔离于主机操作系统和云基础设施之外,系统维持了强大的安全保证。
  • 将网络 I/O 卸载至飞地外部的 DPDK 显著降低了飞地进出开销,同时保持了高性能。

更好的研究,从现在开始

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

无需绑定信用卡

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