[논문 리뷰] Slick: Secure Middleboxes using Shielded Execution
Slick는 Intel SGX 기반의 실시간 실행(단단한 실행, Scone를 통해 구현)과 DPDK를 통합하여 신뢰할 수 없는 클라우드 서버에서 고성능, 라인레이트 네트워크 기능(NF) 처리를 가능하게 하는 보안 중간장비 프레임워크이다. Click 기반 프로그래밍 인터페이스, 보안 에이전트, 메모리 안정성, 상태 지속성 및 NF 체인에 대한 맞춤 최적화를 통해 다양한 NF를 지원하면서도, 네이티브 수준에 가까운 처리량과 지연 시간을 달성한다.
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)의 광범위한 지원을 위해.
- 신뢰할 수 없는 클라우드 인fra에서 처리되는 기밀 데이터에 대해 강력한 기밀성 및 무결성 보장을 제공하기 위해.
- 원격 인증과 보안 설정을 통해 중간장비의 검증 가능하고 이식 가능하며 투명한 배포를 가능하게 하기 위해.
- 이전 시스템에서의 종단 간 암호화 처리의 성능 저하 문제를 하드웨어 보호 실행을 통해 해결하기 위해.
제안 방법
- Slick는 표준 요소와 C++ 확장 기능을 사용하여 네트워크 기능(NF)을 정의하고 조합할 수 있는 Click 기반 프로그래밍 인터페이스를 사용한다.
- 모든 패킷 처리 작업은 Intel SGX 에이전트 내부에서 수행되어 데이터 및 코드의 기밀성과 무결성을 보장한다.
- Slick는 Scone 실시간 실행 프레임워크와 Intel DPDK를 통합하여 보안 에이전트 내부에서 고속 사용자 영역 패킷 I/O를 가능하게 한다.
- 보안 패킷 처리를 위한 새로운 Click 요소, NF 체인을 위한 보안 공유 메모리, 그리고 NIC에 내장된 PTP 타이머를 통한 에이전트 타임키핑을 도입한다.
- 장애 복구 및 마이그레이션을 위한 안정적인 상태 지속성 렠이어를 제공하며, DPDK 전용 Iago 공격에 대비한 메모리 보호 메커니즘을 구현한다.
- 원격 인증과 암호화된 설정 로딩을 통해 클라우드 환경에서 검증 가능하고 신뢰할 수 있는 배포를 보장한다.
실험 결과
연구 질문
- RQ1보안 중간장비 프레임워크는 신뢰할 수 없는 클라우드 환경에서 강력한 기밀성 및 무결성 보장을 확보하면서도 네이티브 수준에 가까운 성능을 달성할 수 있는가?
- RQ2하드웨어 지원 보안 에이전트(예: Intel SGX)를 고성능 패킷 I/O 프레임워크(DPDK)와 효과적으로 결합하여 라인레이트 처리를 수행할 수 있는가?
- RQ3성능 부담이 크지 않은 상태에서 복잡한 상태 기반 NF를 SGX 에이전트 내부에서 지원하기 위해 필요한 시스템 수준 최적화는 무엇인가?
- RQ4원격 인증과 암호화된 설정을 통해 클라우드 환경에서 NF의 보안적, 검증 가능하고 이식 가능한 배포를 어떻게 달성할 수 있는가?
- RQ5SGX 기반 네트워크 처리 환경에서 보안적 NF 체인, 상태 지속성, 메모리 안정성을 지원하기 위해 필요한 새로운 추상화 및 구성 요소는 무엇인가?
주요 결과
- Slick는 일반적인 SGX 메모리 접근 오버헤드로 인해 약간의 성능 저하가 발생하지만, 다양한 네트워크 기능에서 네이티브 수준에 근접한 처리량과 지연 시간을 달성한다.
- DPDK와 Scone의 통합을 통해 SGX 에이전트 내부에서 효율적이고 고속의 패킷 I/O를 구현하여, 일반적으로 에이전트 기반 시스템에서 발생하는 I/O 병목 현상을 해결한다.
- Slick는 동일한 Click 기반 인터페이스를 사용하여 방화벽 및 IDS와 같은 기업용 NF 전반을 지원하며, 프로그래밍 가능성과 모듈성을 보장한다.
- 원격 인증과 암호화된 설정 로딩을 통해 검증 가능한 배포를 제공하여, 신뢰할 수 없는 클라우드 제공자에 대한 신뢰를 가능하게 한다.
- NF 체인을 위한 보안 공유 메모리, NIC에 내장된 타임키핑, Iago 공격에 대비한 메모리 보호 기능 등 맞춤형 구성 요소는 보안성과 사용성 모두를 향상시킨다.
- 평가 결과 Slick의 성능는 네이티브 Click 실행에 매우 가까운 수준이며, 특히 메모리 집약적인 작업에서 측정 가능한 오버헤드가 발생하지만 수용 가능한 수준이다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.