La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Validation des protocoles MANET Ana Cavalli TELECOM SudParis CNRS UMR 5157 Samovar Stephane Maag TELECOM SudParis CNRS UMR 5157.

Présentations similaires


Présentation au sujet: "Validation des protocoles MANET Ana Cavalli TELECOM SudParis CNRS UMR 5157 Samovar Stephane Maag TELECOM SudParis CNRS UMR 5157."— Transcription de la présentation:

1 Validation des protocoles MANET Ana Cavalli TELECOM SudParis CNRS UMR 5157 Samovar Ana.Cavalli@it-sudparis.eu Stephane Maag TELECOM SudParis CNRS UMR 5157 Samovar Stephane.Maag@it-sudparis.eu

2 Ana Cavalli-Stéphane Maag CRIMES 092 Plan MANET Passive vs. Active Technique de test basée sur des invariants Expérimentations OLSR Applications à la détection d’intrusion dans les MANET Algorithme basé sur les EFSM Exemple CONCLUSION

3 Ana Cavalli-Stéphane Maag CRIMES 093 Vous avez dit MANET ? “ An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of any established infrastructure or centralized administration ”, Johnson et al., 1994 Sans infrastructure, Autonome, Les nœuds se comportent comme des routeurs, Chemins multi-sauts Topologie dynamique, Contraintes énergétiques, Communications radio hétérogènes.

4 Ana Cavalli-Stéphane Maag CRIMES 094 Protocoles de routage MANET Deux categories principales : Proactive : OLSR Réactive : DYMO, DSR Hybride: ZRP Geographique: LAR Power-aware: EADSR, etc. De nombreuses implantations doivent être testées. 175.115.33.2 152.105.85.9 123.157.34.2 128.180.57.1 132.175.43.0

5 Ana Cavalli-Stéphane Maag CRIMES 095 TEST de CONFORMITE Objectif : Vérifier que l’implantation d’un protocole sous test se comporte comme sa spécification formelle. Système Idées Requirements Idées Requirements spécifient Conforme à Spécification Conforme à spécifient TEST VERIFICATION Conception Specification

6 Ana Cavalli-Stéphane Maag CRIMES 096 PASSIF vs ACTIF pros & cons : Possibilité d’analyser une partie spécifque de la spécification  / Génération automatique des tests  Peut modifier (crash) le comportement de l’IUT IUT Active Tester Verdict: PASS,FAIL, INCONC. Formal Specification Test Suites IUT Passive Tester Verdict: PASS,FAIL, INCONC. System Specification Context POTrace d’exécution pros & cons : Pas d’interférences avec l’IUT /  Pas de génération des tests  Algorithmes complexes

7 Ana Cavalli-Stéphane Maag CRIMES 097 Dans nos travaux récents Dans [1,2], Une approche de test actif a été appliquée, Résultats des verdicts de test intéressants sur des propriétés fonctionnelles ont été fournis. Mais dû à la dynamicité, mobilité et changement topologiques → de nombreux verdicts inconclusifs ont été obtenus !  Test passif pour répondre à ces problèmes. [1] S. Maag and C. Grepet. Interoperability testing of a MANET routing protocol using a node self-similarity approach. In SAC '08: Proceedings of the 2008 ACM symposium on Applied computing, p.1908-1912, Ceara, Brazil, 2008. [2] S. Maag, C. Grepet, and A. Cavalli. A formal validation methodology for MANET routing protocols based on nodes' self similarity. Computer Communication Journal, 31(4):827-841, 2008.

8 Ana Cavalli-Stéphane Maag CRIMES 098 Notre Approche de Test Passif Approche basée sur les invariants Invariant ? Une propriété toujours vraie Extraite du modèle formel ou du protocole sous test Soit M=(S,I,O,s in,Tr) une FSM. i 1 /o 1, …, i n-1 /o n-1, i n /o n est un invariant ssi i n /o n est observé sur la trace réelle  i 1 /o 1, …, i n-1 /o n-1 est observé avant “ ? ” (n’importe quel symbole) et “  ” (une séquence de symboles) sont permis dans la définition de l’invariant.

