<?xml version="1.0" encoding="utf-8"?>
<!-- If you are running a bot please visit this policy page outlining rules you must respect. http://www.livejournal.com/bots/ -->
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:lj="http://www.livejournal.com">
  <id>urn:lj:livejournal.com:atom1:jessekornblum</id>
  <title>A Geek Raised by Wolves</title>
  <subtitle>jessekornblum</subtitle>
  <author>
    <name>jessekornblum</name>
  </author>
  <link rel="alternate" type="text/html" href="http://jessekornblum.livejournal.com/"/>
  <link rel="self" type="text/xml" href="http://jessekornblum.livejournal.com/data/atom"/>
  <updated>2009-12-22T12:54:24Z</updated>
  <lj:journal userid="2191359" username="jessekornblum" type="personal"/>
  <link rel="service.feed" type="application/x.atom+xml" href="http://jessekornblum.livejournal.com/data/atom" title="A Geek Raised by Wolves"/>
  <link rel="hub" href="http://pubsubhubbub.appspot.com/"/>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jessekornblum:255242</id>
    <link rel="alternate" type="text/html" href="http://jessekornblum.livejournal.com/255242.html"/>
    <link rel="self" type="text/xml" href="http://jessekornblum.livejournal.com/data/atom/?itemid=255242"/>
    <title>md5deep version 3.5</title>
    <published>2009-12-22T12:54:24Z</published>
    <updated>2009-12-22T12:54:24Z</updated>
    <category term="md5deep"/>
    <category term="hashing"/>
    <content type="html">This morning I've published &lt;a href="http://md5deep.sourceforge.net/"&gt;md5deep version 3.5&lt;/a&gt;. This release adds a new feature, the ability to hash a set of files specified in an input file (-f mode), and fixes two bugs. You can download &lt;a href="http://downloads.sourceforge.net/md5deep/md5deep/md5deep-3.5.zip"&gt;Windows executables&lt;/a&gt; or &lt;a href="http://downloads.sourceforge.net/md5deep/md5deep/md5deep-3.5.tar.gz"&gt;the source code&lt;/a&gt; or *nix, OS X, BSD, Cray, Commodore 64, etc.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jessekornblum:254997</id>
    <link rel="alternate" type="text/html" href="http://jessekornblum.livejournal.com/254997.html"/>
    <link rel="self" type="text/xml" href="http://jessekornblum.livejournal.com/data/atom/?itemid=254997"/>
    <title>Caffeinated Crash Course in Computer Forensics</title>
    <published>2009-12-01T19:56:09Z</published>
    <updated>2009-12-01T21:51:28Z</updated>
    <category term="forensics"/>
    <category term="travel"/>
    <category term="geek"/>
    <content type="html">As part of MIT's Independent Activity Period, I'll be giving a two-hour &lt;a href="http://sipb.mit.edu/iap/#forensics"&gt;Caffeinated Crash Course in Computer Forensics&lt;/a&gt; on the MIT campus on Wednesday, January 13th. MIT gives students the whole month of January to do as they please. They can take a fun course, go to &lt;a href="http://web.mit.edu/charm/about.html"&gt;charm school&lt;/a&gt;, or just relax. The &lt;a href="http://sipb.mit.edu/"&gt;Student Information Processing Board&lt;/a&gt; puts on a series of short classes all about computers, programming, and the like. I've agreed to teach a block and hope you can come check it out. The class will run from 6pm-8pm in &lt;a href="http://whereis.mit.edu/?mapterms=66-160&amp;amp;zoom=16&amp;amp;lat=42.360922272091734&amp;amp;lng=-71.08901023864746&amp;amp;open=object-66"&gt;room 66-160&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The course will be a two-hour high-speed, low drag introduction to computer forensics. You'll see what kinds of data can be recovered from various devices found in the real world and in the cloud. There's treasure everywhere! Topics covered include hidden data in office documents, filesystems, flash storage, cell phones, GPS devices (which are mostly Linux boxen, anyway), computer memory (RAM), social networking sites, the Lobby 7 Anomalous Activity Hypothesis, Jesse's Dead Body Theory of Evidence, and the story of FRED. By the end you'll understand information hasn't been destroyed unless the media has been raised to the Curie Point.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jessekornblum:254822</id>
    <link rel="alternate" type="text/html" href="http://jessekornblum.livejournal.com/254822.html"/>
    <link rel="self" type="text/xml" href="http://jessekornblum.livejournal.com/data/atom/?itemid=254822"/>
    <title>Fuzzy Hashing example</title>
    <published>2009-11-15T14:51:26Z</published>
    <updated>2009-11-15T14:51:26Z</updated>
    <category term="fuzzy hashing"/>
    <content type="html">Over at &lt;a href="http://thedigitalstandard.blogspot.com/"&gt;The Digital Standard&lt;/a&gt;, Chris Pogue has written an excellent example of &lt;a href="http://thedigitalstandard.blogspot.com/2009/11/why-fuzzy-hashing-is-really-cool.html"&gt;how fuzzy hashing can be used in computer forensics&lt;/a&gt;. Thanks Chris, and have fun with &lt;a href="http://ssdeep.sf.net/"&gt;fuzzy hashing&lt;/a&gt;!</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jessekornblum:254635</id>
    <link rel="alternate" type="text/html" href="http://jessekornblum.livejournal.com/254635.html"/>
    <link rel="self" type="text/xml" href="http://jessekornblum.livejournal.com/data/atom/?itemid=254635"/>
    <title>When I'm Sixty Four (Bits)</title>
    <published>2009-11-03T12:28:46Z</published>
    <updated>2009-11-03T12:29:31Z</updated>
    <category term="forensics"/>
    <category term="paper"/>
    <content type="html">Sixty-Four bit computing is here! What does that mean? What will the impact be on computer forensics? I've written a tech note, &lt;a href="http://jessekornblum.com/publications/mtn0901.pdf"&gt;&lt;i&gt;When I'm Sixty Four (Bits)&lt;/i&gt;&lt;/a&gt; to explain the changes. (You could also use it as justification for buying some new hardware...) The first paragraph: &lt;blockquote&gt;Forensic examiners are going to have to process computers running 64-bit operating systems in the near future. While this won't affect people doing document forensics, it will require significant changes for those who do code based forensics such as reverse engineering, malware analysis, etc.&lt;/blockquote&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jessekornblum:254238</id>
    <link rel="alternate" type="text/html" href="http://jessekornblum.livejournal.com/254238.html"/>
    <link rel="self" type="text/xml" href="http://jessekornblum.livejournal.com/data/atom/?itemid=254238"/>
    <title>BitLocker To Go, Google Earth Forensics at DoD Cyber Crime Conference</title>
    <published>2009-09-09T14:35:00Z</published>
    <updated>2009-09-09T14:35:38Z</updated>
    <category term="forensics"/>
    <category term="bitlocker"/>
    <category term="crypto"/>
    <category term="travel"/>
    <category term="geek"/>
    <content type="html">I have been selected to give two presentations at &lt;a href="http://www.dodcybercrime.com/10CC/"&gt;2010 DoD Cyber Crime Conference&lt;/a&gt; in January 2010 in St. Louis, MO. Unfortunately &lt;a href="http://blues.nhl.com/"&gt;the St. Louis Blues&lt;/a&gt; will be out of town during the conference. Does anybody have some ideas on what to see and do during the off hours? The &lt;a href="http://www.budweisertours.com/toursSTL.htm"&gt;&lt;strike&gt;Stella Artois&lt;/strike&gt; Anheuser-Busch tour&lt;/a&gt;? The gourmet burger bar? What else?&lt;br /&gt;&lt;br /&gt;My first talk will be on &lt;a href="http://technet.microsoft.com/en-us/windows/dd408739.aspx"&gt;BitLocker To Go&lt;/a&gt;, how Microsoft has extended BitLocker Disk Encryption to removable devices like USB sticks. You can learn how the technology works, how it uses passwords and smart cards, its applications for force protection, and how the protected data can be accessed during forensic examination. The second talk will cover &lt;a href="http://earth.google.com/"&gt;Google Earth&lt;/a&gt; cache file forensics. You'll see what data is in the file, how it's stored, and how it can be viewed. &lt;br /&gt;&lt;br /&gt;Speaking of BitLocker, we discussed the tool in the most recent &lt;a href="http://cyberspeak.libsyn.com/"&gt;CyberSpeak podcast&lt;/a&gt;, published on Monday. The show was recorded live at the SANS What Works in Computer Forensics conference a few months ago. You can listen as Ovie and Bret interview me, &lt;a href="http://windowsir.blogspot.com/"&gt;Harlan Carvey&lt;/a&gt;, Ken Bradley, and Rob Lee on a host of topics.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jessekornblum:254105</id>
    <link rel="alternate" type="text/html" href="http://jessekornblum.livejournal.com/254105.html"/>
    <link rel="self" type="text/xml" href="http://jessekornblum.livejournal.com/data/atom/?itemid=254105"/>
    <title>Hibernation File Signatures</title>
    <published>2009-08-18T20:31:51Z</published>
    <updated>2009-08-18T21:06:40Z</updated>
    <category term="forensics"/>
    <category term="memory analysis"/>
    <content type="html">There are four legal values for the magic value at the start of the Windows hibernation file. This post details the values, &lt;tt&gt;hibr&lt;/tt&gt;, (null), &lt;tt&gt;wake&lt;/tt&gt;, and &lt;tt&gt;link&lt;/tt&gt;, and the circumstances under which they are created. They represent, in order, valid hibernation data, successfully restored hibernation data, unsuccessfully restored hibernation data, and a link to a hibernation file elsewhere. During this work I also found three noteworthy things about the hibernation process.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://sandman.msuiche.net/docs/SandMan_Project.pdf"&gt;file format of the Windows hibernation&lt;/a&gt; file begins with a &lt;a href="http://www.nirsoft.net/kernel_struct/vista/PO_MEMORY_IMAGE.html"&gt;PO_MEMORY_IMAGE structure&lt;/a&gt;. This structure begins with a four byte magic value. Matt Suiche and others have written that &lt;a href="http://www.msuiche.net/pres/PacSec07-slides-0.4.pdf"&gt;this magic field can take on several values&lt;/a&gt;, but only two have been explained. The first value, &lt;tt&gt;hibr&lt;/tt&gt; or &lt;tt&gt;HIBR&lt;/tt&gt; indicates the file contains valid hibernation data. (The uppercase version is found on Windows Vista and later.) The other known value, all zeros, indicates the file has been previously successfully restored. In fact, when the file has been successfully restored, the first 0x1000 bytes of the file should all be zeros.&lt;br /&gt;&lt;br /&gt;The other values thought to be legal in a hibernation file, &lt;tt&gt;wake&lt;/tt&gt; and &lt;tt&gt;link&lt;/tt&gt;, indicate either a failed restore operation or a link to another partition's hiberfil.sys file. This post explains how these methods work and provides methodologies for creating them.&lt;br /&gt;&lt;br /&gt;These experiments were conducted using a VMware Fusion virtual machine running Windows XP Service Pack 3. The system was booted and hibernated normally. The virtual disk was mounted and the hibernation file was recorded. Here's the start of the hiberfil.sys:&lt;pre&gt;0000000: 6869 6272 0000 0000 13f6 0000 a800 0000  hibr............
