Cet article vous a plu?
0
Cet article vous a plu?
0

Systèmes de détection et de prévention d’intrusion : un aperçu.

La meilleure façon de protéger un réseau ou un système informatique est de détecter les attaques et de se défendre avant même qu’elles ne puissent causer des dommages. Ainsi beaucoup font appel à cet effet aux systèmes de détection d’intrusion (IDS : intrusion detection system) ou aux systèmes de prévention d’intrusion (IPS : intrusion prevention system) les plus polyvalents. Cet article explique ce que sont ces deux composants de sécurité assez similaires et comment ils fonctionnent.

Qu’est-ce qu’un système de détection d’intrusion ?

Un système de détection d’intrusion, est utilisé pour détecter les attaques contre un réseau ou un système informatique à un stade précoce. Le logiciel IDS nécessaire peut être installé sur le système informatique à surveiller ou bien sur un appareil séparé. De nombreux éditeurs proposent des logiciels IDS préconfigurés qui sont relativement coûteux. Les systèmes de détection d’intrusion surveillent et analysent toutes les activités du réseau, pour détecter un trafic inhabituel et avertir l’utilisateur dans un pareil cas. Cela permet ainsi à l’utilisateur de pouvoir réagir aux tentatives d’accès au système de la part d’intrus et donc de prévenir une attaque. Fondamentalement, une distinction est faite entre les méthodes de détection d’attaque basées sur l’hôte et celles basées sur le réseau.

Système de détection d’intrusion basé sur un hôte.

Le premier IDS basé sur un hôte fut utilisé déjà dans les années 80 pour protéger les structures informatiques centralisées. Pour cela, le système de détection a simplement été installé sur l’ordinateur central sur lequel les différents terminaux connectés fonctionnaient, il a ainsi surveillé le trafic sur cet hôte en recherchant dans les fichiers journaux (ou fichiers log), le noyau et dans les autres données du système. Mais avec le développement des terminaux en postes de travail indépendants avec leur propre puissance de calcul, la technologie basée sur un hôte a dû être adaptée. Afin de contrôler les différents systèmes d’exploitation indépendants, des modules spéciaux, aussi appelés agents de monitoring, ont été installés sur le système. Ils ont filtré le trafic de données et les données d’audit pertinentes, les résultats sont transmis au serveur central, qui était à son tour chargé de détecter l’attaque.

Système de détection d’intrusion basé sur le réseau

La mise en réseau croissante des réseaux locaux avec Internet a nécessité un développement plus poussé de la technique IDS. Premièrement, l’approche basée sur un hôte ne convenait pas aux flux de données flexibles et complexes d’Internet. Secondement, les attaques n’avaient plus besoin d’être physiquement proches du système cible, mais pouvaient être exécutées par des clients très distants répartis sur le réseau. Comme l’accès non autorisé à partir du Web s’effectue obligatoirement via le protocole TCP/IP ou UDP, les systèmes basés sur le réseau ne vérifient plus les données d’audit mais les paquets IP, raison pour laquelle ils étaient étroitement liés au pare-feu utilisé. Ils représentaient toutefois une unité centrale de surveillance qui ne se limitait pas à la protection d’un seul système mais pouvaient donc surveiller l’ensemble du trafic de données du réseau.

Le fonctionnement des systèmes modernes de détection d’attaques.

Les actuels systèmes de détection d’intrusion combinent généralement les deux approches pour garantir un taux de détection des attaques encore plus élevé. Ce système hybride se caractérise par un système de gestion centralisé, alimenté avec les informations correspondantes par un logiciel basé sur le réseau et un logiciel basé sur l’hôte. Trois composants élémentaires sont impliqués dans le processus de détection :

Le monitoring des données

Le moniteur de données à la tâche de collecter et de filtrer au préalable tous les données pertinentes et nécessaires pour démasquer les intrus. Il s’agit des données d’audit déjà mentionnées comme les fichiers journaux des systèmes informatiques et des applications de sécurité ainsi que les informations système comme le charge du CPU, le nombre de connexions réseau actives ou le nombre de tentatives répétées de connexion. De plus, le moniteur de données du système hybride de détection d’intrusion traite aussi les informations relatives aux connexions TCP/IP, comme l’adresse de la source et de la destination, ainsi que d’autres contenus des paquets de données envoyés et reçus par le capteur IDS basé sur le réseau.

L’analyse

