Skip to content

Découverte du système d'exploitation TAILS

TAILS, The Amnesic and Incognito Live System est un système d’exploitation ayant pour objectif la préservation de l’anonymat et la protection de la vie privée de ses utilisateurs. Faisons le tour de ce système d’exploitation.

Il y a beaucoup à dire à propos de TAILS, de son utilisation et des outils qui y sont implémentés. J’essaierai ici de faire le tour de tout cela avec une vue parfois technique, parfois vulgarisée.

Un système amnésique et incognito ?

Comme je l’ai dit, TAILS est l’acronyme de « The Amnesic and Incognito Live System« , et cela va bien nous aider à comprendre ce qu’il est.

  • Un système d’exploitation : Comme Windows ou Ubuntu, TAILS est un système d’exploitation, composé de programmes qui gèrent les ressources matérielles et les demandes et actions de son utilisateur. TAILS prend d’ailleurs comme base Debian, comme le fait Ubuntu.
  • Un système d’exploitation amnésique : L’amnésie est définie comme le fait de ne pas avoir de mémoire à long terme ou de souvenir. Dans le domaine des systèmes informatiques, on appelle cela la traçabilité ou le fait de savoir quand un système a été utilisé et ce qu’il a fait. TAILS est un système qui va cacher le fait d’avoir été utilisé sur un matériel (ordinateur) ou sur le réseau. Ainsi il n’y aura, après son extinction, aucune preuve que TAILS a été utilisé, au contraire des systèmes d’exploitation standards.
  • Un système d’exploitation qui rend l’utilisateur « Incognito » : L’objectif principal de TAILS étant de préserver l’anonymat et la vie privée de son utilisateur, TAILS et ses composants sont configurés de sorte à toujours préserver les communications et les informations qui y transitent des yeux un peu trop curieux.
  • Un système d’exploitation qui s’utilise « En live » : Cela est une notion connue pour les systèmes d’exploitations UNIX, un système Live permet d’être utilisé sur un ordinateur sans avoir à installer celui-ci sur un disque dur de façon persistante. Ainsi, on peut utiliser n’importe quelle machine sans altérer le contenu de son disque dur et sans laisser de trace.

Il faut savoir que TAILS n’est pas un système d’exploitation que l’on pourrait qualifier de « Daily OS », c’est à dire un système d’exploitation tel que Ubuntu, Debian ou Windows qui s’utilise tous les jours pour toutes les tâches habituellement effectuées sur une OS standard. La raison principale est qu’il est amnésique, comme nous l’avons vu plus haut, une fois que le système s’éteint, tout ce qui y a été entrepris et créé n’existe plus et au redémarrage, tout sera comme si rien ne s’était passé, dur d’imaginer une utilisation quotidienne ainsi.

TAILS-band-01

Son objectif est tout autre : proposer une système d’exploitation composé d’outils standards tel qu’une suite bureautique ou graphique, mais surtout et principalement des outils de communication et de navigation au travers le réseau (Internet) pré-installés et pré-configurés pour assurer l’anonymat et la discrétion de son utilisateur. Nous verrons par la suite dans cet article pourquoi et comment ces outils rendent l’utilisateur incognito et le système amnésique.

Mais si TAILS ne peut être utilisé au même titre que Windows ou Ubuntu, quel sont ses contextes d’utilisation ? Qui pourrait en avoir besoin ? Voici quelques exemples :

  • Les journalistes, travaillant sur des dossiers secrets et sensibles et souhaitant avant tout protéger leurs sources.
  • Les opposants politiques dans les régimes où les communications numériques sont surveillées et analysées. C’est par exemple le cas dans le régime autoritaire de la République Populaire Chinoise, entre autres.
  • Dans des contextes d’échanges qui se doivent d’être sécurisés, dans des contextes privés comme pour les entreprises dont les membres échangent à travers différents pays et différents réseaux ou encore par les gouvernements.

