Cover
Copyright
Preface
Roadmap
Scope of Book
Resources
Acknowledgments
Foreword
Part I: Foundations
1. Digital Investigation Foundations
Digital Investigations and Evidence
Digital Crime Scene Investigation Process
System Preservation Phase
Preservation Techniques
Evidence Searching Phase
Search Techniques
Event Reconstruction Phase
General Guidelines
Data Analysis
Analysis Types
Essential and Nonessential Data
Overview of Toolkits
EnCase by Guidance Software
Forensic Toolkit by AccessData
ProDiscover by Technology Pathways
SMART by ASR Data
The Sleuth Kit / Autopsy
Summary
Bibliography
2. Computer Foundations
Data Organization
Binary, Decimal, and Hexadecimal
Data Sizes
Strings and Character Encoding
Data Structures
Flag Values
Booting Process
Central Processing Units and Machine Code
Boot Code Locations
Hard Disk Technology
Hard Disk Geometry and Internals
ATA / IDE Interface
Types of Sector Addresses
Interface Standards
Disk Commands
Hard Disk Passwords
Host Protected Area
Device Configuration Overlay
Serial ATA
BIOS versus Direct Access
Direct Access to Controller
BIOS Access to Controller
SCSI Drives
SCSI versus ATA
Types of SCSI
Connector Types
Size Barriers
Summary
Bibliography
3. Hard Disk Data Acquisition
Introduction
General Acquisition Procedure
Data Acquisition Layers
Acquisition Tool Testing
Reading the Source Data
Direct versus BIOS Access
Dead Versus Live Acquisition
Error Handling
Host Protected Area
Device Configuration Overlay
Hardware Write Blockers
Software Write Blockers
Writing the Output Data
Destination Location
Image File Format
Compressing the Image File
Network-based Acquisition
Integrity Hashes
A Case Study Using dd
Input Sources
HPA
Output Destinations
Error Handling
Cryptographic Hashes
Summary
Bibliography
Part II: Volume Analysis
4. Volume Analysis
Introduction
Background
Volume Concepts
General Theory of Partitions
Usage of Volumes in UNIX
General Theory of Volume Assembly
Sector Addressing
Analysis Basics
Analysis Techniques
Consistency Checks
Extracting the Partition Contents
Recovering Deleted Partitions
Summary
5. PC-based Partitions
DOS Partitions
General Overview
Basic MBR Concepts
Extended Partition Concepts
Putting the Concepts Together
Boot Code
Summary
Data Structures
MBR Data Structure
Extended Partition Data Structures
Example Image Tool Output
Analysis Considerations
Summary
Apple Partitions
General Overview
Data Structures
Partition Map Entry
Example Image Tool Output
Analysis Considerations
Summary
Removable Media
Bibliography
6. Server-based Partitions
BSD Partitions
General Overview
FreeBSD Overview
NetBSD and OpenBSD Overview
Boot Code
Data Structures
Disk Label Data Structure
OpenBSD Example Image
FreeBSD Example Image
Analysis Considerations
Summary
Sun Solaris Slices
General Overview
Sparc Data Structures
i386 Data Structures
Analysis Considerations
Summary
GPT Partitions
General Overview
Data Structures
Analysis Considerations
Summary
Bibliography
7. Multiple Disk Volumes
RAID
RAID Levels
Hardware RAID
Background
Acquisition and Analysis
Software RAID
Background
Acquisition and Analysis
General Analysis Comments
Summary
Disk Spanning
Overview
Linux MD
Background
Acquisition and Analysis
Linux LVM
Background
Acquisition and Analysis
Microsoft Windows LDM
Dynamic Disks
The LDM Database
Acquisition and Analysis
Bibliography
Part III: File System Analysis
8. File System Analysis
What is a File System?
Data Categories
Essential and Non-Essential Data
Analysis by Category
File System Category
Analysis Techniques
Content Category
General Information
Logical File System Address
Allocation Strategies
Damaged Data Units
Analysis Techniques
Data Unit Viewing
Logical File System-Level Searching
Data Unit Allocation Status
Data Unit Allocation Order
Consistency Checks
Wiping Techniques
File Name Category
General Information
File Name-based File Recovery
Analysis Techniques
File Name Listing
File Name Searching
Data Structure Allocation Order
Consistency Checks
Wiping Techniques
Application Category
File System Journals
Application-level Search Techniques
Application-based File Recovery (Data Carving)
File Type Sorting
Specific File Systems
Summary
Bibliography
9. FAT Concepts and Analysis
Introduction
File System Category
General Concepts
Essential Boot Sector Data
Non-essential Boot Sector Data
Boot Code
Example Image
Analysis Techniques
Analysis Considerations
Analysis Scenario
Content Category
Finding the First Cluster
Cluster and Sector Addresses
Cluster Allocation Status
Allocation Algorithms
Analysis Techniques
Analysis Considerations
Analysis Scenario
Metadata Category
Directory Entries
Cluster Chains
Directories
Directory Entry Addresses
Example Image
Allocation Algorithms
Directory Entry Allocation
Figure 9.13. Directory entry 4 was just allocated. Windows 98 allocates entry 3 next, but Windows XP allocates entry 5 next.
Time Value Updating
Analysis Techniques
Analysis Considerations
Analysis Scenarios
File System Creation Date
Searching for Deleted Directories
File Name Category
Allocation Algorithms
Analysis Techniques
Analysis Considerations
Analysis Scenarios
File Name Searching
Directory Entry Ordering
The Big Picture
File Allocation Example
File Deletion Example
Other Topics
File Recovery
Determining the Type
Consistency Check
Summary
Bibliography
10. FAT Data Structures
Boot Sector
FAT32 FSINFO
FAT
Directory Entries
Summary
Bibliography
11. NTFS Concepts
Introduction
Everything is a File
MFT Concepts
MFT Entry Contents
MFT Entry Addresses
File System Metadata Files
MFT Entry Attribute Concepts
Attribute Headers
Attribute Content
Standard Attribute Types
Other Attribute Concepts
Base MFT Entries
Sparse Attributes
Compressed Attributes
Encrypted Attributes
Cryptography Basics
NTFS Implementation
Indexes
B-Trees
NTFS Index Attributes
Analysis Tools
Summary
Bibliography
12. NTFS Analysis
File System Category
$MFT File Overview
$MFTMirr File Overview
$Boot File Overview
$Volume File Overview
$AttrDef File Overview
Example Image
Analysis Techniques
Analysis Considerations
Analysis Scenario
Content Category
Clusters
$Bitmap File Overview
$BadClus File Overview
Allocation Algorithms
File System Layout
Analysis Techniques
Analysis Considerations
Analysis Scenario
Metadata Category
$STANDARD_INFORMATION Attribute
$FILE_NAME Attribute
$DATA Attribute
$ATTRIBUTE_LIST Attribute
$SECURITY_DESCRIPTOR Attribute
$Secure File
Example Image
Allocation Algorithms
MFT Entry and Attribute Allocation
Time Value Updating
Analysis Techniques
Analysis Considerations
Analysis Scenario
File Name Category
Directory Indexes
Root Directory
Links to Files and Directories
Object Identifiers
Allocation Algorithms
Analysis Techniques
Analysis Considerations
Analysis Scenario
Application Category
Disk Quotas
Analysis Considerations
Logging—File System Journaling
Analysis Considerations
Change Journal
Analysis Considerations
The Big Picture
File Allocation Example
File Deletion Example
Other Topics
File Recovery
Consistency Check
Summary
Bibliography
13. NTFS Data Structures
Basic Concepts
Fixup Values
MFT Entries (File Records)
Attribute Header
Index Attributes and Data Structures
$INDEX_ROOT Attribute
$INDEX_ALLOCATION Attribute
$BITMAP Attribute
Index Node Header Data Structure
Generic Index Entry Data Structure
Directory Index Entry Data Structure
File System Metadata Files
$MFT File
$Boot File
$AttrDef File
$Bitmap File
$Volume File
$VOLUME_NAME Attribute
$VOLUME_INFORMATION Attribute
$ObjId File
$Quota File
$LogFile File
$UsrJrnl File
Summary
Bibliography
14. Ext2 and Ext3 Concepts and Analysis
Introduction
File System Category
Overview
Superblock
Block Group Descriptor Tables
Boot Code
Example Image
Analysis Techniques
Analysis Considerations
Analysis Scenario
Content Category
Overview
Blocks
Allocation Status
Allocation Algorithms
Analysis Techniques
Analysis Considerations
Analysis Scenario
Metadata Category
Overview
Inodes
Block Pointers
Attributes
Example Image
Allocation Algorithms
Inode Allocation
Time Value Updating
Analysis Techniques
Analysis Considerations
Analysis Scenario
File Name Category
Overview
Directory Entries
Links and Mount Points
Hash Trees
Allocation Algorithms
Analysis Techniques
Analysis Considerations
Analysis Scenarios
Source of a Moved File
File Deletion Order
Application Category
File System Journaling
Overview
Analysis Techniques
Analysis Considerations
Analysis Scenario
The Big Picture
File Allocation Example
File Deletion Example
Other Topics
File Recovery
Consistency Check
Summary
Bibliography
15. Ext2 and Ext3 Data Structures
Superblock
Group Descriptor Tables
Block Bitmap
Inodes
Extended Attributes
Directory Entry
Symbolic Link
Hash Trees
Journal Data Structures
Summary
Bibliography
16. UFS1 and UFS2 Concepts and Analysis
Introduction
File System Category
Overview
Superblock
Cylinder Group Descriptor
Boot Code
Example Image
Analysis Techniques
Analysis Considerations
Metadata Category
Overview
Inodes
Extended Attributes
Example Image
Allocation Algorithms
Analysis Techniques
Analysis Considerations
File Name Category
Overview
Allocation Algorithms
Analysis Techniques
Analysis Considerations
The Big Picture
File Allocation Example
File Deletion Example
Other Topics
File Recovery
Consistency Check
Summary
Bibliography
17. UFS1 and UFS2 Data Structures
UFS1 Superblock
UFS2 Superblock
Cylinder Group Summary
UFS1 Group Descriptor
UFS2 Group Descriptor
Block and Fragment Bitmaps
UFS1 Inodes
UFS2 Inodes
UFS2 Extended Attributes
Directory Entries
Summary
Bibliography
Appendix A. The Sleuth Kit and Autopsy
The Sleuth Kit
Disk Tools
Volume System Tools
File System Tools
File System Category
Content Category
Metadata Category
File Name Category
Application Category
Multiple Category
Searching Tools
Autopsy
Analysis Modes
Bibliography