UP | HOME
LPASRSI

Modules « Système Linux »

Vacations en licence professionnelle « Audit et Sécurité des Réseaux et Systèmes d'Information » à l'antenne de Ifs du pôle de Caen de l'IUT Grand Ouest Normandie


M81 : Détection d’intrusion

Concepts, définitions, techniques

Intrusion ?

L’intrusion est le fait pour une personne ou un objet — l’intrus — de pénétrer, dans un espace défini (physique, logique ou relationnel) où sa présence n’est pas souhaitée. La notion d’intrusion suppose qu’il existe une volonté de réserver l’accès à des ressources.

L’intrusion est constatée dès le franchissement de la limite entre l’extérieur et l’intérieur même si cette limite n’est que symbolique, c’est-à-dire abstraite.

Un système de détection d’intrusion est un mécanisme d’identification des activités anormales ou suspectes sur l’espace défini. Il fournit une base de connaissance des tentatives d’intrusion, qu’elles aient abouti ou pas.

CCTV

Les biens matériels exposés sont généralement protégés par des dispositifs interdisant leur accès à des personnes non autorisées. Une serrure, un distributeur de billets, une banque, un coffre, … même s’ils sont sécurisés par nature, peuvent être attaqués, il faut donc les défendre, en les surveillant pour détecter les tentatives d’intrusion.

Dans le domaine de la télésurveillance, les caméras captent l’activité autour d’un périmètre défini. Ces informations sont collectées par un système dédié, généralement en circuit fermé (closed circuit). Elles sont destinées à une diffusion restreinte ou à un enregistrement à toute fin ultérieure utile (aspect légal, protection de la vie privée, RGPD).

Les informations brutes peuvent aussi être filtrées (détection de mouvement), analysées par des humains— en temps réel ou a posteriori, traitées par des algorithmes (reconnaissance de faciale…).

La détection d’intrusion, qu’elle soit automatique ou visuelle, peut déclencher des actions (alarmes par exemple).

La détection d’intrusion informatique utilise les mêmes concepts.

Système de détection d’intrusion informatique

Un système de détection d’intrusion est un composant d’une architecture de sécurité informatique.

Il peut être composé de plusieurs parties respectivement chargées de :

  1. collecter des informations (notion de sonde),
  2. les « normaliser » en fonction du contexte,
  3. les analyser, voire les corréler (dans le cas de plusieurs sources),
  4. et — selon le résultat fourni par les opérations précédentes, déclencher certaines actions (sauvegarder, alerter, limiter, bloquer, …).

Des erreurs dans le processus d’analyse peuvent conduire aux déclenchements d’alerte à tort (faux positif), mais aussi au défaut de détection de vraies tentatives d’intrusion (faux négatif).

L’emplacement des composants d’un IDS doit s’inscrire dans l’architecture de sécurité globale, en tenant compte de l’ensemble des autres composants (parefeux, DMZ, honeypot, …), des objectifs de sécurité (menace intérieure et/ou extérieure) et de la politique de sécurité du système d’information.

Notes :

  • Les différents composants pourront utiliser un format d’échange de données normalisé comme IDMEF.
  • La détection d’intrusion peut être utilisée en forensique
  • La détection d’intrusion peut être intégrée à certains parefeux
  • La détection d’intrusion peut être couplée aux pots de miel

Défense en profondeur

Il s’agit de multiplier les lignes de défense se soutenant mutuellement (chaque nouveau mécanisme renforce ceux déjà en place), à la fois coordonnées et indépendantes les uns des autres (le bon fonctionnement d’un mécanisme ne présuppose pas de celui des autres), et participant tous à la défense globale des biens à protéger.

Chaque ligne de défense est surveillée et fournit des renseignements aux autres lignes de défense. Ceci conduit un comportement dynamique, réactif, susceptible d’inclure (selon le plan de réaction) des modes de fonctionnement dégradés.

