Rapport final 2008

Transcription

Rapport final 2008
ACI SI, projet DADDi
Rapport final
CRIL, GET/ENST Bretagne, FT R&D, Supélec
http://www.rennes.supelec.fr/daddi/
Décembre 2008
Résumé
Nous présentons ici rapidement un résumé des travaux conduit dans
le cadre de l’ACI DADDi. L’ensemble de nos résultats sont accessibles via
le site web de DADDi.
1
Rappel : équipes impliquées
Les 5 équipes à l’origine de la proposition participent aux travaux, à savoir :
– l’équipe Traitement des informations imparfaites dynamiques contextuelles
et multi-sources, Centre de Recherche en Informatique de Lens, CNRS
FRE 2499
– l’équipe SERES, Département Réseaux, Sécurité et Multimédia, GET/ENST
Bretagne
– le projet ADEPT, IRISA, INRIA Rennes
– l’équipe SSIR (EA 4039), Campus de Rennes, Supélec
– France Télécom R&D Caen
Il faut cependant noter que France Télécom R&D (non financé) a dans le
projet un rôle d’observation et de critique.
2
Changements significatifs intervenus dans le
projet
Il n’y a eu de changement, ni de participants, ni d’objectifs, ni de livrables.
Nous avons ajouté un livrable additionnel décrivant les expérimentations réalisées,
pour tous les détecteurs fournis dans le cadre de ce projet, sur une trace réseau
commune.
Dans la section suivante, nous reprenons les tâches définies dans notre proposition et nous faisons un bilan.
1
3
Résumé des principales avancées
3.1
3.1.1
Choix des attributs
Choix des attributs pour la détection d’intrusions
Nous avons choisi de travailler avec les attributs de la base KDD99. Le trafic
transformé est résumé par 41 attributs. Il y a un enregistrement par connexion.
Nous disposons d’une base complète d’apprentissage et de tests au format de
ces attributs. Il est ainsi possible de comparer nos résultats à ceux déjà publiés.
Certains chercheurs reprochent son ancienneté à la base KDD99, mais l’usage
que nous avons fait pour améliorer les algorithmes de classement est indépendant
des paramètres et remettent en cause ce reproche.
Par une étude approfondie de cette base, nous avons montré les limites de la
fonction de transformation KDD99. Nous avons tout d’abord énoncé les conditions nécessaires à une fonction de transformation pour générer des données.
Ces conditions permettent aux algorithmes de classification d’être appliqués sur
des données non erronées. Ensuite, nos travaux ont mis en évidence pour la
première fois les limites de la base KDD99. Celles-ci expliquent les difficultés de
la classification, principalement pour la classe R2L (CRiSIS, Thèse Bouzida).
Le logiciel à l’origine du concours KDD99 n’étant pas disponible, nous avons
développé une application spécifique. Ainsi, on peut utiliser du trafic contenant
de nouvelles attaques, non connues au moment où KDD99 a été construite,
et le confronter à nos outils de classification. Cette application transforme du
trafic brut en un enregistrement de 41 attributs par connexion. Elle a permis de
vérifier que des attaques inconnues de la base d’apprentissage, comme les dénis
de service distribués et le ver slammer, étaient bien classifiés ensuite en classe
DoS (IFIP, Thèse Bouzida).
Par ailleurs, afin de pouvoir analyser du trafic réseau en temps réel (online),
il est important de représenter les informations concernant les connexions, même
si elles ne sont pas finies. NetFEX, un outil de transformation de données réseau
brutes de type TCPDUMP vers des données formatées de type KDD99, prenant
en compte le caractère non fini des connexions, a été réalisé.
3.1.2
Choix des attributs pour le diagnostic
Voir ci-dessous section sur le diagnostic.
3.2
Modèles de comportements explicites
Nous avons évalué expérimentalement, sur la base de trois jeux de données
(KDD 99, DARPA 99 et trafic web universitaire réel) trois variantes de classifieurs bayésiens (naı̈f, naı̈f augmenté d’un arbre, naı̈f caché) et un arbre de
décisions (C4.5). Nous avons montré les limites des problèmes inhérents aux
données utilisées ainsi qu’aux attributs qui en sont extraits. En particulier, il
ressort que si la détection d’attaques connues reste relativement performante (finalement quel que soit l’algorithme), la détection de nouvelles formes d’attaque,
d’attaques rares et de variantes d’attaques connues demande des adaptations
liées à la manière dont les événements anormaux ou nouveaux sont traités.
Nous nous sommes donc intéressé à ces adaptations. Les classifieurs bayésiens
et les arbres de décisions étudiés précédemment ne sont pas adaptés à la détection
2
d’intrusions comportementale (ils engendrent des faux négatifs). Nous avons
donc proposé, pour les réseaux bayésiens une adaptation de la règle de classification bayésienne, pour les arbres de décisions un assouplissement du principe
de description minimale (ce qui conduit à un arbre à davantage de nœuds) et
une adaptation de la mesure de sélection d’attributs (afin de ne pas générer de
feuilles contenant à la fois des attaques et des comportements normaux). Par ces
adaptations, nous intégrons l’approche comportementale dans les divers algorithmes. En effet, nous implantons dans ces algorithmes l’hypothèse sur laquelle
repose l’approche comportementale, à savoir que tout événement jamais vu et
sensiblement différent des comportements normaux connus est un événement
anormal et donc potentiellement malveillant. Les adaptations proposées ont été
testées sur les données DARPA 99 et sur le trafic web universitaire (cas des RB)
ou sur ce seul trafic web (cas des arbres de décisions). Les résultats sont positifs
puisque le taux de détection des nouvelles attaques ou des attaques rares augmente, parfois de manière très importante, parfois de manière insuffisante, alors
que dans le même temps le taux de faux positif augmente de manière raisonnable. Nous montrons donc que les réseaux bayésiens et les arbres de décisions,
s’ils sont adaptés au problème à résoudre, constituent une alternative crédible
pour détecter des intrusions.
Nous avons également proposé une approche comportementale multi-modèles
pour détecter des anomalies dans le trafic réseau. En effet, dans certains cas,
comme nous venons de le mentionner, l’amélioration des résultats de détection
apportée par les adaptations proposées reste insuffisante. Aussi, avons-nous proposé de combiner des modèles de profils caractérisant les connexions normales.
Nous avons développé L’outil NetFLEX. Il n’existait pas, jusqu’à présent,
d’outil libre pour formater (en ligne ou hors ligne) des événements en vue de
détection d’intrusions à partir d’un trafic réseau. Cet outil ouvre en particulier la porte à l’analyse de trafics réels, évitant par la même de restreindre les
tests de détecteur aux seules données DARPA/KDD, données que l’on sait critiquables sur bien des points, en particulier leur ancienneté et donc leur manque
de représentativité vis-à-vis des environnement informatiques actuels.
La thèse de Karim Tabia, soutenue le 28 novembre 2008, a alimenté en partie
le travail de cette tâche. Les outils réalisé constituent les livrables 1.2 et 2.2.
3.3
Modèles de comportements implicites
Dans le contexte du projet DADDi, nous nous sommes intéressés à une
méthode de détection d’erreurs issue de la sûreté de fonctionnement : la diversification fonctionnelle. L’objectif de cette technique est de comparer les
sorties de logiciels ayant les mêmes spécifications, mais ayant été conçus et
développés séparément. Ces logiciels sont appelés des variantes, et sont, du
fait de l’indépendance de leurs méthodes de développement, considérés comme
indépendant du point de vue de l’activation de leurs fautes (une faute présente
dans une variante ne peut être présente dans une autre). Nous utilisons ici cette
méthode pour détecter des intrusions dans des services accessibles par des utilisateurs externes au système, et nous appliquons la théorie à des serveurs Web.
L’architecture que nous avons utilisée est composée de trois serveurs web
exécutant en parallèle les mêmes requêtes, et retournant leur réponse à un
système de détection d’intrusions dont le rôle est de déterminer si l’une des
réponses est erronée ou non. Les sorties des serveurs web sont de deux ordres :
3
les réponses qu’ils renvoient au client suite à la requête reçue et leurs sorties
vers leur système local (appels système) pendant l’exécution de la requête.
Une première étude (IDS boı̂te noire) a porté sur la comparaison des réponses
des serveurs web, montrant que des différences étaient rarement dues à des
fautes de conception classiques (les logiciels étant particulièrement fiables),
mais généralement à des intrusions ou des différences de spécification entre les
différents serveurs. Les résultats obtenus ont été très encourageants, puisqu’aucun faux négatif n’a eu lieu (aucune intrusion manquée), et peu de faux positifs
ont été levés pendant les comparaisons.
Toutefois, cette approche a prouvé ses limites sur certains points : si une
intrusion affecte seulement le système du serveur sans influencer la réponse,
on peut très bien rater la détection de l’intrusion, d’où la mise en place d’une
deuxième phase de recherche, où cette fois on compare les activités internes des
différents serveurs. Le but est ici de vérifier que, sur chaque machine locale,
chacun des serveurs se comporte de la même manière. Cette partie est réalisée
en construisant les graphes de flux d’information entre les différents objets du
système local, et en vérifiant que le graphe obtenu est similaire sur chacune des
machines (IDS boı̂te grise). La détection d’une différence entre les graphes est
lié à un seuil de similarité qu’il a été nécessaire de définir par apprentissage.
Les deux approches par comparaison se complémentent de deux façons distinctes : d’une part elles permettent de couvrir l’ensemble des sorties des différentes
variantes, mais d’autre part, la deuxième méthode permet d’expliquer une différence
détectée au niveau de la première méthode. Elle permet donc d’apporter un diagnostic d’une éventuelle différence détectée par la première méthode en mettant
en évidence des flux illégaux sur l’une des machines serveur.
L’ensemble de ce travail a été réalisé, entre autre, avec l’aide d’un ingénieur
expert (Ayda Saidane) que Supélec a pu recruter grâce à l’ACI.
La thèse de Frédéric Majorczyk, soutenue le 3 décembre 2008, reprend l’ensemble des éléments réalisés dans cette tâche.
Les deux IDS réalisés constitue le livrable 3.2.
3.4
Sûreté de fonctionnement des détecteurs
Le mécanisme de gestion de groupe conçu par l’IRISA inclut des solutions
à différents problèmes d’accord : gestion de la composition du groupe, diffusion
atomique, synchronisation des vues, élection d’un leader. Ces services ont été
détaillés dans le précédent rapport livré en 2007 (livrable 4.1).
Dans le système mis en œuvre par l’IRISA et Supelec, la cohérence entre
les différents serveurs Web est maintenue en ayant recours à des services de
communication de groupe à différentes étapes du traitement d’une requête. Au
groupe de serveurs Web qui n’interagissent pas entre eux est associé un groupe
de proxys (un par serveur). C’est uniquement au sein de ce groupe de proxys
que la coordination du système est gérée via les services de groupe.
Dans nos expérimentations, nous n’avons pas considéré des scénarios où des
défaillances se produisent. D’une part les défaillances sont relativement rares.
D’autre part, des mesures relatives aux changements de composition d’un groupe
ont déjà été fournies dans le précédent rapport. Nous nous sommes donc focalisés
sur les performances du système lorsque la composition du groupe n’évolue
pas. Néanmoins, puisque tous les mécanismes de gestion de la composition du
4
groupe étaient activés, les coûts observés résultent aussi (pour une faible part)
de l’exécution continuelle de codes destinés à gérer la dynamicité potentielle.
Les expérimentations effectuées (voir livrable 6) démontrent que le temps
supplémentaire induit par les deux appels à la primitive de diffusion atomique
sont négligeables : en moyenne 11 ms.
Le logiciel ”Prometeus version 1.0” obtenu à l’issu de ce projet est diffusé
sous licence LGPL. Il est écrit dans le langage Java et représente plus de 45 500
lignes de code (livrable 4.2).
Ce travail a été réalisé, entre autre, avec l’aide d’un ingénieur expert (Romaric Ludinard) que l’IRISA a pu recruter grâce à l’ACI.
3.5
Diagnostic
Une première contribution a été faite à partir des IDS à modèle explicite.
La détection d’attaques connues reste relativement performante avec les
réseaux bayésiens ou les arbres de décisions testés. Par contre, la détection de
nouvelles formes d’attaque, d’attaques rares et de variantes d’attaques connues
demande des adaptations ou l’utilisation d’une approche purement comportementale. Nous avons tenté de combiner en série ces approches, afin de tirer partie de leurs avantages respectifs. Nos résultats expérimentaux sur les données
DARPA et KDD 99 montrent que l’utilisation simultanée de plusieurs classifieurs n’offre pas d’avantage significatif. L’utilisation d’un seul classifieur (en
l’occurrence l’arbre de décision vu les performances montrées au chapitre cinq)
est donc préconisée. Ce classifieur présente peu de faux positif. Les alertes correspondent essentiellement à des attaques réelles. Les négatifs (événements jugés
normaux par le classifieur), par contre, sont souvent faux. Aussi, ces négatifs
sont-ils fournis au module comportemental proposé dans le cadre de ce projet. Le rôle de ce module est de réexaminer chaque événement transmis par
le classifieur afin de déterminer s’il est vraiment exempt de trace d’attaque
(auquel cas il s’agissait bien d’un vrai négatif) ou si au contraire l’événement
est litigieux (il s’agissait donc d’un faux négatif). Le module comportemental
classe généralement correctement les événements exempts de trace d’attaque.
Aussi, ceux-ci sont-ils définitivement considérés comme normaux. Par contre,
les événements jugés litigieux sont transmis à un dernier module, qui en assure
le diagnostic. L’auteur propose ici de caractériser les attaques présentes dans les
données d’apprentissage de la même manière qu’il a caractérisé les connexions
normales dans le chapitre sept. Avec les mêmes mesures de déviations, il est
possible de déterminer le profil d’attaques dont l’événement est le plus proche.
Si la connexion n’est proche d’aucun profil d’attaques connues, une nouvelle
forme d’attaque sera suspectée et l’événement sera soumis à un expert humain
pour analyse. Une validation expérimentale sur les données web universitaire
permet à l’auteur de montrer que cette cascade d’analyses est pertinente : les
attaques connues sont correctement diagnostiquées (une faible proportion est
considérée comme nouvelle) et quasiment toutes les attaques nouvelles sont en
effet considérées comme de nouvelles formes d’attaque. La combinaison en série
proposée améliore donc bien la détection des nouvelles attaques et des variantes
d’attaques connues sans générer davantage de faux positifs.
En outre, nous avons aussi tenté d’établir des modèle de comportement à
partir de trace d’attaque, modèle que nous avons cherché à combiner avec les
modèles de comportements normaux. Nous avons utilisé la technique ”K-Nearest
5
Neighbor” et l’analyse en composante principale pour identifier les intrusions (et
donc les diagnostiquer). Des tests sur KDD 99 montrent que cette identification
est possible.
Une seconde contribution a été faite à partir de l’IDS à modèle implicite
”boı̂te grise”.
Cette approche permet, comme mentionné ci-dessus, d’expliquer une différence
détectée au niveau de la première méthode. Elle permet donc d’apporter un diagnostic d’une éventuelle différence détectée par la première méthode en mettant
en évidence des flux illégaux sur l’une des machines serveur.
Ces deux contributions font l’objet du livrable 5.
4
Publications réalisées tout ou partie dans le
cadre de DADDi
1. Benferhat Salem, Tabia Karim. Classification features for detecting Serverside and Client-side Web attacks. 23rd IFIP International Information
Security Conference (IFIP SEC 2008). September 2008.
2. Frédéric Majorczyk, Eric Totel, Ludovic Mé and Ayda Saidane. Anomaly
Detection with Diagnosis in Diversified Systems using Information Flow
Graphs. 23rd IFIP International Information Security Conference (IFIP
SEC 2008). September 2008.
3. S. Benferhat, K. Tabia. Context-based profiling for anomaly intrusion detection with diagnosis. The Third International Conference on Availability,
Reliability and Security (ARES), Barcelone, 2008.
4. S. Benferhat, K. Tabia. Hybrid intrusion detection systems. International
Conference on Advances in Information and Communication Technology
(ICICOT), Manipal, 2007.
5. Wei Wang, Sylvain Gombault, Amine Bsila. Building multiple behavioral
models for network intrusion detection. 2nd IEEE Workshop on ”Monitoring, Attack Detection and Mitigation”, Toulouse, France, November
2007.
6. Wei Wang, Sylvain Gombault. Detecting masquerades with principal component analysis based on cross frequency weights. Proceedings of 14th Anniversary HP-SUA Workshop, Munich, Germany, pp. 227-232, July 2007.
7. Salem Benferhat, Karima Sedki et Sylvain Gombault. Towards Selecting
Relevant Attributes using Decision Trees for Intrusion Detection. 2007
International Conference on High Performance Computing, Networking
and Communication Systems (HPCNCS-07), Orlando, FL, July 9-12 2007.
8. Wei Wang, Sylvain Gombault. Distance measures for anomaly intrusion
detection. Proceedings of 2007 International Conference on Security and
management (SAM’07), Las Vegas, NV, pp. 25-31, June 2007.
9. Frédéric Majorczyk, Eric Totel, Ludovic Mé et Ayda Saidane. Détection
d’intrusions et diagnostic d’anomalies dans un systéme diversifié par comparaison de graphes de flux d’informations. 6th Conference on Security
and Network Architectures (SARSSI). Juin 2007.
6
10. Frédéric Majorczyk, Eric Totel and Ludovic Mé. Experiments on COTS
Diversity as an Intrusion Detection and Tolerance Mechanism. Workshop
on Recent Advances on Intrusion-Tolerant Systems (WRAITS). March
2007.
11. Michel Hurfin, Jean-Pierre Le Narzul, Frédéric Majorczyk, Ludovic Mé,
Ayda Saidane, Eric Totel, and Frédéric Tronel. A Dependable Intrusion
Detection Architecture Based on Agreement Services. In proceedings of
the Eighth International Symposium on Stabilization, Safety, and Security
of Distributed Systems. November 2006.
12. Réseaux Bayésiens naifs et arbres de décision dans les systèmes détection
d’intrusions. Nahla Ben Amor, Salem Benferhat, Zied Elouedi. Technique
et Science Informatiques (TSI), 2006.
13. On the combination of Naive Bayes and decision trees for intusion detection. Salem Benferhat, Karim Tabia. The International Conference of
Intelligence, Control and Automation, CIMCA 2005.
14. S.Benferhat et K.Tabia. Systèmes de détection d’intrusions hybrides, partie I : intégration d’une approche comportementale. In : Proceedings of the
5th Conference on Security and Network Architectures (SAR 2006) and
3rd Conference on Security in Information Systems (SSI’2006), Seignosse,
France, 2006
15. N.Ben Amor, S.Benferhat and Z.Elouedi. Qualitative classification with
possibilistic decision trees. In Modern Information Processing : from Theory
to Applications. Bernadette Bouchon-Meunier, Giulianella Coletti, Ronald
Yager, Edts. Elsevier. 2006.
16. Y. Bouzida, F. Cuppens and S. Gombault. Detecting and Reacting Against
Distributed Denial of Service Attacks. IEEE ICC Istanbul Turkey, June
2006.
17. Y. Bouzida and F. Cuppens. Detecting known and novel network intrusion. IFIP/SEC 2006 21st IFIP TC-11 International Information Security
Conference Karlstad University, Karlstad, Sweden. May 2006.
18. F. Cuppens, F. Autrel, Y. Bouzida, J. Garcia, S. Gombault, and T. Sans.
Anti-correlation as a criterion to select appropriate counter-measures in an
intrusion detection framework . Annales des Telecommunications. March
2006.
19. Y. Bouzida, F.Cuppens and S. Gombault. ” Détection de nouvelles attaques dans un système de détection d’intrusion”, CRiSIS 2005. Bourges,
France. October, 2005.
20. Nahla Ben Amor, Salem Benferhat, Zied Elouedi. Towards a Definition of
Evaluation Criteria for Probabilistic Classifiers. Symbolic and Quantitative Approaches to Reasoning with Uncertainty, 8th European Conference,
ECSQARU 2005, Barcelona, Spain, July 6-8, 2005, pp 921-931
21. Y. Bouzida, F.Cuppens and S. Gombault. Modeling Network Traffic to
Detect New Anomalies Using Principal Component Analysis, HPOVUA
2005, Porto - Portugal. July, 2005.
22. Frédéric Majorczyk, Eric Totel, and Ludovic Mé. COTS Diversity Based
Intrusion Detection and Application to Web Servers. In proceedings of
7
the 8th International Symposium on the Recent Advances in Intrusion
Detection (RAID). Springer Verlag, LNCS 3858, September 2005.
23. Frédéric Majorczyk, Eric Totel et Ludovic Mé. Détection d’intrusions par
diversification de COTS. Actes de la 4ème conférence ”Security and Network Architectures” (SAR). Juin 2005.
24. Elvis Tombini, Hervé Debar, Ludovic Mé and Mireille Ducassé. A Serial
Combination of Anomaly and Misuse IDSes Applied to HTTP Traffic.
In proceedings of the Annual Computer Security Applications Conference
(ACSAC). December 2004.
25. Y. Bouzida and S. Gombault. ” EigenConnections to Intrusion Detection”,
Proceedings of the 19th IFIP International Information Security Conference. Kluwer Academic. August, 2004.
26. Y. Bouzida, F. Cuppens, N. Cuppens-Boulahia and S. Gombault. ” Efficient Intrusion Detection Using Principal Component Analysis ”. 3ème
Conférence sur la Sécurité et Architectures Réseaux (SAR), La Londe,
France. June, 2004
8

Documents pareils