TEE에 값을 가진 비밀을 넣지 마라, 곧 공개될 테니

It's time to talk about TEEs

Intel SGX, AMD SEV 같은 TEE(신뢰 실행 환경)를 겨냥한 공격들을 정리한 글이다. Foreshadow, SGAxe, ÆPIC Leak, BadRAM, WireTap.fail, TEE.fail 등이 원격 증명(attestation) 키를 탈취하거나 위조했고, DDR4·DDR5 메모리 버스에 물리적으로 개입하는 공격은 단 10달러짜리 DIMM 재프로그래밍만으로 가짜 증명을 만들어냈다. 저자는 원격 증명 검증기가 '어떤' Intel CPU의 인용도 받아들이는 한 물리 공격을 배제한 위협 모델은 성립하지 않는다고 지적하며, 결론은 명확하다. TEE에 귀중한 비밀을 넣지 말라는 것이다.

우리는 증명 키를 성공적으로 추출했는데, 이는 코드가 SGX 아래에서 실행 중인지 판별하는 핵심 메커니즘이다. 이로써 어떤 해커든 실제로는 노출된 환경에서 코드를 돌리며 당신의 데이터를 들여다보면서도 정품 SGX 하드웨어인 척할 수 있다.
  1. azalemeth

    SGX는 95%의 경우 실제 동기 부여된 사용 사례가 사악한 DRM이고, 솔직히 말해서 온갖 다양한 이유로 그것을 깨뜨리려는 의욕이 넘치는 해커 세계가 있는 그런 것 중 하나입니다. 내 직감으로는 그것이 어딘가의 중간 관리자가 보너스를 받게 하는 목적을 충족시키고, DRM 체계(예: 블루레이 비디오 -- 모든 공식 플레이어는 윈도우를 요구하고 TEE에서 실행됨)의 효율성을 약간이나마 높일 수 있으며, 실제 "좋은" 사용 사례는 클라우드 컴퓨팅 사례를 포함해 좋은 우연적 마케팅 수준에 불과하다고 봅니다...

  2. mike_hearn

    이것은 컴퓨터 보안에서 아주 오래된 논쟁에 대한 또 다른 변형일 뿐입니다: 완벽한 것은 없으니, 어디에 선을 그을 것인가?

    SGX는 처음부터 버그가 있거나 사람들이 예상치 못한 영리한 공격을 찾아낼 것이라는 가정 위에 설계되었기 때문에, 펌웨어와 마이크로코드 업데이트를 통해 플랫폼을 제자리에서 수정할 수 있는 게임 콘솔 같은 재봉인 절차가 있습니다. SGX는 Spectre보다 먼저 나왔기 때문에 그 가정들은 사실로 입증되었고, 플랫폼은 여러 번 재봉인되었습니다.

    이것은 성공인가 실패인가? 기사는 그것이 실패라는 것을 당연하게 여깁니다. 하지만 범용 컴퓨팅 시스템을 "패치가 필요했던 적이 있는가"라는 기준으로 판단한다면 성공한 적은 한 번도 없습니다. 분명히 선은 거기에 그어질 수 없습니다.

    선을 그을 수 있는 대안적인 지점은 시스템이 완전히 패치되고 알려진 버그가 없을 때 필요한 보장을 제공하는지 여부일 수 있습니다. 이 기준에 따르면 SGX는 반반입니다. 원래 SGX 구현은 DRAM 칩을 포함한 하드웨어 공격을 완전히 고려했습니다. 이후 버전은 제품-시장 적합성을 찾기 위해 의도적으로 약화되었는데, 개발자들이 "우리 앱을 안에 넣은 채 전체 VM을 부팅하라"보다 더 복잡한 프로그래밍 모델을 다룰 수 없었기 때문입니다(그리고 솔직히 그때조차 제대로 해내지 못했습니다. 망친 RA 구현을 너무 많이 봤습니다). 하지만 당신은 강한 물리적 한계에 부딪힙니다: 신뢰할 수 없는 DRAM을 안전하게 만드는 것은 그것을 크게 만드는 것과 상충됩니다. 개발자들은 RAM을 절약해야 하는 것을 거부합니다, […]

이 날의 다른 글

2026-10-18