La défense en profondeur, telle que définie par l’ANSSI, « consiste à mettre en place plusieurs techniques de sécurité complémentaires (au moins 3 par actif protégé) afin de réduire l’impact lorsqu’un composant particulier de sécurité est compromis ou défaillant » dans le but de :

  • Prévenir : anticiper la présence ou l’apparition de failles de sécurité (pas de mot de passe par défaut, mises à jour systématiques…)
  • Bloquer : empêcher les attaques de parvenir jusqu’au cœur du système
  • Contenir : limiter, mitiger les conséquences de la compromission d’un composant du système (redondance, couplages faibles, sauvegardes…)
  • Détecter : identifier les incidents de sécurité (journaux, analyse du traffic), vérifier les conditions de sécurité du système (scans de vulnérabilités, vérification de la conformité)
  • Réagir : (et y être prêt) disposer de moyens pour traiter les incidents de sécurité (SoC), restauration des conditions de sécurité notamment

Différents types d’IDS

Les systèmes de détection d’intrusion peuvent être catégorisés selon le périmètre qu’ils surveillent :

  • dans le cas du trafic réseau on parle de NIDS :
    • installé sur le « chemin » (en coupure),
    • ou recevant une copie de tout ou partie du trafic (cf cisco monitor session)
    • peut aussi être propre à un système et contrôler son trafic réseau (HNIDS)
  • dans le cas de l’activité d’un système, on parle de HIDS :
    • analyse généralement les journaux (logs) du système
    • peut aussi vérifier l’intégrité des binaires et bibliothèques du système (recherche de rootkits)

Si le système de détection d’intrusion réalise directement des actions pour bloquer les intrusions détectées, le terme de « prévention » peut parfois remplacer « détection », on parle alors d’IPS.

Méthodes d’analyse

Quel que soit le type d’IDS, réseau ou hôte, l’analyse des données collectées par les sondes, paquets réseau ou journaux d’activité, peut être réalisée selon l’une ou l’autre de deux approches, voire selon un modèle hybride combinant les avantages des deux méthodes, et contrebalaçant leurs inconvénients.

Analyse de signature

Les tentatives d’intrusion peuvent être détectées dans les journaux ou les paquets réseau en y reconnaissant des motifs pré-définis. La définition de ces motifs exploite généralement les expressions régulières.

Cette méthode permet une détection rapide des tentatives d’intrusion utilisant des motifs reconnus, entraîne très peu de faux positifs, mais ne permettra pas d’identifier les attaques plus récentes.

L’efficacité des IDS utilisant cette approche dépend essentiellement de la fréquence de mise à jour et de la qualité de la base de signatures utilisée. Cependant l’algorithme d’utilisation des signatures (arbre de décisions ou système à états) peut également avoir un impact sur les performances.

Il existe de nombreuses sources pour ces signatures. Le site de Snort, par exemple, en fournit deux types : d’accès libre ou requérant un oinkcode fourni après simple enregistrement. La société Proofpoint propose des règles d’accès libre, mises à jour très régulièrement pour suivre les menaces émergentes (emerging threat), adaptées aux différents moteurs.

Approche comportementale

Les IDS à approche comportementale identifient des anomalies dans le trafic, par rapport à un comportement « normal » qui devra être modélisé au préalable, dans une phase d’apprentissage par exemple.

Cette approche requiert un investissement initial plus important, pose de nombreuses questions d’ordre pratique (quid de la sûreté du système en phase d’apprentissage) mais permet d’envisager la détection d’attaques non connues au prix d’une probabilité de faux positifs plus importante.

Les technologies de l’intelligence artificielle (ie machine learning) sont de plus en plus communément mises en œuvre pour réaliser tout ou partie de l’analyse comportementale.

HIDS

Un IDS hôte (HIDS, Host-based Intrusion Detection System) est chargé de contrôler le comportement d’un système. Tout ou partie des composants de l’HIDS sont installés sur le système lui-même, entrainant un coût en terme de ressources. un HIDS peut surveiller :

  • les journaux (analyse de logs),
  • les interactions entre applications et noyau (appels système),
  • l’intégrité du système de fichiers,
  • la présence de rootkits (aussi appelée KIDS),
  • le bon fonctionnement des processus, …

Le contrôle d’intégrité du système de fichiers (surtout les binaires et bibliothèques, voire les fichiers de configuration), appelé aussi système de gestion de l’intégrité des fichiers (ou FIM, File Integrity Management) s’appuie sur des condensats de référence (hash), calculés à l’aide d’un algorithme cryptographique dédié, stockés de manière sécurisée. Ces valeurs de référence sont comparés régulièrement aux données réelles. Cette fonctionnalité, assez spécifique, est généralement assurée par un outil dédié à cette tâche.

