하드웨어 보안

기밀 처리를 수행하는 시스템에서 CPU의 동시 멀티스레딩(SMT)을 비활성화하는 경우가 있는 이유로 올바른 것은?

  1. A같은 코어에서 동작하는 두 스레드는 L1 캐시나 연산기 등을 공유하므로, 다른 쪽 스레드에서 처리 흔적을 세밀하게 관찰당하기 쉽기 때문
  2. BSMT를 비활성화하면 CPU 성능이 반드시 올라가기 때문
  3. CSMT는 암호 계산을 할 수 없기 때문
정답과 해설 보기

정답: A. 같은 코어에서 동작하는 두 스레드는 L1 캐시나 연산기 등을 공유하므로, 다른 쪽 스레드에서 처리 흔적을 세밀하게 관찰당하기 쉽기 때문

SMT에서는 하나의 코어 안에서 두 스레드가 동시에 동작하며 L1 캐시, 분기 예측기, 연산기, 버퍼 등을 세밀하게 공유합니다. 그래서 한쪽 스레드가 다른 쪽이 사용하는 자원을 시간 측정으로 관찰하기 쉽고, 몇몇 취약점에서는 이것이 공격의 조건이 되었습니다. 신뢰할 수 없는 상대와 같은 코어를 공유하지 않도록 SMT를 끄거나, 같은 코어에는 같은 이용자의 스레드만 배치합니다.

  • A. 올바릅니다. 자원 공유가 세밀할수록 유출되기 쉬워집니다.
  • B. 대부분의 경우 전체 처리량은 떨어집니다.
  • C. 암호 계산은 할 수 있습니다.
이 분야 연습하기 분야로 돌아가기

하드웨어 보안의 다른 문제

  1. PC에 연결한 외부 기기가 DMA를 이용해 메인 메모리의 내용을 멋대로 읽고 쓰는 공격에 대한 대책으로 올바른 것은?
  2. 하드웨어와 소프트웨어 보안에서 중시되는 「다층 방어(defense in depth)」의 개념으로 올바른 것은?
  3. 많은 기기를 제조할 때, 모든 기기에 같은 키를 넣지 않고 기기마다 다른 키를 갖게 하는 이유로 올바른 것은?
  4. CPU의 하드웨어 취약점이 발견되었을 때, 출하된 CPU에 대해 이루어지는 대책의 하나로 올바른 것은?
  5. 하드웨어 보안에서 다루는 문제의 설명으로 가장 적절한 것은?