Skip to main content
QUICK REVIEW

[논문 리뷰] Taking a Look into Execute-Only Memory

Marc Schink, Johannes Obermaier|arXiv (Cornell University)|2019. 09. 12.
Physical Unclonable Functions (PUFs) and Hardware Security인용 수 2
한 줄 요약

이 논문은 다자간 마이크로컨트롤러 개발을 위한 하드웨어 기반 펌웨어 보호 메커니즘인 실행 전용 메모리(XOM)가 본질적으로 불안전하다고 입증한다. 저자들은 CPU 상태와 SRAM과 같은 공유 하드웨어 자원을 악용하여 사이드 채널 분석과 가젯 기반 코드 추출을 통해 자동화된 방법으로 XOM 보호 펌웨어를 복구하는 방법을 개발하였으며, NXP와 텍사스 인스트루먼츠를 포함한 여러 제조사의 기기에서 실질적인 공격을 성공적으로 구현하였다.

ABSTRACT

The development process of microcontroller firmware often involves multiple parties. In such a scenario, the Intellectual Property (IP) is not protected against adversarial developers which have unrestricted access to the firmware binary. For this reason, microcontroller manufacturers integrate eXecute-Only Memory (XOM) which shall prevent an unauthorized read-out of third-party firmware during development. The concept allows execution of code but disallows any read access to it. Our security analysis shows that this concept is insufficient for firmware protection due to the use of shared resources such as the CPU and SRAM. We present a method to infer instructions from observed state transitions in shared hardware. We demonstrate our method via an automatic recovery of protected firmware. We successfully performed experiments on devices from different manufacturers to confirm the practicability of our attack. Our research also reveals implementation flaws in some of the analyzed devices which enables an adversary to bypass the read-out restrictions. Altogether, the paper shows the insufficient security of the XOM concept as well as several implementations.

연구 동기 및 목표

  • 물리적 접근 및 특권 접근을 가진 적대적 개발자에 대비한 실행 전용 메모리(XOM)의 보안 효과성을 평가하기 위해.
  • CPU 레지스터와 SRAM과 같은 공유 하드웨어 자원의 사이드 채널 분석을 통해 XOM 보호 펌웨어가 복구 가능한지 조사하기 위해.
  • 관찰 가능한 상태 전이와 코드 가젯 유출을 활용한 자동화된 방법을 개발하고, XOM 보호 펌웨어 복구를 검증하기 위해.
  • XOM 기반 마이크로컨트롤러의 구현 결함를 식별하고 이를 통해 읽기 제한을 우회할 수 있는지 조사하기 위해.
  • 다자간 임베디드 개발에서 펌웨어 보안에 미치는 영향을 평가하고, TEE와 같은 더 강력한 격리 메커니즘을 권장하기 위해.

제안 방법

  • 저자들은 제어된 실행 환경에서 XOM 보호 마이크로컨트롤러의 동작을 분석하여, 명령어 실행 중 CPU 레지스터 상태와 SRAM 내용을 관찰함으로써 비밀 코드를 추론하였다.
  • 기존 라이브러리(예: CMSIS)의 코드 패턴을 활용하여, 특정 메모리 접근을 제어할 수 있는 '가젯'(instruction sequences)을 식별하고 활용하였다.
  • 명령어 수준의 전이를 감지하기 위해 시간 기반 사이드 채널 공격을 적용하여, 관찰 가능한 상태 변화로부터 코드 재구성 작업을 수행하였다.
  • 인터럽트 기반 실행을 사용하여 XOM 보호 영역의 상태 전이를 유도하고 관찰함으로써 방법을 자동화하였다.
  • NXP Kinetis와 텍사스 인스트루먼츠 MSP432P4를 포함한 여러 마이크로컨트롤러 플랫폼에서 방법을 검증하였으며, 보호된 코드를 추출하기 위해 맞춤형 가젯을 구성하고 실행하였다.
  • 코드 추출을 가속화하기 위해 데이터 워치 및 트레이스(DWT) 기능과 같은 디버그 및 트레이스 기능을 분석하여 복구 과정을 향상시켰다.

실험 결과

연구 질문

  • RQ1공유 하드웨어 상태 전이의 사이드 채널 분석을 통해 XOM 보호 펌웨어를 복구할 수 있는가?
  • RQ2하드웨어로 강제된 읽기 보호에도 불구하고, XOM 보호 메모리에 대한 비정상적 접근을 가능하게 하는 특정 명령어 시퀀스(가젯)는 무엇인가?
  • RQ3XOM 기반 마이크로컨트롤러의 구현 결함가 읽기 제한을 우회할 수 있는가?
  • RQ4다양한 마이크로컨트롤러 아키텍처와 제조사 간에 자동화된 코드 복구가 어느 정도 실현 가능한가?
  • RQ5실제 임베디드 시스템에서 이러한 공격의 실용적 제한 사항과 성공률는 어떠한가?

주요 결과

  • XOM 개념은 공유 CPU 및 SRAM 자원을 통한 사이드 채널 누출로부터 실행을 격리하지 않기 때문에 본질적으로 불안전하다.
  • NXP Kinetis 기기에서는 단일 비로드 명령어 다음에 로드 명령어를 사용하는 기능적 가젯을 통해 XOM 보호 펌웨어를 성공적으로 복구하였다.
  • MSP432P4 기기에서는 저장 후 로드 명령어 두 개로 구성된 가젯을 사용하여 XOM 영역을 잠금 해제하고 코드를 추출하였으며, 이는 잠금 해제 메커니즘의 재잠금 행동에 대한 취약점을 악용한 것이다.
  • 여러 기기에서 XOM 보호를 우회할 수 있는 구현 결함를 발견하였으며, 이는 코드 실행 후 접근을 조기 잠금하는 방식이었다.
  • 복구 과정은 자동화되었으며, 다양한 제조사와 아키텍처에서 성공적으로 구현되어 현실적인 공격 조건 하에서 전체 펌웨어 추출의 가능성을 입증하였다.
  • 연구는 XOM만으로는 다자간 개발 환경에서 펌웨어 보호에 충분하지 않으며, 적절한 보안을 확보하기 위해 TEE와 같은 하드웨어 기반 격리 메커니즘이 필요하다고 결론을 내렸다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.