curité et Surveillance
dans les Flots de Données

 

 

 

 

 

 

 

 

 

Accueil

Contexte

Problématique

Propositions

Applications

Equipes

Positionnement

Bibliographie

 

Réunions et CR

Equipe AxIS
INRIA
Sophia Antipolis

Equipe Dream
IRISA
Rennes

Equipe KDD
LGI2P/EMA
Nîmes

Equipe TATOO
LIRMM
Montpellier

 

Problématique

Nous avons identifié deux thèmes majeurs à aborder dans le cadre de cette ARC, afin de répondre aux exigences posées par le contexte de l'analyse d'un flot à des fins sécuritaires. Tout d'abord nous aborderons les problèmes liés à de nouvelles techniques d'extraction de connaissances adaptées aux flots de données. Cela concerne à la fois les techniques issues de la fouille de données, mais aussi les techniques issues de l'apprentissage (supervisé ou non supervisé). En deuxième lieu, notre objectif est de considérer des problèmes liés à l'évolution des connaissances extraites. En effet, la nature extrêmement évolutive des données considérées va nous inciter à considérer les problèmes liés à l'évolution des connaissances acquises au fil du temps.
Nous avons cependant une troisième préoccupation : l'application de ces techniques sur des données réelles. Dans cette optique, la section 4 fera le point sur les données que nous envisageons de traiter afin de montrer l'utilité et l'efficacité des méthodes que nous pourrons développer dans un contexte de sécurité et de surveillance.

Nous exposons ici les problématiques de recherche liées aux aspects ``extraction de connaissances'' et ``évolution de ces connaissances''.

Vers de nouvelles techniques d'extraction de connaissances adaptées aux flots de données

Les contraintes inhérentes aux flots, e.g. données non statiques, volume, etc., sont telles qu'il devient indispensable d'adapter voir de reconsidérer complètement le processus d'extraction de connaissances. Dans le cadre des applications visées et en tenant compte des compétences des différents partenaires, le projet souhaite particulièrement aborder les problématiques suivantes :
  • Développer des algorithmes de fouille adaptés aux flots de données. Il s'agit d'un grand défi qui implique de répondre aux types de questions suivantes : est il possible de faire un apprentissage à la volée ? Sur quelle fenêtre temporelle travailler ? Comment s'assurer que les motifs extraits sur une fenêtre temporelle correspondent à ceux qui seraient extraits si il était possible de stocker l'ensemble complet des données ? Comment repérer rapidement des séquences significatives sans pénaliser le transfert du flot ? Quel type de structure efficace mettre en oeuvre pour représenter les connaissances extraites ? Comment interroger le ``passé'' des connaissances apprises ?
  • Améliorer la précision des connaissances acquises par la prise en compte de la complexité des données. Pour améliorer la précision des connaissances acquises une voie consiste à enrichir les données brutes avec les autres dimensions qui peuvent lui être associées (e.g. pour un internaute, outre sa navigation, de nombreuses informations peuvent être obtenues : pays, ville, type de machine, type de système ; pour un malade, ces informations pourraient concerner ses références médicales). Se posent alors les questions : comment introduire des informations complémentaires dans le processus de fouille de manière à diminuer l'imperfection des données ? Comment étendre les techniques d'extraction à des données complexes, en particulier multidimensionnelles ? Comment gérer l'imprécision dans les connaissances extraites ?

Faire évoluer les connaissances apprises au fil du temps

Dans le domaine de l'extraction de connaissances à partir de données statiques, il existe une séparation nette entre apprentissage et utilisation des connaissances : la base de connaissances est utilisée après l'apprentissage et elle est éventuellement réapprise si elle ne donne pas satisfaction. Lorsque l'on se place dans le cadre de la surveillance d'un système dynamique, les modèles (ensembles de motifs) sont extraits des données provenant de l'observation du système (du flot) et utilisés immédiatement pour le diagnostic. Les modèles extraits ne sont pas optimaux puisqu'appris sur un sous-ensemble des données d'observation (fenêtre temporelle ou résumé des données passées). Un premier problème est d'élaborer des indicateurs permettant d'évaluer en continu la qualité des données. Cette qualité peut être évaluée par un expert ou tout autre dispositif d'auto-évaluation du système lui-même, en particulier elle est liée à leur performance en détection d'anomalie. Une mauvaise qualité du modèle nécessite une révision du modèle mais se pose alors la question de la mise en \oeuvre de cette révision à partir de données d'apprentissage partielles et des performances obtenues en détection.

Par exemple, dans le cadre de la détection d'intrusion, les signatures d'attaques évoluent régulièrement : elles sont mises à jour quotidiennement et pourtant le nombre de faux positifs est considérable. Les experts n'ont que très peu de possibilités d'interagir avec le processus de détection d'attaques.

Dans le cadre de la surveillance médicale, la connaissance d'un patient particulier grandit au cours du temps. Il est important de pouvoir raffiner les connaissances extraites pour les adapter au patient et à son évolution. De la même manière, l'intégration de nouvelles variables de conduite dans le cas d'une application de sûreté de fonctionnement aura pour conséquence de remettre en cause certaines connaissances acquises sur les symptômes liés à une défaillance. L'adaptation des modèles est souhaitable pour améliorer la qualité et l'efficacité du diagnostic.

La prise en compte de cette évolution nécessite de répondre aux différentes questions suivantes : comment détecter l'inadéquation du modèle courant par rapport aux performances en détection? comment modifier le modèle appris de manière dynamique pour qu'il soit toujours représentatif ? L'apprentissage de modèles ou de motifs nécessite de préciser des paramètres, ceux-ci peuvent être adaptés pour une situation donnée mais comment et quand les faire évoluer lorsque de grandes modifications s'opèrent dans le comportement des données ? Comment considérer en même temps toutes les entrées (flots, experts, extérieurs) qui permettent de faire évoluer la base de connaissances ?