0000010: 5a5b 0000 0010 0000 0000 0000 0000 0000  Z[..............
0000020: 1aea 39fe 1320 ca01 d431 cc19 0000 0000  ..9.. ...1......
0000030: ff3f 03a0 0200 0000 1000 0000 0000 beff  .?..............
0000040: 00bf 0601 0000 0000 0003 0000 5045 0000  ............PE..
0000050: c6fb 0000 3d84 0000 0300 0000 5584 0000  ....=.......U...
0000060: 8145 839d 0000 0000 58f0 ef1e 0200 0000  .E......X.......
0000070: fe01 9004 0000 0000 797f 0e3f 1900 0000  ........y..?....
0000080: 3409 0000 9304 0000 2100 0000 c70f 0000  4.......!.......
0000090: 482d 0000 3d84 0000 20d4 3908 dd08 0000  H-..=... .9.....
00000a0: 0300 0000 0000 0000 0000 0000 0000 0000  ................&lt;/pre&gt;The virtual machine was restarted and allowed to begin restoring. When the progress bar was just shy of completion the VM was powered off. The virtual disk was mounted again and the hibernation file recorded. The second hibernation file was identical to first except for the first four bytes. Those four bytes had changed from &lt;tt&gt;hibr&lt;/tt&gt; to &lt;tt&gt;wake&lt;/tt&gt;:&lt;pre&gt;0000000: 7761 6b65 0000 0000 13f6 0000 a800 0000  wake............
0000010: 5a5b 0000 0010 0000 0000 0000 0000 0000  Z[..............
0000020: 1aea 39fe 1320 ca01 d431 cc19 0000 0000  ..9.. ...1......
0000030: ff3f 03a0 0200 0000 1000 0000 0000 beff  .?..............
0000040: 00bf 0601 0000 0000 0003 0000 5045 0000  ............PE..
0000050: c6fb 0000 3d84 0000 0300 0000 5584 0000  ....=.......U...
0000060: 8145 839d 0000 0000 58f0 ef1e 0200 0000  .E......X.......
0000070: fe01 9004 0000 0000 797f 0e3f 1900 0000  ........y..?....
0000080: 3409 0000 9304 0000 2100 0000 c70f 0000  4.......!.......
0000090: 482d 0000 3d84 0000 20d4 3908 dd08 0000  H-..=... .9.....
00000a0: 0300 0000 0000 0000 0000 0000 0000 0000  ................&lt;/pre&gt; The VM was again restarted and it displayed a message, "The last attempt to restart the system from its previous location failed. Attempt to restart again?" The options given were "Delete restoration data and proceed to system boot menu" and "Continue with system restart" (&lt;a href="http://jessekornblum.com/img/wake-restore.jpg"&gt;Screenshot&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Researchers attempting to verify this result can also hibernate a system, manually edit the hibernation file while it's powered off, and then restart the system to achieve the same effect. Although this will allow you to see how Windows handles the file, it does not allow you to verify that Windows creates this file.&lt;br /&gt;&lt;br /&gt;The &lt;tt&gt;link&lt;/tt&gt; code allows the system to boot another hibernation file found elsewhere. According to the blog post &lt;a href="http://blogs.msdn.com/ntdebugging/archive/2007/06/28/how-windows-starts-up-part-the-second.aspx"&gt;How Windows Starts Up (Part the Second)&lt;/a&gt; , the link signature should be followed by an ARC path similar to those found in the boot.ini file, like this:&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;linkmulti(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;Note there is no space between the link signature and the ARC path. The ARC path specifies another partition where the bootloader searches for a hiberfil.sys file to restore.&lt;br /&gt;&lt;br /&gt;There are three other noteworthy facts I discovered during this research. First, I found some information on Hibernate Once Restart Many (HORM) mode. This is a feature of Windows XP embedded that allows the system to be booted multiple times using the same hibernation file. HORM mode depends on the Enhanced Write Filter (EWF) which is not included with other editions of Windows XP. There are &lt;a href="http://web.archive.org/web/20071012082424/http://mason.gmu.edu/~sfiorito/eXPinstall.htm"&gt;methods to enable HORM on Windows XP&lt;/a&gt;, but they are cumbersome at best. The best indicator of HORM mode is the presence of a file &lt;tt&gt;resmany.dat&lt;/tt&gt; in the root directory. See also &lt;a href="http://blogs.msdn.com/embedded/archive/2006/11/03/what-is-horm-and-how-can-you-use-it.aspx"&gt;Microsoft's description of HORM&lt;/a&gt; and the &lt;a href="http://msdn.microsoft.com/en-us/library/ms932932%28WinEmbedded.5%29.aspx"&gt;official documentation&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Second, I verified that a Windows system will attempt to parse or even restore the contents of &lt;tt&gt;hiberfil.sys&lt;/tt&gt;, even if Hibernation mode is not enabled in the Control Panel.&lt;br /&gt;&lt;br /&gt;Finally, hibernation is not supported on any Windows XP, Server 2003, Vista, or Server 2008 system with more than 4GB of RAM. See &lt;a href="http://support.microsoft.com/kb/888575/"&gt;http://support.microsoft.com/kb/888575/&lt;/a&gt; for details.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jessekornblum:253772</id>
    <link rel="alternate" type="text/html" href="http://jessekornblum.livejournal.com/253772.html"/>
    <link rel="self" type="text/xml" href="http://jessekornblum.livejournal.com/data/atom/?itemid=253772"/>
    <title>Cached TrueCrypt Passphrases</title>
    <published>2009-08-09T20:09:55Z</published>
    <updated>2009-08-09T20:09:55Z</updated>
    <category term="crypto"/>
    <category term="memory analysis"/>
    <content type="html">Chris Neilson, a senior at the University of Denver, has discovered how &lt;a href="http://www.truecrypt.org/"&gt;TrueCrypt&lt;/a&gt; caches passphrases in memory when the user requests the program to do so. Please note that caching passphrases is not the default behavior, but when the user requests it, here's how they are stored in memory.&lt;br /&gt;&lt;br /&gt;The passphrases appear on a page mostly full of zeros. There's no pattern to the offset inside of a memory page, but there are some zeros usually several dozens, a 32-bit representation of the passphrase length, the passphrase (in ASCII), and more zeros.&lt;br /&gt;&lt;br /&gt;Although my &lt;a href="http://jessekornblum.com/tools/volatility/cryptoscan.py"&gt;cryptoscan plugin&lt;/a&gt; for the &lt;a href="https://www.volatilesystems.com/default/volatility"&gt;Volatility framework&lt;/a&gt; has proven to be ineffective against modern versions of TrueCrypt, it could easily be modified to find these cached passphrases. (Sorry I can't be more helpful and do the work myself, but this would make a great introduction to the Volatility architecture.) Enjoy!</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jessekornblum:253475</id>
    <link rel="alternate" type="text/html" href="http://jessekornblum.livejournal.com/253475.html"/>
    <link rel="self" type="text/xml" href="http://jessekornblum.livejournal.com/data/atom/?itemid=253475"/>
    <title>Last Call for Volatility Bugs Before Release</title>
    <published>2009-07-30T10:43:35Z</published>
    <updated>2009-07-30T10:43:35Z</updated>
    <category term="geek"/>
    <category term="hacking"/>
    <category term="memory analysis"/>
    <content type="html">The &lt;a href="https://www.volatilesystems.com/default/volatility"&gt;Volatility Framework&lt;/a&gt; is looking to wrap up our month-long call for bugs before the next official release. The framework is a great way to experiment with memory forensics on Windows XP systems and I recommend it for anybody interested in this new field. You can grab the last official release, &lt;a href="https://www.volatilesystems.com/default/volatility#download"&gt;Version 1.3 Beta 1&lt;/a&gt; from the web site or the latest code (patched yesterday!) directly from &lt;a href="http://code.google.com/p/volatility/"&gt;http://code.google.com/p/volatility/&lt;/a&gt; before the final release next week. &lt;br /&gt;&lt;br /&gt;If you find something that should be fixed, please either leave a comment here or write to the &lt;a href="http://lists.volatilesystems.com/mailman/listinfo/vol-dev"&gt;developers mailing list&lt;/a&gt;. We appreciate the feedback and are looking forward to big release Real Soon Now&lt;sup&gt;TM&lt;/sup&gt;.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jessekornblum:253356</id>
    <link rel="alternate" type="text/html" href="http://jessekornblum.livejournal.com/253356.html"/>
    <link rel="self" type="text/xml" href="http://jessekornblum.livejournal.com/data/atom/?itemid=253356"/>
    <title>Fuzzy Hashing version 2.2</title>
    <published>2009-07-22T01:58:12Z</published>
    <updated>2009-07-22T01:58:12Z</updated>
    <category term="hashing"/>
    <category term="fuzzy hashing"/>
    <content type="html">Good news everybody! I've published a new version of the &lt;a href="http://ssdeep.sf.net"&gt;ssdeep program for fuzzy hashing&lt;/a&gt;. The new version adds a long-requested feature: the capability to compare files of previously generated signatures. That is, let's say you compute some lists of fuzzy hashes like this:&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;C:\&amp;gt; ssdeep -r C: &amp;gt; list1.txt&lt;br /&gt;C:\&amp;gt; ssdeep -r D:\Malware Samples &amp;gt; list2.txt&lt;br /&gt;C:\&amp;gt; ssdeep -r E:\Temp\New Malware &amp;gt; list3.txt&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;You can now find any similar files in those two lists like this:&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;C:\&amp;gt; ssdeep -x list1.txt list2.txt list3.txt&lt;br /&gt;list1:C:\Windows\System32\ntoskrn1.exe matches list2:D:\Malware  Samples\VIRUS.EXE (83)&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;Notice the filename of the known hashes is given in the output along with the matching filenames.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jessekornblum:253092</id>
    <link rel="alternate" type="text/html" href="http://jessekornblum.livejournal.com/253092.html"/>
    <link rel="self" type="text/xml" href="http://jessekornblum.livejournal.com/data/atom/?itemid=253092"/>
    <title>Volatility Call for Bugs</title>
    <published>2009-07-05T16:38:05Z</published>
    <updated>2009-07-05T16:38:05Z</updated>
    <category term="hacking"/>
    <category term="memory analysis"/>
    <content type="html">We are aiming to release a new version of the &lt;a href="https://www.volatilesystems.com/default/volatility/"&gt;Volatility Framework for memory analysis&lt;/a&gt; at the start of August 2009. Although no software is ever perfect, we'd like to publish the best possible code. As such, we're asking everybody to please test out the current version and tell us about any bugs they find.&lt;br /&gt;&lt;br /&gt;The code is available on the &lt;a href="http://code.google.com/p/volatility/"&gt;Volatility homepage on Google Code&lt;/a&gt;. As noted on their site, you can download the latest version using Subversion as follows:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;svn checkout &lt;a href="http://volatility.googlecode.com/svn/trunk/"&gt;http://volatility.googlecode.com/svn/trunk/&lt;/a&gt; volatility-read-only&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;You can download some sample memory images from &lt;a href="http://www.cfreds.nist.gov/mem/Basic_Memory_Images.html"&gt;NIST&lt;/a&gt; or &lt;a href="https://cid-5694a755c9c6a175.skydrive.live.com/browse.aspx/Public"&gt;hogfly's memory exemplar project&lt;/a&gt;, but please feel free to test the framework with your own memory images. Lots of testing has been done with the above images, so the best way to find new bugs is with new memory images! Remember the framework only supports Windows XP Service Pack 2 and 3.&lt;br /&gt;&lt;br /&gt;When you find a bug, you can post a comment here, visit the developers on IRC at #Volatility on freenode.net, or write to the &lt;a href="http://lists.volatilesystems.com/mailman/listinfo/vol-dev"&gt;developer's mailing list&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Even better than finding a bug is fixing one! By all means please take a stab at fixing whatever problems you find. The best way to submit patches is to make  changes to the checked out code and generate a patch file. You can create a patch file like this:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;svn diff &amp;gt; mypatches &lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Here's an &lt;a href="http://lists.volatilesystems.com/pipermail/vol-dev/2009-July/000040.html"&gt;example patch to let Volatility run on big-endian systems&lt;/a&gt;. Good hunting!</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jessekornblum:252882</id>
    <link rel="alternate" type="text/html" href="http://jessekornblum.livejournal.com/252882.html"/>
    <link rel="self" type="text/xml" href="http://jessekornblum.livejournal.com/data/atom/?itemid=252882"/>
    <title>DoD Cyber Crime deadline extended</title>
    <published>2009-06-29T21:45:15Z</published>
    <updated>2009-06-29T21:45:15Z</updated>
    <category term="travel"/>
    <content type="html">It's beginning to become standard operating procedure, but the &lt;a href="http://www.dodcybercrime.com/10cc/speakerzone.asp"&gt;deadline for submissions for the 2010 DoD Cyber Crime Conference&lt;/a&gt; has been extended until 1 August. &lt;br /&gt;&lt;br /&gt;As you can see from the &lt;a href="http://www.dodcybercrime.com/9cc/call_for_papers.asp"&gt;2009 conference&lt;/a&gt; and &lt;a href="http://www.dodcybercrime.com/8cc/call_for_papers.asp"&gt;2008 conference&lt;/a&gt;, the deadline has been extended at least once each year. While I appreciate the difficulty of vetting and scheduling so many talks, maybe they could just make the initial deadline a little later? Submitting a talk six months in advance makes it extremely difficult to present something truly cutting edge.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jessekornblum:252533</id>
    <link rel="alternate" type="text/html" href="http://jessekornblum.livejournal.com/252533.html"/>
    <link rel="self" type="text/xml" href="http://jessekornblum.livejournal.com/data/atom/?itemid=252533"/>
    <title>Windows Internals 5th Edition published</title>
    <published>2009-06-29T13:23:01Z</published>
    <updated>2009-06-29T13:23:01Z</updated>
    <category term="geek"/>
    <category term="books"/>
    <category term="memory analysis"/>
    <content type="html">&lt;a href="http://www.powells.com/partner/28294/biblio/9780735625303"&gt;&lt;i&gt;Windows Internals 5th edition&lt;/i&gt;&lt;/a&gt; has been published! I &lt;a href="http://jessekornblum.livejournal.com/236165.html"&gt;first wrote about this book&lt;/a&gt; in January &lt;em&gt;2008&lt;/em&gt;, so it's only 18 months behind schedule. The book is the latest edition of the fantastic Microsoft Windows Internals books by Mark Russinovich and David Solomon. If you want to know what's going on under the hood with Windows to a ridiculous level, read this book!</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jessekornblum:252320</id>
    <link rel="alternate" type="text/html" href="http://jessekornblum.livejournal.com/252320.html"/>
    <link rel="self" type="text/xml" href="http://jessekornblum.livejournal.com/data/atom/?itemid=252320"/>
    <title>Looking back on sample memory images</title>
    <published>2009-06-12T11:09:15Z</published>
    <updated>2009-06-12T11:09:15Z</updated>
    <category term="memory analysis"/>
    <content type="html">Four years after posting &lt;a href="http://www.cfreds.nist.gov/mem/Basic_Memory_Images.html"&gt;sample memory images&lt;/a&gt; I am proud of my decision, glad to have given researchers a common data set to work with, and heartened by the community's respect for my privacy.&lt;br /&gt;&lt;br /&gt;Back in the summer of 2005 the only publicly available memory images were the two from the &lt;a href="http://dfrws.org/2005/challenge/"&gt;DFRWS Memory Analysis Challenge&lt;/a&gt;. Partially inspired by the challenge, I decided to publish a set of standard memory images for researchers. The idea was to create a common data set we could all use. When somebody developed a new technique, they could explain the method and show the results of using it on the common data set. Other researchers could repeat the method on the same data and then critique the method.&lt;br /&gt;&lt;br /&gt;I posted a set of five memory images. Three of them were from a test system and contained no real data. They were just a clean operating system install booted up. The last two of the images, however, xp-laptop-2005-06-25 and xp-laptop-2005-07-04, were memory images from a computer that had been used in the real world. The system, a laptop borrowed from a friend, was being used by S&amp;mdash; for schoolwork.&lt;br /&gt;&lt;br /&gt;At the time I thought about the risks of posting data from a machine S&amp;mdash; and my friend had been using, but my conclusion was "I've rebooted the machine and only my data should be in RAM." &lt;br /&gt;&lt;br /&gt;Oh, how wrong I was.&lt;br /&gt;&lt;br /&gt;There has been an astounding amount of memory analysis research since that summer. We've developed methods to recover amazing things. Network packets, connection information, hidden processes, handle tables, hooked tables, entire executables, malicious code samples, and more. We should be especially thankful to &lt;a href="http://moyix.blogspot.com/"&gt;moyix&lt;/a&gt; for &lt;a href="http://www.cc.gatech.edu/~brendan/volatility/"&gt;his work on examining the Windows Registry in memory images&lt;/a&gt;. The registry contains a gold mine of forensic information such as password hashes, SSIDs from wireless networks and information about USB devices. &lt;br /&gt;&lt;br /&gt;I'm singling out moyix for an important reason. When he first discovered the easily crackable password hashes in my memory images, he contacted me before publishing anything. He gave me a chance to protect myself. I appreciated the heads up, and while I would never ask anybody to withold publication, his pause helped keep me and S&amp;mdash; safe.&lt;br /&gt;&lt;br /&gt;Interesting side note about SSIDs and how forensic analysis has its limits. Cached SSIDs are stored in the registry hive labeled &lt;tt&gt;\WINDOWS\system32\config\software&lt;/tt&gt;. For example, in the &lt;a href="http://kurtz.cs.wesleyan.edu/~bdolangavitt/memory/xp-laptop-2005-07-04_hives.txt"&gt;xp-laptop-2005-07-04 memory image&lt;/a&gt; it's at offset 0xe1658b60. In that hive, look at the key &lt;tt&gt;Microsoft\WZCSVC\Parameters\Interfaces&lt;/tt&gt;. You'll see some entries that are GUIDs. Looking at the values under those GUIDs reveals some binary data that contains the SSIDs.&lt;br /&gt;&lt;br /&gt;In those SSID entries you'll find an entry "Mayorga". A Bing search&lt;a href="#f1"&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt; reveals the &lt;a href="http://www.mayorgacoffee.com/"&gt;Mayorga Coffee Factory&lt;/a&gt; . Although not &lt;a href="http://en.wikipedia.org/wiki/Direct_evidence"&gt;direct evidence&lt;/a&gt; that I was at the Mayorga, it's definitely &lt;a href="http://en.wikipedia.org/wiki/Circumstantial_evidence"&gt;circumstantial&lt;/a&gt;. As a point of fact, however, I never went to the Mayorga coffee house before July 2005. The SSID could either be a remnant of the machine's owner or a red herring. There's nothing that prevents any access point from being named "Mayorga". &lt;br /&gt;&lt;br /&gt;Posting my memory images unquestionably helped other researchers advance the field. The images gave them live data to experiment with and a method for others to verify their results. My heart still skips a beat every time I hear somebody has found a new kind of data in those memory images, but I'm confident the next person to make a major advance will talk to me before publishing anything.&lt;br /&gt;&lt;br /&gt;In a similar vein, I urge others to post live data sets for research, but &lt;em&gt;please be careful&lt;/em&gt;. Once you post something to the Internet &lt;a href="http://www.digitaltoast.co.uk/gallery/v/funnies/why/"&gt;you can never ever ever make it go away&lt;/a&gt;. There are probably data in my memory images we can't even conceive of yet, and analysis techniques always improve.&lt;br /&gt;&lt;br /&gt;If you haven't already, check out the &lt;a href="http://forensicir.blogspot.com/2009/03/memory-snapshot-project.html"&gt;memory snapshot project&lt;/a&gt; (&lt;a href="https://cid-5694a755c9c6a175.skydrive.live.com/browse.aspx/Public"&gt;files&lt;/a&gt;). Hogfly is posting memory images from systems infected with live malware. While I applaud Hogfly's efforts, I don't think the systems are running with live data. That is, the malware is the &lt;em&gt;only&lt;/em&gt; thing running on the system, making it easy to see. In an ideal world I'd like to see memory images from a system with real-world data that has malware on it. &lt;em&gt;That&lt;/em&gt; would make for good research and training! &lt;br /&gt;&lt;br /&gt;At this point, however, things get more complicated. Nobody should post memory images with data from people who haven't consented. But how much consent is needed? Is data posted publicly on the web free to use? My memory images contained pages from the &lt;em&gt;New York Times&lt;/em&gt;, which is probably fine. But what about something posted to LiveJournal or Facebook? Email messages? Mailing list posts? Whatever you do, please be responsible.&lt;br /&gt;&lt;br /&gt;&lt;span&gt;1. Yes, a Bing search. A researcher always tries out new things.&lt;/span&gt; &lt;br&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jessekornblum:252108</id>
    <link rel="alternate" type="text/html" href="http://jessekornblum.livejournal.com/252108.html"/>
    <link rel="self" type="text/xml" href="http://jessekornblum.livejournal.com/data/atom/?itemid=252108"/>
    <title>md5deep version 3.4</title>
    <published>2009-06-10T21:42:32Z</published>
    <updated>2009-06-10T21:42:32Z</updated>
    <category term="md5deep"/>
    <category term="hashing"/>
    <content type="html">I've released version 3.4 of &lt;a href="http://md5deep.sourceforge.net/"&gt;md5deep&lt;/a&gt;. This is a bug-fix release and addresses two serious problems. First, there was a memory leak while processing directories on Windows. Second, the &lt;a href="http://md5deep.sourceforge.net/getting-started.html#advmatch"&gt;-n mode, or Unused hashes mode&lt;/a&gt; has been fixed. My apologies for the errors.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jessekornblum:251825</id>
    <link rel="alternate" type="text/html" href="http://jessekornblum.livejournal.com/251825.html"/>
    <link rel="self" type="text/xml" href="http://jessekornblum.livejournal.com/data/atom/?itemid=251825"/>
    <title>Conference Updates</title>
    <published>2009-06-03T16:58:36Z</published>
    <updated>2009-06-03T16:58:36Z</updated>
    <category term="forensics"/>
    <category term="travel"/>
    <content type="html">The Call for Papers is open for the &lt;a href="http://www.dodcybercrime.com/10cc/speakerzone.asp"&gt;2010 DoD Cyber Crime Conference&lt;/a&gt;. Don't be late; abstracts are due on July 1st! &lt;br /&gt;&lt;br /&gt;Also, don't forget about the &lt;a href="http://forensics.sans.org/summit09/"&gt;SANS Computer Forensics Summit&lt;/a&gt; in early July. Yours truly will be on the &lt;a href="http://www.sans.org/forensics09_summit/agenda.php"&gt;Essential Forensic Tools&lt;/a&gt;. See you there!</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jessekornblum:251540</id>
    <link rel="alternate" type="text/html" href="http://jessekornblum.livejournal.com/251540.html"/>
    <link rel="self" type="text/xml" href="http://jessekornblum.livejournal.com/data/atom/?itemid=251540"/>
    <title>Essential Tools Panel at SANS Forensic Summit</title>
    <published>2009-04-20T17:43:29Z</published>
    <updated>2009-04-20T17:43:29Z</updated>
    <category term="forensics"/>
    <content type="html">I've been selected to present as part of the &lt;a href="http://www.sans.org/forensics09_summit/"&gt;Essential Tools Panel&lt;/a&gt; of the &lt;a href="http://www.sans.org/forensics09_summit/agenda.php"&gt;SANS Forensics Summit 2009&lt;/a&gt;. I'll be presenting on which tools I use regularly and why. With me on the panel are Troy Larson from Microsoft, Mark McKinnon, and Lance Mueller. It should be a great talk. Be there or be square!</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jessekornblum:251136</id>
    <link rel="alternate" type="text/html" href="http://jessekornblum.livejournal.com/251136.html"/>
    <link rel="self" type="text/xml" href="http://jessekornblum.livejournal.com/data/atom/?itemid=251136"/>
    <title>md5deep version 3.3</title>
    <published>2009-04-04T13:57:05Z</published>
    <updated>2009-04-04T13:57:05Z</updated>
    <category term="md5deep"/>
    <category term="hashing"/>
    <content type="html">This morning I posted &lt;a href="http://md5deep.sourceforge.net/"&gt;md5deep&lt;/a&gt; version 3.3. This is a bug-fix release intended to address two issues on Microsoft Windows. First, the program can now handle 64-bit timestamps, which previously could have caused a crashed. Second, the program now skips all reparse points (e.g. junction points, symbolic links, etc). There come up often on Windows Vista and Windows 7 and can cause a lot of extra work for the program. The resulting code is not perfect, someday the user should be able to control the recursion process, but it's better this way than before. Enjoy!</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jessekornblum:251110</id>
    <link rel="alternate" type="text/html" href="http://jessekornblum.livejournal.com/251110.html"/>
    <link rel="self" type="text/xml" href="http://jessekornblum.livejournal.com/data/atom/?itemid=251110"/>
    <title>Fuzzy Hashing in FTK</title>
    <published>2009-03-27T02:47:08Z</published>
    <updated>2009-03-27T02:47:08Z</updated>
    <category term="nifty"/>
    <category term="fuzzy hashing"/>
    <content type="html">So apparently I've been asleep at the switch. &lt;a href="http://ssdeep.sf.net/"&gt;Fuzzy hashing&lt;/a&gt; has been incorporated into &lt;a href="http://www.accessdata.com/"&gt;AccessData's&lt;/a&gt; flagship &lt;a href="http://www.accessdata.com/forensictoolkit.html"&gt;Forensic Toolkit&lt;/a&gt;! Not only have they added the feature but they've also written a great &lt;a href="http://www.accessdata.com/downloads/media/Fuzzy_Hashing_for_Investigators.pdf"&gt;paper describing fuzzy hashing and how it works in FTK&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Now I know what some of you are thinking. How did AccessData include fuzzy hashing, which is licensed under the &lt;a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"&gt;GPL2&lt;/a&gt;, in a proprietary program like FTK? Well, to tell you the truth, in all this excitement I kind of lost track myself. (Wait... wrong speech.) &lt;br /&gt;&lt;br /&gt;I think AccessData rewrote fuzzy hashing. The edit distance code, for example, has been replaced with some database calls. I don't know how they're computing the rolling and FNV hashes, but if they took the time to rewrite the edit distance code they probably rewrote the rest too. The edit distance code dates back to 1989 and was last updated in 1993. There's no sense in rewriting something that's been working for fifteen years unless you absolutely must.&lt;br /&gt;&lt;br /&gt;Regardless, go forth and be fuzzy!</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jessekornblum:250785</id>
    <link rel="alternate" type="text/html" href="http://jessekornblum.livejournal.com/250785.html"/>
    <link rel="self" type="text/xml" href="http://jessekornblum.livejournal.com/data/atom/?itemid=250785"/>
    <title>Suspicious Plugin Broken</title>
    <published>2009-03-03T14:54:06Z</published>
    <updated>2009-03-03T14:54:06Z</updated>
    <category term="memory analysis"/>
    <content type="html">Several people have written to me asking about the Suspicious plugin I posted a while back. Unfortunately I'm not sure what's going wrong. There is some kind of conflict with the existing plugins, but I haven't been able to figure it out. Sorry!</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jessekornblum:250520</id>
    <link rel="alternate" type="text/html" href="http://jessekornblum.livejournal.com/250520.html"/>
    <link rel="self" type="text/xml" href="http://jessekornblum.livejournal.com/data/atom/?itemid=250520"/>
    <title>Fixing the 'suspicious.py' Volatility module</title>
    <published>2009-02-14T16:06:57Z</published>
    <updated>2009-02-14T19:10:31Z</updated>
    <category term="hacking"/>
    <category term="memory analysis"/>
    <content type="html">Several people have asked about the following error when using the &lt;a href="http://jessekornblum.livejournal.com/246616.html"&gt;suspicious.py&lt;/a&gt; plugin for Volatility: &lt;br /&gt;&lt;pre&gt;Traceback (most recent call last):
  File "volatility", line 219, in &lt;module&gt;
    main()
  File "volatility", line 201, in main
    MemoryRegistry.Init()
  File "/Users/jessek/Volatility-1.3_Beta/forensics/registry.py", line 269, in Init
    OBJECT_CLASSES = VolatilityObjectRegistry(object2.Object)
  File "/Users/jessek/Volatility-1.3_Beta/forensics/registry.py", line 244, in __init__
    raise Exception("Object %s has already been defined by %s" % (obj,self.objects[obj]))
Exception: Object _EPROCESS has already been defined by class 'example3._eprocess'="&amp;#39;example3._EPROCESS&amp;#39;"&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The error is caused by a collision of the &lt;tt&gt;_EPROCESS&lt;/tt&gt; object in suspicious.py and example3.py. The easiest way to solve the problem is to remove example3.py from the memory_plugins directory.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jessekornblum:250204</id>
    <link rel="alternate" type="text/html" href="http://jessekornblum.livejournal.com/250204.html"/>
    <link rel="self" type="text/xml" href="http://jessekornblum.livejournal.com/data/atom/?itemid=250204"/>
    <title>Revised journal articles on BitLocker, Buffalo</title>
    <published>2009-02-05T05:10:13Z</published>
    <updated>2009-02-05T05:10:13Z</updated>
    <category term="bitlocker"/>
    <category term="nifty"/>
    <category term="memory analysis"/>
    <content type="html">&lt;a href="http://i44.tinypic.com/28aki86.jpg"&gt;Good news everyone!&lt;/a&gt; Thanks to a revised legal agreement from the journal &lt;i&gt;&lt;a href="http://www.elsevier.com/locate/diin"&gt;Digital Investigation&lt;/a&gt;&lt;/i&gt; I have been able to publish the edited versions of my papers &lt;a href="http://jessekornblum.com/publications/di09.html"&gt;Implementing BitLocker Drive Encryption for Forensic Analysis&lt;/a&gt; and &lt;a href="http://jessekornblum.com/publications/di07.html"&gt;Using Every Part of the Buffalo in Windows Memory Analysis&lt;/a&gt;. Although there isn't much new content in the latter, the former was almost entirely rewritten between its original submission and the present form. Enjoy!</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jessekornblum:250084</id>
    <link rel="alternate" type="text/html" href="http://jessekornblum.livejournal.com/250084.html"/>
    <link rel="self" type="text/xml" href="http://jessekornblum.livejournal.com/data/atom/?itemid=250084"/>
    <title>Slides from DoD Cyber Crime 2009</title>
    <published>2009-01-31T14:13:05Z</published>
    <updated>2009-01-31T14:13:05Z</updated>
    <category term="bitlocker"/>
    <category term="crypto"/>
    <category term="memory analysis"/>
    <content type="html">As promised, a version of the slides from my talk, &lt;a href="http://jessekornblum.com/presentations/dodcc09.html"&gt;Practical Methods for Dealing with Full Disk Encryption&lt;/a&gt; at the &lt;a href="http://www.dodcybercrime.com/9CC/"&gt;2009 DoD Cyber Crime Conference&lt;/a&gt; is now online. I've redacted the law enforcement sensitive material. Enjoy!</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jessekornblum:249714</id>
    <link rel="alternate" type="text/html" href="http://jessekornblum.livejournal.com/249714.html"/>
    <link rel="self" type="text/xml" href="http://jessekornblum.livejournal.com/data/atom/?itemid=249714"/>
    <title>md5deep version 3.2 with CSV mode</title>
    <published>2009-01-25T16:15:07Z</published>
    <updated>2009-01-25T16:15:07Z</updated>
    <category term="hashing"/>
    <content type="html">This morning I've publishing version 3.2 of the &lt;a href="http://md5deep.sourceforge.net/"&gt;md5deep/hashdeep suite&lt;/a&gt;. Although there are several important bug fixes in this release, I've also added a new feature, comma separated values mode (CSV) for md5deep. This feature has been requested every so often and I've finally added it. You can see the complete &lt;a href="http://md5deep.sourceforge.net/changes.txt"&gt;list of changes&lt;/a&gt; before downloading the &lt;a href="http://downloads.sourceforge.net/md5deep/md5deep-3.2.zip"&gt;Windows version&lt;/a&gt; or &lt;a href="http://downloads.sourceforge.net/md5deep/md5deep-3.2.tar.gz"&gt;source code&lt;/a&gt;.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jessekornblum:249358</id>
    <link rel="alternate" type="text/html" href="http://jessekornblum.livejournal.com/249358.html"/>
    <link rel="self" type="text/xml" href="http://jessekornblum.livejournal.com/data/atom/?itemid=249358"/>
    <title>List of Volatility plugins</title>
    <published>2009-01-15T23:24:08Z</published>
    <updated>2009-01-17T13:06:40Z</updated>
    <category term="memory analysis"/>
    <category term="volatility"/>
    <content type="html">I'm creating a &lt;a href="http://www.forensicswiki.org/wiki/List_of_Volatility_Plugins"&gt;list of the plugins for the Volatility memory analysis framework&lt;/a&gt; over on the &lt;a href="http://www.forensicswiki.org/"&gt;Forensics Wiki&lt;/a&gt;. If you've written a plugin, please add it to the list!</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:jessekornblum:249104</id>
    <link rel="alternate" type="text/html" href="http://jessekornblum.livejournal.com/249104.html"/>
    <link rel="self" type="text/xml" href="http://jessekornblum.livejournal.com/data/atom/?itemid=249104"/>
    <title>Using Fuzzy Hashing from C#</title>
    <published>2009-01-14T17:33:52Z</published>
    <updated>2009-01-15T23:05:26Z</updated>
    <category term="fuzzy hashing"/>
    <category term="hacking"/>
    <content type="html">Recently &lt;a href="http://ssdeep.sf.net/"&gt;ssdeep&lt;/a&gt; user Jose Cintron wanted to use fuzzy hashing in a C# program. After some significant head scratching he came up with the following code necessary to use at least part of the DLL from his program:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;using System.Runtime.InteropServices;	// Needed for DllImport

public class ssdeepWrapper
{
     // fuzzy.dll should be somewhere in the path or specify exactly
     // where to find it.
     [DllImport("fuzzy.dll")]
         public static extern int fuzzy_hash_filename(string fname, 
StringBuilder result);
     [DllImport("fuzzy.dll")]
         public static extern int fuzzy_compare(string sig1, string sig2);
}&lt;/pre&gt;Any thoughts? Has anybody else tried using fuzzy hashing from a different language?</content>
  </entry>
</feed>
