Détection d’intrusions
Synthèse de différents articles de recherche 

Techniques de protection des informations
Ludovic Mé – Cédric Michel, 1999
An introduction to intrusion detection
Aurobindo Sundaram, 1996
Détection d’intrusion dans un système informatique : méthodes et outils
Ludovic Mé – Véronique Alanou, 1996
Research in intrusion detection systems : a survey
Stefan Axelsson, 1999
Détection d’intrusions, une aide à la sécurité pour l ‘accès mobile
Hervé Debar, 1999
How to increase security in mobile networks by anomaly detection
Roland Büschkes – Dogan Kesdogan – Peter Reichl, 1998
A mobile agent approach to intrusion detection
Stéfano Martino, 1999
Applying mobile agents to intrusion detection and response
Wayne Jansen - Peter Mell - Tom Karygiannis - Don Marks, 1999
The resurrecting duckling : security issues for Ad-hoc wireless networks
Franck Stajano – Ross Anderson, 1999

Techniques de protection des informations

Ludovic Mé – Cédric Michel




Insuffisances des mécanismes de sécurité classiques

La sécurité vise à garantir la confidentialité, l’intégrité et la disponibilité des services.
Il faut mettre en place des mécanismes pour s’assurer que seules les personnes autorisées ont accès à l’information et que le service est rendu correctement :
- Protection physique des équipements.
- Authentification et contrôle d’accès.
- Utilisation d’outils d’analyse automatique des vulnérabilités du système.
- Installation d’un pare-feu pour réduire les possibilités d’attaque à distance.
- Audit de sécurité et détection d’intrusions

La détection d’intrusion : une nécessité

L’audit de sécurité permet d’enregistrer tout ou partie des actions effectuées sur le système. L’analyse de ces informations permet de détecter d’éventuelles intrusions.

Principes de détection

èL’approche comportementale : construction du profil du comportement normal de l’utilisateur ou de l’application et détection de tout comportement déviant. Cela permet de détecter les attaques inconnues, mais ce système produit beaucoup de fausses alarmes. L’attaquant peut également apprendre au système un comportement anormal comme comportement normal.
- Méthode statistique : profil basé sur plusieurs variables aléatoires et on calcule un taux de déviation entre le comportement courant et le comportement passé.
- Systèmes experts : base de règles au vu de ses précédentes activités
- Réseaux de neurones : apprend le comportement normal de l’utilisateur
- Immunologie : définition des appels normaux des services du système

èL’approche par scénarios : on compare les actions des utilisateurs aux scénarios d’attaques que l’on connaît. On ne peut donc que détecter les attaques connues et il faut mettre à jour la base de scénarios.
- Systèmes experts : base de règle qui décrit les attaques.
- Algorithmes génétiques
- Pattern matching

Comportement en cas d’attaque détectée

Déclenchement d’une alarme (passif) ou mesures correctives (actif). La plupart des systèmes actuels se contentent d’une alarme à l’administrateur du réseau.

Sources des données à analyser

- Sources d’information système ( historique des commandes systèmes, accounting (usage des ressources partagées), système d’audit de sécurité )
- Sources d’information applicatives : fichier de log pour les applications
- Sources d’information réseau : dispositifs d’écoute du réseau

Fréquence d’utilisation

Utilisation des systèmes de détection d’intrusions de façon périodique ou continue

Les limites actuelles de la détection d’intrusions

- Limites de chacune des deux approches (comportementale et par scénarios).
- Groupes de travail trop fermés : manque de standard.
- Les preuves collectées par ces systèmes peuvent-ils être utilisées par la justice ?
- Certaines attaques sont indétectables.
- Les logiciels de détection d’intrusions sont eux-mêmes attaquables.



An introduction to intrusion detection

Aurobindo Sundaram



Introduction

Anderson, en 1980 a défini une tentative d’intrusion comme la tentative délibérée et non autorisée d’accéder à l’information, de la manipuler ou de rendre un système inutilisable ou inaccessible.

Le besoin de systèmes de détection d’intrusions

Un système d’information doit assuré la confidentialité, l’intégrité et l’assurance de rendre un service.
Cependant, le fait d’ouvrir la connectivité des machines et les possibilités financières rendent les systèmes sujets à de nombreuses attaques. Il est impossible de garantir la sécurité totale d’un système pour les raisons suivantes :

- Les bugs dans les programmes courants et les systèmes d’exploitation sont nombreux.
- Si un système sécurisé est développé, il sera long à être mis en place.
- La cryptographie a ses faiblesses : les mots de passe peuvent être cassés.
- Même un système fiable peut être attaqué par des personnes abusant de leurs droits.
- Plus les mécanismes de sécurité sont stricts, moins ils sont efficaces.

