20
Me emory Analysis Q-CERT Workshop © 2007 Carnegie Mellon University Q-CERT Workshop Matthew Geiger [email protected]

Memory Analysis - ITU...Old School ↔ Iterative & invasive Double the opportunity for subversion: • Data collection • Interpretation One-way, ephemeral information channel Memory

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Memory Analysis - ITU...Old School ↔ Iterative & invasive Double the opportunity for subversion: • Data collection • Interpretation One-way, ephemeral information channel Memory

Memory AnalysisMemory AnalysisQ-CERT Workshop

© 2007 Carnegie Mellon University

Q-CERT Workshop

Matthew Geiger

[email protected]

Page 2: Memory Analysis - ITU...Old School ↔ Iterative & invasive Double the opportunity for subversion: • Data collection • Interpretation One-way, ephemeral information channel Memory

Outline

Why live system forensics?

• Previous techniques

• Drawbacks and new thinking

Approaches to memory acquisition

Evolution of memory analysis

• Survey of tools & methodologies

• The investigation gap & the future

Drawbacks and new thinking

Approaches to memory acquisition

2

Evolution of memory analysis

Survey of tools & methodologies

The investigation gap & the future

Page 3: Memory Analysis - ITU...Old School ↔ Iterative & invasive Double the opportunity for subversion: • Data collection • Interpretation One-way, ephemeral information channel Memory

Memory Analysis & Forensics

Increasing recognition in the forensics community that:

Advances in counter-forensic techniques

Advances in counter-forensic techniques

• Metasploit Meterpreter

• Malcode stealth strategies

Pervasive encryption

Can focus search for evidence ... in some cases

Memory Analysis & Forensics

Increasing recognition in the forensics community

forensic techniques

3

forensic techniques

Malcode stealth strategies

Can focus search for evidence ... in some cases

Page 4: Memory Analysis - ITU...Old School ↔ Iterative & invasive Double the opportunity for subversion: • Data collection • Interpretation One-way, ephemeral information channel Memory

Evolution of Technique

Live forensics borrowed from incident response

• Scripted queries using response toolkits (MS COFEE)

• Often still used initial results to guide data collection— netstat → ps → lsof ... etc

• Tension between speed and thoroughness

Memory acquisition

• 800lb gorilla of forensics –

• String dumps, virus scans, signature

Evolution of Technique

Live forensics borrowed from incident response

Scripted queries using response toolkits (MS COFEE)

Often still used initial results to guide data collection

Tension between speed and thoroughness

4

what do you do with it?

String dumps, virus scans, signature-based carving

Page 5: Memory Analysis - ITU...Old School ↔ Iterative & invasive Double the opportunity for subversion: • Data collection • Interpretation One-way, ephemeral information channel Memory

Old School ↔

Iterative & invasiveIterative & invasive

Double the opportunity for

subversion:

• Data collection

• Interpretation

One-way, ephemeral

information channel

Memory collection requires

privileged access

↔ New School

Working groups developing accepted practices

New analysis tools extract

familiar information – and

more – from memory

5

Repeatable results

Novel acquisition

techniques & tools:

• Increase assurance• Bypass access controls

Page 6: Memory Analysis - ITU...Old School ↔ Iterative & invasive Double the opportunity for subversion: • Data collection • Interpretation One-way, ephemeral information channel Memory

Memory Acquisition

Software mediated• Crash / core dump

• WinHex, other applications –

• dd.exe

• Commercial enterprise forensics packages: ProDiscover, etc

Access restrictions on \\.\PhysicalMemory

Kernel-mode window needed• Commonly use driver installation routines

• George Garner's KnTTools released

• AccessData, other vendors are working on it

Memory Acquisition – Software

secondary functionality

Commercial enterprise forensics packages: EnCase,

6

PhysicalMemory

mode window neededCommonly use driver installation routines

released in 2007

, other vendors are working on it

Page 7: Memory Analysis - ITU...Old School ↔ Iterative & invasive Double the opportunity for subversion: • Data collection • Interpretation One-way, ephemeral information channel Memory

Memory Acquisition

Hardware-based

• Komoku CoPilot, BBN Tech, Tribble

• IEEE 1394http://www.security-assessment.com/files/presentations/ ab_firewire_rux2k6-final.pdfhttp://cansecwest.com/core05/2005

Can extend DMA access to PC Card and Express Card devices

Developing field-deployable memory acquisition unit

Memory Acquisition – Hardware

Komoku CoPilot, BBN Tech, Tribble

assessment.com/files/presentations/

http://cansecwest.com/core05/2005-firewire-cansecwest.pdf

7

Page 8: Memory Analysis - ITU...Old School ↔ Iterative & invasive Double the opportunity for subversion: • Data collection • Interpretation One-way, ephemeral information channel Memory

