23 avril 2010

Chain of custody

Un commentateur de ce blog (sam280), sous le billet "Un peu de technique", m'a posé une question sur la "chain of custody":

sam280 a dit…
Outre la copie sous windows, je m'étonne de ne trouver aucune mention de la fameuse "chain of custody".
Par exemple, à Enclave Forensics ils utilisent md5 (pas terrible, mais bon) afin de prouver que la copie est identique à l'original (quand c'est possible): http://www.youtube.com/user/DHAtEnclaveForensics#p/u/2/6SEnVNUAe0s
Pourriez-vous nous éclairer sur l'équivalent dans le droit français de la "chain of custody" et la façon dont vous la maintenez ?


Avant de faire part de mon sentiment sur ce problème, je voudrais planter le décor en définissant la "chain of custody":

Extrait de Wikipedia au 27/02/2010 (Informatique légale):
Rapport de garde
Terme adapté de l'anglais « chain of custody », l'expression « rapport de garde » représente un rapport ou procès-verbal établi lors de la saisie ou de la réception d'une information numérique et de son support, comportant toute information sur le détenteur antérieur (propriétaire, usager, gardien), les lieux et conditions d'acquisition (saisie, transmission), la nature du support d'information (description physique avec photographie, numéro de série), la description éventuelle de l'information numérique (méta-données, structure des données, empreinte numérique), la situation d'accès aux données (accessibles ou non), la présence de sceau (avec identification), le libellé de l'étiquette d'accompagnement, les dates d'ouverture et de fermeture du support, la mention des modifications éventuelles (suppression de mot de passe) et l'état de restitution du support (scellé, accessibilité aux données, étiquette) avec photographie.


Personnellement, je préfère l'expression "chaîne de responsabilité" (traduction plus littérale de chain of custody) plutôt que "rapport de garde". C'est donc cette expression que je vais utiliser par la suite.
Intérêt de la chaîne de responsabilité? S'assurer que la pièce à conviction présentée au procès est bien celle qui a été saisie sur le lieu du crime. Que c'est bien celle-ci qui a été analysée lors de l'enquête, et qu'elle n'a pas été altérée, ou si oui, dans quelles conditions et pour quelles raisons.

