Trust Nothing: RTOS Security without Run-Time Software TCB (Extended Version)

이 논문은 레거시 하드웨어를 기반으로 한 새로운 능력 (capability) 아키텍처와 Zephyr 기반의 실시간 운영체제를 제안하여, 모든 소프트웨어 구성 요소와 주변 장치를 신뢰할 수 없는 것으로 간주하면서도 하드웨어 변경 없이 임베디드 장치의 무결성을 보장하는 방법을 제시합니다.

Eric Ackermann, Sven Bugiel

게시일 Tue, 10 Ma
📖 4 분 읽기☕ 가벼운 읽기

Each language version is independently generated for its own context, not a direct translation.

🏠 비유: "불신하는 아파트 단지"

기존의 보안 방식은 **"관리실 (운영체제 커널) 을 믿고, 모든 주민 (앱) 과 외부 방문객 (장치) 을 감시한다"**는 방식이었습니다. 하지만 관리실 직원 (운영체제) 이 해킹당하거나, 외부 방문객이 위장해서 들어오면 전체 아파트가 무너집니다.

이 논문은 "아예 관리실이라는 개념을 없애고, 모든 주민과 방문객을 서로 완전히 격리된 '독립된 방'에 가두는" 방식을 제안합니다.

1. 문제 상황: 왜 기존 방식은 위험할까?

  • 기존 방식: 아파트의 열쇠를 관리하는 '관리실 (커널)'이 있습니다. 주민들은 관리실을 통해 문을 열고 들어갑니다.
    • 위험: 만약 관리실 직원이 해커에게 당하거나, 관리실 열쇠가 유출되면 해커는 아파트 전체를 마음대로 다닐 수 있습니다.
    • 외부 위협: 외부 택배 기사 (DMA 장치) 가 열쇠를 훔쳐가서 아파트 안을 훑어볼 수도 있습니다.
  • 현재의 한계: 기존 보안 기술은 '관리실'을 믿거나, '외부 방문객'을 믿는 두 가지 중 하나만 선택할 수 있었습니다. 둘 다 믿지 않으면 보안이 뚫립니다.

2. 해결책: '북케이프 (Northcape)'와 '스카디 (Skadi)'

이 연구팀은 두 가지 새로운 도구를 만들었습니다.

A. 브레디 (Bredi): "지능형 보안관 (하드웨어)"

  • 역할: 아파트의 모든 문과 복도에 설치된 자동 보안관입니다.
  • 기능:
    • 주민이나 방문객이 문 (메모리) 을 열려고 할 때, **"너는 이 문을 열 자격이 있니?"**를 물어봅니다.
    • 자격증 (Capability, 권한 토큰) 이 없으면 문은 절대 열리지 않습니다.
    • 중요한 점: 이 보안관은 하드웨어 (회로) 로 만들어져서, 소프트웨어가 해킹당해도 보안관 자체는 해커가 조작할 수 없습니다.
    • 특이사항: 외부 방문객 (DMA 장치) 이도 이 보안관의 심사를 받습니다. 그래서 해커가 위장한 방문객이라도 아파트 안을 훔쳐볼 수 없습니다.

B. 스카디 (Skadi): "격리된 방들 (소프트웨어)"

  • 역할: 기존 운영체제 (Zephyr) 를 개조하여 만든 새로운 아파트 관리 시스템입니다.
  • 기능:
    • 관리실 폐지: 더 이상 '관리실'이라는 특권 계급이 없습니다. 모든 프로그램 (네트워크, 드라이버, 앱) 이 서로를 믿지 않는 **동등한 주민 (서브시스템)**으로 나뉩니다.
    • 완벽한 격리: 주민 A 가 주민 B 의 방에 들어가고 싶다면, 주민 B 가 직접 문을 열어줘야 합니다. 주민 A 는 주민 B 의 방을 함부로 열 수 없습니다.
    • 신뢰할 수 없는 주민: 만약 어떤 주민 (드라이버) 이 해킹당해서 미친 짓을 해도, 그 주민은 자신의 방 밖으로 나갈 수 없습니다. 아파트 전체는 안전합니다.

3. 어떻게 작동할까? (일상적인 예시)

  • 열쇠 (Capability Token):

    • 보통 열쇠는 "이 아파트의 모든 문"을 열 수 있는 '마스터 키'처럼 작동합니다.
    • 하지만 이 시스템에서는 각 문마다 다른 열쇠를 줍니다.
    • 예: "냉장고 문만 열 수 있는 열쇠", "거실 창문만 열 수 있는 열쇠".
    • 만약 해커가 '냉장고 열쇠'를 훔쳐도, '거실 창문'은 열 수 없습니다.
  • 방문 (Subsystem Call):

    • 주민 A 가 주민 B 에게 도움을 요청할 때, 그냥 문을 두드리는 게 아니라 공식적인 방문 신청서를 냅니다.
    • 보안관 (하드웨어) 이 "이 신청서는 유효한가?"를 확인하고, 잠시 주민 B 의 영역으로 이동하게 해줍니다.
    • 작업이 끝나면 즉시 원래 자리로 돌아옵니다. 이 과정에서 주민 A 는 주민 B 의 비밀을 볼 수 없습니다.
  • 비상 상황 (Interrupts):

    • 화재 경보가 울리면 (인터럽트), 보안관이 즉시 개입합니다.
    • 기존 방식에서는 관리실이 해킹당해 경보를 무시할 수 있었지만, 이 시스템에서는 하드웨어 보안관이 직접 경보를 처리하므로 해커가 경보를 끄거나 무시할 수 없습니다.

4. 성능은 어떨까? (속도 문제)

  • 단점: 모든 문을 열 때마다 보안관 확인을 거치기 때문에, 아주 미세하게 속도가 느려질 수 있습니다 (약 3~4 배 정도 네트워크 속도가 느려질 수 있음).
  • 장점: 하지만 현대의 임베디드 기기들은 성능보다 보안이 훨씬 중요합니다.
  • 결론: "약간의 속도 저하를 감수하더라도, 내 집이 털리는 것보다 낫다"는 철학입니다. 실제로는 대부분의 일상적인 작업에서는 사용자가 체감할 만큼의 차이가 없습니다.

💡 요약: 이 연구가 왜 중요한가?

  1. 신뢰하지 마라 (Zero Trust): 운영체제나 하드웨어 장치 중 어떤 것도 100% 신뢰하지 않습니다. 모두 해킹당할 수 있다고 가정합니다.
  2. 하드웨어 기반 보안: 소프트웨어만으로 보안을 지키는 것은 한계가 있습니다. 이를 **하드웨어 (회로)**가 직접 통제합니다.
  3. 미래의 안전: 5G 기지국, 자율주행차, 의료 기기 등 해킹당하면 생명이나 사회 시스템이 위험한 곳에 이 기술이 적용되면, 해커가 시스템을 장악하는 것이 거의 불가능해집니다.

한 줄 평:

"아파트 관리실 (운영체제) 을 없애고, 모든 주민과 방문객을 서로 다른 방에 가두어, 한 명이 미쳐도 전체 아파트가 무너지지 않게 만든 하드웨어 기반의 완벽한 보안 시스템입니다."