하드웨어 보안
기밀 처리를 수행하는 시스템에서 CPU의 동시 멀티스레딩(SMT)을 비활성화하는 경우가 있는 이유로 올바른 것은?
- A같은 코어에서 동작하는 두 스레드는 L1 캐시나 연산기 등을 공유하므로, 다른 쪽 스레드에서 처리 흔적을 세밀하게 관찰당하기 쉽기 때문
- BSMT를 비활성화하면 CPU 성능이 반드시 올라가기 때문
- CSMT는 암호 계산을 할 수 없기 때문
정답과 해설 보기
정답: A. 같은 코어에서 동작하는 두 스레드는 L1 캐시나 연산기 등을 공유하므로, 다른 쪽 스레드에서 처리 흔적을 세밀하게 관찰당하기 쉽기 때문
SMT에서는 하나의 코어 안에서 두 스레드가 동시에 동작하며 L1 캐시, 분기 예측기, 연산기, 버퍼 등을 세밀하게 공유합니다. 그래서 한쪽 스레드가 다른 쪽이 사용하는 자원을 시간 측정으로 관찰하기 쉽고, 몇몇 취약점에서는 이것이 공격의 조건이 되었습니다. 신뢰할 수 없는 상대와 같은 코어를 공유하지 않도록 SMT를 끄거나, 같은 코어에는 같은 이용자의 스레드만 배치합니다.
- A. 올바릅니다. 자원 공유가 세밀할수록 유출되기 쉬워집니다.
- B. 대부분의 경우 전체 처리량은 떨어집니다.
- C. 암호 계산은 할 수 있습니다.