web-dev-qa-db-fra.com

Est-il possible de savoir si le disque dur est crypté?

Est-il possible de dire si un disque dur est crypté, quel que soit le logiciel utilisé, c'est-à-dire Truecrypt/VeraCrypt/Bitlocker pour AES-256?

L'autre jour, j'ai pensé qu'il serait possible de dire si je numérise le lecteur avec "Sector View" pour lire les données. Si les données sont remplies d'aléatoire, cela signifie qu'elles sont cryptées. Est-ce si facile à dire?

38
cpx

Nous avons ici deux types de cryptage, le "cryptage basé sur les fichiers" et le "cryptage complet du disque". Il existe des méthodes et des logiciels de criminalistique documentés (par exemple EnCase) qui nous aident à détecter les schémas et programmes utilisés pour crypter le disque.

Je vais prendre une liste d'outils et de normes populaires et voir s'ils laissent des traces avec lesquelles nous pouvons déterminer qu'ils ont été utilisés:

  • Bitlocker
    Bitlocker est une norme de chiffrement complet du disque disponible sur le système d'exploitation Windows à partir de Windows 7; cet outil utilise AES256 pour crypter le disque. Un disque chiffré par bitlocker est différent d'un disque NTFS normal. La signature de " - FVE-FS - " se trouve au début des volumes chiffrés par bitlocker.
    Ces volumes peuvent également être identifiés par un GUID:
    • pour BitLocker: 4967d63b-2e29-4ad8-8399-f6a339e3d00
    • pour BitLocker ToGo: 4967d63b-2e29-4ad8-8399-f6a339e3d01
  • DiskCryptor/TrueCrypt/VeraCrypt
    DiskCryptor est basé sur TrueCrypt. Pour DiskCryptor et TrueCrypt, nous pouvons détecter leur présence avec les critères suivants:
    • la taille du fichier ou de la collection de clusters est un multiple de 512,
    • la taille minimale de l'objet est de 19 Ko, bien que, par défaut, elle soit d'au moins 5 Mo,
    • ne contient aucune signature de fichier spécifique sur l'ensemble de l'objet, et
    • a une entropie de Shannon élevée ou passe le test de distribution du chi carré. Notez que comme il n'y a pas de signature ou d'en-tête spécifique, nous ne pouvons pas dire avec certitude si TrueCrypt (ou ses frères et sœurs) ont été utilisés, en combinant plusieurs méthodes, nous pouvons essayer de mieux deviner sa présence.
  • FileVault
    Filevault est l'équivalent de Bitlocker sur Mac et offre un chiffrement complet du disque. La signature de " encrdsa " ou la valeur hexadécimale de " 65 6E 63 72 63 64 73 61 "se trouve au début des volumes chiffrés FileVault.
  • cryptsetup avec LUKS
    La configuration de clé unifiée Linux est une spécification de chiffrement de disque et peut être utilisée dans cryptsetup sur Linux qui est un outil courant pour le chiffrement des volumes de supports de stockage. Il est facultatif et les utilisateurs peuvent choisir de ne pas utiliser ce format mais s'il est utilisé, nous pouvons détecter sa présence avec la signature " LUKS\xba\xbe " au début des volumes.
  • Check Point Full Disk Encryption
    Au décalage de secteur 90 du VBR, l'identifiant du produit " Protect " peut être trouvé. Valeur hexadécimale " 50 72 6F 74 65 63 74 "
  • GuardianEdge Encryption Plus/Anywhere/Hard Disk Encryption et Symantec Endpoint Encryption
    A l'offset de secteur 6 MBR, l'identifiant du produit " [~ # ~] pcgm [~ # ~] " peut être trouvé. Valeur hexadécimale " 50 43 47 4D "
  • McAfee Safeboot/Endpoint Encryption
    À l'offset de secteur 3 MBR, l'identifiant du produit " Safeboot " peut être trouvé. Valeur hexadécimale " 53 61 66 65 42 6F 6F 74 "
  • Sophos Safeguard Enterprise et Safeguard Easy
    Pour Safeguard Enterprise, au décalage de secteur 119 du MBR, l'identifiant du produit " SGM400 " peut être trouvé. Valeur hexadécimale " 53 47 4D 34 30 30 3A "
  • Chiffrement de disque entier Symantec PGP
    Au décalage de secteur 3 MBR, l'identifiant du produit " ëH | PGPGUARD " peut être trouvé. Valeur hexadécimale " EB 48 90 50 47 50 47 55 41 52 44 "