Les forces de TAILS sont multiples et son efficacité est connue et avouée par les différents systèmes de surveillance :

  • TAILS se veut être un système live compatible avec un maximum de matériel, tournant « En live« , il se doit d’être compatible et utilisable dans un grand nombre d’environnements, d’être utilisé par différentes cartes réseaux / wifi par exemple.
  • TAILS propose de façon pré-installée et pré-configurée un ensemble d’outils qui ont vocation à protéger l’anonymat et la vie privée de son utilisateur et de ses correspondants. L’OS entier et ses composants sont pensés de cette façon, ce qui évite les oublies sur ces sujets.
  • En tant que système live, il peut être transporté sur plusieurs périphériques différents : Clé USB, Carte SD, CD/DVD…
  • Sans configuration spécifique de l’utilisateur, TAILS est paramétré pour ne laisser, après son extinction, aucune trace et preuve de son utilisation, nous verrons par la suite comment et grâce à quels outils/procédés.

TAILS a été désigné par la NSA et d’autres programmes de surveillance des citoyens sur les réseaux comme un des principaux outils leur posant des difficultés. Cela montre qu’il est relativement efficace dans sa mission première. Également, TAILS a été utilisé lors des échanges numériques entre Edward Snowden et ses correspondants journalistes (Laura Poitras, Glenn Greenwald, et Barton Gellman), lorsque ce dernier, travaillant en tant qu’ingénieur à la NSA, a décidé d’exfiltrer les documents que nous connaissons aujourd’hui.

Il faut savoir que certains programmes de surveillance définissent directement les utilisateurs de TAILS et des systèmes similaires comme des extrémistes, le moteur de recherche XkeyScore permet, selon les documents diffusés par Edward Snowden, de rechercher toutes les personnes ayant recherché « TAILS » dans un moteur de recherche ou étant directement allé sur la page du projet. Tous ces éléments tendent à prouver que TAILS est efficace et tient ses objectifs : protection de l’anonymat et de la vie privée.

TAILS, un OS basé sur Debian

Comme je l’ai dit précédemment, TAILS est un système d’exploitation qui prend comme base Debian, comme le fait Ubuntu. La philosophie de la communauté Debian est de n’intégrer dans ses dépôts que des outils et composants libres et open-source. Le fait qu’un programme soit open-source signifie que n’importe qui peut, s’il le souhaite, en télécharger le code source et ainsi obtenir en détail toutes les actions et le comportement du programme en question.

C’est une notion importante à connaitre lorsque l’on aborde les sujets de la vie privée et de l’anonymat. En effet, un code source ouvert permettra à n’importe qui de savoir précisément ce que fait le programme, on saura ainsi si il envoie des informations privées sur Internet, s’il comporte des failles de sécurité (qui sont ainsi plus facilement détectées et donc corrigées). À l’inverse, un code source fermé rend impossible le fait de savoir le comportement précis du programme, on se retrouve ainsi dans des contextes où les programmes envoient des informations personnelles comme des données de connexion à des serveurs sur Internet, ce qui va à l’encontre même de la protection de la vie privée.

Ainsi, TAILS se base sur Debian qui tend un maximum à n’intégrer que des programmes open-source, et donc, « auditables ».

Note : Les apports de l’Open-source sont bien plus nombreux dans un cadre général, mais nous restons ici dans le cadre des objectifs de TAILS.

Également, tous les programmes pré-installés et pré-configurés à l’intérieur de TAILS sont également open-source.

Les outils implémentés et utilisés dans TAILS

Parlons maintenant des outils implémentés et utilisés dans TAILS. Ce sont eux qui permettent à TAILS d’accomplir ses objectifs d’anonymisation et nous allons voir comment. Comme je l’ai dit, TAILS est avant tout un système d’exploitation, il doit donc remplir les tâches standards telles que la manipulation de fichiers avec des programmes bureautiques (LibreOffice, GIMP, Audacity, PoEdit, Brasero, etc.). Le tout tourne sous l’environnement graphique GNOME, mais ce ne sont pas ces programmes qui entrent en jeu pour la partie sécurité.

