Extrax: Security Extension to Extract Cache Resident Information for Snoop-Based External Monitors

Extrax: Security Extension to Extract Cache Resident Information for Snoop-Based External Monitors

Extrax: Security Extension to Extract Cache Resident Information for Snoop-based External Monitors Jinyong Lee , Yongje Lee , Hyungon Moon , Ingoo Heo , and Yunheung Paek Department of Electrical and Computer Engineering, Seoul National University, Seoul, Korea Email: {jylee, yjlee, hgmoon, igheo, ypaek}@sor.snu.ac.kr Abstract—Advent of rootkits has urged researchers to conduct alter the kernel by snooping every data traffic between the host much research on defending the integrity of OS kernels. Even CPU and main memory. Being located at the outside of the host though recently proposed snoop-based monitors have shown to as a dedicated hardware unit, the monitor is not only immune provide higher performance and security level compared to con- to rootkits attacks on the host, but also able to constantly ventional hypervisor-based monitors, we discovered that the use observe the memory access behaviors of rootkits revealed on of write-back caches in a system would seriously undermine the the system bus without affecting the host performance. effectiveness of snoop-based monitors. To address the problem, we propose a special hardware unit called Extrax which makes use of Although snoop-based monitors have been working well existing hardware logic, core debugging interface, to extract nec- in their environments and assumptions, we have recently essary information for security monitoring. Being implemented to discovered a potential vulnerability which future attackers refine the debug information for security purposes, Extrax assists might exploit. It comes from the fact that most computer snoop-based monitors to detect attacks that exploit write-back systems employ write-back caches. Being located in between caches. Experimental results show that our system can detect the host CPU and main memory, caches hold copies of data more advanced attacks, which the state-of-the-art snoop-based or instructions recently accessed by CPU, thereby boosting the hardware monitors cannot capture, with moderate area overhead overall system performance to a large extent. However, for the and power consumption. perspective of snoop-based monitors, the existence of caches I. INTRODUCTION AND PREVIOUS WORK can be disadvantageous because they shall reduce the number As electronic devices such as PCs and smartphones become of events that the monitors can watch. For example, if a rootkit essential parts of our everyday life, the potential privacy and tries to compromise the kernel by modifying sensitive data, and security risks due to numerous malwares on the devices are the very data hits in the cache, then the write traffic would not rapidly growing. As a means to protect such devices from appear on the system bus, rendering the monitor oblivious of these attacks, current OSes support a variety of anti-malware the write event. solutions. These solutions usually depend on the services from Even though some previous works discussed the possibility the underlying OS kernel, implying that they would only that this problem may seriously undermine the effectiveness of work as designed when the integrity of the kernel is ensured. their approaches [6]–[8], none of them has properly addressed However, the kernel integrity has been seriously threatened this cache-induced hiding (CIH) effect problem. In [7], they since the advent of kernel level rootkits that manipulate the tried to avert the problem by restricting the usage of their kernel so as to achieve certain goals (i.e., concealing their monitors to the systems with write-through caches. In [8], they existence or providing backdoor accesses). Because the kernel merely mentioned a simple scheme of using periodic cache operates at the highest privilege level in the system, the flush. Unfortunately, they did not provide any empirical data compromised kernel may nullify the effectiveness of any anti- about how much loss their scheme may suffer on performance, malware measures that have their root of trust on the kernel. detection rate or power consumption. However, as we will see The threat of rootkits have urged researchers to conduct later, our study evinces that frequent cache flush might increase much study to seek a more secure computing base that can the host performance overhead to a large extent. safely monitor the system and ensure the kernel integrity even In this paper, we propose a hardware-assisted low-overhead in the presence of rootkits. Two mainstream of the research solution which thwarts the CIH effect by enabling the external directions are hypervisor-based [1]–[3] and hardware-based monitors to directly access the cache resident information approaches [4]–[8]. In general, the former approaches have (CRI) which includes all the internal data residing within the popularity in the security community as they do not necessitate cache without being exposed on the system bus. To implement underlying hardware modification while providing a higher this solution, we utilized the existing hardware logic, called privileged, thus safer, software layer for monitoring than the the core debug interface (CDI), which can be found in several kernel does. However, the latest attacks [9] and reported processors available today such as ARM Cortex series and vulnerabilities [10] pointed toward the probability that the code Xilinx MicroBlaze [11], [12]. CDI has been conventionally and data of hypervisors can also be compromised at runtime. used to supply the information relevant to the CPU internal Although the known vulnerabilities have been fixed shortly, state for the on-chip debug (OCD) unit [11], [12]. If CDI the growing complexity of hypervisors implicates that there is plugged into a security monitor, the bountiful information would be more vulnerabilities revealed in the near future. provided by CDI, which contains memory access events issued The hardware-based approaches utilize an isolated hardware by CPU, would certainly help monitor perform its desired task module physically independent of the monitored host system without the CIH effect. [5]–[8]. In particular, prominent monitoring schemes are re- This task, however, involves several complications in im- cently proposed in [6]–[8]. At the center of these approaches, plementation majorly because the initial set of signals from there is a hardware monitor, which we hereafter call the snoop- CDI cannot be simply fed into the security monitor as they based monitor, whose role is to detect malicious attempts to are in their present form. Some signals originally generated for 978-3-9815370-4-8/DATE15/c 2015 EDAA 151 6LJQDO 'HVFULSWLRQ VWUXFWPRGXOH VWUXFWPRGXOH D (70,&7/>@ (70LQVWUXFWLRQFRQWUROEXV /.0 /.0 (70,$>@ (70LQVWUXFWLRQDGGUHVV OLVW OLVW OLVW (70'&7/>@ (70GDWDFRQWUROEXV VWUXFWPRGXOH VWUXFWPRGXOH VWUXFWPRGXOH E (70'$>@ (70GDWDDGGUHVV 0DOLFLRXV/.0 /.0 /.0 OLVW OLVW OLVW OLVW (70''>@ (70GDWDZULWHGDWDYDOXH (70&,'>@ &XUUHQWSURFHVVRU&RQWH[W,' F VWUXFWPRGXOH VWUXFWPRGXOH VWUXFWPRGXOH 0DOLFLRXV/.0 /.0 /.0 TABLE I. DESCRIPTION OF CDI SIGNALS FOR ETM OLVW OLVW OLVW OLVW debugging must be translated into another form that is required for security monitoring. Therefore, we have developed an extra Fig. 1. Cache resident LKM hiding attack hardware unit, called the Extrax, that being located between hiding technique as a representative cache resident attack CDI and security monitors, carefully examine and properly example since many rootkits in the wild employ the technique refine or transform each individual signal from the interface to hide themselves. LKMs are initially designed to support before delivering it to the monitor. extension of the kernel code at runtime without recompiling To validate our design and further explore the implication the entire kernel. However, they are often used by attackers of this additional circuits to the overall system, we have to conceal malicious processes, files or even themselves from implemented a full snoop-based monitoring system in which detection mechanisms. Adversaries achieve their goal of hiding the host system has been augmented with Extrax. With the LKMs by directly modifying the kernel data structures that system prototyped on a FPGA platform, we evaluated and maintain the list of loaded LKMs. compared the performance, power and area of our full system Figure 1 shows how the LKM hiding technique is affected against the baseline system in which Extrax is not deployed. by write-back caches. In (a), there are several LKMs, each Experiment results exhibit that our monitor, with modest area of which is represented by the struct module. The kernel and power overhead but with the host performance being al- handles the LKMs by maintaining the modules list, which is most unaffected, successfully detects rootkit attacks regardless a linked list of struct module. Upon the module load request, of the type of caches while the baseline monitor often fails. in this case a request from the malicious LKM depicted in The rest of the paper is organized as follows. We first present (b), the kernel adds the corresponding struct module to the the background information and a motivational example in list, which is the head of the modules list. In a system with Section II. Then in Section III, the assumption and threat model write-back cache, the list will be cached after this step, and are presented. In Section IV, the baseline system is presented subsequent accesses to the data structure will also hit in the to show the overall operation of hardware-based monitoring. cache. Thus, even if the malicious LKM removes itself from Section V describes the details of the proposed security exten- the modules list by directly manipulating the pointers of the sion, Extrax. After Section VI shows our experimental results, modules list as depicted in (c), this event might not be placed we conclude this paper in Section VII. on the system bus. Consequently, recently proposed snoop- II. BACKGROUND based monitors might no longer guarantee the integrity of the A. Core Debug Interface kernel since they detect attacks by snooping the system bus. The on-chip debug (OCD) unit is a debug/trace module Hence, a novel way to nullify CIH effect should be devised.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    6 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us