하드웨어 보안의 최신 동향

2019년에 공표된 MDS(마이크로아키텍처 데이터 샘플링)라고 불리는 취약점의 특징으로 올바른 것은?

  1. A분기 예측기를 일부러 잘못 학습시켜, 피해자의 프로그램이 범위 밖에 있는 배열 요소를 투기적으로 읽게 하여 비밀을 꺼낸다
  2. BDRAM의 같은 행을 짧은 시간에 여러 번 활성화하여 이웃한 행의 셀 전하를 잃게 하고, 다른 프로세스나 커널의 데이터 비트를 반전시킨다
  3. C라인 필 버퍼 등 CPU 안의 버퍼에 일시적으로 놓인 다른 처리의 데이터를, 일시적으로 실행된 명령이 받아 버린다
정답과 해설 보기

정답: C. 라인 필 버퍼 등 CPU 안의 버퍼에 일시적으로 놓인 다른 처리의 데이터를, 일시적으로 실행된 명령이 받아 버린다

MDS는 RIDL, Fallout, ZombieLoad 등의 이름으로 공표된 일련의 일시적 실행 공격입니다. 영향을 받은 CPU에서는 읽기가 예외 등으로 취소되는 경우, 캐시가 아니라 내부 버퍼에 남아 있던 다른 프로세스나 커널의 데이터가 일시적으로 실행되는 후속 명령에 전달되는 일이 있었고, 그것을 캐시 사이드 채널로 꺼낼 수 있었습니다. 공격자는 읽을 주소를 고를 수 없지만, 반복해서 관측하여 비밀을 모을 수 있습니다. 대책으로 특권을 전환할 때 내부 버퍼를 지우는 기능이 마이크로코드 업데이트로 추가되었지만, SMT로 같은 코어를 동시에 사용하는 다른 스레드에서는 전환 없이 관측되므로, 신뢰할 수 없는 상대와 코어를 공유하지 않는 것도 필요해졌습니다.

이 분야 연습하기 분야로 돌아가기

하드웨어 보안의 최신 동향의 다른 문제

  1. 간접 분기의 예측을 악용하는 Spectre의 변종(분기 타깃 인젝션)에 대한 대책인 retpoline과 IBRS의 설명 조합으로 올바른 것은?
  2. 어떤 처리는 투기적 실행에 대한 대책을 넣기 전에 10초가 걸렸고, 그동안 시스템 콜을 500만 회 호출했다. 대책을 넣으면 시스템 콜 1회당 처리 시간이 0.4 µs에서 0.6 µs로 늘어나고, 그 이외 부분의 시간은 변하지 않는다고 한다. 처리 전체 시간의 증가 비율은?
  3. 격자 기반 양자 내성 암호에서는 차수 n = 256인 다항식의 곱셈을 여러 번 수행한다. 계수끼리 모두 곱하는 소박한 방법으로는 약 n²회, 수론 변환(NTT)을 사용하는 방법으로는 약 n log₂ n회의 곱셈이 필요하다고 하면, NTT를 사용함으로써 곱셈 횟수가 대략 몇 분의 1이 되는지에 가장 가까운 것은?
  4. ML-KEM-768의 공개 키는 1,184바이트, 암호문은 1,088바이트이고, 타원 곡선 키 교환 X25519의 공개 값은 32바이트이다. ML-KEM-768 공개 키의 크기가 X25519 공개 값의 몇 배인지로 올바른 것은?
  5. ML-KEM의 캡슐화 해제에서는 받은 암호문을 개인 키로 복호화한 결과로부터 암호문을 다시 한번 만들어, 받은 암호문과 일치하는지를 비교한다. 이 부분의 구현상 주의점으로 올바른 것은?