하드웨어 보안

투기적으로 실행된 명령의 결과가 취소되어도 Spectre와 같은 공격으로 정보가 유출되는 이유로 올바른 것은?

  1. A취소 처리에 실패하여 레지스터에 비밀 값이 남기 때문
  2. B투기적으로 실행한 결과가 디스크에 저장되기 때문
  3. C취소되는 것은 레지스터 등 아키텍처 상태뿐이고, 캐시 등 마이크로아키텍처 상태는 원래대로 돌아가지 않기 때문
정답과 해설 보기

정답: C. 취소되는 것은 레지스터 등 아키텍처 상태뿐이고, 캐시 등 마이크로아키텍처 상태는 원래대로 돌아가지 않기 때문

CPU는 프로그램에서 보이는 상태(레지스터나 메모리의 내용)에 대해서는, 예측이 빗나가면 완전히 원래대로 되돌리도록 만들어져 있습니다. 그러나 캐시의 내용이나 분기 예측기의 상태 같은 마이크로아키텍처 상태는 성능 향상을 위한 내부 상태로서 원래대로 되돌려지지 않습니다. ISA의 약속은 지켜지고 있어도 내부 상태가 시간 차이로 외부에 드러나 버린다는 점이 이런 종류의 취약점의 본질입니다.

  • A. 레지스터는 올바르게 원래대로 되돌려집니다.
  • B. 디스크에는 저장되지 않습니다.
  • C. 올바릅니다. ISA에서 보이는 상태만 원래대로 되돌려집니다.
이 분야 연습하기 분야로 돌아가기

하드웨어 보안의 다른 문제

  1. 일부 CPU에서 문제가 된 Meltdown이라고 불리는 취약점의 원리로 올바른 것은?
  2. Meltdown에 대한 소프트웨어 대책으로 도입된 KPTI(커널 페이지 테이블 격리, Kernel Page-Table Isolation)의 개념으로 올바른 것은?
  3. Spectre와 같은 투기적 실행 취약점에 대한 대책으로 사용되는 것에 해당하지 않는 것은?
  4. 투기적 실행 취약점 대책에 대해 일반적으로 올바른 것은?
  5. 암호 처리를 수행하는 칩의 소비 전력 파형을 이용하는 전력 분석 중, 차분 전력 분석(DPA)의 특징으로 올바른 것은?