CA3226760A1 - Method and system for monitoring and managing data traffic - Google Patents

Method and system for monitoring and managing data traffic Download PDF

Info

Publication number
CA3226760A1
CA3226760A1 CA3226760A CA3226760A CA3226760A1 CA 3226760 A1 CA3226760 A1 CA 3226760A1 CA 3226760 A CA3226760 A CA 3226760A CA 3226760 A CA3226760 A CA 3226760A CA 3226760 A1 CA3226760 A1 CA 3226760A1
Authority
CA
Canada
Prior art keywords
session
metadata
protocols
data packets
validated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CA3226760A
Other languages
French (fr)
Inventor
Francois Courvoisier
Frederic Le Picard
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NANO CORP
Original Assignee
NANO CORP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from FR2109380A external-priority patent/FR3126832B1/en
Application filed by NANO CORP filed Critical NANO CORP
Priority claimed from PCT/EP2022/074915 external-priority patent/WO2023036846A1/en
Publication of CA3226760A1 publication Critical patent/CA3226760A1/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention relates to a method for processing a data stream comprising a chain of communication protocols associated with a session, having the following steps: - receiving (S0) a plurality of batches of data packets (104); - performing (S10) a protocol analysis (DAPD) and validating (S11) an associated session; - calculating (S21) and storing (S22) a digital session fingerprint (HS), and saving a list (LM) of metadata (MPID) associated with the identified protocols (PID); - generating (S30) at least one trigger (114) having at least one rule for identifying target metadata (MC); - analysing (S40) the metadata (MPID) associated with the identified protocols (PID); in the case of agreement with the identification rule, assigning a save status (SV) to the validated session; and - emptying (S60) the temporary memory (108) and storing (S61) the set of data packets provided with a save status (SV).

Description

Description Titre de l'invention : PROCEDE ET SYSTEME DE SURVEILLANCE ET GESTION
DU TRAFIC DE DONNÉES
RRIERE-PLAN
[0001] Les appareils électroniques et les appareils informatiques sont utilisés quotidiennement par des millions d'utilisateurs dans le monde entier à des fins de communication et de partage d'informations. La communication entre ces appareils est généralement facilitée par un réseau de communication, tel qu'Internet. La communication entre les appareils repose généralement sur le modèle bien connu d'interconnexion des systèmes ouverts (OS I) à sept couches, qui définit les fonctions des différentes couches de protocole sans spécifier les protocoles de couche eux-mêmes. Les sept couches du modèle OSI, parfois appelées ici couche 7 à couche 1, sont respectivement les couches application, présentation, session, transport, réseau, liaison de données et physique.
BREVE DESCRIPTION DES DESSINS
Description Title of the invention: METHOD AND SYSTEM FOR MONITORING AND MANAGEMENT
DATA TRAFFIC
BACKGROUND
[0001] Electronic devices and computer devices are used daily by millions of users around the world at purposes of communication and information sharing. The communication between these devices is usually facilitated by a communications network, such as the Internet. There communication between devices generally relies on the well-known model seven-layer Open Systems Interconnection (OS I), which defines the functions of different protocol layers without specifying the layer protocols them-same. The seven layers of the OSI model, sometimes referred to here as layer 7 to layer 1, are respectively the application, presentation, session, transport layers, network, data link and physical.
BRIEF DESCRIPTION OF THE DRAWINGS

[0002] La figure 1 illustre un environnement de communication mettant en oeuvre un système d'analyse de paquets de données, selon un exemple de la présente invention ; [0002] Figure 1 illustrates a communication environment implementing a data packet analysis system, according to an example of the present invention;

[0003] La figure 2 illustre le schéma du système, selon un exemple de la présente invention ; [0003] Figure 2 illustrates the diagram of the system, according to an example of this invention;

[0004] La figure 3 illustre un autre schéma du système, selon un exemple de la présente invention ; [0004] Figure 3 illustrates another diagram of the system, according to a example of the present invention;

[0005] La figure 4 illustre la mise en oeuvre du système conforme à l'invention, [0005] Figure 4 illustrates the implementation of the compliant system to the invention,

[0006] La figure 5 illustre côté matériel une représentation du système conforme à l'invention ; [0006] Figure 5 illustrates on the hardware side a representation of the compliant system to invention;

[0007] La figure 6 illustre une méthode d'analyse du trafic de données conforme à
l'invention,
[0007] Figure 6 illustrates a method of analyzing traffic data conforms to the invention,

[0008] La figure 7 illustre de manière détaillée le procédé de surveillance et de gestion du trafic de données conforme à l'invention, [0008] Figure 7 illustrates in detail the process of monitoring and management of data traffic in accordance with the invention,

[0009] La figure 8 illustre les étapes de gestion des empreintes numériques conforme à l'invention ; [0009] Figure 8 illustrates the steps of fingerprint management digital in accordance with the invention;

[0010] La figure 9 illustre un cas d'usage du procédé conforme à
l'invention,
[0010] Figure 9 illustrates a use case of the method conforming to the invention,

[0011] La figure 10 illustre schématiquement l'étape de vidage et d'enregistrement du procédé conforme à l'invention, et [0011] Figure 10 schematically illustrates the emptying step and recording of the process according to the invention, and

[0012] La figure 11 illustre une vue combinée de mise en oeuvre du déclencheur du procédé dans le système conforme à l'invention.
DESCRIPTION DÉTAILLÉE
[0012] Figure 11 illustrates a combined view of implementation of the trigger of the process in the system according to the invention.
DETAILED DESCRIPTION

[0013] Les développements technologiques dans les réseaux de communication ont entraîné la connexion de plus en plus d'appareils informatiques les uns aux autres, entraînant ainsi une augmentation du trafic réseau. Pour prendre en charge les capacités toujours croissantes des périphériques informatiques, les capacités réseau sont également constamment augmentées. Les vitesses améliorées fournies par les réseaux ont actuellement dépassé les capacités de supervision du réseau et de gestion du trafic. [0013] Technological developments in communication networks communication have resulted in more and more computing devices being connected to each other to others, thus leading to an increase in network traffic. To support the ever-increasing capabilities of computer peripherals, the capabilities network are also constantly increasing. The improved speeds provided by THE
networks have currently exceeded the network monitoring and monitoring capabilities traffic management.

[0014] Les équipements connus de supervision de réseau et de gestion du trafic, tels que les sondes réseau, sont des dispositifs matériels spécialisés conçus pour surveiller un flux de données reçues via un réseau de communication. Avec les changements dans les capacités du réseau entraînant une augmentation du trafic de données et une augmentation des capacités des périphériques informatiques, les sondes réseau connues échouent non seulement à fournir des services adéquats de surveillance des données et de gestion du trafic, mais échouent également à
fournir d'autres capacités améliorées indispensables, telles que la visualisation du trafic de données, la surveillance et la maintenance d'une qualité de service minimale (QoS) et la sécurité contre les cybermenaces.
[0014] Known network supervision and monitoring equipment traffic management, such as network probes, are specialized hardware devices designed For monitor a stream of data received via a communications network. With the changes in network capabilities leading to increased traffic of data and an increase in the capacities of computer peripherals, Known network probes not only fail to provide adequate services of data monitoring and traffic management, but also fail to provide other much-needed enhanced capabilities, such as viewing the traffic data, monitoring and maintenance of a minimum quality of service (QoS) and security against cyber threats.

[0015] Par conséquent, chaque fois que les capacités du réseau changent, une augmentation de l'afflux de trafic de données et/ou que toute nouvelle mesure de surveillance et de supervision de flux de trafic de données est identifiée, les sondes réseau connues doivent être repensées pour modifier leurs capacités de traitement afin de gérer l'afflux accru et accru de trafic de données et permettre l'enregistrement des données réseau d'intérêt aussi appelé capture de paquet (packet capture en anglais). [0015] Consequently, each time the network capacities change, one increase in the influx of data traffic and/or any new measures of monitoring and supervision of data traffic flow is identified, respondents known networks must be redesigned to modify their capabilities of treatment in order to handle the increased and increased influx of data traffic and enable the record network data of interest also called packet capture English).

[0016] On connait des technologies tel que Tcpdump, technologie la plus employée aujourd'hui pour capturer et enregistrer le trafic réseau. [0016] We know technologies such as Tcpdump, the latest technology more used today to capture and record network traffic.

[0017] Néanmoins, la technologie Tcpdump ne parvient pas à
capturer tous les paquets reçus lorsque le débit est trop important, provoquant ainsi une perte substantielle d'informations. Les flux enregistrés s'en trouvent corrompus par ce qu'on pourrait appeler des "moité de flux" ou des demi-flux. Ces demi-flux sont des flux qui ont commencé à être reçus par le système avant le début de l'enregistrement ou qui se termineront après la fin de l'enregistrement, la corruption pouvant également se produire si l'enregistrement se termine tant que le la réception du flux réseau n'est pas terminé.
[0017] However, Tcpdump technology does not succeed in capture all packets received when the throughput is too high, thus causing a loss substantial amount of information. The recorded streams are corrupted by what might call "half streams" or half streams. These half-flows are flows which started to be received by the system before recording started or Who will end after recording is completed, as corruption may occur also produce if recording ends as long as the stream is received network is not finished.

[0018] La technologie Tcpdump présente en outre l'inconvénient de ne pouvoir être utilisée sur des débits qui dépassent les 500Mb/s et ne permet pas de filtrer les enregistrements de paquets de données sur la base de plus de cinq tuples (adresse IP source/un numéro de port, une adresse IP/un numéro de port de destination et le protocole utilisé). [0018] Tcpdump technology also has the disadvantage of not be able to be used at speeds that exceed 500Mb/s and does not allow filter the data packet records based on more than five tuples (address Source IP/port number, destination IP address/port number and the protocol used).

[0019] On connait aussi des technologies de type FPGA, disposant de filtres très performant, permettant de filtrer les enregistrements de paquets de données sur la base de 5-tuples +ou du 7-tuples. [0019] We also know technologies of the FPGA type, having very filters powerful, allowing filtering of data packet recordings on the base of 5-tuples +or 7-tuples.

[0020] Le FPGA présente le désavantage de ne pouvoir filtrer précisément les paquets de données lorsque le nombre et la diversité des protocoles à
classifier est trop complexe (protocoles multiplexés, enchaînements protocolaires complexes, protocoles tunnelés), les solutions à base de FPGA auront alors tendance à ne pas classifier les protocoles qui ne s'annoncent pas, et augmente l'imprécision d'enregistrement tout en provoquant une perte de visibilité.
[0020] The FPGA has the disadvantage of not being able to filter precisely the data packets when the number and diversity of protocols to be classify is too complex (multiplexed protocols, complex protocol sequences, tunneled protocols), FPGA-based solutions will then tend not to not classify protocols that do not announce themselves, and increase imprecision recording while causing a loss of visibility.

[0021] Le FPGA ne permet d'établir une identification et classification pertinente des protocoles au-delà de la couche 4 du modèle OSI. L'application du FPGA est donc inadapté sur les couches hautes et sur les protocoles ne s'annonçant pas, il devient alors difficile de créer certains filtres complexes utilisant des métadonnées associées à des protocoles de couches supérieures à 4, ou ne s'annonçant pas. [0021] The FPGA does not make it possible to establish an identification and relevant classification protocols beyond layer 4 of the OSI model. The application of the FPGA is SO
unsuitable on high layers and on protocols not announcing themselves, it becomes then difficult to create some complex filters using metadata associated to protocols of layers higher than 4, or not announcing itself.

[0022] En outre, le manque de mémoire sur les cartes FPGA ne permettra pas d'enregistrer les premiers paquets d'une chaîne de protocoles d'une session lors d'un déclenchement tardif de l'enregistrement, ayant pour résultat des flux corrompus. [0022] Furthermore, the lack of memory on the FPGA cards does not will not allow to record the first packets of a protocol chain of a session at a late triggering of recording, resulting in streams corrupted.

[0023] Enfin, l'incapacité des technologies FPGA à pouvoir procéder à une analyse profonde des paquets au-dessus de la couche 5 (applicatif) implique également une capacité de filtrage tronquée ne permettant pas d'appliquer des filtres d'enregistrement sur tous les protocoles de bas niveau (uniquement les quelques protocoles qu'un FPGA est en mesure d'implémenter), et sur les protocoles au-dessus de la couche 5. [0023] Finally, the inability of FPGA technologies to be able to carry out a deep packet analysis above layer 5 (application) involves also a truncated filtering capacity not allowing the application of filters recording on all low-level protocols (only a few protocols that an FPGA is able to implement), and on the protocols above of layer 5.

[0024] En outre, afin de filtrer précisément la nature des paquets réseau à
enregistrer, il est nécessaire d'analyser le trafic en temps réel avec une sonde d'analyse. Or, les sondes peuvent également être confrontées à des problématiques de performances qui pourront potentiellement affecter négativement la qualité
des enregistrements effectuées.
[0024] Furthermore, in order to precisely filter the nature of the packets network to record, it is necessary to analyze traffic in real time with a probe analysis. However, the probes can also be confronted with problematic performance that could potentially negatively affect the quality of the recordings made.

[0025] Les paquets reçus peuvent être défaussés par de nombreux composants matériels ou logiciels, dès lors qu'une surconsommation de ressource intervient. Cela peut se produire depuis la carte réseau, qui reçoit les paquets et ne peut pas les diffuser au noyau, ou bien plus tard, quelque part dans le noyau ou dans le logiciel de détection en lui-même. [0025] The packets received can be discarded by numerous components hardware or software, as soon as overconsumption of resources intervenes. That can occur from the network card, which receives the packets and cannot THE
diffuse to the nucleus, or later, somewhere in the nucleus or in the software detection itself.

[0026] Une carte réseau peut saturer sa file d'attente, si elle n'arrive pas à
effectuer les écritures DMA (Accès direct à la mémoire ou Direct Memory Access en anglais) aussi rapidement que les paquets arrivent depuis le réseau. Outre de possibles lenteurs matérielles sur les bus de communication eux-mêmes, la cause principale de lenteur est le filtrage des accès mémoire par l'IOMMU (I/O
Memory Management Unit) qui agit comme gestionnaire des écritures DMA, apte à limiter les plages mémoires sur lesquelles les périphériques d'un serveur sont en mesure d'écrire, à l'instar d'un pare-feu limitant les accès à un réseau. Sa fonction est cruciale pour la sécurité des serveurs, mais totalement contre-productive si elle résulte en l'incapacité à remplir son rôle pour une sonde d'analyse.
[0026] A network card can saturate its queue, if it can't manage to perform DMA writes (Direct Memory Access or Direct Memory Access in English) as quickly as the packets arrive from the network. Besides possible hardware slowness on the communication buses themselves, the cause main slowness is the filtering of memory accesses by the IOMMU (I/O
Memory Management Unit) which acts as a manager of DMA writes, able to limit THE
memory ranges on which a server's peripherals are able to to write, like a firewall limiting access to a network. His function is crucial for server security, but totally counterproductive if it results in the inability to fulfill its role for an analysis probe.

[0027] L'architecture logicielle des moteurs d'analyse peut également influencer les performances en cas de mauvaise répartition des paquets reçus entre les différents processus en charge de leur traitement. La perte de paquets survient lorsqu'un processeur ou CPU est saturé/noyé sous les traitements qu'un processus d'analyse doit entreprendre. Ce cas de figure se manifeste très facilement lorsque la répartition des paquets reçus n'est pas aléatoire, mais tend à concentrer sur le même processus d'analyse tous les paquets relatifs à un même flux (ex. : sessions TCP).
Cette répartition par flux est la plus commune et privilégiée, car elle permet de limiter les accès aux ressources partagées et d'augmenter la localité des accès mémoire.
[0027] The software architecture of the analysis engines can also influence performance in the event of poor distribution of packets received between different processes in charge of their processing. Packet loss occurs when a processor or CPU is saturated/flooded under the processing that a process analysis must be undertaken. This scenario manifests itself very easily when the distribution of received packets is not random, but tends to concentrate on the same process of analyzing all packets relating to the same flow (e.g. sessions TCP).
This distribution by flow is the most common and preferred, because it allows to limit access to shared resources and increase the locality of access memory.