Le moniteur de données envoie les données collectées et préfiltrées à l’analyseur. Ce dernier doit traiter et évaluer les informations obtenues en temps réel, faute de quoi les tentatives d’effraction ne pourraient être contrecarrées. Le processus d’analyse impose donc des exigences relativement élevées au niveau du matériel sous-jacent (CPU et mémoire notamment). Et cela en particulier dans les grands réseaux d’entreprise, ou la mise en échelle de ce composant IDS est l’une des tâches les plus complexes, mais aussi les plus importantes afin de garantir la fonctionnalité du système de détection des attaques. Un analyseur peut utiliser deux méthodes différentes pour évaluer les données :

  • En cas de « Misuse Detection » (en français détection d’abus), l’analyseur essaye de reconnaitre les schémas d’attaque connus, appelés signatures, dans les données reçues. Celles-ci sont stockées dans une base de données séparée (une bibliothèque de signatures), qui est alors régulièrement mise à jour. Pour chaque signature, les entrées de la base de données fournissent aussi des informations sur la gravité de l’attaque. Mais cependant, un schéma d’accès qui n’est pas stocké dans la bibliothèque de signatures reste lui caché de cette méthode de détection.

  • L‘« Anomaly Detection » (en français détection d‘anomalie) est basée sur un autre principe : cette méthode d’analyse suppose que l’accès non autorisé provoque un comportement anormal du système et s’écarte des valeurs standard définies précédemment. Par exemple, l’analyseur peut être configuré pour déclencher une alerte si la charge CPU ou le taux d’accès à la page dépasse une certaine valeur (approche statique). Il peut aussi inclure dans son évaluation la séquence chronologique des événements (approche logique). Bien que la détection d’anomalies puisse détecter des attaques nouvelles et inconnues, cette méthode de détection active peut également générer des alertes dans certains cas d’états inhabituels du système qui ne sont pas causés par un hacker ou une attaque.

La transmission des résultats

Dans la dernière étape, le système de détection d’intrusion informe l’administrateur du réseau, dans le cas d‘une attaque détectée ou d’un comportement suspect du système. En fonction de chaque niveau de dangerosité, il existe plusieurs possibilités pour la notification. Par exemple, le système de défense peut :

  • Envoyer un email avec la nature de l‘attaque
  • Déclencher une alarme locale comme une fenêtre pop-up dans la console de sécurité.
  • Ou envoyer une notification d’alerte sur un appareil mobile.

Au niveau de la détection d’anomalies, le degré de risque est calculé en fonction du degré d’écart par rapport à la valeur standard correspondante, tandis que la procédure de détection d’une utilisation abusive est recommandée pour la classification de la bibliothèque de signatures, comme cela a déjà été mentionné.

Les avantages et les inconvénients du système de détection d’intrusion

Avec sa technologie polyvalente, un système de détection d’intrusion peut déceler les attaques qu’un pare-feu classique ne peut détecter. Il analyse les paquets de données jusqu’à la couche la plus haute du modèle OSI et supervise pour cela les applications exécutées de manière individuelle. Les systèmes avec détection d’anomalies peuvent aussi détecter de nouveaux schémas d’attaques flexibles grâce à leur procédure augmentant ainsi la sécurité d’un réseau. Il ne faut cependant pas croire qu’un logiciel IDS puisse remplacer le pare-feu, seule une combinaison des deux composants de sécurité offre une protection optimale.

Comme les systèmes de détection d’intrusion sont des composants actifs d’un réseau, ils peuvent aussi être la cible potentielle d’attaques, surtout si l’intrus connait leur existence. Du fait de leur vulnérabilité aux attaques DOS, c’est-à-dire à la surcharge ciblée, les logiciels IDS peuvent en très peu de temps s’éteindre. De plus, le hacker peut aussi profiter de la fonction de notification automatique des systèmes de détection d’intrusion afin de lancer des attaques DOS à partir de l’IDS. En particulier,  la détection d’anomalies est un point faible majeur dans ce cas si la configuration est incorrecte. En effet, si les réglages sont trop sensibles, le nombre de messages d’alerte est alors relativement élevé, et cela même en l’absence d’accès non autorisées.

Dans tous les cas, vous devez évaluer les coûts, efforts et les avantages de ces systèmes de sécurité car vous avez non seulement besoin du logiciel IDS mais aussi de l’environnement matériel approprié. Et même si il existe des solutions open source puissantes comme celui basé sur un réseau Snort, ou bien basé sur un hôte comme Samhain ou encore le système hybride Suricata, il est nécessaire de réaliser correctement une installation, une configuration et une maintenance.

