SlideShare a Scribd company logo
Accelerating your forensic & incident
response workflow:
the case for a new standard in forensic
imaging
Dr. Bradley Schatz
Director, Schatz Forensic
v1.2 - HTCIA Conference 2016
© Schatz Forensic 2016
© 2016 Schatz Forensic
The volume problem increases the
latency between evidence identification
and useful findings
Identify Acquire Analyse Reporting
Latency
© 2016 Schatz Forensic
Pick one of the below
You can’t have both
Latency
Completeness Physical Acquisition
Triage
You preserve
everything but
analysis will have to
wait
Near immediate
results at the
expense of
potentially missing
evidence
Live forensics
© 2016 Schatz Forensic
How can we reduce latency?
While maximising completeness
Latency
Completeness Physical Acquisition
Triage
Increase
I/O
throughput?
Live analysis
while we
acquire?
Dynamic partial
acquisition?
Live forensics
© 2016 Schatz Forensic
Current forensic image formats are
now a bottleneck
• Deflate compression is inefficient
• Linear hashing does not scale to multi-core
• Copying blocks of zero filled sectors is a waste of
time
• Linear images prevent efficient out of order
acquisition
© 2016 Schatz Forensic
The Advanced Forensic Format v4
(AFF4) image format is the solution
• Scalable to GB/s IO & multi-core
• Enable forensically reproducible partial non-
linear images (reproducible triage)
• Scientifically peer reviewed (ref Daubert)
• Unencumbered, open specification
• Open source implementations
What’s stopping me increasing I/O
throughput?
Background
© 2016 Schatz Forensic
Forensic Imaging v1.0: Raw
Linear bitstream copy + linear bitstream hash
$ dd if=/dev/hda bs=4k conv=sync,noerror | tee
C1.D1.raw | md5sum > C1.D1.md5.txt
© 2016 Schatz Forensic
Forensic Imaging v1.0: Raw
MD5
Source Hard Drive
ACMECo.C1.D1.raw
ACMECo.C1.D1.raw.txt
# Linear Bitstream Hash
© 2016 Schatz Forensic
What affects throughput in
acquisition?
Target
Storage
Interconnect Hash Filesystem Interconnect
Evidence
storage
© 2016 Schatz Forensic
I/O throughput in Acquisition is a
systems problem
Target
Storage
Interconnect Hash Filesystem Interconnect
Evidence
storage
Target Storage Sustained Read
1TB Seagate 3.5” 7200rpm SATA 100 MB/s
Current generation 3.5” 7200rpm SATA 200 MB/s
Intel 730 SSD 550 MB/s
Macbook Pro 1TB ~1 GB/s
RAID 15000rpm SAS > 1 GB/s
Samsung 850 NVMe 1.5 – 2.5 GB/s
© 2016 Schatz Forensic
I/O throughput in Acquisition is a
systems problem
Target
Storage
Interconnect Hash Filesystem Interconnect
Evidence
storage
Algorithm Average Throughput MB/s
SHA1 619.23
MD5 745.65
Blake2b 601.87
© 2016 Schatz Forensic
I/O throughput in Acquisition is a
systems problem
Target
Storage
Interconnect Hash Filesystem Interconnect
Evidence
storage
Interconnect Gb/s Actual
Gb/s
Max MB/s Max
GB/m
PCIe / NVMe / Thunderbolt > 1000 > 60
SATA3 / SAS 6G 6 4.8 600 36
USB3 5 4 500 30
Gigabit Ethernet 1 ~100
USB2 .48 .38 48 2.9
© 2016 Schatz Forensic
I/O throughput in Acquisition is a
systems problem
Target
Storage
Interconnect Hash Filesystem Interconnect
Evidence
storage
Interconnect Gb/s Actual
Gb/s
Max MB/s Max
GB/m
PCIe / NVMe / Thunderbolt > 1000 > 60
SATA3 / SAS 6 4.8 600 36
USB3 5 4 500 30
Gigabit Ethernet 1 ~100
USB2 .48 .38 48 2.9
Can we practically
achieve this?
© 2016 Schatz Forensic
Not all bridges are made equal
Manuf. Source Dest Form factor Year
purchased
MB/s
Orico USB3 SATA 3.5” slide dock 2014 219
Orico USB3 SATA 2.5” enclosure 2016 247
Orico USB3 SATA 3.5” dual dock 2016 402
Kanex Thunderbolt eSATA Cable 2015 213
Nexstar USB3 SATA 3.5” dock 2014 189
Nexstar USB3 eSATA Cable 2016 249
Probox USB3 SATA Bridge 2016 416*
Samsung T3 USB3 integrated SSD 2016 400
Testing tool: BlackMagicDesign Disk Speed Test
Destination disk: Samsung 850 Pro SSD
* Fails under heavy load
© 2016 Schatz Forensic
Take Away #1
Faster destination IO is important, but
beware choice of bridge
• Not an issue if imaging to spinning disk
<200MB/s
• Raw SATA & SAS IO fastest (duplicators)
• SSD/RAID speed levels require decent bridges
• Thunderbolt and UASP promising – more testing
needed
© 2016 Schatz Forensic
Example: Forensic Duplicator
1TB Seagate Target
Target
Storage
Interconnect Hash Filesystem Interconnect
Evidence
storage
SHA1
600MB/s
SATA3
Spinning
Disk
93.6MB/s
SAS 6G
600MB/s
SATA3
Spinning
Disk
200MB/s
Acquisition 1TB @ 93.6MB/s = 2h 58m
Verification 1TB @ 200MB/s = 1h 23m
TOTAL = 4h 21m
SAS 6G
600MB/s
© 2016 Schatz Forensic
Bare Metal (LiveCD) Ancient
Workstation Acquisition
Target
Storage
Interconnect Hash Filesystem Interconnect
Evidence
storage
SHA1
600MB/s
SATA3
Spinning
Disk
100MB/s
USB2
45MB/s
SATA3
Spinning
Disk
200MB/s
Acquisition 1TB @ 45MB/s = 6h 10m
Verification 1TB @ 45MB/s = 6h 10m
TOTAL = 12h 20m
© 2016 Schatz Forensic
Bare Metal (LiveCD) Ancient
Workstation Acquisition
Target
Storage
Interconnect Hash Filesystem Interconnect
Evidence
storage
SHA1
600MB/s
SATA3
Spinning
Disk
100MB/s
USB2
45MB/s
SATA3
Spinning
Disk
200MB/s
Acquisition 1TB @ 45MB/s = 6h 10m
Verification 1TB @ 200MB/s = 1h 23m
TOTAL = 7h 33m
After copy, verify
image on device with
faster interconnect
© 2016 Schatz Forensic
Take Away #2
Plan your acquisitions to maximise
throughput
• Relocate image for verification
• Add a USB3 expresscard / PCIe card
• Pull disks from slower machines and go bare
metal (live CD) on faster ones
• Use GigE (100Mb/s) instead of USB2
© 2016 Schatz Forensic
Bare Metal (LiveCD) Example:
Caveat User Space Filesystem
Target
Storage
Interconnect Hash Filesystem Interconnect
Evidence
storage
SHA1
600MB/s
SATA3
Spinning
Disk
200MB/s
USB3
500MB/s
SATA3
Spinning
Disk
200MB/s
Acquisition 1TB @ 100MB/s = 2h 46m
Verification 1TB @ 100MB/s = 2h 46m
TOTAL = 5h 22m
NTFS-3g
100MB/s
SAS 6G
600MB/s
© 2016 Schatz Forensic
Is your forensic liveCD slowing you
down?
$ ntfs-3g /dev/sdd1 /mnt
$ time sh –c “time dd if=/dev/zero of=/mnt/zeros bs=512k count=20k ; sync”
104s 102MB/s
$ mount –t ntfs-3g –o max_read=131072,big_writes /dev/sdd1/ /mnt
$ time sh –c “time dd if=/dev/zero of=/mnt/zeros bs=512k count=20k ; sync”
33s 318 MB/s
Destination: Samsung T3 USB3 SSD
© 2016 Schatz Forensic
Take Away #3
NTFS may be a convenient destination
filesystem, but is it costing time?
• Use a kernel based FS implementation
• -or-
• Tune the filesystem if it is a user space variant
© 2016 Schatz Forensic
Forensic Imaging v2.0: EWF
Original design
Source Hard Drive
MD5
Deflate
ACMECo.C1.D1.e01
Source Hard Drive
# Linear BitStream Hash
Linear Compressed
Block Stream
© 2016 Schatz Forensic
The deflate algorithm is a significant
bottleneck
Target
Storage
Interconnect Hash Compress Filesystem Interconnect
Evidence
storage
Data Deflate MB/s Inflate MB/s
High entropy 40.4 439
Low entropy 259 IO bound
*Single core of quad core i7-4770 3.4Ghz measured with gzip
© 2016 Schatz Forensic
FTK Imager EWF Acquisition
1TB Seagate 75% full, 4 core i5-750
Target
Storage
Interconnect Hash Compress Filesystem Interconnect
Evidence
storage
SHA1
600MB/s
SATA3
Spinning Disk
100MB/s
SATA3
600MB/s
SATA3
Spinning
Disk
200MB/s
Acquisition 1TB @ 67.8MB/s = 4h 06m
Verification 1TB @ 106MB/s = 2h 36m
TOTAL = 6h 42m
Deflate
67.8
MB/s
© 2016 Schatz Forensic
Forensic Imaging v2.1: Threaded EWF
Guymager (2008), X-Ways, recent ewfacquire
MD5
Deflate DeflateDeflate
Source Hard Drive
ACMECo.C1.D1.e01
# Linear Bitstream Hash
© 2016 Schatz Forensic
Lacklustre throughput reports (2013)
• Practitioner reports
– Low 100’s MB/s [Zimmerman 2013]
• Research publications
– FastDD <= 110 MB/s [Bertasi & Zago 2013]
• Our experience
– Low powered CPU’s give low throughtput
© 2016 Schatz Forensic
Threaded EWF Acquisition
240GB Intel 730 SSD 50% full, Core 2
Duo (Lenovo X200 circa 2009)
Target
Storage
Interconnect Hash Compress Filesystem Interconnect
Evidence
storage
SHA1SATA3
Intel 730
SSD
~500MB/s
USB3
500MB/s
SATA3
Samsung
840 EVO
SSD
~500MB/s
Acquisition 240GB @ 91MB/s = 40m 21s
Deflate
45 MB/s
per core
SATA2
300MB/s
Our approach to increasing I/O
throughput
© 2016 Schatz Forensic
Scale to 8-core i7 & uncontended IO?
Threaded EWF is CPU bound
Target
Storage
Interconnect Hash Compress Filesystem Interconnect
Evidence
storage
SHA1
600MB/s
SATA3
Intel 720 SSD
~500MB/s
SATA3
600MB/s
SATA3
Samsung
850 EVO Pro
~500MB/s
Acquisition 240GB @ 255MB/s = 14m 35s
Verification 240GB @ 350MB/s = 10m 37s
TOTAL = 25m 12s
Deflate
31.9MB/s/core
*8 core i7-5820k @ 3.20 GHz
© 2016 Schatz Forensic
How about using a faster compression
algorithm?
Target
Storage
Interconnect Hash Compress Interconnect
Evidence
storage
Compression Algorithm Throughput
MB/s/core*
Deflate (ZIP, gzip) 31.9
Snappy (Google BigTable) 1,400
LZO (ZFS) 1,540
© 2016 Schatz Forensic
Forensic Imaging v4.0: AFF4 (2009)
• ZIP64 based container
• Storage virtualization
• Open source
implementation &
specification
© 2016 Schatz Forensic
AFF4: Storage Virtualisation
ACMECo.S1.RAID0.af4
ACMECo.S1.D1.af4 # Linear Bitstream Hash
ACMECo.S1.D2.af4
# Linear Bitstream Hash
Compressed Block Storage Stream
Virtual Storage Stream (Map)
© 2016 Schatz Forensic
AFF4: Storage Virtualisation
ACMECo.S1.RAID0.af4
ACMECo.S1.D1.af4 # Linear Bitstream Hash
ACMECo.S1.D2.af4
# Linear Bitstream Hash
Compressed Block Storage Stream
Virtual Storage Stream (Map)
Storage
virtualisation
© 2016 Schatz Forensic
AFF4: Storage Virtualisation
ACMECo.S1.RAID0.af4
ACMECo.S1.D1.af4 # Linear Bitstream Hash
ACMECo.S1.D2.af4
# Linear Bitstream Hash
Compressed Block Storage Stream
Virtual Storage Stream (Map)
Inter –container
referencing
© 2016 Schatz Forensic
Linear bitstream hashing isn’t parallelizable.
Max. rate ~600 MB/s on current gen. CPU’s
Target
Storage
Interconnect Hash Filesystem Interconnect
Evidence
storage
Algorithm Throughput MB/s
SHA1 619.23
MD5 745.65
Blake2b 601.87
© 2016 Schatz Forensic
Our solution: Block based hashing.
Hash
Compress CompressCompress
Source Hard Drive
Hash Hash
Block Hashes
# Block Hashes Hash
Test standard composition
Stored block size –v- LBA address
Windows 8.1
10.2G
Govdocs1 (1-
75,1-40) 59.8G
/dev/random
38.4G
Empty space
(zeros)
Block based hashing beats linear stream hashing with
low powered multicore CPU’s
Dual core i5-3337U 1.8GHz
Sparse data
Max CPU hash
throughput
Sparse data
Read I/O
limited
© 2016 Schatz Forensic
Block hashing shifts the bottleneck from
from CPU to I/O
Target
Storage
Interconnect Hash Compress Filesystem Interconnect
Evidence
storage
SHA1
600
MB/s/core
SATA3
Intel 730 SSD
500MB/s
4x
SATA3
2.4GB/s
RAID0
4x SATA3
2TB
800MB/s
Snappy
Avg
1.5GB/s/core
*8 core i7-5820k @ 3.20 GHz
Acquisition application Linear Acquisition Verification
X-Ways Forensics 14:35
255 MB/s (15.3 GB/min)
10:37
350 MB/s (21.0 GB/min)
Wirespeed (linear) 7:23
500 MB/s (30.3 GB/min)
4:12
888 MB/s (53.33 GB/min)
How can we take advantage of these
speeds?
© 2016 Schatz Forensic
Block hashing shifts the bottleneck from
from CPU to I/O
Target
Storage
Interconnect Hash Compress Filesystem Interconnect
Evidence
storage
SHA1
600
MB/s/core
SATA3
Intel 720 SSD
500MB/s
4x
SATA3
2.4GB/s
RAID0
4x SATA3
2TB
800MB/s
Snappy
Avg
1.5GB/s/core
*8 core i7-5820k @ 3.20 GHz
Acquisition application Linear Acquisition Verification
X-Ways Forensics 14:35
255 MB/s (15.3 GB/min)
10:37
350 MB/s (21.0 GB/min)
Wirespeed (linear) 7:23
500 MB/s (30.3 GB/min)
4:12
888 MB/s (53.33 GB/min)
Realistic?
More likely USB3
or 1GbE
© 2016 Schatz Forensic
Idea: can we aggregate output I/O?
Use 2x USB3 drives?
Target
Storage
Interconnect Hash Compress Filesystem Interconnect
Evidence
storage
SHA1
600
MB/s/core
SATA3
Intel 720 SSD
500MB/s
2x
USB3
1GB/s
2x SATA3
2TB
400MB/s
Snappy
Avg
1.5GB/s/core
*8 core i7-5820k @ 3.20 GHz
© 2016 Schatz Forensic
AFF4 Striping
ACMECo.S1.D1.2.af4
ACMECo.S1.D1.1.af4
Virtual Storage Stream (Map)
Disk 1
Disk 2
Source blocks striped over multiple
containers on multiple output disks
© 2016 Schatz Forensic
AFF4 Striping
ACMECo.S1.D1.2.af4
ACMECo.S1.D1.1.af4
Virtual Storage Stream (Map)
Disk 1
Disk 2
A copy of the map is stored in each
container.
Test standard composition
Stored block size –v- LBA address
Windows 8.1
10.2G
Govdocs1 (1-
75,1-40) 59.8G
/dev/random
38.4G
Empty space
(zeros)
Multiple output channels increases throughput
Especially for uncompressible data
High entropy
data
© 2016 Schatz Forensic
Multi-destination throughput is even
higher for current generation drives
1TB NVMe (Core i7-4578U, 2 Cores)
Macbook Pro A1502 (Evimetry 2.1.0)
Acquisition technique Acquire + Verify
Evimetry Wirespeed 0:52:04
Xways + WinFE 2:48:00
Macquisition EWF 7:08:38
© 2016 Schatz Forensic
Multi-destination throughput is even
higher for current generation drives
1TB NVMe (Core i7-4578U, 2 Cores)
Macbook Pro A1502 (Evimetry 2.2.0a)
Acquisition technique Acquire + Verify
Evimetry Wirespeed 0:52:04
Xways + WinFE 2:48:00
Macquisition EWF 7:08:38
© 2016 Schatz Forensic
Multi-destination throughput is even
higher for current generation drives
512GB Samsung 850 NVMe w/ 4 core i5
(Evimetry 2.2.0a)
Acquisition technique Acquire + Verify
Evimetry Wirespeed 0:52:04
Xways + WinFE 2:48:00
Macquisition EWF 7:08:38
How can we analyse while we acquire?
© 2016 Schatz Forensic
How can we reduce latency?
While maximising completeness
Latency
Completeness Physical Acquisition
Triage
Increase
I/O
throughput?
Live analysis
while we
acquire?
Dynamic partial
acquisition?
Live forensics
© 2016 Schatz Forensic
Idea: Start with a non-linear partial
image and add from there
Entire disk
All allocated
Interactive
analysis artifacts
High value
files
Volume & FS
Metadata,
Memory
Analysis
© 2016 Schatz Forensic
Acquire and access in parallel?
dd + iSCSI access to target
MD5
Source Hard Drive
ACMECo.C1.D1.raw
ACMECo.C1.D1.raw.txt
# Linear Bitstream Hash
iSCSI
Remote
analysis
tools
© 2016 Schatz Forensic
Acquire and access in parallel?
dd + iSCSI access to target
MD5
Source Hard Drive
ACMECo.C1.D1.raw
ACMECo.C1.D1.raw.txt
# Linear Bitstream Hash
iSCSI
Remote
analysis
tools
Access is contended.
Poor interactive
performance (lag )
© 2016 Schatz Forensic
Acquire and access in parallel?
dd + iSCSI access to target
MD5
Source Hard Drive
ACMECo.C1.D1.raw
ACMECo.C1.D1.raw.txt
# Linear Bitstream Hash
iSCSI
Remote
analysis
tools
Early termination
may not have a
complete filesystem
© 2016 Schatz Forensic
Raw Image : Non-linear acquisition via
sparse raw file, driven by live analysis?
Source Hard Drive
ACMECo.C1.D1.raw
ACMECo.C1.D1.raw.txt
# Linear Bitstream Hash
iSCSI How do you generate a hash
over a non-linear image?
* X-Ways does similar, only not remote
© 2016 Schatz Forensic
Forensic Imaging v4.1: AFF4 (2010)
• Non-linear acquisition
• Hash based imaging
(deduplication)
© 2016 Schatz Forensic
Partial, non-linear, block based hashing
Hash
Compress CompressCompress
ACMECo.C1.D1.af4
Volume Metadata
Filesystem Metadata
Sparse Data
File Content
Unknown
Hash Hash
Block Hashes
Compressed Block Stream
# Block Hashes Hash
Virtual Block Stream (Map)
Source Hard Drive
© 2016 Schatz Forensic
Forensic Imaging v4.2: AFF4 (2015)
• Partial acquisition
– Represent what we didn’t
acquire vs. what we
couldn’t acquire
• Block based hashing
© 2016 Schatz Forensic
Partial, non-linear, block based hashing
ACMECo.C1.D1.af4ACMECo.C1.D1.af4
Block Hashes
Compressed Block Stream
##
Virtual Block Stream (Map)
Linear Block
Hash
Map
Hash
Block Hashes
Hash
##
##
© 2016 Schatz Forensic
Evimetry & AFF4
Non-linear, partial physical acquisition driven by live
analysis
Source Hard DriveSource Hard Drive
ACMECo.C1.D1.af4ACMECo.C1.D1.af4
Block Hashes
Compressed Block Stream
## Block Hashes Hash
Virtual Block Stream (Map)
I/O Planning
&
Scheduling
Acquisition
Virtual
Disk
File
categories
Blocks
© 2016 Schatz Forensic
Partial acquisition brings reproducibility
and elasticity to IR and triage
Target
Storage
Interconnect Hash Compress Network
Evidence
storage
SHA1
600
MB/s/core
SATA3
Spinning disk
200MB/s
1GbE
100MB/s
RAID0
4x SATA3
2TB
800MB/s
Snappy
Avg
1.5GB/s/core
*8 core i7-5820k @ 3.20 GHz
Partial IR acquisition 21.9GiB @ 102MiB/s = 3m 39s
Volume metadata, filesystem metadata, 16G pagefile,
Registries, Logs, Link files, Jump lists, WMI CIM Repo,
Prefetch, USN Journal, $Logfile, Scheduler artefacts
How can I work with AFF4 images?
© 2016 Schatz Forensic
Why adopt this?
My toolset doesn't support AFF4.
• Wait for support from vendors?
– In progress
• Convert AFF4 to EWF on fast workstation
– Can be done in roughly the same time it takes to
simply copy (only compress low entropy blocks)
• Emulate Raw image in the filesystem
© 2016 Schatz Forensic
Virtual FS Emulation of AFF4
containers as emulated raw images
© 2016 Schatz Forensic
Emulated Raw is faster than native
EWF.
X-Ways processing task X-Ways Native EWF X-Ways w/ Evimetry FS Bridge
Verify 0:42:00 0:08:00
FS Data Recovery 0:03:35 0:03:20
Hashing & header
validation
1:59:03 1:05:25
Carving unallocated 0:41:00 0:44:00
Total 3:25:43 2:02:09
Image: 1TB Macbook Pro i7,
processed on 8 core i7 w/ RAID
How does this affect workflow?
© 2016 Schatz Forensic
Native EWF Acquisition vs AFF4
Native EWF Processing vs AFF4 FS Bridge
© 2016 Schatz Forensic
Native EWF Acquisition vs AFF4
Native EWF Processing vs AFF4 FS Bridge
Single Threaded
EWF?
© 2016 Schatz Forensic
Native EWF Acquisition vs AFF4
Native EWF Processing vs AFF4 FS Bridge
Multi Threaded
EWF
© 2016 Schatz Forensic
Native EWF Acquisition vs AFF4
Native EWF Processing vs AFF4 FS Bridge
AFF4
© 2016 Schatz Forensic
Native EWF Acquisition vs AFF4
Native EWF Processing vs AFF4 FS Bridge
AFF4: Copies in half
the time due to
striped acquisition
over 2 x 200 MB/s
spinning disks.
EWF: I/O bound on
single 200MB/s disk
© 2016 Schatz Forensic
Native EWF Acquisition vs AFF4
Native EWF Processing vs AFF4 FS Bridge
AFF4: Verification
completes in 8m. I/O
bound by RAID.
EWF: CPU bound
© 2016 Schatz Forensic
Native EWF Acquisition vs AFF4
Native EWF Processing vs AFF4 FS Bridge
AFF4: Filesystem
search in around ½
time.
EWF: CPU bound?
© 2016 Schatz Forensic
Native EWF Acquisition vs AFF4
Native EWF Processing vs AFF4 FS Bridge
AFF4 & EWF around
the same throughput.
Will the courts accept the AFF4 format?
© 2016 Schatz Forensic
Courts accept expert evidence
Is it reliable?
• Is the expert reliable?
• Is the underlying theory reliable?
– Reliable by way of the application of Scientific methods
(eg. Daubert)
– 4 scientifically peer reviewed papers, unrefuted
• Are the methods implementing the theory reliable?
– Tool testing (as always, the expert’s ultimate
responsibility)
Adoption
Who is using AFF4?
© 2016 Schatz Forensic
AFF4 is used in the following
© 2016 Schatz Forensic
Near Future
• Evimetry Community Edition
– Free creation, conversion & consumption of AFF4 images (Windows)
• AFF4 Standardisation Effort (AFF4 Working Group)
– Bradley Schatz (Evimetry), Michael Cohen (Google) chairing
– Open source implementation and specification in progress
– Blackbag recently joined
• Sleuthkit/Autopsy
– Support planned
• Open Source Digital Forensic Conference 2016
– AFF4 status update
More information
© 2016 Schatz Forensic
More information
Implementations
• https://evimetry.com/
• https://github.com/google/aff4
• http://www.rekall-forensic.com/docs/Tools/
• https://github.com/google/grr
Ongoing specification and papers
• http://www.aff4.org/
• http://dfrws.org/2009/proceedings/p57-cohen.pdf
• http://dfrws.org/2010/proceedings/2010-314.pdf
• http://dfrws.org/2015/proceedings/DFRWS2015-16.pdf
Conclusion
© 2016 Schatz Forensic
Conclusion
• Optimising forensic workflow is a systems
problem
• Existing forensic formats are a bottleneck for
todays systems
• Existing forensic image formats are generally
incompatible with triage and reproducible live
analysis
• The Advanced Forensic Format 4 solves the
above
Contact
Hard disk head by amckgill
Footprints by kimba
Dr Bradley Schatz
https://evimetry.com/
bradley@evimetry.com