[0028] L'inconvénient que présente cette méthode est qu'elle ne répartit pas correctement le trafic incluant des tunnels (IPsec, GRE, L2TP, TLS...). [0028] The disadvantage of this method is that it does not not distribute correctly traffic including tunnels (IPsec, GRE, L2TP, TLS, etc.).

[0029] En effet, à moins que le programme en charge de la répartition ne fasse de l'inspection profonde (DPI) du trafic, l'intégralité des paquets d'un tunnel sera analysée par un même processus d'analyse, et si ce tunnel est très actif, le processus d'analyse sera facilement débordé, et des paquets commenceront à être perdus. [0029] Indeed, unless the program in charge of the distribution does not deep inspection (DPI) of traffic, all packets in a tunnel will be analyzed by the same analysis process, and if this tunnel is very active, the process analysis will be easily overwhelmed, and packets will start to be lost.

[0030] L'invention remédie à ces inconvénients et améliore la situation. [0030] The invention remedies these drawbacks and improves the situation.

[0031] La présente invention porte sur le traitement d'un flux de données comprenant des lots de paquets définis chacun par une chaine de protocoles de communication associée à au moins une session. [0031] The present invention relates to the processing of a stream of data comprising batches of packets each defined by a chain of protocols communication associated with at least one session.

[0032] Selon une définition générale de l'invention, le procédé
comprend les étapes suivantes :
-recevoir une pluralité de lots de paquets de données dans un délai prédéfini via un canal de communication et stocker lesdits lots de paquets dans une mémoire temporaire ;
-effectuer, pour chaque lot de paquets de données, une analyse de protocoles permettant d'identifier les protocoles de communication de la chaine de protocoles, et valider au moins une session associée à la chaine de protocoles lorsque l'identification de la chaîne de protocoles est complète ;
-calculer au moins une empreinte numérique de session associée à une chaîne de protocoles identifiée dont la session est validée lors de l'étape de validation, et -enregistrer là ou lesdites empreintes numériques de session calculées dans au moins une table de hash, et sauvegarder une liste des métadonnées associées aux protocoles identifiés de la chaine de protocoles de la session validée dans une base de données de connaissance ;
-générer au moins un déclencheur basé sur les résultats d'analyse de protocoles, dans lequel l'activation du déclencheur est indicative de la correspondance entre au moins une règle d'identification de métadonnées cibles, et les métadonnées associées aux protocoles identifiés dont la liste est enregistrée dans la base de données de connaissance ;
-analyser les métadonnées associées aux protocoles identifiés des paquets de données de la session validée, stockés dans les moyens de mémoire temporaire en fonction de la liste enregistrée des métadonnées associées aux protocoles identifiés dans la base de données de connaissance, et vérifier si les métadonnées associées aux protocoles identifiés sont en accord avec la règle d'identification de métadonnées cibles du déclencheur ;
- en cas d'accord avec la règle d'identification de métadonnées cibles, activer le déclencheur et attribuer à au moins une empreinte numérique de session de la session validée un statut de sauvegarde ; et - vider la mémoire temporaire de chaque lot de paquets de données dont l'empreinte numérique de session est dépourvue d'un statut de sauvegarde, et enregistrer sur une mémoire de stockage pour un traitement ultérieur, l'ensemble des paquets de données dont au moins une empreinte numérique de session associée est pourvue d'un statut de sauvegarde.
[0032] According to a general definition of the invention, the process includes the following steps :
-receive a plurality of batches of data packets within a predefined time frame via a communication channel and store said batches of packets in a memory temporary ;
-perform, for each batch of data packets, a protocol analysis making it possible to identify the communication protocols of the chain of protocols, and validate at least one session associated with the protocol chain when identification the protocol chain is complete;
-calculate at least one session digital fingerprint associated with a chain of identified protocols whose session is validated during the validation, and -record where said digital session fingerprints calculated in at less a hash table, and save a list of metadata associated with the identified protocols from the protocol chain of the session validated in a base knowledge data;
-generate at least one trigger based on the analysis results of protocols, in which activation of the trigger is indicative of the match enters least one target metadata identification rule, and the metadata associated to the identified protocols whose list is recorded in the database data from awareness ;
-analyze the metadata associated with the identified protocols of the packets data from the validated session, stored in the temporary memory means in function of the saved list of metadata associated with the protocols identified in the knowledge database, and check if the metadata associated to the identified protocols are in agreement with the identification rule of metadata trigger targets;
- in case of agreement with the target metadata identification rule, activate the trigger and assign to at least one session fingerprint of the validated session a save status; And - empty the temporary memory of each batch of data packets including the imprint digital session is devoid of a save status, and save on a storage memory for further processing, all packets of data with which at least one associated session digital fingerprint is provided of a save status.

[0033] Le Demandeur a observé que le procédé selon l'invention permet de répondre à une problématique bien particulière de déclenchement d'un enregistrement. En effet, une gestion de la mémoire selon le procédé conforme à
l'invention permet l'identification et l'enregistrement de paquets appartenant à la même session mais dont l'identification est retardée, notamment sur les protocoles nécessitant des paquets d'identification particulier.
[0033] The Applicant has observed that the process according to the invention allows respond to a very specific problem of triggering a registration. In fact, memory management according to the compliant process has the invention allows the identification and recording of packets belonging to the same session but whose identification is delayed, particularly on protocols requiring special identification packets.

[0034] Avantageusement, le procédé selon l'invention permet une gestion de la mémoire de travail optimisée et permettant en outre une sélection précise de l'objet de l'enregistrement, et de cibler efficacement les sessions intriquées dans des chaines de protocoles tunnelés, ou multiplexées et ainsi ne cibler et enregistrer que la session d'intérêt sans données parasites pouvant être attribuées à d'autres cessions du ou des mêmes paquets de données. [0034] Advantageously, the method according to the invention allows a management of the optimized working memory and also allowing precise selection of the object recording, and effectively target entangled sessions in Chains of tunneled, or multiplexed protocols and thus only target and record the session of interest without extraneous data that can be attributed to other assignments of or of the same data packets.

[0035] Enfin, le procédé selon l'invention permet l'enregistrement de sessions ciblées sans perte d'information ou de visibilité, en s'écartant d'une approche de type 5-tuples, pour une approche de type n-tuples permettant avantageusement de filtrer les sessions à enregistrer sur n'importe quel ensemble de métadonnées extraites. [0035] Finally, the method according to the invention allows the recording of sessions targeted without loss of information or visibility, deviating from a type approach 5-tuples, for an n-tuples type approach advantageously allowing filter sessions to record on any metadata set extracted.

[0036] Selon un mode de réalisation, l'étape d'activation du déclencheur comprend une sous-étape de mise à jour de la table de hash enregistrée à la suite de l'étape d'enregistrement d'au moins une empreinte numérique de session, par attribution d'un statut de sauvegarde à au moins une empreinte numérique de session. [0036] According to one embodiment, the step of activating the trigger includes a sub-step of updating the hash table recorded at the Following the step of recording at least one digital session fingerprint, by assigning a backup status to at least one digital fingerprint of session.

[0037] En pratique, l'étape de vidage de la mémoire temporaire comprend une sous-étape de consultation de la table de hash pour vérifier si au moins une des empreintes numériques de session associées aux paquets de données sujet au vidage est pourvue d'un statut de sauvegarde. [0037] In practice, the step of emptying the temporary memory includes a sub-step of consulting the hash table to check if at least one of the session fingerprints associated with data packets subject to dump has a save status.

[0038] En outre, l'étape d'analyse des métadonnées associées au protocoles identifiés des paquets de données de la session validée, comprend une sous-étape supplémentaire d'analyse de métadonnées associées au contenu attaché MP de la chaîne de protocole de la session validée, mise en oeuvre si au moins une règle d'identification de métadonnées cibles du déclencheur comprend des métadonnées cibles en relation avec le contenu attaché. [0038] Furthermore, the step of analyzing the metadata associated with the protocols identified data packets of the validated session, includes a sub-stage additional analysis of metadata associated with MP attached content of the protocol chain of the validated session, implemented if at least one ruler trigger target metadata identification includes metadata targets in relation to the attached content.

[0039] En pratique, le déclencheur est apte à traiter et appliquer une liste dynamique de règles d'identification de métadonnées cibles. [0039] In practice, the trigger is capable of processing and applying a list dynamics of target metadata identification rules.

[0040] Selon un mode de réalisation de l'invention, les métadonnées cibles des règles d'identification du déclencheur appartiennent au groupe formé par métadonnées natives, métadonnées calculées à partie de formules mathématiques choisies. [0040] According to one embodiment of the invention, the target metadata of trigger identification rules belong to the group formed by native metadata, metadata calculated from mathematical formulas chosen.

[0041] A titre d'exemple non limitatif, les métadonnées cibles sont représentatives de paramètres réseau choisis appartenant au groupe formé par IP destinataire, IP
source, Port destinataire, Port Source, protocole, adresse IP, port, paramètres de qualité de service QoS, Tag de réseau, Volume de la session, taille des paquets, nombre de répétition (retry en anglais), version, type et version de l'algorithme de chiffrement, type de chiffrement, CERT (Computer Emergency Response Team en anglais) du certificat , valeur du SNI (indication du nom du serveur ou Server Name Indication en anglais), Taille des paquets, IP retournée, drapeau d'erreurs (flag error en anglais), nom de domaine, version du client, version du serveur, version d'algorithme de chiffrement, algorithme de compression, horodatage, Version d'IP, nom d'hébergeur (hostname en anglais), durée de bail (lease-time en anglais), URL, agent d'utilisateur, nombre d'octet du contenu attaché, type de contenu, code d'état, entête de cookie, nom du client, service de la requête, valeur du code d'erreur, type de requête, valeur du protocole, horodatage de réponse, niveau de privilège, type et langue du clavier, identification du produit, taille d'écran, ou toute autres métadonnées spécifiques analogues extraites des protocoles dans un ou plusieurs paquets de données de la session validée, métadonnées spécifiques analogues extraites du contenu attaché à un ou plusieurs paquets de données de la session validée.
[0041] By way of non-limiting example, the target metadata are representative of chosen network parameters belonging to the group formed by recipient IP, IP
source, destination port, source port, protocol, IP address, port, settings quality of service QoS, Network tag, Session volume, size of packages, retry number, version, type and version of the algorithm of encryption, encryption type, CERT (Computer Emergency Response Team in English) of the certificate, value of the SNI (indication of the name of the server or Server Name English indication), Packet size, IP returned, error flag (flag error in English), domain name, client version, server version, version encryption algorithm, compression algorithm, timestamp, Version of IP, host name (hostname in English), lease duration (lease-time in English), URL, user agent, number of bytes of attached content, content type, code state, cookie header, client name, request service, code value error, type request, protocol value, response timestamp, privilege level, type and keyboard language, product identification, screen size, or any other metadata specific analogs extracted from the protocols in one or more packets of data from the validated session, similar specific metadata extracted from the content attached to one or more data packets of the validated session.

[0042] En pratique, l'exécution de l'étape d'analyse de protocoles, et l'exécution de l'étape d'analyse des métadonnées des paquets de données de la session validée, se font sur des paquets de données de la couche 2 à la couche 7 du modèle OSI. [0042] In practice, the execution of the analysis step of protocols, and execution of the session data packet metadata analysis step validated, are done on data packets from layer 2 to layer 7 of the OSI model.

[0043] Lors du traitement de l'ensemble des paquets de données, les paquets de données mis à jour peuvent être soumis à nouveau au moteur d'analyse de protocole.
La répétition de l'analyse de protocoles peut permettre de déterminer si le traitement de l'ensemble des paquets de données a effectivement traité la survenance de l'événement. Si l'événement est résolu, les paquets de données mis à jour peuvent être libérés pour être mis à la disposition du destinataire prévu. Toutefois, s'il est identifié qu'un autre événement s'est produit pendant l'analyse des paquets de données mis à jour, un autre déclencheur peut être généré et les paquets de données mis à jour peuvent être traités ultérieurement pour traiter l'occurrence de l'événement.
[0043] When processing all the data packets, the packages of updated data can be resubmitted to the analysis engine protocol.
Repeating the protocol analysis can help determine if the treatment of all data packets has effectively dealt with the occurrence of the event. If the event is resolved, the data packets updated can be released to be made available to the intended recipient. However, if he is identified that another event occurred during packet analysis.

updated data, another trigger can be generated and the packets data updated can be processed later to deal with the occurrence of the event.

[0044] Par conséquent, le stockage de l'ensemble des paquets de données pour lesquels un événement s'est produit, lors de la génération du déclencheur, facilite la surveillance et la visualisation efficaces du trafic de données dans un réseau. [0044] Consequently, the storage of all the packets of data for which an event occurred, when generating the trigger, facilitates the effective monitoring and visualization of data traffic in a network.

[0045] En outre, le traitement de l'ensemble de paquets de données, tel que le remplacement par un ensemble de paquets de données corrigés ou la modification de l'ensemble de paquets de données, permet de traiter la cause de l'occurrence de l'événement. Ainsi, les anomalies ou les dysfonctionnements dans le trafic de données peuvent être identifiés et traités en temps opportun. En outre, les paquets de données peuvent être analysés pour détecter de manière préventive les risques de sécurité et répondre aux préoccupations connexes. [0045] Furthermore, the processing of the set of packets data, such as replacement with a set of corrected data packets or modification of the set of data packets, allows the cause of the occurrence to be addressed of the event. Thus, anomalies or dysfunctions in the traffic of data can be identified and addressed in a timely manner. In addition, the packages of data can be analyzed to preventively detect the risks of security and address related concerns.

[0046] L'invention a également pour objet un système de traitement d'un flux de données comprenant des lots de paquets définis chacun par une chaine de protocoles de communication rattaché à au moins une session. [0046] The invention also relates to a processing system of a flow of data comprising batches of packets each defined by a chain of protocols communication attached to at least one session.

[0047] Selon une autre définition générale de l'invention, le système selon l'invention comprend :
-des moyens d'interface réseau configurés pour recevoir un flux de données en provenance d'un canal de communication ;
-un processeur comprenant au moins un coeur de traitement pour traiter un nombre prédéterminé de paquets de données par minute ppm ;

