클라우드 환경에서 민감한 데이터를 보호하는 핵심 기술인 Intel과 AMD의 신뢰 실행 환경(TEE)이 최근 물리적 공격에 취약하다는 연구 결과가 발표되었어요. 특히 ‘배터링 램’과 ‘와이어탭’이라는 두 가지 새로운 해킹 기법이 등장하며 클라우드 보안에 비상등이 켜졌는데요, 과연 무엇이 문제이고 우리는 어떻게 대비해야 할까요? 함께 알아보겠습니다.

신뢰 실행 환경(TEE)이란 무엇이며 왜 중요한가요?
신뢰 실행 환경(TEE, Trusted Execution Environment)은 CPU 내에 암호화된 안전한 공간을 만들어 민감한 데이터를 외부 위협으로부터 보호하는 기술이에요. Intel은 SGX(Software Guard Extensions), AMD는 SEV-SNP(Secure Encrypted Virtualization-Secure Nested Paging)라는 이름으로 이 기술을 제공하고 있답니다. 클라우드 컴퓨팅 시대에는 서버가 데이터센터에 물리적으로 위치하기 때문에, 해커가 서버를 직접 침해했을 때에도 기밀 데이터나 중요한 작업이 노출되거나 조작되지 않도록 TEE가 필수적인 역할을 해요. Signal Messenger나 WhatsApp 같은 서비스도 TEE를 활용해 클라우드에 저장된 비밀을 보호하고 있으며, 대부분의 주요 클라우드 서비스 제공자들도 고객에게 TEE 사용을 권장하고 있어요.
물리적 공격에 무너진 TEE: ‘결정론적 암호화’가 문제?
수년간 연구자들은 Intel과 AMD가 TEE에 대해 약속했던 보안 및 개인정보 보호 기능을 반복적으로 깨왔어요. 그리고 최근 발표된 두 가지 새로운 공격 방식인 ‘배터링 램(Battering RAM)’과 ‘와이어탭(Wiretap)’은 TEE의 한계를 다시 한번 명확히 보여주었습니다. 이 두 공격은 모두 CPU와 메모리 모듈 사이에 장착되는 작은 하드웨어 장치인 ‘인터포저(interposer)’를 사용하는데요, 데이터가 CPU와 메모리 사이를 오가는 것을 관찰할 수 있게 해줍니다.
두 공격의 핵심은 바로 Intel과 AMD가 ‘결정론적 암호화’를 사용한다는 점이에요. 결정론적 암호화는 동일한 평문이 동일한 키로 암호화될 때 항상 같은 암호문을 생성하는 방식이랍니다. SGX와 SEV-SNP에서는 동일한 메모리 주소에 동일한 평문이 기록되면 항상 동일한 암호문이 생성되는 것이죠. 이러한 암호화 방식은 전체 디스크 암호화처럼 데이터가 한 번 보호되면 거의 변하지 않는 특정 용도에는 적합해요. 하지만 CPU와 메모리 칩 사이를 오가는 데이터를 보호하기에는 최적화되어 있지 않습니다. 공격자가 평문이 변경될 때마다 암호문을 관찰할 수 있어, 리플레이 공격 등 잘 알려진 취약점에 노출될 수 있기 때문이에요. 반면 ‘확률론적 암호화’는 동일한 평문도 암호화 과정에서 무작위로 선택된 다양한 암호문으로 암호화되어 이러한 공격을 막을 수 있답니다.

