Modélisation formelle de système de détection d'intrusions

par Lionel Nganyewou Tidjon (Tidjon)

Projet de thèse en Informatique, données, IA

Sous la direction de Amel Mammar et de Marc Frappier.

Thèses en préparation à l'Institut polytechnique de Paris en cotutelle avec l'Université de Sherbrooke , dans le cadre de Ecole Doctorale de l'Institut Polytechnique de Paris , en partenariat avec Télécom SudParis (France) (laboratoire) , METHODES (equipe de recherche) et de Institut national des télécommunications (Evry) (établissement de préparation de la thèse) depuis le 01-05-2017 .


  • Résumé

    On distingue généralement trois types de système de détection d'intrusions : détection d'anomalies, détection par signature et détection de violation du comportement attendu. La détection d'anomalie est fondée sur la caractérisation du comportement 'habituel' du système, typiquement de manière statistique. Elle permet de détecter des attaques connues ou inconnues, mais elle génère aussi un très grand nombre de faux positifs. La détection par signature permet de détecter des attaques connues en définissant des règles qui décrivent le comportement connu d'un attaquant. Cela demande une bonne connaissance du comportement de l'attaquant. Des outils comme Snort proposent une plateforme pour exprimer ces règles. La détection de violation du comportement attendu repose sur une spécification du comportement légal du système. Toute déviation par rapport à cette spécification est rapportée comme étant une intrusion. Des outils tels que Snort offrent des langages de bas niveau pour l'expression de règles de reconnaissance d'attaques. Le nombre d'attaques potentielles étant très grand, ces bases de règles deviennent rapidement difficiles à gérer et à maintenir. De plus, l'expression de règles 'stateful' pour reconnaitre une séquence d'événements est particulièrement ardue. Dans cette thèse, nous proposons d'explorer l'usage de méthodes formelles pour exprimer des règles de reconnaissance d'une attaque et de générer automatiquement un contrôleur à partir d'une spécification formelle d'une attaque. Nous étudierons le système Snort et nous tenterons de représenter les principes de détection de Snort dans un langage plus abstrait, pour ensuite générer automatiquement des règles dans le langage de Snort à partir de cette description plus abstraite. Cela permettra de prouver des propriétés à propos d'une base de règles Snort, tout en simplifiant l'expression de règles et leur maintenance. Nous considèrerons deux types de méthodes: l'approche orientée machine à état, avec les langages B et Event-B, et l'approche diagramme état-transition hiérarchique, en utilisant des ASTD combinés avec B et Event-B. Les ASTD permettent de représenter graphiquement une spécification, ce qui facilite la maintenance et la compréhension des règles. Combinés avec B et Event pour la modélisation des données du contrôleur, cela donne un langage très puissant, où la partie contrôle est facile à visualiser et à comprendre, grâce aux ASTD. Cela est particulièrement important pour reconnaitre des attaques.

  • Titre traduit

    Formal modeling of an intrusion detection system


  • Résumé

    Generally, we have three IDS types : anomaly detection, signature-based detection and security policy-based detection. Anomaly detection is based on the 'usual' behavior description of the system, typically in a static manner. It enables detecting known or unknown attacks, but generating also a large number of false positive. Signature based detection enables detecting known attacks by defining rules that describe known attacker's behavior . It needs a good knowledge of attacker behavior. There are tools like Snort that proposes a platform to represent these rules. Security policy based detection uses the legal behavior specification of the system. Any violation with respect to this specification is considered as an intrusion. Tools like Snort offers low level languages to represent rules for detecting attacks. The number of potential attacks being large, these rule bases become quickly hard to manage and maintain. Moreover, the representation of 'stateful' rules to recognize a sequence of events is particularly arduous. In that thesis, we propose to explore the use of formal methods for representing recognition rules of an attack and then, generating automatically a controller from the formal specification of an attack. We would study Snort and we would attempt to represent detection principles of Snort in a more abstract language, then automatically generating rules in the Snort language from that abstract description. That would enable us proving properties about a rule base of Snort by simplifying the representation of rules and their maintenance. For that purpose, we would consider two methods: a state machine-based approach, in B and Event-B, and a hierarchical state-transition diagram approach using ASTDs diagrams combined with B and Event-B. ASTDs diagrams enable a graphical representing of a specification, that facilitates maintenance and understanding of rules. They would be coupled with B and Event for controller data modeling to provide a high-level language, where the control part is easy to visualize and understand. It is particularly important for recognizing attacks.