Spafford annonce que le nombre de voleurs d’informations a augmenté de 250% en 5 ans, que 99% des grandes entreprises rapportent au moins un incident majeur et que les fraudes informatiques et de télécommunication ont totalisés 10 milliards de dollars pour seuls les Etats-Unis.

Classification des systèmes de détection d’intrusions

Il y a deux types d’approches : l’approche comportementale et l’approche par scénarios.

Système de détection d’intrusions par approche comportementale

- Approche statistique : on crée un profil de l’utilisateur, et le détecteur génère constamment une variance par rapport au profil original. Le profil est calculé à partir de plusieurs mesures sur des variables comme le nombre de connexions réseaux sur une certaine période, etc…
- Forme de prédiction : on essaie de prédire la prochaine commande de l’utilisateur avec un certain pourcentage en fonction des commandes qu’il a effectuée jusque là.
- Réseaux de neurones : pour faire apprendre au système le comportement de l’utilisateur.

Système de détection d’intrusions par approche par scénarios

- Systèmes expert
- Séquence de commandes
- Model-based intrusion detection
- Pattern-matching

Conclusion

La détection d’intrusions n’en est qu’à ses balbutiements. Quoiqu’il en soit, elle commence à prendre une importance capitale dans notre environnement informatique actuel. Les recherches semblent se baser sur les deux approches des systèmes de détection d’intrusions, car aucun des deux modèles ne peut arrêter tous les types d’attaques.



Détection d’intrusion dans un système informatique :
méthodes et outils

Ludovic Mé – Véronique Alanou



Introduction

Pour atteindre un bon niveau de sécurité, il faut aborder la sécurité de plusieurs manières :
- L’approche préventive coercitive : contraindre les usagers à utiliser la sécurité (mot de passe).
- L’approche préventive analytique : identifier les menaces à l’aide d’outils (Cops).
- L’approche curative : enregistrement de tout ou partie des actions pour pouvoir l’analyser.

Activités liés à l’audit de sécurité

Les actions sur un système sont les activités systèmes. Une activité à un instant t est un évènement.
On enregistre tout ou partie des évènements (traces d’audit) dans un journal d’audit de sécurité.
Ce journal doit permettre de retracer tout ce qui s’est passé sur la machine et à quel moment.

Spécification des activités systèmes à auditer

- Informations sur les accès au système (qui a accédé au système, quand, où et comment).
- Informations sur l’usage fait du système (commandes, utilisation des E/S, du CPU et de la mémoire).
- Informations sur l’usage fait des fichiers (quand, type et source de l’accès, volume d’info échangé).
- Information relatives à chaque application (lancements, arrêts, modules exécutés, E/S, commandes).
- Informations sur les violations éventuelles de la sécurité (tentatives de commandes non autorisés…)
- Informations statistiques sur le système (refus d’accès au système, usage de certaines commandes).

Collecte des évènements

Les OS disposent généralement d’un système d’audit, certaines applications aussi.

Analyse du journal d’audit

On cherche dans le journal d’audit les comportements portant atteintes à la confidentialité, à l’intégrité, ou à la disponibilité de service. Ces analyses doivent être fréquentes voire permanentes, et la sécurité du journal d’audit doit être très importante. Sur les réseaux, il est impératif d’avoir une base de temps commune pour estampiller les évènements.

Méthodes de détection d’intrusions

L’approche comportementale : détection d’une attaque exploitant une vulnérabilité inconnue :
- Méthodes statistiques : le modèle de Denning recoupant 6 éléments du systèmes et plusieurs modèles pour détecter une déviation de comportement.
- Systèmes experts : utiliser un ensemble de règles pour définir un comportement normal.
- Les réseaux de neurones peuvent être appliqués de plusieurs manières.

L’approche par scénarios : détection d’une attaque exploitant une vulnérabilité connue :
- Systèmes experts : ensemble de règles précisant la politique de sécurité et les failles du système.
- Pattern Matching (reconnaissance de forme) : représentation de l’attaque comme une suite de lettres d’un alphabet, chaque lettre étant un événement.
- Algorithmes génétiques : algorithme basé sur le système biologique permettant une analyse efficace.

Approche comportementale ou par scénarios ?

Avec l’approche comportementale, on a la possibilité de détecter une intrusion par une attaque inconnue jusqu’alors. Par contre, le choix des paramètres est délicat, ce système de mesures n’est pas prouvé exact, et on obtient beaucoup de faux positifs. Qui plus est, un utilisateur peut apprendre à la machine un comportement qu’il souhaite, notamment un comportement totalement anarchique.

