Difference between pages "Prefetch" and "Residual Data"

From ForensicsWiki
(Difference between pages)
Jump to: navigation, search
 
m (See Also)
 
Line 1: Line 1:
{{Expand}}
+
Residual Data is data that is unintentionally left behind on computer media. In forensic usage, remnant data is typically left behind after attempts have been made to delete the data, after the data has been forgotten, or after the media on which the data resides has been decomissioned.
Windows Prefetch files, introduced in [[Windows|Windows XP]], are designed to speed up the application startup process. Prefetch files contain the name of the executable, a Unicode list of DLLs used by that executable, a count of how many times the executable has been run, and a timestamp indicating the last time the program was run. Although Prefetch is present in Windows 2003, by default it is only enabled for boot prefetching. The feature is also found in [[Windows Vista]], where it has been augmented with [[SuperFetch]], [[ReadyBoot]], and [[ReadyBoost]].
+
  
Up to 128 Prefetch files are stored in the <tt>%SystemRoot%\Prefetch</tt> directory [http://blogs.msdn.com/ryanmy/archive/2005/05/25/421882.aspx]. Each file in that directory should contain the name of the application (up to eight (?) characters), a dash, and then an eight character hash of the location from which that application was run, and a <tt>.pf</tt> extension. The filenames should be all uppercase except for the extension. The format of hashes is not known. A sample filename for [[md5deep]] would look like: <tt>MD5DEEP.EXE-4F89AB0C.pf</tt>. If an application is run from two different locations on the drive (i.e. the user runs <tt>C:\md5deep.exe</tt> and then <tt>C:\Apps\Hashing\md5deep.exe</tt>), there will be two different prefetch files in the Prefetch folder.
+
Residual data appears at all levels of modern computer systems:
 +
* Computer systems that are discarded.
 +
* Partitions in hard drives that are deleted.
 +
* Files on hard drives that are deleted but not overwritten.
 +
* Snippets of text in Microsoft Word files.
 +
* Heap variables that are freed with '''free()'''
 +
* Automatic variables left on the stack of languages like C or garbage collected in languages like Java.
  
== Timestamps ==
+
=Papers=
Both the [[NTFS]] timestamps for a Prefetch file and the timestamp embedded in each Prefetch file contain valuable information. The creation date of the file indicates the first time the application was executed. Both the modification date of the file and the embedded timestamp indicate the last time the application was executed.
+
Byers, Simon. [[Media:Scalable Exploitation.pdf|Scalable Exploitation of, and Responses to Information Leakage Through Hidden Data in Published Documents]], AT&T Research, April 2003
  
== MetaData ==
+
Chow, J., B. Pfaff, T. Garfinkel, K. Christopher, M. Rosenblum, 
The timestamp embedded within the Prefetch file is a 64-bit (QWORD) [http://msdn2.microsoft.com/en-us/library/ms724284.aspx FILETIME] object located at offset 0x78 from the beginning of the file on [[Windows]] XP.
+
[[Media:Tainbochs.pdf|Understanding Data Lifetime via Whole System Simulation]], Proceedings of the 13th USENIX Security Symposium, 2004.
  
The run count, or number of times the application has been run, is a 4-byte (DWORD) value located at offset 0x90 from the beginning of the file on [[Windows]] XP.
+
Garfinkel, S. and Shelat, A., "Remembrance of Data Passed: A Study of Disk Sanitization Practices," IEEE Security and Privacy, January/February 2003.
  
== See Also ==
+
=See Also=
* [[SuperFetch]]
+
* [[Sanitizing Tools]]
 
+
* [[Remnant Data]]
== External Links ==
+
* [http://www.iphoneatlas.com/2008/05/19/refurbished-iphones-may-contain-other-users-personal-data/ Remnant data on iPhones]
* [http://milo2012.wordpress.com/2009/10/19/windows-prefetch-folder-tool/ Prefetch-Tool Script] - Python script that parses Prefetch files
+
* [http://www.mitec.cz/wfa.html Windows File Analyzer] - Parses Prefetch files, thumbnail databases, shortcuts, index.dat files, and the recycle bin
+
* [http://www.microsoft.com/whdc/driver/kernel/XP_kernel.mspx#ECLAC Microsoft's description of Prefetch when Windows XP was introduced]
+
* [http://msdn.microsoft.com/msdnmag/issues/01/12/XPKernel/default.aspx More detail from Microsoft]
+

Revision as of 20:41, 20 May 2008

Residual Data is data that is unintentionally left behind on computer media. In forensic usage, remnant data is typically left behind after attempts have been made to delete the data, after the data has been forgotten, or after the media on which the data resides has been decomissioned.

Residual data appears at all levels of modern computer systems:

  • Computer systems that are discarded.
  • Partitions in hard drives that are deleted.
  • Files on hard drives that are deleted but not overwritten.
  • Snippets of text in Microsoft Word files.
  • Heap variables that are freed with free()
  • Automatic variables left on the stack of languages like C or garbage collected in languages like Java.

Papers

Byers, Simon. Scalable Exploitation of, and Responses to Information Leakage Through Hidden Data in Published Documents, AT&T Research, April 2003

Chow, J., B. Pfaff, T. Garfinkel, K. Christopher, M. Rosenblum, Understanding Data Lifetime via Whole System Simulation, Proceedings of the 13th USENIX Security Symposium, 2004.

Garfinkel, S. and Shelat, A., "Remembrance of Data Passed: A Study of Disk Sanitization Practices," IEEE Security and Privacy, January/February 2003.

See Also