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