Skip to main content
QUICK REVIEW

[논문 리뷰] Snort Intrusion Detection System with Intel Software Guard Extension (Intel SGX)

Dmitrii Kuvaiskii, Somnath Chakrabarti|arXiv (Cornell University)|2018. 02. 01.
Network Security and Intrusion Detection참고 문헌 4인용 수 15
한 줄 요약

이 논문은 인텔 소프트웨어 가드 엔클레이브(인텔 SGX)를 사용하여 보안 강화된 Snort 3 기반의 침입 탐지 시스템인 SEC-IDS를 제안한다. 모든 Snort 로직을 SGX 에나클에서 실행하면서 네트워크 I/O 는 신뢰할 수 없는 호스트로 위탁함으로써, Snort에서 단 27줄, Graphene-SGX에서 178줄만 수정하여도 10Gbps 라인레이트 성능을 달성하며, 거의 네이티브 수준의 성능과 강력한 계산 무결성 보장을 실현한다.

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)의 보안 위험을 해결하기 위해.
  • 인텔 SGX의 하드웨어 강제 격리 기능을 활용해 Snort 침입 탐지 시스템의 변조 및 泄露로부터 보호하기 위해.
  • 신뢰할 수 있는 컴퓨팅 기반을 최소화하여 안정적인 실행 환경에서 고성능을 유지하기 위해.
  • 복잡한 상태 기반 네트워크 기능인 Snort와 인텔 SGX를 통합할 때의 실현 가능성과 성능 오버헤드를 평가하기 위해.
  • SGX와 라이브러리 OS(Graphene-SGX)를 활용해 최소한의 코드 수정으로도 프로덕션 수준의 IDS를 보안적으로 구현할 수 있음을 입증하기 위해.

제안 방법

  • 저자는 Snort 3를 Graphene-SGX 라이브러리 OS와 통합하여 에나클 실행을 가능하게 함으로써 SEC-IDS를 구현하였다.
  • 모든 Snort 처리 로직, 즉 규칙 평가 및 상태 관리 기능이 인텔 SGX 에나클 내부에서 실행되어 기밀성과 무결성이 보장된다.
  • 고속 패킷 처리를 위해 네트워크 I/O 는 에나클 외부에서 DPDK를 사용하여 처리함으로써 에나클 경계 오버헤드를 감소시켰다.
  • 시스템은 인텔 SGX의 메모리 암호화 및 액세스 제어 기능을 활용해 민감한 코드와 데이터를 호스트 OS 및 하이퍼바이저로부터 격리한다.
  • Snort 코드는 단 27줄, Graphene-SGX 코드는 178줄만 수정되어 신뢰할 수 있는 코드 표면이 최소화되었다.
  • 성능 측정은 10Gbps 테스트베드에서 라인레이트 트래픽 하에서 대역폭과 지연 시간을 중심으로 수행되었다.

실험 결과

연구 질문

  • RQ1인텔 SGX를 사용하여 클라우드 환경에서 프로덕션 수준의 상태 기반 IDS인 Snort를 안전하게 가상화할 수 있는가?
  • RQ2라인레이트 대역폭을 유지하면서 Snort를 SGX 에나클 내부에서 실행할 경우의 성능 오버헤드는 얼마인가?
  • RQ3SGX와 라이브러리 OS를 활용해 복잡한 네트워크 기능인 Snort를 보안화하기 위해 얼마나 많은 코드 수정이 필요한가?
  • RQ4현재의 SGX 플랫폼에서 에나클 페이지 캐시 크기 제한이 성능에 어느 정도 영향을 미치는가?
  • RQ5보안성과 성능을 훼손하지 않으면서 네트워크 I/O 를 에나클 외부로 안전하게 이관할 수 있는가?

주요 결과

  • SEC-IDS는 10Gbps 라인레이트 성능을 달성하여, 10Gbps 테스트베드에서 원본 Snort 3 대비 98%의 대역폭을 확보하였다.
  • 성능 저하의 주요 원인은 현재 인텔 SGX 스카이레이크 플랫폼에서 제한된 에나클 페이지 캐시 크기이다.
  • Snort에서 단 27줄, Graphene-SGX에서 178줄만 수정되어 이식 작업의 최소화가 입증되었다.
  • 규칙 처리 및 상태 추적을 포함한 모든 Snort 로직이 SGX 에나클 내부에서 안전하게 격리되어 계산 무결성이 보장된다.
  • 민감한 데이터와 코드를 호스트 OS 및 클라우드 인fra구조로부터 암호화 및 격리함으로써 강력한 보안 보장을 유지한다.
  • 에나클 외부에서 DPDK를 사용해 네트워크 I/O 를 이관함으로써 에나클 진입/퇴출 오버헤드를 크게 감소시키고 성능을 유지한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.