Mesure de l'aléatoire des fichiers pour détecter le cryptage

Les méthodes discutées précédemment peuvent ne pas être réalisables pour tous les schémas de chiffrement de disque/fichier car toutes n'ont pas de propriétés spécifiques que nous pouvons exploiter pour les détecter. Une autre méthode consiste à mesurer le caractère aléatoire des fichiers et plus ils sont proches du hasard, plus nous sommes certains que le cryptage est utilisé.
Pour ce faire, nous pouvons utiliser un script Python nommé file_entropy.py . Plus la valeur d'entropie est proche de 8,0, plus l'entropie est élevée.
Nous pouvons étendre cela plus loin et dessiner des graphiques pour visualiser la distribution des octets. ( calculer-entropie de fichier )

Un autre pointeur pour détecter le chiffrement est qu'aucune signature de fichier connue ne sera repérée dans le volume. (Pas de jpg, pas de documents bureautiques, pas de types de fichiers connus) Et comme les méthodes de compression (par exemple gzip , rar et Zip ) ont des signatures connues, nous peut les différencier du cryptage pour la plupart.

Résumé

  1. Utilisez des signatures connues pour détecter le chiffrement (si possible)
  2. Utilisez des caractéristiques spéciales (taille de fichier minimale, entropie élevée, absence de signature de fichier spéciale, etc.) pour détecter le chiffrement
  3. Exclure les fichiers compressés à l'aide de leur signature

Revenons donc à la question principale, " Est-ce si facile à dire?", cela relève des méthodes médico-légales, nous pouvons avoir affaire à des techniques de stéganographie. Dans un cas normal où l'utilisateur n'essaye pas de nous tromper, il est en quelque sorte facile de dire que le cryptage est en place mais dans des scénarios du monde réel où l'utilisateur peut essayer de cacher des choses et nous tromper, il peut simplement diriger/dev/urandom vers un fichier ! Ce ne sera pas facile.

73
Silverfox

Bien que vous ne puissiez pas dire pour certain, vous pouvez le dire dans une certaine plage de confiance.

Les données chiffrées ressemblent à du bruit blanc: chaque bit a exactement une probabilité de 50% d'être défini, indépendamment du reste des bits; il n'y a pas de corrélation entre un bit donné et l'un des autres. C'est purement aléatoire.

Il s'avère que cette qualité aléatoire élevée n'est pas particulièrement courante dans le cycle de vie normal d'un disque dur. En général, il y a certains modèle ou autre. Soit un modèle résiduel du processus de fabrication, soit un modèle de la configuration du système de fichiers, soit un modèle de fichiers en cours ou supprimés précédemment. Donc, si un disque contient du bruit blanc pur, alors l'explication la plus probable est que quelqu'un a effectué un "effacement sécurisé" sur le lecteur ou qu'il contient des informations chiffrées.

À titre d'exception, une forme de données non cryptée courante qui ressemble souvent beaucoup à du bruit est les données compressées. Plus le taux de compression est élevé, plus il ressemblera à des données chiffrées. Pourtant, les données compressées ont généralement des marqueurs révélateurs, donc un examen plus attentif peut généralement l'exclure.

15
tylerl

Si les données sont remplies d'aléatoire, cela signifie qu'elles sont cryptées. Est-ce si facile à dire?

Non. Si je veux jeter ou donner un disque dur, j'en supprimerais les données personnelles en exécutant un programme comme shred qui remplace le contenu avec des données aléatoires. Ainsi, la présence de données aléatoires ne prouve rien.

Vous pouvez ensuite reformater ce disque avec un système de fichiers ou un autre, ce qui rendrait la première partie du disque normale et le reste aléatoire. Cela ne prouve toujours pas si la partie aléatoire est chiffrée ou simplement restée de l'opération de nettoyage.

Je suis un peu surpris que la plupart des produits de chiffrement laissent traîner des signatures comme décrit par Silverfox. Cela semble prêter à l'utilisateur un déchiffrement par force brute comme décrit ici:

Security

10
Nick Gammon