하드웨어 보안의 최신 동향

Arm CCA(Confidential Compute Architecture)에서 도입된 렐름(Realm)의 설명으로 올바른 것은?

  1. A노멀 월드와 시큐어 월드에 더해 가상 머신을 실행하기 위한 렐름이라는 월드를 두고, 하이퍼바이저는 자원을 할당하더라도 내용에는 손댈 수 없게 한다
  2. BTrustZone의 시큐어 월드의 이름을 바꾼 것일 뿐이며, 스마트폰의 지문 대조나 결제 등의 작은 처리를 기기 제조사가 준비한 OS로 그곳에서 수행한다
  3. C렐름 안의 프로그램은 하드웨어에 의한 보호를 받지 않으며, 게스트 OS가 스스로 메모리 내용을 소프트웨어로 암호화하는 것만으로 보호된다
정답과 해설 보기

정답: A. 노멀 월드와 시큐어 월드에 더해 가상 머신을 실행하기 위한 렐름이라는 월드를 두고, 하이퍼바이저는 자원을 할당하더라도 내용에는 손댈 수 없게 한다

TrustZone의 시큐어 월드는 기기 제조사가 준비하는 작은 신뢰할 수 있는 OS를 위한 것으로, 이용자가 자신의 가상 머신을 실행하는 용도에는 맞지 않았습니다. CCA에서는 노멀과 시큐어에 더해 렐름과, 월드 전환을 관리하는 루트 월드를 둡니다. 메모리의 각 영역이 어느 월드의 것인지를 CPU가 표(그래뉼 보호 테이블)로 확인하므로, 노멀 월드에서 동작하는 하이퍼바이저는 렐름의 가상 머신에 메모리나 CPU의 시간을 할당하더라도 내용을 읽고 쓸 수 없습니다. AMD SEV-SNP나 Intel TDX와 마찬가지로, VM형 TEE를 Arm 아키텍처에서 실현하기 위한 구조입니다.

이 분야 연습하기 분야로 돌아가기

하드웨어 보안의 최신 동향의 다른 문제

  1. CHERI라고 불리는 명령어 집합 확장에서 쓰이는 케이퍼빌리티(capability)의 설명으로 올바른 것은?
  2. Arm의 MTE(메모리 태깅 확장)에서는 메모리의 16바이트마다 4비트 태그를 붙이고, 포인터의 상위 비트에도 4비트 태그를 넣어, 접근할 때마다 둘이 일치하는지를 CPU가 확인한다. 해제한 영역을 가리키는 오래된 포인터로 그 영역에 접근하는 오류를 생각한다. 영역을 다시 할당할 때의 새 태그가 16가지 중에서 균일하게 무작위로 선택된다고 하면, 태그가 우연히 일치하여 오류를 놓칠 확률은?
  3. Arm의 포인터 인증(PAC) 구조로 올바른 것은?
  4. Intel의 CET(제어 흐름 강제 기술) 등에서 채택된 하드웨어 섀도 스택의 설명으로 올바른 것은?
  5. 제어 흐름 무결성을 하드웨어로 지원하는 기능에 대해, 함수에서의 복귀를 보호하는 것과 함수 포인터 등에 의한 간접 호출이나 점프를 보호하는 것의 조합으로 올바른 것은?