Difference between pages "Windows" and "Tools:Visualization"

From ForensicsWiki
(Difference between pages)
Jump to: navigation, search
 
m
 
Line 1: Line 1:
{{Expand}}
+
Although not strictly for forensic purposes, '''visualization tools''' such as the ones discussed here can be very useful for visualizing large data sets. As forensic practitioners need to process more and more data, it is likely that some of the techniques implemented by these tools will need to be adopted.
  
'''Windows''' is a widely-spread [[operating system]] from [[Microsoft]].
+
==Programming Languages and Developer Toolkits==
 +
If you are building forensic tools, you probably want to start with one of these:
 +
===Java===
 +
: Advantage: Portable and lots of good documentation out there.
 +
: Disadvantage: Programs are a bit verbose, and only offers about 1/2 the performance of C
 +
* [http://csbi.sourceforge.net/index.html Graph Interface Library (GINY)] - Java
 +
* [http://hypergraph.sourceforge.net/ HyperGraph] - Hyperbolic trees, in Java. Check out the home page. Try clicking on the logo...
 +
* [http://ivtk.sourceforge.net/ InfoViz Toolkit] - Java, originally developed at [[INRA]].
 +
* [https://jdigraph.dev.java.net/ Jdigrah] - Java Directed Graphs.
 +
* [http://jgrapht.sourceforge.net/ JGraphT] - A Java visualization kit designed to be simple and extensible.
 +
* [http://prefuse.sourceforge.net/ Perfuse] - A Java-based toolkit for building interactive information visualization applications
 +
* [http://www.ssec.wisc.edu/~billh/visad.html#intro VisAD] - A Java component library for interactive and collaborative visualization.
 +
* [http://www.softwaresecretweapons.com/jspwiki/Wiki.jsp?page=LinguineMaps Linguine Maps] - An open-source Java-based system for visualizing software call maps.
 +
* [http://zvtm.sourceforge.net/index.html Zoomable Visual Transformation Machine] - Java. Originally started at Xerox Research Europe.
 +
* [http://openmap.bbn.com/ OpenMap] A Java-based Geographical Information System framework, from [[BBN]].
  
There are 2 main branches of Windows:
+
===Python===
* the DOS-branch: i.e. Windows 95, 98, ME
+
: Advantage: Portable
* the NT-branch: i.e. Windows NT 4, XP, Vista
+
: Disadvantage: Python is one of the slowest modern languages around and doesn't work well with big data sets.
 +
* Python with Tk
 +
* Python with matplotlib
 +
* Python with wxWidgets (not installed by default)
 +
* [http://networkx.lanl.gov/ NetworkX], a pure Python network layout program which uses matplotlib to do the actual graphing.
  
== Features ==
+
===Processing.org===
* Basic and Dynamic Disks, see: [http://msdn.microsoft.com/en-us/library/windows/desktop/aa363785(v=vs.85).aspx]
+
: Advantage: Programming language specifically developed for visualization; compiles to java byte code
 +
: Disadvantage: Very oddball
 +
[http://processing.org processing.org] and
  
=== Introduced in Windows NT ===
 
* [[NTFS]]
 
  
=== Introduced in Windows 2000 ===  
+
===JavaScript===
 +
Browsers are now very fast and there are a large number of data plotting systems built on JavaScript. Check out:
 +
* [http://processingjs.org processingjs.org]
 +
* [http://highcharts.com/ Highcharts JS]
 +
* [http://mbostock.github.com/d3/ D3 - Data Driven Documents] - A visualization library for the Web.
 +
* [http://key-lines.com KeyLines] - Commercially licensed visualization library for networks/graphs.
  
=== Introduced in Windows XP ===
+
===C/C++===
* [[Prefetch]]
+
* [http://www.vtk.org/ The Visualization Toolkit] - C++ multi-platform with interfaces available for Tcl/Tk, Java and Python.
* System Restore (Restore Points); also present in Windows ME
+
  
==== SP2 ====
+
== Applications ==
* Windows Firewall
+
Most of these applications can be used to do visualization
  
=== Introduced in Windows 2003 (Server) ===
+
; Crystal Space 3D
* Volume Shadow Copies
+
  
=== Introduced in Windows Vista ===
+
; Panda#D
* [[BitLocker Disk Encryption | BitLocker]]
+
* [[Windows Desktop Search | Search]] integrated in operating system
+
* [[SuperFetch]]
+
* [[NTFS|Transactional NTFS (TxF)]]
+
* [[Windows NT Registry File (REGF)|Transactional Registry (TxR)]]
+
* [[Windows Shadow Volumes|Shadow Volumes]]; the volume-based storage of the Volume Shadow Copy data
+
* $Recycle.Bin
+
* [[Windows XML Event Log (EVTX)]]
+
* [[User Account Control (UAC)]]
+
  
=== Introduced in Windows 2008 (Server) ===  
+
===Data Plotting Applications===
 +
* http://ploticus.sourceforge.net
 +
* http://www.gnuplot.info/
 +
* http://tulip.labri.fr/TulipDrupal/
  
=== Introduced in Windows 7 ===
+
===Graph and (Social) Network Visualization===
* [[BitLocker Disk Encryption | BitLocker To Go]]
+
* [http://www.cytoscape.org/ Cytoscape] - Cytoscape is an open source software platform for visualizing complex networks and integrating these with any type of attribute data.
* [[Jump Lists]]
+
* [http://www.graphviz.org/ Graphviz] - Originally developed by the [http://public.research.att.com/areas/visualization/ AT&T Information Visualization Gorup], designed for drawing connected graphs of nodes and edges. Neato is a similar system but does layout based on a spring model. Can produce output as [[PostScript]], [[PNG]], [[GIF]], or as an annotated graph file with the locations of all of the objects — ideal for drawing in a GUI. Runs from the command line on [[Unix]], [[Windows]] and [[Mac]], although there is also a [http://www.pixelglow.com/graphviz/ MacOS GUI version].
* [[Sticky Notes]]
+
* [http://www.codeplex.com/nodexl NodeXL] - Free/open excel add-in extends the spreadsheet with network metrics and visualizations. (Only runs on Windows)
 +
* [http://gephi.org/ Gephi] -Gephi is an interactive visualization and exploration platform for all kinds of networks and complex systems, dynamic and hierarchical graphs
  
=== Introduced in Windows 8 ===
+
* http://projects.skewed.de/graph-tool/ - graph-tool is an efficient python module for manipulation and statistical analysis of graphs (a.k.a. networks).
* [[Windows Shadow Volumes | File History]]
+
* http://igraph.sourceforge.net/ - Integrates with R.
* [[Windows Storage Spaces | Storage Spaces]]
+
* http://socnetv.sourceforge.net/ - "Social Networks Visualizer (SocNetV) is a flexible and user-friendly tool for the analysis and visualization of Social Networks."
* [[Resilient File System (ReFS)]]; server edition will likely be available in Windows Server 2012
+
* [https://sites.google.com/site/netdrawsoftware/home NetDraw] - "a free program written by Steve Borgatti for visualizing both 1-mode and 2-mode social network data."
 +
* [http://pajek.imfm.si/doku.php Pajek] - Windows program for drawing large networks.
 +
* [http://sourceforge.net/projects/sonia/ Social Network Image Animator (SoNIA)] - Originally developed at Stanford. Written in Java. Makes movies.
 +
* [http://www.caida.org/tools/visualization/walrus/ Walrus] - A 3-d graph network exploration tool. Employs 3D hyperbolic displays and layout based on a user-supplied spanning tree.
 +
* [http://afterglow.sf.net AfterGlow] - A tool to simplify the generation of network graphs in GraphViz, Gephi, etc.  Designed for security visualizations.
 +
* http://tulip.labri.fr/TulipDrupal/ - Tulip is an information visualization framework dedicated to the analysis and visualization of relational data.
  
== Forensics ==
+
See also: http://en.wikipedia.org/wiki/Social_network_analysis_software
  
=== Partition layout ===
+
Reas govisual diagram editor
Default partition layout, first partition starts:
+
reas.com
* at sector 63 in Windows 2000, XP, 2003
+
gdf.net
* at sector 2048 in Windows Vista, 2008, 7
+
  
=== Filesystems ===
 
* [[FAT]], [[FAT|exFAT]]
 
* [[NTFS]]
 
* [[Resilient File System (ReFS) | ReFS]]
 
  
=== Recycle Bin ===
+
=== Commercial Graphic Applications and Tools===
  
==== RECYCLER ====
+
* [http://www.aisee.com/ aiSee Graph Layout Software] - Supports 15 layout algorithms, recursive graph nesting, and easy printing. Runs on [[Windows]], [[Linux]], [[Solaris]], [[NetBSD]], and [[MacOS]]. 30-day trial and free registered versions available. Academic pricing available.
Used by Windows 2000, XP.
+
*  [http://www.geomantics.com/ Geomantics] - Geographical, Visualization and Graphics software. Runs on [[Windows]].
Uses INFO2 file.
+
* [http://www.kylebank.com/ Graphis 2D and 3D graphing software] - Runs on [[Windows]]. Free 30-day evaluation copy available.
 +
* [http://www.openviz.com/ OpenViz] and  [http://www.powerviz.com/ PowerViz] - Both from Advanced Visual Systems, super high-end visualization toolkits. $$$$
 +
* [http://www.tomsawyer.com/ Tom Sawyer Software] Analysis, Visualizaiton, and Layout programs. - Heavy support for drawing graphs. Beautiful gallery. ActiveX, Java, C++ and .NET editions.
 +
* [http://www.netminer.com/ NetMiner] - A comprehensive tool for Social Network Analysis. Runs on Windows, with a Linux version under development. $35 for "Express" student version, $250 for "Professional" student version, $950 for "Normal" "Professional" version.
 +
* [http://www.analytictech.com/ucinet.htm UCINET] - A comprehensive package for the analysis of social network data as well as other 1-mode and 2-mode data.
 +
* [http://www.clarifiednetworks.com/logster Logster] - an ultra-easy software tool to visualize Apache-style logs on a world map.
 +
* [http://www.clarifiednetworks.com/Clarified%20Analyzer Clarified Analyzer] - Visualizes Network Traffic and allows to drill down from visualizations to the packet level.
  
See: [http://www.cybersecurityinstitute.biz/downloads/INFO2.pdf]
+
===Unclassified===
 +
* [http://gravisto.fim.uni-passau.de/ Gravisto: Graph Visualization Toolkit] - An editor and toolkit for developing graph visualization algorithms.
 +
* [http://www.gnu.frb.br:8080/rox Rox Graph Theory Framework] - An open-source plug-in framework for graph theory visualization.
 +
* [http://touchgraph.sourceforge.net/ TouchGraph] - Library for building graph-based interfaces.
  
==== $RECYCLE.BIN ====
+
==See Also==
Used by Windows Vista.
+
* [[Network Data Visualizations]]
Uses $I and $R files.
+
* [http://www-static.cc.gatech.edu/gvu/ii/resources/infovis.html GVU's Information Visualization Resources link farm]
 +
* [http://directory.google.com/Top/Science/Math/Combinatorics/Software/Graph_Drawing/ Google Directory of Graph Drawing Software]
 +
* [http://directory.fsf.org/science/visual/ GNU Free Software directory of scientific visualization software]
 +
* [http://www.manageability.org/blog/stuff/open-source-graph-network-visualization-in-java/view Open Source Graph Network Visualization in Java]
 +
* [http://www.insna.org/INSNA/soft_inf.html INSNA's web page of Computer Programs for Social Network Analysis]
 +
* http://www.dmoz.org/Science/Math/Combinatorics/Software/Graph_Drawing/
 +
* http://www.ontopia.net/omnigator/models/index.jsp
 +
* http://visant.bu.edu/
 +
* http://sourceforge.net/projects/touchgraph/
 +
* [http://www.informatik.uni-rostock.de/~ct/ Christian Tominski]
  
See: [http://www.forensicfocus.com/downloads/forensic-analysis-vista-recycle-bin.pdf]
+
CAIDA has 15+ years of work visualizing Internet topologies. You may find their tools to be useful:
 
+
* http://www.caida.org/tools/visualization/
=== Registry ===
+
* http://www.caida.org/publications/visualizations/
 
+
* http://www.caida.org/tools/visualization/walrus/gallery1/
The [[Windows Registry]] is a database of keys and values that provides a wealth of information to forensic [[investigator]]s.
+
* http://www.caida.org/research/topology/as_core_network/
 
+
=== Thumbs.db Files ===
+
 
+
[[Thumbs.db]] files can be found on many Windows systems. They contain thumbnails of images or documents and can be of great value for the [[investigator]].
+
 
+
See also: [[Vista thumbcache]].
+
 
+
=== Browser Cache ===
+
 
+
=== Browser History ===
+
 
+
The [[Web Browser History]] files can contain significant information. The default [[Web browser|web browser]] that comes with Windows is [[Internet Explorer|Microsoft Internet Explorer]] but other common browsers on Windows are [[Apple Safari]], [[Google Chrome]], [[Mozilla Firefox]] and [[Opera]].
+
 
+
=== Search ===
+
See [[Windows Desktop Search]]
+
 
+
=== Setup log files (setupapi.log) ===
+
Windows Vista introduced several setup log files [http://support.microsoft.com/kb/927521].
+
 
+
=== Sleep/Hibernation ===
+
 
+
After (at least) Windows 7 recovers from sleep/hibernation there often is a system time change event (event id 1) in the event logs.
+
 
+
=== Users ===
+
Windows stores a users Security identifiers (SIDs) under the following registry key:
+
<pre>
+
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
+
</pre>
+
 
+
The %SID%\ProfileImagePath value should also contain the username.
+
 
+
== Advanced Format (4KB Sector) Hard Drives ==
+
Windows XP does not natively handle drives that use the new standard of 4KB sectors. For information on this, see [[Advanced Format]].
+
 
+
== %SystemRoot% ==
+
The actual value of %SystemRoot% is store in the following registry value:
+
<pre>
+
Key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\
+
Value: SystemRoot
+
</pre>
+
 
+
== See Also ==
+
* [[Windows Event Log (EVT)]]
+
* [[Windows XML Event Log (EVTX)]]
+
 
+
== External Links ==
+
 
+
* [http://en.wikipedia.org/wiki/Microsoft_Windows Wikipedia: Microsoft Windows]
+
* [http://support.microsoft.com/kb/927521 Windows 7, Windows Server 2008 R2, and Windows Vista setup log file locations]
+
* [http://www.forensicfocus.com/downloads/forensic-analysis-vista-recycle-bin.pdf The Forensic Analysis of the Microsoft Windows Vista Recycle Bin], by [[Mitchell Machor]], 2008
+
* [http://www.ericjhuber.com/2013/02/microsoft-file-system-tunneling.html?m=1 Microsoft Windows File System Tunneling], by [[Eric Huber]], February 24, 2013
+
 
+
=== Under the hood ===
+
* [http://msdn.microsoft.com/en-us/library/windows/desktop/aa366533(v=vs.85).aspx MSDN: Comparing Memory Allocation Methods], by [[Microsoft]]
+
* [http://blogs.msdn.com/b/ntdebugging/archive/2007/06/28/how-windows-starts-up-part-the-second.aspx How Windows Starts Up (Part the second)]
+
* [http://msdn.microsoft.com/en-us/library/aa375142.aspx DLL/COM Redirection]
+
* [http://msdn.microsoft.com/en-us/library/windows/desktop/ms682586(v=vs.85).aspx Dynamic-Link Library Search Order]
+
* [http://blogs.msdn.com/b/junfeng/archive/2004/04/28/121871.aspx Image File Execution Options]
+
 
+
=== Side-by-side (WinSxS) ===
+
* [http://en.wikipedia.org/wiki/Side-by-side_assembly Wikipedia: Side-by-side assembly]
+
* [http://msdn.microsoft.com/en-us/library/aa374224.aspx Assembly Searching Sequence]
+
* [http://blogs.msdn.com/b/junfeng/archive/2007/06/26/rt-manifest-resource-and-isolation-aware-enabled.aspx RT_MANIFEST resource, and ISOLATION_AWARE_ENABLED]
+
* [http://msdn.microsoft.com/en-us/library/windows/desktop/dd408052(v=vs.85).aspx Isolated Applications and Side-by-side Assemblies]
+
* [http://blogs.msdn.com/b/junfeng/archive/2006/01/24/517221.aspx#531208 DotLocal (.local) Dll Redirection], by [[Junfeng Zhang]], January 24, 2006
+
* [http://blogs.msdn.com/b/junfeng/archive/2006/04/14/576314.aspx Diagnosing SideBySide failures], by [[Junfeng Zhang]], April 14, 2006
+
* [http://omnicognate.wordpress.com/2009/10/05/winsxs/ EVERYTHING YOU NEVER WANTED TO KNOW ABOUT WINSXS]
+
 
+
=== Application Compatibility Database ===
+
* [http://technet.microsoft.com/en-us/library/dd837644(v=ws.10).aspx Technet: Understanding Shims], by [[Microsoft]]
+
* [http://msdn.microsoft.com/en-us/library/bb432182(v=vs.85).aspx MSDN: Application Compatibility Database], by [[Microsoft]]
+
* [http://www.alex-ionescu.com/?p=39 Secrets of the Application Compatilibity Database (SDB) – Part 1], by [[Alex Ionescu]], May 20, 2007
+
* [http://www.alex-ionescu.com/?p=40 Secrets of the Application Compatilibity Database (SDB) – Part 2], by [[Alex Ionescu]], May 21, 2007
+
* [http://fred.mandiant.com/Whitepaper_ShimCacheParser.pdf Leveraging the Application Compatibility Cache in Forensic Investigations], by [[Andrew Davis]], May 4, 2012
+
 
+
=== System Restore (Restore Points) ===
+
* [http://en.wikipedia.org/wiki/System_Restore Wikipedia: System Restore]
+
* [http://www.stevebunting.org/udpd4n6/forensics/restorepoints.htm Restore Point Forensics], by [[Steve Bunting]]
+
* [http://windowsir.blogspot.ch/2007/06/restore-point-analysis.html Restore Point Analysis], by [[Harlan Carvey]],  June 16, 2007
+
* [http://windowsir.blogspot.ch/2006/10/restore-point-forensics.html Restore Point Forensics], by [[Harlan Carvey]], October 20, 2006
+
* [http://www.ediscovery.co.nz/wip/srp.html System Restore Point Log Decoding]
+
 
+
=== Windows Firewall ===
+
* [http://en.wikipedia.org/wiki/Windows_Firewall Wikipedia: Windows Firewall]
+
* [http://technet.microsoft.com/en-us/library/cc737845(v=ws.10).aspx#BKMK_log Windows Firewall Tools and Settings]
+
 
+
=== Windows XP ===
+
* [http://support.microsoft.com/kb/q308549 Description of Windows XP System Information (Msinfo32.exe) Tool]
+
 
+
=== Windows 8 ===
+
* [http://en.wikipedia.org/wiki/Features_new_to_Windows_8 Features new to Windows 8], Wikipedia
+
* [http://computerforensics.champlain.edu/blog/windows-8-forensics Windows 8 Forensics - part 1]
+
* [http://computerforensics.champlain.edu/blog/windows-8-forensics-part-2 Windows 8 Forensics - part 2]
+
* [http://computerforensics.champlain.edu/blog/windows-8-forensics-part-3 Windows 8 Forensics - part 3]
+
* [http://propellerheadforensics.files.wordpress.com/2012/05/thomson_windows-8-forensic-guide2.pdf Windows 8 Forensic Guide], by [[Amanda Thomson|Amanda C. F. Thomson]], 2012
+
* [http://forensicfocus.com/Forums/viewtopic/t=9604/ Forensic Focus: Windows 8 Forensics - A First Look], [http://www.youtube.com/watch?v=uhCooEz9FQs&feature=youtu.be Presentation], [http://www.forensicfocus.com/downloads/windows-8-forensics-josh-brunty.pdf Slides], by [[Josh Brunty]], August 2012
+
* [http://dfstream.blogspot.ch/2013/03/windows-8-tracking-opened-photos.html Windows 8: Tracking Opened Photos], by [[Jason Hale]], March 8, 2013
+
 
+
[[Category:Operating systems]]
+

Revision as of 16:40, 6 April 2013

Although not strictly for forensic purposes, visualization tools such as the ones discussed here can be very useful for visualizing large data sets. As forensic practitioners need to process more and more data, it is likely that some of the techniques implemented by these tools will need to be adopted.

Programming Languages and Developer Toolkits

If you are building forensic tools, you probably want to start with one of these:

Java

Advantage: Portable and lots of good documentation out there.
Disadvantage: Programs are a bit verbose, and only offers about 1/2 the performance of C

Python

Advantage: Portable
Disadvantage: Python is one of the slowest modern languages around and doesn't work well with big data sets.
  • Python with Tk
  • Python with matplotlib
  • Python with wxWidgets (not installed by default)
  • NetworkX, a pure Python network layout program which uses matplotlib to do the actual graphing.

Processing.org

Advantage: Programming language specifically developed for visualization; compiles to java byte code
Disadvantage: Very oddball


JavaScript

Browsers are now very fast and there are a large number of data plotting systems built on JavaScript. Check out:

C/C++

Applications

Most of these applications can be used to do visualization

Crystal Space 3D
Panda#D

Data Plotting Applications

Graph and (Social) Network Visualization

  • Cytoscape - Cytoscape is an open source software platform for visualizing complex networks and integrating these with any type of attribute data.
  • Graphviz - Originally developed by the AT&T Information Visualization Gorup, designed for drawing connected graphs of nodes and edges. Neato is a similar system but does layout based on a spring model. Can produce output as PostScript, PNG, GIF, or as an annotated graph file with the locations of all of the objects — ideal for drawing in a GUI. Runs from the command line on Unix, Windows and Mac, although there is also a MacOS GUI version.
  • NodeXL - Free/open excel add-in extends the spreadsheet with network metrics and visualizations. (Only runs on Windows)
  • Gephi -Gephi is an interactive visualization and exploration platform for all kinds of networks and complex systems, dynamic and hierarchical graphs
  • http://projects.skewed.de/graph-tool/ - graph-tool is an efficient python module for manipulation and statistical analysis of graphs (a.k.a. networks).
  • http://igraph.sourceforge.net/ - Integrates with R.
  • http://socnetv.sourceforge.net/ - "Social Networks Visualizer (SocNetV) is a flexible and user-friendly tool for the analysis and visualization of Social Networks."
  • NetDraw - "a free program written by Steve Borgatti for visualizing both 1-mode and 2-mode social network data."
  • Pajek - Windows program for drawing large networks.
  • Social Network Image Animator (SoNIA) - Originally developed at Stanford. Written in Java. Makes movies.
  • Walrus - A 3-d graph network exploration tool. Employs 3D hyperbolic displays and layout based on a user-supplied spanning tree.
  • AfterGlow - A tool to simplify the generation of network graphs in GraphViz, Gephi, etc. Designed for security visualizations.
  • http://tulip.labri.fr/TulipDrupal/ - Tulip is an information visualization framework dedicated to the analysis and visualization of relational data.

See also: http://en.wikipedia.org/wiki/Social_network_analysis_software

Reas govisual diagram editor reas.com gdf.net


Commercial Graphic Applications and Tools

  • aiSee Graph Layout Software - Supports 15 layout algorithms, recursive graph nesting, and easy printing. Runs on Windows, Linux, Solaris, NetBSD, and MacOS. 30-day trial and free registered versions available. Academic pricing available.
  • Geomantics - Geographical, Visualization and Graphics software. Runs on Windows.
  • Graphis 2D and 3D graphing software - Runs on Windows. Free 30-day evaluation copy available.
  • OpenViz and PowerViz - Both from Advanced Visual Systems, super high-end visualization toolkits. $$$$
  • Tom Sawyer Software Analysis, Visualizaiton, and Layout programs. - Heavy support for drawing graphs. Beautiful gallery. ActiveX, Java, C++ and .NET editions.
  • NetMiner - A comprehensive tool for Social Network Analysis. Runs on Windows, with a Linux version under development. $35 for "Express" student version, $250 for "Professional" student version, $950 for "Normal" "Professional" version.
  • UCINET - A comprehensive package for the analysis of social network data as well as other 1-mode and 2-mode data.
  • Logster - an ultra-easy software tool to visualize Apache-style logs on a world map.
  • Clarified Analyzer - Visualizes Network Traffic and allows to drill down from visualizations to the packet level.

Unclassified

See Also

CAIDA has 15+ years of work visualizing Internet topologies. You may find their tools to be useful: