Picking up the trash: Exploiting generational GC for memory analysis

Gespeichert in:
Bibliographische Detailangaben
Titel: Picking up the trash: Exploiting generational GC for memory analysis
Autoren: Pridgen, Adam, Garfinkel, Simson, Wallach, Dan S.
Verlagsinformationen: Elsevier
Publikationsjahr: 2017
Bestand: Rice University: Digital Scholarship Archive
Schlagwörter: Memory forensics, Malware analysis, Java, HotSpot JVM, Managed runtimes
Beschreibung: Memory analysis is slowly moving up the software stack. Early analysis efforts focused on core OS structures and services. As this field evolves, more information becomes accessible because analysis tools can build on foundational frameworks like Volatility and Rekall. This paper demonstrates and establishes memory analysis techniques for managed runtimes, namely the HotSpot Java Virtual Machine (JVM). We exploit the fact that residual artifacts remain in the JVM's heap to create basic timelines, reconstruct objects, and extract contextual information. These artifacts exist because the JVM copies objects from one place to another during garbage collection and fails to overwrite old data in a timely manner. This work focuses on the Hotspot JVM, but it can be generalized to other managed run-times like Microsoft .Net or Google's V8 JavaScript Engine.
Publikationsart: article in journal/newspaper
Dateibeschreibung: application/pdf
Sprache: English
Relation: Pridgen, Adam, Garfinkel, Simson and Wallach, Dan S. "Picking up the trash: Exploiting generational GC for memory analysis." Digital Investigation, 20, no. Supplement (2017) Elsevier: S20-S28. https://doi.org/10.1016/j.diin.2017.01.002.; https://hdl.handle.net/1911/105029; picking-up-trash; https://doi.org/10.1016/j.diin.2017.01.002
DOI: 10.1016/j.diin.2017.01.002
Verfügbarkeit: https://hdl.handle.net/1911/105029
https://doi.org/10.1016/j.diin.2017.01.002
Rights: This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/). ; http://creativecommons.org/licenses/by-nc-nd/4.0/
Dokumentencode: edsbas.3FA46FB7
Datenbank: BASE
Beschreibung
Abstract:Memory analysis is slowly moving up the software stack. Early analysis efforts focused on core OS structures and services. As this field evolves, more information becomes accessible because analysis tools can build on foundational frameworks like Volatility and Rekall. This paper demonstrates and establishes memory analysis techniques for managed runtimes, namely the HotSpot Java Virtual Machine (JVM). We exploit the fact that residual artifacts remain in the JVM's heap to create basic timelines, reconstruct objects, and extract contextual information. These artifacts exist because the JVM copies objects from one place to another during garbage collection and fails to overwrite old data in a timely manner. This work focuses on the Hotspot JVM, but it can be generalized to other managed run-times like Microsoft .Net or Google's V8 JavaScript Engine.
DOI:10.1016/j.diin.2017.01.002