Avec l’approche par scénarios, on peut prendre en compte les comportements exacts des attaquants potentiels. Par contre, la base de règle doit être bien construite et les performances sont limités par l’esprit humain qui les a conçues.

Quelques outils de détection d’intrusions

NIDES ( Next Generation Expert System de l’US Navy )

Il s’appuie sur une approche statistique (modèle de Denning) et une approche " système expert ".
NIDES fonctionne sur une machine dédié indépendante du système surveillé. Le système cible transmet l’audit par le réseau de façon chiffrée. NIDES apprend les habitudes du système cible en étudiant les évènements d’accès aux fichiers et répertoires, de connexions, de consommation de ressources, d’exécution de commande, d’activité réseau et d’activité des programmes.
L’approche statistique de NIDES s’appuie sur deux types de mesures : les mesures continues quantifiables et les mesures catégoritielles (nom de fichier…)
Le système expert de NIDES s’appuie sur une base de règles décrivant des comportements anormaux. Chaque règle déclanchée accroît un " taux de suspicion ".

Hyperview ( CS Telecom )

Il centralise les données, fait de la détection d’intrusion en quasi-temps réel et remonte des alarmes.
- Module d’analyse statique : outils d’analyse systématique des failles du système.
- Module statistique : modélisation du comportement des utilisateurs. Observe les dépassements de moyennes statistiques contre les utilisations abusives ou inhabituelles du système.
- Modèle neuronal : modélisation des séquences de commandes pour tenter de prédire la suivante.
- Système expert : alarmes du type " changement de droits d’accès ". Il surveille les privilèges.

ASAX (Advanced Security audit trail Analysis on uniX, Université de Namur et Siemens Nixdorf S.A.)

ASAX définit un standard de données d’audit. Elles sont analysés séquentiellement par un ensemble de règles actif et reconnaît des séquences particulières.

GASSATA

GASSATA est un prototype construit autour d’un algorithme génétique. Il définit une attaque comme un ensemble de couples (événement, nombre d’occurrence).

Conclusion

Cet article est un état de l’art en matière de détection d’intrusions à partir d’audit de sécurité.
Les volumes de données à traiter sont très important, d’où la nécessité d’outils adaptés.
Les deux types d’approches doivent être utilisées simultanément.
Les outils doivent être choisi en fonction de la politique de sécurité, et cet outils (en audit) ne doit pas perturber le travail des utilisateurs.


How to increase security in mobile networks by anomaly detection

Roland Büschkes – Dogan Kesdogan – Peter Reichl

Introduction

Les réseaux cellulaire gagne en popularité et le nombre de réseaux mobiles va augmenter dramatiquement dans le futur proche. Un intérêt particulier dans ce domaine est la sécurité. On ne peut pas faire un système parfait avec les outils connus actuels (authentification et cryptographie), la raison majeure étant l’utilisation des bugs des programmes par les attaquants. Il faut donc rajouter d’autres choses, une des possibilités étant la détection par approche comportementale.

La détection d’anomalies ( approche comportementale )

Il y a trois types de modèles statistiques utilisés actuellement :
- Le modèle opérationnel : l’alarme est émise quand une variable s’éloigne de ces valeurs habituelles.
- Le modèle standard de déviation : observe des variations plus générales
- Le modèle de séquences chronologiques : compare une probabilité d’événement à un instant donné.

La détection d’anomalies a des avantages et inconvénients :
- On peut détecter les attaques inconnues et on n’a pas besoin de connaître le système à surveiller.
- Les utilisateurs n’ont pas forcement des comportements normaux ou peuvent faire apprendre un comportement erratique comme normal. La vie privée des utilisateurs peut également être menacée.

La règle de décision de Bayes

Notre approche se base sur la règle de Bayes. Elle peut être classé dans la détection d’anomalies.
Pour classer un objet, on mesure un vecteur x basé sur plusieurs caractéristiques et on calcule la probabilité P(c,x) que l’objet appartienne à la classe c. On choisi la classe ayant la plus forte probabilité comme classe de l’objet.

Générer un profil d’utilisateur de mobile

L’utilisateur et le réseau

Pour permettre l’utilisation d’une même fréquence à plusieurs endroits en même temps, le réseau GSM est distribué en cellules. Si on connaît les cellules et les heures où un utilisateur passe généralement, on est capable de détecter une anomalie. Les paragraphes suivants proposent deux algorithmes pour apprendre et prédire de quelle cellule va probablement appeler l’utilisateur.

Algorithme de décision pour réseaux mobiles

- Algorithme Bayesien : Il suffit d’interpréter l’heure comme un vecteur et la cellule comme une classe.
- Un profil peut être fait avec des temps moyen de séjour dans chaque cellule.

Modéliser l’évaluation