- une mémoire temporaire, couplée au processeur, et apte à mettre en mémoire une pluralité de lots de paquets de données en provenance des moyens d'interface réseau ;
-un moteur d'analyse de protocoles exécutable sur au moins un c ur de traitement, dans lequel le moteur d'analyse de protocoles est apte à:
recevoir une pluralité de lots de paquets de données via un canal de communication;
effectuer, pour chaque lot de paquets de données, une analyse de protocoles permettant d'identifier les protocoles de communication de la chaine de protocoles, et valider au moins une session associée ;
calculer au moins une empreinte numérique de session associé à une chaîne de protocole identifiée dont la session est validée, et enregistrer l'empreinte numérique de session calculée dans au moins une table de hash, et sauvegarder une liste des métadonnées associées aux protocoles identifiés de la chaine de protocoles de la session validée dans une base de données de connaissance ;
-un moteur de surveillance exécutable sur au moins un coeur de traitement, dans lequel le moteur de surveillance est apte à:
générer au moins un déclencheur basé sur les résultats d'analyse de protocoles, dans lequel l'activation du déclencheur est indicative de la correspondance entre au moins une règle d'identification de métadonnées cibles, et la liste des métadonnées associées aux protocoles identifiés de la chaine de protocoles de la session validée;
analyser les métadonnées des paquets de données de la session validée, stockés dans les moyens de mémoire temporaire en fonction de la liste enregistrée des métadonnées associées aux protocoles identifiés dans la base de données de connaissance, et vérifier si les métadonnées associées aux protocoles identifiés sont en accord avec la règle d'identification de métadonnées cibles du déclencheur ;
en cas d'accord avec la règle d'identification de métadonnées cibles, activer le déclencheur et attribuer à au moins une empreinte numérique de session de la session validée un statut de sauvegarde ; et mettre en oeuvre le vidage des moyens de mémoire temporaire pour chaque lot de paquets de données dont la ou les empreintes numériques de session sont dépourvues d'un statut de sauvegarde ; et -une mémoire de stockage couplée au processeur apte à enregistrer pour un traitement ultérieur, l'ensemble des paquets de données dont l'empreinte numérique de session associée est pourvue d'un statut de sauvegarde.
[0047] According to another general definition of the invention, the system according to the invention comprises:
-network interface means configured to receive a data stream in coming from a communication channel;
-a processor comprising at least one processing core for processing a number predetermined data packets per minute ppm;

- a temporary memory, coupled to the processor, and capable of implementing memory one plurality of batches of data packets coming from the interface means network ;
-a protocol analysis engine executable on at least one core treatment, in which the protocol analysis engine is capable of:
receive a plurality of batches of data packets via a communication channel communication;
perform, for each batch of data packets, a protocol analysis making it possible to identify the communication protocols of the chain of protocols, and validate at least one associated session;
calculate at least one session fingerprint associated with a string of identified protocol whose session is validated, and save the calculated session fingerprint in at least one table of hash, and save a list of metadata associated with the protocols identified of the protocol chain of the validated session in a database awareness ;
-a monitoring engine executable on at least one processing core, In which the monitoring engine is capable of:
generate at least one trigger based on the analysis results of protocols, in which activation of the trigger is indicative of the correspondence between at least a target metadata identification rule, and the list of metadata associated with the protocols identified in the protocol chain of the session validated;
analyze the metadata of stored validated session data packets in the temporary memory means according to the recorded list of metadata associated with the protocols identified in the database knowledge, and check if the metadata associated with the protocols identified are in accordance with the trigger's target metadata identification rule ;
if you agree with the target metadata identification rule, enable THE
trigger and assign to at least one session fingerprint of the validated session a save status; And implement the emptying of temporary memory means for each batch of data packets whose session fingerprint(s) are lacking a safeguard status; And -a storage memory coupled to the processor capable of recording for a subsequent processing, all the data packets including the fingerprint digital associated session has a save status.

[0048] Selon un mode de réalisation de l'invention, le moteur de surveillance est configuré pour mettre à jour la table de hash enregistrée à la suite de l'étape d'enregistrement d'au moins une empreinte numérique de session, par attribution d'un statut de sauvegarde à au moins une empreinte numérique de session en cas d'activation du déclencheur. [0048] According to one embodiment of the invention, the motor surveillance is configured to update the saved hash table following the step recording at least one digital session fingerprint, by award of a Save status to at least one session thumbprint in case activation of the trigger.

[0049] En outre, le moteur de surveillance selon l'invention est configuré pour consulter la table de hash, et vérifier si la ou les empreintes numériques de session associées aux paquets de données dont la session est validée, sont pourvues d'un statut de sauvegarde. [0049] Furthermore, the monitoring engine according to the invention is configured for consult the hash table, and check if the digital fingerprint(s) of session associated with the data packets whose session is validated, are provided of a save status.

[0050] Selon un mode particulier de réalisation de l'invention, le moteur de surveillance est configuré pour analyser des métadonnées associées au contenu attaché de la chaîne de protocole de la session validée lors de l'analyse des métadonnées associées aux protocoles identifiés des paquets de données de la session validée, si au moins une règle d'identification de métadonnées cibles du déclencheur comprend des métadonnées cibles en relation avec le contenu attaché. [0050] According to a particular embodiment of the invention, the motor of monitoring is configured to analyze metadata associated with the content attached to the protocol chain of the session validated during the analysis of metadata associated with the identified protocols of the data packets of the session validated, if at least one target metadata identification rule of trigger includes target metadata related to the content attached.

[0051] En pratique, les moyens de mémoire temporaire sont vidés progressivement lorsque l'utilisation de la mémoire vive associée est comprise entre 95% à 98%. [0051] In practice, the temporary memory means are emptied gradually when the use of the associated RAM is understood between 95% to 98%.

[0052] A titre d'exemple non limitatif, le vidage des moyens de mémoire temporaire est effectué chronologiquement par suppression des paquets de données les plus anciens à un rythme de vidage choisi. [0052] By way of non-limiting example, emptying the means of temporary memory is carried out chronologically by removing the most data packets old ones at a chosen emptying rate.

[0053] Les techniques ci-dessus sont décrites plus en détail en référence aux figures 1 à 11. Il convient de noter que la description et les chiffres ne font qu'illustrer les principes du présent objet ainsi que les exemples décrits dans le présent document et ne doivent pas être interprétés comme une limitation au présent objet. Il est donc entendu que divers arrangements peuvent être conçus qui, bien qu'ils ne soient pas explicitement décrits ou montrés dans le présent document, les énoncés ci-après faisant état de principes, d'aspects et de mises en oeuvre du présent objet, ainsi que des exemples spécifiques de ceux-ci, sont destinés à englober des équivalents de ceux-ci. [0053] The above techniques are described in more detail in reference to Figures 1 to 11. It should be noted that the description and figures do not only illustrate the principles of this subject matter as well as the examples described herein document and should not be construed as a limitation of the present subject matter. He is therefore understood that various arrangements can be designed which, although not not explicitly described or shown in this document, the following statements After stating principles, aspects and implementations of this object, as well as specific examples thereof, are intended to encompass equivalents of these.

[0054] La figure 1 illustre un environnement de communication 100 mettant en oeuvre un système d'analyse de paquets de données 102. [0054] Figure 1 illustrates a communication environment 100 putting implements a data packet analysis system 102.

[0055] En références aux figures 1 à 5, le système 102 selon l'invention comprend tout d'abord des moyens d'interface réseau NIC configurés pour recevoir un flux de données en provenance d'un canal de communication 106. [0055] With reference to Figures 1 to 5, the system 102 according to the invention comprises firstly NIC network interface means configured to receive a flow of data coming from a communication channel 106.

[0056] En pratique, les moyens d'interface réseau NIC sont couplée au processeur 202 et à la mémoire temporaire 108. La carte réseau NIC peut être un composant intégré du système 102 ou un composant séparé couplé à l'extérieur au système 102. [0056] In practice, the NIC network interface means are coupled to the processor 202 and temporary memory 108. The NIC network card may be a component integrated system 102 or a separate component externally coupled to the system 102.

[0057] Dans un exemple de mise en oeuvre du présent objet, le système 102 peut être mis en oeuvre par un fournisseur de services de réseau, fournissant une connectivité réseau à un ou plusieurs abonnés, tels que des organisations gouvernementales, des sociétés multinationales, des sociétés, des entreprises et d'autres établissements. Le fournisseur de services de réseau peut servir de canal de connexion entre le canal de communication 106 et les appareils informatiques de ses abonnés. Il convient de noter qu'en dehors du système 102, le fournisseur de services de réseau peut mettre en oeuvre divers autres équipements, dispositifs, n uds de réseau interconnectés par une ou plusieurs liaisons de réseau câblées ou sans fil pour fournir une connectivité réseau aux abonnés. Les noeuds du réseau peuvent généralement inclure des commutateurs, des routeurs, des points d'accès et des liaisons de données qui peuvent faciliter la communication entre divers hôtes d'abonnés (par exemple, des ordinateurs serveurs, des ordinateurs clients, des appareils mobiles, etc.) qui peuvent produire et consommer du trafic de données. [0057] In an example of implementation of the present object, the system 102 can be implemented by a network service provider, providing network connectivity to one or more subscribers, such as organizations governments, multinational corporations, corporations, businesses And other establishments. The network service provider can serve as channel connection between communication channel 106 and computing devices of its subscribers. It should be noted that outside of System 102, the provider of services network can implement various other equipment, devices, nodes of network interconnected by one or more wired or wireless network links thread for provide network connectivity to subscribers. Network nodes can generally include switches, routers, access points and data links that can facilitate communication between various hosts of subscribers (for example, server computers, client computers, mobile devices, etc.) which can produce and consume traffic from data.

[0058] Dans un autre exemple, le système 102 peut être mis en oeuvre par des établissements / organisations individuels, fournissant une connectivité et une sécurité
réseau à un ou plusieurs de ses utilisateurs.
[0058] In another example, the system 102 can be implemented work by individual establishments/organizations, providing connectivity and a security network to one or more of its users.

[0059] En outre, le système 102 peut être mis en oeuvre en tant que périphérique matériel autonome ou peut être mis en oeuvre dans un équipement de communication connu, en fonction de la mise en uvre et de l'utilisation. [0059] Furthermore, the system 102 can be implemented as as peripheral stand-alone equipment or can be implemented in equipment of communication known, depending on the implementation and use.

[0060] Comme décrit ci-dessus, le système 102 peut recevoir des paquets de données 104 d'un canal de communication 106. [0060] As described above, the system 102 can receive packages of data 104 of a communication channel 106.

[0061] En pratique, le canal de communication 106 peut être un réseau sans fil ou câblé, ou une combinaison de ceux-ci. Le réseau de communication peut être un ensemble de réseaux individuels, interconnectés les uns aux autres et fonctionnant comme un seul grand réseau. [0061] In practice, the communication channel 106 can be a wireless network or wired, or a combination thereof. The communications network can be a set of individual networks, interconnected to each other and working as one big network.

[0062] Des exemples de tels réseaux individuels comprennent, sans toutefois s'y limiter, le réseau du Système mondial de communication mobile (GSM), le réseau du Système universel de télécommunications mobiles (UMTS), le réseau LTE (Long Term Evolution), le réseau de services de communications personnelles (PCS), le réseau d'accès multiple par répartition dans le temps (AMRC), le réseau CDMA
(Code-Division Multiple Access), le réseau de nouvelle génération (NGN), le réseau téléphonique public commuté (RTPC) et le réseau numérique à intégration de services (RNIS). Selon la terminologie, le réseau de communication comprend diverses entités de réseau, telles que des passerelles, des commutateurs et des routeurs ;
toutefois, ces détails ont été omis pour maintenir la brièveté de la description.
[0062] Examples of such individual networks include, without however there limit, the network of the Global System for Mobile Communications (GSM), the network of Universal Mobile Telecommunications System (UMTS), the LTE (Long Term Evolution), the Personal Communications Services (PCS) network, THE
time division multiple access network (CDMA), the CDMA network (Code-Division Multiple Access), the next generation network (NGN), the network public switched telephone (PSTN) and the integrated digital network services (ISDN). According to the terminology, the communication network includes various entities network, such as gateways, switches and routers;
however, these details have been omitted to maintain brevity of the description.

[0063] Dans un exemple d'implémentation, la carte réseau NIC peut séparer le flux de données dans une période prédéfinie en une ou plusieurs files d'attente de traitement et allouer chaque file d'attente de traitement à au moins un coeur de traitement 204-1, 204-2, 204-3, ..., 204-n. [0063] In an example implementation, the NIC network card can separate the data flow in a predefined period in one or more queues waiting for processing and allocate each processing queue to at least one core of treatment 204-1, 204-2, 204-3, ..., 204-n.

[0064] A titre d'exemple, la carte réseau NIC peut séparer le flux de données dans les files d'attente de traitement multiples en fonction du critère de ségrégation, qui peut être prédéfini ou basé sur les préférences de l'utilisateur. [0064] For example, the NIC network card can separate the flow of data in multiple processing queues based on the criteria of segregation, which can be predefined or based on user preferences.

[0065] Il convient de noter que chacun des multiples c urs de traitement 204-1, 204-2, 204-3, ..., 204-n peut permettre d'exécuter différentes instances des multiples moteurs sur ceux-ci. Par exemple, des instances distinctes du moteur d'analyse de protocole 206, du moteur de surveillance 306 et du moteur de correction 308 peuvent être exécutées en parallèle sur chacun des multiples coeurs de traitement 204-1, 204-2, 204-3, ..., 204-n. [0065] It should be noted that each of the multiple hearts of treatment 204-1, 204-2, 204-3, ..., 204-n can allow different instances of the multiple motors on these. For example, separate instances of the analytics engine of protocol 206, monitoring engine 306 and correction engine 308 can be executed in parallel on each of the multiple processing cores 204-1, 204-2, 204-3, ..., 204-n.

[0066] Cependant, pour faciliter la compréhension, la mise en uvre du système selon l'invention a été expliqué en ce qui concerne un seul coeur de traitement 204-1 du processeur 202, ci-après dénommé le coeur de traitement 204. [0066] However, to facilitate understanding, the implementation system work according to the invention has been explained with regard to a single core of treatment 204-1 of the processor 202, hereinafter referred to as the processing core 204.

[0067] Le système 102 selon l'invention comprend en outre au moins un processeur 202 comportant au moins un coeur de traitement 204 pour traiter un nombre prédéterminé de paquets de données par minute ppm. [0067] The system 102 according to the invention further comprises at least A
processor 202 comprising at least one processing core 204 for processing a predetermined number of data packets per minute ppm.

[0068] En pratique, le processeur 202 peut inclure plusieurs coeurs de traitement 204-1, 204-2, 204-3, ..., 204-n. [0068] In practice, the processor 202 can include several processing cores 204-1, 204-2, 204-3, ..., 204-n.

[0069] Les fonctions du bloc fonctionnel étiqueté comme processeur(s) , peuvent être fournies par l'utilisation de matériel dédié ainsi que de matériel capable d'exécuter des instructions. Lorsqu'elles sont fournies par un processeur, les fonctions peuvent être fournies par un seul processeur dédié, par un seul processeur partagé
ou par une pluralité de processeurs individuels, dont certains peuvent être partagés.
En outre, l'utilisation explicite du terme processeur ne serait pas interprétée comme se référant exclusivement au matériel capable d'exécuter des instructions et peut implicitement inclure, sans s'y limiter, le matériel de processeur de signal numérique (DSP), le processeur réseau, le circuit intégré spécifique à
l'application (ASIC), la mémoire en lecture seule (ROM) pour le stockage des instructions, la mémoire temporaire 108 (RAM), le stockage non volatil. D'autres matériels, standard et/ou personnalisés, peuvent également être inclus.
[0069] The functions of the functional block labeled as processor(s), can be provided through the use of dedicated hardware as well as equipment capable to execute instructions. When provided by a processor, the functions can be provided by a single dedicated processor, by a single processor sharing or by a plurality of individual processors, some of which may be shared.
Furthermore, explicit use of the term processor would not be interpreted as referring exclusively to hardware capable of executing instructions and may implicitly include, but is not limited to, the processor hardware of signal digital processor (DSP), the network processor, the integrated circuit specific to the app (ASIC), read-only memory (ROM) for storing instructions, there temporary memory 108 (RAM), non-volatile storage. Other materials, standard and/or personalized, can also be included.

[0070] Le système 102 comprend en outre une mémoire temporaire 108, couplée au processeur 202, et apte à mettre en mémoire une pluralité de lots de paquets de données 104 en provenance des moyens d'interface réseau NIC. [0070] The system 102 further comprises a temporary memory 108, coupled to the processor 202, and capable of storing a plurality of batches of packages of data 104 coming from the network interface means NIC.

