일시적 실행 공격(Transient Execution Attack)란?

CPU가 투기적 실행이나 예외 처리 도중에 일시적으로 실행하고 나중에 취소하는 명령이, 캐시 등 마이크로아키텍처 상태에 흔적을 남기는 것을 이용하여 비밀을 읽어 내는 공격의 총칭. Spectre, Meltdown, CPU 안의 버퍼 데이터가 유출되는 MDS 등이 포함된다. 대책에는 마이크로코드 업데이트, OS나 컴파일러의 대책, 새로운 CPU에서의 회로 수정이 있으며, 성능과의 균형을 고려해 선택된다.

일본어 명칭: 過渡的実行攻撃

일시적 실행 공격(Transient Execution Attack)은(는) 하드웨어 보안의 최신 동향 등 1개 분야의 연습 문제 1개에 나와요.

분야: 하드웨어 보안의 최신 동향

도전해 보기: 일시적 실행 공격(Transient Execution Attack) 관련 문제

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

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

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

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

해설 속 일시적 실행 공격(Transient Execution Attack)

일시적 실행 공격(Transient Execution Attack)이(가) 나오는 문제 (1)

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

관련 용어

SMT(동시 멀티스레딩) 기밀 컴퓨팅(Confidential Computing) 레이저 오류 주입(Laser Fault Injection) 로직 로킹(Logic Locking) 섀도 스택(Shadow Stack) 수론 변환(Number-Theoretic Transform) 제어 흐름 무결성(Control-Flow Integrity) 포인터 인증(PAC) Arm CCA(Confidential Compute Architecture) CHERI

용어집으로 돌아가기