La prédictibilité d’une position dépend de deux facteurs : le nombre de formes de mouvement et la variabilité des temps de séjour dans les cellules.
Même si le profil est bien choisi, les temps de séjour peuvent altérer la performance de l’algorithme, on a donc développé deux modèle de base :
- Modèle de surface et de route : division de la surface en cellules identifiables. On peut ainsi identifier des routes en fonction scénarios comme " ville " ou " autoroute ".
- Modèle de temps de séjour : on a modélisé à partir des trajets de bus, qui suivent une distribution de type k-Erlang entre deux arrêts.

Unité de mesure

On a utilisé le niveau de prédiction principal comme unité de mesure (MPL : Mean Prediction Level).

Résultats généraux

Les résultats trouvés sont encourageants, ceux qui ne donne pas de bon résultats le font généralement parce qu’ils n’ont pas eu le temps d’apprendre suffisamment le profil de l’utilisateur.

Scénarios d’application et domaine privée des utilisateurs

Les résultats obtenus prouvent qu’il est possible de dessiner le profil de certains utilisateurs de mobiles. Deux questions se posent alors : De quels types d’utilisateurs peut-on prendre le profil et lesquels de ces utilisateurs aimeraient qu’on prenne leur profil ?

Catégories d’utilisateurs selon l’UMTS

Après une enquête, l’UMTS montre que 75% des utilisateurs sont des candidats potentiels à la détection d’anomalies. Les utilisateurs très mobiles ne peuvent en effet pas être représentés.

Profil et vie privée

Pour accepter, il faut que l’utilisateur ait confiance en l’unité qui contrôle ces informations. Il faudra que ces informations demeurent strictement confidentielles et que les échanges soient correctement sécurisés.

Les mesures prises en cas d’anomalie doivent également être contrôlées par l’utilisateur. L’attaque lente par changement de profil n’est pas envisageable, car si l’attaquant vole le mobile, il n’aura pas le temps de changer de comportement, et s’il reproduit la carte, il y aura deux utilisateurs avec le même numéro d’identification, ce qui se remarque facilement.

Profil et détection d’anomalies – Related work

Notre travail découle de deux domaines : la gestion d’emplacement orientée réseau et la détection d’intrusions par approche comportementale.

Conclusion et perspectives

Nous avons proposé un nouvel algorithme pour dessiner des profils pour les utilisateurs de mobiles basé sur la règle de décision de Bayes. Cette approche peut être appliquée pour obtenir une meilleure sécurité pour les utilisateurs de réseaux mobiles.

Notre prochain travail consistera à adapter cette technique aux réseaux de communication standards comme Internet. Nous verrons les performances de l’algorithme de Bayes sur les LAN, terrain de prédilection des IDS.

Enfin, nous étudierons la ressemblance qu’il y a entre un utilisateurs de mobile allant de cellule en cellule et un agent allant de serveur en serveur.



A mobile agent approach to intrusion detection

Stéfano Martino



Introduction

Ce travail tente de répondre aux questions primordiales à l’heure actuelle :

- Comment un IDS peut intégrer la technologie des agents pour augmenter la capacité de détection ?
- Comment les agents mobiles peuvent-ils détecter l’intrusion en temps réel, contrôler l’état des nœuds du réseaux et de l’IDS à cet endroit et adopter la meilleure réponse à lune attaque ?

Systèmes de détection d’intrusions

Contexte

Un certain nombre de technique ont été développées jusque là pour les IDS. La plupart analyse des évènements au niveau local, ils se contentent la plupart du temps de remonter une alarme mais n’agissent pas, ils utilisent les données d’audit. Il existe deux types d’IDS : comportemental ou par scénarios. Ils détectent les activités dangereuses d’un utilisateur, pas le code dangereux. Ils sont soit basé sur la machine, soit sur le réseau.

Inconvénients spécifiques d'un système monolithique de détection d'intrusion

Dans la plupart des cas, les IDS sont en un seul bloc ou module qui fait tout. Le plus gros problème lorsqu’on fait un IDS est de stocker au moins pendant un temps les données à analyser. De plus, fournir des données d'audit utilise beaucoup de ressources de la machine surveillée.

En pratique, l’IDS en un seul bloc pose problème pour les mises à jour, et il constitue un point d’attaque unique. Il va donc s’agir de distribuer les fonctionnalités de l’IDS à plusieurs machines.

Imperfections générales dans les implémentations des IDS actuels

