하드웨어 보안

Meltdown에 대한 소프트웨어 대책으로 도입된 KPTI(커널 페이지 테이블 격리, Kernel Page-Table Isolation)의 개념으로 올바른 것은?

  1. A사용자 프로그램이 동작하는 동안에는 커널 메모리 대부분을 페이지 테이블에서 제외하여 투기적으로도 읽지 못하게 한다
  2. B커널을 모두 암호화하여 디스크에 둔다
  3. C사용자 프로그램의 실행을 금지한다
정답과 해설 보기

정답: A. 사용자 프로그램이 동작하는 동안에는 커널 메모리 대부분을 페이지 테이블에서 제외하여 투기적으로도 읽지 못하게 한다

기존 OS는 전환을 빠르게 하려고 사용자 프로세스의 페이지 테이블에도 커널 메모리를 (접근 금지 표시를 붙여) 올려 두었습니다. Meltdown에서는 그 표시를 확인하기 전에 투기적으로 읽을 수 있었기 때문에, KPTI에서는 사용자 프로그램이 동작하는 동안 커널 페이지를 매핑에서 아예 제외했습니다. 주소 변환이 되지 않으면 투기적으로도 읽을 수 없습니다. 다만 시스템 콜 때마다 페이지 테이블을 전환하므로 성능이 떨어집니다.

  • A. 올바릅니다. 대신 시스템 콜 등의 전환이 무거워집니다.
  • B. 커널을 디스크에 두는 것이 아닙니다.
  • C. 프로그램은 평소처럼 동작합니다.
이 분야 연습하기 분야로 돌아가기

하드웨어 보안의 다른 문제

  1. Spectre와 같은 투기적 실행 취약점에 대한 대책으로 사용되는 것에 해당하지 않는 것은?
  2. 투기적 실행 취약점 대책에 대해 일반적으로 올바른 것은?
  3. 암호 처리를 수행하는 칩의 소비 전력 파형을 이용하는 전력 분석 중, 차분 전력 분석(DPA)의 특징으로 올바른 것은?
  4. 전력 분석에 대한 대책으로 사용되는 마스킹(masking)의 개념으로 올바른 것은?
  5. 전자파를 이용한 사이드 채널 분석의 특징으로 올바른 것은?