Quelques solutions technologiques :

  • Fail2ban (HIPS monolithique)
  • CrowdSec (HIPS collaboratif et modulaire)
  • Sagan (HIDS, utilisant le format de règle de Snort)
  • OSSEC (HIDS, utilisé notamment par OVH)
  • Samhain (Contrôle d’intégrité, Recherche de rootkits, Analyse de journaux, Surveillance des processus, Exécution discrète, …)
  • AIDE (Contrôle d’intégrité)
  • Tripwire (Contrôle d’intégrité)
  • Chkrootkit (Contrôle d’intégrité ciblé, de l’état des périphériques réseau et des modules du noyau — à la recherche d’exploits nommés rootkits)
  • RkHunter, DarkSky, IceSword (Recherche de rootkits, le dernier pour Windows)
  • Comparaison de quelques HIDS

HIDS sur les postes de travail : EDR

Ces dernières années (depuis 2015), une nouvelle génération d’IDS est apparue, nommée EDR pour Endpoint Detection and Response, elle équipe les postes de travail qui remontent des informations à une console centrale fréquemment équipée d’un moteur d’analyse fondé sur une IA pour identifier certains schémas de fonctionnement et détecter les anomalies. L’EDR est une sorte de super antivirus.

IPS

Prévenir plutôt que seulement détecter implique d’agir sur le système afin de bloquer, d’éliminer ou de circonscrire la menace (ralentir par exemple).

Cette action peut être réalisée par tous les types d’IDS avec différentes techniques, par filtrage IP le plus souvent, mais aussi au niveau applicatif par exemple.

L’action systématique d’un système de prévention des intrusions implique d’intégrer l’éventualité de la détection de faux positifs, et la gestion du risque inhérent : possibilité de supprimer manuellement et facilement un blocage indu, gestion d’exceptions (whitelist).

NIDS

Un IDS Réseau (NIDS, Network Intrusion Detection System) est un outil fondé sur une capture de paquets (sniffer) couplée à un moteur d’analyse du contenu de ces paquets (ou de leurs entêtes) aux différents niveaux des couches du modèle OSI/ISO : réseau (IP, ICMP), transport (TCP, UDP), application (HTTP, Telnet, …) pour la détection de signatures ou d’anomalies et destiné à déclencher des alertes ou des actions automatiques.

La capture des trames peut réalisée en positionnant l’interface en mode promiscuité (promiscous mode) afin qu’elle accepte tous les paquets, même ceux qui ne lui sont pas destinés, directement au niveau liaison, avant le parefeu du système hôte. Cette technique requiert un accès privilégié au système.

Snort

Snort est le plus ancien, le plus éprouvé et le standard de facto des IDS libres. La plupart des solutions sont compatibles avec le format utilisé pour décrire ses règles d’analyse de signature. Il compte une base de près de 400 000 utilisateurs, est très bien documenté et fonctionne sur la plupart des sytèmes d’exploitation. Sa limitation actuelle est qu’il ne fonctionne qu’avec un seul thread et ne tire donc pas avantages des systèmes multiprocesseurs.

Sourcefire, la société fondée en 2001 par Martin Rœsch, principal développeur, pour proposer une version commerciale de la technologie, a été rachetée en 2013 par Cisco.

Snort se conforme à de nombreux standards : format des règles (dont il est à l’origine), format d’échange des messages de détection d’intrusion (IDMEF), format d’export des alertes (unified2), … Il peut être étendu avec de nombreux plugins (snortsam, snort-ai, …).

Suricata

Suricata est un NIDS plus jeune. Son développement, très rapide, est organisé par l’OISF (Open Information Security Foundation), organisation à but non lucratif à laquelle participe notamment le département de la sécurité intérieure des États-Unis. Il est compatible avec les règles Snort. Il est plus performant lorsqu’il est utilisé avec les règles Emerging Threats fournies par Proofpoint, celles-ci étant conçues pour tirer parti de ses capacités multithread.

Zeek (anciennement Bro)

Fondamentalement, Zeek est un analyseur de trafic réseau passif qui va générer des journaux à la fois détaillés concernant les flux analysés jusqu’au niveau applicatif et permettant de modéliser l’utilisation « normale » du réseau.

