하드웨어 보안의 최신 동향
VM형 TEE에서 가상 머신의 메모리를 암호화하는 것만으로는 불충분하다고 여겨져, AMD의 SEV-SNP처럼 메모리의 무결성을 보호하는 구조가 추가된 이유로 올바른 것은?
- A암호화된 메모리라도 하이퍼바이저는 가상 머신의 키를 관리하고 있으므로, 그 키를 사용해 CPU 밖에서 자유롭게 복호화할 수 있기 때문에
- B암호화를 사용하면 가상 머신이 쓸 수 있는 메모리 용량이 절반이 되어 페이지 교체가 늘어나기 때문에
- C하이퍼바이저는 내용을 읽을 수 없어도 페이지의 대응 관계를 바꾸거나 오래된 암호문을 되써서 가상 머신의 동작을 어긋나게 할 수 있기 때문에
정답과 해설 보기
정답: C. 하이퍼바이저는 내용을 읽을 수 없어도 페이지의 대응 관계를 바꾸거나 오래된 암호문을 되써서 가상 머신의 동작을 어긋나게 할 수 있기 때문에
초기의 메모리 암호화에서는 하이퍼바이저가 암호문을 읽을 수 없더라도, 가상 머신의 페이지를 다른 위치에 다시 대응시키거나, 이전에 저장해 둔 오래된 암호문을 되쓰거나(리플레이), 암호문을 망가뜨릴 수 있었습니다. 암호문이 바뀌어도 복호화한 결과가 예측할 수 없는 값으로 바뀔 뿐이어서 가상 머신은 변조를 알아차리지 못하며, 이를 발판으로 삼은 공격이 연구에서 제시되었습니다. SEV-SNP에서는 물리 페이지마다 소유자인 가상 머신과 대응하는 주소를 기록한 표(RMP)를 CPU가 확인하여, 하이퍼바이저가 가상 머신의 페이지에 쓰거나 대응 관계를 바꾸는 것을 막습니다. 또한 2020년대 중반 시점의 공개 자료에서는, 동작 중인 메모리 버스를 직접 조작하는 것 같은 고도의 물리 공격은 SEV-SNP가 막는 범위 밖으로 되어 있습니다.