Les troyens : Technique et Contre techniques – logiciel indiscret

By 26 December 2012

Les logiciels indiscrets : une atteinte aux biens – Partie I :
Chapitre 1 : Les différentes techniques et contre techniques d’intrusion dans un système informatique

Les troyens – Section 2 :

Dans un registre un peu différent, il existe également des programmes appelés chevaux de Troie, troyens mais également vers. Ces derniers vont permettre de s’introduire et de prendre le contrôle de votre ordinateur par celui qui vous aura envoyé ledit troyen. Leur but n’est pas essentiellement de causer des dommages à votre machine, mais plutôt d’en permettre l’accès à distance, ou de vous voler des informations.

Il convient tout d’abord d’étudier ces programmes de manière technique afin de mieux les appréhender avant d’analyser les méthodes permettant de se débarrasser de ces derniers.

§ 1 : Technique

Le nom « cheval de Troie » a été choisi en référence à une anecdote historique qui s’est déroulée il y a bien longtemps : l’histoire du cheval de Troie. Les Grecs effectuaient le siège de la ville de Troie et n’arrivaient pas à faire plier la ville assiégée. Les assaillants eurent l’idée de construire un énorme cheval de bois et de l’offrir aux Troyens. Ceux-ci prirent le cheval de bois pour un cadeau des Dieux et l’accueillirent à l’intérieur de leur ville. Cependant, le cheval était rempli de soldats qui s’empressèrent d’en sortir à la tombée de la nuit, alors que la ville entière était endormie … Cette ruse permit aux Grecs de pénétrer dans la ville et de gagner la bataille.

Un peu comme le virus, le cheval de Troie est un code (programme) nuisible. Il exécute des instructions nuisibles lorsque vous exécutez le programme sain. Un tel programme peut créer, de l’intérieur de votre réseau, une brèche volontaire dans la sécurité pour autoriser des accès à des parties protégées du réseau à des personnes se connectant de l’extérieur.

Un cheval de Troie est donc un programme caché dans un autre qui exécute des instructions nuisibles lorsque vous exécutez le programme sain. Il peut par exemple voler des mots de passe, copier des données, ou exécuter tout autre action nuisible. Il existe de nombreux troyens dont la liste ne cesse de s’allonger27. Un tel programme est en général composé d’un serveur (installé sur la machine de la victime), et d’un client qu’utilise l’attaquant pour « prendre la main » sur la machine. Back Orifice 2000 (Windows) constitue un des chevaux de Troie les plus répandus.

Les risques encourus pour un utilisateur dont la machine est infectée sont considérables. Toutes les opérations faites sur une machine en local peuvent être exécutées par le biais de Back Orifice 2000. Par exemple, un attaquant peut : télécharger un fichier sur le poste victime, rebooter l’ordinateur, enregistrer la frappe au clavier, visualiser l’écran, prendre le contrôle de la souris et du clavier, etc… Il n’est dès lors pas étonnant dans ces conditions que Back Orifice 2000 soit largement utilisé par les administrateurs systèmes pour l’administration distante.

Le principal danger vient de l’extrême facilité à se servir de Back Orifice 2000. Son utilisation ne requiert absolument aucune compétence particulière, et ne semble donc pas réservée à certains spécialistes. En effet, il suffit pour un attaquant de faire exécuter par un utilisateur le binaire d’installation du serveur Back Orifice 2000. Cet exécutable peut porter n’importe quel nom, se trouver en pièce jointe à un courriel (il a une taille comprise entre 160 et 200 Ko), et même être incorporé à un autre exécutable. Il n’est pas aisé de détecter une compromission par un cheval de Troie, en particulier par Back Orifice 2000. En effet, tous les paramètres sont modifiables par l’attaquant : le nom du serveur, sa valeur dans la base des registres, le protocole réseau utilisé pour communiquer entre le client et le serveur, le numéro de port sur lequel se fait la connexion…

En pratique, une contamination par un troyen s’opère en plusieurs étapes :

La première étape consiste à envoyer à la machine cible le logiciel serveur. Etant donné la nuisance que peut occasionner un cheval de Troie, l’utilisateur cible ne va pas de son plein gré exécuter le programme s’il sait de quoi il s’agit. Aussi, le cheval de Troie en lui-même va être présenté comme différent et prendra généralement la forme d’un logiciel standard. Ce type de contamination pourra être occasionné à la suite d’un dialogue sur une messagerie instantanée telle que ICQ, MSN messenger, Yahoo messenger ou tout autre espace de chat.