Il intègre l’utilisation d’un langage de type DSL (Domain Specific Language) qui permet d’écrire des règles de détection pointues exploitées à la volée et compatibles avec d’énormes volumes de données (sur des liens jusqu’à 100 GE).

C’est donc un NIDS qui combine l’analyse des signatures des paquets (comme Snort, dont il peut aussi utiliser les règles), mais qui peut aussi réaliser (une forme limitée) de détection d’anomalies.

IDS hybride

Un IDS hybride est capable d’analyser les données fournies à la fois par les HIDS et les NIDS. La corrélation de ces évènements détectés dans le trafic réseau par un (ou plusieurs) NIDS avec d’autres évènements captés au niveau des hôtes par des HIDS est réalisée par une plateforme centralisée dédiée appelée SIEM, pour Security Information and Event Management.

Quelques solutions technologiques :

  • OSSIM, SIEM opensource
  • Prelude, SIEM français utilisant le format IDMEF, proposant une version opensource et une version pro
  • Wazuh, fork de OSSEC, HIDS modulaire permettant la corrélation d’évènement et offrant des fonctionnalités avancées comme la recherche de CVE, l’analyse des images de coteneurs…
  • Splunk, méta-solution de gestion de données, fait aussi supervision, SOAR (Security orchestration, automation and response, outil indispensable des SOC), analyse du comportement utilisateur…

Défense active

Défense active

Dans le domaine de la sécurité, on distingue protection et défense : Le parefeu un mécanisme de protection alors que la détection d’intrusion est un mécanisme de défense. Les pots de miel font eux aussi partie de l’arsenal de défense active.

La défense active vise à supprimer ou réduire l’efficacité d’une attaque ennemie. Elle s’oppose à la défense passive, vouée exclusivement à l’information, la détection, et aux aménagements permettant d’empêcher ou retarder toute intrusion.

Le terme est issu de l’architecture militaire. C’est Philippe Auguste qui systématisa le principe de la défense active, en multipliant par exemple l’installation d’archères.

Le terme est aussi une technique de combat visant à 1) éviter de subir l’offensive de l’adversaire et 2) utiliser cette action à son propre avantage (contre).

Pots de miel, objectifs, caractérisation

L’objectif du pot de miel est d’être la cible d’activités malveillantes afin de collecter des informations sur la menace : techniques, outils, provenance, mode opératoire…

Un pot de miel peut être un service — SSH par exemple, sur un serveur dédié ou pas, mais aussi un site web hébergeant des informations faussement confidentielles, un poste de travail, un compte utilisateur…

Ce terme pourrait aussi être utilisé en ce qui concerne la menace pour désigner les faux portails web vers lesquels certains phishings essayent d’attirer les utilisateurs.

Pots de miel, vulnérabilité ?

Pour remplir sa fonction de renseignement, le pot de miel doit sembler présenter des vulnérabilités attrayantes. Attirant l’attention des acteurs de la menace, l’appât doit être conçu pour résister aux tentatives d’intrusion (en lecture seule, déployé en mode IaC…).

La collecte des données, leur analyse et la consultation des renseignements doivent être décorrélées de l’appât lui-même. Cette collecte de données peut être complétée par une capture des flux réseau, complète directement sur le honey pot ou au travers d’un NIDS.

Pots de miel, publication

La prise de connaissance de l’extension de la surface d’attaque liée à la mise en place du honey pot devra être surveillée afin de vérifier l’impact sur le fonctionnement du dispositif et aussi pour corréler les vagues d’attaques avec l’avancement de sa publication.

Censys.io et Shodan.io sont des sites qui recensent les ports ouverts, les services présentés et les vulnérabilités potentielles ainsi que toute autre information disponible concernant toutes les machines présentes sur internet.

Pots de miel, interaction basse ou haute

Les pots de miel à interaction basse sont conçus pour limiter au minimum l’interaction avec l’acteur de la menace et donc le risque de débordement. En conséquence les informations collectées par ce type d’outil seront restreintes. (Bien qu’elles puissent parfois être efficaces !)

À l’opposé les pots de miel à interaction haute présentent à l’acteur de la menace un système plus ou moins complet, en tous cas vraisemblable. Le risque est alors plus élevé que l’acteur de la menace essaye de latéraliser l’attaque par exemple. Le pot de miel devra donc être placé sur un réseau DMZ dédié, bloquer au maximum les flux sortants, etc, sans pour autant alerter l’acteur de la menace sur la situation.