9 Ana Cavalli-Stéphane Maag CRIMES 099 Notre Approche de Test Passif Objectif : Tester la conformité de l’IUT à travers un ensemble de propriétés (invariants) et de traces d’exécution réelles. Step1: Formulation des propriétés pertinentes à tester Step2: Spécifier formellement les propriétés sous forme d’invariants Step3: Extraction des traces d’exécution à partir des points d’observation Step4: Transformation des traces en un format adapté à l’analyse Step5: Vérification des invariants sur les traces.

10 Ana Cavalli-Stéphane Maag CRIMES 0910 Le protocole OLSR (Optimized Link State Routing) – RFC3626 Protocole pro-actif Des paquets de contrôle sont périodiquement diffusés dans le réseau => mise à jour continue des tables de routage Utilisation de ‘Relais Multi Points’ Limite l’inondation à l’intérieur du réseau Les routes sont optimales Les routes sont immédiatement disponibles

11 Ana Cavalli-Stéphane Maag CRIMES 0911 EXPERIMENTATIONS sur OLSR Testbed OLSR réel 3 laptops supportant 802.11 a/b/g 1 laptop avec un adaptateur USB sans fil WPN111 OLSR implementation: olsrd -RFC3626, Proactive, MPR strategy Traces capturées par wireshark au Node0 (au commencement de chaque exécution – pour obtenir le start state) -XML format + XSL style sheets pour filtrer et formater les informations Un modèle OLSR formel pour la vérification des invariants EFSM based [7] Simplifié: chaque nœud a une interface et seulement un lien avec un même nœud. Modèle représentant les interactions entre 2 nœuds

12 Ana Cavalli-Stéphane Maag CRIMES 0912 EXPERIMENTATIONS sur OLSR 4 invariants à tester sur un ensemble de traces Génération du tout premier HELLO ? / HELLO(n 0,not_neigh,unspec_link,none), , HELLO(n 1,not_neigh, Asym_link,n 0 ) / ?) Etablissement d’un lien symétrique HELLO(n 1,not_neigh,Asym_link,n 0 ) / ?, , HELLO(n 1,Sym_neigh,Sym_link,n 0 ) / ? Process pour un lien MPR (n 0 comme MPR) HELLO(n 1,Sym_neigh,Sym_link,n 0 ) / ?, , HELLO(n 1,MPR_neigh,Sym_link,n0) / ? TC envoyé par un MPR (n 1 est maintenant un MPR) HELLO(n 1,MPR_neigh,Sym_link,n 0 ) / ?, , ? / TC(n 0 )

13 Ana Cavalli-Stéphane Maag CRIMES 0913 EXPERIMENTATIONS sur OLSR L’outil TESTINV JAVA Awt+Swing Regex2 Basé sur 2 algorithms de vérification détaillés dans [8]. [8] E.Bayse, A.Cavalli, M.Nunez, and F.Zaidi. A passive testing approach based on invariants: application to the WAP. Computer Networks ISDN System, 48(2):247–266, 2005.

14 Ana Cavalli-Stéphane Maag CRIMES 0914 EXPERIMENTATIONS sur OLSR - RESULTATS Inputs: Invariant file (regex2) XSL file + protocol keywords XML trace (Wireshark) Outputs: PASS (Verdict1) FAIL pour une trace modifiée (Verdict2) Performance de l’outil: Resultats en < 1s / 8Mo trace InvariantsVerdictsVerdicts 2 Inv1PASSFAIL inv2PASSFAIL inv3PASSFAIL inv4PASSFAIL PERSPECTIVES: Approche utilisable dans la détection d’intrusion dans les MANETs?

15 Ana Cavalli-Stéphane Maag CRIMES 0915 Détection d’intrusion dans les réseaux ad hoc basée sur le test réseaux ad hoc basée sur le test passif (monitorage)

16 Ana Cavalli-Stéphane Maag CRIMES 0916 Vuln é rabilit é s des r é seaux Ad Hoc Absence d’infrastructure Routeur, serveur DNS, autorité de certification Medium de transmission sans fil Forte mobilité Capacités limitées Bande passante, autonomie, puissance de calcul