[0071] Selon un mode de réalisation de l'invention, le système 102 peut surveiller et gérer les paquets de données 104. Le système 102 peut d'abord stocker les paquets de données 104 d'une période prédéfinie dans la mémoire temporaire 108. [0071] According to one embodiment of the invention, the system 102 can monitor and manage the data packets 104. The system 102 can first store the 104 data packets of a predefined period in temporary memory 108.

[0072] A titre d'exemple non limitatif, la mémoire temporaire 108 peut être implémentée sur une mémoire locale, une mémoire externe ou une combinaison de celles-ci, à l'aide de registres, de mémoires primaires, de mémoires cache ou de mémoires secondaires, et pouvant être implémentée sur tout support lisible par ordinateur, y compris, par exemple, la mémoire volatile (par exemple, la RAM) et / ou la mémoire non volatile (par exemple, EPROM, mémoire flash, etc.). [0072] By way of non-limiting example, temporary memory 108 maybe implemented on local memory, external memory or a combination of these, using registers, primary memories, cache memories or of secondary memories, and can be implemented on any medium readable by computer, including, for example, volatile memory (e.g. RAM) and or non-volatile memory (e.g. EPROM, flash memory, etc.).

[0073] La mémoire temporaire 108 peut fournir des paquets de données 110 pour l'analyse de protocole et de données. Il serait apprécié qu'un flux de trafic de données reçu du canal de communication 106 dans le laps de temps prédéfini, tel que les paquets de données 104, puisse être séparé dans une ou plusieurs files d'attente de traitement différentes avant d'être enregistré sur la mémoire temporaire 108.
La ségrégation des paquets de données 104 en une ou plusieurs files d'attente de traitement peut être basée sur un critère de ségrégation, qui peut être prédéfini ou basé sur les préférences de l'utilisateur.
[0073] Temporary memory 108 can provide packets of data 110 for protocol and data analysis. It would be appreciated if a flow of traffic of data received from communication channel 106 within the predefined time period, such as THE
data packets 104, can be separated into one or more queues waiting for different processing before being recorded on temporary memory 108.
There segregation of data packets 104 into one or more queues of treatment can be based on a segregation criterion, which can be predefined or based on user preferences.

[0074] Le système 102 peut en outre inclure les moteurs 302, où
les moteurs 302 peuvent inclure un moteur d'analyse de protocole 206, un moteur de surveillance 306.
[0074] The system 102 can also include the motors 302, where 302 engines may include a protocol analysis engine 206, a protocol analysis engine surveillance 306.

[0075] A titre d'exemple, les moteurs 302 peuvent être implémentés comme une combinaison de matériel et de firmware. Dans les exemples décrits ici, de telles combinaisons de matériel et de micrologiciel peuvent être mises en oeuvre de plusieurs manières différentes. Par exemple, le micrologiciel du moteur peut être des instructions exécutables du processeur stockées sur un support de stockage non transitoire lisible par machine et le matériel du moteur peut inclure une ressource de traitement (par exemple, implémentée en tant que processeur unique ou une combinaison de plusieurs processeurs) pour exécuter ces instructions. [0075] For example, motors 302 can be implemented like a combination of hardware and firmware. In the examples described here, such combinations of hardware and firmware can be implemented several different ways. For example, the engine firmware may to be executable instructions of the processor stored on a storage medium not machine-readable transient and engine hardware may include a resource of processing (for example, implemented as a single processor or a combination of several processors) to execute these instructions.

[0076] Dans les présents exemples, le support de stockage lisible par machine peut stocker des instructions qui, lorsqu'elles sont exécutées par la ressource de traitement, implémentent les fonctionnalités du moteur. Dans de tels exemples, le système 102 peut inclure le support de stockage lisible par machine stockant les instructions et la ressource de traitement pour exécuter les instructions.
Dans d'autres exemples du présent sujet, le support de stockage lisible par machine peut être situé
à un endroit différent, mais accessible au système 102 et au processeur 202.
[0076] In the present examples, the readable storage medium per machine can store instructions which, when executed by the resource of processing, implement the engine functionalities. In such examples, THE
system 102 may include machine readable storage media storing THE
instructions and the processing resource to execute the instructions.
In other examples of the present subject, the machine-readable storage medium can to be situated in a different location, but accessible to the system 102 and the processor 202.

[0077] Le système 102 comprend également des données 304, qui servent, entre autres, de référentiel pour stocker des données qui peuvent être récupérées, traitées, reçues ou générées par le moteur d'analyse de protocole 206, le moteur de surveillance 306 et le moteur de correction 308. Les données 304 peuvent inclure les données d'analyse de protocole 310, les données d'événement 312, les données de déclenchement 314 et d'autres données 316. Dans un exemple, les données 304 peuvent être stockées dans la mémoire 108. [0077] The system 102 also includes data 304, which serve, between others, repository to store data that can be retrieved, processed, received or generated by the protocol analysis engine 206, the protocol analysis engine monitoring 306 and the correction engine 308. The data 304 can include the protocol analysis data 310, event data 312, data of trigger 314 and other data 316. In one example, data 304 can be stored in memory 108.

[0078] Le moteur d'analyse de protocoles 206 (ou sessions de communication) et de données (appelé ci-après moteur d'analyse 206) du système selon l'invention est apte à être exécuté sur au moins un coeur de traitement 204, et configuré pour permettre la réception SO d'une pluralité de lots de paquets de données 104 dans un délai prédéfini via un canal de communication 106. [0078] The protocol analysis engine 206 (or sessions of communication) and data (hereinafter called analysis engine 206) of the system according to the invention East capable of being executed on at least one processing core 204, and configured to allow SO reception of a plurality of batches of data packets 104 in a predefined delay via a communication channel 106.

[0079] En pratique, les paquets de données 104 fournis pour le moteur d'analyse de chaines de protocoles 206 peuvent correspondre à une file d'attente de traitement de la mémoire temporaire 108 et les paquets de données d'autres files d'attente de traitement (non illustrés) peuvent être accessibles séparément à partir de la mémoire temporaire 108 pour le moteur d'analyse de chaines de protocoles 112. [0079] In practice, the data packets 104 provided for the analysis engine of protocol chains 206 can correspond to a queue of treatment temporary memory 108 and data packets from other files waiting for processing (not shown) can be accessed separately from the memory temporary 108 for the protocol chain analysis engine 112.

[0080] Le moteur d'analyse de protocoles 206 est en outre apte à
mettre en oeuvre une analyse de protocole et de données des paquets de données 104, et est configuré
pour effectuer S10, pour chaque lot de paquets de données 104, une analyse de protocoles DAPD permettant d'identifier les protocoles de communication de la chaine de protocoles, et valider au moins une session associée.
[0080] The protocol analysis engine 206 is also capable of implement protocol and data analysis of the data packets 104, and is configured to perform S10, for each batch of data packets 104, an analysis of DAPD protocols to identify the communication protocols of the chain protocols, and validate at least one associated session.

[0081] L'analyse DAPD des paquets de données 104 peut permettre la détermination du/des protocoles de communication des paquets de données, ainsi que l'analyse et l'extraction des métadonnées des paquets de données analysés.
Le moteur d'analyse de protocole 206 peut effectuer une analyse DAPD des paquets de données 104 de plusieurs manières.
[0081] The DAPD analysis of data packets 104 can allow the determination of the communication protocol(s) of the data packets, as well as as the analysis and extraction of metadata from the analyzed data packets.
THE
206 protocol analysis engine can perform DAPD analysis of packets of data 104 in several ways.

[0082] Dans un exemple, le moteur d'analyse de protocole 206 peut effectuer une analyse par classification explicite, permettant de vérifier si un protocole identifié
n'annonce pas le ou les protocoles suivants.
[0082] In one example, the protocol analysis engine 206 can perform a analysis by explicit classification, making it possible to check whether a protocol identified does not announce the following protocol(s).

[0083] Le moteur d'analyse de protocole 206 peut également effectuer une détection par classification de session, permettant de vérifier si à partir d'enchaînement de protocoles déjà identifié, il est possible de conclure quant à la nature du protocole analysé. [0083] The protocol analysis engine 206 can also perform a detection by session classification, making it possible to check whether from sequence of protocols already identified, it is possible to conclude as to to the nature of the protocol analyzed.

[0084] Enfin, le moteur d'analyse de protocole 206 peut également effectuer une détection par inspection approfondie des paquets (DPI) sur les paquets de données.
Dans cet exemple, le moteur d'analyse de protocole 206 peut effectuer le DPI
sur les couches 2 à couche 7 du modèle OSI (Open Systems Interconnection).
[0084] Finally, the protocol analysis engine 206 can also perform a detection by deep packet inspection (DPI) on packets of data.
In this example, protocol analysis engine 206 can perform DPI
on the layers 2 to layer 7 of the OSI (Open Systems Interconnection) model.

[0085] Par la suite, le moteur d'analyse de protocole 206 peut effectuer une analyse et une extraction de paquets de données pour les paquets de données en fonction des protocoles de communication identifiés. [0085] Subsequently, the protocol analysis engine 206 can perform a analysis and data packet extraction for data packets in depending on the identified communication protocols.

[0086] En outre, le moteur d'analyse de protocoles 206 est configuré pour calculer S21 au moins une empreinte numérique de session HS associée à une chaîne de protocole identifiée PID dont la session est validée, selon une fonction de hachage choisie. [0086] Furthermore, the protocol analysis engine 206 is configured to calculate S21 at least one HS session digital fingerprint associated with a chain of protocol identified PID whose session is validated, according to a function of hash chosen.

[0087] En pratique, le moteur d'analyse de protocoles 206 est configuré pour enregistrer S22 l'empreinte numérique de session calculée HS dans au moins une table de hash TH, et générer et sauvegarder une liste LM des métadonnées associées MPID aux protocoles identifiés PID de la chaine de protocoles de la session validée dans une base de données de connaissance BDDS. [0087] In practice, the protocol analysis engine 206 is configured for record S22 the calculated session digital fingerprint HS in at least one TH hash table, and generate and save an LM list of metadata associated MPID to identified protocols PID of the protocol chain of the session validated in a BDDS knowledge database.

[0088] Le système 102 selon l'invention comprend en outre le moteur de surveillance 306 exécutable sur au moins un c ur de traitement 204, lequel le moteur est apte à générer S30 au moins un déclencheur 114 basé sur les résultats d'analyse de protocoles DAPD, dans lequel l'activation du déclencheur 114 est indicative de la correspondance entre au moins une règle d'identification de métadonnées cibles MC, et la liste LM des métadonnées associées MPID aux protocoles identifiés PID de la chaine de protocoles de la session validée. [0088] The system 102 according to the invention further comprises the motor of surveillance 306 executable on at least one processing core 204, which engine is capable of generating S30 at least one trigger 114 based on the results analysis of DAPD protocols, in which the activation of trigger 114 is indicative of the correspondence between at least one target metadata identification rule MC, and the LM list of MPID associated metadata with the PID identified protocols of there protocol chain of the validated session.

[0089] En pratique, le déclencheur 114 ainsi généré est apte à
traiter et appliquer une liste dynamique de règles d'identification de métadonnées cibles MC.
[0089] In practice, the trigger 114 thus generated is capable of treat and apply a dynamic list of MC target metadata identification rules.

[0090] Les métadonnées cibles MC des règles d'identification du déclencheur 114 appartiennent au groupe formé par métadonnées natives, métadonnées calculées à

partir de formules mathématiques choisies.
[0090] The target metadata MC of the identification rules of the trigger 114 belong to the group formed by native metadata, metadata calculated from selected mathematical formulas.

[0091] A titre d'exemple non limitatif, les métadonnées cibles (MC) sont représentatives de paramètres réseau choisis appartenant au groupe formé par IP
destinataire, IP source, Port destinataire, Port Source, protocole, adresse IP, port, paramètres de qualité de service QoS, Tag de réseau, Volume de la session, taille des paquets, nombre de répétition (retry en anglais), version, type et version de l'algorithme de chiffrement, type de chiffrement, CERT (Computer Emergency Response Team en anglais) du certificat , valeur du SNI (indication du nom du serveur ou Server Name Indication en anglais), Taille des paquets, IP retournée, drapeau d'erreurs (flag error en anglais), nom de domaine, version du client, version du serveur, version d'algorithme de chiffrement, algorithme de compression, horodatage, Version d'IP, nom d'hébergeur (hostname en anglais), durée de bail (lease-time en anglais), URL, agent d'utilisateur, nombre d'octet du contenu attaché, type de contenu, code d'état, entête de cookie, nom du client, service de la requête, valeur du code d'erreur, type de requête, valeur du protocole, horodatage de réponse, niveau de privilège, type et langue du clavier, identification du produit, taille d'écran, ou toute autres métadonnées spécifiques analogues extraites des protocoles dans un ou plusieurs paquets de données de la session validée, métadonnées spécifiques analogues extraites du contenu attaché à un ou plusieurs paquets de données de la session validée.
[0091] By way of non-limiting example, the target metadata (MC) are representative of chosen network parameters belonging to the group formed by IP
destination, source IP, destination port, source port, protocol, address IP, port, quality of service parameters QoS, Network tag, Session volume, size packets, retry number, version, type and version of encryption algorithm, encryption type, CERT (Computer Emergency Response Team in English) of the certificate, value of the SNI (indication of the name of the server or Server Name Indication in English), Packet size, IP returned, flag error flag, domain name, client version, version from the server, encryption algorithm version, compression algorithm, timestamp, Version IP address, hostname in English, lease duration (lease-time in English), URL, user agent, number of bytes of attached content, content type, coded status, cookie header, client name, request service, code value error, request type, protocol value, response timestamp, level of privilege, type and keyboard language, product identification, screen size, or any others analogous specific metadata extracted from the protocols in one or several validated session data packets, similar specific metadata extracted from the content attached to one or more data packets from the session validated.

[0092] Selon un mode de réalisation de l'invention, la survenue d'un événement, tel qu'une détérioration de la QoS, une modification de la configuration des périphériques informatiques, une modification des capacités réseau, un risque de sécurité ou similaire peut influencer la nature des règles d'identification des métadonnées ciblées MC appliquées. [0092] According to one embodiment of the invention, the occurrence of an event, such as a deterioration of QoS, a modification of the configuration of computer peripherals, a change in network capabilities, a risk of security or similar may influence the nature of identification rules of the MC targeted metadata applied.

[0093] Dans un exemple, les données d'événement 312 peuvent stocker un ensemble de paramètres qui peuvent être utilisés comme référence pour l'identification de l'occurrence d'un événement pendant l'analyse S10 des chaînes de protocoles de l'ensemble de paquets de données et ainsi participer à la mise à
jour des règles d'identification des métadonnées ciblées MC.
[0093] In one example, the event data 312 can store a set of parameters that can be used as a reference for identifying the occurrence of an event during S10 analysis of chains of protocols of the set of data packets and thus participate in the updating day rules for identifying targeted metadata MC.

[0094] Outre l'identification de l'occurrence d'événements, l'ensemble des paramètres peut également indiquer un critère défini par l'utilisateur pour la filtration des paquets de données. Par exemple, un administrateur réseau peut être conscient que les paquets de données reçus d'une adresse IP particulière peuvent présenter un risque pour la sécurité. Dans une telle situation, l'ensemble des paramètres stockés dans les données d'événement 312 peut être mis à jour pour identifier et filtrer l'ensemble des paquets de données reçus de l'adresse IP particulière. De même, l'ensemble des paramètres peut inclure une liste de protocoles prédéfinis, de sessions et d'autres facteurs pouvant augmenter la vulnérabilité du réseau. [0094] In addition to identifying the occurrence of events, all of the parameters can also indicate a user-defined criterion for the filtration data packets. For example, a network administrator may be aware that data packets received from a particular IP address can present a security risk. In such a situation, all parameters stored in event data 312 can be updated to identify and filter all data packets received from the particular IP address. Likewise, The set of parameters can include a list of predefined protocols, sessions and other factors that may increase network vulnerability.

[0095] Le moteur de surveillance 306 selon l'invention est en outre configuré pour analyser S40 les métadonnées des paquets de données de la session validée, stockés dans les moyens de mémoire temporaire 108 en fonction de la liste LM
enregistrée des métadonnées associées MPID aux protocoles identifiés PID dans la base de données de connaissance BDDS, et vérifier si les métadonnées associées MPID aux protocoles identifiés PID sont en accord avec la règle d'identification de métadonnées cibles MC du déclencheur 114.
[0095] The monitoring engine 306 according to the invention is in besides configured for S40 analyze the metadata of the data packets of the validated session, stored in the temporary memory means 108 according to the list LM
saved MPID associated metadata to PID identified protocols in there BDDS knowledge database, and check whether the associated metadata MPID to PID identified protocols are in accordance with the rule identification of MC target metadata of trigger 114.

[0096] La liste de lecture LM se base sur une extraction de métadonnées de type n-tuples. [0096] The LM reading list is based on an extraction of type metadata n-tuples.

[0097] Avantageusement, cette approche n-tuples permet d'extraire des métadonnées associées MPID spécifique au protocole identifié PID et ainsi s'affranchir des contraintes liées à l'approche 5-tuples et de la visibilité
restreinte qui lui est associée.
[0097] Advantageously, this n-tuple approach makes it possible to extract associated metadata MPID specific to the protocol identified PID and thus overcome the constraints linked to the 5-tuple approach and visibility restricted which is associated with it.

[0098] A partir des protocoles identifiés PID suivants sont extraits à titre d'exemples non limitatifs, les métadonnées suivantes :
PROTOCOLES EXEMPLES DE METADONNEES EXTRAITES
VLAN et VxLAN Tag de réseau MPLS Id TCP Volume de la session, taille des paquets, nombre de retry TLS version, type et version de l'algorithme de chiffrement, CERT du certificat, valeur du SNI
DNS
Taille des paquets, IP retournée, Flag d'erreurs, nom de domaine, rcode SSH Version du client, version du serveur, version d'algorithme de chiffrement, algorithme de compression Timestamp, Version d'IP, Adresses IP du serveur, adresse IP de endpoint, DHCP le port/protocole d'origine ¨TCP ou UDP ¨ le hostname du serveur ou du endponit, lease-time,...
HTTP Url, user-agent, nombre d'octet du payload, content-type, status code, header de cookie, nom du client, service requested, valeur du code d'erreur, type de Kerberos requête, valeur du protocole, timestamp de réponse, niveau de privilège, type de chiffrement, ...
LDAP durée de session, nombre de logon-errors, flag de fin de session, code de résultat de query, code d'erreur, ...
RDP cookie username, type et langue du clavier, version du client, product ID, taille d'écran__ Tableau d'exemples de métadonnées extractibles pour une liste de protocoles choisis.
[0098] From the following PID identified protocols are extracts as non-limiting examples, the following metadata:
PROTOCOLS EXAMPLES OF EXTRACTED METADATA
VLAN and VxLAN Network Tag MPLS ID
TCP Session volume, packet size, number of retry TLS version, type and algorithm version encryption, certificate CERT, SNI value DNS
Packet size, returned IP, error flag, domain name, rcode SSH Client version, server version, version algorithm encryption, compression algorithm Timestamp, IP version, Server IP addresses, endpoint IP address, DHCP the original port/protocol ¨TCP or UDP ¨ the hostname of the server or endponit, lease-time,...
HTTP Url, user-agent, number of payload bytes, content-type, status code, cookie header, customer name, service requested, error code value, type of Kerberos request, protocol value, response timestamp, privilege level, type of encryption, ...
LDAP session duration, number of logon-errors, end flag session code, query result, error code, ...
RDP cookie username, keyboard type and language, version customer, product ID, screen size__ Table of extractable metadata examples for a list of protocols choose.

[0099] En d'autres termes, la liste LM enregistrée des métadonnées associées MPID aux protocoles identifiés PID sert de grille de lecture audit moteur de surveillance 306 afin d'avantageusement économiser des ressources. [0099] In other words, the recorded LM list of metadata associated MPID with identified protocols PID serves as a reading grid for said engine monitoring 306 in order to advantageously save resources.

[00100] En cas d'accord avec la ou les règles d'identification de métadonnées cibles MC, le déclencheur 114 est activé S50 et le moteur de surveillance 306 attribue alors à au moins une empreinte numérique de session HS de la session validée conservée sur la table de Hash TH un statut de sauvegarde SV. [00100] In case of agreement with the metadata identification rule(s) MC targets, trigger 114 is activated S50 and monitoring engine 306 attributes then at least one HS session digital fingerprint of the validated session kept on the Hash table TH a save status SV.

[00101] L'attribution d'un statut de sauvegarde SV par le moteur de surveillance 306 comprend la mise à jour S51 de la table de hash TH enregistrée à la suite de l'étape d'enregistrement S22 par le moteur d'analyse 206 d'au moins une empreinte numérique de session HS, par attribution et l'enregistrement sur la table de hash TH

d'un statut de sauvegarde SV à au moins une des empreintes numériques de session HS de la session validée.
[00101] The assignment of an SV backup status by the backup engine monitoring 306 includes update S51 of the TH hash table recorded subsequently of the recording step S22 by the analysis engine 206 of at least one footprint digital HS session, by allocation and recording on the table of hash TH

of an SV backup status to at least one of the digital fingerprints of session HS of the validated session.

[00102] Selon un mode de réalisation particulier de l'invention, le moteur de surveillance 306 est configuré pour analyser des métadonnées associées au contenu attaché MP de la chaîne de protocole de la session validée lors de l'analyse S40 des métadonnées associées MPID aux protocoles identifiés P ID des paquets de données de la session validée. [00102] According to a particular embodiment of the invention, the motor surveillance 306 is configured to analyze metadata associated with the content attached MP protocol chain of the session validated during parsing metadata associated MPID with identified protocols P ID of packets data of the validated session.

[00103] Une telle analyse est mise en oeuvre si au moins une règle d'identification de métadonnées cibles MC du déclencheur 114 comprend des métadonnées cibles MC en relation avec un contenu attaché. [00103] Such an analysis is implemented if at least one rule identification target metadata MC of trigger 114 includes target metadata MC in relation to attached content.

[00104] Le moteur de surveillance 306 selon l'invention est en outre configuré
pour mettre en oeuvre un vidage S60 des moyens de mémoire temporaire 108 pour chaque lot de paquets de données dont la ou les empreintes numériques de session HS
sont dépourvues d'un statut de sauvegarde SV.
[00104] The monitoring engine 306 according to the invention is further configured For implement an S60 dump of the temporary memory means 108 to each batch of data packets including HS session digital fingerprint(s) are lacking an SV backup status.

[00105] Selon un mode de réalisation de l'invention, les moyens de mémoire temporaire 108 sont vidés progressivement lorsque l'utilisation de la mémoire vive associée est comprise entre 95% à 98%. [00105] According to one embodiment of the invention, the memory means temporary 108 are emptied gradually when memory usage long live associated is between 95% to 98%.

[00106] Selon un mode de réalisation particulier de l'invention, le vidage des moyens de mémoire temporaire 108 est effectué chronologiquement par suppression des paquets de données les plus anciens à un rythme de vidage choisi. [00106] According to a particular embodiment of the invention, emptying the temporary memory means 108 is carried out chronologically by deletion of the oldest data packets at a chosen flush rate.

[00107] En pratique, le moteur de surveillance 306 est configuré pour consulter S61 la table de hash TH, et vérifier si la ou les empreintes numériques de session HS
associées aux paquets de données dont la session est validée, sont pourvues d'un statut de sauvegarde SV.
[00107] In practice, the monitoring engine 306 is configured to consult S61 the TH hash table, and check if the session fingerprint(s) HS
associated with the data packets whose session is validated, are provided of a SV save status.

[00108] Le moteur de surveillance 306 selon l'invention est en outre configuré
pour mettre en oeuvre un enregistrement S61 sur une mémoire de stockage 116, l'ensemble des paquets de données dont au moins une empreinte numérique de session HS associée est pourvue d'un statut de sauvegarde SV.
[00108] The monitoring engine 306 according to the invention is further configured For implement a recording S61 on a storage memory 116, all data packets including at least one digital fingerprint associated HS session has an SV save status.

[00109] Selon un premier mode de réalisation particulier de l'invention, basé
sur la génération S30 du déclencheur 114, le moteur de surveillance 306 peut générer une notification indiquant la gravité de l'événement. Le moteur de surveillance 306 peut également inclure dans la notification, un ensemble d'actions qui peuvent être effectuées pour atténuer l'événement.
[00109] According to a first particular embodiment of the invention, based on the S30 generation of trigger 114, monitoring engine 306 can generate a notification indicating the severity of the event. The monitoring engine 306 can also include in the notification, a set of actions that can be carried out to mitigate the event.

[00110] Selon un second mode de réalisation particulier de l'invention, basé
sur la génération S30 du déclencheur 114 pour l'ensemble de paquets de données, le système selon l'invention peut comprendre un moteur de correction 308.
[00110] According to a second particular embodiment of the invention, based on the S30 generation of trigger 114 for the set of data packets, the system according to the invention may include a correction motor 308.

[00111] Ledit moteur de correction 308 est apte à effectuer un traitement supplémentaire sur l'ensemble de paquets de données. Par exemple, dans un exemple, le moteur de correction 308 peut remplacer l'ensemble de paquets de données par un ensemble de paquets de données corrigés. Dans un autre exemple, le moteur de correction 308 peut modifier l'ensemble des paquets de données. [00111] Said correction engine 308 is capable of carrying out processing additional on the set of data packets. For example, in a example, the correction engine 308 can replace the set of packets of data by a set of corrected data packets. In another example, the correction engine 308 can modify all of the data packets.

[00112] Une fois que le moteur de correction 308 a effectué le traitement sur l'ensemble des paquets de données, le moteur d'analyse de protocole 206 peut soumettre à nouveau les paquets de données à une analyse DAPD. La répétition de l'analyse peut permettre de déterminer si le traitement de l'ensemble de paquets de données a effectivement traité ou atténué la survenue de l'événement. La manière dont l'analyse DAPD peut être effectuée sur les paquets de données est décrite ci-dessus et n'a pas été reproduite par souci de brièveté. Si le moteur d'analyse de protocole 206 détermine que l'événement a été résolu, le moteur d'analyse de protocole 206 peut libérer les paquets de données mis à jour pour la consommation par un périphérique informatique destinataire. [00112] Once the correction engine 308 has carried out the processing on all the data packets, the protocol analysis engine 206 can resubmit the data packets to DAPD analysis. Repetition of the analysis can make it possible to determine whether the treatment of all of packages of data effectively addressed or mitigated the occurrence of the event. There manner whose DAPD analysis can be performed on data packets is described this-above and has not been reproduced for the sake of brevity. If the analysis engine of protocol 206 determines that the event has been resolved, the analysis engine protocol 206 can release updated data packets for consumption by a recipient computer device.

[00113] Toutefois, si le moteur d'analyse de protocole 206 détermine qu'un autre événement s'est produit pendant le DAPD des paquets de données mis à jour, le moteur d'analyse de protocole 206 peut générer un autre déclencheur. Dans une telle situation, le moteur d'analyse de protocole 206 peut retraiter un autre ensemble de paquets de données qui peuvent avoir provoqué l'autre événement. Dans un exemple, le retraitement peut inclure le remplacement de l'ensemble de paquets de données par un ensemble de paquets de données corrigés ou la modification de l'ensemble de paquets de données. [00113] However, if the protocol analysis engine 206 determines that a other event occurred during the DAPD of the updated data packets, the protocol analysis engine 206 may generate another trigger. In such situation, the protocol analysis engine 206 can reprocess another together data packets that may have caused the other event. In a example, reprocessing may include replacement of the set of packages data by a set of corrected data packets or modification of all data packets.

[00114] De cette manière, les anomalies ou les dysfonctionnements dans le trafic de données peuvent être identifiés et traités en temps opportun. En outre, les paquets de données peuvent être analysés pour détecter de manière préventive les risques de sécurité et répondre aux préoccupations connexes. [00114] In this way, anomalies or malfunctions in the traffic data can be identified and processed in a timely manner. Furthermore, the packages data can be analyzed to preventively detect risks of security and address related concerns.

[00115] Le système 102 selon l'invention comprend également une mémoire de stockage 116 couplée au processeur 202 apte à enregistrer 508 pour un traitement ultérieur, l'ensemble des paquets de données dont l'empreinte numérique de session HS associée est pourvue d'un statut de sauvegarde SV, le déclencheur 114 formant donc filtre d'enregistrement. [00115] The system 102 according to the invention also includes a memory storage 116 coupled to processor 202 capable of recording 508 for a treatment subsequently, all the data packets including the digital fingerprint of session Associated HS has a backup status SV, trigger 114 forming so recording filter.

[00116] A titre d'exemple, la mémoire de stockage 116 peuvent être des moyens de stockages locaux, ou à distance, tel que du type Cloud. [00116] For example, the storage memory 116 can be means local or remote storage, such as the Cloud type.

[00117] En outre, le système 102 peut être couplé à une base de données de connaissances sur les paquets de données BDDS, où la base de données de connaissances BDDS sur les paquets de données correspond à la base de connaissance BDC pour la détection de protocoles et la base de données dynamique de session BDDS pour la détection de session. [00117] In addition, the system 102 can be coupled to a database of knowledge about BDDS data packages, where the database of BDDS knowledge about data packets corresponds to the database BDC knowledge for protocol detection and database dynamic BDDS session module for session detection.

[00118] Dans un exemple d'implémentation du système selon l'invention, la carte réseau NIC peut recevoir un flux de données de paquets de données 104 via un réseau de communication. La carte réseau NIC peut ensuite séparer le flux de données des paquets de données 104 en plusieurs files d'attente de traitement, où
chacune des multiples files d'attente de traitement doit être traitée par un coeur de traitement distinct du processeur 202. La carte réseau NIC peut ensuite transférer les multiples files d'attente de traitement vers la mémoire temporaire 108 et peut informer simultanément le processeur 202 de l'adresse à laquelle chacune des files d'attente de traitement multiples est stockée sur la mémoire temporaire 108.
[00118] In an example of implementation of the system according to the invention, the map NIC network can receive a data stream of data packets 104 via a communications network. The NIC can then separate the flow of data from data packets 104 into several processing queues, Or each of the multiple processing queues must be processed by a heart of separate processing of processor 202. The NIC network card can then transfer the multiple processing queues to temporary memory 108 and can inform simultaneously the processor 202 of the address at which each of the queues waiting multiple processing is stored on temporary memory 108.

[00119] Dans un exemple d'implémentation, l'une des instances du moteur d'analyse de protocole 206 s'exécutant sur l'un des coeurs de traitement, par exemple le coeur de traitement 204-1, peut exécuter un DAPD sur les paquets de données inclus dans la file d'attente de traitement correspondante. Dans un exemple, le moteur d'analyse de protocole 206 peut analyser un premier ensemble de paquets de données de la file d'attente de traitement pour déterminer les caractéristiques du premier ensemble de paquets de données. Le moteur d'analyse de protocole 206 peut ensuite effectuer le DAPD pour un premier paquet de données suivant le premier ensemble de paquets de données afin de prédire un protocole de communication pour le paquet de données. Le moteur d'analyse de protocole 206 peut effectuer le DAPD
sur le premier paquet de données sur la base d'un arbre de décision dynamique corrélé à la base de données de connaissances sur les paquets de données BDDS.

