Kernel Malware Analysis with Un-tampered and Temporal Views of Dynamic Kernel Memory

Dynamic kernel memory has been a popular target of recent kernel malware due to the difficulty of determining the status of volatile dynamic kernel objects. Some existing approaches use kernel memory mapping to identify dynamic kernel objects and check kernel integrity. The snapshot-based memory maps generated by these approaches are based on the kernel memory which may have been manipulated by kernel malware. In addition, because the snapshot only reflects the memory status at a single time instance, its usage is limited in temporal kernel execution analysis. We introduce a new runtime kernel memory mapping scheme called allocation-driven mapping, which systematically identifies dynamic kernel objects, including their types and lifetimes. The scheme works by capturing kernel object allocation and deallocation events. Our system provides a number of unique benefits to kernel malware analysis: (1) an un-tampered view wherein the mapping of kernel data is unaffected by the manipulation of kernel memory and (2) a temporal view of kernel objects to be used in temporal analysis of kernel execution. We demonstrate the effectiveness of allocation-driven mapping in two usage scenarios. First, we build a hidden kernel object detector that uses an un-tampered view to detect the data hiding attacks of 10 kernel rootkits that directly manipulate kernel objects (DKOM). Second, we develop a temporal malware behavior monitor that tracks and visualizes malware behavior triggered by the manipulation of dynamic kernel objects. Allocation-driven mapping enables a reliable analysis of such behavior by guiding the inspection only to the events relevant to the attack.


  • “Kernel Malware Analysis with Un-tampered and Temporal Views of Dynamic Kernel Memory”. Junghwan Rhee, Ryan Riley, Dongyan Xu, and Xuxian Jiang. In proceedings of the 13th International Symposium on Recent Advances in Intrusion Detection (RAID 2010), Ottawa, Canada, September 2010


This video demonstrates dynamic changes of the kernel memory map and detection of kernel rootkits that hide dynamic kernel objects by manipulating pointers.

  • Main technique: Live kernel object map
  • Applications: Hidden PCB and kernel driver detector
  • Note: some parts of a video clip are trimmed to reduce its play time.
  • Demo in AVI format


livedm.txt · Last modified: 2010/09/27 14:54 by dxu
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki