Le cheval de Troie

DEFINITION

. Origine : ce logiciel tire son nom de l’épisode célèbre de la Guerre de Troie par lequel les Grecs ont pénétré l’enceinte de la cité troyenne dans un cheval de bois creux cachant un groupe de soldats menés par Ulysse ; surprise, la cité fut totalement pillée.
. Principe : logiciel malveillant d’apparence légitime, conçu pour exécuter subrepticement des actions à l’insu de l’utilisateur, dans le but de détourner, diffuser ou détruire des informations, ou encore pour ouvrir une porte dérobée qui permettra à un utilisateur malveillant de prendre, à distance, le contrôle de l’ordinateur (programme de type client / serveur).
. Synonymes : trojan, mouchard…

CARACTERISTIQUES

. Le cheval de Troie n’a pas la capacité de se reproduire (à l’inverse des virus et des vers), ni de se propager de lui-même (il faut une action de l’utilisateur (exécution du programme) pour que le logiciel malveillant soit activé).
. Il contient des fonctions cachées qui s’exécutent en toile de fond, sans que l’utilisateur ne s’en aperçoive : il se dissimule donc avant d’agir.
. Il est immédiatement opérationnel au lancement du logiciel hôte (sain) auquel il se « greffe » : la fonction cachée s’exécute immédiatement (à l’inverse d’une bombe logique qui se déclenche à un instant défini par le programmeur malveillant).
. Il se niche souvent à l’intérieur de programmes gratuits (d’aspect inoffensif) à télécharger (patchs, mises à jour, utilitaires…) ou en fichier attaché aux courriels, afin de ne pas éveiller les soupçons de l’utilisateur naïf : les formes sont multiples.
. Le pirate doit toutefois connaître l’adresse IP de la machine ciblée avant de pouvoir agir (facile si elle est fixe,  plus difficile si elle est dynamique).

MECANISME

Le cheval de Troie se décompose en 2 parties distinctes :
- partie « client » : composant envoyé à la victime qui sert à se connecter à l’ordinateur infecté ; elle se présente sous la forme d’un panneau de contrôle d’où l’on peut faire ce que l’on veut avec l’ordinateur cible (qui est alors vu par le pirate comme un serveur) ;
- partie « serveur » : reste sur l’ordinateur du pirate et envoie les informations à l’ordinateur victime ; c’est ce programme qui va ouvrir un port spécifique sur l’ordinateur que l’on veut attaquer.
. Le logiciel s’installe dans l’éditeur de registre (regedit) de l’ordinateur de la victime (pour pouvoir démarrer en même temps que la machine) ouvrant ainsi une porte dérobée (backdoor) sur la machine pour en prendre le contrôle à distance (ouverture d’un port à la communication ou exploitation d’une faille de sécurité).
. Technique du buffer overflow (débordement de tampon) : créé par l’utilisateur malveillant, ce bug consiste à faire crasher un programme en écrivant dans un tampon (zone mémoire temporaire utilisée par une application) plus de données qu’il ne peut en contenir, dans le but d’écraser des parties du code de l’application et d’injecter des données utiles pour exploiter le crash de l’application.

INTERFACE DE CONFIGURATION

PORTS

. Un port permet de distinguer différents interlocuteurs (programmes informatiques) qui écoutent ou émettent des informations.
. C’est une sorte de porte donnant accès au système d’exploitation, permettant à un programme de fonctionner.
. Lorsque l’on quitte le programme, la porte n’a plus besoin d’être ouverte : les problèmes de sécurité surviennent lorsque certains programmes oublient de refermer ces ports, ou lorsque la configuration mal maîtrisée de l’ordinateur ouvre des ports sans aucune utilité. Cela donne lieu à des failles de sécurité (si une porte n’est pas refermée, n’importe qui peut l’emprunter).
. Un numéro codé sur 16 bits est attribué à chaque port, ce qui implique qu’il existe un maximum de 65 536 ports (216) par ordinateur.
. L’attribution des ports est faite par le système d’exploitation, sur demande d’une application : cette dernière peut demander à ce que le système d’exploitation lui attribue n’importe quel port, à condition qu’il ne soit pas déjà attribué.
. Les principaux types de services utilisent des ports dits réservés (compris entre 0 et 1 023 inclus).

