[논문 리뷰] DRAMA: Exploiting DRAM Addressing for Cross-CPU Attacks
이 논문은 공유 메모리가 없는 환경에서 프로세서 간에 공유되는 DRAM 행 버퍼에 액세스하기 위해 비공식적인 DRAM 주소 매핑을 악용하는 새로운 종류의 크로스-CPU 사이드채널 및 코어프트 채널 공격인 DRAMA를 제안한다. 물리적 프로빙 또는 소프트웨어 기반 타이밍 분석을 통해 메모리 매핑을 역공학함으로써 DRAMA는 최대 2 Mbps의 코어프트 채널을 구현하고, 캐시 공격 수준의 정밀도로 메모리 액세스를 탐지하고 모니터링하는 사이드채널 공격을 가능하게 하며, DDR4 시스템에서도 작동함을 보여주어 고립된 클라우드 환경에서 실질적인 Rowhammer 공격을 가능하게 한다.
In cloud computing environments, multiple tenants are often co-located on the same multi-processor system. Thus, preventing information leakage between tenants is crucial. While the hypervisor enforces software isolation, shared hardware, such as the CPU cache or memory bus, can leak sensitive information. For security reasons, shared memory between tenants is typically disabled. Furthermore, tenants often do not share a physical CPU. In this setting, cache attacks do not work and only a slow cross-CPU covert channel over the memory bus is known. In contrast, we demonstrate a high-speed covert channel as well as the first side-channel attack working across processors and without any shared memory. To build these attacks, we use the undocumented DRAM address mappings. We present two methods to reverse engineer the mapping of memory addresses to DRAM channels, ranks, and banks. One uses physical probing of the memory bus, the other runs entirely in software and is fully automated. Using this mapping, we introduce DRAMA attacks, a novel class of attacks that exploit the DRAM row buffer that is shared, even in multi-processor systems. Thus, our attacks work in the most restrictive environments. First, we build a covert channel with a capacity of up to 2 Mbps, which is three to four orders of magnitude faster than memory-bus-based channels. Second, we build a side-channel template attack that can automatically locate and monitor memory accesses. Third, we show how using the DRAM mappings improves existing attacks and in particular enables practical Rowhammer attacks on DDR4.
연구 동기 및 목표
- 공유 메모리가 비활성화되어 있고 VM이 서로 다른 물리적 CPU에 고립된 클라우드 환경에서 효과적인 크로스-CPU 사이드채널 및 코어프트 채널 공격가 부족한 문제를 해결하기 위해.
- 다중 프로세서 시스템에서 물리적 메모리 주소가 DRAM 채널, 랭크, 벙크에 어떻게 매핑되어 있는지를 비공식적으로 역공학하기 위해.
- 다중 프로세서 시스템에서 CPU 코어와 메모리 모듈 간에 공유되는 DRAM 행 버퍼를 새로운 사이드채널 원천으로 활용하여 고정밀도의 메모리 액세스 모니터링 및 코어프트 통신을 가능하게 하기 위해.
- 역공학된 DRAM 주소 체계를 활용하여 DDR4 메모리에서 실질적인 Rowhammer 공격을 수행하기 위해.
- 기존의 대응 조치인 TRR 및 메모리 액세스 제한이 제안된 공격에 효과가 없음을 입증하기 위해.
제안 방법
- 메모리 버스의 물리적 프로빙을 통해 메모리 트랜잭션의 타이밍 및 액세스 패턴을 추출함으로써 DRAM 주소 매핑을 역공학하기 위해.
- 다른 주소 간의 메모리 액세스 패턴에서의 타이밍 차이를 측정함으로써 DRAM 매핑을 추론하는 완전히 자동화된 소프트웨어 전용 방법을 개발하기 위해.
- 역공학된 매핑을 활용하여 다중 프로세서 시스템에서 CPU 코어와 메모리 모듈 간에 지속되는 공유 DRAM 행 버퍼를 대상으로 하기 위해.
- 제어된 메모리 액세스를 통해 행 버퍼 상태를 조작함으로써 고대역폭 코어프트 채널을 구현하고, 최대 2 Mbps의 전송 속도를 달성하기 위해.
- DRAM 행 버퍼의 동작을 활용하여 메모리 액세스 패턴을 식별하고 모니터링하는 사이드채널 템플릿 공격을 설계하며, Flush+Reload 수준의 정밀도를 확보하기 위해.
- TRR 대응 조치가 존재하더라도 DRAM 주소 매핑을 활용하여 유해한 행을 효율적으로 타겟팅함으로써 기존의 Rowhammer 공격을 DDR4로 확장하기 위해.
실험 결과
연구 질문
- RQ1비공식적인 DRAM 주소 매핑을 악용하여 공유 메모리 없이 프로세서 간에 고속 코어프트 채널을 구축할 수 있는가?
- RQ2공유 메모리 없이 타이밍 정보만을 사용하여 프로세서 간에 정밀한 메모리 액세스 모니터링을 수행할 수 있는가?
- RQ3CPU 간에 공유되는 DRAM 행 버퍼가 고립된 다중 프로세서 환경에서 사이드채널 원천으로 활용될 수 있는가?
- RQ4역공학된 DRAM 주소 매핑을 통해 TRR가 활성화된 상태에서도 DDR4 메모리에서 실질적인 Rowhammer 공격를 수행할 수 있는가?
- RQ5TRR 및 액세스 제한과 같은 기존의 대응 조치가 이러한 공격에 대해 어느 정도의 한계를 가지는가?
주요 결과
- 최대 2 Mbps의 대역폭을 가지는 코어프트 채널을 성공적으로 구현하였으며, 기존의 메모리 버스 기반 코어프트 채널 대비 3~4개 주기의 성능 향상을 보였다.
- 소프트웨어 기반의 역공학 방법이 소비자용 PC, 듀얼-CPU 서버, 최근 스마트폰을 포함한 여러 플랫폼에서 DRAM 주소를 성공적으로 매핑하는 데 성공했다.
- TRR 기능을 지원하는 DDR4-2133 메모리 모듈에서 16초 후에 비트 플립을 관측하였고, 이후 매 12초마다 한 번씩 발생함을 확인하여 TRR가 Rowhammer 공격를 완전히 방지하지 못함을 입증했다.
- 사이드채널 공격는 Flush+Reload 수준의 정밀도를 확보하여 공유 메모리 없이도 자동으로 메모리 액세스를 탐지하고 모니터링할 수 있었다.
- 역공학된 주소 매핑을 활용하여 DRAMA 프레임워크는 TRR가 활성화된 상태에서도 DDR4에서 실질적인 Rowhammer 공격를 수행할 수 있었으며, 특히 유해한 행을 정밀하게 타겟팅함으로써 가능했다.
- 공격자가 공유 메모리에 접근하거나 캐시 일관성에 의존할 수 없는 상황에서도 공격가 여전히 효과적이었으며, DRAM 행 버퍼가 크로스-CPU 사이드채널로 실현 가능하다는 점을 입증했다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.