17 Ana Cavalli-Stéphane Maag CRIMES 0917 Les types d’attaques Attaques courantes dans les réseaux mobiles et sans fil: Sniffing (données, localisation, etc..) Usurpation d’identité (Spoofing IP, etc.…) Modification des messages de contrôle Insertion => création de boucles Déni de service (DoS) Attaques inhérentes au routage Ad Hoc: Non coopération (Selfishness) Création d’un tunnel ou de connexions privées (Wormhole)

18 Ana Cavalli-Stéphane Maag CRIMES 0918 Mécanismes de sécurité actuels Cryptographie et authentification: pr é vention mais pas de d é tection diminue le nombre d ’ attaques sans les é liminer protection contre certains type d ’ attaques ne permet pas de d é tecter et traiter les n œ uds compromis Echec/insuffisance des propositions existantes => besoins de mécanismes de détection

19 Ana Cavalli-Stéphane Maag CRIMES 0919 Intrusion: definition Une intrusion est une tentative délibérée, non autorisée, d’accéder ou de manipuler des informations ou des systèmes, et de les rendre non fiables ou inusables (par violation des politiques de sécurité)

20 Ana Cavalli-Stéphane Maag CRIMES 0920 Systèmes de détection d’intrusion Traditionnellement de 2 types: Approche par signature On examine les informations échangées par les noeuds à la recherche d’attaques qui correspondent à des motifs connus (patter matching) Approche comportementale Détection de comportements qui ‘s’éloignent’ du comportement normal d’un noeud

21 Ana Cavalli-Stéphane Maag CRIMES 0921 Approche par signature Traite de détecter des comportements qui sont proches à la signature d’une intrusion connue Exemple: “Network grep” – cherche des chaînes de caractères dans les connections réseaux qui pourraient indiquer un attaque en progression

22 Ana Cavalli-Stéphane Maag CRIMES 0922 Approche comportementale Objectif: détecter des événements “unusual” Analyser le réseau ou système et établir ce qui est un comportement normal Appliquer de mesures statistiques ou heuristiques aux subséquent événements et déterminer s’ils sont conformes au modèle/statistique “normal” Si les événements se situent en dehors d’une fenêtre de probabilité “normal” alors il faut générer une alarme

23 Ana Cavalli-Stéphane Maag CRIMES 0923 Systèmes de détection d’intrusion Inconvénients de l’approche par signature: Ne permet de détecter que des attaques connues Difficile de maintenir les signatures à jour Absence d’entité centralisée pour surveiller le trafic Peut être dupée Inconvénients de l’approche comportementale: Pas de distinction claire entre comportements normal et anormal Nécessite beaucoup de données Efficacité inférieure Trop de faux positifs

24 Ana Cavalli-Stéphane Maag CRIMES 0924 Découverte des voisins Emission périodique de paquets hello – Les hello contiennent la liste des nœuds entendus et le type de lien => Les nœuds connaissent leurs voisins et les voisins à deux sauts

25 Ana Cavalli-Stéphane Maag CRIMES 0925 Exemple d’attaque sur OLSR B est MPR de A. C est à 2 sauts de A 1. Envoi de messages Hello par B 2. Envoi de messages Hello par A 3. Insertion d’un message Hello par l’Intrus annonçant à A, B, C un lien symétrique Conséquences : Sélection de l’Intrus comme MPR par A et B Le trafic de A vers C passera par l’Intrus

26 Ana Cavalli-Stéphane Maag CRIMES 0926 Machines à états finis étendues Spécification d’OLSR sous forme d'EFSM (Extended Finite State Machine) Les EFSM (Extended Finite State machine) sont caractérisés par: des événements d'E/S avec ou sans paramètres un prédicat à satisfaire des actions à effectuer Transitions définies par : Une entrée et une sortie (avec ou sans paramètres) Un prédicat sur des variables Des actions sur des variables Traces d'exécution (séquence de couples d'entrée/sortie) du système sous test

27 Ana Cavalli-Stéphane Maag CRIMES 0927 EFSM d’OLSR OLSR EFSM dérivée du RFC 3626

