Rapport d`avancement 2006
Transcription
Rapport d`avancement 2006
ACI SI, projet DADDi Rapport d’avancement CRIL, GET/ENST Bretagne, FT R&D, Supélec http://www.rennes.supelec.fr/daddi/ Juin 2006 Résumé Nous présentons ici rapidement les travaux conduit dans le cadre de l’ACI DADDi au cours de sa première année. 1 Liste des é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 2 Liste des participants au 1er mai 2006 – Centre de Recherche en Informatique de Lens – Salem Benferhat, Professeur des Universités – Nathalie Chetcuti-Sperandio, MCF Université d’Artois – Nahla Ben Amor, MCF invité Université d’Artois – Zied Elouedi, MCF invité Université d’Artois – Karima Sedki, doctorante (bourse MNRT, 2005-2006) – Karim Tabia, doctorant (fonds propres, 2005-2006) – GET/ENST Bretagne, Département Réseaux, Sécurité et Multimédia – Sylvain Gombault, MCF – Frédéric Cuppens, Professeur – Jean-Pierre Le Narzul, MCF – Yacine Bouzida, doctorant (fonds propres, 2002) – Amine Bsila, stagiaire M2R Ensi de Tunis – IRISA, projet ADEPT – Michel Hurfin, CR INRIA – Frédéric Tronel, MCF Université de Rennes 1 – Jean-Pierre Le Narzul, collaborateur extérieur 1 – Supélec, Campus de Rennes, équipe SSIR (EA 4039) – Ludovic Mé, Professeur – Eric Totel, Professeur associé – Frédéric Majorczyk, doctorant (Bourse régionale, 2004) – Ayda Saidane, ingénieur expert – France Télécom R&D, site de Caen – Hervé Debar, expert senior – Elvis Tombini, doctorant (CIFRE, 2002) 3 Changements significatifs intervenus dans le projet Il n’y a eu de changement, ni de participants, ni d’objectifs, ni de livrables. Cependant, l’objectif de la tâche 4 a été légèrement revu. Tel qu’il avait été initialement décrit dans la proposition, cet objectif était d’offrir un ensemble de services d’accord permettant de prendre en compte les défaillances qui peuvent affecter une machine hébergeant l’IDS. A l’origine, nous nous proposions de considérer des défaillances accidentelles de type panne franche mais également des fautes intentionnelles pouvant engendrer des comportements arbitraires. Dans le premier cas (panne franche), le proxy/IDS s’exécute toujours conformément à sa spécification mais peut s’arrêter brutalement et définitivement : les mécanismes de réplication mis en œuvre permettent alors de masquer ces défaillances. Dans le second cas (fautes intentionnelles), une attaque peut perturber le réseau de communication et/ou le comportement de certains proxy/IDS. Les solutions permettant de tolérer et masquer les comportements arbitraires de certains nœuds étant complexes et coûteuses (en temps et en nombre de machines à utiliser), nous avons finalement décidé de ne retenir que les défaillances affectant le réseau de communication (en plus des pannes franches). Ceci nous a conduit à développer de nouvelles solutions algorithmiques (notamment, un algorithme de consensus) tolérant des pertes de messages et ne faisant aucune hypothèse sur les temps de transmission de ceux-ci (modèle asynchrone). Dans la section suivante, nous reprenons les tâches définies dans notre proposition, et nous faisons un bref point d’avancement. 4 4.1 4.1.1 Résumé des principales avancées 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. 2 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. Actuellement, 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, est en cours de réalisation. Le choix des attributs est important pour la détection des attaques. Nos expérimentations sur les arbres de décision (TSI, Thèse Bouzida) montrent qu’en général il suffit d’analyser les valeurs d’une dizaine d’attributs pour connaître la classe d’une connexion. Dans (CIMCA), nous avons recensé parmi les 41 attributs, ceux qui sont déterminants et pertinents pour la classification des attaques de type U2R et R2L. 4.1.2 Choix des attributs pour le diagnostic Aucun travail n’a été commencé pour l’instant sur ce point. 4.2 4.2.1 Modèles de comportements explicites Approche supervisée Réseaux bayésiens non naïfs Un travail détaillé (expérimental et théorique) a été mené sur les réseaux bayésiens naïfs (TSI). Ce travail nous a fourni les pistes à suivre pour surmonter l’hypothèse forte d’indépendance. Actuellement, nous analysons les réseaux bayésiens non naïfs de type TAN (Tree augmented networks). Arbre de décisions Nous avons apporté une amélioration importante à l’algorithme c4.5 utilisé dans le cadre de la détection d’intrusion. Cet algorithme présente un très gros défaut dans le cas où des instances de l’ensemble de test ne satisfont aucune règle de la base d’apprentissage. L’algorithme propose alors une classe par défaut, choisie parmi les classes existantes, toutes les nouvelles attaques de la base de tests de KDD99 seront alors classifiée dans l’une des classes appartenant à la base d’apprentissage, la classe Normal en l’occurrence. Nous avons créé une nouvelle classe appelée New, attribuée à toutes les instances 3 de la base de test ne correspondant à aucune règle apprise. Cette amélioration a considérablement réduit le nombre de faux négatifs des résultats : un grand nombre de nouvelles attaques présentes dans la base de tests ont vu leur classification changer de Normal à New, principalement pour la classe U2R avec -60,96% de faux négatifs (IFIP, Thèse Bouzida). Par ailleurs, nous avons analysé (et comparé aux réseaux bayésiens) l’applicabilité des arbres de décision pour la détection d’intrusions (TSI). Ces résultats complètent et confirment ceux déja obtenus dans le cadre du projet RNTL DICO. Enfin, nous avons étendu les arbres de décision pour la prise en compte de l’incertitude, arbres de décisions possibilistes (MIP). Le but est d’étudier et de développer des algorithmes de construction et des mécanismes d’inférence dans les arbres de décision possibilistes. Les extensions que nous nous avons proposées ont pour tâche de gérer et de traiter l’incertitude dans les deux phases suivantes : i) phase de construction de l’arbre, où l’ensemble d’apprentissage peut contenir des objets dont la valeur de certains des attributs est incertaine ou dont la classe d’appartenance est incertaine, ii) phase d’inférence où il s’agit d’assurer la classification des objets même quand il n’y a aucune incertitude sur la valeur des attributs de ces derniers. Réseaux de neurones Ce travail n’avait pas été initialement prévu dans la proposition. Cependant, comme un arbre de décision, un réseau de neurones utilisé dans une approche supervisée a une phase d’apprentissage et une phase de classification. Il était donc intéressant d’évaluer les résultats pouvant être apporter par cette technique. Nous avons fait varier l’ensemble des paramètres d’un réseau de neurones (nombre de couches cachées, nombre d’itérations, seuil). Suite à ces expérimentations, la combinaison optimale des paramètres nous a donné le meilleur pourcentage de bonne prédiction connu à ce jour pour la base KDD99 : PSP = 93,0% (Thèse Bouzida). Combinaison comportemental/signature Les résultats expérimentaux de (TSI) ont montré que les arbres de décisions et les réseaux bayésiens naïfs, d’un coté, possèdent une certaine complémentarité (dans la détection de certaines attaques) et, d’un autre coté, rencontrent des difficultés à détecter des attaques rares. Partant de ce constat, un travail préliminaire (CIMCA, SSI), a été mené pour proposer une méthode qui combine une approche comportementale et une approche par signatures. L’approche par signature se base sur une sélection d’attributs recensés dans la tâche 1. Par ailleurs, nous avons étudié les avantages de la combinaisons d’IDS en cascade. Ce travail a été mené en anticipation par rapport au début officiel de DADDi (nous avons été labellisé mi-2004, mais le financement a été finalement débloqué mi-2005). Dans (ACSAC), nous avons présenté une formalisation du diagnostic des méthodes de détection d’intrusions comportementale et par scénarios en fonction de la nature et de la volumétrie des événements (vrai/faux positif/négatif). Ce formalisme nous a permis de raisonner sur l’opportunité de combiner des 4 méthodes détection d’intrusions. Notre but est d’utiliser la combinaison de méthodes de détection d’intrusions pour améliorer le diagnostic en éliminant le plus de faux positifs, chaque méthode devant qualifier au mieux les événements qu’elle analyse. L’étude de la combinaisons de méthodes de détection d’intrusions et la nature des événements à analyser dans le cas du serveur web, nous a conduit à utiliser la combinaison suivante : détecteur d’anomalies en premier, les événements qu’il classe comme anormal étant transmis à un détecteur par signature. En effet, la reconnaissance des événements sains effectuée en amont par la détection comportementale permet de réduire le nombre de fausses alertes émises finalement par la méthode de détection d’intrusions par scénarios. De plus, grâce à cette combinaison, la capacité de qualification de chacune des deux méthodes de détection d’intrusions est utilisée au mieux. Le module de détection d’intrusions comportementale est chargé de reconnaître les événements sains. Les événements non qualifiés sont ensuite analysés par le module de détection d’intrusions par scénarios. Avec cette combinaison, l’opérateur de sécurité dispose d’un diagnostic à trois états. Les événements sont soit reconnus soit sains, soit intrusifs, soit non qualifiés. Cela affine donc le diagnostic de l’IDS par rapport à l’habitude, où tout événement qui n’est pas reconnu comme une attaque est considéré comme sain (généralement les IDS utilisés aujourd’hui sont de type signature). Finalement, d’une manière plus générale, le formalisme que nous avons établi permet d’évaluer la pertinence d’autres combinaisons, pour d’autres contextes spécifiques (autres répartitions vrais/faux positifs/négatifs). 4.2.2 Approches non supervisées Le travail sur les approches non-supervisées ne sera pas poursuivi. En effet, le travail de thèse de Yacine Bouzida a montré que les approches non-supervisées s’appliquent mal au trafic réseau de type DARPA98. On n’ira donc pas plus loin sur ce sujet, a priori. 4.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 : 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. 5 Une première étude (RAID, SAR) 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 de cette étude 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. 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. L’implémentation de ce nouveau détecteur est faite, nous sommes actuellement en phase d’expérimentation. L’objectif a court terme est la soumission d’un article sur cette partie du travail. 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. 4.4 Sûreté de fonctionnement des détecteurs L’IRISA et Supélec ont conjointement défini plusieurs variantes à l’architecture initialement décrite dans la proposition. Ces variantes prennent en considération différents contextes d’utilisation de l’application WEB à protéger (accès en lecture seule ou accès en lecture/écriture). En outre, selon le contexte retenu, plusieurs stratégies de réplication (notamment active ou passive) ont été définies. Cette étude nous a permis d’identifier un certain nombre de services d’accord nécessaires au fonctionnement de l’architecture : gestion de la composition du groupe, élection d’un leader, réplication active, consensus. Un article va être soumis a SSS’06. Les évolutions du logiciel EDEN destinées à le rendre tolérant aux perturbations du réseau et à l’enrichir de nouveaux services (mécanisme d’élection de leader, synchronisation approximative d’horloge, ...) sont en cours de réalisation. L’essentiel de ces développements seront assurés par l’ingénieur de recherche dont le recrutement (octobre 2006) est prévu dans le cadre de cette ACI. 4.5 Diagnostic Parmi les travaux menés au cours de cette première année, relèvent du diagnostic : le travail réalisé sur la combinaison d’IDS et présenté en section 4.2.1 6 (cascade détecteur comportemental vers détecteur par signature) et la deuxième partie du travail présenté en section 4.3 (IDS par comparaison des activités internes des différents serveurs). Dans la cascade détecteur comportemental vers détecteur par signature, ce dernier détecteur permet d’associer une signature d’attaque à un événement anormal émis par le détecteur d’anomalie. Le diagnostic apporté est l’identification du type d’attaque qui a généré l’alerte comportementale. Dans le cas de la comparaison des activités internes de différents serveurs web, on peut expliquer une différence détectée au niveau de comparaison des sorties ce ces serveur. Le diagnostic est ici constitué par la mise en évidence de flux illégaux sur l’une des machines serveur. 5 Publications (ACSAC) E.Tombini, H.Debar, L.Mé and M.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. (CIMCA) S.Benferhat and K.Tabia. On the combination of Naive Bayes and decision trees for intusion detection. The International Conference of Intelligence, Control and Automation (CIMCA). 2005. (CRiSIS) Y.Bouzida, F.Cuppens et S.Gombault. Détection de Nouvelles Attaques dans un Système de Détection d’Intrusion. CRiSIS. Octobre 2005. (HPOVUA) Y.Bouzida, F.Cuppens and S.Gombault. Modeling Network Traffic to Detect New Anomalies Using Principal Component Analysis. HPOVUA. July 2005. (ICC) Y. Bouzida, F. Cuppens and S. Gombault. Detecting and Reacting Against Distributed Denial of Service Attacks. IEEE ICC. 2006. (IFIP) Y.Bouzida and F.Cuppens. Detecting known and novel network intrusion. IFIP/SEC 2006 21st IFIP TC-11 International Information Security Conference Karlstad University. May 2006. (MIP) 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. (RAID) F.Majorczyk, E.Totel, and L.Mé. COTS Diversity Based Intrusion Detection and Application to Web Servers. In proceedings of the 8th International Symposium on the Recent Advances in Intrusion Detection (RAID). Springer Verlag, LNCS 3858. September 2005. (SAR) F.Majorczyk, E.Totel et L.Mé. Détection d’intrusions par diversification de COTS. Actes de la 4ème conférence "Security and Network Architectures" (SAR). Juin 2005. (SSI) S.Benferhat et K.Tabia. Systèmes de détection d’intrusions hybrides, partie I : intégration d’une approche comportementale. SSI’2006. 6-9 Juin 2006. 7 (Thèse Bouzida) Y.Bouzida. Application de l’analyse en composante principale pour la détection d’intrusions et détection de nouvelles attaques par apprentissage supervisé. Thèse de doctorat. GET/ENST Bretagne. Mars 2006. (TSI) N.Ben Amor, S.Benferhat et Z.Elouedi. Réseaux Bayésiens naifs et arbres de décision dans les systèmes détection d’intrusions. Technique et Science Informatiques (TSI). 2006. 8