Auteurs :
Abdelkader Mahmoudi
Ange-Boris Brika
Zackaria Cisse
Note de l’éditeur : Dû à la lourdeur des images ajoutées à ce texte et
aux limitations inhérentes au site de blog, nous avons dû remplacer les images
par des liens à cliquer. Pour consulter les figures, veuillez cliquer sur les
titres de ces figures.
Sommaire
Le streaming vidéo est une activité de divertissement de plus en plus utilisée
par les internautes. Les traces laissées sur le support informatique utilisé sont sous diverses formes (furtives
ou volatiles). Le présent travail se propose de faire l’inventaire des traces
d’activité de streaming sur le support informatique de l’utilisateur. Les
méthodes de recherche des traces s’articulent autour de l’analyse des mémoires
furtives et des mémoires volatiles. Le site de streaming
« DailyMotion » est l’objet de
notre étude. Une analyse et une interprétation des traces trouvées permettent
de prouver à un investigateur la
visualisation d’une vidéo lue sur DailyMotion.
1. Introduction
L’investigation numérique est une étude
informatique qui utilise les différentes opérations de détection, de sauvegarde
et de récupération de preuves numériques présentes sur un support informatique
en se référant aux connaissances sur le matériel et les logiciels. Le streaming
vidéo permet aux utilisateurs de bénéficier de contenus vidéo et audio diversifiés.
Il fait ici l'objet d'analyses
forensiques afin de déterminer les types de preuves numériques qui pourraient
être extraites des supports informatiques. Cette étude approfondie du site de streaming DailyMotion s’oriente sur la
détection forensique des preuves volatiles et furtives en passant au peigne fin
le navigateur web, les mémoires vives et tampons.
2.
Présentation de l’investigation
numérique vidéo
Le streaming se résume en une transmission de paquets en continu
entre un client (utilisateur) et un serveur (fournisseur de service). Les
paquets sont encapsulés de façon à minimiser le temps de latence au détriment
d'un ordre rigoureux et de la qualité de la transmission.
De ce fait, la forensique vidéo définit l'étude de la traçabilité de
l'acheminement de ces paquets sur le support de l'utilisateur. Toutes les
requêtes échangées entre le serveur et le client sont analysées de sorte à
détecter les paquets vidéo (stream) provenant du site relevant de notre enquête.
L’analyse du réseau donne des informations sur les échanges de données et les
métadonnées issues des activités du navigateur. Il révèle des informations sur
les URL et les différents contenus de pages web consultées par l'utilisateur. La forensique numérique vidéo
nous amène à découvrir le fonctionnement du service de streaming.
3. Présentation du streaming
Le streaming est un système utilisé pour la
lecture instantanée de média (audio, images). Pour visualiser ou écouter un média
en ligne, l’utilisateur doit télécharger le média ou le flux depuis le serveur.
Ce média est téléchargé dans la mémoire tampon (stockage en mémoire et non sur
le disque local). Une fois que les premiers octets de données stockées dans la
mémoire tampon sont suffisants, la lecture du flux démarre et le téléchargement continue.
Le système de streaming est constitué de 3
parties :
-
Le serveur permettant le stockage et la
transmission des médias;
-
Les lecteurs média qui restituent ces données
aux utilisateurs;
-
Les réseaux permettant de connecter les deux
éléments précités.
Dans cette section, nous allons décrire
brièvement les parties lecteurs et réseau. Elles seront les sources de notre
investigation afin de trouver localement des traces.
a)
Le serveur
C’est la partie centrale du système qui a
pour rôle de fournir le service de stream. Ses caractéristiques principales
sont :
-
Une grande capacité de stockage et de
traitement de données afin de fournir une bonne connectivité.
-
Une haute accessibilité et disponibilité.
b)
Les lecteurs multimédias
C’est la partie qui est en contact direct
avec l’utilisateur. C’est le logiciel client permettant de lire, décoder et
restituer les flux ; il permet de gérer les interactions avec l’utilisateur
(pause, ajustement du son, rejouer …) et le cheminement des données.
Exemple :
Adobe Média Encoder, QuickTime.
c)
Les réseaux
Le réseau englobe l’ensemble des
infrastructures matérielles et protocoles logiciels permettant aux utilisateurs
de transmettre des commandes au serveur et recevoir les flux souhaités.
Les
exemples de protocoles utilisés dans le streaming : UDP, RTPS, HTTP
d)
Les caches
Les caches sont des espaces pour stocker des
données de manière temporaire avant ou après leur utilisation par le système.
Dans un système de streaming, il existe trois types de caches : le cache
serveur (cache du serveur), le cache réseau (le proxy) et le cache utilisateur
(tampon ou mémoire cache). Nous allons nous intéresser uniquement au dernier
cité. Le cache utilisateur est constitué d’une mémoire tampon (buffer) située
sur l’ordinateur de l’utilisateur. Il sert
à stocker temporairement les flux avant le décodage et la lecture.
4.
DailyMotion en bref
a)
Description
DailyMotion est une plateforme de vidéo en
ligne. Les fichiers sont regroupés par catégories (Musique, Jeux vidéo, Sport,
News, Cinéma) avec une possibilité de faire des recherches par mots-clés. Les
utilisateurs ont la possibilité de commenter et de noter les vidéos.
b)
Les services
La plateforme Daily Motion comporte plusieurs
services à savoir : DailyMotion Cloud, Daily Motion Publisher (Service de
partage de recettes publicitaires et des publicités insérées dans les lecteurs
vidéo de sites partenaires), Open VoD (programme de vidéo à la demande
permettant de vendre des programmes), Daily Motion Mass Uploader (logiciel
permettant de faire des téléversements sur la plateforme sans passer par le
web).
5.
Procédure de recherche
a)
Environnement de travail
Pour réaliser ce travail
nous avons utilisé comme environnement virtuel : VMware Workstation 12 Pro
avec le système d’exploitation Windows 7, Internet Explorer 10 comme navigateur ayant 1Go de
mémoire RAM. Par besoin de performance, nous
avons travaillé aussi avec un ordinateur physique avec un processeur I7 ayant 12 Go de mémoire RAM. Dans la machine virtuelle et réelle, nous
avons installé tous les outils logiciels d'investigation numérique permettant
de procéder à notre analyse:
-
DumpIt v1.3.2 : pour
faire une image de la mémoire de la machine virtuelle
-
ProcessHacker 2.39 :
pour l’analyse des processus
-
Wireshark 2.0.2. :
pour l’analyse du trafic réseaux
-
Volatility-2.4.standalone : pour l’analyse de
la mémoire RAM
-
Windows File Analyzer version
2.6.3.0 : pour l’analyse des traces de navigation (historique, cookies)
-
FTK Imager 3.1.2.0
-
RAMmap : permet de
voir la liste et la localisation de tous les processus en mémoire.
b)
Forensique volatile
i)
Capture la mémoire
Grâce au logiciel
« DumpIt » nous avons effectué une capture de la mémoire virtuelle de
notre machine virtuelle au format RAW. L’analyse de la mémoire capturée avec le
logiciel « Volatility » nous permet d’avoir la taille de la mémoire
cache et de son offset. On a procédé comme suit:
-
Les détails de
l'image avec la commande : >Volatility-2.4.standalone.exe -f IE10WIN7-20160325-152601.raw imageinfo
-
Savoir l'offset: >volatility-2.4.standalone.exe -f IE10WIN7-20160325-152601.raw
--profile=Win7SP0x86 kdbgscan
-
Identifier tous les processus qui s'exécutent sur la machine
physique: >Volatility-2.4.standalone.exe -f IE10WIN7-20160325-152601.raw
--profile=Win7SP0x86 kdbgscan pslist > list.txt
Le fichier list.txt contient tous les processus qui s'exécutent sur la
machine de l'utilisateur, on peut identifier le processus Internet explorer: ce
fichier est remis avec les artefacts.
-
Identifier toutes les
connections a Internet: >Volatility-2.4.standalone.exe -f IE10WIN7-20160325-152601.raw
--profile=Win7SP0x86 kdbgscan pslist > connections.txt.
Dans le cas où les fichiers
témoins et l'historique seraient effacés par l'utilisateur, il est
possible de les reconstituer à partir de la mémoire
RAM. Le fichier connections.txt est remis avec les artefacts: dans sa fin on
voit les demandes de connexions vers le site de DailyMotion (adresse IP). Ces
informations sont utiles pour exploiter la mémoire capturée avec le logiciel
« FTK Imager ».
Nous allons
directement à cet offset et nous faisons une recherche par mot clé afin de
trouver le nom du fichier vidéo. Peu après le nom de la vidéo, nous trouvons l’URL
de la vidéo lue en streaming par DailyMotion.
ii)
Analyse des processus
Le navigateur choisi pour la visualisation de la page DailyMotion est Internet
Explorer 10. L’outil logiciel forensique utilisé est « Process Hacker ». Il
nous permet d’analyser en détail la liste des processus lancé par les utilisateurs. L’affichage des processus se
fait de façon à associer le nom du processus au programme exécuté et l’adresse
mémoire en format hexadécimal. La liste des processus relatifs à l’exécution d’Internet
Explorer a comme attribut l’URL des pages consultées. Dans notre cas, ils
indiquent l’URL de DailyMotion.
Après le lancement de la vidéo, nous observons une augmentation du nombre
de processus. Ces processus sont liés aux échanges de paquets TCP et HTTP relatifs à la vidéo en visionnement
et on y retrouve des traces :
-
Du proxy DailyMotion;
-
Des serveurs d’Akamaï Technology
qui fournissent des services d'un centre de données international dans le
domaine du streaming ;
-
Des serveurs d'Amazon Web Service,
certainement pour la gestion des connexions au serveur vidéo depuis le nuage.
Ces données sont visibles dans l’onglet «
Network » de Process Hacker via la liste des adresses associées aux processus
d’Internet Explorer.
Sur le disque dur nous observons la présence de l’entrée « DailyMotion » comme clé de la base de registre :
HKCU\Software\Microsoft\Internet Explorer\LowRegistry\DOMStorage\.
Un mutex faisant référence au site DailyMotion est présent dans l’entrée suivante :
«\Sessions\1BaseNamedObjects\Low»: Dès l'exécution du processus "iexplore" , un nouvel évènement système est crée par le
système d'exploitation dans sa base d'objet. Le nom de l'entrée de cet évènement est l'URL saisit par l'utilisateur (dans notre cas
www.dailymotion, voir Figure 4)
c)
Forensique furtive
i)
Analyse des échanges de
paquets sur le réseau
Nous observons tous les paquets échangés dès l’ouverture du navigateur et
de la page DailyMotion. Cette opération nous permet de comprendre les
protocoles utilisés dans les échanges entre le navigateur et le serveur, les
adresses IP. Les principaux protocoles
sont : HTTP et TCP. Toutes les vidéos de streaming sont encapsulées
dans le format de ces protocoles.
Nous commençons l’analyse
du réseau avec Wireshark. En appliquant un filtre ou mot-clé HTTP dans la zone
« expression » de Wireshark, nous pouvons voir les traces des vidéos lues (la
date, le nom, la taille et le format) ainsi que leurs emplacements sur le
serveur. Ce filtre nous donne accès à la liste des paquets issus des requêtes
Get de HTTP. En cliquant sur l’une des lignes du paquet d’une requête Get
reconnu grâce à l’attribut « info », nous observons plusieurs
paramètres dans la fenêtre en dessous (Figure 1 en annexe). Le paramètre
« referer » permet d’avoir l’URL exact des vidéos lues. Sous l’onglet
statistique > HTTP >Requêtes, nous avons toutes les informations sur les
recherches, les noms et descriptions des vidéos visitées.
Voici les noms de
quelques répertoires dans Topic/Item
sur la ligne www.dailymotion : /widget_chunks/ - /logger/video/access (contient
les traces de recherches effectuées) - /vidéo/
(contient le nom de la vidéo ) - /history/log/user - / (contient l'historique de recherches
effectuéespar un utilsateur).
Pour un utilisateur
possédant un compte sur le site DailyMotion, il est facile d’avoir avec
Wireshark son nom utilisateur et mot de passe en clair car la connexion n'est
pas chiffrée par HTTPS: Pour cela, on applique le filtre
« http.request.method == POST
» dans la zone « expression » comme le montre la figure 2 en annexe.
Il est aussi
possible de voir les liens de toutes les vidéos consultées avec la date et l’heure.
ii)
Analyse de la base de
registre
LastActivityView est un outil nous permet de visualiser les dernières
activités de l’utilisateur: Il est capable de filtrer les informations de la
base de registre afin de repérer les activités sur le navigateur. Dans notre cas,
ces activités nous permettent de visualiser le contenu des activités sur Internet
Explorer. Une autre alternative permet de découvrir les URL visités à partir de
ligne de commande. La démarche est la suivante :
-
Saisir dans la barre de
recherche du menu démarrer « regedit » ;
-
Suivre l’arborescence du
dossier contenant les URLs: KEY_CURRENT_USER/Software/Microsoft/InternetExplorer/TypedURLS
iii)
Analyse de la mémoire
interne du navigateur
(1)
Historique de navigation
Les activités sur le
navigateur conservent de précieuses informations aidant à retracer les vidéos consultées
par l’utilisateur. Les principales informations appelées « traces externes »
sont les suivantes : l'historique de navigation, les fichiers témoins et la
mémoire cache.
L’historique de navigation
est disponible dans les fichiers index.dat du système d’exploitation. Pour
interpréter (ou lire) le contenu du fichier, nous utilisons le logiciel «
Windows File Analyser 2.6.3.0 Mitec ». Il permet de retrouver le nom du site
consulté et l’heure de connexion et d’accès au site. Nous pouvons observer en cliquant
sur la ligne de l’historique du site DailyMotion le nom en clair de la vidéo consultée.
L'arborescence du fichier index.dat est «C:\Users\IEUser\AppData\Roaming\Microsoft\Windows\History\
History.IE5\index.dat».
Le fichier historique pourrait
être effacé par l’utilisateur, mais il est possible de le récupérer en faisant une
restauration du système vers un point de restauration ultérieur à la date
présumée de l’action. La récupération de l’état du système à une date
ultérieure permet d’analyser l’historique comme s’il n’avait jamais été effacé
par le navigateur.
Un autre outil logiciel
« BrowsingHistoryView » apporte plus de précision à l’historique de
navigation. Il permet d’observer toutes les connexions d’un utilisateur dans le
navigateur, son nom de profil, l’heure exacte de la visite du site ainsi que le
nombre de visites de la page consultée. Il
est possible également de faire un tri en fonction de la date, du nom de la
page et du navigateur. Cet outil révèle également en clair le nom de la vidéo
visionnée.
(2)
Les fichiers témoins
Les fichiers témoins sont des fichiers stockant des informations sur un
utilisateur. Grâce à ces fichiers, l’utilisateur peut se connecter et garder sa
session active en sortant du site sans avoir à se connecter à nouveau. Il est
possible d’utiliser également la mémoire interne du navigateur comme la
« session storage » et le « local storage ». Ces deux
mémoires sont enregistrées directement sur l'espace réservé au navigateur du
client. Il ne nécessite pas la reformulation des requêtes aux serveurs pour
l’authentification. DailyMotion utilise
ces deux technologies pour conserver les informations sur le client. Les témoins
de Dailymotion sont les suivants : dmvk, hist, s_vi, ts, v1st. Ils peuvent
être classés en trois groupes :
-
Les témoins de session (conservant
les informations de l’utilisateur sur le serveur) exemple : dmvk ;
-
Les témoins persistants
(permettant de garder l’état de la page lors des fermetures involontaires ou
« shutdown » du navigateur) exemple : ts, v1st;
-
Les témoins de la partie
tiers (servant à des fins de statistiques pour le serveur) exemple : s_vi .
Pour analyser les fichiers témoins il est possible d’utiliser des outils facilitant
l’affichage et le tri ou d’utiliser l’arborescence de fichier. Nous utilisons
comme outils « IECacheView ». Nous observons la présence des témoins
persistants de DailyMotion (ts et v1st) leurs dates de création et
d’expiration. L’arborescence est certainement :
« C:\Users\IEUser\AppData\Roaming\Microsoft\Windows\Cookies» (spécifique à
notre environnement Windows 7 et Internet Explorer 10).
(3)
Cache
La mémoire cache contient les pages web récemment visitées par
l’utilisateur. Avec RamMap, nous observons en mémoire le fichier
webcachev01.dat dans l’emplacement suivant:
«
C:\Users\IEuser\AppData\Local\Microsoft\Windows\Webcache\ Webcachev01.dat ».
Avec « Windows File Analyser 2.6.3.0 Mitec », nous avons des indications
dans le fichier index.dat sur les pages web consultés dans le dossier :
« C:\Users\IEuser\AppData\Local\Microsoft\Windows\Temporary Internet
Files\Content.IE5». Avec cet outil, nous avons le nom, la date et l’heure de
tous les liens visités sur le site DailyMotion. Cette méthode est très adaptée
au navigateur Internet Explorer. Nous utilisons le logiciel
« IECacheView » qui permet de parcourir en profondeur la mémoire cache.
Nous analysons le fichier « Webcachev01.dat » et nous pouvons
observer toutes les images provenant du streaming vidéo. En réalité, le
streaming est un échange d’images. Une fois ces images associées au son, elles permettent
de constituer la vidéo à visionner. Ce fichier contient également les fichiers XML
propres à la vidéo en streaming: ces fichiers contiennent les informations de
la vidéo à savoir le nom, le «time-code» et l’encodage de la vidéo.
6.
Interprétation des
résultats
a)
Présence sur le
site DailyMotion
Les démarches d’investigation ont permis
d’avoir des résultats généraux. Ces résultats indiquent des traces de présence
de l’utilisateur sur le site de DailyMotion. L’analyse des fichiers témoins et
de la mémoire interne du navigateur nous indique plusieurs informations: Dans
le « localstorage », on peut trouver l’heure de connexion, le nom de l’utilisateur
connecté et le nom du site web consulté. Dans le « sessionstorage »
le navigateur conserve le numéro de
session qui est délivré par le serveur suite à une demande de vidéo.
La mémoire interne du navigateur conserve et
la les informations sur l’utilisateur connecté comme le nom et le numéro
d’utilisateur provenant du serveur.
L’analyse de l’historique de navigation permet
de ressortir l’activité de
l’utilisateur. L’URL du nom de domaine
« www.dailymotion.com » apparait avec l’heure de connexion. En combinant ces
informations avec celles des témoins, la cohérence des données démontre une
connexion sur le site DailyMotion.
L’analyse des paquets capturés sur le trafic réseau
révèle des échanges de paquets HTTP, TCP/IP, UDP avec le serveur DailyMotion.
Cet échange permet de conclure que l’utilisateur a visité ou s’est connecté au
site en utilisant un profil (nom d'utilisateur et mot de passe).
Une recherche par le mot clé « dailymotion »
dans la capture de la mémoire vive révèle plusieurs occurrences trouvées. Ce
qui confirme des activités sur le site de streaming.
b) Preuve d’une activité de streaming
L’analyse des en-têtes HTTP capturées dans le trafic réseau donne plus de
précision sur l'URL. À travers les requêtes GET dans le champ « REFER» de
l’en-tête, nous pouvons voir le nom précis de la vidéo lue sur le site.
L’analyse du contenu de la mémoire cache
montre également toutes les informations
sur la connexion au serveur. Les fichiers XML contiennent des métadonnées (le
titre, la description et le lien)
permettant d’identifier la vidéo. Dans
la mémoire virtuelle, nous avons la liste des processus et ceux associés à
l’utilisation d’Internet Explorer. Les informations sur le processus
contiennent l’URL de la vidéo. En faisant une recherche par mot-clé du nom de
la vidéo sur l’étendue de la mémoire virtuelle, il est possible de retrouver l’URL
de la vidéo en clair.
7.
Conclusion
L’investigation numérique dans l’objectif de
prouver la visualisation d’une vidéo sur le site de DailyMotion requiert une démarche
précise et rigoureuse. Dans un premier temps, nous avons présenté
l’investigation numérique vidéo et les principes de fonctionnement de streaming
sur le site DailyMotion. Dans un deuxième temps, il a fallu définir une
procédure d’enquête avec un environnement restreint: Cette procédure consisté à analyser les échanges de paquets réseau,
les processus exécutés, les mémoires liées aux activités du navigateur et la
mémoire volatile de l’utilisateur. De cette analyse, nous retenons que la
majorité des traces de l’activité de streaming sont contenues dans la mémoire cache réservée aux activités du
navigateur. L'analyse de l’historique et de la mémoire allouée au navigateur
permet de retrouver l’URL de la vidéo cible ainsi que l’horaire de l’activité
et le nom du profil utilisateur.
Une étude plus approfondie sur la mémoire
pourrait être celle qui permettrait de reconstituer la vidéo entièrement. La
restauration de la vidéo à partir de la mémoire constituerait une preuve
irréfutable de l’utilisation du streaming vidéo et une grande avancée pour le
secteur de l’investigation numérique vidéo.
8.
Glossaire
UDP : « User Datagramme
Protocole » est un protocole de transport de paquets appartenant à la
couche transport.
URL : « Uniform Ressource
Locator » est une chaine de caractère utilisée pour indiquer au navigateur
comment avoir accès aux ressources internet.
TCP : « Transmission
Control Protocol » est un protocole de transport de paquets garantissant
la fiabilité grâce aux échanges d’accusés de réception entre le serveur et le
client.
HTTP : « Hypertext Transport
Protocol » est un protocole de transport de appartenant à la couche
application entre le client, le serveur, les proxys et autres systèmes
d’Internet.
Mutex : c’est une primitive de
synchronisation qui permet de protéger une zone du code, en garantissant l’accès
aux ressources partagées nécessaires à son exécution et en la rendant
accessible à plusieurs processus.
9.
Médiagraphie
a) Articles
-
[1] PANTOS, Roger ed., "HTTP Live Streaming", 2013.
[https://tools.ietf.org/html/draft-pantos-http-live-streaming-19].
-
[2] ERICSSON, "3GPP adaptive HTTP Streaming (AHS)", 2010.
[http://irdeto.com/documents/Collateral/wp_disney_ieee_watermarking_system_for_adaptive_streaming.pdf].
-
[3] MICROSOFT Corporation, "Smooth Streaming Protocol specification",
2012. [http://download.microsoft.com/download/9/5/E/95EF66AF-9026-4BB0-A41D-A4F81802D92C/[MS-SSTR].pdf].
b) Articles de revues / Journaux
-
[3] REIDENBERG,Joel R.,.Protection de la
vie privée et l’interdépendance du droit, de la technologie et de
l’autorégulation. Cahiers du CRID 19. p. 191‑210, 2001.
-
[4] XU, C.,
Steganography in Compressed Video Stream. First
International Conference on Innovative Computing, Information and Control - Volume I
(ICICIC’06). p. 269–272, 2006.
c) Sites web
-
[5] Digital Watermaking. Forensics And Piracy Deterrence, [http://goo.gl/QwHshV],
consulté le 03 Mars 2016.
-
[6] File Forensicswith Signatures. Billatnapier, [https://goo.gl/ld1M48], consulté
le20 février 2016.
-
[7] Dailymotion.Wikipédia, [https://goo.gl/4EfZjq] ,consulté le13 février 2016.
d) Liste des logiciels utilisés et source
Nom
|
Source
|
Process Hacker 2.39
|
http://goo.gl/lQ0S5R
|
RamMap v 1.5
|
https://goo.gl/45kPUV
|
DumpIt v 1.3.2
|
http://goo.gl/BgSZFS
|
Mitec Windows File Analyzer 2.6.3.0
|
http://goo.gl/NYrEot
|
Volatility-2.5.standalone
|
http://goo.gl/9B7wp5
|
Wireshark 2.0.2.
|
https://goo.gl/0FWZyG
|
IECacheView 1.56
|
http://goo.gl/vMLX5N
|
IECookiesView 1.77
|
http://goo.gl/qXbGMy
|
BrowsingHistoryView 1.85
|
http://goo.gl/O1Asmn
|