Une autre méthode, plus subversive, consiste à introduire le troyen directement dans un logiciel, aussi divers soit-il, puis de le faire parvenir à la personne visée. Dès lors, tout programme peut être infecté. De plus, selon la personne visée, ses intérêts, sa vigilance, le mode d’infection peut être personnalisé.

Après l’infection, il faut attendre l’exécution du programme. Dans ce cas deux solutions sont possibles :
– soit le cheval de Troie a été exécuté seul et un message d’erreur survient
– soit le troyen est incorporé dans un autre logiciel et s’exécute sans changer le comportement du logiciel

La partie active du programme (soit le troyen en lui-même, soit la partie nocive d’un logiciel) va se renommer, prendre un nom qui n’est pas suspect (qui change avec le cheval de Troie) et se place dans un dossier généralement peu fréquenté (du type C:windows, ou C:windowssystem, où il existe un grand nombre de fichiers dont l’utilité est parfaitement inconnue.). De plus, le troyen va généralement écrire dans la base de registre pour pouvoir s’exécuter à chaque lancement de l’ordinateur.

A la suite de ces opérations, le cheval de Troie est actif et prêt à être utilisé, suivant la méthode utilisée par le troyen, celui-ci va attendre qu’il détecte la possibilité de se connecter à un serveur sur Internet ou alors que le pirate tente de se connecter à la machine. La technique est toujours la même, après une requête du pirate, le programme ouvre un port, qui permet par la suite toute communication entre les deux logiciels (serveur et client), de telle sorte que le pirate peut accéder à tous les fichiers de la personne infectées.

Dès lors, le pirate peut réaliser de très nombreuses choses sur l’ordinateur distant. Lorsqu’une liaison est établie entre le serveur (la personne « infectée») et le pirate de nombreux renseignements peuvent ainsi être récupérés :

– le nom du DNS28, l’adresse IP29, la présence d’un firewall, la présence d’un Proxy30, de nombreuses informations sur les interfaces (type, vitesse, etc.), les caractéristiques de l’ordinateur (processeur, mémoire, disque dur…), les navigateurs installés (Internet Explorer, Netscape), les logiciels de messagerie (Outlook, Eudora, Netscape, etc.), les programmes enregistrés, le nom réel d’utilisateur, l’adresse e-mail…

Le principal danger des troyens est que ces derniers sont téléchargeables sur de nombreux sites Internet31. Une personne souhaitant pénétrer dans la machine d’une tierce personne trouvera facilement tous les outils nécessaires pour parvenir à ses fins. Une fois les outils en sa possession, elle pourra pénétrer frauduleusement dans un ordinateur, fouiner à sa guise dans les fichiers, courriels, y opérer des modifications…

§2 : Contre techniques

Il n’y a pas de solution miracle afin d’éviter d’être infecté par un cheval de Troie. Il faut tout d’abord être vigilant et ne pas accepter n’importe quel fichier (cela est également valable pour les virus). Il existe plusieurs moyens de se prémunir contre les troyens : un aspect curatif une fois que le troyen est déjà présent sur la machine mais on peut également faire en sorte de réduire le risque d’infection en installant un firewall.

L’aspect curatif peut consister à lancer son anti-virus. Les anti-virus classiques sont capables de détecter les troyens les plus répandus car, pour la plupart, ils protègent l’ordinateur des virus mais également des troyens. Le plus important est de lancer régulièrement son anti-virus afin que ce dernier traque le moindre fichier suspect présent sur la machine. Il faut également remettre les signatures de son anti-virus régulièrement à jour afin que ce dernier puisse détecter les derniers troyens.

Cette solution n’est pas la meilleure et il convient d’utiliser des logiciels spécialisés contre les troyens tels que « The Cleaner »32 développé par la société Moosoft. Ce dernier fonctionne exactement comme un anti-virus et va scanner l’intégralité du disque dur à la recherche d’un troyen en vue de l’éradiquer. Il est également nécessaire de lancer le logiciel et de le mettre à jour régulièrement. Les mises à jour sont très importantes et « The Cleaner » propose environ cinq mises à jour par semaine. A l’heure actuelle33, la base de données de ce logiciel contient 5471 définitions de troyens.

