클라우드에 비밀 저장하는 기업들, 전부 비상
- 클라우드 기반이 되는 인텔과 AMD 칩셋들 위험
- 설계 오류 파고들어 보호 영역 데이터 열람 가능
- 공격에 들어가는 비용은 단돈 50달러
클라우드 시스템 내 사용되는 강력한 프로세서들을 공략할 수 있는 새로운 방법이 개발됐다. 보다 정확히는 취약점이 발견된 것인데, 익스플로잇 공격까지 시연한 루벤대학과 버밍엄대학 연구원들은 이 취약점을 ‘배터링램(Battering RAM)’이라 부르기로 했다고 한다. 이 공격을 실행하는 데 필요한 돈은 50달러에 불과하다.
이 연구 결과는 별도의 사이트(https://batteringram.eu/)를 통해 공개됐다. 이에 의하면 연구원들은 공격을 위해 인터포저(interposer)라는 것을 따로 개발했고, 스위치 하나만 전환하면 인터포저가 주소를 재지정하여 암호화 된 메모리를 손상시키거나 재생시킬 수 있게 된다고 한다. 이 공격은 메모리 내에 보호된 영역에까지 영향을 미칠 수 있어서 현대 메모리 보호 기능들을 무용지물로 만든다.
배터링램 공격은 무엇인가?
메모리에 저장된 데이터를 보호하는 방법에는 여러 가지가 있다. 별도의 보호 영역(이를 엔클레이브(enclave)라고 부른다)에 특정 데이터를 따로 두기도 하고, 가상기계 전체의 메모리를 암호화 해서 호스트가 메모리를 읽지 못하게 하는 등이다. 이번 배터링램 취약점은 이 둘 모두와 관련이 있다. 즉, 특정 보호 기능만이 아니라 주류로 분리될 만한 보호 기능들 전부를 무력화시킨다는 의미다.
인텔 칩셋의 경우 SGX라는 엔클레이브를 통해 데이터를 암호화 하고 보호한다. AMD 칩셋의 경우 SEV-SNP라는 가상화 격리 기술을 통한 보안 기능을 보유하고 있다. 그렇다고 모든 인텔 및 AMD 칩셋을 탑재한 모든 시스템이 배터링램 공격에 취약한 건 아니다. “DDR4 메모리를 사용하는 모든 시스템에 영향을 미칩니다. 클라우드 서비스 기업으로부터 데이터를 보호하는 기밀 컴퓨팅 워크로드를 사용하는 고객사 시스템들이 위험해질 수 있습니다.”
공격의 간략한 시나리오는 다음과 같다.
1) 공격자가 인터포저라는 하드웨어를 제작한다.
2) 인터포저를 이용해 메모리 영역의 물리 주소를 은밀히 재지정한다.
3) 이를 통해 보호된 영역으로 무단 접근이 가능하게 된다.
여기서 인터포저라는 것은 단순 아날로그 스위치로, 프로세서와 메모리 사이의 신호를 조작하는 역할을 담당한다.

