Les fondamentaux


Techniques d'attaques


On énumère ci-dessous quelques grandes classes de techniques d'attaques des systèmes d'information qui illustrent la diversité des méthodes. En pratique, les attaques réelles sont souvent une combinaison des techniques ci-dessous et les scénarios peuvent être complexes.

  • Déni de service (DoS, Denial of Service). Il s'agit d'une action ou d'un évènement qui entraîne une indisponibilité de l'information. Il peut être typiquement provoqué par un engorgement intentionnel du réseau, par un envoi massif de requêtes vers un serveur (web ou autre), par un virus informatique monopolisant les ressources CPU de la machine, voire par du spam (courrier électronique non sollicité, en général à caractère publicitaire) qui engorge un serveur de messagerie.  Les technologies TCP/IP sont sensibles aux dénis de service et il est difficile de s'en protéger totalement. Lorsque l'attaque consiste en l'envoi quasi-simultanée d'une multitude de requêtes sur un serveur à partir d'un grand nombre de machines différentes, on parle de "déni de service distribué" (DDoS, Distributed Denial of Service).
  • Usurpation d'identité (Masquerade ou encore Spoofing). Une entité (individu ou machine) se fait passer pour une autre afin d'obtenir un accès illégitime à un service ou à des informations.  Là encore, les technologies IP ne garantissent pas par défaut une authentification des machines et sont particulièrement vulnérables. Parmi les techniques génériques, on peut citer:
    • L'homme du milieu (Man in the Middle). Une entité s'immisce dans une communication légitime: chacune des deux parties légitimes pensent communiquer avec l'autre alors qu'elle communique avec l'intrus.
    • IP spoofing: on modifie l'adresse IP source des paquets émis afin de masquer la véritable adresse de sa machine ou de se faire passer pour une autre.
    • Le vol de session (Hijacking). 
      • Le cas le plus fréquent est celui du vol de session HTTP lors d'une connexion à un site web:  le protocole HTTP étant un protocole sans état, des cookies sont envoyés au navigateur par le serveur, après authentification de l'utilisateur, afin de ne pas avoir à refaire une authentification à chaque nouvelle requêtes (le cookie est présenté par le navigateur à chaque nouvelle requête et sert d'authentifiant). L'interception de ces cookies par un tiers peut permettre à celui-ci de se faire passer pour l'utilisateur légitime et accéder ainsi à des informations privées. La technique du Cross-Site Scripting (XSS), exploitant certaines vulnérabilités des applications web, est largement utilisée pour cela.
      • Il est aussi possible de s'interposer dans d'autres types de protocoles et de "voler" la connexion à un service. Le vol de connexion TCP peut être mis en oeuvre, mais c'est beaucoup plus difficile et nécessite des conditions particulières (prédiction des numéros de séquence, entre autre).
    • Phishing: un individu, client d'un service commercial en ligne, est dirigé vers un site Internet factice où on lui demande de décliner des informations d'authentification ou des informations bancaires (mot de passe, numéro de carte de crédit). Cette méthode est très largement utilisée ces dernières années.
    • Pharming: variante du phishing, l'objectif est le même, mais la méthode différente. Il s'agit de corrompre le système DNS, c'est-à-dire le système qui fait la correspondance entre les adresses des sites (ex: www.picsi.fr) et l'adresse IP de la machine qui héberge le site. Ainsi, l'internaute est dirigé automatiquement vers le site factice sans intervention de sa part et avec peu de chance de détecter l'imposture.
  • Code malicieux. On regroupe sous ce vocable toutes sortes de programmes écrits avec des intentions malveillantes. Exemples:
    • Virus: programme se reproduisant lui même et véhiculé sur un support, qui peut être logique (autre programme, fichier de format divers) ou physique (disquette, clé USB,...).
    • Vers: programme auto-reproduisant se propageant par le réseau (en général Internet), le plus souvent en exploitant une vulnérabilité d'un logiciel.
    • Cheval de Troie (Trojan): logiciel comportant une partie effectuant une action malicieuse cachée, permettant en général de donner l'accès au système à des personnes non autorisées. Il n'est pas rare que des logiciels téléchargeables sur Internet se comportent comme des chevaux de Troie.
    • Backdoor: accès caché à un système pour des utilisateurs illégitimes.
    • Root kit: programme ou ensemble de programmes permettant de contrôler une machine (accès au compte administrateur) de façon illégitime et plus ou moins furtive. Les "root kits" remplacent en général certains utilitaires systèmes par des versions modifiées de façon à rendre leur détection difficile par l'administrateur légitime (ex: on remplace la commande d'affichage pour les fichiers du "root kit" n'apparaissent pas).
    • Spyware: logiciels espions, destinés à capturer des informations à l'insu des utilisateurs légitimes (comme par exemple des numéros de cartes de crédits ou des mots de passe). On mettra dans cette catégorie les "keyloggers", qui enregistrent toutes les frappes clavier pour exploitation par un intrus. Ces logiciels peuvent être téléchargés et installés à l'insu de l'utilisateur lors d'une connexion à un site suspect. Il est a noté qu'on rencontre depuis peu des "keyloggers" hardware: ce sont de petits dispositifs logiques qui s'insèrent entre l'ordinateur et le câble du clavier et enregistrent les frappes claviers. Il suffit ensuite de récupérer les informations sensibles. Leur utilisation nécessite évidemment un accès au clavier.
  • Interception et analyse du trafic. Les technologies IP ne sont pas protégées par défaut contre les écoutes. L'interception de communication sur réseau filaire est plus délicate et peut nécessiter une complicité interne, alors que l'interception de communication par ondes hertziennes est évidemment beaucoup plus facile (réseaux WIFI par exemple). Il peut aussi arriver que le seul fait qu'une entité communique avec une autre soit intéressant, même si l'on ne connaît pas le contenu de la communication. Dans ce cas une analyse des sources et destinations du trafic, voire de son volume, peut déjà porter atteinte à la sécurité de l'organisme. Si le trafic est crypté, il faut alors avoir recours à de la cryptanalyse. Les algorithmes de chiffrement standard sont relativement sûrs et les attaques par cryptanalyse nécessitent un haut niveau de compétences et des moyens de calcul important. On citera néanmoins l'execption notable du WEP, premier système de chiffrement des réseaux Wi-Fi dont la cryptanalye est possible rapidement à l'aide de logiciels disponible sur Internet.
  • Interception des signaux compromettants: tous les équipements électriques et électroniques produisent un rayonnement électromagnétique (parfois extrêmement faible) qui peut être capté, filtré et interprété. Il est techniquement possible (et réalisé) de capter le rayonnement d'un écran ou d'un clavier et de reconstituer ce qui est visualisé ou frappé. Ce type d'attaques nécessite un très haut niveau d'expertise et du matériel sophistiqué: elles sont réservées à des attaquants disposant de très gros moyens. Les équipements de communication nécessitant un très haut niveau de confidentialité (équipements militaires ou diplomatiques) peuvent être protégés individuellement (équipement aux normes TEMPEST) ou être par exemple placés dans des cages de Faraday. Pour en savoir plus
  • Exploitation d'une vulnérabilité logicielle: Il arrive fréquemment que des logiciels aient des failles: débordement de tampon (buffer overflow), chaîne de format (string format)... Le langage C, parce qu'il utilisé très largement pour la programmation système et parce qu'il effectue peu de contrôle sur ses entrées/sortie et le type des objets manipulés, rend difficile une programmation sans failles. Ces failles permettent à un individu d'accéder à un niveau de privilèges supérieur à ceux qui lui sont accordés (dans le pire des cas, il peut obtenir des privilèges d'administrateur), ou encore d'accéder illégitimement à un service ou à une machine. Un programme exploitant une faille s'appelle un exploit. Un niveau de privilèges supérieur permet parfois de rechercher de nouvelles vulnérabilités ou failles afin d'augmenter à nouveau ses privilèges: on parle d'escalade de privilèges. Une fois la vulnérabilité connue, les exploits sont écrits par des "pirates" potentiels et circulent sur Internet assez rapidement. Il est de la responsabilité des éditeurs de logiciels de réagir aussi rapidement en publiant des correctifs (patchs) et en les mettant à la disposition de leurs clients. Le problème a pris une telle ampleur que la gestion de ces correctifs est devenu un problème majeur pour les responsables sécurité.  Pour en savoir plus sur les débordements de tampons.
  • L'injection de code à l'aide d'URL formatées spécialement afin d'obtenir des informations non autorisées sur des sites web, notamment des sites dynamiques reliés à des bases de données.
  • Attaque par dictionnaire sur les mots de passe.  On recherche les mots de passe en criblant intelligemment tous les mots d'un dictionnaire spécialisé. Cette pratique est encore largement répandue et porte toujours des fruits. Le choix de mots de passe robustes est essentiel à la sécurité du système. De nombreux outils spécialisés sont disponibles sur Internet pour le craquage de mots de passe.
  • Canal caché. On parle de canal caché lorsque une information illégitime est dissimulée dans une autre, qui elle est légitime, ou est encodée dans des actions légitimes. Par exemple, les paquets de certains protocoles ont des champs peu ou pas utilisés. On peut se servir de ces champs pour échanger des informations de manière (quasi)-indétectable avec un partenaire et déroger aux règles de confidentialité.
  • Ingénierie sociale. Il s'agit d'obtenir par des moyens humains des informations permettant d'accèder de manière illégitime au SI. Par exemple en sympathisant avec du personnel technique ou en se faisant passer pour un opérateur de maintenance auprès d'un secrétariat, etc... Cela reste une technique extrêmement efficace, notamment lorsque les personnels ne sont pas sensibilisés aux problèmes de sécurité informatique. D'une certaine manière, le phishing cité plus haut relève aussi de l'ingénierie sociale, car pour amener la victime vers le site factice, il faut tout d'abord la contacter, par exemple par un email convaincant jouant sur les faiblesses humaines...

Informations sur le parcours

Titre :
Les fondamentaux
Profil(s) :
Décideur économique, Enseignant & Lycéen, Ingénieur informatique, Enseignant-Chercheur, Etudiant
Thème :
Introduction à la problématique de la sécurité
Finalité :
Pédagogique
Difficulté :
niveau 1
Auteur(s) :
Marc Rybowicz
Mise à jour :
13/03/2006

Syndication

Il vous est possible de suivre la publication des parcours PICSI via le fil RSS des parcours.