소프트웨어가 감지할 수 없는 공격
보안 연구원 Christopher Domas는 운영 체제 하위 수준에서 완전히 작동하는 획기적인 익스플로잇인 Skitter Creek Bath Salts를 공개했습니다. 이 새로운 공격은 소프트웨어 계층을 전혀 건드리지 않음으로써 기존의 방어 체계를 우회합니다. 이는 현대 CPU에서 "해킹 불가능"이라는 의미를 근본적으로 재정의합니다.
Skitter Creek Bath Salts의 핵심 원리는 기만적일 정도로 단순하지만 파괴적인 효과를 냅니다. 이 공격은 멀웨어나 소프트웨어 취약점에 의존하지 않습니다. 대신 Domas는 특정 AMD 칩의 구성 레지스터에 대한 단일 XOR 명령어가 DRAM controller 내의 비트를 뒤집을 수 있다는 것을 발견했습니다. 이 작업은 시스템의 모든 주소가 물리적으로 가리키는 위치를 조용히 재매핑하여 physical memory layout을 근본적으로 변경합니다.
이러한 조작은 CPU, OS 또는 기타 온칩 구성 요소가 감지하지 못하는 상태에서 발생합니다. Platform Security Processor 및 System Management Mode를 포함한 모든 보안 기능은 논리적 주소를 보호하도록 설계되었습니다. 그러나 그중 어느 것도 기본 물리적 배선의 재라우팅을 예상하도록 설계되지 않았습니다.
이 공격의 은밀함은 절대적입니다. 모니터링 도구가 볼 수 있는 수준에서 실행되는 프로세스나 코드가 없습니다. Domas의 방법은 소프트웨어 흔적을 남기지 않으며, 기계 배선 속의 유령처럼 가장 정교한 탐지 시스템조차 감지할 수 없습니다. 그는 잠긴 Platform Security Processor 메모리와 마이크로코드에서 RSA 루틴을 성공적으로 추출했습니다.
단일 명령어로 CPU 재배선하기
"Skitter Creek Bath Salts" 익스플로잇의 핵심에서 Christopher Domas는 특정 AMD 칩 내의 놀라운 취약점을 발견했습니다. 특정 구성 레지스터를 대상으로 하는 단일 XOR instruction은 통합 memory controller의 중요한 비트를 뒤집습니다. 이 겉보기에 무해해 보이는 행동은 심각한 결과를 초래합니다.
이 비트 반전은 즉각적이고 조용하게 전체 시스템 메모리 위치의 physical addresses를 재매핑합니다. CPU나 운영 체제 모두 이러한 근본적인 변화를 감지하지 못합니다. 이는 사서가 카탈로그를 업데이트하거나 이용자에게 알리지 않고 몰래 모든 책의 서가 위치를 바꾸는 것과 같습니다.
Domas의 공격은 이러한 조용한 재라우팅을 정밀하게 활용합니다. 공격자는 먼저 XOR 명령어를 실행하여 메모리 맵을 즉시 재구성합니다. 그런 다음, Platform Security Processor의 RSA 암호화 루틴이나 System Management Mode의 핸들러 코드와 같은 민감한 정보가 현재 어디에 있는지 정확히 파악하여 노출된 물리적 메모리 위치에서 비밀 데이터를 읽어냅니다.
결정적으로, 공격자는 다운스트림 프로세스나 모니터링 도구가 짧지만 치명적인 변화를 감지하기 전에 비트를 원래 상태로 되돌립니다. 소프트웨어 계층에서 실행되는 코드가 없기 때문에 논리적 주소를 보호하도록 설계된 기존 보안 조치는 이러한 물리적 재배선에 대해 완전히 눈이 멀게 됩니다.
하드웨어 요새를 무너뜨리다
CPU 제조업체는 민감한 작업과 데이터를 보호하기 위해 다양한 정교한 하드웨어 기능을 설계하여 난공불락의 요새로 간주되는 환경을 구축합니다. 여기에는 Secure Encrypted Virtualization (SEV), Software Guard Extensions (SGX), Platform Security Processor (PSP), 그리고 System Management Mode (SMM)가 포함되며, 이 모든 것은 중요한 코드 실행 및 메모리 영역을 격리하고 보호하도록 설계되었습니다.
그러나 이러한 보호 조치들에는 근본적인 맹점이 있습니다. 이들은 모두 칩 내부의 물리적 배선과 메모리 매핑이 불변하며 신뢰할 수 있다고 가정하고, 메모리 주소를 보호한다는 전제하에 작동합니다. Skitter Creek Bath Salts 익스플로잇은 이러한 하드웨어 요새 아래에서 물리적 위치를 은밀하게 재매핑함으로써 이 핵심 가정을 무너뜨립니다.
Christopher Domas는 이 취약점이 미치는 심각한 영향을 입증했습니다. 그는 PSP의 잠긴 것으로 알려진 메모리에서 RSA 암호화 루틴을 직접 추출했습니다. 또한 CPU의 가장 높은 권한을 가진 System Management Mode 내에서 작동하는 핸들러 코드와 칩 자체의 마이크로코드를 성공적으로 읽어냈습니다. 그의 방법론과 연구 결과에 대한 자세한 내용은 xoreaxeaxeax/skitter-creek-bath-salts: Unlocking _everything_ on the CPU with DRAM scrambling - GitHub 저장소를 참조하십시오.
이 글이 마음에 드셨나요? 매일 아침 이런 글을 메일로 받아보세요.
하루 한 통 · 두 번의 클릭으로 구독 취소 · 제3자 추적 없음
현대 칩 설계의 근본적인 결함
Christopher Domas가 공개한 Skitter Creek Bath Salts용 코드는 현재 구형 AMD 칩을 대상으로 합니다. 이 특정 버전은 주소 재매핑을 담당하는 메모리 컨트롤러 내의 정확한 비트를 식별하기 위해 문서화된 구성 레지스터가 필요합니다. 이러한 의존성으로 인해 이 공격은 저수준 하드웨어 세부 정보가 공개된 시스템에만 즉각적으로 적용될 수 있습니다.
하지만 그 영향은 이러한 특정 구형 AMD 모델을 훨씬 뛰어넘습니다. 연구자들은 물리적 주소를 은밀하게 재매핑할 수 있는 메모리 컨트롤러라는 근본적인 약점이 거의 모든 현대 CPU 아키텍처에 존재한다고 널리 믿고 있습니다. 성능이나 유연성을 위해 설계된 이 구조는 모든 소프트웨어 및 펌웨어 계층 아래에서 중요한 하드웨어 배선을 변경할 수 있게 함으로써 심각한 취약점을 야기합니다.
Domas의 연구는 하드웨어 보안 분야에서 심오한 패러다임의 전환을 의미합니다. 이는 Platform Security Processor 및 System Management Mode와 같이 견고하고 '깨지지 않는' 것으로 여겨졌던 기능들조차 물리적 메모리 주소가 정적이라는 잘못된 가정에 기반하고 있음을 보여주며 거대한 맹점을 드러냈습니다. 이 발견은 아키텍처 보안 설계에 대한 근본적인 재평가를 필요로 하며, 엔지니어들이 소프트웨어 중심의 보호를 넘어 칩의 물리적 배선 자체에 뿌리를 둔 취약점을 해결하도록 촉구합니다.
자주 묻는 질문
Skitter Creek Bath Salts 익스플로잇이란 무엇입니까?
이는 연구원 Christopher Domas가 개발한 개념 증명(PoC) 하드웨어 공격으로, CPU의 DRAM 컨트롤러를 조작하여 물리적 메모리를 은밀하게 재매핑함으로써 모든 소프트웨어 및 하드웨어 보안 계층을 우회합니다.
이 공격은 어떻게 SGX나 SEV와 같은 기능을 우회합니까?
SGX나 SEV와 같은 보안 기능은 특정 메모리 주소의 데이터를 보호합니다. 이 공격은 해당 주소가 메모리 칩의 물리적으로 어디를 가리키는지를 변경함으로써 그 아래에서 작동하며, 이는 해당 기능들이 대응하도록 설계되지 않은 위협입니다.
어떤 CPU가 이 공격에 취약합니까?
공개된 특정 개념 증명은 필요한 레지스터가 문서화된 구형 AMD 칩 제품군(15h/16h)에서 작동합니다. 그러나 근본적인 아키텍처 약점은 구성 가능한 메모리 컨트롤러를 가진 대부분의 현대 CPU에 존재하는 것으로 간주됩니다.
이 공격을 탐지할 수 있습니까?
아니요. 이 익스플로잇은 하드웨어 상태를 직접 조작하며 소프트웨어 계층에서 코드를 실행하거나 프로세스를 구동하지 않기 때문에 운영 체제나 기존 보안 모니터링 도구로는 감지할 수 없습니다.

