하드웨어 보안

캐시를 이용한 사이드 채널 공격이 성립하는 주된 이유는?

  1. A캐시는 프로세스 간에 공유되는 경우가 있어, 다른 프로세스가 어떤 데이터를 사용했는지가 자신의 접근 속도(히트인지 미스인지)의 차이로 관찰되기 때문
  2. B캐시의 내용은 누구나 직접 읽어 낼 수 있기 때문
  3. C캐시는 데이터를 암호화하지 않고 디스크에 저장하기 때문
정답과 해설 보기

정답: A. 캐시는 프로세스 간에 공유되는 경우가 있어, 다른 프로세스가 어떤 데이터를 사용했는지가 자신의 접근 속도(히트인지 미스인지)의 차이로 관찰되기 때문

캐시에 들어 있는 데이터는 빠르게, 들어 있지 않은 데이터는 느리게 읽힙니다. 공격자가 공유 캐시의 일부를 자신의 데이터로 채워 두고 나중에 그 읽기 시간을 측정하면, 다른 프로세스가 그 위치를 사용해서 자신의 데이터가 밀려났는지를 알 수 있습니다. 암호 처리가 키에 따라 다른 테이블 위치를 읽는 경우, 이 방법으로 키 정보가 유출됩니다.

  • A. 올바릅니다. 접근 시간이 흔적이 됩니다.
  • B. 내용을 직접 읽는 것이 아니라 시간 차이로 추측합니다.
  • C. 캐시는 디스크에 저장하지 않습니다.
이 분야 연습하기 분야로 돌아가기

하드웨어 보안의 다른 문제

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