연구원들은 실험실 환경에서 이 공격을 수행함으로써 피해자가 평문으로 저장한 데이터를 임의로 읽고, 심지어 인클레이브에서는 평문을 쓰는 것도 가능함을 확인할 수 있었다고 한다. 이는 인클레이브로 메모리를 보호하는 인텔 환경에서의 이야기고, AMD 아키텍처에서는 펌웨어 보호 장치를 우회해 가상기계에 백도어를 설치하는 데에까지 성공했다고 한다. “클라우드 기업이 직접 보호하는 고객 데이터를 공격자가 열람할 수 있을 뿐만 아니라, 그 데이터가 저장되어 있는 영역에 백도어를 심는 것까지도 가능합니다.”
연구원들은 이러한 사실을 각 벤더사들에 알렸으나 인텔, AMD, ARM은 “물리적 공격에 해당하기 때문에 현재 보호 장치들이 취약하다고 보기 힘들다”는 식으로 대응했다고 한다. 즉 이를 보안 취약점으로 간주하지 않는다는 것으로, 패치를 기대하기 힘들다는 의미가 된다. 연구원들은 “일반 보안 패치 개발 및 적용 방식으로 해결하기 힘들며, 메모리 암호화 기술 자체의 근본적 재설계가 필요하다”며 벤더사들의 대응을 추가로 설명했다.
칩셋 설계의 한계
“배터링램은 사실 특정 기능이나 요소에 나있는 구멍으로 비유할 수 없습니다. 오히려 설계의 근본적 한계를 드러내는 취약점이라고 봐야 합니다.” 정확히 어떤 ‘설계의 한계’를 의미하는 걸까? “보호되어 있는 메모리 영역 중 큰 것들을 우선시 한다는 건데, 이 때문에 어떤 경우 ‘암호학적 신선도(cryptographic freshness)’라고도 불리는 안정성 검사를 생략하도록 만들어져 있습니다. 배터링램은 이 부분을 파고드는 것으로, 인텔과 AMD 시스템 부팅 시 별칭 검사(alias check)를 우회할 수 있게 해 줍니다.”
이는 2018년 발견돼 세상을 떠들썩하게 만들었던 멜트다운(Meltdown)과 스펙터(Spectre) 취약점을 상기시킨다. 이 두 취약점 모두 프로세서의 설계 오류에 기인했기 때문이다. 당시 프로세서들은 속도를 높이기 위해 사용자의 행동을 미리 추측해 실행하는, 이른 바 ‘추측 실행’ 기능을 대부분 가지고 있었는데, 그럴 경우 멜트다운과 스펙터 익스플로잇 공격에 취약해질 수 있었다. 익스플로잇에 성공한 공격자는 메모리에 침투할 수 있었다. 속도를 중시하고 보호를 후순위에 둔 칩셋 설계가 문제의 근원으로 지적됐었다.
이에 칩셋 벤더들은 추측 실행의 위험을 최소화 한 상태로 칩셋 속도를 높이겠다며, 사실상 칩셋 설계의 근본부터 바꾸겠다고 선언했었다. 하지만 어찌된 일인지 멜트다운과 스펙터 취약점 변종은 지금까지도 꾸준히 나오고 있다. 불과 2주 전만 해도 취리히대학의 연구원들이 VM스케이프(VMScape)라는 취약점에 대해 발표했었는데, 이 취약점은 AMD와 인텔 프로세서의 가상화 장벽을 없앨 수 있는 것이었다. 스펙터의 변종으로, 이 취약점에는 CVE-2025-40300이라는 관리 번호가 부여됐다.
인터포저? 이번 모의 공격에 사용된 인터포저에 대해서는 알려진 바가 없다. 배터링램 공격을 가능케 하는 핵심 도구, 즉 일종의 공격 무기이기 때문이다. 하지만 50달러라는 가격과 ‘스위치’라는 설명을 봤을 때 제작이나 구매가 그리 어려운 것은 아닐 것으로 짐작된다. 이 때문에 적잖은 공격자들이 부담 없이 실험할 수도 있을 것으로 보인다.
방어는 어떻게?
실험실 환경에서 존재하는 공격이기 때문에 실질적은 위협으로 변모되려면 시간이 어느 정도 걸릴 것으로 예상된다. 하지만 최근 공격자들은 ‘이론’을 빠르게 실전 무기로 둔갑시킨다는 걸 기억해야 한다. 난이도가 높다고 평가 받는 공격 기법들도, 공격자들이 의지만 있으면 결국 실행해낸다. 그러므로 미리 대비할 필요는 있다.
하지만 인터포저를 이용한 배터링램 공격은 클라우드 인프라에 마련된 시스템을 겨냥하는 것이라 사용자 단에서 할 수 있는 일은 많이 없다. 클라우드 서비스 제공자들이 마련한 인프라에서 나온 취약점 대부분 비슷하다. 클라우드 기업이 패치를 적용할 때까지 소비자들은 기다리고 문의를 넣는 것 정도만 할 수 있다. 그 외의도 보안 수칙들이 몇 가지 있는데, 이것들이 배터링램 공격에 대한 방어 수단으로서 적절하다.
1. 민감한 비밀은 애플리케이션 층위에서도 추가로 보호해야 한다. 또한 메모리 내에서 이런 정보들이 머무르는 시간을 최소화 해야 한다.
2. 종단간 암호화를 반드시 적용해야 한다. 그래야 피해자가 읽어들인 정보가 아무런 의미를 갖지 않게 된다.
3. 원격에서 인증 결과를 정기적으로 검증하고, 이상 징후가 있는지 모니터링해야 한다.
4. 클라우드 기업과 협의시 멀티테넌트 환경이 아니라 물리적으로 분리된 단독 노드를 선택할 수 있는지 확인하라.
5. 정말 민감한 작업이나 데이터의 경우 온프레미스 환경을 전용으로 활용하는 방안을 검토하라.
6. 복호화 키의 수명을 되도록 짧게 설정하라.
Related Materials
- $50 Battering RAM Attack Breaks Intel and AMD Cloud Security Protections - The Hacker News, 2025년
- $50 Battering RAM Attack Breaks Intel And AMD Cloud Security Protections - Galileo Security Group, 2025년
- Researchers expose critical cloud server vulnerability in AMD processors – BadRAM bypass on SEV - KU Leuven DistriNet, 2025년
- BadRAM: $10 security flaw in AMD could allow hackers to access cloud computing secrets - The Record, 2022년