28 Ana Cavalli-Stéphane Maag CRIMES 0928 Exemple Exemple 8: obs?Hello(cur) P: (cur=ASYM AND SentHello=true) OR (cur=SYM AND obs$\in$AsymList)\\ A: reset UpdateTimer 10: UpdateTimerOut A: reset UpdateTimer; Remove(obs,AsymList); reset SentHello; remove(obs,MprList)\\ 11: HelloTimerOut / cur!Hello(obs) A: set obs=SYM; reset HelloTimer; remove(obs,MprList) 12: HelloTimerOut / cur!Hello(obs) A: set obs=MPR; reset HelloTimer; add(obs,MprList) 13: cur!Data() P: obs$\in$MprList 14: obs?TC(cur) P: cur=MPRSEL AND obs$\in$MprList 15: obs?Hello(cur) P: cur=SYM OR cur=ASYM 17: obs?Hello(cur) P: cur=SYM OR cur=ASYM A: reset UpdateTimer; Remove(obs,MprSelList) 16: obs?Hello(cur)\\ P: cur=MPR\\ A: Add(obs,MprSelList); reset UpdateTimer; reset TcTimer

29 Ana Cavalli-Stéphane Maag CRIMES 0929 Processus de détection Le processus de vérification/détection consiste à comparer les traces d’entrées/sorties (messages reçus et envoyés) avec la spécification la trace doit être acceptée comme un mot de l’EFSM La comparaison est effectuée à l’aide d’un algorithme de recherche en arrière (backward checking) que nous avons défini

30 Ana Cavalli-Stéphane Maag CRIMES 0930 Exemple Insertion de faux messages ‘Hello ’ qui annoncent un lien symétrique inexistant: HelloTimer and UpdateTimer, régulent l’envoi des messages Hello message et la mise à jour des liens Une trace correspondante possible est: HelloTimerOut / cur!Hello() UpdateTimerOut obs? Hello() UpdateTimer obs?Hello(cur) with cur=SYM I. 1) Partant du dernier événement: recherche des transitions correspondantes (8,15,17)

31 Ana Cavalli-Stéphane Maag CRIMES 0931 Exemple Exemple 8 : obs?Hello(cur) P: (cur=ASYM AND SentHello=true) OR (cur=SYM AND obsЄAsymList) A: reset UpdateTimer 10: UpdateTimerOut A: reset UpdateTimer; Remove(obs,AsymList); reset SentHello; remove(obs,MprList) 11: HelloTimerOut / cur!Hello(obs) A: set obs=SYM; reset HelloTimer; remove(obs,MprList) 12: HelloTimerOut / cur!Hello(obs) A: set obs=MPR; reset HelloTimer; add(obs,MprList) 13: cur!Data() P: obsЄMprList 14: obs?TC(cur) P: cur=MPRSEL AND obsЄMprList 15 : obs?Hello(cur) P: cur=SYM OR cur=ASYM A: reset UpdateTimer 16: obs?Hello(cur) P: cur=MPR A: Add(obs,MprSelList); reset TcTimer 17 : obs?Hello(cur) P: cur=SYM OR cur=ASYM A: reset UpdateTimer; Remove(obs,MprSelList) => correspond avec les transitions n° 8,15 &17

32 Ana Cavalli-Stéphane Maag CRIMES 0932 Exemple I.2) Recherche des configurations antérieures possibles: State: A; Parameters: cur = SYM, obsЄAsymList State: S; Parameters: cur = SYM State: M; Parameters: cur = SYM, obs Є MprList II.1) On recommence le procédé sur la transition précédente (UpdateTimer)

33 Ana Cavalli-Stéphane Maag CRIMES 0933 Exemple 8: obs?Hello(cur) P: (cur=ASYM AND SentHello=true) OR (cur=SYM AND obsЄAsymList) 10: UpdateTimerOut A: reset UpdateTimer; Remove(obs,AsymList); reset SentHello; remove(obs,MprList) 11: HelloTimerOut / cur!Hello(obs) A: set obs=SYM; reset HelloTimer; remove(obs,MprList) 12: HelloTimerOut / cur!Hello(obs) A: set obs=MPR; reset HelloTimer; add(obs,MprList) 13: cur!Data() P: obsЄMprList 14: obs?TC(cur) P: cur=MPRSEL AND obsЄMprList 15: obs?Hello(cur) P: cur=SYM OR cur=ASYM 17: obs?Hello(cur) P: cur=SYM OR cur=ASYM A: Remove(obs,MprSelList) 16: obs?Hello(cur) P: cur=MPR A: Add(obs,MprSelList); reset TcTimer => Aucune corresponds !