Le moteur d'analyse de protocole 206 peut ensuite analyser et extraire le premier paquet de données en fonction de l'étiquette de données qui y est associée.
[00119] In an example implementation, one of the instances of the engine protocol analysis 206 running on one of the processing cores, by example the processing core 204-1, can execute a DAPD on the data packets included in the corresponding processing queue. In an example, engine protocol analysis 206 can analyze a first set of packets of data from the processing queue to determine the characteristics of first set of data packets. The 206 protocol analysis engine can then perform DAPD for a first data packet following the first set of data packets to predict a communication protocol For the data packet. The protocol analysis engine 206 can perform the DAPD
on the first data packet based on a dynamic decision tree correlated to the BDDS data packet knowledge database.

The protocol analysis engine 206 can then analyze and extract the first data packet based on the data label associated with it.

[00120] Dans un exemple, le moteur d'analyse de protocole 206 peut effectuer en parallèle le DAPD et l'analyse et l'extraction de données pour les paquets de données inclus dans la file d'attente de traitement. Par exemple, une fois que le moteur d'analyse de protocole 206 a prédit le protocole de communication pour le premier paquet de données, le premier paquet de données peut être transféré pour l'analyse et l'extraction de données. Alors que le moteur d'analyse de protocole 206 effectue l'analyse et l'extraction de données sur le premier paquet de données, le moteur d'analyse de protocole 206 peut simultanément commencer à exécuter DAPD pour un deuxième paquet de données suivant le premier paquet de données dans le flux de données. [00120] In one example, the protocol analysis engine 206 can perform in parallel DAPD and data analysis and extraction for packets data included in the processing queue. For example, once the engine protocol analysis 206 predicted the communication protocol for the first data packet, the first data packet can be transferred for analysis and data extraction. While the 206 protocol analysis engine carried out analyzing and extracting data on the first data packet, the engine protocol analysis 206 can simultaneously start executing DAPD to a second data packet following the first data packet in the flow of data.

[00121] L'exécution simultanée du DAPD et de l'analyse et de l'extraction des données pour les paquets de données sur un seul c ur de traitement du processeur facilite l'évolutivité pour gérer toute altération de l'afflux de données reçues via le réseau de communication. Dans un exemple, les techniques décrites ci-dessus peuvent faciliter le traitement des flux de données ayant un trafic de données supérieur à 100 Gbps. [00121] The simultaneous execution of the DAPD and the analysis and extraction of data for data packets on a single processing core of the processor facilitates scalability to handle any alterations in data influx received via the communications network. In one example, the techniques described above can facilitate the processing of data streams having data traffic greater than 100 Gbps.

[00122] En référence aux figures 6 à 11, l'invention porte également sur un procédé
de traitement d'un flux de données comprenant des lots de paquets 104 définis chacun par une chaine de protocoles de communication associée à au moins une session.
[00122] With reference to Figures 6 to 11, the invention also relates to a process for processing a data flow comprising batches of defined packets 104 each by a chain of communication protocols associated with at least one session.

[00123] Le procédé selon l'invention comprend une première étape de réception SO
d'une pluralité de lots de paquets de données 104 dans un délai prédéfini via un canal de communication 106, et de stockage desdits lots de paquets 104 dans une mémoire temporaire 108.
[00123] The method according to the invention comprises a first step of receiving SO
of a plurality of batches of data packets 104 within a predefined time via a canal communication 106, and storage of said batches of packets 104 in a memory temporary 108.

[00124] A titre d'exemple, la pluralité de lots de paquets de données 104 peut être reçue par une carte d'interface réseau NIC du système 102. [00124] By way of example, the plurality of batches of data packets 104 can be received by a NIC network interface card of system 102.

[00125] Le procédé comprend en outre une étape S10 d'analyse de protocoles DAPD permettant d'identifier les protocoles de communication de la chaine de protocoles, et apte à permettre l'extraction de métadonnées de la pluralité
des paquets de données analysés.
[00125] The method further comprises a step S10 of analyzing protocols DAPD allowing the identification of the communication protocols of the chain of protocols, and capable of allowing the extraction of metadata from the plurality some packages of data analyzed.

[00126] L'étape S10 d'analyse de protocoles DAPD consiste en une succession de méthodes de classifications conditionnelles parmi lesquelles une détection par classification explicite, configurée pour vérifier si un protocole donné
annonce le protocole suivant dans la chaîne de protocole.
[00126] Step S10 of analyzing DAPD protocols consists of a succession of conditional classification methods including detection by explicit classification, configured to check whether a given protocol announce it next protocol in the protocol chain.

[00127] L'analyse de protocole DAPD comprend en outre une détection dite de session configurée pour identifier le ou les protocoles suivant en utilisant les chaînes de protocoles précédemment identifiées. [00127] The DAPD protocol analysis further comprises so-called detection of session configured to identify the following protocol(s) using the chains of protocols previously identified.

[00128] Enfin, l'analyse de protocole DAPD comprend une détection par inspection profonde de paquets, laquelle consiste en à identifier le protocole de communication du paquet suivant selon un arbre de décision dynamique corrélé à une base de données de connaissances BDC comprenant des paramètres d'analyse de protocoles et une base de marqueurs spécifiques, aussi appelés labels, spécifiques à
chaque protocole connu.
[00128] Finally, the DAPD protocol analysis includes detection by inspection deep packets, which consists of identifying the protocol of communication of the next packet according to a dynamic decision tree correlated to a base of BDC knowledge data including protocol analysis parameters and a base of specific markers, also called labels, specific to each known protocol.

[00129] En cas de défaut d'identification du protocole suivant, l'analyse de protocoles DAPD est configuré pour émettre une liste de candidats de protocoles potentiels à prendre en compte selon au moins deux branches de détection possible, chaque détection étant rattachée à une sous-session déterminée pour analyser le ou les protocoles suivants par répétition des analyses selon la classification par détection explicite, par détection de session, et par inspection profonde de paquet jusqu'à
identifier au moins un protocole dont l'identité est certaine.
[00129] In the event of a failure to identify the following protocol, the analysis of DAPD protocols is configured to emit a list of candidates of protocols potential to be taken into account according to at least two branches of detection possible, each detection being attached to a determined sub-session to analyze the OR
the following protocols by repeating the analyzes according to the classification by detection explicit, by session detection, and by deep packet inspection until identify at least one protocol whose identity is certain.

[00130] En pratique, l'étape S10 d'analyse de protocoles DAPD comprend une sous-étape de validation S11 d'au moins une session associée à la chaine de protocoles lorsque toute la chaîne de protocoles a été identifiée et classifiée. [00130] In practice, step S10 of analyzing DAPD protocols includes a validation sub-step S11 of at least one session associated with the chain of protocols when the entire protocol chain has been identified and classified.

[00131] On entend par session, une session de communication représentative d'un enchaînement de protocoles. [00131] By session we mean a representative communication session of a sequence of protocols.

[00132] On entend par validation S11 d'une session l'identification complète de la chaîne de protocoles associée. [00132] By S11 validation of a session we mean complete identification of the associated protocol chain.

[00133] Le procédé selon l'invention comprend en outre une étape de calcul S21 d'au moins une empreinte numérique de session HS associée à une chaîne de protocoles identifiée PID dont la session est validée lors de l'étape de validation S11. [00133] The method according to the invention further comprises a calculation step S21 at least one HS session digital fingerprint associated with a chain of protocols identified PID whose session is validated during the step of validation S11.

[00134] En pratique, le calcul S21 de l'empreinte numérique de session HS est effectué après chaque protocole analysé de la chaîne de protocoles selon une fonction de hachage choisie. [00134] In practice, the calculation S21 of the HS session digital fingerprint is carried out after each analyzed protocol of the protocol chain according to a function chosen hash.

[00135] Le calcul S21 de l'empreinte numérique HS se base sur l'extraction de métadonnées de chaque protocole identifié lors de l'étape d'analyse S10, et le hachage d'une liste définie dynamique propre à chaque type de protocoles, suivant une approche dite de type n-tuples. Chaque protocole aura donc un nombre de paramètres défini utilisé pour calculer l'empreinte numérique de session HS, et permettant ainsi une fois la session validée d'obtenir un identifiant de session complètement unique. [00135] The calculation S21 of the digital fingerprint HS is based on the extraction of metadata of each protocol identified during the analysis step S10, and the hashing of a dynamic defined list specific to each type of protocol, following a so-called n-tuple type approach. Each protocol will therefore have a number of defined parameters used to calculate the HS session fingerprint, And thus allowing, once the session has been validated, to obtain an identifier of session completely unique.

[00136] L'étape de calcul S21 est suivie d'une étape d'enregistrement S22 de ladite ou lesdites empreintes numériques de session HS calculées dans au moins une table de hash TH, ainsi que la sauvegarde d'une liste LM des métadonnées associées MPID
aux protocoles identifiés PID de la chaine de protocoles de la session validée dans une base de données de connaissance BDDS.
[00136] The calculation step S21 is followed by a recording step S22 of said or said HS session digital fingerprints calculated in at least one table of TH hashes, as well as saving an LM list of associated metadata MPID
to the protocols identified PID of the protocol chain of the validated session In a BDDS knowledge database.

[00137] Avantageusement, la liste LM des métadonnées associées MPID aux protocoles identifiés PID de la chaine de protocoles de la session validée permet d'identifier les métadonnées sur lesquelles toute analyse subséquente pourra se baser et ainsi économiser des ressources en ne se concentrant que sur les informations disponibles de manière certaine. [00137] Advantageously, the LM list of metadata associated MPID with identified protocols PID of the protocol chain of the validated session allow to identify the metadata on which any subsequent analysis can be se base and thus save resources by focusing only on the information available with certainty.

[00138] Le procédé selon l'invention comprend en outre une étape de génération S30 d'au moins un déclencheur 114 basé sur les résultats d'analyse de protocoles DAPD. [00138] The method according to the invention further comprises a step of generating S30 of at least one trigger 114 based on the analysis results of protocols DAPD.

[00139] Ledit déclencheur 114 comprend une série de commandes mise en oeuvre par activation selon des conditions choisies, et dans lequel l'activation est indicative de la correspondance entre au moins une règle d'identification de métadonnées cibles MC, et les métadonnées associées MPID aux protocoles identifiés PID dont la liste LM est enregistrée dans la base de données de connaissance BDDS. [00139] Said trigger 114 comprises a series of commands implemented by activation according to chosen conditions, and in which the activation is indicative of the correspondence between at least one metadata identification rule targets MC, and the MPID associated metadata with the PID identified protocols whose list LM is recorded in the BDDS knowledge database.

[00140] Selon un mode de réalisation de l'invention, le déclencheur 114 est apte à
traiter et appliquer une liste dynamique de règles d'identification de métadonnées cibles MC.
[00140] According to one embodiment of the invention, the trigger 114 is able to process and apply a dynamic list of identification rules metadata MC targets.

[00141] On entend par métadonnées cibles MC, toutes métadonnées natives, ou calculées à partie de formules mathématiques choisies, apte à permettre une sélection précise d'une partie d'un flux de données 104. [00141] Target metadata MC means all native metadata, or calculated from selected mathematical formulas, capable of allowing a selection precision of a part of a data flow 104.

[00142] A titre d'exemple non limitatif, les métadonnées cibles (MC) sont représentatives de paramètres réseau choisis appartenant au groupe formé par IF
destinataire, IP source, Port destinataire, Port Source, protocole, adresse IF, port, paramètres de qualité de service QoS, Tag de réseau, Volume de la session, taille des paquets, nombre de répétition (retry en anglais), version, type et version de l'algorithme de chiffrement, type de chiffrement, CERT (Computer Emergency Response Team en anglais) du certificat, valeur du SNI (indication du nom du serveur ou Server Name Indication en anglais), Taille des paquets, IP retournée, drapeau d'erreurs (flag error en anglais), nom de domaine, version du client, version du serveur, version d'algorithme de chiffrement, algorithme de compression, horodatage, Version d'IP, nom d'hébergeur (hostname en anglais), durée de bail (lease-time en anglais), URL, agent d'utilisateur, nombre d'octet du contenu attaché, type de contenu, code d'état, entête de cookie, nom du client, service de la requête, valeur du code d'erreur, type de requête, valeur du protocole, horodatage de réponse, niveau de privilège, type et langue du clavier, identification du produit, taille d'écran, ou toute autres métadonnées spécifiques analogues extraites des protocoles dans un ou plusieurs paquets de données de la session validée, métadonnées spécifiques analogues extraites du contenu attaché à un ou plusieurs paquets de données de la session validée.
[00142] As a non-limiting example, the target metadata (MC) are representative of chosen network parameters belonging to the group formed by IF
destination, source IP, destination port, source port, protocol, address IF, port, quality of service parameters QoS, Network tag, Session volume, size packets, retry number, version, type and version of encryption algorithm, encryption type, CERT (Computer Emergency Response Team in English) of the certificate, value of the SNI (indication of the name of the server or Server Name Indication in English), Packet size, IP returned, flag error flag, domain name, client version, version from the server, encryption algorithm version, compression algorithm, timestamp, Version IP address, hostname in English, lease duration (lease-time in English), URL, user agent, number of bytes of attached content, content type, coded status, cookie header, client name, request service, code value error, request type, protocol value, response timestamp, level of privilege, type and keyboard language, product identification, screen size, or any others analogous specific metadata extracted from the protocols in one or several validated session data packets, similar specific metadata extracted from the content attached to one or more data packets from the session validated.

[00143] Selon un mode de réalisation particulier de l'invention, les métadonnées cibles MC peuvent comprendre des métadonnées associées au contenu attaché MP
de la chaîne de protocole de la session validée.
[00143] According to a particular embodiment of the invention, the metadata MC targets may include metadata associated with MP attached content of the protocol chain of the validated session.

[00144] Selon un mode de réalisation de l'invention, le déclencheur 114 peut être généré à la suite de l'occurrence d'un événement pendant l'étape S10 d'analyse de protocoles DAP D. [00144] According to one embodiment of the invention, the trigger 114 can be generated following the occurrence of an event during analysis step S10 of DAP D protocols.

[00145] En outre, un événement peut inclure : une détérioration de la qualité
de service, une modification de la configuration des périphériques informatiques, une modification des capacités du réseau ou un risque de sécurité, pour lequel un déclencheur sera généré spécifiquement en fonction des paramètres de l'évènement rencontré.
[00145] Additionally, an event may include: a deterioration in quality of service, a modification of the configuration of computer peripherals, a change in network capabilities or a security risk, for which a trigger will be generated specifically based on the settings of the event encounter.

[00146] Le procédé selon l'invention comprend en outre une étape d'analyse S40 les métadonnées associées MPID aux protocoles identifiés PID des paquets de données de la session validée, stockés dans les moyens de mémoire temporaire en fonction de la liste LM enregistrée des métadonnées associées MPID aux protocoles identifiés PID dans la base de données de connaissance BDDS. [00146] The method according to the invention further comprises an analysis step S40 the metadata associated MPID with the identified protocols PID of the packets data from the validated session, stored in the temporary memory means based on the saved LM list of MPID associated metadata to PID identified protocols in the BDDS knowledge database.

