Note: Descriptions are shown in the official language in which they were submitted.
CA 02773247 2012-03-06
WO 2011/030045 PCT/FR2010/051823
1
SURVEILLANCE D'UNE SESSION DE COMMUNICATION COMPORTANT
PLUSIEURS FLUX SUR UN RESEAU DE DONNEES.
La présente invention concerne un procédé et un système de
surveillance d'une session de communication sur un réseau de données,
ladite session comprenant un premier flux de données, dit flux parent,
utilisant
un premier protocole, ledit flux parent comprenant des données permettant
l'établissement d'un second flux de données, dit flux enfant, utilisant un
second protocole pour ladite session. Elle concerne également un produit
programme d'ordinateur pour mettre en oeuvre le procédé de surveillance.
Les applications réseau actuelles utilisent en général plus d'une
session et d'un protocole pour effectuer leur tâche.
Par exemple, lors d'un appel vidéo généré par la mise en place d'une
vidéoconférence, une session RTP ( real-time Protocol - protocole temps
réel) va être initiée par une session SIP ( Session Initiation Protocol -
protocole d'initialisation de session), et les paramètres de la session RTP
dépendront d'informations échangées par la session SIP.
Les appareils de surveillance de réseau, tels que, par exemple, les
pare-feux, font la liaison entre les sessions des différents protocoles par
l'intermédiaire de machines d'état.
Cette solution a pour inconvénient de rendre ces appareils complexes
car il faut, en particulier, écrire le comportement d'une machine d'état pour
chaque nouvelle application réseau. De plus, le traitement des différents flux
peut s'avérer très consommateur de ressource, ce qui limite la bande
passante disponible au travers de ces appareils, ou bien oblige aux
développements de machines onéreuses ou à limiter la quantité de données
surveillées.
Il serait donc avantageux d'obtenir un procédé et un système de
surveillance permettant de surveiller des applications réseaux utilisant de
nombreux protocoles avec une meilleure efficacité en termes de ressources
matérielles et de mise en oeuvre.
Pour résoudre un ou plusieurs des inconvénients cités
précédemment, un procédé de surveillance d'une session de communication
sur un réseau de données, la session comprenant un premier flux de
CA 02773247 2012-03-06
WO 2011/030045 PCT/FR2010/051823
2
données, dit flux parent, utilisant un premier protocole, le flux parent
comprenant des données permettant l'établissement d'un second flux de
données, dit flux enfant, utilisant un second protocole pour cette session,
comprend:
= rechercher dans le flux parent les données permettant
l'établissement du flux enfant ;
= générer et stocker une signature, dite clé parente, à partir de ces
données;
= auditer des flux de données utilisant le second protocole sur le
réseau de données ;
= créer une signature pour chacun des flux
= comparer la signature de chacun des flux à la clé parente ; et
= si la comparaison est positive, déterminer que le flux de données
correspondant est le flux enfant de la session.
En définissant chaque flux par une signature adaptée, et en faisant
une simple comparaison de signatures, opération informatiquement simple et
rapide, ce procédé permet avantageusement de regrouper aisément les flux
apparentés, et, en particulier, sans définir de machine d'état.
Des caractéristiques ou des modes de réalisation particuliers,
utilisables seuls ou en combinaison, sont :
= la session comportant une pluralité déterminée de flux enfants, les
flux de données sont audités jusqu'à ce que l'ensemble des flux
enfants soit déterminé.
= le flux enfant comprenant des données permettant l'établissement
d'un troisième flux de données utilisant un troisième protocole pour
la session, une signature est générée à partir de ces données, et
des flux de données utilisant le troisième protocole sont audités
jusqu'à la détermination du flux de données correspondant à la
session.
= le procédé surveillant une pluralité de sessions comprenant
chacune un flux parent pour lequel est générée et stockée une clé
parente, pour chacun des flux utilisant le second protocole, la
CA 02773247 2012-03-06
WO 2011/030045 PCT/FR2010/051823
3
signature est comparée à chacune des clés parentes pour
déterminer si le flux est, ou non, le flux enfant d'une des sessions.
Il est à noter en particulier que ce procédé s'applique
avantageusement à une multitude de flux parents, de flux enfants et à tout
type d'arborescence définissant un héritage entre un ou des flux parents, un
ou des flux enfants avec un niveau quelconque d'héritages.
Dans un deuxième aspect de l'invention, un produit programme
d'ordinateur comprend des instructions de code de programme enregistrées
sur un support lisible par un ordinateur, pour mettre en oeuvre les étapes du
procédé précédent lorsque ledit programme fonctionne sur un ordinateur.
Dans un troisième aspect de l'invention, un système de surveillance
d'une session de communication sur un réseau de données, la session
comprenant un premier flux de données, dit flux parent, utilisant un premier
protocole, le flux parent comprenant des données permettant l'établissement
d'un second flux de données, dit flux enfant, utilisant un second protocole
pour la session, comprend:
= un premier analyseur de flux pour rechercher dans le flux parent les
données permettant l'établissement du flux enfant ;
= un premier générateur de signature, dite clé parente, à partir de ces
données ;
= une mémoire de stockage de la signature ;
= un second analyseur de flux pour auditer des flux de données
utilisant le second protocole sur le réseau de données ;
= un second générateur de signature pour chacun de ces flux ;
= un comparateur de la signature de chacun des flux à la clé
parente ; et
= un étiqueteur pour attacher le flux correspondant à la signature, si
le résultat du comparateur est positif, en tant que flux enfant de la
session.
Dans des modes particuliers de réalisation, le système comporte aux
moins deux dispositifs reliés par un réseau de données, un premier dispositif
comportant au moins la mémoire de stockage, le comparateur de signature et
l'étiqueteur et le second dispositif comportant au moins le premier analyseur
CA 02773247 2012-03-06
WO 2011/030045 PCT/FR2010/051823
4
de flux et le premier générateur de signature et une interface pour
transmettre
la signature générée au premier dispositif. Il peut également comporter au
moins un troisième dispositif relié au premier dispositif par le réseau de
données et comportant au moins le second analyseur de flux et le second
générateur de signature et une interface pour transmettre la signature
générée au premier dispositif.
L'invention sera mieux comprise à la lecture de la description qui suit,
faite uniquement à titre d'exemple, et en référence aux figures en annexe
dans lesquelles :
- la figure 1 est une vue schématique d'un réseau de données ;
- la figure 2 est un ordinogramme d'un procédé selon un mode de
réalisation de l'invention ;
- la figure 3 est une vue schématique d'un système de surveillance
selon un mode de réalisation de l'invention ; et
- la figure 4 est une vue schématique d'un système de surveillance
selon un second mode de réalisation de l'invention.
En référence à la figure 1, un réseau numérique de données 1
connecte une multitude d'équipements 3 entre eux. Un système de
surveillance 5 est connecté à ce réseau pour capter les flux de données
échangés entre les équipements 3.
Le système 5 surveille donc les sessions de communication circulant
sur le réseau 1. On appelle session , ou session applicative, l'ensemble
des échanges de données généré par une application réseau donnée.
Par exemple, comme il est bien connu, lorsqu'un premier équipement
souhaite transférer vers un second équipement un fichier en utilisant le
protocole FTP, le premier équipement et le second équipement vont
commencer par établir un premier échange en utilisant le protocole TCP sur le
port 21 puis ils vont se mettre d'accord pour transférer le fichier proprement
dit
en utilisant FTP-DATA qui utilise le protocole TCP sur un port de numéro
variable supérieur à 1024. L'ensemble de ces échanges constitue une
session.
On appellera alors sous-session, ou simplement flux de données, le
premier échange TCP sur port 21 d'une part et le transfert en FTP-DATA
d'autre part.
CA 02773247 2012-03-06
WO 2011/030045 PCT/FR2010/051823
La première sous-session sera appelée sous-session parente, ou flux
parent, en ce qu'elle permet d'échanger les données entre les deux
équipements permettant l'établissement de la seconde sous-session qui sera
donc appelée sous-session enfant, ou flux enfant.
5 Pour surveiller une session, le système 5 met en oeuvre le procédé
suivant, figure 2.
En analysant les données transférées, le système détecte, étape 11,
l'établissement d'une session applicative sous la forme d'un flux parent.
Le système 5 analyse, étape 13, alors le flux parent à la recherche de
données d'établissement d'un flux enfant. Par exemple, dans le cadre d'une
session FTP, le système 5 va analyser les paquets émis pour déterminer le
numéro du port sur lequel va s'effectuer le transfert de fichier.
Une fois ces données recueillies, le système 5 génère, étape 15, une
signature, dite clé parent, à partir de ces données. Par exemple, pour une
session FTP, le système 5 génère une signature à partir des adresses IP de
l'équipement source et de l'équipement récepteur et du numéro de port. Cette
signature est, par exemple, une valeur de hachage de ces données.
Cette clé parent est stockée, étape 17, par le système 5.
Le système 5 surveille alors, étape 19, les flux pouvant correspondre
au flux enfant car mettant en oeuvre, par exemple, un protocole compatible
avec celui-ci.
Pour chacun de ces flux, il calcule, étape 21, une signature. Le calcul
de cette signature est similaire au calcul de la clé parent. Par exemple, pour
la
session FTP, il calcule la clé de hachage des adresses IP des deux
équipements et du numéro de port.
Cette signature est comparée, étape 23, à la clé parent.
Si la comparaison est positive, le flux correspondant est alors, étape
25, le flux enfant recherché.
Dans un souci explicatif, la description ci-dessus se limite à un flux
parent et un flux enfant. Cependant le procédé se généralise sans difficulté à
une pluralité de flux parents et de flux enfants.
Ainsi, si une session se compose d'un flux parent et d'une pluralité de
flux enfants, le système calcule autant de clés parents que nécessaire et il
CA 02773247 2012-03-06
WO 2011/030045 PCT/FR2010/051823
6
surveille l'ensemble des flux jusqu'à ce que la totalité des flux enfants soit
trouvée.
Réciproquement, plusieurs sessions, et donc plusieurs flux parents,
peuvent être surveillés en parallèle.
La comparaison des signatures de flux est faite alors sur l'ensemble
des clés parents jusqu'à ce qu'une clé parent corresponde, définissant ainsi
la
session de rattachement. Si aucune clé ne correspond, cela veut dire que le
flux n'appartient à aucune session surveillée.
Le procédé s'applique également sans difficulté à des sessions
comportant des héritages multiples en cascade, c'est-à-dire qu'un flux enfant
comporte des données d'établissement d'un autre flux et se comporte comme
un flux parent pour cet autre flux qui en est alors son flux enfant. Basé sur
les
données d'établissement transportées par le flux enfant, le système définit
une clé parent sur laquelle sont comparées les signatures des flux enfants
potentiels.
L'implémentation détaillée du procédé peut prendre différentes formes
en fonction des caractéristiques techniques recherchées et des capacités de
traitement du système.
Par exemple, l'ensemble des clés parents peut correspondre à un
vecteur d'index ordonné dont un des attributs est le nom de session. Une fois
la signature d'un flux calculé, la recherche et la comparaison avec la ou les
clés parents et l'attribution du flux à une session correspondent alors à une
opération sur des index, opération informatique extrêmement efficace en
termes de ressources utilisées et de rapidité. Cela permet également de
mutualiser les opérations de surveillance d'une multitude de sessions.
Le système de surveillance 5 comprend donc, figure 3 :
= un premier analyseur 31 de flux pour rechercher dans le flux parent
les données permettant l'établissement du flux enfant ;
= un premier générateur 33 de signature, dite clé parente, à partir de
ces données ;
= une mémoire de stockage 35 de la signature ;
= un second analyseur 37 de flux pour auditer des flux de données
utilisant le second protocole sur le réseau de données ;
CA 02773247 2012-03-06
WO 2011/030045 PCT/FR2010/051823
7
= un second générateur 39 de signature pour chacun de ces flux
= un comparateur 41 de la signature de chacun de ces flux à la clé
parente ; et
= un étiqueteur 43 pour attacher le flux correspondant à la signature,
si le résultat du comparateur est positif, en tant que flux enfant de
la session.
Ce système de surveillance est réalisable sous forme d'un circuit
électronique spécialisé ou bien en programmant spécifiquement un ordinateur
avec un programme d'ordinateur comprenant des instructions de code de
programme enregistrées sur un support lisible par un ordinateur, pour mettre
en oeuvre les étapes du procédé de surveillance lorsque le programme
fonctionne sur un ordinateur. Cet ordinateur comporte en particulier une
interface réseau lui permettant d'écouter les transmissions réalisées sur le
réseau, des mémoires volatiles à accès aléatoire reliées à une unité de calcul
pour générer les clés et signatures, des mémoires de stockage pouvant être,
par exemple, un disque dur magnétique pour stocker en particulier les règles
de formation des signatures.
Un mode de réalisation particulièrement intéressant de ce système
consiste en le décomposer en plusieurs dispositifs décentralisés, figure 4.
Une
première série de dispositifs 50 installés au plus près des flux comportent
les
analyseurs de flux 31, 37 et les générateurs de signature 33, 39. Chacun
comporte alors une interface de communication 52 avec un dispositif 54 de
centralisation comportant, outre une interface de communication 56 en liaison
avec les interfaces 52, la mémoire de stockage 35 des signatures ainsi que le
comparateur 41 de la signature et l'étiqueteur 43. Ce dernier élément peut
également se trouver dans les premiers dispositifs 50 afin d'étiqueter les
flux
au plus près de leur production.
L'invention a été illustrée et décrite en détail dans les dessins et la
description précédente. Celle-ci doit être considérée comme illustrative et
donnée à titre d'exemple et non comme limitant l'invention a cette seule
description. De nombreuses variantes de réalisation sont possibles.
En particulier, le système de surveillance peut ne comprendre en fait
qu'un seul analyseur de flux et qu'un seul générateur de signature capables
d'auditer les flux et de générer les signatures aussi bien pour les flux
parents
CA 02773247 2012-03-06
WO 2011/030045 PCT/FR2010/051823
8
que pour les flux enfants. Ou bien, pour des raisons de rapidité, ceux-ci
peuvent être aussi nombreux qu'il y a de types de protocoles.
Dans les revendications, le mot comprenant n'exclue pas d'autres
éléments et l'article indéfini un/une n'exclue pas une pluralité.