Intel SGX로 산업용 IoT 보안: DDS 보안 개요
다부작 시리즈 1부
미션 크리티컬 산업용 IoT 환경을 보호하려면 에지에서 클라우드까지, 여러 시스템과 공급업체에 걸쳐 확장되는 보안이 필요합니다. OMG DDS 보안 표준의 주요 저자로서 RTI는 분산 환경 보호에 필수적인 요구사항을 정의하는 데 기여했습니다. DDS 보안 플러그인은 전송 중인 데이터에 강력하고 데이터 중심적인 보호를 제공하며, RTI Connext DDS Secure는 디바이스에서 클라우드까지 유연하고 세밀한 제어와 최적의 성능으로 시스템을 보호하는 검증된 신뢰할 수 있는 연결 프레임워크를 제공합니다.
보안은 여전히 복잡한 과제입니다. RTI의 Connext DDS 프레임워크가 고급 소프트웨어 보안을 포함하고 있지만, 연구팀은 IIoT 배포를 더욱 강화하기 위한 추가 계층을 적극적으로 탐구 중입니다. 이 시리즈에서 RTI Research의 혁신적인 보안 접근법에 대한 통찰을 공유합니다.
보안 전문가 Jason Upchurch는 신뢰할 수 없는 시스템에서 민감한 데이터를 처리하는 애플리케이션을 보호하는 하드웨어 메커니즘을 연구합니다. 그는 RTI Connext® DDS Micro와 보안 플러그인 맥락에서 Intel SGX®에 초점을 맞추며 보호의 경계를 넓힙니다.
자, 시작해 보겠습니다.
SGX란 무엇이며 왜 중요한가?
SGX(Software Guard Extensions)는 민감한 데이터를 처리하는 애플리케이션을 위한 신뢰 실행 환경(TEE)을 제공하는 인텔 ISA 확장입니다. 인텔 프로세서가 IIoT 디바이스에서 주류는 아니지만, 많은 IIoT 아키텍처를 뒷받침하는 서버룸에는 자주 등장합니다. 이러한 서버 사이드 애플리케이션은 공격자에게 고가치 표적이므로 SGX가 중요한 데이터 흐름 보호에 귀중한 도구가 됩니다.
그림 1: SGX 공간 내 Connext DDS Secure
전선 보안만으로는 부족할 수 있다
전형적인 앨리스-밥 시나리오를 고려해 보세요: 메시지가 네트워크를 통해 이동하며 이브라는 도청자가 가로챌 수 있습니다. 암호화가 전송 중 데이터를 보호하지만, 현실의 공격자는 종종 엔드포인트 자체를 침해합니다. 대규모 침해 조사 경험에 따르면, 이브는 암호화된 트래픽을 캡처하기보다 손상된 시스템에서 비밀을 훔치는 경우가 더 많습니다.
실제로 앨리스와 밥은 운영체제, 애플리케이션, 펌웨어, 네트워킹 하드웨어 등 수많은 구성요소에 의존해 메시지를 전달합니다. 이런 시스템의 신뢰 컴퓨팅 베이스(TCB)는 서로 다른 벤더의 수백 개 요소를 포함할 수 있어 전체 스택을 신뢰하기 어렵습니다.
한 보안 전문가가 말했듯, "종이 벽으로 된 집에 정교한 자물쇠가 달린 강철 문을 다는 격이다."
이 위험을 완화하기 위해 업계는 신뢰해야 할 최소한의 구성요소 세트를 격리하고, 각 요소를 인증하며, 인가되지 않은 코드가 TCB에 진입하지 못하도록 하는 전략을 채택합니다.
엔드포인트(그리고 그 사이의 모든 지점) 보안
오늘날 컴퓨팅 환경은 풍부한 기능과 보안의 균형을 맞춥니다. IIoT에서 개발자들은 비용과 호환성 이유로 널리 지원되는 기능 풍부한 OS를 선호하는 경향이 있어 TCB가 커집니다. 이 요구사항을 조화시키기 위해 많은 디바이스가 표준 OS와 별도의 신뢰 실행 환경(TEE)을 함께 실행합니다.
일반적 TEE는 두 병렬 OS로 작동: 일반 작업을 위한 리치 OS와 민감한 연산을 위한 시큐어 OS. 둘 간 전환은 하드웨어 제어되며 루트 오브 트러스트 체인 로딩 같은 메커니즘으로 검증됩니다.
SGX는 독특한 접근법을 제공합니다. TCB가 CPU와 애플리케이션 자체로 제한되어 OS, 펌웨어, 하이퍼바이저, BIOS를 신뢰할 필요가 없습니다. 신뢰해야 할 소프트웨어는 애플리케이션뿐이며, 신뢰 체인은 루트 증명, CPU, 애플리케이션의 세 링크만으로 구성되어 공격 표면을 대폭 축소합니다.
그림 3: SGX 환경의 공격 표면
실험에서 저는 바닐라 Ubuntu 16.04 시스템에서 SGX 엔클레이브 내 DDS 애플리케이션을 실행합니다. DDS Secure로 암호화된 데이터가 OS에 도착하면 SGX로 전달되어 엔클레이브 내부에서 복호화되고 애플리케이션에 의해 격리된 불투명한 환경에서 처리됩니다. 결과는 Connext DDS Secure로 재암호화되어 엔클레이브를 떠납니다. 이 방식은 OS와 악성 소프트웨어로부터 데이터를 보호하여, 권한이 있는 공격자도 애플리케이션 데이터에 접근할 수 없게 합니다.
SGX와 DDS 보안에 대한 더 깊은 논의는 직접 저에게 연락해 주세요.