[tarhison] rendre anonyme ses archives tar.

Mise à jour / Création /debug de paquetages
Avatar de l’utilisateur
marc[i1]
Maître du Kyudo
Messages : 1753
Inscription : ven. 27 oct. 2006, 10:48
Localisation : Nantes (44)

[tarhison] rendre anonyme ses archives tar.

Message par marc[i1] »

Bonsoir,

Voici un petit programme en python pour résoudre certains problème de fuite de donnés contenu dans tar ! Comme l'auteur est français, je vais le laisser parler : http://devloop.lyua.org/blog/index.php? ... 0-tarhison
Quand on parle de fuites d'informations dans les formats de fichier, on pense généralement aux formats propriétaires et en particulier aux formats de la suite MS Office.
Dans un document au format Word on trouve tout un tas d'informations que l'on ne souhaite pas forcément rendre public (votre nom, nom de votre PC, chemin sur le disque, noms des auteurs, dates de modifications etc).
Microsoft en a pris conscience et développé un outil de suppression de métadonnées pour ses formats propriétaires.

A un niveau moindre, le format d'archivage Tar pose le même problème. Ce format est à l'origine destiné à effectuer des sauvegardes, par conséquence il garde un nombre importants d'informations comme les id de l'utilisateur et du groupe propriétaires, les droits sur le fichier et la date de dernière modification.
L'évolution de l'ancien format tar pour la norme ustar n'arange pas les choses et rajoute le nom d'utilisateur et le nom du groupe.

Mais le format Tar n'est pas seul à l'origine de ce problème. On pourrait montrer du doigt les programmes gzip et bzip2 qui ne permettent pas de compresser un répertoire et obligent par conséquent le passage par Tar.
Heureusement il existe des programmes de compression capables de gérer les répertoires directement comme zip et 7z, seulement il ne sont pas forcément disponibles selon le système UNIX que vous utilisez.

Ce problème m'a donné l'envie d'écrire un petit programme d'anonymisation d'archives tar (compressées ou non par gzip/bzip2) que j'ai baptisé Tarhison.
Voici le PKGBUILD pour Archlinux … j'y ai ajouté un exécutable bash pour faciliter l'exécution.

Code : Tout sélectionner

pkgname=tarhison
pkgver=00
pkgrel=1
pkgdesc="anonymisation d'archives tar"
url="http://devloop.lyua.org/blog/index.php?2007/03/24/420-tarhison"
license="custom"
arch=(i686 x86_64)
depends=('python')
makedepends=()
provides=()
conflicts=()
replaces=()
backup=()
install=
source=(http://devloop.lyua.org/releases/$pkgname.py tarhison)
md5sums=('52fa9da97ef38e69c55b9347934f5039' 'dc0f87cfeced5ddc96f30a4e723582e0')

build() {
        cd $startdir/src/
        install -d -m755 $startdir/pkg/usr/share/$pkgname
        install -d -m755 $startdir/pkg/usr/bin
        install -m755 $startdir/src/tarhison $startdir/pkg/usr/bin/
        install -m755 $startdir/src/tarhison.py $startdir/pkg/usr/share/$pkgname/
}
J'ai mis la licence en "custom" car il n'y a aucune indication pour l'utilisation d'une licence libre, l'auteur est un libriste convaincu mais bon, dans le doute …

et voici le fichier bash :

Code : Tout sélectionner

#!/bin/sh
# for ArchLinux

HERE=$PWD
cd /usr/share/tarhison
python tarhison.py $HERE/$1
Voici aussi le pédigré du pkg :

Code : Tout sélectionner

$ yaourt -Qi tarhison
Name           : tarhison
Version        : 00-1
Groups         : None
Packager       : moi :)
URL            : http://devloop.lyua.org/blog/index.php?2007/03/24/420-tarhison
License        : custom
Architecture   : i686
Size           : 2098
Build Date     : Mon Mar 26 21:16:50 2007 UTC
Install Date   : Mon Mar 26 21:24:11 2007 UTC
Install Script : No
Reason:        : explicitly installed
Provides       : None
Depends On     : python
Required By    : None
Conflicts With : None
Description    : anonymisation d'archives tar
Le pkg est dispo sur le repo archlinux.fr

Pour les curieux, je vous conseil de vous rendre sur le blog de l'auteur pour comprendre le fonctionnement.
Ne vous emmerdez plus, emmerdez les autres.
Avatar de l’utilisateur
wain
Maître du Kyudo
Messages : 1854
Inscription : ven. 11 août 2006, 19:15
Localisation : Nancy (54)

Message par wain »

mais mais mais ! c'est vachement bien foutu ce truc :shock:
Je pense d'ailleurs que ça devrait être intégré à des programmes comme gensync (ou buildpkgfr) 8)

Merci d'avoir partagé cette découverte :kimouss:
Répondre