Comment cette chaîne de responsabilité est-elle organisée en France? Et bien, c'est très simple, de mon point de vue, elle n'est pas organisée... Ah si, le scellé m'est livré avec une étiquette marron sur laquelle est indiquée diverses mentions, mais rien n'est prévue pour l'expert judiciaire (les étiquettes indiquent une année à compléter commençant par "19.." et ont du être fabriquées en grande quantité dans les années 1950). Le scellé est plus ou moins bien constitué (son ouverture est souvent possible sans briser le sceau de cire). Je ne connais pas les nom et qualité de la personne qui me l'apporte. Il n'y a pas de vérification sérieuse de l'identité de la personne qui le réceptionne (et en général il s'agit de mon épouse dont le cabinet est sur place). Enfin, à ma connaissance, aucune obligation n'est expliquée à l'expert judiciaire, à part "la reconstitution du scellé". En tout cas, les différentes formations proposées aux (futurs) experts ne semblent pas mentionner pas cet aspect.

Chaque expert met donc en place sa propre procédure, suite à son expérience, son domaine d'expertise, ses lectures et ses échanges de bonnes pratiques. "A la française" donc.

Je voudrais citer un commentaire trouvé sous l'article Ces as de l'informatique au secours des juges et que je reproduis ici car il me semble intéressant:
Je ne suis pas expert judiciaire mais expert scientifique qui en connait un rayon en termes de bonnes pratiques. Sachez que dans notre domaine, le pharmaceutique, tout ce qui n'a pas été réalisé selon une procédure documentée et validée n'existe pas. Une validation d'un logiciel chez nous prend de 6 mois à un an. Un "expert" dont la formation n'est pas documentée et qui à ouvert un DD sans procédure validée et qui a copier tout ça sur son ordi sans validation de sa procédure... n'a en fait rien fait de valable juridiquement parlant. Tout avocat peut facilement contester le travail de cet "expert" si la documentation aussi bien du travail que des procédures est défaillante, même si lui a la réputation d'être un crac. Et chaque fois qu'il change de matos, il peut recommencer sa validation. Mettre en place ces procédures est, en fait, bien plus complexe que d'ouvrir le DD. C'est ça la réalité judiciaire. Les expertises de coin de table et rien c'est du pareil au même.

Nous n'en sommes qu'au début des contestations. Le juge de l'article n'est même pas encore au courant. Bientôt, ces expertises ce sera en fait beaucoup de temps perdu pour rien. Du balai, toutes ces "expertises" de soi-disant experts. Et avec "les bonnes pratiques d'expertise informatique" qu'il va falloir mettre en place, les prix vont monter, monter et du coup les expertise vont se faire rares, très rares.

Je pense que, malheureusement, ce commentateur a parfaitement raison et qu'il manque en France la mise en place d'une chaîne de responsabilité stricte en matière d'investigation.

Pour autant, il en faut pas attendre que quelqu'un pense à mettre en place un système global et la plupart des experts judiciaires ont mis en œuvre de bonnes pratiques en la matière. A défaut d'avoir une chaîne complète, il faut donc essayer d'être un bon maillon, et voici en résumé ma chaîne à un maillon:

Le scellé arrive à la maison: mettez en place un cahier de réception avec date, nom et qualité du livreur et signature.

Ouverture du scellé: utilisez un cahier de prises de notes (papier ou numérique). Notez l'état général du scellé, les rayures, les éléments endommagés, la quantité de poussière visible, les traces de moisi (si, si!), etc. Prenez quelques photos (avec les appareils numériques, ne pas hésiter à mitrailler). Si l'ouverture du scellé nécessite une procédure particulière, notez sur ce cahier les sites internets utilisés ou la documentation technique ad hoc. Ce cahier est la clef de voute de votre mémoire. Pensez aux chercheurs du siècle précédent qui notaient tout pendant leurs expériences. Si votre expertise se déroule sur plusieurs jours, notez bien la date à chaque fois.

Extraction du disque dur: C'est toujours un moment émouvant lorsqu'il s'agit de sortir le (ou les) disque dur. En effet, c'est seulement à ce moment là que vous allez comprendre que le devis adressé au magistrat, et dans lequel vous indiquez 10h de travail, risque d'être un peu sous évalué avec les trois disques de 1000 Go que vous êtes en train d'extraire. N'oubliez pas de prendre des photos, de noter les positions des disques (surtout en cas de RAID logiciel) et des cavaliers pour pouvoir tout remonter correctement. Et ne croyez pas que ce soit la phase la plus facile de l'expertise...

Mise sous tension de l'unité centrale sans disque dur: Cette étape est nécessaire pour vous permettre d'entrer dans le BIOS afin de noter tous les éléments concernant l'horloge de la machine. Souvent, le système d'exploitation s'appuie sur le temps fourni par le BIOS. En tout cas, si la pile du BIOS est épuisée, ce sont des informations perdues, et il faut l'écrire dans son rapport d'expertise.

Prise d'image: Tout ce processus est décrit dans ce (récent) billet. Je le complète ici en parlant du calcul du hash du disque dur. Non, il ne s'agit pas d'un dérivé du chènevis utilisé par nos pécheurs, mais du résultat d'une fonction de hachage. Personnellement, j'utilise MD5 avant ET après la prise d'image. Normalement, le résultat doit être le même, ce qui prouve que vous n'avez en rien modifié les données écrites sur le disque dur (attention, les données S.M.A.R.T. ont été modifiées). Si les hashs calculés avant et après la prise d'image sont différents, alors cela signifie, soit que vous êtes nul, soit que des secteurs défectueux sont apparus sur le disque pendant la prise d'image, soit que vous travaillez avec un disque dur SSD. En effet, dans ce dernier cas, les fabricants ont chacun mis en place une technique dite "d'étalement de l’usure" (en anglais "wear levelling") qui a pour objectif d’éviter de toujours utiliser pour le stockage les mêmes cellules mémoires, car ces dernières perdent (après quelques millions de cycles de lecture et écriture) leurs capacités nominales de mémorisation. Pour plus d'informations, lire l'excellent article dans la revue Experts de mes confrères Jean-Louis Courteaud et Jean-François Tyrode.

Remontage du scellé: Paradoxalement, ce n'est pas forcément l'étape la plus simple. Si l'expertise a duré plusieurs jours, voire plusieurs semaines (cas du salarié qui n'effectue ses expertises que le week-end ;), le cahier de notes et les photos prennent toute leur importance. Il faut être précis, surtout que vous ne pourrez pas brancher l'ordinateur pour voir s'il démarre correctement.

