We recently contributed patches to the Sleuth Kit to read AFF4 images. While we are waiting for those to be pulled into the main distribution, the following recipe should suffice for compiling a stand alone copy on MacOS.
The following dependencies are needed to compile libAFF4 on OSX. I use MacPorts, and the corresponding packages i needed to install are:
* tclap (missing *.pc file – place in /opt/local/lib/pkgconfig/)
Clone and compile LibAFF4 (C/C++)
Use the following to clone the current release of libaff4, configure it, and install.
git clone https://github.com/google/aff4.git
git submodule update –init third_party/gtest
git reset –hard
./configure CC=clang CXX=clang++ CXXFLAGS=”-std=c++11 -stdlib=libc++ -O2 -g0 -I/opt/local/include” LDFLAGS=”-stdlib=libc++ -L/opt/local/lib”
sudo make install
Clone and compile the Sleuth Kit
Use the following to compile the sleuthkit with libaff4 support.
git clone https://github.com/blschatz/sleuthkit.git
git checkout release-4.4
autoreconf –force –install –verbose
sudo make install
We recently released Evimetry 3, the newest release of our revolutionary approach to forensic acquisition and analysis.
The big news is that we now support remote volatile memory acquisition. This means that in addition to being able to acquire remote disks, you can now acquire the volatile memory of live Windows, MacOS, and Linux hosts. We primarily support Windows XP and above (x86 and x64) and OSX Mountain Lion and above (x64). The coverage for Linux memory acquisition is limited to 64 bit Intel machines where the kmem driver is enabled.
Get straight to analysis.
In addition to acquiring the physical memory, we also acquire and store the entry points needed to find the kernel page tables and base kernel data structures. The benefit of this is that time-consuming scanning for these entry points (which are fundamental to further analysis) can be bypassed getting you to analysing evidence sooner.
We have developed patches to the leading volatile memory analysis frameworks, Volatility and Rekall, to support reading these images, and the patches for Volatility have been contributed to the main Volatility project on GitHub.
We take full advantage of Evimetry’s advanced compression to transport memory over the network at maximal rates. The effects of latency, a killer of network performance over long distance links, can be negated by pushing our networked evidence storage agents into the same network as the suspect computer.
Originally proposed in 2009 by Michael Cohen, Simson Garfinkel, and Bradley Schatz, the AFF4 forensic container enables new approaches to forensics, unparalleled forensic acquisition speeds and more accurate representation of evidence. These are enabled through next-generation forensic image features such as storage virtualisation, arbitrary metadata, and partial, non-linear and discontiguous images. The standard is the culmination of research spanning 6 years and 4 scientifically peer reviewed papers.
The release of these is a significant step forwards to the wider adoption of the format, enabling a large portion of the open source forensic toolchain to access AFF4 forensic images, and commercial implementers the ability to support reading the format by integration of a single unencumbered library.
Evimetry Community Edition provides a subset of the Evimetry system for free. The purpose of this is to grow the AFF4 ecosystem, firstly by providing a pain free path for Evimetry licensees to provide AFF4 images to non-licensees. Secondly, we wanted to provide practitioners, researchers and educators a freely available implementation of the AFF4 standard v1.0 which can be used to gain familiarity with the format. Schatz Forensic, the creators of Evimetry, drove the standardisation effort behind the AFF4 Standard v1.0.
With the Community Licenced Evimetry Controller, you can create Linear AFF4 Images on your Windows based analysis system, verify the integrity of AFF4 images, and convert between AFF4, E01/EWF and Raw images. You can also mount AFF4 images as virtual disks and analyse with your preferred forensic tools.
Using the Community Licenced Evimetry Filesystem Bridge, you can access entire repositories of AFF4 images as virtual raw files, enabling straightforward consumption with your existing forensic toolkit.
The release of Evimetry Community Edition coincides with the release by Schatz Forensic of open source implementations of the AFF4 format, patches to the Sleuth Kit supporting AFF4 images, and the release of the AFF4 Standard v1.0.
To gain access to the initial release of Evimetry Community Edition, email us at firstname.lastname@example.org .
Today marks the release of the Advanced Forensic Format 4 (AFF4) Standard v1.0.
Originally proposed in 2009 by Michael Cohen, Simson Garfinkel, and Bradley Schatz, the AFF4 forensic container enables new approaches to forensics, unparalleled forensic acquisition speeds and more accurate representation of evidence. These are enabled through next-generation forensic image features such as storage virtualisation, arbitrary metadata, and partial, non-linear and discontiguous images. The standard is the culmination of research spanning 8 years and 4 scientifically peer reviewed papers.
This release of a standard specification for the file format is a milestone towards the wider adoption of the format, providing implementers an unambiguous and straightforward path to implementation. The release of the AFF4 Standard coincides with the limited release of Evimetry Community Edition, a freely licensed subset of the AFF4 based forensic tool, and in the coming days, a C++ implementation and patches to the Sleuth Kit, and support for Volatility and Rekall.
The standard specification and reference images are available at , the python implementation at , and aff4.org  becoming the central point of publication.
While users of Evimetry are able to exploit the benefits afforded by AFF4 seamlessly with their regular forensic tools, we believe that native support for the format across both opensource and commercial tools will accelerate forensic workflow even further.
The screenshot below demonstrates a non-linear partial physical image (containing only the allocated blocks from the target disk) being interpreted by the SleuthKit.
We will be releasing patches for libaff4 (C++) and Sleuth Kit shortly.
Existing forensic image formats are a bottleneck in the multi-core era: The slides from my recent presentation on accelerating forensic & incident response workflow at the AusCERT 2016 Conference. This summarises the research behind Evimetry Wirespeed.
The Journal of Digital Investigation is currently calling for papers for a Special Issue on Volatile Memory Analysis. The Guest Editors of this issue are Michael Cohen (Google) and Bradley Schatz (Schatz Forensic).
We would welcome any novel research into aspects of Volatile Memory Analysis. Submissions are due 31 August 2016.
Memory analysis is a hot research topic with wide applications on many fronts – from malware detection and analysis, to recovery of encryption keys, to user activity reconstruction. As advanced contemporary malware increasingly reduces its on-disk footprint, and adopts increasingly sophisticated host detection subversion mechanisms, memory analysis is currently mainstreaming as a valuable technique for detection and response.
While memory analysis presents many new opportunities, it also presents new complications and challenges, ranging from reliance on undocumented program internals, to atomicity of acquisition methodologies. As memory analysis becomes the status quo methodology the use of directed anti-forensics is also becoming prevalent.
This special issue of the Journal of Digital Investigation invites original research papers that report on state-of-the-art and recent advancements in this rapidly expanding area of enquiry, with a particular emphasis on novel techniques and practical applications for the forensic and incident response community.
Topics of interest include but are not limited to:
Malware detection in memory
Live memory analysis
Live system introspection
Memory analysis of large systems
Userspace and application specific memory analysis
The Evimetry Wirespeed system enables remote live analysis using your existing forensic toolkit. In doing so, a partial physical image is created. Analysis activity drives the partial acquisition process, which in-turn results in an increasingly complete physical disk image. Acquisition may be incrementally widened to categories of evidence, such as Windows Registries, Log Files, Office documents, Allocated, and all of disk.
An important aspect in balancing live analysis with bulk acquisition is interactive latency (liveness). Unlike any other forensic system, live analysis activities are prioritised over bulk activities, enabling effective live analysis with minimal perceptual delay.
A partial acquisition of a 240GB SSD1, collecting Page Files, Swap files, Windows Registry Files, Log Files, and Windows Access Traces, is started.
This causes acquisition of volume metadata, followed by filesystem metadata, and then the content data blocks corresponding to these categories. This acquisition completes in 17s and has stored 2.3GiB in the forensic image2.
@2:01 Virtual disk sharing
The active partial image is shared as a virtual disk, and mounted in windows as the F: drive. Windows explorer is then used to browse the F: drive, into the F:\Videos\Videos1\ folder. All access of the blocks of the virtual disk come from the forensic image, as the filesystem metadata has already been acquired.
On traversing to the F:\Videos\Videos1\Videos\ folder, thumbnails are generated by explorer and shown. As the content for these has not yet been acquired, the underlying blocks are loaded from the suspect drive, stored in the partial image, and then passed on to windows via the iSCSI virtual disk emulator. From there windows explorer renders the thumbnails.
@2:37 Third party application access
The file Mario1_500_HQ_512kb.mp4 is accessed, which contains a mario runthrough video from archive.org. This causes the video to be played using VLC.
The purpose of this is to create an interactive acquisition load on the target drive (recalling that the content of this file have not yet been acquired).
@3:03 Virtual disk access using EnCase.
The virtual disk is loaded into EnCase3, which scans the volume metadata, and filesystem metadata (in this case parsing the MFT).
The volume metadata and MFT are loaded from the partial image. Interactive performance of the video is unaffected, with no glitches or pauses.
@4:40 Interactive analysis with EnCase
Within EnCase, the files are filtered down to JPEG files, and the view shifted to Gallery. All of the pictures displayed on the gallery are loaded from the suspect hard drive, and stored in the partial image on their way to EnCase. At this stage only VLC and Encase are competing for access to the target device, and interactive performance of the video is unaffected. There are no glitches or pauses, and load and display of the pictures in EnCase is snappy.
@5:08 Acquisition scope widened to all of Allocated
A successive partial acquisition operation is started, widening scope to all allocated files. This will only read blocks of files on the target device that aren’t already in the image (a significant portion of the video, and the pictures that were viewed in the gallery are already present in the image, in addition to the volume and filesystem metadata, system logs, registries, etc).
@5:48 Gallery browsing under high acquisition load
The gallery is scrubbed to a random point, causing acquisition and display of a number of as yet un-accessed images. While this interactive process is competing with the video and the batch acquisition (and proceeding at 238 MB/s), interactive latency has increased but still acceptable.
@6:00 Single file browsing under high acquisition load
Encase is switched to the Table browser, and random pictures browsed. Interactive latency for single file access is snappy.
@8:08 Video runthrough completes
Acquisition of 61GiB has completed when the video completes playing.
At the point where this screencast ends, acquisition of allocated space is still underway. The analyst needn’t wait for its completion, as a partial forensic image may be completed at any time, with the resulting image still accessible using regular forensic tools. With the volume & filesystem metadata, and the file content that has been acquired to that point, forensic tools will still be able to interpret the disk. Blocks that were not acquired simply show up as unknown data.
This blog post summarised the most important parts of the video, the purpose of which was to demonstrate:
The incremental nature of partial acquisition using Evimetry Wirespeed;
The ease of human-in-the-loop live analysis in driving forward partial acquisition;
The performance of the Evimetry Wirespeed system.
1 around 50% full, content including a Windows OS folder heirarchy (no user profiles), random data, and multiple copies of the GovDocs corpus, and videos downloaded from archive.org. 2 We note that this dataset actually doesn’t have any page files or swap files in it. 3 EnCase is a trademark of Guidance Software and has no affiliation with Schatz Forensic.
Digital forensics is full of waiting. Waiting for acquisitions to complete. Waiting for images to process. Waiting for flights and waiting in data centres.
We set out to remove this wait.
In November 2014, Schatz Forensic quietly opened a beta program for a new forensic tool aimed at speeding forensic workflow. The innovative system accelerates acquisition and processing of evidence and closes the gap between acquisition and analysis.
A long beta program has allowed us to listen to our testers, and target the pain points in their forensic process. Practitioners love the faster acquisitions and processing, and cutting hours of wait time from cases. Incident responders are excited by travel-free remote live analysis, and rapid partial imaging of high value artefacts.
Today marks the general availability release of Evimetry Wirespeed. If you are ready for a more efficient workflow and less waiting, visit http://evimetry.com or contact us.