Synopses & Reviews
"Don't look now, but your fingerprints are all over the cover of this book. Simply picking it up off the shelf to read the cover has left a trail of evidence that you were here.
"If you think book covers are bad, computers are worse. Every time you use a computer, you leave elephant-sized tracks all over it. As Dan and Wietse show, even people trying to be sneaky leave evidence all over, sometimes in surprising places.
"This book is about computer archeology. It's about finding out what might have been based on what is left behind. So pick up a tool and dig in. There's plenty to learn from these masters of computer security."
--Gary McGraw, Ph.D., CTO, Cigital, coauthor of Exploiting Software and Building Secure Software
"A wonderful book. Beyond its obvious uses, it also teaches a great deal about operating system internals."
--Steve Bellovin, coauthor of Firewalls and Internet Security, Second Edition, and Columbia University professor
"A must-have reference book for anyone doing computer forensics. Dan and Wietse have done an excellent job of taking the guesswork out of a difficult topic."
--Brad Powell, chief security architect, Sun Microsystems, Inc.
"Farmer and Venema provide the essential guide to 'fossil' data. Not only do they clearly describe what you can find during a forensic investigation, they also provide research found nowhere else about how long data remains on disk and in memory. If you ever expect to look at an exploited system, I highly recommend reading this book."
--Rik Farrow, Consultant, author of Internet Security for Home and Office
"Farmer and Venema do for digital archaeology what Indiana Jones did for historical archaeology. Forensic Discovery unearths hidden treasures in enlightening and entertaining ways, showing how a time-centric approach to computer forensics reveals even the cleverest intruder."
--Richard Bejtlich, technical director, ManTech CFIA, and author of The Tao of Network Security Monitoring
"Farmer and Venema are 'hackers' of the old school: They delight in understanding computers at every level and finding new ways to apply existing information and tools to the solution of complex problems."
--Muffy Barkocy, Senior Web Developer, Shopping.com
"This book presents digital forensics from a unique perspective because it examines the systems that create digital evidence in addition to the techniques used to find it. I would recommend this book to anyone interested in learning more about digital evidence from UNIX systems."
--Brian Carrier, digital forensics researcher, and author of File System Forensic Analysis The Definitive Guide to Computer Forensics: Theory and Hands-On Practice
Computer forensics--the art and science of gathering and analyzing digital evidence, reconstructing data and attacks, and tracking perpetrators--is becoming ever more important as IT and law enforcement professionals face an epidemic in computer crime. In Forensic Discovery, two internationally recognized experts present a thorough and realistic guide to the subject.
Dan Farmer and Wietse Venema cover both theory and hands-on practice, introducing a powerful approach that can often recover evidence considered lost forever.
The authors draw on their extensive firsthand experience to cover everything from file systems, to memory and kernel hacks, to malware. They expose a wide variety of computer forensics myths that often stand in the way of success. Readers will find extensive examples from Solaris, FreeBSD, Linux, and Microsoft Windows, as well as practical guidance for writing one's own forensic tools. The authors are singularly well-qualified to write this book: They personally created some of the most popular security tools ever written, from the legendary SATAN network scanner to the powerful Coroner's Toolkit for analyzing UNIX break-ins.
After reading this book you will be able to
- Understand essential forensics concepts: volatility, layering, and trust
- Gather the maximum amount of reliable evidence from a running system
- Recover partially destroyed information--and make sense of it
- Timeline your system: understand what really happened when
- Uncover secret changes to everything from system utilities to kernel modules
- Avoid cover-ups and evidence traps set by intruders
- Identify the digital footprints associated with suspicious activity
- Understand file systems from a forensic analyst's point of view
- Analyze malware--without giving it a chance to escape
- Capture and examine the contents of main memory on running systems
- Walk through the unraveling of an intrusion, one step at a time
The book's companion Web site contains complete source and binary code for open source software discussed in the book, plus additional computer forensics case studies and resource links.
About the Author
Dan Farmer is author of a variety of security programs and papers. He is currently chief technical officer of Elemental Security, a computer security software company. Together he and Wietse Venema, have written many of the world's leading information security and forensics packages, including the SATAN network security scanner and the Coroner's Toolkit.
Wietse Venema has written some of the world's most widely used software, including TCP Wrapper and the Postfix mail system. He is currently a research staff member at IBM Research. Together, he and Dan Farmer have written many of the world's leading information security and forensics packages, including the SATAN network security scanner and the Coroner's Toolkit.
Table of Contents
About the Authors.
I. BASIC CONCEPTS.
1. The Spirit of Forensic Discovery.
Unusual Activity Stands Out.
The Order of Volatility (OOV).
Layers and Illusions.
The Trustworthiness of Information.
The Fossilization of Deleted Information.
Archaeology vs. Geology.
2. Time Machines.
The First Signs of Trouble.
What's Up, MAC? An Introduction to MACtimes.
Limitations of MACtimes.
Argus: Shedding Additional Light on the Situation.
Panning for Gold: Looking for Time in Unusual Places.
DNS and Time.
Journaling File Systems and MACtimes.
The Foibles of Time.
II. EXPLORING SYSTEM ABSTRACTIONS.
3. File System Basics.
An Alphabet Soup of File Systems.
UNIX File Organization.
UNIX File Names.
UNIX File Types.
A First Look Under the Hood: File System Internals.
UNIX File System Layout.
I've Got You Under My Skin: Delving into the File System.
The Twilight Zone, or Dangers Below the File System Interface.
4. File System Analysis.
Preparing the Victim's File System for Analysis.
Capturing the Victim's File System Information.
Sending a Disk Image Across the Network.
Mounting Disk Images on an Analysis Machine.
Existing File MACtimes.
Detailed Analysis of Existing Files.
Wrapping Up the Existing File Analysis.
Intermezzo: What Happens When a File Is Deleted?
Deleted File MACtimes.
Detailed Analysis of Deleted Files.
Exposing Out-of-Place Files by Their Inode Number.
Tracing a Deleted File Back to Its Original Location.
Tracing a Deleted File Back by Its Inode Number.
Another Lost Son Comes Back Home.
Loss of Innocence.
5. Systems and Subversion.
The Standard Computer System Architecture.
The UNIX System Life Cycle, from Start-up to Shutdown.
Case Study: System Start-up Complexity.
Kernel Configuration Mechanisms.
Protecting Forensic Information with Kernel Security Levels.
Typical Process and System Status Tools.
How Process and System Status Tools Work.
Limitations of Process and System Status Tools.
Subversion with Rootkit Software.
Command-Level Evasion and Detection.
Kernel Rootkit Installation.
Kernel Rootkit Operation.
Kernel Rootkit Detection and Evasion.
6. Malware Analysis Basics.
The Dangers of Dynamic Program Analysis.
Program Confinement with Hard Virtual Machines.
Program Confinement with Soft Virtual Machines.
The Dangers of Confinement with Soft Virtual Machines.
Program Confinement with Jails and chroot().
Dynamic Analysis with System-Call Monitors.
Program Confinement with System-Call Censors.
Program Confinement with System-Call Spoofing.
The Dangers of Confinement with System Calls.
Dynamic Analysis with Library-Call Monitors.
Program Confinement with Library Calls.
The Dangers of Confinement with Library Calls.
Dynamic Analysis at the Machine-Instruction Level.
Static Analysis and Reverse Engineering.
Small Programs Can Have Many Problems.
Malware Analysis Countermeasures.
III. BEYOND THE ABSTRACTIONS.
7. The Persistence of Deleted File Information.
Examples of Deleted Information Persistence.
Measuring the Persistence of Deleted File Contents.
Measuring the Persistence of Deleted File MACtimes.
The Brute-Force Persistence of Deleted File MACtimes.
The Long-Term Persistence of Deleted File MACtimes.
The Impact of User Activity on Deleted File MACtimes.
The Trustworthiness of Deleted File Information.
Why Deleted File Information Can Survive Intact.
8. Beyond Processes.
The Basics of Virtual Memory.
The Basics of Memory Pages.
Files and Memory Pages.
Anonymous Memory Pages.
The savecore Command.
Static Analysis: Recognizing Memory from Files.
Recovering Encrypted File Contents Without Keys.
File System Blocks vs. Memory Page Technique.
Recognizing Files in Memory.
Dynamic Analysis: The Persistence of Data in Memory.
File Persistence in Memory.
The Persistence of Nonfile, or Anonymous, Data.
The Persistence of Memory Through the Boot Process.
The Trustworthiness and Tenacity of Memory Data.
Appendix A. The Coroner's Toolkit and Related Software.
Data Gathering with grave-robber.
Time Analysis with mactime.
File Reconstruction with lazarus.
Low-Level File System Utilities.
Low-Level Memory Utilities.
Appendix B. Data Gathering and the Order of Volatility.
The Basics of Volatility.
The State of the Art.
How to Freeze a Computer.