Securing Filesystems for Confidential Computing
본 논문은 애플리케이션의 변경이나 신뢰할 수 있는 스토리지를 요구하지 않고도 롤백 및 변조 공격을 탐지하기 위해 간결한 암호학적 커밋먼트와 머클 트리를 활용함으로써, 기밀 컴퓨팅 환경에서 지속성 저장 장치에 대한 종단 간 무결성과 신선함을 보장하는 POSIX 준수 파일 시스템인 ShieldFS를 제시한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
현대 디지털 시대에 우리는 클라우드에 저장된 데이터가 안전하다는 생각에 익숙해져 있습니다. 우리는 파일을 저장하거나 데이터베이스를 업데이트할 때, 그 데이터가 외부의 침입이나 예기치 않은 손실로부터 보호받으며 우리가 남겨둔 그대로 유지될 것이라고 믿습니다. 그러나 이 신뢰에는 근본적인 간극이 존재해 왔습니다. 컴퓨터가 활발하게 연산을 수행하는 메모리를 봉쇄하기 위해 등장한 '기밀 컴퓨팅(confidential computing)'이라는 신기술이 존재하지만, 이 기술은 하드 드라이브의 취약점은 해결하지 못합니다. 금고 내부의 안전장치는 난공불락이지만, 그 금고로 이어지는 복도를 통제하는 낯선 이가 당신의 문서를 바꿔치기하거나, 역사를 다시 쓰거나, 현재 버전을 과거의 버전으로 교체하더라도 당신이 전혀 알 수 없는 상황을 상상해 보십시오. 이것이 오늘날 보안 환경에서 실행되는 애플리케이션들이 직면한 현실입니다. 그들의 계산 과정은 보호받을지 모르나, 그들이 의존하는 저장 장치는 악의적인 클라우드 제공업체나 탈취된 시스템 관리자에 의해 조작될 수 있습니다.
따라서 과제는 컴퓨터의 속도를 늦추거나 프로그래머가 소프트웨어를 다시 작성하도록 강요하지 않으면서도, 메모리의 데이터만큼이나 격렬하게 디스크의 데이터를 보호하는 시스템을 구축하는 것입니다. 마이크로소프트 애저(Microsoft Azure), 임페리얼 칼리지 런던(Imperial College London) 및 기타 기관의 연구진은 파일 저장 방식을 관리하는 새로운 방법을 개발함으로써 이 문제에 도전했습니다. 그들은 영구적인 데이터를 위한 수호자 역할을 하는 SHIELDFS라는 시스템을 개발했습니다. 이 시스템은 디스크에서 읽어온 데이터가 기록된 것과 정확히 일치하도록 보장하며, 아무도 몰래 시간을 과거로 되돌려 놓지 못하게 합니다. 대중적인 오픈 소스 파일 시스템인 ZFS의 특정 버전으로 구현된 이들의 연구는, 표준적이고 보안되지 않은 시스템과 거의 동일한 속도를 유지하면서도 가장 강력한 공격자로부터 스토리지를 보호하는 것이 가능하다는 것을 보여줍니다.
문제의 핵심은 컴퓨터가 시간이 흐름에 따라 데이터를 처리하는 방식에 있습니다. 애플리케이션이 정보를 저장할 때, 데이터는 디스크에 기록됩니다. 보안 환경에서 컴퓨터의 메모리는 봉쇄되지만, 디스크는 종종 클라우드 제공업체에 의해 관리됩니다. 부도덕한 제공업체는 이론적으로 특정 시점의 디스크 상태를 기록해 두었다가, 나중에 애플리케이션이 해당 데이터를 업데이트하려고 할 때 기록해 둔 과거의 스냅샷으로 새 버전을 단순히 교체해 버릴 수 있습니다. 이를 '롤백 공격(rollback attack)'이라고 합니다. 애플리케이션은 과거의 데이터를 현재의 데이터라고 믿고 읽게 되며, 이는 오류, 거래 손실 또는 데이터베이스 손상으로 이어집니다. 기존의 솔루션들은 스토리지 자체를 신뢰해야 했거나(이는 클라우드 보안의 목적을 무색하게 만듭니다), 시스템을 사용하기 어려울 정도로 느리게 만드는 막대한 성능 저하를 초래했거나, 개발자들이 모든 개별 애플리케이션에 직접 맞춤형 보안 검사 기능을 구축하도록 강요하여 번거롭고 오류가 발생하기 쉬운 과정을 거치게 했습니다.
이를 해결하기 위해 연구진은 파일 시스템 자체를 검증된 이벤트의 사슬(chain)로 취급하는 시스템을 설계했습니다. 단순히 파일을 저장하는 대신, 시스템은 데이터에 가해진 모든 변화에 대해 암호학적 '지문(fingerprint)'을 생성합니다. 데이터가 기록될 때, 시스템은 해당 데이터와 그 이전에 일어난 변경 이력을 바탕으로 고유한 코드를 계산합니다. 이 코드는 데이터와 함께 저장됩니다. 결정적으로, 시스템은 공격자가 건드릴 수 없는 별도의 신뢰할 수 있는 위치에 최신 유효 '지문'에 대한 매우 작은 보안 기록을 보관합니다. 이 신뢰할 수 있는 위치는 체크포인트 역할을 합니다. 컴퓨터가 재시작되거나 데이터를 읽으려고 할 때마다, 시스템은 디스크의 지문을 신뢰할 수 있는 체크포인트에 있는 지문과 대조합니다. 만약 공격자가 디스크를 과거 버전으로 교체했거나 데이터를 변조했다면, 지문이 일치하지 않을 것이며 시스템은 즉시 이상을 감지하고 오염된 데이터의 로딩을 거부합니다.
연구진은 널리 사용되는 기존 파일 시스템인 ZFS를 확장하여 SHIELDZFS라는 이름의 작동 가능한 버전을 구축했습니다. 그들은 파일 시스템이 디스크에 데이터를 조직하는 근본적인 방식을 변경할 필요 없이, 컴퓨터의 보안 메모리 내부에서 실행되는 검증 계층을 추가했습니다. 이 계층은 데이터가 기록될 때마다 역사의 사슬에 끊어지지 않는 새로운 연결 고리가 추가되도록 보장합니다. 또한, 그들은 여러 다른 파일 시스템의 최신 유효 지문을 동시에 보유하기 위해 별도의 보안 환경에서 실행되는 '레지스트리(registry)'라고 불리는 경량 서비스를 만들었습니다. 이 레지스트리는 빠르고 신뢰할 수 있도록 설계되어, 초당 수천 건의 요청을 처리하면서도 지연 시간을 1밀리초 미만으로 유지하여 보안 검사가 병목 현상이 되지 않도록 합니다.
연구진은 표준 벤치마크와 데이터베이스 서버, 파일 서버와 같은 실제 애플리케이션을 사용하여 그들의 결과물을 테스트하기 위해 일련의 엄격한 실험을 수행했습니다. 그들은 보안 시스템을 표준 파일 시스템 및 다른 보안 도구들과 비교했습니다. 실험 결과, SHIELDZFS는 데이터 롤백, 이전 버전 재생, 또는 파일 시스템의 상충하는 복사본 생성 시도 등 그들이 시뮬레이션한 모든 유형의 변조를 성공적으로 탐지했습니다. 속도 측면에서 보안 시스템은 놀라운 성능을 보여주었습니다. 대부분의 작업에서 이 시스템은 표준 보안되지 않은 버전의 파일 시스템과 거의 동일한 속도로 작동했습니다. 데이터가 즉각적으로 기록되고 확인되어야 하는 가장 까다로운 시나리오에서도 표준 버전보다 약 1.7배 느린 수준에 그쳤으며, 이는 보안을 중시하는 많은 조직이 충분히 수용할 만한 트레이드오프입니다. 반면, 그들이 테스트한 다른 보안 방법들은 훨씬 더 느려 때로는 최대 5배까지 느려졌으며, 이는 고성능 요구 사항을 충족하기에는 부적합했습니다.
또한 연구진은 이 시스템이 이미 일부 보안 기능을 갖춘 기존 소프트웨어와 어떻게 함께 작동할 수 있는지 탐구했습니다. 그들은 데이터베이스의 가장 중요한 부분(변경 사항을 기록하는 로그)에만 이 보안 시스템을 사용하고, 나머지 데이터에는 표준의 빠른 파일 시스템을 사용하는 하이브리드 방식을 통해 최상의 결과를 얻을 수 있음을 발견했습니다. 이 하이브리드 접근 방식은 가장 중요한 데이터에 대해서는 높은 보안성을 유지하면서도 전체 시스템의 속도와 반응성을 유지할 수 있게 해주었습니다. 이 연구는 소프트웨어를 완전히 개편하지 않고도 악의적인 클라우드 제공업체에 탄력적으로 대응할 수 있는 파일 시스템을 구축할 수 있음을 입증합니다. 파일 시스템을 자기 검증 구조로 만들고 이를 외부의 신뢰할 수 있는 체크포인트에 고정함으로써, 연구진은 하드웨어를 누가 제어하든 상관없이 저장된 것이 정확히 회수될 수 있도록 하는 클라우드 데이터 보안의 실질적인 경로를 제시했습니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.