Qu’est-ce qu’un système de prévention d’intrusion ?

Comme son nom l’indique, les systèmes de prévention d’intrusion (IPS) vont encore plus loin que les systèmes de détection d’intrusion : après avoir détecté une attaque potentielle, ils informent non seulement l’administrateur, mais mettent aussi immédiatement en place des contre-mesures appropriées. Ainsi on évite d’avoir un délai trop long entre la détection d’un problème et la réaction face à ce dernier, contrairement à ce qui peut se produire avec les logiciels IDS. Toutefois il n’existe pratiquement aucune différence entre les deux mécanismes de protection du réseau au niveau des méthodes d’analyse qui sont utilisées. Comme un IDS, un IPS moderne utilise des capteurs hôte et réseau pour enregistrer et évaluer les données du système et les paquets du réseau.

Un système de prévention d’intrusion doit généralement  être configurable de manière individuelle afin d’éviter que les actions courantes de l’utilisateur ne soient alors classifiées comme dangereuses et donc bloquées par le détecteur d’anomalies. Cela apporte la garantit de pouvoir mettre en œuvre à la fois des systèmes de prévention et de détection d'intrusion avec de nombreux programmes et ainsi de choisir entre le blocage actif et la surveillance pure : comme Snort et Suricata avec les applications open source énumérées plus haut. Il est donc concevable d'avoir un système combinant les deux approches ou d'utiliser deux systèmes distincts. Cette dernière variante est recommandée car le filtrage et le blocage peuvent être distribués dans différents environnements matériels.

La portée du logiciel IPS utilisé peut varier considérablement, comme l’illustre l’exemple des deux logiciels open source DenyHosts et Snort.

DenyHosts : la réponse simple à l’attaque par force brute

A l’aide de l’outil DenyHosts écrit avec le langage de programmation Python, vous pouvez installer un système de prévention d’intrusion basé sur un hôte pour vos connexions SSH/SSHD qui détecte et bloque les attaques de force brute. Pour cela, l’application open source vérifie les entrées du log d’authentification pour détecter de nouvelles tentatives de connexion SSH qui ont échouées. Si le nombre de tentatives échouées et effectuées à partir d'une seule adresse IP dépasse un nombre défini par l'utilisateur, DenyHosts bloque alors cette IP et l'inscrit dans une liste noire. De cette façon, l'attaquant se verra refuser à l'avenir la possibilité de s'enregistrer s'il utilise la même adresse. 

Les seules conditions préalables sont un système d’exploitation unixoid et le langage de script Python avec le module ipaddr, qui sont des standards inclus dans la plupart des distributions. Les versions actuelles de l’outil IPS se trouvent dans le répertoire officiel de DenyHosts GitHub. Une alternative possible est le framework de sécurité Fail2ban.

Snort : des règles flexibles pour sécuriser un réseau

Dès 1998, le programmeur Martin Roesch a publié le logiciel de sécurité Snort, au départ dans une version Unix. Depuis 2013, Cisco Systems est responsable du développement du programme multiplateforme et sous licence GPL. La société américaine propose différents modèles d’abonnements commerciaux pour ce logiciel gratuit, ces abonnement permettent aux particuliers tout comme aux entreprises de mettre à jour les règles plus rapidement et de fournir un support utilisateur supplémentaire. Snort offre la possibilité de créer de puissants systèmes de prévention d’intrusion sur réseau. Toutefois, vous pouvez aussi configurer le logiciel pour qu'il permette de surveiller simplement les composants respectifs et ainsi servir de base à un système de détection d'intrusion.

Snort vérifie le trafic réseau en temps réel et utilise Misuse Detection Engine BASE pour l’analyse. Il compare les paquets de données entrants et sortants avec les entrées de signature nommés dans les règles Snort (Rules). Cisco Systems ajoute régulièrement à cet ensemble de règles des modèles d’attaques récemment découverts, les clients qui payent un abonnement reçoivent des mises à jour plus rapidement. Vous pouvez aussi définir vos propres règles pour améliorer les capacités de détection de votre système Snort. Pour plus d’informations sur l’utilisation gratuite ou payante de Snort, vous pouvez visiter le site officiel de Snort.

Cryptage Réseau Sécurité