하드웨어 보안
Spectre라고 불리는 투기적 실행 취약점의 원리로 올바른 것은?
- ACPU의 계산 오류로 덧셈 결과가 바뀌어 버린다
- B분기 예측에 따라 투기적으로 실행한 명령은 결과가 취소되어도 캐시에 읽어 들인 흔적이 남고, 이를 시간 측정으로 읽어 낼 수 있다
- C투기적 실행으로 인해 CPU의 온도가 지나치게 올라간다
정답과 해설 보기
정답: B. 분기 예측에 따라 투기적으로 실행한 명령은 결과가 취소되어도 캐시에 읽어 들인 흔적이 남고, 이를 시간 측정으로 읽어 낼 수 있다
CPU는 분기 결과를 알기 전에 예측한 쪽의 명령을 먼저 실행하고, 예측이 빗나가면 결과를 버립니다. Spectre에서는 공격자가 분기 예측을 오도하여, 본래는 실행되지 않을 경로에서 비밀 데이터를 읽게 하고 그 값에 따른 위치를 캐시에 읽어 들이게 합니다. 결과는 취소되어도 캐시 상태는 되돌아가지 않으므로, 캐시 사이드 채널로 값을 추측할 수 있습니다.
- A. 계산 결과는 올바르게 취소됩니다.
- B. 올바릅니다. 성능을 위한 구조가 흔적을 남깁니다.
- C. 온도 문제가 아닙니다.