Reconstitution du scellé: J'ai déjà écrit plusieurs billets sur ce thème. En résumé: cachet de cire (billet de 2007 toujours valable) si vous voulez impressionner, ou sac poubelle transparent fermé avec un solide adhésif d'emballage.

Restitution du scellé: Notez bien les heure et date de reprise, ainsi que les nom et fonction (avec signature) sur votre cahier de suivi.

A défaut d'être une bonne chaîne de responsabilité, cela m'a permis d'être un maillon suffisamment fort, surtout lorsque j'ai reçu un coup de fil d'un magistrat qui avait perdu la trace d'un scellé.

Et là, avec ma chain of custody, je crie "Kudos"!

9 commentaires:

  1. Juste une remarque indépendante de l'expertise judiciaire : les informaticiens semblent répugner au plus haut point à noter méticuleusement les opérations qu'ils effectuent.
    Pourtant, l'installation d'un système ou d'un service devraient respecter cette façon de faire, en notant scrupuleusement les opérations réalisées, avec les dates et les heures, pour pouvoir reproduire exactement la même séquence ou comprendre plus tard ce qui n'a pas (ou a) fonctionné.

    RépondreSupprimer
  2. @Dominik38: Une réponse indépendante de l'expertise (c'est le responsable de service info qui parle): la plupart du temps les opérations réalisées sont des dépannages dans l'urgence. On ne sait donc rien de ce qui a causé la panne. On redémarre, on étudie le problème et on est très heureux quand il est réparé.

    Par contre, un bon service informatique génère (et gère) tout un ensemble de procédures et de bonnes pratiques (ITIL par exemple).

    Mais tout cela demande du temps et des compétences, ce qui coute cher...

    RépondreSupprimer
  3. @Zythom
    "Mais tout cela demande du temps et des compétences, ce qui coute cher..."

    Nous sommes d'accord ...

    RépondreSupprimer
  4. Cela me rappelle les recommandations pour le cas où l'on doit ouvrir un ordinateur portable (p.ex. parce que disque dur à moitié kaput): toujours faire un dessin de tout ce que l'on démonte, avec indication des positions des vis et de leur type.

    Une tour, il suffit de tout rebrancher et grosso modo les vis sont quasi toutes les mêmes. Un portable, il faut vraiment remettre exactement en l'état...

    RépondreSupprimer
  5. Pour l'article cité de Wikipedia, j'avais traduit en 2006 "chain of custody" par "rapport de garde", convaincu que la France de l'époque n'était pas prête à accepter l'idée et surtout la nécessité de mettre en œuvre une véritable "Chaîne de garde" ou "Chaîne de la garde" (Qui est la traduction la plus appropriée me semble t-il. En effet, "custody" apparaît dans la langue anglaise au XVe siècle à partir du latin "custodia", de "custos", le garde, de défenseur.). La "responsabilité" a trop d'implications juridiques pour la convoquer ici, dans une série d'opérations qui restent factuelles.

    On ne peut qu'approuver l'article de Zythom confirmant les graves déficiences que tout labo et tout expert peut observer quotidiennement dans le domaine numérique. On ne peut que s'inquiéter du peu d'intérêt que la chancellerie et la magistrature accordent à cette question : où en est le projet de répertoire national des scellés ?

    Pour notre labo, nous avons mis au point des "fiches de protocole", dont l'usage et la documentation sont obligatoires pour tous les experts et assistants. L'avantage par rapport au cahier de prise de notes est que chaque support est astreint au même traitement et qu'aucune opération n'est oubliée.

    Sur le fond, le parcours du scellé décrit par Zython est le même que celui de nos "fiches de protocole", à quelques détails près : SHA1 plutôt que MD5 (supprime sans peine un débat inutile), outre les deux calculs indiqués par Zythom, nous calculons aussi le SHA1 de la copie-image sur laquelle nous travaillons, adjonction d'une identification (unique) sous forme d'étiquette sur chaque composant d'un scellé, PV de réception établi par notre labo et signé du réceptionnaire (PV prévu par le code de procédure pénale art. 166 al. 3, mais très peu appliqué), …

    Et … bien conserver ces informations, utiles pour la rédaction du rapport et … pour répondre aux exigences de restitution de scellés rendus depuis longtemps.

    RépondreSupprimer
  6. Le suivi des saisies-scellés de matériel informatique va être je pense, de plus en plus strict, au fur et à mesure que certaines procédures seront cassées pour des problèmes techniques.
    La mode actuelle étant plus d'attaquer les procédures sur la forme que sur le fond, il sera nécessaire qu'une procédure stricte et uniforme soit mis en place à l'avenir.

    Bruno

    RépondreSupprimer
  7. Je suis peut-être hors sujet mais ce billet me fait penser à quelque chose que j'ai découvert et pratiqué il y a peu : la norme ISO 9001 !… avec ses qualités et ses travers.

    Pour la faire courte, j'ai travaillé en intérim dans une entreprise (entretien d'espaces verts) où je gérais 10 équipes de 8 travailleurs intervenant chaque jour sur des chantiers à l'extérieur de l'établissement.

    Pour des raisons de strict respect de la procédure inhérente à la norme iso en question, la direction insistait pour que tout contact avec la clientèle, toute commande, toute intervention, tout matériel, tout événement (même le plus anodin) soient précisément consignés sur diverses fiches, lesquelles fiches devaient être soigneusement classées.

    Ainsi, dans l'idéal, il était théoriquement possible de savoir tout ce qui s'est passé tel jour, à telle heure, à tel endroit, sur tel chantier, et avec qui, sur plusieurs années. Un contrôle régulier consistait d'ailleurs à donner une date ou un nom de client et à tout ressortir instantanément !

    En pratique, le volume d'informations et de papier était tel que c'était non seulement ingérable, mais en plus une contrainte en temps et en énergie préjudiciable à la qualité même du travail de tous.
    Les chefs d'équipes passaient 30 mn en début et en fin de journée pour remplir ces fameuses fiches, puis les déposaient sur mon bureau afin que je les consulte, les vise, les classe, les photocopie et les fasse suivre aux autres services quand c'était nécessaire…

    Le plus amusant est que la lourdeur administrative était telle que je me suis rendu compte que la plupart des services de cet établissement avaient mis en place des systèmes parallèles pour éviter d'enclencher cette machine administrative pour des faits insignifiants : par exemple, une caisse noire ou un stock de matériel officieux permettant d'acheter ou de remplacer rapidement un matériel cassé ou perdu sans remplir de fiche.

    RépondreSupprimer
  8. Merci pour ce billet à la fois trés instructif et assez édifiant sur le manque de procédures imposées par la législation ; si je me retrouve un jour accusé, je sais où mon avocat devra creuser ;-) Au passage, md5 et SHA-1 ne sont pas considérés comme robuste de nos jours (par exemple, aucun des deux ne satistait aux critères de l’ANSSI pour les fonctions de hachage, voir http://www.ssi.gouv.fr/IMG/pdf/RGS_B_1.pdf). Y a-t-il une raison particulière pour laquelle vous n'utilisez pas, par exemple, SHA-512 ?

    RépondreSupprimer
  9. @Sam280: J'utilise la fonction de hachage la plus courante disponible dans de nombreux outils d'analyse inforensique.

    Ne perdez pas de vue l'objectif: s'assurer que le disque dur que l'on a analysé n'a pas été modifié entre deux expertises.

    Le fait qu'une fonction de hachage soit moins robuste et permette à quelqu'un de modifier significativement le contenu d'un disque dur pour modifier des traces compromettantes sans modifier le hash calculé me semble extrêmement peu probable.

    De toute façon, les mécanismes mis en place dans les disques SSD font déjà voler en éclat le principe même du calcul du hash (quelque soit la fonction) puisque le hash peut être différent entre deux calculs alors même que personne n'a cherché à modifier le disque dur (mais qu'il s'est modifié tout seul en réallouant automatiquement des espaces de données).

    RépondreSupprimer

Lectrice, admiratrice, avocate, magistrate, programmeuse, dessinatrice, chère consœur, femmes de tous les pays, lecteur, j'ai toute confiance en vous pour prendre bien soin de vérifier que votre prose est compatible avec les normes orthographiques et grammaticales en vigueur. Et si vous pouviez éviter les propos insultants ou haineux, je vous en serais reconnaissant.
N'hésitez pas à respecter ces quelques règles qui peuvent même s'appliquer en dehors de ce blog.

Les commentaires sur ce blog sont modérés. Votre message apparaîtra sur le blog dès que le modérateur l'aura approuvé. Merci de votre patience.