LOPPSI 2 : quelques doutes sur l'efficacité des spywares judiciaires

samedi 13 février 2010

L'article 23 de la loi LOPPSI (« Loi d’Orientation et de Programmation pour la Performance de la Sécurité Intérieure »), adopté le 11 février dernier, permet à la police d’installer, sous le contrôle de l’autorité judiciaire, des « mouchards » (spywares) dans les ordinateurs des personnes suspectées d’avoir commis certains délits. La mise en oeuvre de ce dispositif soulève de nombreuses questions, juridiques et technologiques.

L’article 23 de la loi LOPPSI (« Loi d’Orientation et de Programmation pour la Performance de la Sécurité Intérieure »), adopté le 11 février dernier, permet à la police d’installer, sous le contrôle de l’autorité judiciaire, des « mouchards » (spywares) dans les ordinateurs des personnes suspectées d’avoir commis certains délits. La mise en oeuvre de ce dispositif soulève de nombreuses questions, juridiques et technologiques.

L’article 23 du projet de loi LOPPSI est ainsi présenté :

Aucun article ne permet actuellement la captation de données informatiques à l’insu de la personne visée. L’article 706-96 du code de procédure pénale prévoit certes la captation à distance dans le cadre d’enquêtes de criminalité organisée mais elle est limitée aux images et aux sons. La captation de données informatiques s’avère indispensable pour démanteler des réseaux et trafics qui recourent à des techniques sophistiquées.
Le projet donne aux enquêteurs la possibilité de capter en temps réel les données informatiques telles qu’elles s’affichent à l’écran d’un ordinateur ou telles qu’elles sont introduites lors d’une saisie de caractères.
Le recours à cette technique est encadré. L’usage de ce procédé d’enquête sera réservé à la lutte contre la criminalité la plus grave, dont le terrorisme, sous le contrôle du juge d’instruction chargé d’autoriser la captation par une décision motivée prise après réquisition du procureur de la République. Il ne pourra être utilisé en vue de la surveillance des membres de certaines professions, en particulier les avocats et les parlementaires.
Lorsque l’installation du dispositif technique nécessite que les officiers de police judiciaire pénètrent dans le lieu privé où se trouve l’ordinateur, un juge des libertés et de la détention sera saisi lorsque la mise en place du dispositif se fera en dehors des heures légales (6 heures - 21 heures).

L’article 23 de la loi insère une section 6 bis à l’article 706-102 du Code pénal. Le premier paragraphe définit cette nouvelle forme d’« écoute » informatique :

Art. 706-102-1. Lorsque les nécessités de l’information concernant un crime ou un délit entrant dans le champ d’application de l’article 706-73 l’exigent, le juge d’instruction peut, après avis du procureur de la République, autoriser par ordonnance motivée les officiers et agents de police judiciaire commis sur commission rogatoire à mettre en place un dispositif technique ayant pour objet, sans le consentement des intéressés, d’accéder, en tous lieux, à des données informatiques, de les enregistrer, les conserver et les transmettre, telles qu’elles s’affichent sur un écran pour l’utilisateur d’un système de traitement automatisé de données ou telles qu’il les y introduit par saisie de caractères. Ces opérations sont effectuées sous l’autorité et le contrôle du juge d’instruction.

Pour accéder au contenu d’un ordinateur et « voir » ce qui est affiché à l’écran, deux méthodes peuvent être employées : l’ajout d’un composant matériel, ou l’installation d’un logiciel. La loi, qui est « technologiquement neutre » n’exclut aucune des deux possibilités.

En premier lieu, le composant matériel ou le logiciel peuvent être installés directement sur l’ordinateur (par un accès physique) à l’insu et sans le consentement de son propriétaire, tel qu’il est prévu à l’article 706-102-5. :

§1 - En vue de mettre en place le dispositif technique mentionné à l’article 706-102-1, le juge d’instruction peut autoriser l’introduction dans un véhicule ou dans un lieu privé, y compris hors des heures prévues à l’article 59, à l’insu ou sans le consentement du propriétaire ou du possesseur du véhicule ou de l’occupant des lieux ou de toute personne titulaire d’un droit sur celui-ci. S’il s’agit d’un lieu d’habitation et que l’opération doit intervenir hors des heures prévues à l’article 59, cette autorisation est délivrée par le juge des libertés et de la détention saisi à cette fin par le juge d’instruction. Ces opérations, qui ne peuvent avoir d’autre fin que la mise en place du dispositif technique, sont effectuées sous l’autorité et le contrôle du juge d’instruction. Les dispositions du présent alinéa sont également applicables aux opérations ayant pour objet la désinstallation du dispositif technique ayant été mis en place.

Il n’est pas précisé où le dispositif devra être mis en place, ou comment il devra fonctionner. On peut ainsi imaginer trois sortes de dispositifs :
- un périphérique raccordé à l’ordinateur ;
- un composant raccordé à un périphérique (le routeur Internet, par exemple) ;
- un dispositif externe qui n’agit pas sur le matériel informatique (par exemple, une caméra classique qui filmerait l’écran).