[00147] En d'autres termes, la liste LM enregistrée des métadonnées associées MPID aux protocoles identifiés PID sert de grille de lecture lors de l'analyse S40 les métadonnées associées MPID aux protocoles identifiés PID. [00147] In other words, the recorded LM list of associated metadata MPID to identified protocols PID serves as a reading grid during analysis S40 them MPID associated metadata with PID identified protocols.

[00148] En pratique, l'étape d'analyse S40 les métadonnées associées MPID aux protocoles identifiés Pl D comprend en outre la vérification de la présence ou absence de correspondance entre les métadonnées associées MPID aux protocoles identifiés P ID et au moins une règle d'identification de métadonnées cibles MC du déclencheur 114. [00148] In practice, the analysis step S40 the metadata associated MPID with identified protocols Pl D further includes verification of the presence or absence correspondence between metadata associated MPID with protocols identified P ID and at least one target metadata identification rule MC of the trigger 114.

[00149] En cas d'accord avec la règle d'identification de métadonnées cibles MC, le procédé selon l'invention comprend une étape d'activation S50 du déclencheur 114, permettant l'attribution à au moins une empreinte numérique de session HS
enregistrée de la session validée un statut de sauvegarde SV.
[00149] In case of agreement with the target metadata identification rule MC, the method according to the invention comprises an activation step S50 of the trigger 114, allowing the assignment to at least one HS session digital fingerprint recorded session validated an SV save status.

[00150] En pratique, l'étape d'activation S50 du déclencheur 114 comprend une sous-étape de mise à jour S51 de la table de hash TH enregistrée à la suite de l'étape d'enregistrement S22 d'au moins une empreinte numérique de session HS, par attribution d'un statut de sauvegarde SV à au moins une empreinte numérique de session HS dont les métadonnées cibles MC sont en correspondance avec les métadonnées analysées. [00150] In practice, the activation step S50 of the trigger 114 includes a substep of updating S51 of the hash table TH recorded following the step recording S22 of at least one HS session digital fingerprint, by assigning an SV backup status to at least one digital fingerprint of HS session whose MC target metadata corresponds to the metadata analyzed.

[00151] Selon un mode de réalisation de l'invention, l'étape d'analyse S40 des métadonnées associées au protocoles identifiés PID des paquets de données de la session validée, comprend une sous-étape supplémentaire d'analyse de métadonnées associées au contenu attaché MP de la chaîne de protocole de la session validée, mise en oeuvre si au moins une règle d'identification de métadonnées cibles MC du déclencheur 114 comprend des métadonnées cibles MC en relation avec le contenu attaché MP. [00151] According to one embodiment of the invention, the analysis step S40 of the metadata associated with identified protocols PID of data packets there validated session, includes an additional sub-step of analysis of metadata associated with the MP attached content of the protocol chain of the session validated, implemented if at least one identification rule of metadata MC targets of trigger 114 includes related MC target metadata with MP attached content.

[00152] Le procédé selon l'invention comprend en outre une étape de vidage S60 de la mémoire temporaire 108. [00152] The method according to the invention further comprises an emptying step S60 of temporary memory 108.

[00153] L'étape de vidage S60 est conditionnelle, et configurée pour vider S60 la mémoire temporaire 108 de chaque lot de paquets de données stocké dont l'empreinte numérique de session HS est dépourvue d'un statut de sauvegarde SV. [00153] The emptying step S60 is conditional, and configured to empty S60 there temporary memory 108 of each batch of stored data packets including the HS session fingerprint lacks a save status SV.

[00154] Parallèlement, le procédé comprend en outre une sous-étape d'enregistrement S61 de l'ensemble des paquets de données dont au moins une empreinte numérique de session HS associée est pourvue d'un statut de sauvegarde SV. [00154] At the same time, the method further comprises a sub-step S61 recording of all data packets including at least one associated HS session digital fingerprint is provided with a status of backup SV.

[00155] Une telle étape d'enregistrement S61 sélective permet en outre la sauvegarde spécifique de la session d'intérêt dont les métadonnées cibles MC
ou les règles associées du déclencheur 114 ont été reconnues, et ceci avec une absence de contrainte quant à la diversité et la couche sur laquelle les protocoles de la session validée se trouvent.
[00155] Such a selective recording step S61 also allows the specific backup of the session of interest including target metadata MC
where the associated rules of trigger 114 have been recognized, and this with a Absence of constraint as to the diversity and the layer on which the protocols of the session validated are found.

[00156] En pratique l'étape d'enregistrement S61 est mise en oeuvre vers une mémoire de stockage 116 pour un traitement ultérieur des paquets de données filtrés. [00156] In practice, the recording step S61 is implemented towards a storage memory 116 for further processing of data packets filtered.

[00157] A titre d'exemple non limitatif, les paquets de données enregistrés dans la mémoire de stockage 116 sont convertis au format PCAP. [00157] By way of non-limiting example, the data packets recorded in the storage memory 116 are converted to PCAP format.

[00158] Selon un mode de réalisation de l'invention, les étapes de vidage S60 de la mémoire temporaire 108 et d'enregistrement S61 comprennent une sous-étape préalable de consultation S61 de la table de hash TH pour vérifier si au moins une des empreintes numériques de session HS associées aux paquets de données sujet au vidage S60 est pourvue d'un statut de sauvegarde SV. [00158] According to one embodiment of the invention, the emptying steps S60 of the temporary memory 108 and recording S61 comprise a sub-step prior consultation S61 of the hash table TH to check if at least one of the HS session digital fingerprints associated with data packets subject to S60 dump has a backup status SV.

[00159] En pratique, l'exécution de l'étape S10 d'analyse de protocoles DAPD, et l'exécution de l'étape d'analyse S40 des métadonnées des paquets de données de la session validée MPID, se font sur des paquets de données de la couche 2 à la couche 7 du modèle OSI. [00159] In practice, the execution of step S10 of analyzing DAPD protocols, And execution of the analysis step S40 of the metadata of the data packets of there MPID validated session, are done on data packets from layer 2 to the layer 7 of the OSI model.

[00160] Selon un mode de réalisation particulier de l'invention, l'ensemble de paquets de données enregistrés suite à l'étape d'enregistrement S61 peut être remplacé par un ensemble corrigé de paquets de données dans la pluralité des paquets de données. Dans un exemple, l'ensemble de paquets de données peut être remplacé par l'ensemble de paquets de données corrigé par un moteur de correctifs 308 du système 102. [00160] According to a particular embodiment of the invention, the set of data packets recorded following recording step S61 can be replaced by a corrected set of data packets in the plurality of data packets. In one example, the set of data packets can be replaced by the set of data packets corrected by a data engine fixes 308 of system 102.

[00161] A titre d'exemple, l'ensemble de paquets de données corrigé est analysé
selon le procédé conforme à l'invention une nouvelle fois, pour permettre de déterminer si le remplacement de l'ensemble de paquets de données par l'ensemble de paquets de données corrigé a effectivement résolu l'occurrence de l'événement.
[00161] As an example, the set of corrected data packets is analysis according to the process according to the invention once again, to allow determine whether replacing the set of data packets with all of corrected data packets has effectively resolved the occurrence of the event.

[00162] On peut comprendre que les étapes S10 à S60 peuvent être effectuées dans le système 102. Les blocs des méthodes SO, S10, S11, 521, 522, 530, 540, 350, 351, S60, S61 et S62 peuvent être exécutés sur la base d'instructions stockées dans un support non transitoire lisible par ordinateur, comme on le comprendra facilement. Le support non transitoire lisible par ordinateur peut inclure, par exemple, des mémoires numériques, des supports de stockage magnétiques, tels que des disques magnétiques et des bandes magnétiques, des disques durs ou des supports de stockage de données numériques lisibles optiquement. [00162] It can be understood that steps S10 to S60 can be carried out in system 102. The blocks of methods SO, S10, S11, 521, 522, 530, 540, 350, 351, S60, S61 and S62 can be executed based on instructions stored in a non-transitory computer-readable medium, as will be understood easily. Non-transitory computer-readable media may include, For example, digital memories, magnetic storage media, such as magnetic disks and magnetic tapes, hard disks or brackets optically readable digital data storage.

[00163] Avantageusement, un tel procédé permet d'utiliser toutes les métadonnées de tous les protocoles pour générer des déclencheurs 114 dont les règles d'identification formant filtres d'enregistrement, rendant lesdits filtres polyvalents et l'architecture d'application des filtres adaptable à tout besoin, et permet en outre de très finement enregistrer le trafic. [00163] Advantageously, such a process makes it possible to use all the metadata of all protocols to generate triggers 114 whose rules identification forming recording filters, making said filters versatile and the filter application architecture adaptable to any need, and allows besides very finely record traffic.

[00164] Bien que des exemples de la présente invention aient été décrits dans un langage spécifique aux méthodes et/ou aux caractéristiques structurelles, il faut comprendre que la présente invention ne se limite pas aux méthodes ou caractéristiques spécifiques décrites. Au contraire, les méthodes et les caractéristiques spécifiques sont divulguées et expliquées à titre d'exemples de la présente invention. [00164] Although examples of the present invention have been described in A
language specific to methods and/or structural characteristics, it must understand that the present invention is not limited to the methods or specific characteristics described. On the contrary, the methods and specific features are disclosed and explained by way of examples of the present invention.

Claims

Revendications [Revendication 1] Procédé de traitement d'un flux de données comprenant des lots de paquets (104) définis chacun par une chaine de protocoles de communication associée à au moins une session, caractérisé en ce qu'il comprend les étapes suivantes :
-recevoir (SO) une pluralité de lots de paquets de données (104) via un canal de communication (106) et stocker lesdits lots de paquets (104) dans une mémoire temporaire (108) ;
-effectuer (S10), pour chaque lot de paquets de données (104), une analyse de protocoles (DAPD) permettant d'identifier les protocoles de communication de la chaine de protocoles, et valider (S11) au moins une session associée à la chaine de protocoles lorsque l'identification de la chaîne de protocoles est complète ;
- Calculer (S21) au moins une empreinte numérique de session (HS) associée à une chaîne de protocoles identifiée (PID) dont la session est validée lors de l'étape de validation (S11), et -enregistrer (S22) là ou lesdites empreintes numériques de session (HS) calculées dans au moins une table de hash (TH), et sauvegarder une liste (LM) des métadonnées associées (MPID) aux protocoles identifiés (PID) de la chaine de protocoles de la session validée dans une base de données de connaissance (BDDS) ;
-générer (S30) au moins un déclencheur (114) basé sur les résultats d'analyse de protocoles (DAPD), dans lequel l'activation du déclencheur (114) est indicative de la correspondance entre au moins une règle d'identification de métadonnées cibles (MC), et les métadonnées associées (MPID) aux protocoles identifiés (PID) dont la liste (LM) est enregistrée dans la base de données de connaissance (BDDS) ;
-analyser (S40) les métadonnées associées (MPID) aux protocoles identifiés (PID) des paquets de données de la session validée, stockés dans les moyens de mémoire temporaire (108) en fonction de la liste (LM) enregistrée des métadonnées associées (MPID) aux protocoles identifiés (PID) dans la base de données de connaissance (BDDS), et vérifier si les métadonnées associées (MPID) aux protocoles identifiés (PID) sont en accord avec la règle d'identification de métadonnées cibles (MC) du déclencheur (114) ;
- en cas d'accord avec la règle d'identification de métadonnées cibles (MC), activer (S50) le déclencheur (114) et attribuer à au moins une empreinte numérique de session (HS) de la session validée un statut de sauvegarde (SV) ; et -vider (S60) la mémoire temporaire (108) de chaque lot de paquets de données dont l'empreinte numérique de session est dépourvue d'un statut de sauvegarde (SV), et enregistrer (S61) sur une mémoire de stockage (116) pour un traitement ultérieur, l'ensemble des paquets de données dont au moins une empreinte numérique de session (HS) associée est pourvue d'un statut de sauvegarde (SV).
[Revendication 2] Procédé selon la revendication 1, dans lequel l'étape d'activation (S50) du déclencheur (114) comprend une sous-étape de mise à
jour (S51) de la table de hash (TH) enregistrée à la suite de l'étape d'enregistrement (S22) d'au moins une empreinte numérique de session (HS), par attribution d'un statut de sauvegarde (SV) à au moins une empreinte numérique de session (HS).
[Revendication 3] Procédé selon la revendication 1 ou 2, dans lequel l'étape de vidage (S60) de la mémoire temporaire (108) comprend une sous-étape de consultation (S61) de la table de hash (TH) pour vérifier si au moins une des empreintes numériques de session (HS) associées aux paquets de données sujet au vidage (S60) est pourvue d'un statut de sauvegarde (SV).
[Revendication 4] Procédé selon l'une des revendications 1 à 3, caractérisé
en ce que l'étape d'analyse (S40) des métadonnées associées au protocoles identifiés (PID) des paquets de données de la session validée, comprend une sous-étape supplémentaire d'analyse de métadonnées associées au contenu attaché (MP) de la chaîne de protocole de la session validée, mise en oeuvre si au moins une règle d'identification de métadonnées cibles (MC) du déclencheur (114) comprend des métadonnées cibles (MC) en relation avec le contenu attaché (MP).
[Revendication 5] Procédé selon l'une des revendications 1 à 4, caractérisé
en ce que le déclencheur (114) est apte à traiter et appliquer une liste dynamique de règles d'identification de métadonnées cibles (MC).

[Revendication 6] Procédé selon l'une des revendications 1 à 5, caractérisé
en ce que les métadonnées cibles (MC) des règles d'identification du déclencheur (114) appartiennent au groupe formé par métadonnées natives, métadonnées calculées à partie de formules mathématiques choisies.
[Revendication 7] Procédé selon l'une des revendications 1 à 6, dans lequel les métadonnées cibles (MC) sont représentatives de paramètres réseau choisis appartenant au groupe formé par IP destinataire, IP source, Port destinataire, Port Source, protocole, adresse IP, port, paramètres de qualité
de service OoS, Tag de réseau, Volume de la session, taille des paquets, nombre de répétition (retry en anglais), version, type et version de l'algorithme de chiffrement, type de chiffrement, CERT (Computer Emergency Response Team en anglais) du certificat , valeur du SNI (indication du nom du serveur ou Server Name Indication en anglais), Taille des paquets, IP retournée, drapeau d'erreurs (flag error en anglais), nom de domaine, version du client, version du serveur, version d'algorithme de chiffrement, algorithme de compression, horodatage, Version d'IP, nom d'hébergeur (hostname en anglais), durée de bail (lease-time en anglais), URL, agent d'utilisateur, nombre d'octet du contenu attaché, type de contenu, code d'état, entête de cookie, nom du client, service de la requête, valeur du code d'erreur, type de requête, valeur du protocole, horodatage de réponse, niveau de privilège, type et langue du clavier, identification du produit, taille d'écran, ou toute autres métadonnées spécifiques analogues extraites des protocoles dans un ou plusieurs paquets de données de la session validée, métadonnées spécifiques analogues extraites du contenu attaché à un ou plusieurs paquets de données de la session validée.
[Revendication 8] Procédé selon l'une des revendications 1 à 7, dans lequel l'exécution de l'étape (S10) d'analyse de protocoles (DAPD), et l'exécution de l'étape d'analyse (S40) des métadonnées des paquets de données de la session validée (MPID), se font sur des paquets de données de la couche 2 à
la couche 7 du modèle OSI.
[Revendication 9] Système (102) de traitement d'un flux de données comprenant des lots de paquets définis chacun par une chaine de protocoles de communication rattaché à au moins une session, caractérisé en ce qu'il comprend -des moyens d'interface réseau (NIC) configurés pour recevoir un flux de données en provenance d'un canal de communication (106) ;
-un processeur (202) comprenant au moins un c ur de traitement (204) pour traiter un nombre prédéterminé de paquets de données par minute (ppm) ;
- une mémoire temporaire (108), couplée au processeur (202), et apte à
mettre en mémoire une pluralité de lots de paquets de données (104) en provenance des moyens d'interface réseau (NIC) ;
-un moteur d'analyse de protocoles (206) exécutable sur au moins un c ur de traitement (204), dans lequel le moteur d'analyse de protocoles (206) est apte à :
recevoir (SO) une pluralité de lots de paquets de données (104) dans un délai prédéfini via un canal de communication (106);
effectuer (S10), pour chaque lot de paquets de données, une analyse de protocoles (DAPD) permettant d'identifier les protocoles de communication de la chaine de protocoles, et valider au moins une session associée ;
calculer (S21) au moins une empreinte numérique de session (HS) associé à une chaîne de protocole identifiée (PID) dont la session est validée, et enregistrer (S22) l'empreinte numérique de session calculée (HS) dans au moins une table de hash (TH), et sauvegarder une liste (LM) des métadonnées associées (MPID) aux protocoles identifiés (PID) de la chaine de protocoles de la session validée dans une base de données de connaissance (BDDS) ;
-un moteur de surveillance (306) exécutable sur au moins un c ur de traitement (204), dans lequel le moteur de surveillance (306) est apte à :
générer (S30) au moins un déclencheur (114) basé sur les résultats d'analyse de protocoles (DAPD), dans lequel l'activation du déclencheur (114) est indicative de la correspondance entre au moins une règle d'identification de métadonnées cibles (MC), et la liste (LM) des métadonnées associées (MP ID) aux protocoles identifiés (PID) de la chaine de protocoles de la session validée;