CAS CONCRETS

. Accès Telnet (port 23) : permet de lancer une application en mode texte type « Ms-Dos » ou « Invite de commande » de façon invisible et de rediriger l’entrée / la sortie standard vers un port particulier. L’attaquant n’a alors plus qu’à s’y connecter (via Telnet) pour communiquer directement avec l’application.Des sniffeurs comme Wireshark permettent d’intercepter les communications de la commande Telnet.

. Accès HTTP (port 80) avec un navigateur, supporte le téléchargement et l’envoi de fichiers : permet de créer un serveur web basique dont la racine est celle du disque dur (défaut) ; ainsi, un simple navigateur web permet de naviguer dans l’arborescence des fichiers, d’en télécharger et même d’en rajouter.

. Fonction keylogger : permet d’enregistrer toute frappe au clavier pour la récupération et le traitement ultérieur (ex : mots de passe sur le web, emails…), ou bien encore en temps-réel dans un fichier log.
. Envoi d’une boite de dialogue (version Windows) avec réponse de l’utilisateur : permet de communiquer avec lui.
. Capture du son : elle est possible si l’ordinateur (serveur) est équipé d’un microphone.

DETECTION

. Par le gestionnaire de tâches afin de voir les programmes exécutés sur la machine : regarder si rien de suspect ne s’y trouve, et si l’action du programme a été voulue ou non par l’utilisateur (même si les trojans sont parfois difficilement détectables, surtout lorsqu’ils sont greffés à un programme connu).
. Par la commande « netstat – a » qui affichera la liste des ports ouverts et utilisés sur la machine : très souvent les chevaux de Troie utilisent un n° de port fixe (sauf quelques exceptions : Netbus, Back Orifice…).
. Vérifier s’il n’y a pas d’entrée suspecte dans la base de registre à :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

PROTECTION

. Installer et exécuter des programmes dont la source et le contenu sont connus et/ou certifiés.
. Installation (en plus d’un antivirus) d’un pare-feu (firewall) : programme filtrant les communications entrant et sortant (normalement initiées par des programmes dont l’utilisateur se sert) d’un ordinateur.
Toutefois, il n’est pas exclu que le firewall détecte des connexions provenant de l’extérieur sans pour autant que l’utilisateur soit attaqué. En effet, il peut s’agir de tests effectués par son fournisseur d’accès, ou bien d’un pirate scannant au hasard une plage d’adresses IP (si celle qu’il veut attaquer est dynamique).
. En cas de programme d’origine inconnu, le firewall demandera une confirmation pour initier la connexion : il faudra alors la refuser.
. Protection a posteriori : utiliser un programme détectant et éliminant les chevaux de Troie et autres malware.

CONCLUSIONS

. Phénomène inquiétant, car grandissant.
. Contrairement aux virus, les trojans sont faciles à utiliser, accessibles à tous (sans pré-requis en programmation) et très efficaces.
. Utilisation croissante à des fins professionnelles : prise en main à distance (ex: help desk), administration centralisée, gestion de parcs informatiques…
. Enorme menace : ces outils sont conçus pour espionner et infiltrer les systèmes ; ils sont furtifs et très difficiles à détecter, surtout tant que l’attaquant ne cherche pas à se manifester.
. Impact médiatique : entrainé par la découverte d’un tel programme dans le système d’une entreprise (compromission, espionnage industriel, remise en cause de la politique de sécurité…).

Thomas Boutan

  • Chargement en cours...

    Chargement en cours...

    Connectez-vous !



    |  

    Register




    A password will be mailed to you.
    Log in | Lost password?

    Retrieve password




    A confirmation mail will be sent to your e-mail address.
    Log in | Register
  • Rejoignez-nous !

    Si vous souhaitez adhérer à l'association :
    - téléchargez le formulaire d'inscription
    - inscrivez-vous directement en ligne !

    Suivez-nous !

    Suivez l'association sur le Web !