Il me semble raisonnable d’exclure la troisième option, qui semble bien dépassée technologiquement, et peu efficace. La deuxième option n’est pas plus satisfaisante. En effet, d’une part, le dispositif ne pourrait pas récupérer les données qui s’affichent à l’écran, faute d’accès à la carte graphique de l’ordinateur. D’autre part, il suffirait de chiffrer les paquets envoyés sur le réseau (par une connexion SSL, par exemple) pour empêcher leur exploitation, ou au moins la rendre longue et coûteuse. Reste alors la première option : un périphérique « greffé » dans l’ordinateur. La conception d’un tel périphérique n’est pas simple. Il faut en effet qu’il intercepte les données traitées par plusieurs composants de l’ordinateur (la carte vidéo, le disque dur, la RAM…), ce qui implique une compatibilité parfaite avec de nombreux matériels.

D’autres questions se posent également :
- Comment installer le dispositif matériel sans modifier la configuration logicielle de l’ordinateur (ce qui pourrait avertir l’utilisateur et nécessiterait le concours d’un logiciel) ?
- Comment collecter les données : à distance, le dispositif les envoyant par Internet, ou lors du retrait du dispositif ? Dans le premier cas, il sera assez facile de bloquer le trafic en paramétrant soigneusement son firewall.
- Que faire s’il s’agit d’un ordinateur portable que l’utilisateur ne quitte pas, ou qui n’admet aucun ajout de matériel ?

L’utilisation d’une solution matérielle me semble donc fortement improbable. C’est plutôt vers le logiciel qu’il faut se tourner. Mais là aussi, les difficultés sont nombreuses :
- que faire si l’ordinateur est protégé contre les intrusions physiques ?
- que faire si l’utilisateur a enlevé le disque dur ou si le système est installé sur une clé USB que l’utilisateur garde avec lui ? (pas de disque dur = pas d’installation de logiciel espion !)

L’hypothèse de l’impossibilité d’accéder physiquement à l’ordinateur est prévue par la loi. Le paragraphe suivant de l’article permet en effet aux forces de l’ordre d’infecter à distance les ordinateurs des suspects avec des « spywares » (logiciel ayant pour but de récupérer le contenu de certains fichiers et de l’envoyer à un destinataire prédéfini par Internet) et des « keyloggers » (logiciels ayant pour but de « capturer » les touches du clavier pressées par l’utilisateur, de les enregistrer dans un fichier, et d’envoyer ce fichier à un destinataire prédéfini par Internet) :

§2 - En vue de mettre en place le dispositif technique mentionné à l’article 706-102-1, le juge d’instruction peut également autoriser la transmission par un réseau de communications électroniques de ce dispositif.

J’avoue être plutôt dubitatif à propos de ce dispositif. Les difficultés seront nombreuses dans sa mise en oeuvre, ne serait-ce qu’aux niveaux de son installation de son maintien en fonctionnement sur l’ordinateur (1), et de la récupération des données collectées (2).

1) Pour que le logiciel espion soit installé sur l’ordinateur de manière à accomplir sa mission, plusieurs conditions doivent être réunies :
- le logiciel doit parvenir à l’ordinateur ;
- le logiciel doit être installé ;
- le logiciel doit être exécuté.

Pour parvenir à l’ordinateur, le logiciel doit être chargé soit par l’internaute (« download »), soit par la police (« upload »). L’installation devant s’opérer à l’insu de l’internaute, on peut exclure qu’il installe lui-même le logiciel, en connaissance de cause. Il faudrait donc que le logiciel espion soit caché dans un autre logiciel, que l’internaute accepte d’installer. Ce procédé semble peu fiable : comment, en effet, être sûr que l’internaute installera le logiciel sans l’inciter à le faire, et attirer son attention ? L’installation « à distance » par la police est une autre affaire, d’un point de vue technologique. Dans un réseau d’entreprise, cela ne poserait aucun problème, puisqu’il existe des mécanismes permettant à un administrateur de prendre le contrôle des ordinateurs de son parc à distance. Sur un ordinateur personnel, en revanche, il est très facile d’interdire la prise de contrôle à distance de l’ordinateur (n’importe quel logiciel de sécurité pour Windows sait le faire, et heureusement !). Plus fondamentalement, on ne peut « entrer » dans un ordinateur, d’un point de vue logiciel, que de deux manières : soit « légitimement », lorsque l’ordinateur agit en tant que serveur, soit en exploitant une faille de sécurité. Il suffit donc, en théorie, de s’assurer qu’aucun serveur ne tourne sur sa machine, et de bloquer les connexions entrantes sur tous les ports hormis les ports fréquents (ce que fait, par exemple, par défaut, le firewall intégré à Windows 7). La correction des failles de sécurité incombe aux éditeurs des logiciels (pensez à « Windows Update ») et il est douteux qu’ils acceptent de laisser des failles ouvertes, ou d’en créer, pour que la police française puisse installer des logiciels espion dans les ordinateurs des internautes. Mais même si tel était le cas, il suffirait d’installer un système d’exploitation et des logiciels « open-source », comme Linux.

