# This file is distributed under the Berkeley 4-part license

Q: Why a new file format? What's wrong with block-by-block?

A: Raw image files take up a lot of space. In many cases this space
   can be dramatically reduced by using compression.
   Unfortunately, if you just use "gzip" or "bzip2" for compression,
   you need to uncompress the entire file in order to use it with a
   forensics program. That's because there is no easy way to "seek"
   within a compressed file.

   The proprietary EnCase file format supports seeking within a
   compressed file, but the specification for this file format is not
   publicly available. Also, EnCase does not allow the storage of
   arbitrary name/value pairs.


Q: Why not put meta information into log files?

A: In many cases it is advantageous to store meta information (such as
   case numbers, acquisition times, the name of the investigator,
   etc.) directly in the image file. For example, storing this
   information in a single file with the image makes it very unlikely
   that they will become separated, and perhaps the wrong log file
   being used with an image.

Q: Will AFF support hashes other than MD5 and SHA-1?

A: Yes. The MD5 hash is stored in a segment named "md5". The SHA-1
   hash is stored in a segment named "sha1". As support for other hash
   functions are added to the OpenSSL library, the "aconvert" and
   "aimage" programs will be updated to automatically calculate and
   store the other hashes in the AFF files.


Q: Are the images directly  mountable so that they can be used with 
   today's forensic tools, or must they be uncompressed for host-based tools to
   work with them?

A: If you have source code for a scanner, you can modify it to use
   af_open() and af_read() instead of fopen() and fread(). You can
   then read the AFF files directly. If you don't have source code,
   but have a scanner that can read from standard input, you can
   use the "affcat" program to copy the contents of an AFF file to
   standard output.

   Eventually, we plan to have a version of samba that is modified to
   transparently mount and serve an AFF file. This will allow
   off-the-shelf Windows executables to be used with AFF archives.


Q: How long do you think it will be before EnCase,
    ProDiscover, FTK, and the open source tools are able
    to process files in this format?

A: I'm currently modifying some of the Open Source tools to handle
   AFF and hope to have an announcement regarding this relatively
   soon. It's actually quite easy to modify an Open Source tool to work
   with AFF: you simply replace the fopen() call with af_open(), fseek()
   with af_seek(), and fclose() with af_close().  

   I've had no contact with the authors of EnCase, ProDiscover, and
   FTK. I imagine that if AFF becomes popular they will modify their
   tools to handle the format. But even if they don't, we plan to
   support those tools through the use of a samba loopback
   filesystem.


Q: Will it be possible to mount an AFF image as a "virtual file
   system" the way you can with EnCase. 

A: Yes, it is quite possible to create a device driver that would
   perform the necessary transformation.  That is how the AFFLIB
   af_read() and af_seek() function calls are implemented. 



Q: Wouldn't it be more efficient to have an index segment, rather than
   having to read through all of the individual AF Headers for each
   segment? 

A: We thought so as well! However, our initial experiments indicated
   that the overhead for doing a seek for every 16MB segment and
   reading a few bytes was quite minimal. The advantage of not having
   to maintain the index is significant. However, if the overhead
   becomes substantial, we can easily add an index segment type. The
   design of AFF allows for an index segment to be added to an
   existing AFF file without changing the contents of the segments
   that contain forensic information.


Q: Its very important for us to have a format which can be written
   into a pipe because that makes acquisition over the network much
   easier.

A: The "aimage" acquisition program currently under development allows
   for acquisition either from an ATA/USB/Firewire device or over a
   network. It allows for discontinuous segments of the disk to be
   acquired at different times and for data to be inserted into a
   single AFF file. 