L’autre solution consiste à essayer d’empêcher l’entrée illicite de tout fichier sur son système. Le firewall est un dispositif informatique qui filtre les flux d’informations entre un réseau interne à un organisme et un réseau externe en vue de neutraliser les tentatives de pénétration en provenance de l’extérieur et de maîtriser les accès vers l’extérieur. Il ne convient pas de décrire de manière détaillée le fonctionnement d’un firewall mais quelques remarques sont nécessaires. Il convient également de préciser que la fonction du firewall convient également afin de lutter efficacement contre les espiogiciels et divers mouchards.

Un firewall a donc pour mission de contrôler et de filtrer l’accès entre un réseau d’entreprise ou l’ordinateur d’un particulier et un autre réseau tel qu’Internet. Le firewall peut prendre une forme matérielle ou logicielle. C’est la partie qui sera abordée ci-après. Le firewall examine tout le trafic entre les deux réseaux afin de déterminer s’il correspond à certains critères définis par l’administrateur. Si les données sont autorisées, elles accèdent au réseau. Dans le cas contraire, elles sont stoppées par le firewall. Ce dernier filtre aussi bien dans le sens de l’envoi de données vers l’extérieur que dans celui de la réception.

Le filtrage des données par le firewall peut se faire de différentes manières. Il existe le filtrage par adresses, par applications et par paquets. Les firewalls se répartissent dans ces trois catégories.

Dans le filtrage par adresses, le firewall ne vérifie que les adresses IP des requêtes extérieures en les comparant avec une base de données de permission. Ce filtrage a l’avantage d’être très rapide mais il reste vulnérable à certaines attaques et il suffit ainsi qu’un pirate fasse passer l’adresse IP de sa machine pour une reconnue par le firewall pour qu’il puisse accéder à votre ordinateur.

Par un filtrage par applications, le firewall vérifie que la présence de chaque paquet est légitime en surveillant l’activité de toutes les applications. Les attaques extérieures ne peuvent alors plus accéder à l’architecture du réseau local. L’inconvénient de cette méthode est qu’elle nécessite beaucoup de ressources systèmes.

Dans le filtrage par paquets34, le firewall soumet chaque paquet de données reçu à des critères bien précis. En fonction du paquet et des critères, le firewall peut refuser le paquet, le faire suivre ou le renvoyer à son expéditeur avec un message. Les critères peuvent inclure l’adresse IP source et de destination, le numéro de port source et de destination et le protocole utilisé. L’avantage de ce filtrage par paquet est qu’il n’a pratiquement aucun impact sur les performances du réseau. C’est ce filtrage que l’on retrouve dans la majorité des firewalls commerciaux.

En plus de sa fonction de protection, le firewall trace les différentes attaques subies et les enregistre dans des journaux. Cela permet ainsi de retrouver facilement les auteurs de l’agression. Il est également possible de cumuler deux firewalls et le plus efficace est d’avoir un firewall qui filtre les paquets et un autre qui filtre les applications. Il existe une multitude de firewalls disponibles.

Certaines des techniques d’intrusion décrites précédemment sont licites, d’autres sont interdites et certaines peuvent être tolérées. Après avoir envisagé l’ensemble des méthodes constitutives d’intrusion dans un système informatique, il convient de savoir si, au regard de la loi, de tels actes sont répréhensibles ou non.

Lire le mémoire complet ==> (Les problèmes juridiques des logiciels indiscrets
Mémoire de D.E.A Informatique et Droit – Formation Doctorale : Informatique et Droit
Université MONTPELLIER 1 – Faculté de Droit
___________________________
27 http://www.ixus.net/modules.php?name=Ixus_Nettools&d_op=Trojans
28 Domain Name System
29 Internet Protocol : nom unique servant à identifier un ordinateur connecté à un réseau. Une adresse IP est composée de 4 nombres et de 3 points.
30 Ordinateur qui s’intercale entre un réseau privé et l’Internet
31 http://membres.lycos.fr/thriller/hacking/
32 http://www.moosoft.com/thecleaner
33 le 15/08/2002
34 Unité d’information utilisée pour communiquer sur le réseau.