Après avoir fait parvenir le logiciel à l’ordinateur, il faut l’installer et l’exécuter. Il s’agit de deux opérations distinctes, mais elles se heurtent aux mêmes difficultés. En effet, tous les systèmes d’exploitation agissent aujourd’hui en fonction des « droits » de lecture, d’écriture ou d’exécution des fichiers conférés aux utilisateurs. Ainsi, un utilisateur qui ne possède pas les droits d’un administrateur (« root ») ne pourra pas modifier les fichiers importants du système. Or, selon toute vraisemblance, le logiciel espion devra s’implanter au niveau du système, ne serait-ce que pour être efficace tout en tant restant caché. Sous Windows 7, il est explicitement demandé l’accord de l’utilisateur lorsqu’un programme tente de modifier les fichiers système : celui-ci doit être exécuté « en tant qu’administrateur ». Sous les systèmes Unix, tels que Mac OS X ou Linux, l’utilisateur doit utiliser le compte administrateur pour installer le logiciel (sous Mac, une boîte de dialogue lui demande son mot de passe, sous Linux, il utilisera la commande « sudo »). Encore une fois, pour que le logiciel fonctionne correctement, tout en restant caché, il devra contourner les systèmes de protection existants.

Or, ce contournement des protections « naturelles » du système d’exploitation est caractéristique des logiciels malicieux que les éditeurs de solutions de sécurité combattent. Le logiciel espion français aura donc tôt fait d’être identifié comme un virus (au sens large) par tous les éditeurs d’antivirus de la planète ! Et même si les versions françaises de ces logiciels devaient le laisser passer, il serait aisé de se procurer des versions étrangères complètes sur Internet, le commerce électronique s’affranchissant en grande partie des frontières nationales.

2) Une fois les données collectées, il faut les récupérer. Le logiciel espion peut soit créer des fichiers sur le disque dur de l’ordinateur, soit envoyer directement les données par Internet.

Dans le premier cas, la police pourra procéder à la saisie de l’ordinateur. Cela n’a rien d’exceptionnel, mais l’efficacité du procédé est assez aléatoire : si l’utilisateur a formaté (avec réécriture de 0 et de 1 sur les secteurs) son disque dur avant que la police le récupère, les données seront perdues. On évite ce problème en transmettant les données par Internet dès leur collecte.

La transmission des données nécessite une connexion sortante (« outgoing »), de l’ordinateur vers un serveur. Les firewalls logiciels modernes permettent de filtrer les connexions sortantes. Par exemple, avec le firewall de Windows 7, il est possible de bloquer toutes les connexions sortantes, sauf celles ouvertes par certains logiciels choisis par l’utilisateur. La seule manière de contourner cette restriction est d’intégrer le logiciel espion dans un service du système d’exploitation, considéré comme étant « de confiance » par le firewall. On retrouve alors la problématique de la modification des fichiers système, qui nécessite l’utilisation d’un compte administrateur.

Un autre problème peut également se présenter : les données de l’utilisateur peuvent être chiffrées. Dans ce cas, il faudra les déchiffrer à la réception, ou contourner le chiffrement lors de leur collecte. Là encore, ce n’est pas une mince affaire.

Pour résumer, je doute de l’efficacité du dispositif prévu à l’article 23 du projet de loi LOPPSI, car il sera très difficile de contourner tous les obstacles à son efficacité, qui constituent également autant de garanties fournies aux utilisateurs contre tous les logiciels malveillants qui pullulent sur Internet :
- utilisation d’un système d’exploitation et de logiciels « open-source » ;
- utilisation d’un compte utilisateur aux droits restreints ;
- blocage des connexion entrantes, sauf ports communs, et filtrage manuel des connexions sortantes ;
- utilisation d’un antivirus moderne régulièrement mis à jour ;
- chiffrement des données.

Le logiciel espion de la loi LOPPSI fonctionnera vraisemblablement comme de nombreux virus (encore une fois, au sens large), et pourra être combattu par les mêmes moyens. Il est donc probable qu’il ne sera utile que contre les novices en informatique, qui n’auront pas su protéger leur ordinateur alors que les véritables criminels, très bien organisés dans leurs réseaux, sauront se défendre. L’exposé des motifs de l’article explique que « la captation de données informatiques s’avère indispensable pour démanteler des réseaux et trafics qui recourent à des techniques sophistiquées », alors que c’est précisément parce qu’ils utilisent des techniques sophistiquées qu’il sera très difficile de capter les données des réseaux criminels organisés.

A Paris, le 13 février 2010