WO2005086455A2 - Procede, systeme et dispositif de temporisation d'un flux de paquets de donnees - Google Patents

Procede, systeme et dispositif de temporisation d'un flux de paquets de donnees Download PDF

Info

Publication number
WO2005086455A2
WO2005086455A2 PCT/FR2005/050137 FR2005050137W WO2005086455A2 WO 2005086455 A2 WO2005086455 A2 WO 2005086455A2 FR 2005050137 W FR2005050137 W FR 2005050137W WO 2005086455 A2 WO2005086455 A2 WO 2005086455A2
Authority
WO
WIPO (PCT)
Prior art keywords
data
module
receiver
software
transmitter
Prior art date
Application number
PCT/FR2005/050137
Other languages
English (en)
Other versions
WO2005086455A3 (fr
Inventor
Cécile BUCARI
Rodolphe Hugel
Olivier Schott
Nicolas Stehle
Original Assignee
Everbee Networks
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
Application filed by Everbee Networks filed Critical Everbee Networks
Priority to EP05739712A priority Critical patent/EP1723772A2/fr
Publication of WO2005086455A2 publication Critical patent/WO2005086455A2/fr
Publication of WO2005086455A3 publication Critical patent/WO2005086455A3/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2871Implementation details of single intermediate entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content

Definitions

  • the present invention relates to a method and a system applying to a device cut off in a computer network, traversed by a stream of data packets and having the objective of selective analysis and / or modification and / or selective filtering of the data packet stream.
  • the method allows the device to achieve these objectives by minimizing the necessary computer resources, memory and / or computing power, while improving the performance of the device.
  • the rules (protocol) for circulating data on the Internet are known as Internet Protocol (IP for Internet Protocol, see RFC 791). This protocol is based on the OSI standard model (cf. ISO / IEC 7498-1: 1994).
  • the OSI model structures the data passing over the network into 7 layers: Layer 7, or application layer, allows the interface with applications.
  • Layer 6, or presentation layer defines the format of the data.
  • Layer 5, or session layer defines the opening of sessions on machines on the network.
  • Layer 4, or transport layer makes it possible to control the transport of data and to manage errors.
  • the TCP protocol (cf. Transmission Control Protocol: RFC 793) is the most common implementation of the transport layer.
  • Layer 3, or network layer defines the routing of data.
  • Layer 2, or data link layer defines the interface with the network card.
  • Layer 1, or physical layer defines how data is converted to digital signals.
  • the problem to be solved is therefore to be able to offer systems providing services on the network a means enabling them to provide these services, while retaining the constraint of limiting computer resources and without losing the advantages of the "black boxes" mentioned above. .
  • PRIOR ART The solutions adopted today in on-board systems for performing services of the type of those mentioned above, implement a technology called session inspection or “stateful inspection”: a table maintains the list of flows which have been authorized. through the "black box” and these authorized flows can be modified in order to provide the services.
  • the analysis of the flow is carried out up to the application layers (layer 5 to 7 of the OSI model), the technology is then called content inspection or "content inspection".
  • content inspection content inspection
  • the invention which is the subject of this patent makes it possible to solve the problems mentioned above without having the drawbacks of the prior art. It overcomes the problems and limitations of existing technologies by proposing an inventive solution.
  • Solution Method The invention relates to a method applying to a device cut off in a computer network and traversed by a stream of data packets.
  • the objective of the device is to analyze and / or selectively modify and / or selectively filter the flow of data packets.
  • the method allows the device to achieve these objectives by minimizing the necessary computer resources, memory and / or computing power, while improving the performance of the device.
  • the method includes a timing step.
  • Timing consists in temporarily retaining in the device all or part of the data, in particular data of the application layers, of the flow of data packets which pass through it, in a transparent manner for the sender and the receiver of the flow of data packets, independently timed data and dynamically adapting the size of the timed data to the objectives.
  • the device comprises software, a first module, a second module and at least one memory, a part of which is of variable size, hereinafter called the timing window, is intended for timing.
  • the timer includes an initial substep for the software to set the size of the time window and initialize the first module and the second module.
  • the timer comprises a sub-step for the first module to receive all or part of the packets of the stream.
  • the timer includes a sub-step for the first module to replace the receiver with the transmitter for all the information exchange operations with the transmitter that the receiver would have carried out if it had itself carried out the reception, so that the time delay is transparent to the transmitter.
  • the timing includes a sub-step for the first module to place in the timing window, all or part of the data, in particular application data, of the packet received by the first module.
  • the timing includes a sub-step for the software to be informed that new data is available in the timing window.
  • the timing includes a sub-step for the software to analyze and / or to selectively modify and / or to selectively filter the data contained in the timing window.
  • the timer comprises a sub-step for the software to inform the second module that data from the timer window are to be transmitted.
  • the timer includes a substep for the second module to send the data to be sent to the receiver.
  • the method further comprises a substep, for the second module, of replacing the transmitter with the receiver for all the information exchange operations with the receiver that the transmitter would have performed if he had carried out himself the transmission of data, so that the time delay is transparent to the receiver.
  • the timer comprises a substep for the second module to inform the first module and / or the software that the data have been sent.
  • the timing includes a substep for the software to modify the size of the timing window.
  • System The invention also relates to a system which comprises a device cut off in a computer network and traversed by a stream of data packets. The objective of the device is to analyze and / or selectively modify and / or selectively filter the flow of data packets. The device achieves these objectives by minimizing the necessary computer resources, memory and / or computing power, while improving the performance of the device.
  • the device includes timing means.
  • the timing means temporarily retain in the device all or part of the data, in particular data from the application layer, from the data packet stream, in a manner transparent to the sender and the receiver of the data packet stream, independently of the data. and by dynamically adapting the size of the timed data to the objectives.
  • the device comprises software, a first module, a second module and at least one memory, part of which is of variable size, hereinafter called the timing window.
  • the device comprises initialization means allowing the software to fix the size of the time window and to initialize the first module and the second module.
  • the device comprises reception means allowing the first module to receive all or part of the packets of the stream.
  • the first module is intended to replace the receiver with the transmitter for all the information exchange operations with the transmitter that the receiver would have carried out if it had carried out itself on reception, so that the time delay is transparent to the transmitter.
  • the first module is intended to place in the time window, all or part of the data, in particular application data, of the packet received by the first module.
  • the system is such that the software is informed that new data is available in the time window.
  • the software is associated with computer processing means to selectively analyze and / or modify and / or selectively filter the data contained in the time window.
  • the system has means allowing the software to inform the second module that data from the time window are to be transmitted.
  • the second module comprises means for transmitting the data to be transmitted to the receiver.
  • the second module replaces the transmitter with the receiver for all the information exchange operations with the receiver that the transmitter would have carried out if it had carried out the data transmission, so that the timer is transparent to the receiver.
  • the system has means allowing the second module to inform the first module and / or the software that the data have been transmitted.
  • the software is associated with means for modifying the size of the timing window.
  • FIG. 1 represents the general diagram of the invention. interconnection of the system acting in the invention with a computer network.
  • the system which is the subject of the present invention applies to a device D placed in cutoff on any computer network R: it may be the Internet, an Intranet network, a home network or even just two posts linked together. Cut means the physical separation of the network R into two subnetworks linked together using the device D. Thus, the entire flow of data packets passing from one subnetwork to the other subnetwork must pass through the device D.
  • the purpose of device D is to provide security services on the fly on the flow of FPD data packets which passes through it.
  • sender A and receiver B to designate the sender of the FPD data packet stream and the receiver of the FPD data packet stream.
  • the services are provided by software L.
  • the software L uses specialized "hardware" blocks to perform all or part of the services.
  • the device D has a memory ME shared by the software L and by other computer processing carried out by the device D.
  • an "anti-spam” service carried out on the mail reception flows e.
  • This "anti-spam” service consists in analyzing only the subject field of e-mails and, when an unsolicited mail is identified, in adding the tag "[SPAM]" at the beginning of the subject of the mail in order to inform the 'user. Mail can then be automatically directed to a special mailbox.
  • E-mail receipts are carried out on flows following the TCP / IP protocols, that is to say sequenced flows comprising an acknowledgment system ("acknoledgement").
  • the acknowledgment system is one of the reliability services offered by TCP: an acknowledgment is generated and sent by the receiver of a message to its sender to signal to the latter that he has received part of the message data. The part of the data well received is designated in the acknowledgment, these are the acknowledged data.
  • the subject field of the email is split into two packets, the first containing the "Pu” application data and the next containing the "blicity” application data.
  • the software L On receipt of the first packet containing "Pu”, the software L identifies during its analysis (of content inspection type) the presence of the object field. Analysis also shows that this object is not complete. The software L therefore decides to initiate a timing of the flow of FPD data packets. The L software then allocates the time window
  • the FT within the ME memory. It sets the size of the FT time window to 50 characters because it is the average size of an email object.
  • the software L finally places the data of the application layers of the current packet, that is to say "Pu", in the time window FT.
  • the software L also initializes a first module Ml and a second module M2 with the data of the lower layers of the current packet. In accordance with the TCP / IP protocols, this data contains inter alia the IP addresses of receiver B and transmitter A but also a sequencing number (Si) and an acknowledgment number (Al) of the current packet.
  • the first module Ml then generates an acknowledgment for the data of the time-delayed packet "Pu" and sends it to the transmitter A: it is capable of generating this acknowledgment since, at its initialization, it has received (SI) and (Al) . It therefore calculates for this acknowledgment, a sequencing number worth (Al) and an acknowledgment number worth: (SI) + the length of the data "Pu".
  • the first module M1 uses the IP address of the acknowledgment packet as the IP address of the receiver B so that for the transmitter A it is the receiver B which will appear to have sent the acknowledgment: the timing of the "Pu" packet will be transparent to transmitter A. The timing is then initialized.
  • the “blicity” arrives in the device D, it is the first module Ml which receives it. It then generates an acknowledgment for the data of this second packet and sends it to the transmitter A: here again the module M1 is capable of generating this acknowledgment since it is consecutive to that generated during the initialization phase. It therefore calculates for this acknowledgment, a sequencing number worth again (Al) and an acknowledgment number worth: (SI) + the length of the "Advertising" data.
  • the first module M1 uses the IP address of the acknowledgment packet as the IP address of the receiver B so that for the transmitter A it is the receiver B which will appear to have sent the acknowledgment.
  • the timing of the "blicity" packet will be transparent to the sender A.
  • the application data received that is to say,
  • the first Ml module places “blicity” in the window, thus reconstituting the "Advertising” object. Finally, it signals to the software L that the time delay window FT contains new data. This can then resume its analysis on the entire "Advertising" subject field and identify unsolicited mail. It then changes the "Advertising" object to "[SPAM] Advertising". The processing of this object being finished, it signals to the second module M2 that all the data of the time delay window FT can be transmitted. The second module M2 then transmits the modified data "[SPAM] Advertising" to receiver B, deletes them from the time window FT and signals to L and to the first module
  • the second module is capable of generating a coherent flow towards the receiver B since the sequencing and acknowledgment numbers to be used are those of the "Pu" packet which it received on initialization: (SI) and (A1).
  • the addition of the tag "[SPAM]" in the data therefore generates a shift in the overall sequencing of the FPD flow equal to the size of the data added: in fact, at the input of the device D "Advertising” had a sequencing (SI ).
  • the chain "Publicity" has a sequencing equal to: (SI) + the size of the tag "[SPAM]".
  • the suite of TCP / IP protocols i-n includes a checksum system to guarantee against any modification of the packet data, it is a kind of signature of the packet data inserted in its header (in the OSI layer 4).
  • the second module M2 therefore calculates the checksum corresponding to the modified data and inserts it into the generated FPD stream.
  • the second module M2 uses the IP address of the transmitter as the transmitter IP address of the acknowledgment packet.
  • the time delay will be transparent for the receiver B.
  • L receives the information that the data has been sent, it signals to the modules Ml and M2 that the timer has ended and deallocates the timer window FT, thereby freeing up part of the memory ME.
  • the rest of the FPD stream coming from the transmitter A will however be modified by the second module M2 in terms of the data of the low layers.
  • the sequencing and acknowledgment numbers must continue to be offset by the size of the data that has been added.
  • This example clearly shows how easily the present invention allows the system to perform the service.
  • This example does not limit the present invention to placing data from the application layers in the FT time window.
  • the data placed in the FT time window can come from any OSI layer if necessary.
  • This example does not limit the modules M1 and M2 of the present invention to the treatments described in the example.
  • the modules M1 and M2 can take care of any processing on the FPD flow, in particular up to the level of the application layers.
  • the first module M1 may need to generate application data and send it to the emitter A, to force the emitting application to continue sending the FPD stream to it.
  • the modules M1 and M2 each have their own transmission buffer and reception buffer, hereinafter called transmission buffer and reception buffer.
  • the first module M1 can place data as soon as space becomes available in the window, that is to say as soon as it receives the information from the second module M2 that data has been released.
  • the reception buffer specific to the first module M1 is full, the packets sent by the transmitter A are no longer acknowledged.
  • Transmitter A must therefore, according to the rules of the TCP / IP protocol, re-transmit these packets.
  • the advantage for the second module M2 is to make asynchronous the release of data from the time delay window FT and the transmission of data to the receiver
  • the first module M1 When the third packet, containing "bli" is recreated, the first module M1 then places both the "bli” data and the "cited” data in the time window FT, thus reconstituting the "Advertising" object.
  • the continuation of the treatments is identical to that described previously.
  • This example clearly shows how easily the present invention allows the system to perform the service even when the FPD data packet flow is out of sequence.
  • the first module M1 places data in the time delay window FT, it does not hold account of the distribution in packets that these data followed when they were received. Let us take an example where L fixed the size of the FT time window at 150 bytes.
  • the first module M1 receives two packets of 100 bytes of application data, it places in the window the data of the entire first packet and half of the data of the second, thus filling the time window FT. This therefore optimizes the amount of data placed in the window, that is to say the amount of data that can be analyzed by the software L.
  • the data of the lower layers corresponding to the timed application data are kept in the form of a linked list. by the system which is the subject of the present invention.
  • the software L can modify this linked list. This allows the system to perform services requiring analysis and / or modifications of the lower layers, in particular NAT — PT services (cf. RFC 3022, Traditional IP Network Translater, P. Srisuresh,
  • the software L is capable of starting the timing in the middle of the flow of FPD data packets, thus optimizing the processing costs and the amount of memory used at the start of the flow.
  • the L software is capable of increasing and / or reducing the size of the FT time window at any time, thus optimizing the amount of memory used.
  • the software L is capable of stopping the timer before the end of the stream by completely freeing the timer window FT, thus optimizing the amount of memory used at the end of the FPD stream.
  • the time delay is therefore only carried out when it is necessary and uses an adequate amount of memory.
  • the reception buffer of the second module M2 can be released: the transmission buffer of the first module M1 then also becomes reception buffer for the second module M2 .
  • the software L stops the timer without having ever modified the FPD flow it can signal to the second module M2 that there is no change to. apply low layer data to the rest of the FPD flow, further optimizing processing costs.
  • the modules Ml and M2 are made wholly or partly in "hardware".
  • the software L has access to blocks
  • the present invention allows the system to time out any type of flow, independently of the data of the application layers, that is to say, independently of the application passing through the network R.
  • the modules M1 and M2 play symmetrical roles for the processing of the reverse flow to the FPD flow: when the transmitter A becomes receiver and the receiver B becomes transmitter, a new time window FT is created, the first module Ml plays the role of the second module M2 and vice versa.
  • the software L can then advantageously link the processing operations on the two inverse flows from one another.
  • the system object of the present invention thus allows a device to perform services on a stream of data packets while minimizing the necessary computer resources, memory and / or computing power, while improving the performance of the device. It is therefore particularly suitable for embedded systems, subject to constraints on IT resources for reasons of cost and size.

Abstract

La présente invention concerne un dispositif placé en coupure dans un réseau informatique, traversé par un flux de paquets de données et ayant pour objectif l'analyse et/ou la modification sélective et/ou le filtrage sélectif du flux de paquets de données. La présente invention consiste à retenir temporairement dans le dispositif tout ou partie des données qui le traversent, notamment des données des couches applicatives, et cela de façon transparente pour l'émetteur et le récepteur du flux de paquets de données et indépendamment des données temporisées. La taille des données temporisées est adaptée dynamiquement aux objectifs du dispositif. La présente invention permet au dispositif de réaliser ces objectifs en minimisant les ressources informatiques nécessaires, mémoire et/ou puissance de calcul, tout en améliorant les performances du dispositif.

Description

PROCEDE, SYSTEMES ET DISPOSITIF DE TEMPORISATION D'UN FLUX DE PAQUETS DE DONNEES
Préambule de la description Domaine concerné La présente invention concerne un procédé et un système s 'appliquant à un dispositif placé en coupure dans un réseau informatique, traversé par un flux de paquets de données et ayant pour objectif l'analyse et/ou la modification sélective et/ou le filtrage sélectif du flux de paquets de données. Le procédé permet au dispositif de réaliser ces objectifs en minimisant les ressources informatiques nécessaires, mémoire et/ou puissance de calcul, tout en améliorant les performances du dispositif. Les règles (protocole) de circulation des données sur le réseau Internet sont connues sous le nom de Protocole Internet (IP pour Internet Protocol, cf. RFC 791) . Ce protocole est basé sur le modèle standard OSI (cf. ISO/IEC 7498-1 :1994) . Le modèle OSI structure les données transitant sur le réseau en 7 couches : La couche 7, ou couche application, permet l'interface avec les applications . La couche 6, ou couche présentation, définit le format des données. La couche 5, ou couche session, définit l'ouverture des sessions sur les machines du réseau. La couche 4, ou couche transport, permet de contrôler le transport des données et de gérer les erreurs. Le protocole TCP (cf. Transmission Control Protocol : RFC 793) est 1 'implémentation de la couche transport la plus courante. La couche 3, ou couche réseau, définit l'acheminement (routage) des données . La couche 2, ou couche liaison de données, définit l'interface avec la carte réseau. La couche 1, ou couche physique, définit la façon dont les données sont converties en signaux numériques . Nous utiliserons le terme de couches applicatives pour désigner les couches 5 à 7 du modèle OSI. Ces couches applicatives contiennent l'ensemble des informations nécessaires aux applications communiquant sur le réseau pour fonctionner et se comprendre. Nous réserverons le terme de couches basses pour désigner les couches 1 à 4 du modèle OSI. Les utilisateurs portent aujourd'hui un intérêt manifeste pour la sécurité des réseaux informatiques et demandent des moyens de lutte encore plus efficaces, entre autres contre les intrusions, contre les virus, contre les courriels non sollicités envoyés en masse, appelés usuellement "spam" et contre les fenêtres de publicité s Ouvrant automatiquement au-dessus des pages Web , appelées usuellement "popups" . Les attentes des utilisateurs sont multiples : ils souhaitent que tous ces services de sécurité soient combinés dans une solution tout-en-un, facile à déployer et transparente, c'est-à-dire une solution n'impliquant aucune installation sur la (ou les) machine (s) protégée (s) et ne nécessitant pas de reconfiguration des applications déjà installées. Par ailleurs, ils ne souhaitent pas qu'une part significative des ressources de la (ou des) machine (s) protégée (s) soient utilisée par ces services de sécurité. Enfin, les utilisateurs "nomades", en nombre croissant, demandent une sécurité personnelle qu'ils peuvent transporter avec eux dans leurs déplacements. Pour répondre à ces multiples attentes, les services de sécurité tendent de plus en plus à être réalisés sur des systèmes embarqués placés en coupure sur le réseau, c'est-à-dire placés dans une position telle que tout le flux de communication émis par et à destination de la (ou des) machine (s) protégée (s) traverse le système. Ces systèmes apparaissent le plus souvent comme des "boîtes noires", expression que nous utiliserons par la suite. Ces "boîtes noires" de sécurité cherchent à intégrer tous les services de sécurité dans un dispositif unique afin d'offrir une solution tout-en-un. Elles doivent de plus être petites, pour être aisément transportables, et réalisées à un coût raisonnable de façon à être abordables par tous les utilisateurs potentiels du réseau. Un exemple de « boite noire » est la clé Zeribow® commercialisée depuis fin 2004 par la société Everbee Networks, Paris, France, et à travers laquelle est rerouté tout le flux «de communications entre un ordinateur et un réseau informatique. Mais ces "boîtes noires" sont aujourd'hui confrontées aux limites des systèmes embarqués : les nouveaux services de sécurité demandés par les utilisateurs exigent une inspection temps réel de plus en plus en profonde du flux réseau. Ils nécessitent des ressources informatiques de plus en plus importantes, tant au niveau de la puissance de calcul que de la capacité mémoire. En effet, un nombre toujours croissant de services de sécurité doit être réalisé simultanément. Par ailleurs, ces nouveaux services de sécurité sont de plus en plus orientés application : ils nécessitent une analyse approfondie des flux réseaux allant jusqu'aux couches applicatives (par opposition aux services de type pare-feu se limitant à l'étude des couches transport et réseaux) , et requièrent donc des traitements exhaustifs et coûteux. Or pour un système embarqué, les ressources informatiques sont limitées par les contraintes de coût et d'encombrement. Les services offerts restent donc souvent limités et ne parviennent pas à répondre au niveau croissant d'exigence des utilisateurs, d'autant plus que ces limitations sont accentuées par la position des "boîtes noires" en coupure sur le réseau . Problème posé Pour circuler sur le réseau Internet, un message doit suivre les règles de circulation de données du protocole IP décrit précédemment : pour pouvoir être transmis à travers le réseau, un message est divisé par la machine émettrice en nombreux petits paquets comme les pièces d'un puzzle. Chaque paquet se voit ajouter un en-tête, une sorte d'enveloppe contenant l'ensemble des informations garantissant sa transmission : chaque paquet est, entre autres, numéroté et contient les adresses réseau des machines émettrices et réceptrices, appelées adresses IP. Ces paquets circulent sur le réseau séparément les uns des autres puis arrivent sur la machine réceptrice dans un ordre qui peut être différent de leur ordre initial. On parle alors de déséquencement. Ces paquets sont enfin rassemblés par la machine réceptrice qui lit puis supprime les en- êtes et reconstitue alors le message initial en réordonnant les paquets . Il en découle que les "boîtes noires" de sécurité voient passer les messages, en temps réel, sous forme de flux de paquets de données. Or, pour réaliser des services de sécurité sur ces flux, elles doivent analyser les messages, les modifier et/ou en supprimer certaines parties. On mesure alors toute la difficulté de réaliser un service sur un message lorsque l'on est trop limité en place mémoire pour stocker le message dans son intégralité et que l'on doit travailler à la volée sur des morceaux de ce message, des paquets qui, difficulté supplémentaire, peuvent être déséquencés . Le problème à résoudre est donc de pouvoir offrir aux systèmes réalisant des services sur le réseau, un moyen leur permettant de réaliser ces services, tout en gardant la contrainte de limitation des ressources informatiques et sans perdre les avantages des "boîtes noires" cités plus haut. Art antérieur Les solutions adoptées aujourd'hui dans les systèmes embarqués pour réaliser des services du type de ceux cités plus haut, implémentent une technologie dite inspection de session ou "stateful inspection" : une table tient à jour la liste des flux qui ont été autorisés à traverser la "boîte noire" et ces flux autorisés peuvent être modifiés afin de réaliser les services. Lorsque l'analyse du flux est réalisée jusqu'aux couches applicatives (couche 5 à 7 du modèle OSI) , la technologie est alors dite inspection de contenu ou "content inspection" . Cependant, parmi les solutions actuelles implémentant une inspection de contenu, rares sont celles qui sont capables de modifier le flux. La plupart ne peuvent qu'interdire un flux lorsque l'analyse révèle une menace pour la sécurité du réseau. En outre, soumise aux contraintes dues à leur position en coupure sur le réseau, ces "boîtes noires" ne peuvent réaliser qu'un traitement paquet par paquet : elles décident à chaque paquet des modifications à faire sur le flux de paquet, puis décident de transmettre (ou non) le paquet. Les paquets sont donc traités séparément les uns des autres. Les modifications apportées à un paquet ne peuvent donc prendre en compte le contenu des paquets précédents ou suivants. Au mieux, une sorte d'historique du flux est réalisé en prenant une "photo" de chaque paquet à son arrivée et en mettant ces photos bout à bout pour reconstituer une fenêtre du flux. La "boîte noire" peut dans ce cas consulter l'historique du flux lorsqu'elle reçoit un paquet. Mais sa décision de modifier et/ou de transmettre un paquet reste prise paquet par paquet et ne prend jamais en compte le contenu des paquets suivants . L'invention, objet du présent brevet, permet de résoudre les problèmes évoqués précédemment sans présenter les inconvénients de l'art antérieur. Elle pallie aux problèmes et aux limitations des technologies existantes en proposant une solution inventive. Solution Procédé L'invention concerne un procédé s 'appliquant à un dispositif placé en coupure dans un réseau informatique et traversé par un flux de paquets de données . Le dispositif a pour objectif l'analyse et/ou la modification sélective et/ou le filtrage sélectif du flux de paquets de données. Le procédé permet au dispositif de réaliser ces objectifs en minimisant les ressources informatiques nécessaires, mémoire et/ou puissance de calcul, tout en améliorant les performances du dispositif. Le procédé comprend une étape de temporisation. La temporisation consiste à retenir temporairement dans le dispositif tout ou partie des données, notamment des données des couches applicatives, du flux de paquets de données qui le traversent, de façon transparente pour l'émetteur et le récepteur du flux de paquets de données, indépendamment des données temporisées et en adaptant dynamiquement la taille des données temporisées aux objectifs. De préférence, selon l'invention le dispositif comprend un logiciel, un premier module, un deuxième module et au moins une mémoire dont une partie de taille variable, ci- après appelée fenêtre de temporisation, est destinée à la temporisation. De préférence, selon l'invention la temporisation comprend une sous-étape initiale pour le logiciel de fixer la taille de la fenêtre de temporisation et d'initialiser le premier module et le deuxième module. De préférence, selon l'invention la temporisation comprend une sous-étape pour le premier module de recevoir tout ou partie des paquets du flux. De préférence, selon l'invention la temporisation comprend une sous-étape pour le premier module de se substituer au récepteur auprès de l'émetteur pour toutes les opérations d'échange d'information avec l'émetteur que le récepteur aurait effectuées s'il avait procédé lui-même à la réception, de sorte que la temporisation est transparente pour l'émetteur. De préférence, selon l'invention la temporisation comprend une sous-étape pour le premier module de placer dans la fenêtre de temporisation, tout ou parties des données, notamment applicatives, du paquet reçu par le premier module. De préférence, selon l'invention la temporisation comprend une sous-étape pour le logiciel d'être informé que de nouvelles données sont disponibles dans la fenêtre de temporisation. De préférence, selon l'invention la temporisation comprend une sous-étape pour le logiciel d'analyser et/ou de modifier sélectivement et/ou de filtrer sélectivement les données contenues dans la fenêtre de temporisation. De préférence, selon l'invention la temporisation comprend une sous-étape pour le logiciel d'informer le deuxième module que des données de la fenêtre de temporisation sont à émettre. De préférence, selon l'invention la temporisation comprend une sous-étape pour le deuxième module d'émettre les données à émettre vers le récepteur. De préférence, selon l'invention, le procédé comprend en outre une sous-étape, pour le deuxième module, de se substituer à l'émetteur auprès du récepteur pour toutes les opérations d'échange d'information avec le récepteur que l'émetteur aurait effectuées s'il avait procédé lui-même à l'émission de données, de sorte que la temporisation est transparente pour le récepteur. De préférence, selon l'invention, la temporisation comprend une sous-étape pour le deuxième module d'informer le premier module et/ou le logiciel que les données ont été émises . De préférence, selon l'invention, la temporisation comprend une sous-étape pour le logiciel de modifier la taille de la fenêtre de temporisation. Système L'invention concerne aussi un système qui comprend un dispositif placé en coupure dans un réseau informatique et traversé par un flux de paquets de données . Le dispositif a pour objectif l'analyse et/ou la modification sélective et/ou le filtrage sélectif du flux de paquets de données. Le dispositif réalise ces objectifs en minimisant les ressources informatiques nécessaires, mémoire et/ou puissance de calcul, tout en améliorant les performances du dispositif. Le dispositif comprend des moyens de temporisation. Les moyens de temporisation retiennent temporairement dans le dispositif tout ou partie des données, notamment des données de la couche applicative, du flux de paquets de données, de façon transparente pour l'émetteur et le récepteur du flux de paquets de données, indépendamment des données temporisées et en adaptant dynamiquement la taille des données temporisées aux objectifs. De préférence, selon l'invention, le dispositif comprend un logiciel, un premier module, un deuxième module et au moins une mémoire dont une partie de taille variable, ci- après appelée fenêtre de temporisation. De préférence, selon l'invention le dispositif comprend des moyens d'initialisation permettant au logiciel de fixer la taille de la fenêtre de temporisation et d'initialiser le premier module et le deuxième module. De préférence, selon l'invention, le dispositif comprend des moyens de réception permettant au premier module de recevoir tout ou partie des paquets du flux. De préférence, selon l'invention, le premier module est destiné à se substituer au récepteur auprès de l'émetteur pour toutes les opérations d'échange d'information avec l'émetteur que le récepteur aurait effectuées s'il avait procédé lui-même à la réception, de sorte que la temporisation est transparente pour l'émetteur. De préférence, selon l'invention, le premier module est destiné à placer dans la fenêtre de temporisation, tout ou parties des données, notamment applicatives, du paquet reçu par le premier module. De préférence, selon l'invention, le système est tel que le logiciel est informé que de nouvelles données sont disponibles dans la fenêtre de temporisation. De préférence, selon l'invention, le logiciel est associé à des moyens de traitement informatique pour analyser et/ou modifier sélectivement et/ou filtrer sélectivement les données contenues dans la fenêtre de temporisation. De préférence, selon l'invention, le système dispose de moyens permettant au logiciel d'informer le deuxième module que des données de la fenêtre de temporisation sont à émettre. De préférence, selon l'invention, le deuxième module comprend des moyens d'émission des données à émettre vers le récepteur. De préférence, selon l'invention, le deuxième module se substitue à l'émetteur auprès du récepteur pour toutes les opérations d'échange d'information avec le récepteur que l'émetteur aurait effectuées s'il avait procédé lui-même à l'émission de données, de sorte que la temporisation est transparente pour le récepteur. De préférence, selon l'invention, le système dispose de moyens permettant au deuxième module d'informer le premier module et/ou le logiciel que les données ont été émises. De préférence, selon l'invention, le logiciel est associé à des moyens de modification de la taille de la fenêtre de temporisation. Description détaillée D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description de variantes de réalisation de l'invention données à titre d'exemple indicatif et non limitatif, et de la figure 1 qui représente le schéma général de l'interconnexion du système agissant dans l'invention avec un réseau informatique. Le système objet de la présente invention, s'applique à un dispositif D placé en coupure sur un réseau informatique R quelconque : il peut s'agir d'Internet, d'un réseau Intranet, d'un réseau domestique ou bien de seulement deux postes reliés entre eux. On entend par coupure la séparation physique du réseau R en deux sous réseaux reliés entre eux à l'aide du dispositif D. Ainsi tout le flux de paquets de données transitant d'un sous réseau à destination de l'autre sous réseau doit traverser le dispositif D. Le dispositif D a pour but la réalisation, à la volée, de services de sécurité sur le flux de paquets de données FPD qui le traverse. Nous utiliserons les termes émetteur A et récepteur B pour désigner l'émetteur du flux de paquets de données FPD et le récepteur du flux de paquets de données FPD. Les services sont réalisés par un logiciel L. Dans une réalisation particulière de l'invention, le logiciel L utilise des blocs "hardware" spécialisés pour réaliser tout ou partie des services. Le dispositif D possède une mémoire ME partagée par le logiciel L et par d'autres traitements informatiques réalisés par le dispositif D. Prenons l'exemple illustratif et non limitatif d'un service "anti-spam" réalisé sur les flux de réception de courriers électroniques. Ce service "anti-spam" consiste à analyser uniquement le champ objet des courriers électroniques et, lorsqu'un courrier non sollicité est identifié, à ajouter la balise "[SPAM]" au début de l'objet du mail afin d'informer l'utilisateur. Le courrier peut alors être automatiquement dirigé dans une boîte aux lettres spéciale.
Les réceptions de courriers électroniques sont réalisées sur des flux suivant les protocoles TCP/IP, c'est-à- dire des flux séquences comprenant un système d'acquittement ("acknoledgement") . Le système d'acquittement est un des services de fiabilité offerts par TCP : un acquittement est généré et envoyé par le récepteur d'un message à son émetteur pour signaler à ce dernier qu'il a bien reçu une partie des données du message. La partie des données bien reçues est désignée dans l'acquittement, ce sont les données acquittées. Prenons le cas où le champ objet du mail est découpé sur deux paquets, le premier contenant les données applicatives "Pu" et le suivant contenant les données applicatives "blicité" . A la réception du premier paquet contenant "Pu", le logiciel L identifie au cours de son analyse (de type inspection de contenu) la présence du champ objet. L'analyse montre aussi que cet objet n'est pas complet. Le logiciel L décide donc d'initier une temporisation du flux de paquets de données FPD. Le logiciel L alloue alors la fenêtre de temporisation
FT au sein de la mémoire ME. Il fixe la taille de la fenêtre de temporisation FT à 50 caractères car c'est la taille moyenne d'un objet de courrier électronique. Le logiciel L place enfin les données des couches applicatives du paquet courant, c'est-à- dire "Pu", dans la fenêtre de temporisation FT. Le logiciel L initialise de plus un premier module Ml et un second module M2 avec les données des couches basses du paquet courant. Conformément au protocoles TCP/IP, ces données contiennent entre autres les adresses IP du récepteur B et de l'émetteur A mais aussi un numéro de séquencement (Si) et un numéro d'acquittement (Al) du paquet courant. Le premier module Ml génère alors un acquittement pour les données du paquet temporisé "Pu" et l'envoie à l'émetteur A : il est capable de générer cet acquittement puisque, à son initialisation, il a reçu (SI) et (Al) . Il calcule donc pour cet acquittement, un numéro de séquencement valant (Al) et un numéro d'acquittement valant : (SI) + la longueur des données "Pu". En outre, le premier module Ml utilise comme adresse IP d'émetteur du paquet d'acquittement, l'adresse IP du récepteur B de sorte que pour l'émetteur A c'est le récepteur B qui semblera avoir envoyé l'acquittement : la temporisation du paquet "Pu" sera transparente pour l'émetteur A. La temporisation est alors initialisée . Lorsque le second paquet contenant la fin de l'objet
"blicité" arrive dans le dispositif D, c'est le premier module Ml qui le reçoit. Il génère alors un acquittement pour les données de ce second paquet et l'envoie à l'émetteur A : là encore le module Ml est capable de générer cet acquittement puisqu'il est consécutif à celui généré pendant la phase d'initialisation. Il calcule donc pour cet acquittement, un numéro de séquencement valant à nouveau (Al) et un numéro d'acquittement valant : (SI) + la longueur des données "Publicité" . Cette fois encore, le premier module Ml utilise comme adresse IP d'émetteur du paquet d'acquittement, l'adresse IP du récepteur B de sorte que pour l'émetteur A c'est le récepteur B qui semblera avoir envoyé l'acquittement. La temporisation du paquet "blicité" sera transparente pour l'émetteur A. Les données applicatives reçues (c'est-à-dire
"blicité") étant consécutives à celles présentes dans la fenêtre de temporisation FT (c'est-à-dire "Pu"), et, la taille de ces données étant inférieure à la taille disponible dans la fenêtre de temporisation FT, le premier module Ml place "blicité" dans la fenêtre, reconstituant ainsi l'objet "Publicité". Il signale enfin au logiciel L que la fenêtre de temporisation FT contient de nouvelles données. Celui-ci peut alors reprendre son analyse sur le champ objet "Publicité" entier et identifier le courrier non sollicité. Il modifie alors l'objet "Publicité" en "[SPAM] Publicité". Le traitement de cet objet étant terminé, il signale au second module M2 que toutes les données de la fenêtre de temporisation FT peuvent être émises. Le second module M2 émet alors les données modifiées "[SPAM] Publicité" vers le récepteur B, les supprime de la fenêtre de temporisation FT et signale à L et au premier module
Ml que les données ont été supprimées de la fenêtre de temporisation FT. Le second module est capable de générer vers le récepteur B un flux cohérent puisque les numéros de séquencement et d'acquittement à utiliser sont ceux du paquet "Pu" qu'il a reçus à son initialisation : (SI) et (Al) . L'ajout de la balise "[SPAM]" dans les données engendre donc un décalage du séquencement global du flux FPD égal à la taille des données ajoutées : en effet, à l'entrée du dispositif D "Publicité" avait un séquencement (SI) . A la sortie du dispositif D, la chaîne "Publicité" a un séquencement égal à : (SI) + la taille de la balise "[SPAM] ". Par ailleurs, la suite de protocoles TCP/IP i-nclut un système de somme de contrôle (checksum) afin de garantir contre toute modification des données du paquet, c'est une sorte de signature des données du paquet insérée dans son en-tête (dans la couche OSI 4) . Le second module M2 calcule donc la somme de contrôle correspondant aux données modifiées et l'insère dans le flux FPD généré. En outre, le second module M2 utilise comme adresse IP d'émetteur du paquet d'acquittement, l'adresse IP de l'émetteur
A de sorte que pour le récepteur B c'est l'émetteur A qui semblera avoir envoyé le flux FPD : la temporisation sera transparente pour le récepteur B. Lorsque L reçoit l'information que les données ont été émises, il signale aux modules Ml et M2 que la temporisation est terminée et désalloue la fenêtre de temporisation FT, libérant ainsi une partie de la mémoire ME.
Le reste du flux FPD venant de l'émetteur A sera cependant modifié par le second module M2 au niveau des données des couches basses. En effet, pour que le flux FPD reste cohérent, les numéros de séquencement et d'acquittement doivent continuer d'être décalés de la taille des données qui ont été ajoutées. Cet exemple montre bien avec quelle facilité la présente invention permet au système de réaliser le service. Cet exemple ne limite pas la présente invention à un placement de données des couches applicatives dans la fenêtre de temporisation FT. Les données placées dans la fenêtre de temporisation FT peuvent provenir de n'importe quelle couche OSI si cela est nécessaire. Cet exemple ne limite pas les modules Ml et M2 de la présente invention aux traitements décrits dans l'exemple. Les modules Ml et M2 peuvent prendre en charge n'importe quel traitement sur le flux FPD, notamment jusqu'au niveau des couches applicatives. Par exemple, le premier module Ml peut avoir besoin de générer des données applicatives et de les envoyer à l'émetteur A, pour forcer l'application émettrice à continuer de lui envoyer le flux FPD. Avantageusement, les modules Ml et M2 disposent chacun d'une mémoire tampon d'émission et d'une mémoire tampon de réception propres, ci-après appelées buffer d'émission et buffer de réception. Ceci permet au premier module Ml de recevoir et d'acquitter des données de l'émetteur A alors même que la fenêtre de temporisation FT n'a pas d'espace disponible. Cela rend donc le placement de données dans la fenêtre de temporisation FT asynchrone avec la réception des paquets. En effet, le premier module Ml peut placer des données dès que de l'espace se libère dans la fenêtre, c'est-à-dire dès qu'il reçoit l'information du second module M2 que des données ont été libérées . Lorsque le buffer de réception propre au premier module Ml est plein, les paquets envoyés par l'émetteur A ne sont plus acquittés. L'émetteur A devra donc, selon les règles du protocole TCP/IP, ré-émettre ces paquets . Symétriquement, l'avantage pour le second module M2 est de rendre asynchrone la libération de données de la fenêtre de temporisation FT et l'émission de données vers le récepteur
B. Dans l'exemple décrit précédemment, prenons le cas où le champ objet du courrier "Publicité" est, cette fois, découpé sur trois paquets reçus de manière déséquencée, c'est-à-dire le premier paquet reçu contenant "Pu", le second contenant "cité" et le dernier paquet reçu contenant "bli". Les traitements sont identiques à ceux décrits précédemment pour le premier paquet reçu. Lorsque le second paquet contenant "cité" est reçu, le premier module Ml ne place pas les données "cité" dans la fenêtre de temporisation FT car elles ne sont pas séquencées avec les données "Pu" déjà présentes dans la fenêtre de temporisation FT. Lorsque le troisième paquet, contenant "bli" est recru, le premier module Ml place alors à la fois les données "bli" et les données "cité" dans la fenêtre de temporisation FT, reconstituant ainsi l'objet "Publicité". La suite des traitements est identique à celle décrite précédemment. Cet exemple montre bien avec quelle facilité la présente invention permet au système de réaliser le service même lorsque le flux de paquet de données FPD est déséquencé. Avantageusement, lorsque le premier module Ml place des données dans la fenêtre de temporisation FT, il ne tient pas compte de la répartition en paquets que suivaient ces données lors de leur réception. Prenons un exemple où L a fixé la taille de la fenêtre de temporisation FT à 150 octets. Si le premier module Ml reçoit deux paquets de 100 octets de données applicatives, il place dans la fenêtre les données du premier paquet en entier et la moitié des données du second, remplissant ainsi la fenêtre de temporisation FT. Cela optimise donc la quantité de données placées dans la fenêtre, c'est-à-dire la quantité de données pouvant être analysée par le logiciel L. Avantageusement, les données des couches basses correspondant aux données applicatives temporisées sont conservées sous forme de liste chaînée par le système objet de là présente invention. Avantageusement, le logiciel L peut modifier cette liste chaînée. Cela permet ainsi au système de réaliser des services nécessitant une analyse et/ou des modifications des couches basses, notamment des services NAT—PT (cf. RFC 3022, Traditional IP Network Translater, P. Srisuresh,
K. Egevans, January 2001 and RFC 2766, cf. Network Adoress Translation - Protocol Translation (NAT-PT) , G. Tsirtsis, P. Srisuresh, February 2000) . L'exemple décrit précédemment montre aussi que la présente invention permet au système d'adapter la quantité de mémoire utilisée aux besoins du service à réaliser. En effet, le logiciel L est capable de commencer la temporisation au milieu du flux de paquets de données FPD, optimisant ainsi les coûts de traitement et la quantité de mémoire utilisée sur le début du flux. De plus, le logiciel L est capable d'augmenter et/ou de réduire la taille de la fenêtre de temporisation FT à tout moment, optimisant ainsi la quantité de mémoire utilisée. Enfin le logiciel L est capable d'arrêter la temporisation avant la fin du flux en libérant totalement la fenêtre de temporisation FT, optimisant ainsi la quantité de mémoire utilisée sur la fin du flux FPD. La temporisation n'est donc réalisée qu'au moment où elle est nécessaire et utilise une quantité de mémoire adaptée. Avantageusement, dans le cas où le logiciel L arrête la temporisation au cours du flux FPD, le buffer de réception du second module M2 peut être libéré : le buffer d'émission du premier module Ml devient alors aussi buffer de réception pour le second module M2. Avantageusement, dans le cas où le logiciel L arrête la temporisation sans avoir jamais modifié le flux FPD, il peut signaler au second module M2 qu'il n'y a pas de changement à. appliquer sur les données des couches basses sur la suite du flux FPD, optimisant encore les coûts de traitement. Avantageusement, les modules Ml et M2 sont réalisés tout ou partie en "hardware". Avantageusement, le logiciel L a accès à des blocs
"hardware" pour réaliser tout ou partie de l'analyse et/ou de la modification du flux de paquets de données FPD. L'exemple décrit précédemment montre aussi que la présente invention permet au système de temporiser n'importe quel type de flux, indépendamment des données des couches applicatives, c'est-à-dire, indépendamment de l'application transitant sur le réseau R. Dans tous les exemples décrits précédemment, les modules Ml et M2 jouent des rôles symétriques pour le traitement du flux inverse au flux FPD : lorsque l'émetteur A devient récepteur et le récepteur B devient émetteur, une nouvelle fenêtre de temporisation FT est créée, le premier module Ml joue le rôle du second module M2 et inversement. Le logiciel L peut alors avantageusement lier les traitements sur les deux flux inverses l'un de l'autre. Le système objet de la présente invention permet ainsi à un dispositif de réaliser des services sur un flux de paquets de données en minimisant les ressources informatiques nécessaires, mémoire et/ou puissance de calcul, tout en améliorant les performances du dispositif. Il est donc particulièrement adapté aux systèmes embarqués, soumis à des contraintes sur les ressources informatiques pour des raisons de coût et d'encombrement.

Claims

REVENDICATIONS
1. Procédé s 'appliquant à un dispositif (D) placé en coupure dans un réseau informatique (R) et traversé par un flux de paquets de données (FPD) ; ledit dispositif (D) ayant pour objectif l'analyse et/ou la modification sélective et/ou le filtrage sélectif dudit flux de paquets de données (FPD) ; ledit procédé permettant audit dispositif (D) de réaliser lesdits objectifs en minimisant les ressources informatiques nécessaires, mémoire et/ou puissance de calcul, tout en améliorant les performances dudit dispositif (D) ; ledit procédé comprenant une étape de temporisation; ladite temporisation consistant à retenir temporairement dans ledit dispositif (D) tout ou partie des données, notamment des données des couches applicatives, dudit flux de paquets de données (FPD), de façon transparente pour l'émetteur (A) et le récepteur (B) dudit flux de paquets de données (FPD) , indépendamment desdites données temporisées et en adaptant dynamiquement la taille desdites données temporisées auxdits objectifs.
2. Procédé selon la revendication 1; ledit dispositif (D) comprenant un logiciel (L) , un premier module (Ml), un deuxième module (M2) et au moins une mémoire (ME) dont une partie de taille variable, ci-après appelée fenêtre de temporisation (FT) , est destinée à ladite temporisation.
3. Procédé selon la revendication 2; ladite temporisation comprenant la sous-étape initiale pour ledit logiciel (L) de fixer la taille de ladite fenêtre de temporisation (FT) et d'initialiser ledit premier module (Ml) et ledit deuxième module (M2) .
4. Procédé selon l'une quelconque des revendications 2 ou 3; ladite temporisation comprenant la sous-étape pour ledit premier module (Ml) de recevoir tout ou partie des paquets dudit flux (FPD) .
5. Procédé selon l'une quelconque des revendications 2 à 4, ladite temporisation comprenant la sous-étape pour ledit premier module (Ml) de se substituer audit récepteur (B) auprès dudit émetteur (A) pour toutes les opérations d'échange d'information avec ledit émetteur (A) que ledit récepteur (B) aurait effectuées s'il avait procédé lui-même à la réception, de sorte que ladite temporisation est transparente pour ledit émetteur (A) .
6. Procédé selon l'une quelconque des revendications 2 à 5; ladite temporisation comprenant la sous-étape pour ledit premier module (Ml) de placer dans ladite fenêtre de temporisation (FT) , tout ou parties des données, notamment applicatives, dudit paquet reçu par ledit premier module (Ml) .
7. Procédé selon l'une quelconque des revendications 2 à 6; ladite temporisation comprenant la sous-étape pour ledit logiciel (L) d'être informé que de nouvelles données sont disponibles dans ladite fenêtre de temporisation (FT) .
8. Procédé selon l'une quelconque des revendications 2 à 7; ladite temporisation comprenant la sous-étape pour ledit logiciel (L) d'analyser et/ou de modifier sélectivement et/ou de filtrer sélectivement les données contenues dans ladite fenêtre de temporisation (FT) .
9. Procédé selon la revendication 8; ladite temporisation comprenant la sous-étape pour ledit logiciel (L) d'informer ledit deuxième module (M2) que des données de ladite fenêtre de temporisation (FT) sont à émettre.
10. Procédé selon la revendication 9; ladite temporisation comprenant la sous-étape pour ledit deuxième module (M2) d'émettre lesdites données à émettre vers ledit récepteur (B) .
11. Procédé selon la revendication 10; caractérisé en ce que ledit deuxième module (M2) se substitue audit émetteur
(A) auprès dudit récepteur (B) pour toutes les opérations d'échange d'information avec ledit récepteur (B) que ledit émetteur (A) aurait effectuées s'il avait procédé lui-même à ladite émission de données, de sorte que ladite temporisation est transparente pour ledit récepteur (B) .
12. Procédé selon l'une quelconque des revendications 10 ou 11; ladite temporisation comprenant la sous-étape pour ledit deuxième module (M2) d'informer ledit premier module (Ml) et/ou ledit logiciel (L) que lesdites données ont été émises.
13. Procédé selon l'une quelconque des revendications 2 à 12; ladite temporisation comprenant la sous-étape pour ledit logiciel (L) de modifier la taille de la fenêtre de temporisation (FT) .
14. Système comprenant un dispositif (D) placé en coupure dans un réseau informatique (R) et traversé par un flux de paquets de données (FPD) ; ledit dispositif (D) ayant pour objectif l'analyse et/ou la modification sélective et/ou le filtrage sélectif dudit flux de paquets de données (FPD) ; ledit dispositif (D) réalisant lesdits objectifs en minimisant les ressources informatiques nécessaires, mémoire et/ou puissance de calcul, tout en améliorant les performances dudit dispositif (D); ledit dispositif comprenant des moyens de temporisation; lesdits moyens de temporisation retenant temporairement dans ledit dispositif (D) tout ou partie des données, notamment des données de la couche applicative, dudit flux de paquets de données (FPD) , de façon transparente pour l'émetteur (A) et le récepteur (B) dudit flux de paquets de données (FPD) , indépendamment desdites données temporisées et en adaptant dynamiquement la taille desdites données temporisées auxdits objectifs.
15. Système selon la revendication 14; ledit dispositif (D) comprenant un logiciel (L) , un premier module (Ml) , un deuxième module (M2) et au moins une mémoire (ME) dont une partie de taille variable, ci-après appelée fenêtre de temporisation (FT) .
16. Système selon la revendication 15; ledit dispositif (D) comprenant des moyens d'initialisation permettant audit logiciel (L) de fixer la taille de ladite fenêtre de temporisation (FT) et d'initialiser ledit premier module (Ml) et ledit deuxième module (M2) .
17. Système selon l'une quelconque des revendications 15 ou 16; ledit dispositif (D) comprenant des moyens de réception permettant audit premier module (Ml) de recevoir tout ou partie des paquets dudit flux (FPD) .
18. Système selon l'une quelconque des revendications 15 à 17, ledit premier module (Ml) étant destiné à se substituer audit récepteur (B) auprès dudit émetteur (A) pour toutes les opérations d'échange d'information avec ledit émetteur A que ledit récepteur (B) aurait effectuées s'il avait procédé lui-même à la réception, de sorte que ladite temporisation est transparente pour ledit émetteur (A) .
19. Système selon l'une quelconque des revendications 15 à 18; ledit premier module (Ml) étant destiné à placer dans ladite fenêtre de temporisation (FT) , tout ou parties des données, notamment applicatives, dudit paquet reçu par ledit premier module (Ml) .
20. Système selon l'une quelconque des revendications 15 à 19; ledit système étant tel que ledit logiciel est informé que de nouvelles données sont disponibles dans ladite fenêtre de temporisation (FT) .
21. Système selon l'une quelconque des revendications 15 à 20; ledit logiciel (L) étant associé à des moyens de traitement informatique pour analyser et/ou modifier sélectivement et/ou filtrer sélectivement les données contenues dans ladite fenêtre de temporisation (FT) .
22. Système selon la revendication 21 ledit système disposant de moyens permettant audit logiciel d'informer ledit deuxième module (M2) que des données de ladite fenêtre de temporisation (FT) sont à émettre.
23. Système selon la revendication 22; ledit deuxième module (M2) comprenant des moyens d'émission desdites données à émettre vers ledit récepteur (B) .
24. Système selon la revendication 23; ledit deuxième module (M2) se substituant audit émetteur (A) auprès dudit récepteur (B) pour toutes les opérations d'échange d'information avec ledit récepteur (B) que ledit émetteur (A) aurait effectuées s'il avait procédé lui-même à ladite émission de données, de sorte que ladite temporisation est transparente pour ledit récepteur (B) .
25. Système selon l'une quelconque des revendications 23 ou 24; ledit système disposant de moyens permettant audit deuxième module (M2) d'informer ledit premier module (Ml) et/ou ledit logiciel (L) que lesdites données ont été émises.
26. Système selon l'une quelconque des revendications 15 à 25; ledit logiciel (L) étant associé à des moyens de modification de la taille de la fenêtre de temporisation (FT) .
PCT/FR2005/050137 2004-03-01 2005-03-01 Procede, systeme et dispositif de temporisation d'un flux de paquets de donnees WO2005086455A2 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP05739712A EP1723772A2 (fr) 2004-03-01 2005-03-01 Procede, systeme et dispositif de temporisation d'un flux de paquets de donnees

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0450404 2004-03-01
FR0450404A FR2867004B1 (fr) 2004-03-01 2004-03-01 Procede, systeme et dispositif de temporisation d'un flux de paquets de donnees

Publications (2)

Publication Number Publication Date
WO2005086455A2 true WO2005086455A2 (fr) 2005-09-15
WO2005086455A3 WO2005086455A3 (fr) 2005-12-29

Family

ID=34834272

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2005/050137 WO2005086455A2 (fr) 2004-03-01 2005-03-01 Procede, systeme et dispositif de temporisation d'un flux de paquets de donnees

Country Status (3)

Country Link
EP (1) EP1723772A2 (fr)
FR (1) FR2867004B1 (fr)
WO (1) WO2005086455A2 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7761915B2 (en) 2005-12-28 2010-07-20 Zyxel Communications Corp. Terminal and related computer-implemented method for detecting malicious data for computer network

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623600A (en) * 1995-09-26 1997-04-22 Trend Micro, Incorporated Virus detection and removal apparatus for computer networks
WO1999005814A2 (fr) * 1997-07-24 1999-02-04 Worldtalk Corporation Filtre securitaire de courrier electronique comportant en memoire une cle de cryptage/decryptage
US20020159447A1 (en) * 2001-04-27 2002-10-31 Carey James Horan Methods, systems and computer program products for translating internet protocol (IP) addresses located in a payload of a packet
US20030005103A1 (en) * 1998-06-15 2003-01-02 Narad Charles E. Cumulative status of arithmetic operations
EP1335559A2 (fr) * 2002-01-31 2003-08-13 Nokia Corporation Système et méthode de protection contre virus dans une passerelle
US20040004968A1 (en) * 2002-07-03 2004-01-08 Ericsson Inc. System and method for dynamic simultaneous connection to multiple service providers

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6693909B1 (en) * 2000-05-05 2004-02-17 Fujitsu Network Communications, Inc. Method and system for transporting traffic in a packet-switched network
US20020133598A1 (en) * 2001-03-16 2002-09-19 Strahm Frederick William Network communication

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623600A (en) * 1995-09-26 1997-04-22 Trend Micro, Incorporated Virus detection and removal apparatus for computer networks
WO1999005814A2 (fr) * 1997-07-24 1999-02-04 Worldtalk Corporation Filtre securitaire de courrier electronique comportant en memoire une cle de cryptage/decryptage
US20030005103A1 (en) * 1998-06-15 2003-01-02 Narad Charles E. Cumulative status of arithmetic operations
US20020159447A1 (en) * 2001-04-27 2002-10-31 Carey James Horan Methods, systems and computer program products for translating internet protocol (IP) addresses located in a payload of a packet
EP1335559A2 (fr) * 2002-01-31 2003-08-13 Nokia Corporation Système et méthode de protection contre virus dans une passerelle
US20040004968A1 (en) * 2002-07-03 2004-01-08 Ericsson Inc. System and method for dynamic simultaneous connection to multiple service providers

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FRANTZEN M ET AL: "A Framework for Understanding Vulnerabilities in Firewalls Using a Dataflow Model of Firewall Internals<1>" COMPUTERS & SECURITY, ELSEVIER SCIENCE PUBLISHERS. AMSTERDAM, NL, vol. 20, no. 3, 1 mai 2001 (2001-05-01), pages 263-270, XP004255237 ISSN: 0167-4048 *
YAKOMBA YAVWA: "The Firewall Technology"[Online] 2 mai 2000 (2000-05-02), XP002294671 Extrait de l'Internet: URL:http://citeseer.ist.psu.edu/cache/pape rs/cs/14568/http:zSzzSzwww.cs.uct.ac.zazSz courseszSzCS400WzSzNISzSzpapers00zSzjacobz Szfirewall.pdf/yavwa00firewall.pdf> [extrait le 2004-09-01] *

Also Published As

Publication number Publication date
FR2867004A1 (fr) 2005-09-02
FR2867004B1 (fr) 2006-09-08
WO2005086455A3 (fr) 2005-12-29
EP1723772A2 (fr) 2006-11-22

Similar Documents

Publication Publication Date Title
FR2923969A1 (fr) Procede de gestion de trames dans un reseau global de communication, produit programme d&#39;ordinateur, moyen de stockage et tete de tunnel correspondants
FR2800540A1 (fr) Terminal securise muni d&#39;un lecteur de carte a puce destine a communiquer avec un serveur via un reseau de type internet
EP1507384A1 (fr) Procédé de masquage des traitements applicatifs d&#39;une requete d&#39;accès à un serveur et système de masquage correspondant
FR2954029A1 (fr) Procede de transmission de paquets d&#39;un flux de donnees bidirectionnel passager, dispositif gestionnaire, produit programme d&#39;ordinateur et moyen de stockage correspondants
WO2020260813A1 (fr) Procédé de gestion d&#39;une communication entre terminaux dans un réseau de communication, et dispositifs pour la mise en oeuvre du procédé
FR3042081A1 (fr) &#34;procede de controle d&#39;un systeme de communications de donnees par paquets et systeme de communications mettant en œuvre le procede&#34;
EP2689560B1 (fr) Procede et dispositif d&#39;extraction de donnees d&#39;un flux de donnees circulant sur un reseau ip
EP3549368B1 (fr) Procédé de fractionnement de messages applicatifs dans un réseau ip
EP3216189B1 (fr) Délégation d&#39;intermédiation sur un échange de données chiffrées
EP1723772A2 (fr) Procede, systeme et dispositif de temporisation d&#39;un flux de paquets de donnees
WO2013178910A1 (fr) Technique de communication dans un reseau de communication centre sur les informations
EP3135017A1 (fr) Procédés d&#39;échange de données avec un équipement comprenant des moyens de communication radio
EP3235217B1 (fr) Procédé d&#39;échanges de données entre deux navigateurs internet, équipement de routage, terminal, programme d&#39;ordinateur et support d&#39;informations corespondants
EP3991392A1 (fr) Procede de gestion d&#39;une communication entre terminaux dans un reseau de communication, et dispositifs et systeme pour la mise en oeuvre du procede
FR2809560A1 (fr) Procede et architecture de systeme de communication securise entre deux entites connectees a un reseau de type internet, comprenant un segment de transmissions sans fil
EP1432210A1 (fr) Dispositif de contrôle de traitements associés a des flux au sein d&#39;un reseau de communications
EP2031809B1 (fr) Procédé de traitement de flots dans un réseau de communication
FR2850817A1 (fr) Dispositif de traitement de donnees audio et video pour une communication multimedia via un reseau local etabli au sein d&#39;un reseau asynchrone
EP1501248B1 (fr) Système et procédé de messagerie électronique
WO2005008992A1 (fr) Description de contenu de paquets dans un reseau de communication par paquets
FR2800224A1 (fr) Procede et systeme de mise en antememoire de donnees http transportees avec des donnees de socks dans des datagrammes ip
EP1142261B1 (fr) Procede de transport de paquets entre une interface d&#39;acces et un reseau partage
EP1762051A1 (fr) Procede de gestion d&#39;une interconnexion entre reseaux de telecommunication et dispositif mettant en oeuvre ce procede
EP1653706A1 (fr) Procédé de transmission d&#39;un flux vidéo dans un réseau de télécommunications mobiles à débit restreint
EP3070911A1 (fr) Procédé de contrôle d&#39;accès à un réseau privé

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

WWE Wipo information: entry into national phase

Ref document number: 2005739712

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2005739712

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 2005739712

Country of ref document: EP