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