하드웨어 보안

Spectre라고 불리는 투기적 실행 취약점의 원리로 올바른 것은?

  1. ACPU의 계산 오류로 덧셈 결과가 바뀌어 버린다
  2. B분기 예측에 따라 투기적으로 실행한 명령은 결과가 취소되어도 캐시에 읽어 들인 흔적이 남고, 이를 시간 측정으로 읽어 낼 수 있다
  3. C투기적 실행으로 인해 CPU의 온도가 지나치게 올라간다
정답과 해설 보기

정답: B. 분기 예측에 따라 투기적으로 실행한 명령은 결과가 취소되어도 캐시에 읽어 들인 흔적이 남고, 이를 시간 측정으로 읽어 낼 수 있다

CPU는 분기 결과를 알기 전에 예측한 쪽의 명령을 먼저 실행하고, 예측이 빗나가면 결과를 버립니다. Spectre에서는 공격자가 분기 예측을 오도하여, 본래는 실행되지 않을 경로에서 비밀 데이터를 읽게 하고 그 값에 따른 위치를 캐시에 읽어 들이게 합니다. 결과는 취소되어도 캐시 상태는 되돌아가지 않으므로, 캐시 사이드 채널로 값을 추측할 수 있습니다.

  • A. 계산 결과는 올바르게 취소됩니다.
  • B. 올바릅니다. 성능을 위한 구조가 흔적을 남깁니다.
  • C. 온도 문제가 아닙니다.
이 분야 연습하기 분야로 돌아가기

하드웨어 보안의 다른 문제

  1. 투기적으로 실행된 명령의 결과가 취소되어도 Spectre와 같은 공격으로 정보가 유출되는 이유로 올바른 것은?
  2. 일부 CPU에서 문제가 된 Meltdown이라고 불리는 취약점의 원리로 올바른 것은?
  3. Meltdown에 대한 소프트웨어 대책으로 도입된 KPTI(커널 페이지 테이블 격리, Kernel Page-Table Isolation)의 개념으로 올바른 것은?
  4. Spectre와 같은 투기적 실행 취약점에 대한 대책으로 사용되는 것에 해당하지 않는 것은?
  5. 투기적 실행 취약점 대책에 대해 일반적으로 올바른 것은?