Concernant la partie vie privée et anonymisation qu’apporte TAILS, on retrouve plusieurs programmes :

  • TOR & Tor Browser : Tor ou « The onion Router » est relativement connu, il s’agit d’un réseau d’ordinateurs et de relais décentralisé et organisé en couche. L’objectif principale de Tor est de faire passer les flux en direction d’Internet au travers différentes couches (relais) et de façon chiffrée afin de brouiller les pistes permettant d’identifier la source de la connexion. Lorsque l’on se connecte au réseau Tor, nos flux se mettent à passer au travers un ensemble de relais avant de sortir sur Internet, rendant ainsi anonyme les échanges. Vous trouverez plus d’informations sur la page Wikipédia TOR. Ce qu’il faut savoir, c’est que Tor est configuré pour être utilisé par défaut dans TAILS, non seulement pour la navigation web, mais également par tous les flux réseaux autres au travers un proxy local.
  • Pigdin : Il s’agit d’un logiciel de messagerie instantanée multi-protocole, Pigdin permet d’établir des connexions via les protocoles XMPP, IRC, ICQ/AIM, Yahoo! et Google Talk. Dans TAILS, Pigdin est configuré pour utiliser OTR (Off-The-Record) qui est un protocole cryptographique s’implémentant au dessus de différents protocoles (XMPP, IRC, SILC, …). Comme TAILS, OTR semble poser de nombreuses difficultés à la NSA et aux agences de surveillance : Source (Der Spiegel)
  • Claws Mail + GnuPG : Claws Mail est un client de messagerie lourd tout à fait standard, il prend notamment en charge le chiffrement des mails via GnuPG. GnUPG permet de chiffrer et signer les mails et leurs pièces jointes afin de garantir une sécurité dans le transport (confidentialité) et leur authenticité. À nouveau, l’article de Der Spiegel le cite comme un outil efficace contre les systèmes de surveillance tel que PRISM. [Mise à jour ] Depuis la version 1.7 de TAILS, Icedove est intégré à TAILS et remplacera à terme Claws Mail
  • Aircrack-ng : AirCrack-NG est une suite de scripts permettant l’audit des réseaux wifi.
  • I2P : I2P pour « Invisible Internet Project« .
  • LUKS et Gnome Disk : LUKS est un standard implémenté dans le noyau Linux permettant le chiffrement de disque. Cela permet entre autre de traiter des fichiers dans TAILS. Le contexte le plus courant étant d’avoir des fichiers à stocker et de créer un volume chiffré sur un périphérique amovible sur une clé USB pour stocker les fichiers produits et/ou récupérés dans TAILS (une pièce jointe de mail ou un document ODT par exemple). Ainsi, ces fichiers pourront être transportés de façon sûre et récupérés même après un redémarrage de TAILS qui, je le rappelle, est un système LiveCD et qui ne stocke donc rien.
  • TrueCrypt : La place de TrueCrypt est ici contestable, bien que la croyance globale tende à opter pour le fait que TrueCrypt ait stoppé son activité pour cause de pressions gouvernementales, il s’agit d’un programme qui permet de chiffrer des fichiers sous forme de conteneur. Plusieurs alternatives à TrueCrypt existent aujourd’hui et elles ont pour la plupart repris du code provenant de TrueCrypt, par exemple VeraCrypt, outil français (tutoriel pour l’utilisation de VeraCrypt en ligne de commande). Comme TOR et OTR, Truecrypt est cité comme un outil efficace en terme de protection des données personnelles dans l’article de Der Spiegel : Source (Der Spiegel)
  • PWGen : Outil en ligne de commande permettant de générer des mots de passe, évitant ainsi les générateurs en ligne qui, en plus d’être d’une provenance inconnue, font transiter les mots de passe générés sur un réseau qui n’est pas de confiance.
  • Florence : Il s’agit d’un clavier virtuel, permettant de contourner la présence d’éventuels keylogger, j’en parlerai un peu plus bas dans cet article.
  • KeepassX : Keepass est un logiciel permettant la gestion sécurisée des mots de passe, j’ai déjà fait un article dessus que je vous conseille de lire : Keepass : Gestion des mots de passe et sécurité
  • Electrum : un portefeuille Bitcoin.
  • MAT : Metadata Anonymisation Toolkit, il s’agit d’un outil permettant de supprimer/falsifier les métadonnées attachées aux fichiers produits et traités, ces métadonnées permettent bien souvent d’obtenir des informations sur l’auteur du document, la localisation de sa production, sa date, etc. Voici le site du projet pour les curieux : https://mat.boum.org/