Live Forensics Evolutionary Tree

String searches, file carving

Memory Analysis Branch

Live forensics

IR-style running system investigation

Run-Time Analysis Branch

Live Forensics Evolutionary Tree

PE “analysis” & carving

Informed analysis: state & context reconstruction

Memory Analysis Branch

8

running system investigation

Controlled run-time analysis

Run-Time Analysis Branch

Page 9: Memory Analysis - ITU...Old School ↔ Iterative & invasive Double the opportunity for subversion: • Data collection • Interpretation One-way, ephemeral information channel Memory

Recent History

Tool development inspired by DFRWS

• Two entries shared prize: Garner/Mora & Betz

• Tools released at subsequent conferences step up pace

Flurry of subsequent activity

• Mariusz Burdach – WMFT (plus Linux tools)• Mariusz Burdach – WMFT (plus Linux tools)

• Andreas Schuster – PTFinder, PoolFinder

• Harlan Carvey – Focused Perl utilities

• Garner – KnTTools / KnTList

• Jesse Kornblum – Buffalo tool

• Walters/Petroni – Volatility

Tool development inspired by DFRWS 2005 challenge

Two entries shared prize: Garner/Mora & Betz

Tools released at subsequent conferences step up pace

Flurry of subsequent activity

WMFT (plus Linux tools)

9

WMFT (plus Linux tools)

PTFinder, PoolFinder

Focused Perl utilities

KnTTools / KnTList

Buffalo tool

Page 10: Memory Analysis - ITU...Old School ↔ Iterative & invasive Double the opportunity for subversion: • Data collection • Interpretation One-way, ephemeral information channel Memory

Two Paths to Memory Reconstruction

Tree & list traversal

• Memparser

• KnTList

• WMFT

• Volatility

Object “fingerprint” searches

• PTFinder / PoolFinder

• Volatility

Two Paths to Memory Reconstruction

10

Object “fingerprint” searches

Page 11: Memory Analysis - ITU...Old School ↔ Iterative & invasive Double the opportunity for subversion: • Data collection • Interpretation One-way, ephemeral information channel Memory

List Traversal Basics

Find index into lists and tables of interesting structure

• Kernel image needed for offsets & symbols that help find a number of these

• Addresses can change from SP to SP

— Copy of NT kernel part of KnTTools acquisition process

— Other approach is to build hardcoded tool modules for each

EPROCESS linked list is a common example, with pointers to

• _ETHREAD structures

• SID of starting user

• Start time, PID, other metadata in PEB

• Process virtual memory pages

These structures allow reconstruction of some familiar IR

List Traversal Basics

Find index into lists and tables of interesting structure

Kernel image needed for offsets & symbols that help find a number of these

Addresses can change from SP to SP

Copy of NT kernel part of KnTTools acquisition process

Other approach is to build hardcoded tool modules for each

11

EPROCESS linked list is a common example, with pointers to

Start time, PID, other metadata in PEB

These structures allow reconstruction of some familiar IR-style data

Page 12: Memory Analysis - ITU...Old School ↔ Iterative & invasive Double the opportunity for subversion: • Data collection • Interpretation One-way, ephemeral information channel Memory

Volatility Framework

• At present, most actively developed opentool in this space– Running processes, DLLs loaded for each

– Open network sockets, network connections

– Open files handles for each process

– System modules

