web-dev-qa-db-fra.com

Comment simuler le format de fichier à un format arbitraire?

J'ai un fichier .iso de 10 Go contenant des informations sensibles.

Comment faire pour que son format soit un format de mon choix (disons .mp4)

Cette méthode est-elle valable pour n'importe quel format?

$ cat picture.png myiso.iso.gpg > picture2.png

picture.png est une image aléatoire, myiso.iso.gpg, un fichier crypté au format gpg contenant des informations sensibles et picture2.png, le fichier caché au format fictif.

2
user202459

Linux ne se soucie pas de l'extension de fichier. Changer le nom du fichier ne laisse PAS la commande file montrer qu'il s'agit d'une image. Il montrera toujours que c'est une ISO.

Comment croyez-vous récupérer l'ISO de cette façon:

cat picture.png myiso.iso.gpg > picture2.png

Pourquoi ne cryptez-vous pas le fichier?

gpg -c {file}

serait suffisant. Il vous demandera un mot de passe deux fois. Faites-en un bon, et ne l'oubliez pas

Si vous ne voulez pas que le fichier apparaisse, commencez le nom par un "." et le mettre dans un répertoire, supprimer toutes les autorisations sauf pour l'utilisateur et le verrouiller avec chattr -i {file} à partir d'une session racine.

8
Rinzwind

Cela ressemble beaucoup à un problème A/B pour moi. Vous voulez protéger les données de manière à ce que les gens ne soupçonnent pas qu'il s'agit de données sensibles.

Le moyen le plus simple de masquer des données consiste simplement à les chiffrer à l'aide de gpg , TrueCrypt , LUKS ou d'un utilitaire de chiffrement similaire.

Vous pouvez maintenant utiliser la stéganographie, mais ce n'est pas exactement la meilleure idée car le concept de "sécurité par l'obscurité" entre toujours en jeu. Tout attaquant suffisamment déterminé sera quand même capable d'extraire le fichier ou du moins de le trouver ("pourquoi cette personne a-t-elle une image de 10GB ou un MP4 corrompu? Il s'agit peut-être de cacher des données!"). Vous vous fiez à la sécurité par l'obscurité, ce qui est toujours une mauvaise idée.

Au lieu de cela, si vous souhaitez enregistrer quelque chose et conserver une déni plausible, il vous suffit de vous assurer que les données sont aléatoires et ne comportent pas d'en-tête. LUKS/cryptsetup a une option (--header) qui vous permet de stocker les en-têtes LUKS séparément des données (par exemple, sur une clé USB que vous portez toujours sur vous), ainsi tout attaquant utilisant file ne le verra que de manière aléatoire. Les données. Et, si vous soupçonnez que quelqu'un se rapproche, il vous suffit de "perdre" le lecteur.

Si vous êtes vraiment paranoïaque, vous pouvez toujours utiliser volumes cachés dans LUKS, ce qui vous permettra d'avoir un faux volume extérieur ainsi qu'un plus volume intérieur secret. Pourquoi cela serait-il utile? Exemple:

Bande dessinée empruntée à XKCD

Même si vous êtes soumis à cryptanalyse de tuyaux en caoutchouc , vous pouvez simplement donner le mot de passe du volume extérieur (non secret) avec uniquement des données de corbeille. Et, si vous avez déjà détruit le lecteur d’en-tête (ou ne l’avez pas retiré de son lieu sûr), il est impossible de le déchiffrer et c’est en réalité une simple collecte de données aléatoires.

TL; DR: N'essayez pas la stéganographie. Au lieu de cela, supprimez simplement l'en-tête de cryptage pour lui donner l'apparence de données aléatoires. Si vous êtes vraiment paranoïaque, créez un volume "caché" supplémentaire pour plus de sécurité. Votre fichier crypté ne sera pas fissuré, car cela prendra littéralement des millions d'années avec un équipement spécialisé. Si vous êtes pris/torturé pour le mot de passe, vous pouvez simplement donner un "faux" mot de passe aux données non importantes. Dans les deux cas, vous obtenez 2FA, un déni plausible et la possibilité de détruire l’un des facteurs rapidement et efficacement.


Ou, vous pouvez simplement ignorer tout cela et simplement avoir un fichier crypté normal. Pour contrer votre commentaire:

L'afficher comme étant chiffré montre qu'il a un contenu précieux et qu'il est donc plus susceptible d'être craqué par un matériel ad hoc coûteux.

Le cryptage est vraiment commun de nos jours. Presque tous les smartphones sont cryptés. Est-ce que chaque smartphone a un contenu précieux/sensible? Un bon cryptage prendrait des millions d’années et des centaines de milliers de dollars à craquer avec du matériel très spécialisé, il est impossible d’essayer de déchiffrer des données juste "sur un soupçon". Certes, vous obtiendrez peut-être des secrets nationaux, mais vous obtiendrez tout aussi facilement des images de chat (et cette dernière est loin plus probable). Comme l'indique le titre du XKCD ci-dessus:

Réelle: personne ne se soucie de ses secrets.

6
Kaz Wolfe

Comme aucune des réponses actuellement présentées ne répond à la question de savoir comment simuler le format d'un fichier:

Il existe deux manières de masquer les données ISO dans un fichier PNG ou MP4.

  1. Stéganographie , l'habitude de dissimuler un fichier, un message, une image ou une vidéo dans un autre fichier, un message, une image ou une vidéo. Le fichier résultant sera parfaitement visible, comme une photo ou un film innocent. Cependant, cela pourrait prendre beaucoup d’efforts.
  2. La deuxième méthode consiste simplement à insérer l'en-tête du format de fichier choisi, tel que l'en-tête de 8 octets de PNG, au début de votre fichier pour inciter les programmes qui l'ouvrent à penser que c'est ce format. Vous devez également modifier l'extension du fichier, au cas où. Toutefois, le fichier résultant serait très probablement corrompu lors de la visualisation, ce qui pourrait susciter des soupçons.

Bien entendu, cela signifie également que vous devrez peut-être diviser l’ISO en plusieurs parties pour obtenir un déguisement plus convaincant. Un fichier PNG de 10 Go est plutôt suspect.

0
Ignis Incendio