$50짜리 해킹? ‘배터링 램(Battering RAM)’ 공격 파헤치기
‘배터링 램’은 약 $50 미만의 저렴한 장비로 수행할 수 있는 공격이에요. 맞춤 제작된 아날로그 스위치를 인터포저로 사용해 DDR4 메모리 칩과 Intel 또는 AMD 프로세서 간에 암호화된 데이터가 오가는 것을 읽어냅니다. 이 공격은 두 개의 다른 메모리 주소가 동일한 메모리 모듈의 동일한 위치를 가리키는 ‘메모리 별칭(memory aliases)’을 생성하여, 공격자가 암호화된 데이터를 직접 읽을 수는 없지만 피해자의 암호문을 캡처하고 나중에 동일한 물리적 위치에서 리플레이할 수 있도록 해요.
Intel SGX의 경우, 단일 메모리 암호화 키를 사용하기 때문에 ‘배터링 램’은 이 키를 추출하여 SGX의 원격 증명(attestation) 기능을 무력화할 수 있습니다. AMD SEV-SNP는 가상 머신(VM)당 단일 암호화 키를 사용해서 SGX와 같은 방식의 암호문 리플레이가 어렵지만, 대신 VM이 조작되지 않았음을 증명하는 암호화 요소를 캡처하여 오래된 증명 보고서를 리플레이하는 방식으로 백도어가 설치된 VM을 정식 VM처럼 로드할 수 있게 만듭니다. 이 공격의 가장 큰 장점은 능동적인 복호화가 가능해 암호화된 데이터를 읽고 조작할 수 있다는 점이에요.
데이터 도청 전문가, ‘와이어탭(Wiretap)’ 공격 원리
‘와이어탭’ 공격 역시 결정론적 암호화를 악용하지만, ‘배터링 램’과는 다른 접근 방식을 취해요. 이 공격은 암호문을 알려진 평문 단어 목록에 매핑하여 암호문이 어떤 평문에서 파생되었는지 추적하는 방식입니다. 결국 충분한 암호문을 복구하여 원격 증명에 사용되는 ECDSA(Elliptic Curve Digital Signature Algorithm) 알고리즘의 핵심인 증명 키(attestation key)를 재구성할 수 있게 된답니다.
‘와이어탭’은 ‘배터링 램’보다 훨씬 비싼 $500~$1,000 정도의 장비가 필요하고, SGX(DDR4 사용 시)에만 제한적으로 작동하며 수동적인 복호화만 가능해요. 즉, 데이터를 읽을 수는 있지만 조작할 수는 없습니다. 하지만 이 공격은 TEE의 핵심적인 보안 기능인 ‘원격 증명’을 완전히 무력화할 수 있다는 점에서 심각한 위협이 됩니다. 원격 증명은 VM이나 소프트웨어가 인클레이브 내에서 실행될 때 조작되지 않았음을 검증하고, 검증이 완료되면 원격 당사자에게 디지털 서명된 인증서를 보내 안전함을 증명하는 과정이랍니다.

클라우드와 블록체인 보안에 미치는 영향은?
Intel과 AMD는 TEE가 소프트웨어나 운영체제 침해를 방어하도록 설계되었으며, ‘배터링 램’이나 ‘와이어탭’과 같은 물리적 공격에는 대비하지 않는다고 주장해왔어요. 그러나 Phala와 같은 블록체인 서비스 등 많은 클라우드 기반 서비스들은 이러한 경고에도 불구하고 TEE를 네트워크 보안 및 개인정보 보호의 기반으로 계속 신뢰하고 있답니다.
예를 들어, 블록체인 제공업체인 Phala는 스마트 계약의 ‘상태(state)’가 SGX, SEV-SNP, 그리고 Arm 칩의 TrustZone과 같은 TEE 내에서만 저장되고 업데이트된다고 설명해요. 이는 작업자 노드들이 실행 중에 정보를 조작하거나 볼 수 없도록 보장하는 설계인데, ‘와이어탭’ 연구자들은 SGX 증명 키를 확보함으로써 클러스터 키를 획득하고, 마스터 키까지 얻어 모든 계약 상호작용을 복호화하는 데 성공했습니다. 이는 하드웨어 공급망 공격 시 TEE 방어 체계가 완전히 무너질 수 있음을 명확히 보여주는 사례예요.

TEE 취약점, 우리는 어떻게 대응해야 할까요?
현재 ‘배터링 램’과 ‘와이어탭’ 모두 DDR4 메모리 칩에서만 작동하고 있어요. 더 빠른 버스 속도와 다중 사이클 전송 프로토콜을 사용하는 최신 DDR5 메모리에서는 작동하지 않는답니다. 따라서 DDR5만을 사용하는 Intel의 유사 보호 기술인 TDX에는 두 공격 모두 통하지 않아요. 하지만 여전히 DDR4가 널리 사용되고 있다는 점에서 이 공격들은 큰 위협으로 남아있습니다.
이러한 TEE 취약점에 대한 실질적인 해결책은 칩 제조업체가 결정론적 암호화를 더 강력한 보호 형태로 대체하는 것이에요. 하지만 방대한 양의 RAM에 적용할 수 있는 강력한 암호화 체계를 구축하는 데에는 많은 어려움이 따르기 때문에, 언제쯤 이러한 변화가 일어날지는 불확실한 상황이랍니다. 클라우드와 블록체인 등 TEE에 의존하는 서비스들은 잠재적인 물리적 공격 위협을 심각하게 인지하고, 이에 대한 추가적인 보안 계층을 마련하는 방안을 강구해야 할 필요가 있어 보입니다.
Intel과 AMD의 TEE에 대한 물리적 공격 소식은 클라우드 보안과 데이터 보호에 대한 우리의 인식을 다시금 돌아보게 합니다. 이러한 새로운 위협에 대해 여러분은 어떻게 생각하시나요? 댓글로 의견을 나눠주세요!