Pots de miel, balance bénéfices / risques

Les pots de miel à haute interaction peuvent conduire à des sitations extrêmes où leur existence même peut à la fois fournir des informations critiques concernant la menace mais aussi mettre en danger le système d’information.

Exemple : En 2010, la NSA démantèle un honey pot mis en place par la CIAMommy and Daddy are fighting » !)

Deceptive security

Définition

Le principe de base de la deceptive security est d’augmenter le temps que doit investir l’acteur de la menace et de réduire le temps de détection et de réaction.

Il découle d’une règle simple : une intrusion échouera si le temps qu’elle requiert est supérieur à la somme du temps de détection et du temps de réaction.

t_détection + t_réaction < t_intrusion => échec de l'attaque

De par leur conception même, l’exploitation des données fournies par les pots de miel n’est généralement pas possible en temps réel. Les solutions de deceptive security a contrario doivent permettre de ralentir l’attaque quand elle a lieu tout en fournissant des informations sur celle-ci (real time threat intelligence).

Agacement, Attribution et Attaque

Les pots de miel sont agaçants car ils retardent l’acteur de la menace qui gaspille son temps et ses ressources sur des systèmes qui n’ont finalement aucun intérêt pour lui. Les pots de miel permettent également l’attribution des attaques à des sources (des adresses IP en général).

On retrouve ces deux principes de base dans tout l’arsenal de la défense active. Les travaux pratiques porteront sur un outil bien plus agaçant qu’un pot de miel. Les sections suivantes, au travers de deux outils, présentent les mécanismes de base permettant une attribution un peu plus fine que la seule adresse IP.

CanaryTokens (1/2)

https://www.canarytokens.org (Il est possible d’installer une instance complètement indépendante.)

Le principe : générer des artefacts contenant des tokens (jetons) permettant de remonter à la source lors de l’utilisation des artefacts

Canarytokens permet par exemple de générer un document Word entièrement vide, éditable, qui contient toutefois une metadonnée (feuille de style ou une image vide par exemple) qui fait appel à une URL, qui permet de tracer l’utilisation du document.

Ce fichier, nommé passwords.docx par exemple sera très facilement détecté par des outils comme Powershell Empire, Share Finder ou Cobalt Strike.

CanaryTokens (2/2)

Canarytokens propose également du code javascript à intégrer à un portail d’identification pour le protéger contre le clonage (technique utilisée pour le phishing)

Les alertes fournies par Canarytokens sont de deux types : mail (la boîte destinataire peut être collectée par un système de tickets comme GLPI, Jira ou The Hive) et web hook (tout est imaginable…).

Honey Badger

La géolocalisation des adresses IP est plutôt inefficace (bien qu’il soit possible de l’affiner en utilisant traceroute et l’adresse IP du routeur n-1).

Honeybadger permet de générer un tableau Excel contenant une macro VB qui va analyser l’environnement WiFi de la cible et utilise les API Google et IPstack pour remonter la localisation à 10 mètres près du poste lisant la feuille de calcul.

Imaginer les conséquences dans le cadre de la cyberguerre…

Deceptive security, quelques solutions

Threat intelligence

Le principe fondateur de la threat intelligence, ou du renseignement sur la menace est qu’il est plus facile de se protéger lorsque l’on connaît la menace réelle, celle effectivement exercée sur les système d’information et les moyens mis en œuvre.

Mettre en œuvre des techniques et outils pour connaître la menace est le rôle des CERT/CSIRT. L’ANSSI par exemple publie des informations sur le site du CERT français : https://www.cert.ssi.gouv.fr/cti/.

On y trouve des rapports CTI (cyber threat intelligence) sur des groupes d’acteurs (TA : threat actor), leurs modes opératoires ou leurs infrastructures ; des campagnes de phishing ou d’attaques, des malwares, etc.

Indicateurs de compromission

Un pan un peu particulier de la connaissance de la menace porte les indicateurs de compromission (IoC, cf /indicators of compromise) :

Ils sont généralement publiés dans le format ouvert MISP (ex : https://www.cert.ssi.gouv.fr/uploads/CERTFR-2021-IOC-005.json) et utilise la nomenclature de la matrice ATT&CK.