En plus de ces problèmes induit par l’aspect monolithique des IDS, il est d’autres imperfections :
- Pas de méthodologie générique de construction : ceci conduit à des coûts plus élevé.
- Efficacité : problèmes de mise à jour de profil ou de façon de spécifier des règles.
- Portabilité : les IDS sont généralement écrits pour un seul environnement.
- Flexibilité : les IDS ne s’adaptent pas à l’usage fait des systèmes surveillés.
- Mises-à-jour : difficile de mettre à jour ou de changer les techniques utilisées par les IDS actuels.
- Maintenance : la maintenance des IDS demande beaucoup de compétences.
- Références : aucunes données n’ont été publiées pour quantifier la performance des IDS.
- Pas de bonne façon de tester : de plus, les attaques sont difficiles à simuler.

Problèmes de fiabilité d’un système de détection d’intrusion

Un IDS vise à augmenter la fiabilité d’un réseau et en devient donc un composant critique. En ce sens, il doit être en marche en permanence, il doit supporter les fautes, c’est-à-dire rester debout même en cas de crash du réseau, il doit résister aux attaques (c’est le plus difficile), il doit utiliser un minimum de ressources sur le système surveillé, et doit être difficile à tromper, pour réduire les faux positifs et les faux négatifs (le système autorise sciemment une attaque).

Systèmes d’agent mobile

Un agent mobile est un programme autonome qui peut se déplacer de son propre chef, de machine en machine sur un réseau hétérogène. Une représentation générale pour un réseau d’agents mobiles est un système d’agents, d’agences et de voies de communication.

Chaque agent est une entité de programme se déplace d’agence en agence pour faire son travail : détecter les intrusions. Un agent mobile rend les services suivants :
- Service d’exécution : c’est l’environnement de travail, le hardware et le langage utilisé.
- Service de communication : c’est savoir comment et avec quoi l’agent communique.
- Service de transport : c’est savoir comment l’agent se déplace.
- Service de regroupement : comment regrouper les informations des différents agents.

Il va de soit que chaque agent et agence doit pouvoir se protéger et ne pas être corrompu. Une fonction de l’agent doit également d’être l’identification et l’authentification pour donner l’emplacement et l’identité de celui qui l’a lancé.

L’approche par agent mobile pour les IDS

Plutôt qu’un module monolithique, il est préférable d’utiliser un groupe de processus indépendant pour la détection d’intrusions. Chaque agent est un programme léger, insuffisant pour faire un IDS entier car il a une vision restreinte du système. Si plusieurs agents coopèrent, un IDS plus complet peut être construit, permettant l’ajout et le retrait d’agents sans reconstruire l’ensemble du système.

Avantages de l’approche par agent mobile

Une analogie clair peut être faite entre le système immunitaire humain et cette approche. Chaque cellule ou agent doit combattre les intrus avant que ça deviennent une menace pour le système.

Quatre classes peuvent être faites pour caractériser ces avantages :
- Flexibilité : élasticité (nombre d’agents en fonction de la taille), extensibilité (de systèmes en systèmes), agents travaillés en fonction du système et capacité à être entraînés.
- Efficacité : affecte moins les performances de chaque machine, peuvent travailler sur les ressources de leur champ de vision.
- Fiabilité : Tolérance aux fautes car si un agent crashe, il reste d’autres agents qui peuvent se reproduire, Le système de défense n’est pas annihilé par la compromission d’un agent, un agent corrompu ne donne pas une image fausse du système aux autres agents.
- Portabilité : Support de l’approche réseau et machine, les agents supportent plus facilement les systèmes distribués.

Inconvénients de l’approche par agent mobile

- Ils imposent une utilisation des ressources comme tous les IDS.
- L’entraînement des agents prend du temps, et ils peuvent être corrompus.

Fonction innovante proposée par la recherche

Objectifs

L’approche par agent mobile semble pouvoir donner des résultats meilleurs que les autres technologies. La recherche va développer une nouvelle architecture par agent mobile (MA).

Caractéristiques proposés pour le système MA

Même si à l’origine, les MA devait être développés comme les IDS actuels, il semble plus raisonnable d’assigner un rôle différent à chaque agent. Les avantages des agents mobiles pourront être exploités par les trois points suivants : Prévoir de la surveillance en plus de la détection, fournir une réponse aux attaques, augmenter la fiabilité de l’IDS

Recherche et projets en relation avec ce sujet

Plusieurs projets en cours sont énumérés.



Applying mobile agents to intrusion detection and response

Wayne Jansen - Peter Mell - Tom Karygiannis - Don Marks

Introduction

Contexte

Le premier IDS a été proposé en 1980 par James Anderson. Beaucoup de problèmes sont maintenant élucidés, reste quelques points moins explorés : les mécanismes de réponse à une attaque, les architectures à adopter pour un IDS distribué, les standards pour l’interactivité des IDS et les nouvelles façon de faire de la détection d’intrusions.