34 Ana Cavalli-Stéphane Maag CRIMES 0934 Exemple II.2) Il n’y a pas de transition satisfaisant les contraintes (les transitions qui contiennent l’évènement UpdateTimer ne mènent pas aux états A, S or M) => Violation de la spécification par une erreur de transfert!

35 Ana Cavalli-Stéphane Maag CRIMES 0935Discussion Permet de détecter de manière efficace des attaques on « link state » (les plus importants pour les protocoles proactifs) Pas de faux positifs Approche exhaustif Pas d’identification des erreurs erreurs de conformité / failles de sécurité? Ne permet pas de détecter des attaques qui ne violent pas la spécification (par ex. DoS)

36 Ana Cavalli-Stéphane Maag CRIMES 0936 Perspectives Utiliser de manière complémentaire une approche par signature Identification des erreurs de conformité Détection d’attaques spécifiques (DoS) Découverte et enregistrement de nouvelles vulnérabilités

37 Ana Cavalli-Stéphane Maag CRIMES 0937 Problèmes ouverts Améliorer l’efficacité de l’algorithme (real-time use) Comment réagir face à des misbehaving nodes? Comment identifier, exclure des noeuds malicieux? => Pas de réponse pour le moment

38 Ana Cavalli-Stéphane Maag CRIMES 0938 REFERENCES [1] I.Zakkuidin, T.Hawkins, and N.Moffat. Towards a game theoretic understanding of ad hoc routing. Electr. Notes in Theor. Comp. Sc., 2005, 119, 2005. [2] D. Lee, D. Chen, R. Hao, R. Miller, J. Wu, and X. Yin. A formal approach for passive testing of protocol data portions. In Proc. of ICNP, pages 122- 131, Washington, DC, USA, 2002. IEEE Computer Society. [3] T. Lin, S. Midkiff, and J. Park. A framework for wireless ad hoc routing protocols. In Proc. of IEEE Wireless Comm. and Networking Conf., 2003. [4] T.Higashino and H.Yamagushi. A testing architecture for designing high- reliable manet protocols. In The 25th IFIP Formal Techniques for Networked and Distributed Systems - FORTE, 2005. [5] J. Orset, B. Alcalde, and A. Cavalli. An EFSM-based intrusion detection system for ad hoc networks. In Proceedings of Automated Technology for Verification and Analysis (ATVA), 2005.

39 Ana Cavalli-Stéphane Maag CRIMES 0939 REFERENCES [6] Wissam Mallouli, Bachar Wehbi, Ana R. Cavalli, Distributed Monitoring in Ad Hoc Networks: Conformance and Security Checking, The 7th International Conference on AD-HOC Networks & Wireless (ADHOC-Now 2008), September 10-12, Sophia Antipolis, France. [7] Ana Cavalli, Stephane Maag and Edgardo Montes de Oca, A Passive Conformance Testing Approach for a Manet Routing Protocol, The 24th Annual ACM Symposium on Applied Computing SAC'09, March 9-12 2009, Hawaii, USA. [8] Anderson Morais, Eliane Martins, Ana Cavalli, Willy Jimenez, Security Protocol Testing Using Attack Trees, IEEE/IFIP International Symposium on Trusted Computing and Communications (TrustCom-09), August 29-31, 2009, Vancouver, Canada. [9] Cesar Andres, Stephane Maag, Ana Cavalli, Mercedes G. Merayo, Manuel Nunez, Analysis of the OLSR Protocol by using formal passive testing, APSEC 2009, December 2009, Penang, Malaysia.


Télécharger ppt "Validation des protocoles MANET Ana Cavalli TELECOM SudParis CNRS UMR 5157 Samovar Stephane Maag TELECOM SudParis CNRS UMR 5157."

Présentations similaires


Annonces Google