Également, TAILS intègre une procédure de suppression du contenu de la mémoire vive à l’extinction, évitant ainsi les Attaque par démarrage à froid ou « Cold boot attack ».

Le tour du propriétaire : démonstration

Il est donc possible de positionner TAILS sur une clé USB, une carte SD ou un CD/DVD pour démarrer en Live sur un grand nombre de matériel. Le site web du projet regroupe un ensemble de procédures détaillant « l’installation » de TAILS sur ces différents périphériques.

Section « Téléchargement et vérification » & « Premier pas avec TAILS » : https://tails.boum.org/doc/index.fr.html

Pour effectuer cette démonstration, je me suis servi d’une machine virtuelle VirtualBox dans laquelle j’ai tout simplement inséré l’image ISO de TAILS dans le lecteur CD/DVD virtuel. Cette machine n’avait donc pas besoin de disque dur.

Note : L’utilisation de la virtualisation pose des problèmes ou plus précisément des implications en terme de sécurité qu’il faut connaître. Je détaille cela un peu plus bas dans l’article. Dans le cadre d’un test simple du système d’exploitation, il peut être utile/suffisant d’utiliser la virtualisation.

Je démarre donc ma machine avec TAILS pour atterrir sur ce menu de démarrage :

  • Live : Démarre TAILS en mode LiveCD, j’en parle depuis le début de l’article. Tout tourne en live depuis le périphérique amovible, rien n’est enregistré et rien n’altère les données du PC physique hôte qui ne gardera donc aucune trace du passage de TAILS.
  • Live (failsafe) : Même chose avec la désactivation de certaines options du noyau Linux, ce mode est notamment utile pour les quelques matériels rencontrant des problèmes de compatibilité. Je n’ai jamais eu à l’utiliser.

Je choisi ici donc « Live » pour continuer :

tails-os-01

Nous arrivons donc ensuite au « TAILS Greeter« , un ensemble d’options proposées par TAILS avant l’apparition de l’environnement graphique. Notez que vous pouvez sélectionner la langue/clavier en bas de cet écran. Par curiosité, et pour mieux apercevoir les possibilité de TAILS, nous allons cliquer sur « Oui« , regardons ce qui se présente à nous :

tails-os-02

Voici une partie intéressante et importante de l’utilisation de TAILS. Plusieurs options sont ici utilisables :

tails-os-03

Voici le détail de ces options :

  • Mot de passe d’administration : Par défaut, TAILS ne permet pas la prise de contrôle en tant qu’administrateur sur la machine. Si cela est nécessaire, pour installer temporairement un nouvel outil par exemple, on peut utiliser cette section pour créer un mot de passe nous permettant de passer root.
  • Camouflage Windows 8 : Vous êtes dans un cybercafé où tout le monde est sous Windows est le bureau GNOME pourrait attirer un œil un peu trop curieux ? TAILS intègre une fonction de « camouflage » qui transformera le bureau GNOME en bureau Windows 8.
  • Usurpation d’adresse MAC : Une adresse MAC est une adresse physique liée à votre carte réseau. Celle-ci est utilisée pour construire les paquets réseaux émis par votre machine. Lorsqu’une adresse MAC est détectée sur le réseau, cela prouve que le poste a été utilisé pour émettre des paquets. Ainsi l’usurpation automatique de l’adresse MAC permet de faire croire au réseau que c’est un autre poste physique qui est utilisé, cachant ainsi le fait que le poste ait été utilisé pour faire tourner TAILS.
  • Configuration réseau : Cette partie concerne la connexion au réseau TOR, qui peut dans certains contextes être bloquée par la présence de pare-feu sur le réseau. Dans la plupart des cas, il n’est pas nécessaire de toucher à cette fonction.

Et nous voilà sur TAILS, voici un petit aperçu du bureau gnome & du menu « Internet » comportant la plupart des outils permettant la navigation anonyme depuis TAILS :

tails-os-04

Quand vous êtes sous TAILS, votre nom d’utilisateur et de machine est « amnesia » :

tails-os-05

Le cas de la virtualisation