More Related Content

PPTX
AFF4: The new standard in forensic imaging and why you should care
PDF
Unlock Bigdata Analytic Efficiency with Ceph Data Lake - Zhang Jian, Fu Yong
PDF
IPv4 IPv6 Multi Protocol Media Player
PPTX
Ceph on rdma
PDF
optimizing_ceph_flash
PPTX
Decentralized storage
PDF
Ceph optimized Storage / Global HW solutions for SDS, David Alvarez
PDF
DNS Survival Guide
AFF4: The new standard in forensic imaging and why you should care
Unlock Bigdata Analytic Efficiency with Ceph Data Lake - Zhang Jian, Fu Yong
IPv4 IPv6 Multi Protocol Media Player
Ceph on rdma
optimizing_ceph_flash
Decentralized storage
Ceph optimized Storage / Global HW solutions for SDS, David Alvarez
DNS Survival Guide

What's hot (19)

PDF
Aerospike Go Language Client
PPTX
Network OS Code Coverage demo using Bullseye tool
PDF
Ceph Object Storage Performance Secrets and Ceph Data Lake Solution
PDF
Automation of Hadoop cluster operations in Arm Treasure Data
PPTX
Aerospike Architecture
PDF
Building the Right Platform Architecture for Hadoop
PDF
Aerospike DB and Storm for real-time analytics
PPTX
High Performance, Scalable MongoDB in a Bare Metal Cloud
PDF
Email storage with Ceph - Danny Al-Gaaf
PDF
Ceph Day Beijing: Big Data Analytics on Ceph Object Store
PPTX
Getting The Most Out Of Your Flash/SSDs
PPTX
Cassandra Troubleshooting 3.0
PPTX
Architecting Ceph Solutions
PDF
Vacuum more efficient than ever
PDF
Ceph's journey at SUSE
PPT
Predictable Big Data Performance in Real-time
PDF
Hot Cloud'16: An Experiment on Bare-Metal BigData Provisioning
PPT
Aerospike: Key Value Data Access
PPTX
Lessons Learned on Java Tuning for Our Cassandra Clusters (Carlos Monroy, Kne...
Aerospike Go Language Client
Network OS Code Coverage demo using Bullseye tool
Ceph Object Storage Performance Secrets and Ceph Data Lake Solution
Automation of Hadoop cluster operations in Arm Treasure Data
Aerospike Architecture
Building the Right Platform Architecture for Hadoop
Aerospike DB and Storm for real-time analytics
High Performance, Scalable MongoDB in a Bare Metal Cloud
Email storage with Ceph - Danny Al-Gaaf
Ceph Day Beijing: Big Data Analytics on Ceph Object Store
Getting The Most Out Of Your Flash/SSDs
Cassandra Troubleshooting 3.0
Architecting Ceph Solutions
Vacuum more efficient than ever
Ceph's journey at SUSE
Predictable Big Data Performance in Real-time
Hot Cloud'16: An Experiment on Bare-Metal BigData Provisioning
Aerospike: Key Value Data Access
Lessons Learned on Java Tuning for Our Cassandra Clusters (Carlos Monroy, Kne...
Ad

Similar to Accelerating forensic and incident response workflow: the case for a new standard in forensic imaging - HTCIA 2016 (20)

PPTX
Accelerating forensic and incident response workflow: the case for a new stan...
PPTX
Forensic_Imaging_Presentationhjsksjsj.pptx
PPT
Guide to computer forensics and investigation.ppt
PPTX
CSE4004_Module2_1.pptx
PDF
Foundation of Digital Forensics
PDF
kbrgwillis.pdf
PPTX
Unit-2 Process of Digital Forensics [Autosaved].pptx
PPTX
Capturing forensics image
PPTX
Lecture 4 - Data Acquisition1234_MH.pptx
DOCX
PPT
data acquisition in computer forensics and
PPTX
First Responder Course - Session 10 - Static Evidence Collection [2004]
PPTX
Data Acquisition
PDF
dataacquisition.pdf
PPTX
Computer Forensics and investigation module 3
PPT
Digital Forensic Tools - Application Specific.
PPT
Digital Forensic tools - Application Specific
DOCX
Computer Forensics chap 3+4.DS_Store__MACOSXComputer Foren.docx
PPTX
Forensic imaging
PDF
MNSEC 2018 - Windows forensics
Accelerating forensic and incident response workflow: the case for a new stan...
Forensic_Imaging_Presentationhjsksjsj.pptx
Guide to computer forensics and investigation.ppt
CSE4004_Module2_1.pptx
Foundation of Digital Forensics
kbrgwillis.pdf
Unit-2 Process of Digital Forensics [Autosaved].pptx
Capturing forensics image
Lecture 4 - Data Acquisition1234_MH.pptx
data acquisition in computer forensics and
First Responder Course - Session 10 - Static Evidence Collection [2004]
Data Acquisition
dataacquisition.pdf
Computer Forensics and investigation module 3
Digital Forensic Tools - Application Specific.
Digital Forensic tools - Application Specific
Computer Forensics chap 3+4.DS_Store__MACOSXComputer Foren.docx
Forensic imaging
MNSEC 2018 - Windows forensics
Ad

Recently uploaded (20)

PPTX
Leprosy and NLEP programme community medicine
PPTX
IB Computer Science - Internal Assessment.pptx
PPTX
AI Strategy room jwfjksfksfjsjsjsjsjfsjfsj
PPTX
SAP 2 completion done . PRESENTATION.pptx
PPTX
01_intro xxxxxxxxxxfffffffffffaaaaaaaaaaafg
PPT
Reliability_Chapter_ presentation 1221.5784
PPTX
iec ppt-1 pptx icmr ppt on rehabilitation.pptx
PPTX
Microsoft-Fabric-Unifying-Analytics-for-the-Modern-Enterprise Solution.pptx
PPTX
modul_python (1).pptx for professional and student
PPTX
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
PPTX
Acceptance and paychological effects of mandatory extra coach I classes.pptx
PPT
Quality review (1)_presentation of this 21
PPT
Miokarditis (Inflamasi pada Otot Jantung)
PDF
Introduction to the R Programming Language
PDF
22.Patil - Early prediction of Alzheimer’s disease using convolutional neural...
PDF
Data Engineering Interview Questions & Answers Cloud Data Stacks (AWS, Azure,...
PPTX
IBA_Chapter_11_Slides_Final_Accessible.pptx
PDF
Business Analytics and business intelligence.pdf
PPTX
MODULE 8 - DISASTER risk PREPAREDNESS.pptx
PPTX
Database Infoormation System (DBIS).pptx
Leprosy and NLEP programme community medicine
IB Computer Science - Internal Assessment.pptx
AI Strategy room jwfjksfksfjsjsjsjsjfsjfsj
SAP 2 completion done . PRESENTATION.pptx
01_intro xxxxxxxxxxfffffffffffaaaaaaaaaaafg
Reliability_Chapter_ presentation 1221.5784
iec ppt-1 pptx icmr ppt on rehabilitation.pptx
Microsoft-Fabric-Unifying-Analytics-for-the-Modern-Enterprise Solution.pptx
modul_python (1).pptx for professional and student
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
Acceptance and paychological effects of mandatory extra coach I classes.pptx
Quality review (1)_presentation of this 21
Miokarditis (Inflamasi pada Otot Jantung)
Introduction to the R Programming Language
22.Patil - Early prediction of Alzheimer’s disease using convolutional neural...
Data Engineering Interview Questions & Answers Cloud Data Stacks (AWS, Azure,...
IBA_Chapter_11_Slides_Final_Accessible.pptx
Business Analytics and business intelligence.pdf
MODULE 8 - DISASTER risk PREPAREDNESS.pptx
Database Infoormation System (DBIS).pptx

Accelerating forensic and incident response workflow: the case for a new standard in forensic imaging - HTCIA 2016

  • 1. Accelerating your forensic & incident response workflow: the case for a new standard in forensic imaging Dr. Bradley Schatz Director, Schatz Forensic v1.2 - HTCIA Conference 2016 © Schatz Forensic 2016
  • 2. © 2016 Schatz Forensic The volume problem increases the latency between evidence identification and useful findings Identify Acquire Analyse Reporting Latency
  • 3. © 2016 Schatz Forensic Pick one of the below You can’t have both Latency Completeness Physical Acquisition Triage You preserve everything but analysis will have to wait Near immediate results at the expense of potentially missing evidence Live forensics
  • 4. © 2016 Schatz Forensic How can we reduce latency? While maximising completeness Latency Completeness Physical Acquisition Triage Increase I/O throughput? Live analysis while we acquire? Dynamic partial acquisition? Live forensics
  • 5. © 2016 Schatz Forensic Current forensic image formats are now a bottleneck • Deflate compression is inefficient • Linear hashing does not scale to multi-core • Copying blocks of zero filled sectors is a waste of time • Linear images prevent efficient out of order acquisition
  • 6. © 2016 Schatz Forensic The Advanced Forensic Format v4 (AFF4) image format is the solution • Scalable to GB/s IO & multi-core • Enable forensically reproducible partial non- linear images (reproducible triage) • Scientifically peer reviewed (ref Daubert) • Unencumbered, open specification • Open source implementations
  • 7. What’s stopping me increasing I/O throughput? Background
  • 8. © 2016 Schatz Forensic Forensic Imaging v1.0: Raw Linear bitstream copy + linear bitstream hash $ dd if=/dev/hda bs=4k conv=sync,noerror | tee C1.D1.raw | md5sum > C1.D1.md5.txt
  • 9. © 2016 Schatz Forensic Forensic Imaging v1.0: Raw MD5 Source Hard Drive ACMECo.C1.D1.raw ACMECo.C1.D1.raw.txt # Linear Bitstream Hash
  • 10. © 2016 Schatz Forensic What affects throughput in acquisition? Target Storage Interconnect Hash Filesystem Interconnect Evidence storage
  • 11. © 2016 Schatz Forensic I/O throughput in Acquisition is a systems problem Target Storage Interconnect Hash Filesystem Interconnect Evidence storage Target Storage Sustained Read 1TB Seagate 3.5” 7200rpm SATA 100 MB/s Current generation 3.5” 7200rpm SATA 200 MB/s Intel 730 SSD 550 MB/s Macbook Pro 1TB ~1 GB/s RAID 15000rpm SAS > 1 GB/s Samsung 850 NVMe 1.5 – 2.5 GB/s
  • 12. © 2016 Schatz Forensic I/O throughput in Acquisition is a systems problem Target Storage Interconnect Hash Filesystem Interconnect Evidence storage Algorithm Average Throughput MB/s SHA1 619.23 MD5 745.65 Blake2b 601.87
  • 13. © 2016 Schatz Forensic I/O throughput in Acquisition is a systems problem Target Storage Interconnect Hash Filesystem Interconnect Evidence storage Interconnect Gb/s Actual Gb/s Max MB/s Max GB/m PCIe / NVMe / Thunderbolt > 1000 > 60 SATA3 / SAS 6G 6 4.8 600 36 USB3 5 4 500 30 Gigabit Ethernet 1 ~100 USB2 .48 .38 48 2.9
  • 14. © 2016 Schatz Forensic I/O throughput in Acquisition is a systems problem Target Storage Interconnect Hash Filesystem Interconnect Evidence storage Interconnect Gb/s Actual Gb/s Max MB/s Max GB/m PCIe / NVMe / Thunderbolt > 1000 > 60 SATA3 / SAS 6 4.8 600 36 USB3 5 4 500 30 Gigabit Ethernet 1 ~100 USB2 .48 .38 48 2.9 Can we practically achieve this?
  • 15. © 2016 Schatz Forensic Not all bridges are made equal Manuf. Source Dest Form factor Year purchased MB/s Orico USB3 SATA 3.5” slide dock 2014 219 Orico USB3 SATA 2.5” enclosure 2016 247 Orico USB3 SATA 3.5” dual dock 2016 402 Kanex Thunderbolt eSATA Cable 2015 213 Nexstar USB3 SATA 3.5” dock 2014 189 Nexstar USB3 eSATA Cable 2016 249 Probox USB3 SATA Bridge 2016 416* Samsung T3 USB3 integrated SSD 2016 400 Testing tool: BlackMagicDesign Disk Speed Test Destination disk: Samsung 850 Pro SSD * Fails under heavy load
  • 16. © 2016 Schatz Forensic Take Away #1 Faster destination IO is important, but beware choice of bridge • Not an issue if imaging to spinning disk <200MB/s • Raw SATA & SAS IO fastest (duplicators) • SSD/RAID speed levels require decent bridges • Thunderbolt and UASP promising – more testing needed
  • 17. © 2016 Schatz Forensic Example: Forensic Duplicator 1TB Seagate Target Target Storage Interconnect Hash Filesystem Interconnect Evidence storage SHA1 600MB/s SATA3 Spinning Disk 93.6MB/s SAS 6G 600MB/s SATA3 Spinning Disk 200MB/s Acquisition 1TB @ 93.6MB/s = 2h 58m Verification 1TB @ 200MB/s = 1h 23m TOTAL = 4h 21m SAS 6G 600MB/s
  • 18. © 2016 Schatz Forensic Bare Metal (LiveCD) Ancient Workstation Acquisition Target Storage Interconnect Hash Filesystem Interconnect Evidence storage SHA1 600MB/s SATA3 Spinning Disk 100MB/s USB2 45MB/s SATA3 Spinning Disk 200MB/s Acquisition 1TB @ 45MB/s = 6h 10m Verification 1TB @ 45MB/s = 6h 10m TOTAL = 12h 20m
  • 19. © 2016 Schatz Forensic Bare Metal (LiveCD) Ancient Workstation Acquisition Target Storage Interconnect Hash Filesystem Interconnect Evidence storage SHA1 600MB/s SATA3 Spinning Disk 100MB/s USB2 45MB/s SATA3 Spinning Disk 200MB/s Acquisition 1TB @ 45MB/s = 6h 10m Verification 1TB @ 200MB/s = 1h 23m TOTAL = 7h 33m After copy, verify image on device with faster interconnect
  • 20. © 2016 Schatz Forensic Take Away #2 Plan your acquisitions to maximise throughput • Relocate image for verification • Add a USB3 expresscard / PCIe card • Pull disks from slower machines and go bare metal (live CD) on faster ones • Use GigE (100Mb/s) instead of USB2
  • 21. © 2016 Schatz Forensic Bare Metal (LiveCD) Example: Caveat User Space Filesystem Target Storage Interconnect Hash Filesystem Interconnect Evidence storage SHA1 600MB/s SATA3 Spinning Disk 200MB/s USB3 500MB/s SATA3 Spinning Disk 200MB/s Acquisition 1TB @ 100MB/s = 2h 46m Verification 1TB @ 100MB/s = 2h 46m TOTAL = 5h 22m NTFS-3g 100MB/s SAS 6G 600MB/s
  • 22. © 2016 Schatz Forensic Is your forensic liveCD slowing you down? $ ntfs-3g /dev/sdd1 /mnt $ time sh –c “time dd if=/dev/zero of=/mnt/zeros bs=512k count=20k ; sync” 104s 102MB/s $ mount –t ntfs-3g –o max_read=131072,big_writes /dev/sdd1/ /mnt $ time sh –c “time dd if=/dev/zero of=/mnt/zeros bs=512k count=20k ; sync” 33s 318 MB/s Destination: Samsung T3 USB3 SSD
  • 23. © 2016 Schatz Forensic Take Away #3 NTFS may be a convenient destination filesystem, but is it costing time? • Use a kernel based FS implementation • -or- • Tune the filesystem if it is a user space variant
  • 24. © 2016 Schatz Forensic Forensic Imaging v2.0: EWF Original design Source Hard Drive MD5 Deflate ACMECo.C1.D1.e01 Source Hard Drive # Linear BitStream Hash Linear Compressed Block Stream
  • 25. © 2016 Schatz Forensic The deflate algorithm is a significant bottleneck Target Storage Interconnect Hash Compress Filesystem Interconnect Evidence storage Data Deflate MB/s Inflate MB/s High entropy 40.4 439 Low entropy 259 IO bound *Single core of quad core i7-4770 3.4Ghz measured with gzip
  • 26. © 2016 Schatz Forensic FTK Imager EWF Acquisition 1TB Seagate 75% full, 4 core i5-750 Target Storage Interconnect Hash Compress Filesystem Interconnect Evidence storage SHA1 600MB/s SATA3 Spinning Disk 100MB/s SATA3 600MB/s SATA3 Spinning Disk 200MB/s Acquisition 1TB @ 67.8MB/s = 4h 06m Verification 1TB @ 106MB/s = 2h 36m TOTAL = 6h 42m Deflate 67.8 MB/s
  • 27. © 2016 Schatz Forensic Forensic Imaging v2.1: Threaded EWF Guymager (2008), X-Ways, recent ewfacquire MD5 Deflate DeflateDeflate Source Hard Drive ACMECo.C1.D1.e01 # Linear Bitstream Hash
  • 28. © 2016 Schatz Forensic Lacklustre throughput reports (2013) • Practitioner reports – Low 100’s MB/s [Zimmerman 2013] • Research publications – FastDD <= 110 MB/s [Bertasi & Zago 2013] • Our experience – Low powered CPU’s give low throughtput
  • 29. © 2016 Schatz Forensic Threaded EWF Acquisition 240GB Intel 730 SSD 50% full, Core 2 Duo (Lenovo X200 circa 2009) Target Storage Interconnect Hash Compress Filesystem Interconnect Evidence storage SHA1SATA3 Intel 730 SSD ~500MB/s USB3 500MB/s SATA3 Samsung 840 EVO SSD ~500MB/s Acquisition 240GB @ 91MB/s = 40m 21s Deflate 45 MB/s per core SATA2 300MB/s
  • 30. Our approach to increasing I/O throughput
  • 31. © 2016 Schatz Forensic Scale to 8-core i7 & uncontended IO? Threaded EWF is CPU bound Target Storage Interconnect Hash Compress Filesystem Interconnect Evidence storage SHA1 600MB/s SATA3 Intel 720 SSD ~500MB/s SATA3 600MB/s SATA3 Samsung 850 EVO Pro ~500MB/s Acquisition 240GB @ 255MB/s = 14m 35s Verification 240GB @ 350MB/s = 10m 37s TOTAL = 25m 12s Deflate 31.9MB/s/core *8 core i7-5820k @ 3.20 GHz
  • 32. © 2016 Schatz Forensic How about using a faster compression algorithm? Target Storage Interconnect Hash Compress Interconnect Evidence storage Compression Algorithm Throughput MB/s/core* Deflate (ZIP, gzip) 31.9 Snappy (Google BigTable) 1,400 LZO (ZFS) 1,540
  • 33. © 2016 Schatz Forensic Forensic Imaging v4.0: AFF4 (2009) • ZIP64 based container • Storage virtualization • Open source implementation & specification
  • 34. © 2016 Schatz Forensic AFF4: Storage Virtualisation ACMECo.S1.RAID0.af4 ACMECo.S1.D1.af4 # Linear Bitstream Hash ACMECo.S1.D2.af4 # Linear Bitstream Hash Compressed Block Storage Stream Virtual Storage Stream (Map)
  • 35. © 2016 Schatz Forensic AFF4: Storage Virtualisation ACMECo.S1.RAID0.af4 ACMECo.S1.D1.af4 # Linear Bitstream Hash ACMECo.S1.D2.af4 # Linear Bitstream Hash Compressed Block Storage Stream Virtual Storage Stream (Map) Storage virtualisation
  • 36. © 2016 Schatz Forensic AFF4: Storage Virtualisation ACMECo.S1.RAID0.af4 ACMECo.S1.D1.af4 # Linear Bitstream Hash ACMECo.S1.D2.af4 # Linear Bitstream Hash Compressed Block Storage Stream Virtual Storage Stream (Map) Inter –container referencing
  • 37. © 2016 Schatz Forensic Linear bitstream hashing isn’t parallelizable. Max. rate ~600 MB/s on current gen. CPU’s Target Storage Interconnect Hash Filesystem Interconnect Evidence storage Algorithm Throughput MB/s SHA1 619.23 MD5 745.65 Blake2b 601.87
  • 38. © 2016 Schatz Forensic Our solution: Block based hashing. Hash Compress CompressCompress Source Hard Drive Hash Hash Block Hashes # Block Hashes Hash
  • 39. Test standard composition Stored block size –v- LBA address Windows 8.1 10.2G Govdocs1 (1- 75,1-40) 59.8G /dev/random 38.4G Empty space (zeros)
  • 40. Block based hashing beats linear stream hashing with low powered multicore CPU’s Dual core i5-3337U 1.8GHz Sparse data Max CPU hash throughput Sparse data Read I/O limited
  • 41. © 2016 Schatz Forensic Block hashing shifts the bottleneck from from CPU to I/O Target Storage Interconnect Hash Compress Filesystem Interconnect Evidence storage SHA1 600 MB/s/core SATA3 Intel 730 SSD 500MB/s 4x SATA3 2.4GB/s RAID0 4x SATA3 2TB 800MB/s Snappy Avg 1.5GB/s/core *8 core i7-5820k @ 3.20 GHz Acquisition application Linear Acquisition Verification X-Ways Forensics 14:35 255 MB/s (15.3 GB/min) 10:37 350 MB/s (21.0 GB/min) Wirespeed (linear) 7:23 500 MB/s (30.3 GB/min) 4:12 888 MB/s (53.33 GB/min)
  • 42. How can we take advantage of these speeds?
  • 43. © 2016 Schatz Forensic Block hashing shifts the bottleneck from from CPU to I/O Target Storage Interconnect Hash Compress Filesystem Interconnect Evidence storage SHA1 600 MB/s/core SATA3 Intel 720 SSD 500MB/s 4x SATA3 2.4GB/s RAID0 4x SATA3 2TB 800MB/s Snappy Avg 1.5GB/s/core *8 core i7-5820k @ 3.20 GHz Acquisition application Linear Acquisition Verification X-Ways Forensics 14:35 255 MB/s (15.3 GB/min) 10:37 350 MB/s (21.0 GB/min) Wirespeed (linear) 7:23 500 MB/s (30.3 GB/min) 4:12 888 MB/s (53.33 GB/min) Realistic? More likely USB3 or 1GbE
  • 44. © 2016 Schatz Forensic Idea: can we aggregate output I/O? Use 2x USB3 drives? Target Storage Interconnect Hash Compress Filesystem Interconnect Evidence storage SHA1 600 MB/s/core SATA3 Intel 720 SSD 500MB/s 2x USB3 1GB/s 2x SATA3 2TB 400MB/s Snappy Avg 1.5GB/s/core *8 core i7-5820k @ 3.20 GHz
  • 45. © 2016 Schatz Forensic AFF4 Striping ACMECo.S1.D1.2.af4 ACMECo.S1.D1.1.af4 Virtual Storage Stream (Map) Disk 1 Disk 2 Source blocks striped over multiple containers on multiple output disks
  • 46. © 2016 Schatz Forensic AFF4 Striping ACMECo.S1.D1.2.af4 ACMECo.S1.D1.1.af4 Virtual Storage Stream (Map) Disk 1 Disk 2 A copy of the map is stored in each container.
  • 47. Test standard composition Stored block size –v- LBA address Windows 8.1 10.2G Govdocs1 (1- 75,1-40) 59.8G /dev/random 38.4G Empty space (zeros)
  • 48. Multiple output channels increases throughput Especially for uncompressible data High entropy data
  • 49. © 2016 Schatz Forensic Multi-destination throughput is even higher for current generation drives 1TB NVMe (Core i7-4578U, 2 Cores) Macbook Pro A1502 (Evimetry 2.1.0) Acquisition technique Acquire + Verify Evimetry Wirespeed 0:52:04 Xways + WinFE 2:48:00 Macquisition EWF 7:08:38
  • 50. © 2016 Schatz Forensic Multi-destination throughput is even higher for current generation drives 1TB NVMe (Core i7-4578U, 2 Cores) Macbook Pro A1502 (Evimetry 2.2.0a) Acquisition technique Acquire + Verify Evimetry Wirespeed 0:52:04 Xways + WinFE 2:48:00 Macquisition EWF 7:08:38
  • 51. © 2016 Schatz Forensic Multi-destination throughput is even higher for current generation drives 512GB Samsung 850 NVMe w/ 4 core i5 (Evimetry 2.2.0a) Acquisition technique Acquire + Verify Evimetry Wirespeed 0:52:04 Xways + WinFE 2:48:00 Macquisition EWF 7:08:38
  • 52. How can we analyse while we acquire?
  • 53. © 2016 Schatz Forensic How can we reduce latency? While maximising completeness Latency Completeness Physical Acquisition Triage Increase I/O throughput? Live analysis while we acquire? Dynamic partial acquisition? Live forensics
  • 54. © 2016 Schatz Forensic Idea: Start with a non-linear partial image and add from there Entire disk All allocated Interactive analysis artifacts High value files Volume & FS Metadata, Memory Analysis
  • 55. © 2016 Schatz Forensic Acquire and access in parallel? dd + iSCSI access to target MD5 Source Hard Drive ACMECo.C1.D1.raw ACMECo.C1.D1.raw.txt # Linear Bitstream Hash iSCSI Remote analysis tools
  • 56. © 2016 Schatz Forensic Acquire and access in parallel? dd + iSCSI access to target MD5 Source Hard Drive ACMECo.C1.D1.raw ACMECo.C1.D1.raw.txt # Linear Bitstream Hash iSCSI Remote analysis tools Access is contended. Poor interactive performance (lag )
  • 57. © 2016 Schatz Forensic Acquire and access in parallel? dd + iSCSI access to target MD5 Source Hard Drive ACMECo.C1.D1.raw ACMECo.C1.D1.raw.txt # Linear Bitstream Hash iSCSI Remote analysis tools Early termination may not have a complete filesystem
  • 58. © 2016 Schatz Forensic Raw Image : Non-linear acquisition via sparse raw file, driven by live analysis? Source Hard Drive ACMECo.C1.D1.raw ACMECo.C1.D1.raw.txt # Linear Bitstream Hash iSCSI How do you generate a hash over a non-linear image? * X-Ways does similar, only not remote
  • 59. © 2016 Schatz Forensic Forensic Imaging v4.1: AFF4 (2010) • Non-linear acquisition • Hash based imaging (deduplication)
  • 60. © 2016 Schatz Forensic Partial, non-linear, block based hashing Hash Compress CompressCompress ACMECo.C1.D1.af4 Volume Metadata Filesystem Metadata Sparse Data File Content Unknown Hash Hash Block Hashes Compressed Block Stream # Block Hashes Hash Virtual Block Stream (Map) Source Hard Drive
  • 61. © 2016 Schatz Forensic Forensic Imaging v4.2: AFF4 (2015) • Partial acquisition – Represent what we didn’t acquire vs. what we couldn’t acquire • Block based hashing
  • 62. © 2016 Schatz Forensic Partial, non-linear, block based hashing ACMECo.C1.D1.af4ACMECo.C1.D1.af4 Block Hashes Compressed Block Stream ## Virtual Block Stream (Map) Linear Block Hash Map Hash Block Hashes Hash ## ##
  • 63. © 2016 Schatz Forensic Evimetry & AFF4 Non-linear, partial physical acquisition driven by live analysis Source Hard DriveSource Hard Drive ACMECo.C1.D1.af4ACMECo.C1.D1.af4 Block Hashes Compressed Block Stream ## Block Hashes Hash Virtual Block Stream (Map) I/O Planning & Scheduling Acquisition Virtual Disk File categories Blocks
  • 64. © 2016 Schatz Forensic Partial acquisition brings reproducibility and elasticity to IR and triage Target Storage Interconnect Hash Compress Network Evidence storage SHA1 600 MB/s/core SATA3 Spinning disk 200MB/s 1GbE 100MB/s RAID0 4x SATA3 2TB 800MB/s Snappy Avg 1.5GB/s/core *8 core i7-5820k @ 3.20 GHz Partial IR acquisition 21.9GiB @ 102MiB/s = 3m 39s Volume metadata, filesystem metadata, 16G pagefile, Registries, Logs, Link files, Jump lists, WMI CIM Repo, Prefetch, USN Journal, $Logfile, Scheduler artefacts
  • 65. How can I work with AFF4 images?
  • 66. © 2016 Schatz Forensic Why adopt this? My toolset doesn't support AFF4. • Wait for support from vendors? – In progress • Convert AFF4 to EWF on fast workstation – Can be done in roughly the same time it takes to simply copy (only compress low entropy blocks) • Emulate Raw image in the filesystem
  • 67. © 2016 Schatz Forensic Virtual FS Emulation of AFF4 containers as emulated raw images
  • 68. © 2016 Schatz Forensic Emulated Raw is faster than native EWF. X-Ways processing task X-Ways Native EWF X-Ways w/ Evimetry FS Bridge Verify 0:42:00 0:08:00 FS Data Recovery 0:03:35 0:03:20 Hashing & header validation 1:59:03 1:05:25 Carving unallocated 0:41:00 0:44:00 Total 3:25:43 2:02:09 Image: 1TB Macbook Pro i7, processed on 8 core i7 w/ RAID
  • 69. How does this affect workflow?
  • 70. © 2016 Schatz Forensic Native EWF Acquisition vs AFF4 Native EWF Processing vs AFF4 FS Bridge
  • 71. © 2016 Schatz Forensic Native EWF Acquisition vs AFF4 Native EWF Processing vs AFF4 FS Bridge Single Threaded EWF?
  • 72. © 2016 Schatz Forensic Native EWF Acquisition vs AFF4 Native EWF Processing vs AFF4 FS Bridge Multi Threaded EWF
  • 73. © 2016 Schatz Forensic Native EWF Acquisition vs AFF4 Native EWF Processing vs AFF4 FS Bridge AFF4
  • 74. © 2016 Schatz Forensic Native EWF Acquisition vs AFF4 Native EWF Processing vs AFF4 FS Bridge AFF4: Copies in half the time due to striped acquisition over 2 x 200 MB/s spinning disks. EWF: I/O bound on single 200MB/s disk
  • 75. © 2016 Schatz Forensic Native EWF Acquisition vs AFF4 Native EWF Processing vs AFF4 FS Bridge AFF4: Verification completes in 8m. I/O bound by RAID. EWF: CPU bound
  • 76. © 2016 Schatz Forensic Native EWF Acquisition vs AFF4 Native EWF Processing vs AFF4 FS Bridge AFF4: Filesystem search in around ½ time. EWF: CPU bound?
  • 77. © 2016 Schatz Forensic Native EWF Acquisition vs AFF4 Native EWF Processing vs AFF4 FS Bridge AFF4 & EWF around the same throughput.
  • 78. Will the courts accept the AFF4 format?
  • 79. © 2016 Schatz Forensic Courts accept expert evidence Is it reliable? • Is the expert reliable? • Is the underlying theory reliable? – Reliable by way of the application of Scientific methods (eg. Daubert) – 4 scientifically peer reviewed papers, unrefuted • Are the methods implementing the theory reliable? – Tool testing (as always, the expert’s ultimate responsibility)
  • 81. © 2016 Schatz Forensic AFF4 is used in the following
  • 82. © 2016 Schatz Forensic Near Future • Evimetry Community Edition – Free creation, conversion & consumption of AFF4 images (Windows) • AFF4 Standardisation Effort (AFF4 Working Group) – Bradley Schatz (Evimetry), Michael Cohen (Google) chairing – Open source implementation and specification in progress – Blackbag recently joined • Sleuthkit/Autopsy – Support planned • Open Source Digital Forensic Conference 2016 – AFF4 status update
  • 84. © 2016 Schatz Forensic More information Implementations • https://evimetry.com/ • https://github.com/google/aff4 • http://www.rekall-forensic.com/docs/Tools/ • https://github.com/google/grr Ongoing specification and papers • http://www.aff4.org/ • http://dfrws.org/2009/proceedings/p57-cohen.pdf • http://dfrws.org/2010/proceedings/2010-314.pdf • http://dfrws.org/2015/proceedings/DFRWS2015-16.pdf
  • 86. © 2016 Schatz Forensic Conclusion • Optimising forensic workflow is a systems problem • Existing forensic formats are a bottleneck for todays systems • Existing forensic image formats are generally incompatible with triage and reproducible live analysis • The Advanced Forensic Format 4 solves the above
  • 87. Contact Hard disk head by amckgill Footprints by kimba Dr Bradley Schatz https://evimetry.com/ bradley@evimetry.com

Editor's Notes

  • #35: Image two disks in a RAID separately as AFF4 volumes, then use a map to create a virtual image of that.
  • #36: Image two disks in a RAID separately as AFF4 volumes, then use a map to create a virtual image of that.
  • #37: Image two disks in a RAID separately as AFF4 volumes, then use a map to create a virtual image of that.