Technologie des agents mobiles

Un agent est une entité qui doit être capable de travailler en permanence, de changer d’environnement et de coopérer avec d’autres agents. Idéalement, il doit aussi tirer les enseignements de son expérience.
Le développement des MA a été gêné par des considérations sur la sécurité, et notamment pour les IDS.
Le langage java, d’une grande portabilité, inclut de nombreuses fonctions de sécurité.

Conditions des IDS

Dans [CROS95], les auteurs précisent qu’un IDS doit faire ce qui suit, quelque soit leur architecture : il doit tourner en permanence sans superviseur humain, il doit être tolérant aux fautes, résister aux attaques, utiliser un minimum de ressources du système surveillé, détecter les déviations par rapport à un comportement normal, être facilement adapté à un réseau spécifique, s’adapter aux changements avec le temps et être difficile à tromper.

Conditions fonctionnelles d’un IDS

Un IDS se doit de faire une surveillance permanente et d’émettre d’alarme en cas de détection, de fournir suffisamment d’informations pour réparer le système, déterminer l’étendu des dommages et la responsabilité de l’intrus. Il doit être modulable et configurable pour s’adapter aux plates-formes et aux architectures réseaux, ainsi que d’assurer sa propre défense, comme supporter les crashs de tout ou parties du système.

La détection d’anomalies doit avoir un faible taux de faux positifs, et l’IDS doit tirer les leçons de son expérience, ainsi que d’être fréquemment mis-à-jour avec de nouvelles signatures d’attaques. L’IDS doit pouvoir gérer les informations apporter par chacune des différentes machines et de discuter avec chacune d’entre elles. En cas d’attaques, il doit être capable d’apporter une réponse automatique, même aux attaques coordonnées ou distribuées. L’IDS devra également pouvoir travailler avec d’autres outils, et notamment ceux de diagnostic de sécurité du système. Il faudra, lors d’une attaque, retrouver les premiers évènements de corruption pour réparer correctement le système d’informations. Il va de soi qu’il ne doit pas créer de vulnérabilités supplémentaires et qu’il doit aussi surveiller l’administrateur système.

Conditions de performance d’un IDS

Un IDS lent est de peu d’intérêt, d’où les conditions suivantes : les évènements anormaux ou les brèches dans la sécurité doivent être rapportés en temps réel pour minimiser les dégâts. L’IDS ne devra pas donner un lourd fardeau au matériel surveillé, ni interférer avec les opérations qu’il traite. Il doit pouvoir être déployer quelque soit la taille du réseau (scalability).

Les agents mobile pour la détection d’intrusion

Avantages

- Passer outre les temps d’attente du réseau : utilisation des MA pour les communications.
- Réduire l’utilisation des ressources du réseau : les IDS actuels échangent trop de données.
- Etre basé sur une exécution asynchrone et une certaine autonomie : les MA sont désolidarisés du reste.
- Avoir une structure naturelle : les MA proposent une architecture naturelle pour les IDS.
- S’adapter dynamiquement : les MA peuvent réagir et s’adapter aux changements.
- Opérer dans des environnements hétérogènes : les entreprises ont plusieurs plates-formes différentes.
- Etre robuste et tolérant aux fautes : tolérance aux crashs et résistance aux attaques.
- Scalability : capacité de s’adapter à l’échelle du système d’informations.

Désavantages

- Sécurité : la sécurité du code mobile est moins grande que les techniques de sécurité classiques.
- Performance : il faut voir la rapidité avec laquelle l’agent détecte et remonte l’information d’intrusion.
- Taille du code : les IDS sont complexes et les agents risquent de demander d’assez gros programmes.
- Manque de connaissance de base : beaucoup de plates-formes et de configurations différentes.
- Exposition limitée : il faudra adapter certaines structures à cette technologie.
- Difficultés de codage et de déploiement : il faudra un code sûr pour beaucoup de fonctionnalités.

Les innovations dans les IDS

Stefano Martino souligne les imperfections générales dans les implémentations des IDS actuels (voir avant).
Certaines imperfections peuvent être solutionner, mais certaines sont dues à la façon même dont les IDS sont construits. Les MA peuvent en résoudre certains.

Caractéristiques utiles des agents mobiles

La mobilité est évidemment la première caractéristique dont ont peut tirer des avantages. Une autre est l’absence d’un programme principal qui se sert des autres modules comme esclaves, mais plutôt la présence de plusieurs entités intelligentes qui collaborent. Si une des entités s’arrête, les autres continuent.

Domaines de recherche

De la discussion précédente, il est clair que les agents n’apportent pas fondamentalement de nouvelles capacités, mais quelques réponses aux imperfections des systèmes actuels.

