Les systèmes d’information sont aujourd’hui de plus en plus ouverts sur Internet. Cette ouverture, a priori bénéfique, pose néanmoins un problème majeur : il en découle un nombre croissant d’attaques. La mise en place d’une politique de sécurité autour de ces systèmes est donc primordiale. Outre la mise en place de pare-feu et de systèmes d’authentification de plus en plus sécurisés, il est nécessaire, pour compléter cette politique de sécurité, d’avoir des outils de surveillance pour auditer le système d’information et détecter d’éventuelles intrusions. Ce que nous appelons intrusion signifie pénétration des systèmes d’information, mais aussi tentatives des utilisateurs locaux d’accéder à de plus hauts privilèges que ceux qui leur sont attribués, ou tentatives des administrateurs d’abuser de leurs privilèges. Au cours de ce document, nous verrons comment se protéger efficacement face à ces intrusions, mais aussi les problèmes techniques déduits de ces outils, nouvellement apparus dans le monde informatique. Mais avant cela, il est important, pour comprendre le rôle précis de ces systèmes, de faire un rappel des principales attaques existantes à l’heure actuelle.

II. Les différents types d’attaques

L’informatique étant un domaine très vaste, le nombre de vulnérabilités présentes sur un système peut donc être important. Ainsi, les attaques visant ces failles peuvent être à la fois très variées et très dangereuses. C’est pourquoi nous allons dans un premier temps analyser ce que nous appellerons « l’anatomie d’une attaque », puis dans un second temps, nous caractériserons ces attaques et observerons leur déroulement. Un nombre important de termes techniques vont être employés dans cette partie. Ceux-ci ne seront pas toujours détaillés, afin de ne pas surcharger la lecture ; mais une annexe comportant un rappel sur les notions fondamentales liées aux protocoles des réseaux (TCP, UDP et IP) est disponible à la fin de ce document.

II-A. Anatomie d’une attaque

Fréquemment appelés « les 5 P » dans la littérature, ces cinq verbes anglophones constituent le squelette de toute attaque informatique : Probe, Penetrate, Persist, Propagate, Paralyze. Observons le détail de chacune de ces étapes :

  • Probe : consiste en la collecte d’informations par le biais d’outils comme whois, Arin, DNS lookup. La collecte d’informations sur le système cible peut s’effectuer de plusieurs manières, par exemple un scan de ports grâce au programme Nmap pour déterminer la version des logiciels utilisés, ou encore un scan de vulnérabilités à l’aide du programme Nessus.

Pour les serveurs web, il existe un outil nommé Nikto qui permet de rechercher les failles connues ou les problèmes de sécurité. Des outils comme firewalk, hping ou SNMP Walk permettent quant à eux de découvrir la nature d’un réseau ;

  • Penetrate : utilisation des informations récoltées pour pénétrer un réseau. Des techniques comme le brute force ou les attaques par dictionnaires peuvent être utilisées pour outrepasser les protections par mot de passe. Une autre possibilité pour s’infiltrer dans un système est d’utiliser des failles applicatives que nous verrons ci-après ;
  • Persist : création d’un compte avec des droits de super utilisateur pour pouvoir se réinfiltrer ultérieurement. Une autre technique consiste à installer une application de contrôle à distance capable de résister à un reboot (ex. : un cheval de Troie) ;
  • Propagate : cette étape consiste à observer ce qui est accessible et disponible sur le réseau local ;
  • Paralyze : cette étape peut consister en plusieurs actions. Le pirate peut utiliser le serveur pour mener une attaque sur une autre machine, détruire des données ou encore endommager le système d’exploitation dans le but de planter le serveur.

Après ces cinq étapes, le pirate peut éventuellement tenter d’effacer ses traces, bien que cela ne soit rarement utile. En effet, les administrateurs réseau sont souvent surchargés de logs à analyser. De plus, il est très difficile de supprimer entièrement des traces.

Lire la suite…