
Figure 2
Partition 1 contient EFI (Extensible Firmware Interface). Elle contient la séquence de démarrage de tous les systèmes installés sur le disque ainsi que les « drivers » des composants de l’ordinateur qui sont chargés lors du démarrage. La partition 2 est celle contenant les données, les deux partitions de 6 Mb et 256 Mb sont les partitions référencées 6 et 9 dans le schéma précédent. Aucune trace des partitions Header et Table. Les deux partitions manquantes ne sont pas accessibles à l’utilisateur et surtout leur taille ne permet pas d’inscrire des données à l’intérieur. La partition GPT Header a une taille de 1 secteur (512 Bytes) et la partition GPT Partition Data à une taille de 32 secteurs (16.384 Bytes). De plus toute modification de ces partitions entrainerait des erreurs lors du chargement du disque.
En revanche, les deux « Unpartitioned space », sont des partitions où des données peuvent être dissimulées. Ces dernières ne contiennent aucune donnée utile. Il s’agit simplement d’espaces non utilisés.
DIFFERENTS MODES DE DEMARRAGE
Comme il a été dit plus haut, il n’est pas possible nativement d’accéder à l’ « EFI » ( Extended Firmware Interface) d’un Macintosh Intel. Il n’est donc pas possible de choisir dans l’ « EFI » un mode de démarrage souhaité. C’est principalement pour cette raison que les Macintosh possèdent, par simple combinaison de touche, la capacité de démarrer dans des modes particuliers.
Il est à préciser que deux méthodes sont couramment utilisées dans ce domaine :
La première consiste à appuyer sur la ou les touches du mode de démarrage souhaité, puis d’appuyer sur le bouton de démarrage de la machine.
A l’inverse, la deuxième méthode consiste à d’abord appuyer sur le bouton marche de la machine, puis effectuer la combinaison de touche.
D’après certains spécialistes du domaine, la deuxième méthode serait plus sûre étant donné qu’il faut laisser le temps à la machine de détecter le clavier.
Après de nombreux essais sur des machines aussi bine Intel que PowerPC, aucune différence majeure ou erreur n’a été détectée. Les deux méthodes semblent donner le même résultat. Il est bon de préciser que pour la deuxième méthode, l’appui de la touche marche doit être suivi dans les plus brefs délais de la combinaison de touche. Il est donc conseillé d’utiliser cette méthode.
Il est à noter que pour tous les modes de démarrage, la combinaison de touche est à tenir jusqu’au démarrage souhaité. Si vous relâchez les touches trop tôt, le mode de démarrage ne s’appliquera pas.
Affichage des partitions bootables
L’utilisateur a la possibilité de bloquer tous les types de démarrage, or démarrage « normal », en installant un mot de passe sur la machine directement au niveau de l’ »EFI ».
Si cette manipulation est effectuée, tous les autres modes de démarrage sont inopérants et le système démarrera directement sur le système d'exploitation de la machine.
Par conséquent, la première action à effectuer avant toutes autres opérations, est de démarrer la machine afin d'afficher les partitions « bootables ». Pour cela, il faut appuyer sur la touche « option » ou « alt » du clavier (Fig3), puis enfoncer le bouton de mise en marche de la machine.
Figure 3 : Touche option/alt
Deux possibilités se présentent alors :
A l’écran s’affiche la ou les partitions « bootables » (Fig4) détectées par la machine.
Dans ce cas, la l’ordinateur n’est pas protégé par mot de passe. Vous pouvez utiliser les autres modes de démarrage (que nous présenterons juste après).
Cette deuxième partie est consacrée aux aspects techniques particuliers des ordinateurs Mac. Ces derniers possèdent un système de fichier spécifique gérant les disques et les partitions. Les modes de démarrage d’un Mac représentent une partie importante car c’est à l’aide de ces méthodes que nous réaliserons quelques opérations basiques. Enfin, une méthode criminalistique sera développée afin de réaliser une image bit à bit d’un disque.
LE SYSTEME DE FICHIER HFS+
Le système de fichier propriétaire des ordinateurs Mac est le HFS+ pour: Hierarchical File System Plus. Ce système de fichier est apparu en 1998 avec le système d’ exploitation Mac OS 8.1. La journalisation du système est apparue en 2002. Les principales caractéristiques techniques sont les suivantes :
Taille de volume maximale : 8 EiB (Exbibyte) - 1 Exbibyte = 1.049.000 Terabyte
Nombre maximal de fichier : 5 * 232
Longueur maximale de nom de fichier : 255 caractères
Dates enregistrées : accès, modification attributs, modification, création et sauvegarde
La structure complète d’un volume HFS+ mériterait une étude complète pour être exhaustif.
Pour plus d’information, Apple a mis en ligne dans la rubrique « Technical Notes », un descriptif complet (en anglais) du système HFS Plus (http://developer.apple.com/mac/library/technotes/tn/tn1150.html). Ces éléments sont également joints en annexe VIII.
DISQUES ET PARTITIONS
Très souvent la première question que se posent les utilisateurs d’un Macintosh est : Mais où sont mes disques? Effectivement, ces derniers ne sont pas référencés comme sous Windows avec des lettres ex: « C: » ou « D: ». L’organisation du système de fichier est issu des systèmes Unix et FreeBSD. La gestion des disques se fait donc à la mode Unix/Linux, c'est-à-dire que tout est « fichier ». Un disque dur sera donc référencé par le système comme un sous répertoire contenant tout le système de fichier. Le répertoire contenant les disques se trouve par défaut dans « /dev/ ». Le premier « / » représentant la racine du disque système. A partir de ce répertoire nous allons retrouver tous les disques détectés par le système. Généralement le disque système est défini comme « disk0 », il sera donc accessible au travers du répertoire » /dev/disk0 ». Si un autre disque est détecté, il se nommera « disk1 » etc...
En ce qui concerne les partitions, ces dernières sont rattachées à un disque. La dénomination pour une partition se fera donc avec le numéro du disque concerné suivi du numéro de partition.
Ex : « disk0s2/ » Ici nous venons d’identifier la partition numéro 2 du disque numéro 0.
Après avoir apporté ces précisions, l’étape suivante consiste à étudier sa représentation au travers d’un logiciel criminalistique. En effet, des différences majeures existent entre ce que la machine montre et ce que peut lire le technicien au travers du logiciel.
Ce que nous pouvons voir en direct via la machine avec la commande « hdiutil » (Fig.1):
(1) scheme : GUID
(2) block size : 512
(*) Type______________________Name____________________Start___________Size
(3) MBR Protective Master Boot 0 1
(4) Primary GPT Header GPT Header 1 1
(5) Primary GPT Table GPT Partition Data 2 32
(6) Apple Free
(7)C12A7328-F81F-11D2-BA EFI system partition 40 409600
(8)Apple_HFS Customer 409640 487725344
(9)Apple_Free 488134984 262151
(10)Backup GPT Table GPT Partition Data 488397135 32
(11)Backup GPT Header GPT Header 488397167 1
Figure 1
(1): Schéma de partition
- GUID : partitionnement Mac Intel
- Apple : partitionnement Power PC
(2): Taille des blocks. Dans cet exemple la taille est celle par défaut
(*) : Le nom des champs apparait en clair
(3) : Le premier élément de la liste est le Master Boot record ou secteur de démarrage. Sa taille est de 1 secteur
(4) et (5) : Deux partitions Header et Table, non gérées par le système de fichiers, la partition Data contenant la table des partitions.
(6) et (9) : Deux partitions « Apple Free » gérées également par le système de fichiers
(7) : Partition EFI
(8) : Voici la partition des données. C’est ici que le système d’exploitation sera installé
(10) et (11) : Sauvegarde des partitions Header et Table
Maintenant voici ce qu’un logiciel d’analyse criminalistique affiche pour le même disque (Fig.2) :


Figure 4 : Partitions "bootables"
A l’écran s’affiche un cadenas et une zone de texte (Fig.5).
La machine est protégée par mot de passe. Aucun autre mode de démarrage n’est autorisé à part le démarrage normal de la machine. Toute combinaison de touche est inefficace. La seule solution dans ce cas sera de démonter le disque de la machine afin d’en réaliser une image.

Boot from CD
Le deuxième mode de démarrage est le mode « Boot from CD », c'est-à-dire « démarrer la machine à partir d’un CD ou DVD » présent dans le lecteur idoine.
La combinaison de touche n’est en fait que la touche « C » du clavier enfoncé lors du démarrage. Si le disque est « bootable », le système chargera les données du CD ou DVD, si le disque n’est pas « bootable », le système chargera le système d'exploitation présent sur la partition de boot par défaut. Ce risque peut être évité en démarrant la machine avec la touche « option ». Si le CD ou DVD est bootable, il s’affichera à l’écran.
FireWire Target Disk Mode (TDM)
Ce mode de démarrage très particulier, consiste à rendre le disque dur de la machine comme un support de stockage externe, accessible directement par le port FireWire. Il est donc possible, une fois ce mode de démarrage activé, de lire les données depuis un autre ordinateur. Ce mode de démarrage est très pratique pour les ordinateurs portables Macintosh étant donné que leur disque dur est très difficile d’accès et que cela peut éviter un démontage de l'ordinateur par la même toute altération de l'objet. Quelques précautions seront donc à prendre si l’accès au disque doit se faire au cours d’une analyse criminalistique (voir chapitre II-5 : Imager un Mac).
La combinaison de touche pour accéder à ce mode est la touche « T » du clavier puis le bouton de démarrage de la machine. Attendre l’apparition du logo FireWire à l’écran (Fig6).

Figure 6
Nota : avant toute action en mode TDM, vérifier qu’un port FireWire existe sur la machine. Si le port est absent, ce mode de démarrage est inopérant.
Boot sur disque externe
Ce mode de démarrage permet de démarrer une machine à partir d’un disque externe, qu’il soit connecté en USB ou FireWire. La méthode est simple, même si la combinaison de touche n’est pas des plus pratiques. Dans un premier temps, brancher votre disque externe « bootable » sur un des ports USB ou FireWire de la machine. Dans un deuxième temps effectuer la combinaison de touche suivante : « CMD-OPT-SHIFT-DELETE », puis démarrer la machine. Votre machine démarrera sur le disque externe.

Fig.7 : Touche « CMD » ou « Pomme »
Ces modes de démarrage restent très pratiques et faciles d’emploi. Ils fonctionnent sur tous les Macintosh et permettent aussi bien à l’utilisateur qu’au technicien d’effectuer des opérations de maintenance ou d’accès aux disques.
MODE PARTICULIER : SINGLE USER MODE
« Single User Mode » est un mode de démarrage qui peut se révéler très utile avant de démarrer une analyse des données présentent sur le disque. En effet, il existe bien une méthode pour accéder à la date et heure système, mais il est bon de rappeler que l’accès à l’ « EFI » n’est pas possible sans un programme particulier exemple : ReFit.
Ce mode permet d’accéder à une console ou ligne de commande sans démarrer le système d’exploitation. Il sera alors possible d’effectuer des opérations basiques de récupération d’informations système.
Un point très important est à souligner : lors d’un démarrage en « single user mode », la machine est démarrée en tant qu’administrateur. L’accès à la machine est donc ouvert sans aucune restriction. Les dommages effectués durant ce mode de démarrage seraient irréversibles. Il est donc d’une importance capitale de ne lancer que les commandes décrites ci-dessous. Ces dernières ont été testées pour n'endommager d’aucune manière les données présentes sur le disque.
La combinaison de touche relative à ce mode est : « CMD + S »
La machine va alors démarrer et un écran noir avec une ligne de commande va s’afficher. A partir de ce moment vous êtes connecté directement sur la machine en administrateur. La commande pour récupérer la date et heure système est tout simplement « date ». Attention, dans ce mode le clavier est en QWERTY, il faudra donc taper réellement « dqte ». Sur votre écran le résultat de la commande s’affichera de la façon suivante :
« Tue Nov 17 10 :34 :55 CET 2009 »
Tue = jour de la semaine en anglais
Nov = mois en anglais
17 = date du jour
10 :34 :55 = heure : minute : seconde
CET = fuseau horaire
2009 = année
Grâce à une seule commande nous pouvons récupérer la date et l’heure du système.
Mais ce mode de démarrage ne se restreint pas uniquement à cette commande. Les problèmes rencontré le plus souvent sont à la fois que nous ne connaissons pas le nombre de disques présents sur la machine et surtout que nous ne connaissons pas leur taille. Comment réaliser une image sans ces informations ? De quelle taille de disque avons-nous besoin pour effectuer cette opération ?
Les réponses à ces questions nous serons données par d'autres commandes très utiles que nous offre ce mode de démarrage particulier.
La première question posée est : combien y a-t-il de disques dans cette machines ?
Généralement les Macintosh ne sont équipés que d’un seul disque dur. Mais il est toujours bon de vérifier cette information. Pour ce faire, toujours depuis notre ligne de commande, il faut taper la commande suivante :
« ls /dev/disk? »
Le clavier étant toujours en QWERTY le point d’interrogation se fait avec : « shift+ ! » sur un clavier PC, et sur le clavier d’un Mac : « shift + = ». Pour des raisons de compatibilité, il est préférable d’utiliser un clavier Mac.
Grâce à cette commande, nous obtenons le nombre de disques connectés à la machine. Si un seul est connecté la réponse sera « disk0 », s’il y a deux disques « disk0 disk1 » etc…
Vous venez de récupérer la première information utile. Il nous reste maintenant à connaitre la taille de ce disque. Cette information pourra être recueillie avec la commande suivante :
« hdiutil partition /dev/disk0 » (toujours en clavier QWERTY « A »= « Q »)
Cette commande permet l’affichage les informations des partitions présentes sur le disque « disk0 ». Le résultat de cette commande va donc nous donner beaucoup plus d’information que simplement la taille du disque.
Voici le résultat de cette commande (Fig.8) :
scheme: GUID
block size: 512
Type_________________ Name_________________ Start___ Size____
MBR Protective Master Boo 0 1
Primary GPT Header GPT Header 1 1
Primary GPT Table GPT Partition Data 2 32
Apple_Free 34 409606
Apple_HFS Untitled 409640 389788040
Apple_Free 390197680 524255
Backup GPT Table GPT Partition Data 390721935 32
Backup GPT Header GPT Header 390721967 1
Figure 8
La première information importante se situe dans le champ « scheme ». GUID est le partitionnement d’un Mac Intel.
La deuxième information utile se situe dans le champ « block size », taille des blocks. Ce champ nous servira lors du calcul de la taille du disque.
Ce calcul se fait à l’aide du « block size » et du nombre total de secteurs. Dans cet exemple, le « block size » est de 512 octets (« block size » par défaut chez Apple). Le nombre de secteur est 390721967 +1 (390721968). A l’aide de ces deux paramètres, le calcul de la taille du disque se fait de la façon suivante :
((390.721.968 * 512(Block size)) / 1.048.576) / 1.024 = 186,… Go
Notre disque fait ici 186 Go formaté, c'est-à-dire que nous avons à faire à un disque de 200 Go non formaté. Nous sommes à présent en mesure d’effectuer une image disque.
Pour arrêter la machine, appuyer simplement sur le bouton de démarrage jusqu’à l’arrêt.
IMAGER UN MAC
Notions techniques
Une des premières opérations à effectuer sur une machine est de réaliser une image disque « bit à bit ». Cette opération devra se faire avec une rigueur extrême, étant donné qu’elle peut impacter toute l’analyse.
Avant toute chose, il est important de préciser deux notions importantes qui seront utilisées à plusieurs reprises pour la suite de ce chapitre.
Ces deux notions, présentes dans les principaux systèmes d’exploitation (Mac, Linux, et même Windows) sont :
« Attacher un disque (device) » : cette opération consiste uniquement à connecter un disque à la machine. Peu importe le type de connexion (USB, Firewire, Sata, IDE, etc.), le système détectera cette connexion. Dans ce cas, seules quelques caractéristiques du disque (device) seront disponibles, telles que le type de partitionnement, le nombre de partitions, la taille des blocs. Dans cette configuration, le système d’exploitation n’a absolument pas accéder au disque logiquement, les données ne sont pas modifiées.
« Monter un disque ou une ou des(s) partition(s) » : cette opération consiste à lire le disque et à détecter le type et le nombre de partitions. Si ces opérations sont réussies, les données sont accessibles en lecture/écriture.
Ces deux opérations sont réalisées l’une après l’autre par le système d’exploitation. C’est ce qui se passe lorsque vous branchez une clé USB ou un disque externe. Ce disque apparaît immédiatement (s’il est reconnu) et est utilisable depuis votre poste de travail.
Comme pour les systèmes d’exploitation Windows, cette opération est automatique avec Mac OS X. La différence technique majeure est la possibilité de contrôler cette opération sous Mac OS X. En effet, l’opération « attacher un disque » est automatique, mais non destructrice de données. Quant à l’opération de montage, le contrôle peut s’effectuer manuellement. Cette nouvelle notion sous Mac OS X se nomme « Diskarbitration ». En résumé, si le « Diskarbitration » est activé (position « on »), lorsqu’un disque est attaché, MAC OS X va immédiatement tenter d’identifier la ou les partitions du disque et les monter automatiquement. Si le « Diskarbitration » est désactivé (position « off »), aucune partition ne sera montée. Si le « Diskarbitration » est désactivé, aucun accès sur les partitions ou données présentes sur le disque n’est effectué, ce qui implique que le support n’est aucunement modifié. Ceci est très intéressant pour effectuer une image disque. Si le technicien désactive le « Diskarbitration », il pourra réaliser une copie du disque (device) sans l’utilisation d’un système de blocage en écriture.
Le « Diskarbitration » est un processus (daemon) fonctionnant en tache de fond. Il est lancé automatiquement lors du démarrage du système d’exploitation.

Figure 9
Sur cette capture d’écran des processus actifs (moniteur d’activité), vous pouvez voir que le processus « Diskarbitrationd » est lancé (Fig.9).
Pour le désactivé (« off »), il suffit d’arrêter (« kill ») le processus (« daemon »). La commande sous Mac OS X est la suivante :
« sudo launchctl unload /System/Library/LaunchDaemons/com.apple.diskarbitrationd.plist »
Si vous relancez le moniteur d’activité, le processus aura disparu.
Pour le relancer la commande est pratiquement identique :
« sudo launchctl load /System/Library/LaunchDaemons/com.apple.diskarbitrationd.plist »
Grâce à ces deux commandes, vous pouvez contrôler facilement le montage automatique des disques et effectuer des images de disques sans utiliser de système de blocage en écriture. Il est donc plus facile de réaliser une image avec Mac OS X qu’avec Windows, car avec ce dernier l’opération de montage des disques n’est pas contrôlable.
Réalisation d’une image disque
Réaliser une image d'un disque Mac avec un ordinateur équipé de Windows n’implique aucune opération particulière. Cette opération peut être réalisée en démontant le disque du Mac ou en démarrant la machine en mode « TDM ».
Imager un Mac avec un Mac peut se révéler plus pratique, puisque l’utilisation d’un système de blocage en écriture ne s’avère plus nécessaire. Le temps de réalisation de cette opération sera plus rapide puisque la machine Mac sera connectée directement à notre machine de copie.
La première étape de cette opération consiste à vérifier que la machine suspecte ne présente pas de mot de passe. Un démarrage avec la touche « alt » ou « option » devra être réalisé (voir chapitre II.3.1). Si un mot de passe est configuré, le démontage du disque devra être réalisé, sinon un démarrage en mode « TDM » sera effectué. Penser à connecter l’alimentation de la machine suspecte, s’il s’agit d’un ordinateur portable, le temps de copie pourra être long selon la taille du disque.
La machine à analyser est en mode « TDM ». L’étape suivante consiste à démarrer le Mac pour effectuer l’analyse. Au préalable une partition dédiée uniquement à la copie aura été configurée. Cette partition sera installée avec le minimum requis. Le ou les logiciels de copie sont déjà installés.
Une fois le système lancé, il faut désactiver le « Diskarbitration ». Lancer la commande adéquate et vérifier à l’aide du moniteur d’activité que le processus « Diskarbitrationd » a disparu (certains logiciels Mac de copie effectuent cette opération). Il faut maintenant vérifier les disques présents sur votre système. La commande à lancer est : « ls /dev/disk? » (voir chapitre II.4). Dans votre console s’affichera les disques présents sous la forme « disk0 disk1 etc... ». Notez ces informations, elles serviront à identifier le nouveau disque connecté.
Vous pouvez maintenant connecter la machine suspecte à votre machine d’analyse avec le câble FireWire et relancer la commande « ls /dev/disk? ». Un nouveau disque doit apparaitre (exemple : « disk2 »). Vous connaissez maintenant le nom du disque à copier. Connectez maintenant votre disque de destination. Relancer la commande « ls /dev/disk? » et noter le nouveau nom de disque qui sera le nom du disque de destination.
Tout est prêt pour lancer la copie de disque. A l’aide du logiciel de copie, sélectionner le disque à copier et le disque de destination. Lancer la copie de disque. Cette opération peut être effectuée à l’aide de la ligne de commande : « dd if=/dev/disk1 (disque machine suspecte) of=/dev/disk2 (disque de destination) ».
Il est recommandé de générer les condensats MD5 et SHA1 afin de vérifier que la copie s’est bien déroulée.
Une fois la copie terminée, vérifier à l’aide des fichiers logs générés que la copie s’est déroulée sans incident. Éteindre la machine suspecte.
La réalisation d’une image d'un disque Mac à l’aide d’un système Mac OS X ne demande pas d’opérations supplémentaires. L’utilisation d’un système de blocage en écriture n’est pas forcément nécessaire. De plus avec les logiciels de copie Mac, les images créées (souvent en « .dmg ») sont en lecture seule (petit cadenas avec l’icône) et comme la fonction de lecture de fichier image est implémentée en natif, vous pouvez, sans modifier quoi que ce soit, ouvrir ce fichier, le visionner et extraire directement des données de son contenu.
PARTICULARITES
Le système de fichier HFS+ est géré de la même manière que sous un système Windows. Un fichier, à la racine du disque principal, contient toutes les entrées présentes sur le disque. Ce fichier se nomme « $Catalog ». Il a la même fonction que le fichier « $MFT » sous Windows. La seule particularité de « $Catalog » vient du fait qu’il ne garde pas les fichiers effacés dans ses tables. Lors de l’effacement d’un fichier, les entrées sont totalement réécrites. C’est pour cette raison que sous un logiciel d’analyse criminalistique, aucun fichier effacé ne sera détecté.
Un fichier particulier peut être présent dans le système de fichier HFS+. Il s’agit du fichier :
« /private/var/vm/sleepimage ».
Il ne sera présent que sous les Mac Intel. Ce fichier contiendra la mémoire vive de l’ordinateur. Cette opération est effectuée par le système lors du passage en mode « safe sleep » ou « deep sleep », en fait lorsque le système se met en mode veille prolongée. Les données sont inscrites par défaut sans être chiffrées. On peut donc retrouver des informations intéressantes comme les mots de passe par exemple. Il est possible de désactiver ce mode en passant par la ligne de commande, mais aucunement par l’interface graphique. Malgré tout, il est possible de configurer le contrôleur de gestion d’énergie afin que ce fichier soit crypté.
Dans le même esprit, il existe également un fichier mémoire virtuelle: « swap » à l’intérieur duquel des informations importantes peuvent être écrites. Ce fichier se situe dans:
« /private/var/vm/swapfile0 ».
La technologie « spotlight » est utilisée dans les systèmes d’exploitation Mac OS X depuis la version 10.4, pour indexer les fichiers du disque dur. Intégré et démarré par défaut, « spotlight » permet aux utilisateurs de rechercher des fichiers sur le système.
Par ailleurs, « Spotlight » n’indexe pas seulement les noms de fichiers mais également les métadonnées de ces fichiers telles que la taille, les différentes dates (modification, création), les données « Exif » des images, ainsi que le contenu des fichiers de type Word, PDF et texte en général. Tous ces éléments sont stockés dans un répertoire caché se nommant « .Spotlight-V100 » présent à la racine du disque principal. Les répertoires indexés par défaut sont :
. Les répertoires des utilisateurs
. La poubelle de tous les utilisateurs
. /Library/Metadata
. /Library/Caches/Metadata
. /Library/Mail
. /Library/PreferencesPanes
. /Applications
Un répertoire « .Spotlight-V100 » est également créé à la racine de tout support de stockage connecté au Mac.
Le logiciel d’analyse « Mac Marshal » possède une fonction dédiée à l’utilisation de spotlight. Elle permet de lire les informations présentes dans le répertoire de références (.Sportlight-V100) et d’y effectuer des recherches.