– Mapping interesting strings to process (physical offset to – Mapping interesting strings to process (physical offset to virtual address translation)

– Virtual Address Descriptor information

• Recently added pattern-scanning tools– processes & threads

– sockets & connections

• Framework approach intentionally maintains IR feel

Volatility Framework

At present, most actively developed open-source

Running processes, DLLs loaded for each

Open network sockets, network connections

Open files handles for each process

Mapping interesting strings to process (physical offset to

12

Mapping interesting strings to process (physical offset to

Virtual Address Descriptor information

scanning tools

Framework approach intentionally maintains IR feel

Page 13: Memory Analysis - ITU...Old School ↔ Iterative & invasive Double the opportunity for subversion: • Data collection • Interpretation One-way, ephemeral information channel Memory

Fingerprint Searching Basics

Scan for sufficiently unique structure signatures

• PTFinder works with EPROCESS, ETHREAD structs

• PoolFinder parses kernel pool memory

Perform basic sanity checks on data to weed out corrupt records, duplicatescorrupt records, duplicates

PTFinder doesn't perform further analysis but does provide optional graphical output

Fingerprint Searching Basics

Scan for sufficiently unique structure signatures

PTFinder works with EPROCESS, ETHREAD structs

PoolFinder parses kernel pool memory

Perform basic sanity checks on data to weed out

13

PTFinder doesn't perform further analysis but does provide optional graphical output

Page 14: Memory Analysis - ITU...Old School ↔ Iterative & invasive Double the opportunity for subversion: • Data collection • Interpretation One-way, ephemeral information channel Memory

PTFinder – graphical output

14

Page 15: Memory Analysis - ITU...Old School ↔ Iterative & invasive Double the opportunity for subversion: • Data collection • Interpretation One-way, ephemeral information channel Memory

15

Page 16: Memory Analysis - ITU...Old School ↔ Iterative & invasive Double the opportunity for subversion: • Data collection • Interpretation One-way, ephemeral information channel Memory

Pros &

Pattern search

• Find unlinked, dead structures (warm reboot)

• Can work with imperfect dumps

List traversal

• Can stitch together more related records from kernel perspective

Cons

Pattern search

• Less context without following related structures/objects

• Susceptible to chaff

16

List traversal

• Can miss unlinked, dead structures

• Targeted counter-measures

Page 17: Memory Analysis - ITU...Old School ↔ Iterative & invasive Double the opportunity for subversion: • Data collection • Interpretation One-way, ephemeral information channel Memory

Enhanced Techniques

Pagefile incorporation

Combining “naive” pattern searches with listtechniques

• Cross-view analysis

• Defense against chaff• Defense against chaff

Highlighting potentially interesting situations

• Orphaned threads still referenced in other structures

• Executable segments not mapped into shared sections

Enhanced Techniques

Combining “naive” pattern searches with list-traversal

17

Highlighting potentially interesting situations

Orphaned threads still referenced in other structures

Executable segments not mapped into shared sections

Page 18: Memory Analysis - ITU...Old School ↔ Iterative & invasive Double the opportunity for subversion: • Data collection • Interpretation One-way, ephemeral information channel Memory

What's next

Specialized tools will bridge the investigative gap

• Focus now centers on malcode, execution state analysis – but the investigative mission is much broader

• Recovery of cryptographic material to defeat disk encryption

Forensic platform vendors making friendlier analysis tools

Bring some analysis tasks into mainstream• Bring some analysis tasks into mainstream

• Provide momentum to adoption of memory analysis

• Automate extraction of typically interesting data

• Provide better anomaly detection or flags

Court cases and working groups will hammer out standards

Specialized tools will bridge the investigative gap

Focus now centers on malcode, execution state analysis but the investigative mission is much broader

Recovery of cryptographic material to defeat disk encryption

Forensic platform vendors making friendlier analysis tools

Bring some analysis tasks into mainstream

18

Bring some analysis tasks into mainstream

Provide momentum to adoption of memory analysis

Automate extraction of typically interesting data

Provide better anomaly detection or flags

Court cases and working groups will hammer out standards

Page 19: Memory Analysis - ITU...Old School ↔ Iterative & invasive Double the opportunity for subversion: • Data collection • Interpretation One-way, ephemeral information channel Memory

Questions / Comments?Questions / Comments?Questions / Comments?

© 2007 Carnegie Mellon University

Questions / Comments?

Page 20: Memory Analysis - ITU...Old School ↔ Iterative & invasive Double the opportunity for subversion: • Data collection • Interpretation One-way, ephemeral information channel Memory

References

PTFinder - by Andreas Schusterhttp://computer.forensikblog.de/en/2006/09/ptfinder_0_3_00.html

Volatility - by AAron Walters and Nick Pedroni Jr.http://www.volatilesystems.com/VolatileWeb/volatility.gsp

Brian Carrier and Joe Grand's work on hardwarehttp://www.digital-evidence.org/papers/tribble

George Garner's KnTTools and KnTList memory acquisition and analysis suiteGeorge Garner's KnTTools and KnTList memory acquisition and analysis suitehttp://www.gmgsystemsinc.com/knttools/

Mariusz Burdach – Windows Memory Forensic Toolkithttp://forensic.seccure.net/

Harlan Carvey's memory toolshttp://sourceforge.net/project/showfiles.php?group_id=164158

Chris Betz's Memparserhttp://sourceforge.net/project/showfiles.php?group_id=167028

http://computer.forensikblog.de/en/2006/09/ptfinder_0_3_00.html

by AAron Walters and Nick Pedroni Jr.http://www.volatilesystems.com/VolatileWeb/volatility.gsp

Brian Carrier and Joe Grand's work on hardware-based memory acquisitionevidence.org/papers/tribble-preprint.pdf

memory acquisition and analysis suite

20

memory acquisition and analysis suite

Windows Memory Forensic Toolkit

http://sourceforge.net/project/showfiles.php?group_id=164158

http://sourceforge.net/project/showfiles.php?group_id=167028