Dymo: tracking dynamic code identity

  • Authors:
  • Bob Gilbert;Richard Kemmerer;Christopher Kruegel;Giovanni Vigna

  • Affiliations:
  • Computer Security Group, Department of Computer Science, University of California, Santa Barbara;Computer Security Group, Department of Computer Science, University of California, Santa Barbara;Computer Security Group, Department of Computer Science, University of California, Santa Barbara;Computer Security Group, Department of Computer Science, University of California, Santa Barbara

  • Venue:
  • RAID'11 Proceedings of the 14th international conference on Recent Advances in Intrusion Detection
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Code identity is a primitive that allows an entity to recognize a known, trusted application as it executes. This primitive supports trusted computing mechanisms such as sealed storage and remote attestation. Unfortunately, there is a generally acknowledged limitation in the implementation of current code identity mechanisms in that they are fundamentally static. That is, code identity is captured at program load-time and, thus, does not reflect the dynamic nature of executing code as it changes over the course of its run-time. As a result, when a running process is altered, for example, because of an exploit or through injected, malicious code, its identity is not updated to reflect this change. In this paper, we present Dymo, a system that provides a dynamic code identity primitive that tracks the run-time integrity of a process and can be used to detect code integrity attacks. To this end, a host-based component computes an identity label that reflects the executable memory regions of running applications (including dynamically generated code). These labels can be used by the operating system to enforce application-based access control policies. Moreover, to demonstrate a practical application of our approach, we implemented an extension to Dymo that labels network packets with information about the process that originated the traffic. Such provenance information is useful for distinguishing between legitimate and malicious activity at the network level.