L’interface graphique de DFF
L’interface graphique de DFF est développée utilisant le framework PyQt qui est un framework graphique multi-plateformes donc DFF est capable de fonctionner sur plusieurs plateformes : Linix, FreeBSD, Windows(XP, Vista), MacOS. L’interface principale est composée de 4 zones principales :
- « Application menus » – Les menus de l’application. Pour la définition détaillée de tous les menus, veuillez consulter la page suivante du wiki DFF.
- « Application toolbar » – La barre d’outils est utilisée pour effectuer des actions telles que l’ajout d’un container des données ou d’un disc en DFF, ou l’ouverture de vues graphiques. Pour la définition détaillée de la barre d’outils, veuillez consulter la page suivante du wiki DFF.
- « Project Browser » – La zone où les résultats des analyses seront affichés. Il peut être comparé à un navigateur de fichiers sur un système d’exploitation. Pour la définition détaillée du « project bowser », veuillez consulter la page suivante du wiki DFF.
- « Project Toolbar » Cette zone serve à modifier l’affichage des résultats d’analyse et de naviguer dans les résultats de l’analyse.
- « Task Manager » – Zone qui montre l’historique des tâches exécutées, les messages d’erreurs et d’information générés par l’exécution des différents modules et la liste des modules qui peuvent être utilisés, avec la liste des paramètres, qu’ils peuvent prendre en entrée. Pour la définition détaillée du « task manager », veuillez consulter la page suivante du wiki DFF.

Cas pratique IHM (chercher des fichiers d’images dans un container EWF)
Ce cas pratique a comme but de charger un container de données EWF et de chercher des fichiers de type JPG.
Les étapes du cas pratique sont les suivantes :
- charger le container des données ;
- monter le système de fichiers contenu dans le container ;
- chercher des fichiers d’images sur le système de fichiers ;
- sauver les fichiers retrouvés sur le disque.
Charger le container de données
Dans le menu File-> « Open evidence file(s) » ou dans la barre d’outils click sur l’icône . Ensuite on choisit le container de données a charger (voir la figure suivante).

Même si c’est n’est pas visible, l’IHM de DFF a utilisé le module ewf pour créer n VFS.
Monter le système de fichiers contenu dans le container
Une fois le container chargé, il faut monter le système de fichiers. DFF est capable de savoir que le container chargé contient un système de fichiers NTFS et vas automatiquement utiliser le module ntfs. Pour appliquer le module ntfs sur le container il faut aller dans le « Data display area » et faire un click droit ensuite choisir l’option « Relevant module » (voir la figure suivante). On voit ensuite apparaitre l’arborescence du disque après le traitement par le module NTFS.

Chercher des fichiers d’images sur le système de fichiers
Une fois le système de fichiers chargé, on peut naviguer sur ce système de fichiers ou on peut appliquer des modules pour récupérer d’informations. On appliquera le module find sur le nœud NTFS (voir figure suivante) :

Le module find accepte quelques paramètres comme le nom du filtre (ce nom sera utilisé pour créer un nouveau nœud dans le VFS contenant les résultats de la recherche), si la recherche est récursive ou pas, l’expression utilisée pour rechercher des fichiers (dans notre cas l’expression sera name == w(“*.jp?g”, i)).

Le module find a trouvé des fichiers et a stocké les résultats dans le nouveau nœud du VFS nommé comme le nom du filtre. Ce nouveau nœud est attaché au noeud « Searched Items » (voir la figure suivante).

Sauver les fichiers retrouvés sur le disque
La dernière étape consiste à extraire les résultats trouvés a l’étape précédente sur le disque. Pour transformer un nœud du VFS en fichier (physique) sur le disque, il faut utiliser le module extract.

L’interface en ligne de commande de DFF
A part l’interface graphique, DFF a aussi une interface en ligne de commande (CLI). Il y a deux façons de démarrer l’interface en ligne de commande :
- a partir de l’IHM de DFF en cliquant sur l’icône
(shell) dans la barre d ‘outils
- en exécutant la commande dff.py à partir d’une console.
L’utilisation de l’interface en ligne de commande suit le même patron de conception (‘’pattern’’) que l’utilisation de l’IHM. Dans la figure suivante, on peut voir tous les modules disponibles à partir de la ligne de commande.

Les scripts sont une des nouvelles fonctionnalités de la version 1.2 de DFF. Les scripts sont des fichiers contenant des commandes shell DFF et peuvent être exécutés utilisant la ligne de commande suivante dff.py –b leFichierDeScript.
Cas pratique scripting (chercher des fichiers d’images dans un container EWF)
On prend le même cas pratique que celui utilisé pour illustrer l’utilisation de l’IHM. Le script qui exécute les mêmes actions que celles de l’IHM est le suivant :
#charger le container de données utilisant le module ewf ewf WinXP2.E01 #monter le système de fichiers utilisant le module ntfs ntfs WinXP #utiliser le module find pour chercher des fichiers find /WinXP/NTFS --filter_name jpg_images --recursive --save_result --expression 'name==w("*.jp?g",i)' #utiliser le module extract pour stocker sur disque les images #retrouvées par le module find extract --recursive --files Searched\ items/jpg_images --syspath ./
L’idée des scripts DFF semble être très bonne, pourtant dans la version actuelle, l’implémentation ne semble pas totalement achevée. Parmi les principaux défauts de cette implémentation, le plus évident est le fait de ne pas pouvoir récupérer le code de retour de l’exécution d’une commande (module). La deuxième faiblesse est l’absence totale d’instructions conditionnelles et des boucles. Ces deux défauts rendent impossible la création et l’exploitation des scripts automatiques pour la plateforme DFF.
Le produit commercial DFF Live
Depuis le mois de Juin 2012, ArxSys commercialise un produit basé sur DFF, appelé « DFF Live » [DFFLIVE]. DFF Live est livré sur une clé USB et est présenté comme un laboratoire d’investigation digitale nomade.
D’après la société ArxSys, le produit « DFF Live » a des fonctionnalités d’investigation numérique des systèmes vivants (liste de connexions réseaux, extraction des fichiers de temporaires, collection des données volatiles) et des fonctionnalités d’investigation numérique a froid (analyse des différents systèmes des fichiers, analyse des journaux d’évènements Windows, récupération des données cachées et supprimées).
Conclusion
Le framework DFF est un produit assez nouveau, mais pourtant il commence à avoir une certaine reconnaissance internationale. Le produit est présent dans certaines distributions numériques comme DEFT, BackTrack et SAN SIFT. DFF est facile à installer et l’interface graphique est ergonomique et facile a utiliser. Techniquement parlant, DFF a certains atouts : il est multi-plateformes, la notion de système de fichiers virtuel (VFS) rend la compréhension du framework plus facile, la possibilité d’étendre les fonctionnalités de base par l’ajout des modules écrits en Python. Par contre, DFF manque cruellement d’une documentation claire et précise, surtout pour les développeurs (il n’y a pas de documentation de l’api Python concernant le VFS).
You must be logged in to post a comment.