- Attaques distribuées : pouvoir détecter une attaque par plusieurs personnes, notamment sur un réseau.
- Architecture résistante aux attaques : essayer de trouver une architecture autre que hiérarchique.
- Besoin de générer des modules d’interaction des agents pour s’échanger les informations.
- Quand les agents se déplacent, un nœud dépourvu d’agent est vulnérable pendant un moment.
- Certains attaquants pourront toujours réussir à avoir des droits quelques temps avant d’être détecter.
- Tirer profit de la diversité en codant différemment les signatures d’attaques pour chaque agent.

Les innovations dans les réponses aux intrusions

Généralement, une alarme est lancé en cas d’intrusion. Pourtant, une réponse doit être donnée pour qu’il ne dispose pas de temps pour s’installer, attaquer d’autres réseaux ou altérer le système d’informations.

Mécanismes existants de réponse

Il y a pour l’instant deux mécanismes : les alarmes importantes qui permettent de prévenir l’administrateur très vite, et le filtrage des paquets venant de l’attaquant.

Mécanismes idéaux de réponse

- Supprimer l’intrus dans la cible, éteindre la cible et protéger le reste du réseau.
- Avec les attaques internes, bloquer l’attaquant ou éteindre sa machine.
- Etre capable de remonter à l’attaquant très rapidement et surveiller ses échanges.
- Etre capable de modifier des tables de filtrage des routeurs et firewalls.

Solution de réponse automatique dans les agents mobiles

Il n’est pas nécessaire d’avoir un serveur de sécurité, dans le sens où les agents peuvent automatiquement se mouvoir dans le réseau et installer les composants appropriés sur les éléments qu’il faut.

Domaines de recherche

Les MA aident à répondre plus facilement de façon automatique.
- Traque des attaquants et rassemblement de preuves de façon automatique.
- Opérations à effectuer sur la machine de l’attaquant, sur la machine cible et sur le réseau.
- Mise en quarantaine de l’attaquant et de la cible.

Résumé

Reprise des principaux avantages et inconvénients.



The resurrecting duckling :
security issues for Ad-hoc wireless networks

Franck Stajano – Ross Anderson



Introduction

Il y a un fort développement dans le domaine des réseaux sans fils et la tendance est de mettre des microprocesseurs dans tout et n’importe quoi.

Réseaux ad-hoc sans fils

Chacun connaît le problème de l’écoute passive pour les réseaux sans fils, mais il serait erronée de considérer qu’il n’y a que ce problème là.

Dans cet article, nous étudions les problèmes de sécurité d’un environnement constitué de plusieurs éléments reliés deux à deux de façon intermittente. Pour baser la discussion sur un exemple concret nous considérerons un capteur de température sans fil. Les nœuds voisins pourrons demander la température, soit immédiatement, soit à un instant donné. Nous essayerons donc d’inclure dans notre thermomètre, les propriétés de sécurité comme la confidentialité, l’intégrité et la disponibilité du service.

Contraintes du système

- La puissance de calcul du CPU dans le nœud est généralement petite, aussi les grands calculs sont lents.
- L’énergie est une ressource rare, aussi la batterie se met en veille autant que possible.
- Les temps de réponse sont longs car la plupart du temps, les nœuds sont en veille. Ils ne mettent le récepteur en marche de temps en temps.

La conséquence de ces contraintes est que la cryptographie symétrique est faisable, l’arithmétique modulaire est difficilement envisageable ainsi que la forte cryptographie asymétrique. Généralement, quand il y a un compromis à faire entre la sécurité et la durée de vie de la batterie, on laisse l’utilisateur décider.

Disponibilité

On veut s’assurer que le service rendu par le nœud est disponible.

Blocage radio

La menace traditionnelle est le blocage des fréquences radio pour rendre le service inaccessible.
Le défenseur peut utiliser le spectre de diffusion et la méthode du saut de fréquence pour le contrer.

Epuisement de la batterie

L’attaquant peut par contre interagir avec le nœud avec pour seul but de lui faire consommer de la batterie.
La durée de vie de la batterie est un paramètre critique pour beaucoup d’éléments portables, et tout est fait pour la rendre maximale et l’utiliser le moins possible. C’est pour cette raison que le mode veille est activé le plus souvent possible. Cette attaque s’appelle " la torture par privation de sommeil ".
Pour tous les services publics, il faut faire attention entre rendre service à des inconnus et ne pas succomber à cause de vandales. Certaines applications pourront donc restreindre leur accès aux personnes connus, tandis que pour d’autres (comme les serveurs web), c’est totalement impossible.
On peut par contre mettre en place un système de priorités. Pour l’exemple du capteur de température, il y a une fonction principale qui est de fournir chaque heure la température à un serveur et une deuxième fonction, qui est de répondre aux requêtes d’autres utilisateurs. Cette deuxième fonction ne pourra prendre le dessus et empêcher la fonction principale de s'exercer, en coupant la deuxième fonction quand la batterie ne suffit plus à remplir les deux.