Plutôt que de booter directement sur TAILS à partir d’une clé USB et d’un CD/DVD, il peut sembler pratique de faire démarrer TAILS sur une machine virtuel via un programme comme VirtualBox ou VMware Player. Cela est bien entendu possible et c’est d’ailleurs ce que j’ai fait pour tester cet OS, néanmoins plusieurs implications sont à prendre en compte.

En effet, lorsque l’on virtualise un système, on le place une couche au dessus d’un autre et on utilise ainsi cet OS hôte pour transmettre actions, saisies, paquets et affichage entre l’extérieur et la machine virtuelle :

tails-virtualisation-001Ainsi, un système d’exploitation infecté ou surveillé va pouvoir, par exemple, capturer les touches saisies au clavier. Il est courant de dire qu’une machine virtuelle TAILS est vulnérable car le système d’exploitation hôte et également le programme de virtualisation (VMware par exemple, qui est un programme propriétaire) peuvent intercepter, lire et analyser les informations que vous envoyer à votre machine virtuelle TAILS.

Également, les services et outils de virtualisation ont pour habitude d’effectuer parfois des copies ou de stocker le contenu de la RAM (par exemple en cas d’extinction brusque). Cela va donc à l’encontre des principes et des efforts de TAILS qui efface le contenu de la RAM à son extinction. Cela laisse donc des traces sur le disque dur, ce qui n’arriverait pas dans un contexte d’utilisation sur une machine physique.

Le cas de la virtualisation est donc à prendre avec attention, il s’agit d’une solution intéressante pour tester et évaluer l’OS. Je vous conseillerais toujours d’utiliser VirtualBox plutôt que des produits propriétaires pour la virtualisation.

TAILS n’est pas magique

TAILS est un bon outil à utiliser dans les cas où l’anonymat est préférable, le cas ayant le plus fait parlé de lui est sans doute le cas Snowden. Néanmoins, il n’est pas magique et le simple fait de l’utiliser ne doit pas vous faire oublier tout bon sens. Il convient d’être prudent, sur le site web officiel de TAILS, différents points sont répertoriés sur ce contre quoi TAILS ne vous protège pas, parmi eux :

  • La compromission matériel comme, le plus simplement, un keylogger physique sur votre clavier, que TAILS ou tout autre OS ne verra même pas.
  • La vigilance auprès des nœuds TOR qui peuvent être parfois curieux et analyser votre trafic.
  • Plus d’informations sur ce lien : Warning TAILS

De plus, et comme tout système d’exploitation, TAILS comporte des vulnérabilités qui peuvent compromettre sa mission d’anonymisation, il convient alors de veiller à toujours utiliser la version à jour de TAILS et de ses composants. Bien souvent, ce sont les composants de TAILS qui rendent TAILS vulnérable lorsque ceux-ci le sont. Le dernier exemple intéressant est celui de I2P, comme indiqué dans cet article de Numerama. Une faille danTAILS, The Amnesic and Incognito Live System s I2P rend TAILS vulnérable car celui-ci l’utilise, également, une éventuelle compromission de l’anonymat dans le réseau TOR affectera votre utilisation de TAILS qui utilise TOR par défaut. Il est bon de garder cela à l’esprit lorsque l’on utilise TAILS, comme tout autre OS.

Voilà ! Nous avons fait le tour de TAILS, il y aurait encore beaucoup à dire sur chacun des éléments qui le compose (TOR, Pigdin, I2P), mais je pense que le principal est dit sur l’OS dans son ensemble. N’hésitez pas à me faire part de vos remarques dans les commentaires.

Partager :
Published inArticles

2 Comments

  1. zorro

    Très bon post…..comme d’hab!

  2. Comme dit la documentation officielle de Tails, il n’est pas recommandé de faire tourner Tails dans une machine virtuelle
    « Utiliser Tails dans une machine virtuelle a de nombreuses conséquences en terme de sécurité. En fonction du système d’exploitation hôte et de vos besoins en terme de sécurité, faire tourner Tails dans une machine virtuelle peut être dangereux.  » https://tails.boum.org/doc/advanced_topics/virtualization/virtualbox/index.fr.html

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *