Considering the expertise and effort required to develop an embedded system, protecting software intellectual properties (IP) is the foremost task for many embedded system vendors. However, with the connectivity of modern embedded devices and the tendency of using low-level languages, defeating embedded system IP thefts have become a challenging goal. While execute-only memory (XOM) is a promising solution, the feature is not widely adopted for low-end ARM embedded processors (i.e., Microcontrollers (MCUs)). Therefore, a recent study proposed a technique to realize software-based XOM on ARM MCUs. However, the study disregards threats based on DMAs and thus limiting the applicability.
This paper proposes XOMZone, a code protection method that extends the software-based XOM for achieving DMA-aware code protection on ARM MCUs. XOMZone protects code from DMAs using the isolation provided by TrustZone-M, a lightweight TrustZone for ARM MCUs. Further, XOMZone maintains the compatibility with trusted applications. The current prototype of XOMZone shows performance and code size overhead of 13.1% and 18.9%, respectively, on BEEBS benchmarks. The evaluation indicates that XOMZone could be a practical code protection solution with further implementation optimizations.
임베디드 시스템 개발에 필요한 전문지식과 다양한 노력을 고려할 때 소프트웨어 지적 재산 보호는 많은 임베디드 시스템 공급업체의 최우선 과제이다. 그러나 현대 임베디드 장치의 연결성과 낮은 수준의 언어를 사용하는 경향으로 인해 임베디드 시스템 지적 재산 도난을 방지하는 것이 어려운 목표가 되었다. 실행 전용 메모리는 유망한 솔루션이지만, 이 기능은 저성능 ARM 임베디드 프로세서(마이크로컨트롤러)에 널리 채택되지 않는다. 이 문제에 대처하기 위해 최근 한 연구에서는 ARM 마이크로컨트롤러에서 소프트웨어 기반 실행 전용 메모리를 실현하는 기술을 제안했다. 그러나 이 연구는 DMA를 기반으로 한 위협을 무시하여 적용 가능성을 제한한다.
본 논문은 ARM 마이크로컨트롤러에서 DMA를 고려한 코드 보호를 달성하기 위해 소프트웨어 기반 실행 전용 메모리를 확장하는 코드 보호 방법인 XOMZone을 제안한다. XOMZone은 TrustZone-M이 제공하는 분리를 사용하여 DMA로부터 코드를 보호한다. 또한 XOMZone은 신뢰할 수 있는 응용프로그램과의 호환성을 유지한다. XOMZone의 현재 프로토타입은 BEBS 벤치마크에서 각각 13.1%와 18.9%의 성능과 코드 크기 오버헤드를 보여준다. 평가에 따르면 추가적인 최적화를 적용을 통해 XOMZone은 유용한 코드 보호 솔루션이 될 수 있을 것이다.