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
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.
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.
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.
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.
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.
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.
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.