CacheKit: Evading memory introspection using cache incoherence

  • Ning Zhang
  • , He Sun
  • , Kun Sun
  • , Wenjing Lou
  • , Y. Thomas Hou

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

35 Scopus citations

Abstract

With the growing importance of networked embedded devices in the upcoming Internet of Things, new attacks targeting embedded OSes are emerging. ARM processors, which power over 60% of embedded devices, introduce a hardware security extension called TrustZone to protect secure applications in an isolated secure world that cannot be manipulated by a compromised OS in the normal world. LeveragingTrustZone technology, a number of memory integrity checking schemes have been proposed in the secure world to introspect malicious memory modification of the normal world. In this paper, we first discover and verify an ARM TrustZone cache incoherence behavior, which results in the cache contents of the two worlds, secure and non-secure, potentially being different even when they are mapped to the same physical address. Furthermore, code in one TrustZone world cannot access the cache content in the other world. Based on this observation, we develop a new rootkit called CacheKit that hides in the cache of the normal world and is able to evade memory introspection from the secure world. We implement a CacheKit prototype on Cortex-A8 processors after solving a number of challenges. First, we employ the Cache-as-RAM technique to ensure that the malicious code is only loaded into the CPU cache and not RAM. Thus, the secure world cannot detect the existence of the malicious code by examining the RAM. Second, we use the ARM processor's hardware support on cache settings to keep the malicious code persistent in the cache. Third, to evade introspection that flushes cache content back into RAM, we utilize physical addresses from the I/O address range that is not backed by any real I/O devices or RAM. The experimental results show that CacheKit can successfully evade memory introspection from the secure world and has small performance impacts on the rich OS. We discuss potential countermeasures to detect this type of rootkit attack.

Original languageEnglish
Title of host publicationProceedings - 2016 IEEE European Symposium on Security and Privacy, EURO S and P 2016
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages337-352
Number of pages16
ISBN (Electronic)9781509017515
DOIs
StatePublished - May 9 2016
Event1st IEEE European Symposium on Security and Privacy, EURO S and P 2016 - Saarbruecken, Germany
Duration: Mar 21 2016Mar 24 2016

Publication series

NameProceedings - 2016 IEEE European Symposium on Security and Privacy, EURO S and P 2016

Conference

Conference1st IEEE European Symposium on Security and Privacy, EURO S and P 2016
Country/TerritoryGermany
CitySaarbruecken
Period03/21/1603/24/16

Keywords

  • Rootkit
  • System Security
  • TrustZone

Fingerprint

Dive into the research topics of 'CacheKit: Evading memory introspection using cache incoherence'. Together they form a unique fingerprint.

Cite this