analyser (S40) les métadonnées des paquets de données de la session validée, stockés dans les moyens de mémoire temporaire (108) en fonction de la liste (LM) enregistrée des métadonnées associées (MPID) aux protocoles identifiés (PID) dans la base de données de connaissance (BDDS), et vérifier si les métadonnées associées (MPID) aux protocoles identifiés (PID) sont en accord avec la règle d'identification de métadonnées cibles (MC) du déclencheur (114) ;
en cas d'accord avec la règle d'identification de métadonnées cibles (MC), activer (S50) le déclencheur (114) et attribuer à au moins une empreinte numérique de session (HS) de la session validée un statut de sauvegarde (SV) ; et mettre en uvre le vidage (S60) des moyens de mémoire temporaire (108) pour chaque lot de paquets de données dont la ou les empreintes numériques de session (HS) sont dépourvues d'un statut de sauvegarde (SV) ; et -une mémoire de stockage (116) couplée au processeur (202) apte à enregistrer (508) pour un traitement ultérieur, l'ensemble des paquets de données dont l'empreinte numérique de session (HS) associée est pourvue d'un statut de sauvegarde (SV).
[Revendication 10] Système (102) selon la revendication 9, caractérisé en ce que le moteur de surveillance (306) est configuré pour mettre à jour (S51) la table de hash (TH) enregistrée à la suite de l'étape d'enregistrement (S22) d'au moins une empreinte numérique de session (HS), par attribution d'un statut de sauvegarde (SV) à au moins une empreinte numérique de session (HS) en cas d'activation (S50) du déclencheur (114).
[Revendication 11] Système (102) selon la revendication 9 ou 10, caractérisé
en ce que le moteur de surveillance (306) est configuré pour consulter (S61) la table de hash (TH), et vérifier si la ou les empreintes numériques de session (HS) associées aux paquets de données dont la session est validée, sont pourvues d'un statut de sauvegarde (SV).
[Revendication 12] Système (102) selon l'une des revendications 9 à 11, caractérisé en ce que le moteur de surveillance (306) est configuré pour analyser des métadonnées associées au contenu attaché (MP) de la chaîne de protocole de la session validée lors de l'analyse (S40) des métadonnées associées (MPID) aux protocoles identifiés (PID) des paquets de données de la session validée, si au moins une règle d'identification de métadonnées cibles (MC) du déclencheur (114) comprend des métadonnées cibles (MC) en relation avec le contenu attaché.
[Revendication 13] Système (102) selon l'une des revendications 9 à 12, caractérisé en ce que les moyens de mémoire temporaire (108) sont vidés progressivement lorsque l'utilisation de la mémoire vive associée est comprise entre 95% à 98%.
[Revendication 14] Système (102) selon la revendication 9 à 13, caractérisé
en ce que le vidage des moyens de mémoire temporaire (108) est effectué
chronologiquement par suppression des paquets de données les plus anciens à un rythme de vidage choisi.
Claims [Claim 1] Method for processing a data stream including batches of packets (104) each defined by a chain of protocols communication associated with at least one session, characterized in that it includes the following steps:
-receive (SO) a plurality of batches of data packets (104) via a channel of communication (106) and storing said batches of packets (104) in a memory temporary (108);
-perform (S10), for each batch of data packets (104), an analysis of protocols (DAPD) to identify the communication protocols of there chain of protocols, and validate (S11) at least one session associated with the chain of protocols when the identification of the protocol chain is complete ;
- Calculate (S21) at least one associated digital session fingerprint (HS) to one identified protocol chain (PID) whose session is validated during the stage of validation (S11), and -record (S22) where said digital session fingerprints (HS) calculated in at least one hash table (TH), and save a list (LM) of metadata associated (MPID) with the identified protocols (PID) of the chain of session protocols validated in a knowledge database (BDDS);
-generate (S30) at least one trigger (114) based on the analysis results of protocols (DAPD), in which activation of the trigger (114) is indicative of the match between at least one metadata identification rule targets (MC), and the associated metadata (MPID) to the identified protocols (PID) including the list (LM) is recorded in the knowledge database (BDDS);
-analyze (S40) the associated metadata (MPID) with the identified protocols (PID) data packets from the validated session, stored in the means of temporary memory (108) according to the recorded list (LM) of metadata associated (MPID) with identified protocols (PID) in the database knowledge data (BDDS), and check whether the associated metadata (MPID) to identified protocols (PID) are in accordance with the rule identification target metadata (MC) of the trigger (114);
- in case of agreement with the target metadata identification rule (MC), activate (S50) the trigger (114) and assign to at least one digital fingerprint of session (HS) of the validated session a save status (SV); And -empty (S60) the temporary memory (108) of each batch of data packets of which the session digital fingerprint does not have a save status (SV), and recording (S61) to a storage memory (116) for processing subsequently, all the data packets including at least one fingerprint associated digital session (HS) has a save status (SV).
[Claim 2] Method according to claim 1, wherein the step activation (S50) of the trigger (114) comprises a sub-step of updating day (S51) of the hash table (TH) recorded following the step recording (S22) of at least one digital session fingerprint (HS), by assigning a backup status (SV) to at least one fingerprint digital session (HS).
[Claim 3] Method according to claim 1 or 2, in which step emptying (S60) of the temporary memory (108) comprises a sub-step of consultation (S61) of the hash table (TH) to check if at least one of the session fingerprints (HS) associated with data packets subject to emptying (S60) is provided with a backup status (SV).
[Claim 4] Method according to one of claims 1 to 3, characterized in that the step of analyzing (S40) the metadata associated with the protocols identified (PID) of the data packets of the validated session, includes a additional sub-step of analyzing metadata associated with the content attached (MP) of the validated session protocol chain, implemented if at least one target metadata (MC) identification rule of the trigger (114) includes target metadata (MC) relating to the attached content (MP).
[Claim 5] Method according to one of claims 1 to 4, characterized in that the trigger (114) is able to process and apply a list dynamics of target metadata (MC) identification rules.

[Claim 6] Method according to one of claims 1 to 5, characterized in that the target metadata (MC) of the identification rules of the trigger (114) belong to the group formed by native metadata, metadata calculated from selected mathematical formulas.
[Claim 7] Method according to one of claims 1 to 6, in which the target metadata (MC) is representative of network parameters chosen belonging to the group formed by destination IP, source IP, Port recipient, Source Port, protocol, IP address, port, quality settings of OoS service, Network tag, Session volume, packet size, number retry, version, type and version of the retry algorithm encryption, encryption type, CERT (Computer Emergency Response Team in English) of the certificate, value of the SNI (indication of the name of the server Or Server Name Indication in English), Packet size, Returned IP, flag error flag, domain name, client version, version of server, encryption algorithm version, compression algorithm, timestamp, IP version, host name, duration of lease (lease-time in English), URL, user agent, number of bytes of the content attached, content type, status code, cookie header, client name, service of the request, error code value, request type, protocol value, response timestamp, privilege level, keyboard type and language, product identification, screen size, or other metadata specific analogs extracted from the protocols in one or more packets validated session data, similar specific metadata extracted from the content attached to one or more data packets from the session validated.
[Claim 8] Method according to one of claims 1 to 7, in which executing the protocol analysis step (S10) (DAPD), and executing the step of analyzing (S40) the metadata of the data packets of the validated session (MPID), are carried out on data packets from layer 2 to layer 7 of the OSI model.
[Claim 9] System (102) for processing a stream of data comprising batches of packets each defined by a chain of protocols communication attached to at least one session, characterized in that it understand -network interface means (NIC) configured to receive a stream of data in coming from a communication channel (106);
-a processor (202) comprising at least one processing core (204) for to treat a predetermined number of data packets per minute (ppm);
- a temporary memory (108), coupled to the processor (202), and capable of bring into memory a plurality of batches of data packets (104) coming from the network interface means (NIC);
-a protocol analysis engine (206) executable on at least one core processing (204), in which the protocol analysis engine (206) is capable has :
receive (SO) a plurality of batches of data packets (104) within a time predefined via a communication channel (106);
perform (S10), for each batch of data packets, an analysis of protocols (DAPD) making it possible to identify the communication protocols of the chain of protocols, and validate at least one associated session;
calculate (S21) at least one digital session fingerprint (HS) associated with a identified protocol string (PID) whose session is validated, and record (S22) the calculated session fingerprint (HS) in at least a hash table (TH), and save a list (LM) of associated metadata (MPID) to the identified protocols (PID) of the protocol chain of the session validated in a knowledge database (BDDS);
-a monitoring engine (306) executable on at least one processing core (204), in which the monitoring engine (306) is capable of:
generate (S30) at least one trigger (114) based on the analysis results of protocols (DAPD), in which activation of the trigger (114) is indicative of the match between at least one metadata identification rule targets (MC), and the list (LM) of metadata associated (MP ID) with the protocols identified (PID) of the protocol chain of the validated session;

analyze (S40) the metadata of the data packets of the validated session, stored in the temporary memory means (108) according to the list (LM) recorded associated metadata (MPID) with identified protocols (PID) in the knowledge database (BDDS), and check if the metadata associated (MPID) with identified protocols (PID) are in accordance with the rule identifying target metadata (MC) of the trigger (114);
in case of agreement with the target metadata identification rule (MC), enable (S50) the trigger (114) and assign to at least one digital fingerprint of session (HS) of the validated session a save status (SV); And implement the emptying (S60) of the temporary memory means (108) to each batch of data packets whose digital fingerprint(s) session (HS) do not have a save status (SV); And -a storage memory (116) coupled to the processor (202) capable of recording (508) for further processing, all the data packets including the imprint associated digital session (HS) has a save status (SV).
[Claim 10] System (102) according to claim 9, characterized in that that the monitoring engine (306) is configured to update (S51) the hash table (TH) recorded following the recording step (S22) from to least a session digital fingerprint (HS), by assigning a status of backup (SV) to at least one session fingerprint (HS) in case activation (S50) of the trigger (114).
[Claim 11] System (102) according to claim 9 or 10, characterized in that the monitoring engine (306) is configured to consult (S61) there hash table (TH), and check if the session fingerprint(s) (HS) associated with data packets whose session is validated, are provided with a safeguard status (SV).
[Claim 12] System (102) according to one of the claims 9 to 11, characterized in that the monitoring engine (306) is configured to analyze metadata associated with the attached content (MP) of the chain of protocol of the session validated during the analysis (S40) of the metadata associated (MPID) with the identified protocols (PID) of the data packets the validated session, if at least one metadata identification rule targets (MC) of the trigger (114) includes target metadata (MC) related with attached content.
[Claim 13] System (102) according to one of the claims 9 to 12, characterized in that the temporary memory means (108) are emptied gradually when the use of the associated RAM is understood between 95% to 98%.
[Claim 14] System (102) according to claim 9 to 13, characterized in that the emptying of the temporary memory means (108) is carried out chronologically by deleting the oldest data packets at a chosen emptying rate.
CA3226760A 2021-09-07 2022-09-07 Method and system for monitoring and managing data traffic Pending CA3226760A1 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
FRFR2109380 2021-09-07
FR2109380A FR3126832B1 (en) 2021-09-07 2021-09-07 METHOD AND SYSTEM FOR MONITORING AND MANAGING DATA TRAFFIC
PCT/EP2022/074918 WO2023036847A1 (en) 2021-09-07 2022-09-07 Method and system for monitoring and managing data traffic
EPPCT/EP2022/074915 2022-09-07
PCT/EP2022/074915 WO2023036846A1 (en) 2021-09-07 2022-09-07 Method and system for analysing data flows

Publications (1)

Publication Number Publication Date
CA3226760A1 true CA3226760A1 (en) 2023-03-16

Family

ID=83398342

Family Applications (1)

Application Number Title Priority Date Filing Date
CA3226760A Pending CA3226760A1 (en) 2021-09-07 2022-09-07 Method and system for monitoring and managing data traffic

Country Status (2)

Country Link
CA (1) CA3226760A1 (en)
WO (1) WO2023036847A1 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160112287A1 (en) * 2014-10-16 2016-04-21 WildPackets, Inc. Storing and analyzing network traffic data
US11336542B2 (en) * 2020-06-03 2022-05-17 Capital One Services, Llc Network packet capture manager

Also Published As

Publication number Publication date
WO2023036847A1 (en) 2023-03-16

Similar Documents

Publication Publication Date Title
US11252054B2 (en) Dynamically modifying a service chain based on network traffic information
US20240163253A1 (en) Network security analysis system with reinforcement learning for selecting domains to scan
US10250466B2 (en) Application signature generation and distribution
CN111953641A (en) Classification of unknown network traffic
US20150096008A1 (en) Method for providing authoritative application-based routing and an improved application firewall
US9686173B1 (en) Unsupervised methodology to unveil content delivery network structures
WO2008056041A1 (en) Method and device for providing a charge balance based on the flow
US20220083661A1 (en) Utilizing Machine Learning to detect malicious Office documents
CN112019449B (en) Traffic identification packet capturing method and device
US20240028721A1 (en) Utilizing Machine Learning to detect malicious executable files efficiently and effectively
CN113364804B (en) Method and device for processing flow data
US11650994B2 (en) Monitoring network traffic to determine similar content
FR2974965A1 (en) METHOD OF DETECTING INTRUSIONS
CA3226760A1 (en) Method and system for monitoring and managing data traffic
EP4399850A1 (en) Method and system for monitoring and managing data traffic
EP2847939A1 (en) Data transmission system
CA3103363A1 (en) Identification of a protocol of a data stream
JP5287898B2 (en) Flow monitoring apparatus, flow monitoring method and program
EP3402158B1 (en) Improved avionics security gateway and aircraft comprising such a gateway
EP2365680A1 (en) Dynamic webpage management device for analysing their visit rate and audience
EP3035639B1 (en) Method of unauthorized port-scan detection in a computer network, associated computer program and device
WO2023036846A1 (en) Method and system for analysing data flows
EP4399862A1 (en) Method and system for analysing data flows
US11082510B2 (en) Identifying a push communication pattern
WO2018056895A1 (en) Real-time packet reconstruction technology - rtpr