Authenticité

A qui peut-on envoyer ses informations ?

Un autre problème peut se poser : c’est la question de savoir à qui on peut envoyer ses informations. Dans un système classique, le plus simple est d’envoyer la température à un serveur central qui s’occupera ensuite de la redistribuer aux personnes intéressées. Dans le cas de réseau Ad-Hoc se pose un nouveau problème : l’absence d’un serveur en ligne. Le plus simple est d’avoir un liste prédéfinie de personnes de confiance.

Association passagère sécurisée

Du fait de la redistribution d’objets à d’autres personnes, chaque objet doit admettre une politique de sécurité passagère. Si un objet répond à son propriétaire et à lui seul, lorsque ce propriétaire revendra cet objet à son voisin, il faudra que l’objet obéisse au voisin et à lui seul.
Le principe d’une authentification centralisée est remise en cause pour des problème de protection de vie privée : il est anormal qu’un service centralisé est en sa possession la connaissance de tous les éléments du système. Il faut donc utiliser un système de clé local, ce qui peut rendre difficile de revendre un objet volé.
Un autre problème est de s’assuré que si un médecin à 10 thermomètres indifférentiables, ce soit bien celui qui prend la température du malade qui réponde…

La politique de sécurité du " caneton ressuscité "

Un caneton sortant de son œuf reconnaît le premier objet qu’il voit comme sa mère, quel que soit son apparence. Ce phénomène s’appelle l ‘" impression ". De même, dans notre système, l’objet reconnaîtra comme son propriétaire le premier qui lui enverra une clef secrète. Seule la mort de l’objet lui enlèvera son lien avec son propriétaire et lui seul. La mort le fera revenir à un stade pré-natal.

Ce système permet de décider de la mort de l’objet en temps voulu. Par exemple, un thermomètre de médecin mourra chaque fois qu’il sera plongé dans le bol de désinfectant. Un autre objet pourra mourir par un timeout (de sa belle mort), ou pour un objet, sur ordre de son propriétaire. Il faudra bien sûr qu’il existe un mot de passe maître (en usine) qui permettra de récupérer un objet même si le légitime propriétaire en perd la clef, ce mot de passe ordonnant le suicide de l’objet.

Lors de la mort de l’objet, seul son âme doit décéder, et s’il s’agit d’un thermomètre d’hôpital, il ne doit pas, par exemple, perdre le calibrage qui a été fait.

L’impression

Pendant la phase d’impression, un secret est partagé entre le caneton et sa mère. Un seul des deux éléments peut faire les calculs d’opérations sur les clefs, l’autre se contentant de chiffrer un secret avec une clef publique et d’attendre la confirmation. Il est préférable que la naissance se passe par contact, sans cryptage, juste par un transfert du secret au premier contact, sans cryptage. D’ailleurs, le cryptage ne sera pas toujours obligatoire dans certain cas (thermomètre de médecin). La mère pourra toujours envoyer une liste des personnes de confiance au caneton et changer d’avis lorsqu’elle le souhaite, puor demander n’importe quand le cryptage des données pour une haute confidentialité.

Intégrité

On veut être sûr que les données proviennent du bon thermomètre et pas d’un élément compromis.

Si on ne peut pas s’offrir de signature…

On veut être sûr que le thermomètre est bon, intègre et qu’il peut nous donner une signature attestant de son bon fonctionnement. Si le thermomètre peut émettre une signature, la solution est immédiate : il joint sa signature à une certification de bon fonctionnement et au secret partagée et le tour est joué. Cependant, pour éviter les problèmes de clonage, il faut être sûr que l’objet est le seul à partager une clef secrète.

Tamper resistance

La liaison entre le docteur et le thermomètre véritable doit attester de son bon fonctionnement. Il est généralement préférable d’utiliser des mécanismes physique comme un cachet ou un sceau, ce qui oblige à mettre en place des systèmes de détection d’intrusion rapide si le cachet est corrompu. C’est sans doute le talon d’Achille de ce système.

Mises-à-jour du programme

Nous voulons également éviter que les attaquants se servent du service de mise-à-jour. Il faut là aussi utiliser de la détection d’intrusion par audit.

Confidentialité

Le principal problème est de s’assurer qu’on parle bien à la bonne personne. L’authentification est le plus gros problème, et la confidentialité n’est plus qu’un problème de cryptographie.