Matching of dynamic patterns with timed memory automata
Reconnaissance de motifs dynamiques par automates temporisés à mémoire
Résumé
The globalized and increasing use of computers and the Internet have for consequences an always increasing quantity of data and online communications. Some examples of this data can be logs of social networks messages of Internet routers usages. Such communication logs are similar to dynamic graph formalized as link streams. The monitoring and analysis of this kind of systems are quite common, often looking for occurrences of specific communication patterns. For example, a common pattern in Security is the detection of concerted attacks toward a same target, such as a DDOS. One of the problems addressed in this thesis is the creation of a normalized specification language for such patterns in the networks. Not many similar languages exist because they are often specific to some kind of patterns due to performance issues. The other main issues applied during this thesis is the implementation of a prototype tool for the detection of this patterns in real life link streams.The chosen approach is to specify the pattern with a language inspired from the regular expressions : timed expressions with memory layer. This expressions are designed to specifie both timed constraints, to model the dynamism of the networks, and also data from an open environment. An open environment means that the entities specified in the pattern cannot be known in the first place and can also appear and disappear during the evolution of the network. For example, in intrusion detection, the indentities of the oppenents are hidden until the intrusion attempt. Following the example of regular expressions, the Automata theory offer tools to define a recognition principle for the different properties of this patterns. Timed automate is a classic and well studied automate model to specify and recognize timed systems and properties. Furthermore, the different class of memory automata formalizes some recognition principle for properties over infinite alphabets, used to represent patterns over open environment. We designed and formalized the Timed layered memory automate, integrating features of both memory and timed automata models. One of the specific feature of this model is the introduction of layered memory, offering more flexibility to define complex properties. We are proving the equivalence between the automata and specification language through a Kleene like theorem. Thus, we can easily define and compare the properties of our models to the ones from the literature. Our last contribution is the design and implementation of a generic pattern matching algorithm into a prototype tool. It gives us the opportunity to experiment on link streams from real world networks. We experimented by modeling and monitoring intrusion patterns and community detection in a social network.
L'utilisation toujours plus importante de l'informatique et d'internet mène à une génération toujours plus importante de donnés et de communications. Ces données peuvent être par exemple des historiques de communication dans des réseaux sociaux ou encore des traces du trafic internet. De tels historiques de communications sont une forme de graphe dynamique formalisable par des flots de liens. De nombreux travaux s'articulent autour de la supervision et l'analyse de ces systèmes afin de détecter l'apparition de certains phénomènes ou scénarios spécifiques. Par exemple, dans le cadre de la sécurité, on souhaite détecter des tentatives d'intrusions concertées, tel des DDOS. Une première problématique est la création d'un langage général et normalisé de spécification de tel phénomène, car peu de langages existent et ils sont souvent spécifiques à certaines catégories de scénarios par soucis de performance. La seconde problématique principale est l'implémentation d'un prototype d'outil de reconnaissance pour détecter ces phénomènes dans des jeux de données issues de situation réelles.Notre approche consiste à représenter ces propriétés comme des motifs spécifiés avec un dérivé des expressions régulières: les expressions temporisées à couches mémoire. Ces expressions permettent à la fois de spécifier des contraintes de temps, et donc de représenter le dynamisme des systèmes, mais aussi de représenter des données d'un environnement ouvert. Ce dernier représente le fait que les entités/acteurs présents dans les réseaux étudiés ne sont pas toujours connues à l'avance et peuvent apparaitre ou disparaitre au cours de son évolution. Dans le cas de la détection d'intrusion, l'on ne peut pas connaitre les identités des attaquants à l'avance. Comme pour les expressions régulières, la théorie des automates offre des formalismes de reconnaissance pour les différents types de propriétés caractérisant les motifs. Le modèle des automates temporisés, est classique dans la littérature pour sa capacité à formaliser des contraintes de temps. De plus, les différentes classes d'automates à mémoire permettant la reconnaissance de langage sur des alphabets infinis, correspondant à des motifs sur des environnements ouverts. Nous avons conçu le modèle des automates temporisés à couches mémoire, intégrant les caractéristiques de ces deux catégories d'automates. L'une des caractéristiques de ce modèle est l'introduction de la notion de couches mémoire offrant une flexibilité quant à la définition de propriétés complexes. Nous prouvons l'équivalence entre cette classe d'automate et les expressions temporisées à couches mémoire avec un théorème semblable au théorème de Kleene. Cela nous permet de précisément caractériser, et positionner dans la littérature, la classe des motifs exprimés.Enfin, la dernière contribution de cette thèse est le développement et l'implémentation d'un algorithme de reconnaissance générique. Son implémentation dans un outil nous permet d'effectuer des expérimentations sur des flots de liens issus de réseaux réels. Nous avons ainsi pu modéliser des scénarios d'intrusion dans des réseaux, et appliquer notre outil au problème de la détection de communautés dans les réseaux sociaux.
Origine | Version validée par le jury (STAR) |
---|