FR3084550A1 - Procede de traitement d'un paquet de donnees, dispositif, equipement de communication et programme d'ordinateur associes - Google Patents

Procede de traitement d'un paquet de donnees, dispositif, equipement de communication et programme d'ordinateur associes Download PDF

Info

Publication number
FR3084550A1
FR3084550A1 FR1857048A FR1857048A FR3084550A1 FR 3084550 A1 FR3084550 A1 FR 3084550A1 FR 1857048 A FR1857048 A FR 1857048A FR 1857048 A FR1857048 A FR 1857048A FR 3084550 A1 FR3084550 A1 FR 3084550A1
Authority
FR
France
Prior art keywords
port
address
data packet
equipment
source
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.)
Granted
Application number
FR1857048A
Other languages
English (en)
Other versions
FR3084550B1 (fr
Inventor
Zakaria Abou El Houda
Salaheddine Zerkane
David Espes
Cao Thanh Phan
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.)
Universite Brest Bretagne Occidentale
B Com SAS
Original Assignee
Universite Brest Bretagne Occidentale
B Com SAS
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 Universite Brest Bretagne Occidentale, B Com SAS filed Critical Universite Brest Bretagne Occidentale
Priority to FR1857048A priority Critical patent/FR3084550B1/fr
Priority to PCT/EP2019/069844 priority patent/WO2020020911A1/fr
Publication of FR3084550A1 publication Critical patent/FR3084550A1/fr
Application granted granted Critical
Publication of FR3084550B1 publication Critical patent/FR3084550B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

L'invention concerne un procédé de traitement d'un paquet de données reçu par un équipement de commutation d'un réseau de télécommunications, le paquet de données comprenant une adresse IP source, un port source, une adresse IP destination et un port destination et appartenant à un flux de données, dit montant, émis par un premier équipement vers un deuxième équipement, caractérisé en ce que le procédé comprend les étapes suivantes : Obtention (T1) de l'adresse IP source et du port source dans un en-tête du paquet de données ; Obtention (T2) d'un port physique de l'équipement de commutation sur lequel est reçu le paquet de données en provenance du premier équipement ; - Obtention (T3) d'un enregistrement comprenant l'adresse IP source, le port source et le port physique obtenus associés avec une adresse IP et un port de l'équipement de commutation choisi parmi une pluralité de ports de l'équipement de commutation non utilisés ; Modification (T4) du paquet de données par remplacement de l'adresse IP source du paquet de données par l'adresse IP de l'équipement de commutation et remplacement du port source du paquet de données par le port choisi; et Emission (T5) du paquet de données modifié.

Description

Procédé de traitement d'un paquet de données, dispositif, équipement de commutation et programme d'ordinateur associés
1. Domaine de l'invention
Le domaine de l'invention est celui du traitement des paquets de données d'un flux de données émis d'un premier équipement vers un deuxième équipement connectés à un réseau de télécommunications selon le protocole Internet (pour « Internet Protocol », en anglais).
L'invention peut notamment, mais non exclusivement, s'appliquer à la gestion des attaques par usurpation d'identité.
2. Présentation de l'art antérieur
On désigne par usurpation d'identité le fait qu'un équipement attaquant forge des messages en utilisant l'adresse IP d'un autre équipement, dit équipement cible. Cet usage frauduleux de l'identité d'un équipement IP est donc utilisé dans de nombreuses attaques telles que les attaques par amplification.
Une attaque par amplification consiste en une attaque par « Déni de Service » ou DoS (pour « Deny of Service », en anglais) sur l'équipement cible. Il s'agit donc d'une attaque informatique ayant pour but de rendre l'équipement cible ou un service proposé par cet équipement cible, inutilisable. L'attaque par amplification est très souvent utilisée lorsque la charge d'une communication est asymétrique entre une source et une destination. En effet, certains protocoles fonctionnent par requête-réponse. A la réception d'une requête, le serveur génère une réponse. Cette dernière peut donc être de taille largement plus importante que la requête et générer un trafic vers la machine cible bien supérieur à celui que l'attaquant contribuerait à générer en attaquant directement la cible. Un exemple de service typiquement visé est le service informatique distribué, ou DNS (pour « Domain Name System », en anglais) utilisé pour traduire les noms de domaine Internet en adresse IP, pour lequel la taille des réponses est environ 50 fois plus importante que celle des requêtes.
Avec l'accroissement de l'usage d'Internet et des services en libre accès, ce type d'attaque va se répandre de plus en plus dans les années à venir. A titre d'exemple, pour le service DNS, de plus en plus de serveurs de résolution DNS (pour « resolvers DNS », en anglais), appelés communément openresolvers, sont accessibles depuis partout dans le monde. Un attaquant qui usurpe l'adresse IP d'une machine cible peut donc faire une attaque DoS massive contre cette dernière en envoyant des requêtes DNS à plusieurs serveurs openresolvers accessibles.
L'usurpation d'identité peut donc se faire à deux endroits possibles : en interne d'un réseau d'une entité qui peut être une entreprise, un opérateur de télécommunications, un particulier etc ou en externe. Dans le cadre d'une attaque externe à l'entité, la portée de cette dernière peut être limitée par les mesures de protection employées par l'entité, telles qu'un pare-feu situé en périphérie. Dans le cadre d'une attaque interne, la protection contre cette dernière s'avère bien plus complexe à réaliser, surtout lorsque les utilisateurs sont mobiles.
On connaît du document de McPherson et al., intitulé Source Address Validation Improvement (SAVI) Threat Scope, publié dans le RFC 6959, par l'IETF en 2013, des techniques de filtrage des paquets de données en bordure du réseau de télécommunications IP, c'est-à-dire au niveau du premier équipement auquel est connecté une machine hôte. Il s'agit par exemple d'un équipement de commutation (pour « switch », en anglais) ou d'un routeur.
Ce type de filtrage nécessite une connaissance assez fine de la topologie du réseau. On distingue deux types de fonctionnement :
Statique o Affectation d'une adresse IP à un port : Le filtrage sur chaque équipement de bordure maintient une table de correspondance entre l'adresse IP de la machine qui a émis le paquet de données et le numéro de port auquel elle est connectée. Lorsqu'un paquet est reçu par l'équipement réseau sur un certain port et dont l'adresse IP source ne correspond pas à celle attendu dans sa table, le paquet est supprimé, sinon il est relayé. L'administrateur réalise l'opération de configuration de la table manuellement.
Un inconvénient d'une méthode statique est que sa table est assez complexe à maintenir dans le temps. Lorsque le réseau est conséquent, il est fastidieux de configurer la table de correspondance IP Source <-> Port dans chaque équipement de bordure. De même, les changements de topologie nécessitent une reconfiguration des équipements touchés par un tel changement.
Dynamique o BCP 38 : L'objectif de BCP 38 est que l'équipement réseau en bordure vérifie que l'adresse IP source appartient à un réseau IP auquel il est directement connecté. Si ce n'est pas le cas, dans ce cas, l'identité de la source est usurpée et donc le paquet supprimé. L'apprentissage des réseaux directement connectés peut être réalisé en lien avec la configuration IP des équipements réseaux, automatisant ainsi un tel fonctionnement.
o RPF : L'algorithme RPF utilise la table de routage pour voir si un paquet est légitime ou non. Lorsqu'un paquet arrive à l'équipement réseau, ce dernier va regarder s'il parvient bien sur l'interface de l'équipement réseau qui permet d'atteindre la source. Si ce n'est pas le cas, le paquet est supprimé sinon il est transmis.
o Liaison Port-IP automatique : Cette méthode permet à un équipement réseau d'apprendre la topologie en utilisant conjointement plusieurs services. Lorsqu'une machine se connecte, elle va généralement demander une adresse IP au service DHCP de l'entité. Lors de la réception du message DHCP par l'équipement réseau, ce dernier va remplir sa table de correspondance IP <-> Port. Il pourra ainsi vérifier la légitimité des paquets en fonction de l'adresse IP affectée et du numéro de port utilisé.
Un avantage de ces techniques est qu'elles sont_mieux adaptées à un environnement complexe. Un inconvénient de la méthode BCP 38 est sa portée limitée. En effet, elle ne prévient pas des attaques d'usurpation d'identité dans un réseau IP de l'entité. Elle regarde uniquement si une adresse IP source appartient bien au réseau directement connecté. Ca simplifie la gestion de la topologie car la granularité est assez grossière mais ça ne prévient pas la totalité de ce type d'attaque. En ce qui concerne RPF, c'est le même constat. Comme la table de routage d'un équipement contient uniquement les adresses des réseaux de destination, la granularité est la même que BCP 38. RPF ne peut donc pas prévenir une usurpation d'identité de deux machines qui se situent dans le même réseau.
Un avantage de la dernière méthode Liaison Port-IP automatique est son efficacité. Cependant, elle repose sur le travail conjoint de plusieurs services pour assurer la sécurité contre l'usurpation. Bien que ça améliore la sécurité et prévient ce type d'attaque dans une entité donnée, malheureusement elle ouvre la porte à de nouvelles attaques. En effet, les attaques possibles sur le serveur DHCP peuvent dorénavant avoir un impact bien plus important qu'au préalable. De fait, la prévention de l'usurpation d'identité est limitée à la robustesse du serveur DHCP.
Outre le filtrage, il est également possible d'utiliser les spécificités de certains services pour éviter l'usurpation d'identité associée à ce service. C'est par exemple le cas du service DNS. Suivant le standard, lorsqu'une machine fait une requête DNS pour connaître l'adresse IP associé à un nom de domaine, si la réponse associée à cette requête contient un CNAME du nom de domaine, dans ce cas la machine refait une requête contenant cette fois le CNAME. La réponse assortie contiendra soit un autre CNAME (et la procédure se réitère) soit l'adresse IP correspondant à ce dernier.
Ce fonctionnement spécifique au DNS peut être utilisé pour vérifier la légitimité d'une adresse IP. En effet, un serveur légitime peut s'interfacer entre la machine et le serveur DNS. Lorsque le serveur légitime intercepte la requête DNS, il va générer une réponse avec un CNAME aléatoire. Seule la machine légitime possédant l'adresse IP Source de la requête va recevoir cette réponse. Si cette dernière refait une requête DNS contenant le CNAME aléatoire, alors la légitimité de la machine émettrice de la première requête est vérifiée. Ce fonctionnement est décrit dans la demande de brevet américain publiée sous le numéro US 7.620,733 Bl, en 2009.
Un inconvénient d'une telle méthode, dépendante d'un service tiers, est que la portée de la prévention est limitée au service tiers lui-même. En outre, ce type de méthode rajoute un surcoût en latence et bande passante pour chaque requête DNS ce qui est difficilement concevable dans des réseaux soumis à des contraintes temps-réel ou d'utilisation des ressources.
3. Objectifs de l'invention
L'invention vient améliorer la situation.
L'invention a notamment pour objectif de pallier ces inconvénients de l'art antérieur.
Plus précisément, un objectif de l'invention est de proposer une solution pour gérer les attaques par usurpation d'identité qui soit dynamique, indépendante de la topologie du réseau et du service utilisé.
4. Exposé de l'invention
Ces objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints à l'aide d'un procédé de traitement d'un paquet de données reçu par un équipement de commutation d'un réseau de télécommunications, le paquet de données comprenant une adresse IP source, un port source, une adresse IP destination et un port destination et appartenant à un flux de données montant émis par un premier équipement terminal vers un deuxième équipement terminal, comprenant les étapes suivantes :
Obtention de l'adresse IP source et du port source dans un en-tête du paquet de données ;
- Obtention d'un port physique de l'équipement de commutation sur lequel est reçu le paquet de données en provenance du premier équipement ;
- Obtention d'un enregistrement comprenant l'adresse IP source, le port source et le port physique obtenus associés avec une adresse IP et un port de l'équipement de commutation choisi parmi une pluralité de ports de l'équipement de commutation non utilisés ;
- Modification du paquet de données par remplacement de l'adresse IP source du paquet de données par l'adresse IP de l'équipement de commutation et remplacement du port source du paquet de données par le port choisi; et
- Emission du paquet de données modifié.
L'invention s'appuie sur une approche tout-à-fait nouvelle et inventive de la gestion d'attaques par usurpation d'identité dans un réseau de communication, qui consiste d'une part à remplacer l'adresse IP source et le port source du paquet de données par un couple unique d'adresse IP et de port de l'équipement de commutation et d'autre part à stocker en mémoire un port physique de l'équipement de commutation par l'intermédiaire duquel l'équipement attaquant émet le paquet de données avec l'adresse source usurpée, en association avec ce couple unique et les couple adresse IP source, port source. Grâce à cette traduction d'adresses, un deuxième flux de données est créé entre l'équipement de commutation et le deuxième équipement terminal (destinataire). Le fait de garder en mémoire la connaissance de ce port physique associée aux couples d'adresse IP port source/modifié permet de garantir que les paquets de données d'un flux descendant du deuxième équipement généré en réponse au flux montant seront réacheminés vers l'équipement de commutation auquel s'est rattaché l'équipement terminal émetteur. De la sorte, s'il s'agit d'un attaquant qui a usurpé l'adresse IP source et le port source d'un équipement terminal cible, c'est bien l'attaquant et non la cible qui recevra le flux de réponse.
Le port physique de l'équipement peut être un port de commutation tangible ou intangible (plus communément appelé virtuel) qui possède un identifiant propre au sein de l'équipement.
Selon un aspect de l'invention, le procédé de traitement d'un paquet de données comprend, sur réception d'un paquet de données appartenant à un flux de données descendant émis par le deuxième équipement vers l'équipement de commutation à destination du premier équipement, le paquet de données comprenant une adresse IP source, un port source, une adresse IP destination et un port destination, les étapes suivantes :
- Obtention de l'adresse IP destination et du port destination dans un en-tête du paquet de données ;
- Lorsque l'adresse IP destination est égale à une adresse IP de l'équipement de commutation et le port destination égal à un port de l'équipement de commutation, obtention d'un enregistrement comprenant l'adresse IP, le port de l'équipement de commutation associé à une adresse IP, un port d'un premier équipement et un port physique de l'équipement de commutation ;
- Lorsqu'un enregistrement a été trouvé, modification du paquet de données par remplacement de l'adresse IP de destination du paquet de données par l'adresse IP du premier équipement et remplacement du port source du paquet de données par le port du premier équipement; et
- Envoi du paquet modifié sur le port physique de l'équipement de commutation à destination du premier équipement.
Avec l'invention, un paquet d'un flux descendant comprenant une réponse à un flux montant émis par un équipement usurpateur de l'identité d'un autre équipement est systématiquement renvoyé vers l'équipement usurpateur, sans qu'aucune connaissance de la topologie ne soit requise. Grâce à cet effet « boomerang », l'invention fournit une solution pour protéger les équipements connectés à un réseau de communication contre une attaque de déni de service par usurpation d'identité. Contrairement aux solutions de filtrage de l'art antérieur, qui cherchent à prévenir les attaques, l'invention fait en sorte que le flux descendant émis en réponse à la requête de l'attaquant épargne la cible de l'attaque et soit réacheminée vers l'attaquant.
Selon un aspect de l'invention, l'étape d'obtention d'un enregistrement comprend une étape de recherche dans une table de traduction d'adresses stockée dans une mémoire et, lorsqu'un enregistrement a été trouvé, une étape de lecture de l'adresse IP et du port modifiés dans ledit enregistrement.
Si un enregistrement existe déjà, c'est qu'un paquet de données du même flux a déjà été traité, on réutilise le couple d'adresse IP/port modifiés.
Selon un autre aspect de l'invention, lorsqu'aucun enregistrement n'a été trouvé, le procédé comprend l'enregistrement dans une mémoire de ladite association.
Par exemple, cet enregistrement est mémorisé dans une table, dite de translation ou de traduction d'adresses.
Selon encore un autre aspect de l'invention, le procédé de traitement d'un paquet de données comprend une étape de réception d'un message en provenance d'un équipement de contrôle de l'équipement de commutation, ledit message comprenant une adresse IP de l'équipement de commutation, un port de l'équipement de commutation et un port physique de l'équipement de commutation à associer à l'adresse IP source du premier équipement et au port source du premier équipement.
Avantageusement, l'invention peut être mise en œuvre dans une architecture SDN, selon laquelle un équipement contrôleur descend des règles de traitement des paquets de données à l'équipement de commutation dont il a la charge.
L'invention concerne également un dispositif de traitement d'un paquet de données adapté pour mettre en œuvre le procédé selon l'un quelconque des modes particuliers de réalisation définis cidessus. Ce dispositif de traitement pourra bien sûr comporter les différentes caractéristiques relatives au procédé de traitement d'un paquet de données selon l'invention.
Ainsi, un tel dispositif est au moins configuré pour :
- obtenir l'adresse IP source et du port source dans un en-tête du paquet de données ;
- Obtenir un port physique de l'équipement de commutation sur lequel est reçu le paquet de données en provenance du premier équipement ;
- Obtenir un enregistrement comprenant l'adresse IP source, le port source et le port physique obtenus associés avec une adresse IP et un port de l'équipement de commutation choisi parmi une pluralité de ports de l'équipement de commutation non utilisés ;
- Modifier le paquet de données par remplacement de l'adresse IP source du paquet de données par l'adresse IP de l'équipement de commutation et remplacement du port source du paquet de données par le port choisi; et
- Emettre le paquet de données modifié.
Selon un autre aspect de l'invention, le dispositif est en outre configuré pour :
- Recevoir un paquet de données appartenant à un flux de données descendant émis par le deuxième équipement terminal vers l'équipement de commutation à destination du premier équipement, le paquet de données comprenant une adresse IP source, un port source, une adresse IP destination et un port destination et, ledit dispositif est configuré pour :
- Obtenir l'adresse IP destination et du port destination dans un en-tête du paquet de données ;
- Lorsque l'adresse IP destination est égale à une adresse IP de l'équipement de commutation et le port destination égal à un port de l'équipement de commutation, rechercher un enregistrement comprenant l'adresse IP et le port de l'équipement de commutation associé à une adresse IP, un port d'un premier équipement terminal et un port physique de l'équipement de commutation ;
- Lorsqu'un enregistrement a été trouvé, modifier le paquet de données par remplacement de l'adresse IP de destination du paquet de données par l'adresse IP source de l'équipement de commutation et remplacement du port source du paquet de données par le port source choisi; et
- Envoyer le paquet modifié sur le port physique de l'équipement de commutation à destination du premier équipement.
Selon un mode particulier de réalisation de l'invention, un tel dispositif de traitement est compris dans un équipement de commutation d'un réseau de télécommunications.
Corrélativement, l'invention concerne donc un équipement de commutation d'un réseau de communication apte à recevoir un paquet de données d'un flux de données émis par un premier équipement terminal à destination d'un deuxième équipement terminal, comprenant un dispositif de traitement d'un paquet de données selon l'invention.
Avantageusement ledit équipement de commutation est apte à recevoir un paquet de données d'un flux de données émis par le deuxième équipement terminal à destination du premier équipement terminal et le dispositif de traitement d'un paquet de données est conforme à un mode de réalisation de l'invention.
L'invention concerne aussi un programme d'ordinateur comportant des instructions pour la mise en œuvre des étapes d'un procédé de traitement d'un paquet de données tel que décrit précédemment, lorsque ce programme est exécuté par un processeur.
Ce programme peut utiliser n'importe quel langage de programmation. Il peut être téléchargé depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur.
L'invention se rapporte enfin à des supports d'enregistrement, lisibles par un processeur, intégrés ou non au dispositif de codage d'une image ou d'une séquence d'images et au dispositif de décodage selon l'invention, éventuellement amovible, mémorisant respectivement un programme d'ordinateur mettant en œuvre un procédé de traitement et un programme d'ordinateur mettant en œuvre un procédé de décodage, tel que décrits précédemment.
6. Liste des figures
D'autres avantages et caractéristiques de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation particulier de l'invention, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels :
la figure 1 illustre de façon schématique un premier exemple de réalisation de l'invention ;
la figure 2 décrit de façon schématique les étapes d'un procédé de traitement d'un paquet de données issu d'un premier flux d'une communication émis par un premier équipement terminal à destination d'un deuxième équipement terminal selon l'invention ;
la figure 3 décrit de façon schématique les étapes d'un procédé de traitement d'un paquet de données issu d'un deuxième flux de la communication entre le deuxième équipement terminal et le premier équipement terminal, selon l'invention ;
la figure 4 illustre de façon schématique un deuxième exemple de réalisation de l'invention ;
la figure 5 illustre de façon schématique un premier exemple de structure matérielle d'un dispositif de traitement d'un paquet de données, selon un mode de réalisation de l'invention ; et la figure 6 illustre de façon schématique un deuxième exemple de structure matérielle d'un dispositif de traitement d'un paquet de données, selon un mode de réalisation de l'invention.
7. Description d'un mode de réalisation particulier de l'invention
Le principe général de l'invention repose sur la traduction du couple d'adresse IP/port source d'un paquet de données émis par un premier équipement à destination d'un deuxième équipement en un couple d'adresse IP/port modifié, de l'équipement de commutation et par l'enregistrement d'une association entre le couple source, le couple modifié et un port physique de l'équipement de commutation.
Dans la suite de la description, comme illustré par la Figure 1, on considère un réseau de télécommunications comprenant au moins un équipement de commutation SW1 (pour « switch », en anglais) apte à connecter un ou plusieurs équipements terminaux ET1, ET2 au réseau. On comprend que l'équipement de commutation constitue l'équipement d'accès au réseau pour les équipements terminaux ET1 et ET2.
Un premier équipement client ET1, dit aussi équipement source, émet un flux de données montant FDM1 vers un deuxième équipement client ET2, dit équipement destination Ce flux montant fait partie d'une communication entre le premier et le deuxième équipements. Cette communication est définie par un quadruplet comprenant une adresse IP et un port du premier équipement, une adresse IP et un port du deuxième équipement. On notera que l'invention s'applique aussi bien à une communication avec ou sans connexion.
Dans cet exemple, le premier équipement client ET1 est connecté au réseau RT par l'intermédiaire de l'équipement de commutation SW1.
Le flux de données montant FDM émis par l'équipement terminal ET1 comprend plusieurs paquets de données DPI à DPM, avec M entier non nul.
On suppose que l'équipement terminal ET1 est un attaquant. Le flux de données montant FDM1 qu'il émet est destiné à déclencher l'émission par le deuxième équipement terminal ET2 d'un flux de données descendant vers un troisième équipement terminal ET3, dont le premier équipement terminal ET1 a usurpé l'identité.
Ce troisième équipement terminal ET3 est connecté à l'équipement de commutation SW1. Il constitue donc la cible de l'attaque menée par l'équipement terminal ET1.
Dans la suite de la description, on suppose que l'équipement de commutation SW1 est au moins apte à et configuré pour traiter les paquets de données de niveaux L2, L3 et L4 du modèle OSI (pour « Open System Interconnections », en anglais), ce qui correspond respectivement aux couches de liaison, de réseau et de transport.
En relation avec la Figure 2, on décrit un procédé de traitement d'un paquet de données DPi, avec i entier compris entre 1 et M, du flux FDM1 selon un mode de réalisation de l'invention.
Au cours d'une étape Tl, le paquet de donnée DPi est reçu par l'équipement de commutation SW1.
En T2, il obtient une adresse IP source @IPS, une adresse IP destination @IPD compris dans un entête ajouté par la couche réseau et un port source PS, un port destination PD compris dans un entête ajoutée par la couche transport du paquet de données DPi. Comme évoqué précédemment, l'adresse IP source est celle de l'équipement terminal cible ET3 @IPS=@IP3, usurpée par ET1. Il en est de même pour le port source PS=P3. L'adresse et le port de destination sont par exemple ceux d'un équipement serveur qui réalise un service. Par exemple, il s'agit d'un serveur DNS et le flux de données montant émis par ET3 est une requête DNS. Il est également possible de réaliser des attaques par amplification en utilisant un service de synchronisation temporelle, appelé communément NTP (pour « Network Time Protocol », en anglais), ou encore un service de gestion de réseau, appelé communément SNMP (pour «Simple Network Management Protocol », en anglais).
En T3, il obtient un port physique PPsw de l'équipement de commutation SW1 sur lequel est reçu le paquet de données en provenance du premier équipement ET1. Cette information est connue au niveau de la couche L2.
En T4, il obtient un enregistrement REC de l'adresse IP source et du port source obtenus associé avec le port physique de l'équipement de commutation, une adresse IP de l'équipement de commutation et un port choisi parmi une pluralité de ports de l'équipement de commutation non utilisés. A ce stade, deux cas sont envisagés :
L'enregistrement existe dans une mémoire locale ou distante de l'équipement de commutation SW1. Cela signifie que le paquet de données DPi n'est pas le premier du flux de données FDM1. Cet enregistrement peut prendre la forme d'une ligne d'une table, dite de traduction d'adresses, qui associe à l'adresse IP source, le port source et le port physique PPSW1, une adresse IP @IPSW1, un port PSW1 de l'équipement de commutation SW1. L'étape T4 consiste alors en une lecture des informations enregistrées ;
L'enregistrement n'existe pas et l'étape comprend l'obtention d'un couple d'adresse IP et de port de l'équipement de commutation SW1 et la création de l'enregistrement REC tel que précédemment décrit.
En T5, on modifie le paquet de données DPi en remplaçant son adresse IP source par l'adresse IP @IPSW1 de l'équipement de commutation et remplacement du port source du paquet de données par le port choisi PSW1.
En T6, on émet le paquet de donnée DPim modifié. On comprend qu'on a généré ainsi un deuxième flux de données FDM2 entre l'équipement de commutation SW1 et l'équipement destination ET2.
Les étapes TO à T6 du procédé sont répétées pour les autres paquets de données du flux montant FDM1.
On suppose que le deuxième flux de données montant FDM2 est ensuite transmis par le réseau de télécommunications RT jusqu'à l'équipement destination ET3 = ES1, que cet équipement a traité la requête contenue dans le flux FDM2 et qu'il a émis en réponse un flux de données descendant FDD1.
Il est donc destiné à l'équipement de commutation SW1.
On considère en particulier un paquet de données DP'i de ce flux descendant. En relation avec la Figure 3, on décrit maintenant les étapes du procédé de traitement d'un tel paquet de données selon l'invention.
En T7, le paquet de données DP'i est reçu par l'équipement de commutation SW1. En T8, il obtient l'adresse IP destination @IPD' et le port destination PD' dans un en-tête du paquet de données DPi'.
Lorsque l'adresse IP destination est égale à une adresse IP de l'équipement de commutation et le port destination égal à un port de l'équipement de commutation, par exemple lorsque @IPD' = @IPSW1 et PD'=PSW1, on recherche en T9 dans une mémoire locale ou distante de l'équipement SW1, un enregistrement comprenant cette adresse IP et ce port. Avantageusement, cet enregistrement correspond à une ligne d'une table dite de traduction de l'équipement de commutation SW1.
Cette table peut être la même que celle utilisée pour le flux montant ou bien une table de traduction spécifique au flux descendant. Les éléments recherchés entre le flux montant et le flux descendant ne sont pas les mêmes. En effet dans le cas du flux montant on va rechercher dans la table une entrée contenant l'adresse IP source, le port source, et le port physique du switch sur lequel est reçu le paquet. Dans le cas descendant, on va rechercher une entrée contenant l'adresse IP de destination et le port de destination du paquet. Avoir deux tables distinctes peut être intéressant dans les systèmes tels que les bases de données relationnelles où les champs des entrées sont indexés. En effet dans la table des flux montants, les entrées indexées seront les champs : adresse IP source, port source, et port physique du switch alors que dans le cas du flux descendant, les entrées indexées seront les champs : IP de destination et port de destination.
Cet enregistrement associe à l'adresse IP @IPSW1 et au port PD'=PSW1 de l'équipement de commutation l'adresse IP @IPS et le port PS du premier équipement terminal ET1, et le port physique PPswi de l'équipement de commutation SW1;
Lorsqu'un enregistrement a été trouvé, le paquet de données DPi est modifié en T10 par remplacement de l'adresse IP de destination du paquet de données par l'adresse IP source @IPS = @IP3 et remplacement du port source du paquet de données par le port source PS = P3.
Le paquet modifié DPim est transmis en TU sur le port physique PPswi de l'équipement de commutation à destination du premier équipement ET1.
De la sorte, le paquet de données est bien envoyé à l'équipement terminal ET1 quia usurpé l'adresse IP et le port de l'équipement terminal ET3.
En effet on suppose que l'équipement terminal ET3 a préalablement établi une communication avec l'équipement terminal de destination ET2, par exemple en mode connecté, selon le protocole de communication TCP (pour « Transmission Control Protocol », en anglais), tel que spécifié dans la RFC 793 de l'IETF. Dans le modèle OSI, ce protocole appartient à la couche transport L4, intermédiaire de la couche réseau et de la couche session. Pour ce faire, il a émis un paquet de données de type TCP SYN à destination de l'équipement terminal ET2, avec le port source PS = 5000 et le port destination PD=80. Ce paquet de données appartient à un flux de données FDM1'. A réception de ce paquet de données, l'équipement de commutation SW1 a complété sa table de traduction d'adresses en créant un enregistrement REC3,2 = < @IPS = 192.168.1.2, PS = 5000, PPSW1 = 1, IPD = 192.168.2.1, PD = 6000>.
Lorsque l'équipement de commutation SW1 reçoit le paquet de données DPi du flux FDM1, il crée l'enregistrement REC1,2 = < @IPS = 192.168.1.2, PS = 5000, PPSW1 = 2, IPD = 192.168.2.1, PD = 6000> et émet un flux de données montant FDM2 vers l'équipement terminal ET2.
On comprend qu'avec l'invention, l'équipement de destination va établir deux connexions différentes avec l'équipement de commutation SW1 au lieu d'une seule. Grâce à l'association entre les adresses IP source et destination avec des ports physiques distincts de l'équipement de commutation SW1, les réponses à chacune des requêtes contenues dans le flux de données montants FDM1 et FDM1' seront redirigées vers l'équipement émetteur, c'est-à-dire l'équipement source légitime pour le premier flux FDM1' et l'équipement attaquant pour le second flux FDM1.
La solution ne permet donc pas de prévenir l'usurpation d'identité mais elle en évite les conséquences en retournant l'attaque de l'attaquant contre ce dernier. De la sorte, la portée de celle-ci se trouve réduite. En effet, dans le cadre d'une attaque par amplification perpétrée par l'attaquant, ce dernier recevra le trafic qu'il destinait à la cible. En outre, le DoS sera effectué sur l'attaquant ce qui aura pour effet de l'empêcher de nuire.
La solution qui vient d'être décrite peut s'appliquer dans n'importe quel équipement de commutation auquel sont connectés directement un ou plusieurs équipements terminaux.
En relation avec la Figure 4, on décrit maintenant un autre exemple de mis en œuvre du procédé de traitement d'un paquet de données selon l'invention.
Dans cet exemple, on suppose que le réseau de télécommunications RT est géré par une entité, qui peut être par exemple un opérateur, une entreprise ou un particulier. Il est organisé selon une architecture de type SDN (pour «Software Defined Network », en anglais) et qu'il comprend au moins un équipement de contrôle CT apte à contrôler un ou plusieurs équipements de commutation. Par simplicité, on a représenté un seul équipement de contrôle CT sur la Figure 4.
Le concept SDN décrit une architecture de réseau présentant un plan de contrôle séparé du plan de données. Des équipements du plan de données tels que l'équipement de commutation 20 mettent en œuvre l'acheminement de paquets de données entre l'équipement de communication client ou source EC et l'équipement de communication serveur ou destination ES, tandis qu'un ou plusieurs équipement(s) de contrôle CT ou « contrôleur » du plan de contrôle gère(nt), programme(nt) et maintien(nen)t les équipements du plan de données. Un équipement de contrôle bénéficie d'une vue globale et détaillée surtout ou partie du réseau. Il est hébergé sur une plateforme qui est logiquement centralisée mais peut aussi être physiquement distribuée.
Le principal but du SDN est de réduire la complexité et les coûts élevés liés à l'hétérogénéité des applications et des équipements utilisés dans le réseau. Il s'appuie sur des protocoles standards qui permettent à différents équipements de communiquer. Le réseau est entièrement programmable par le biais des applications qui s'exécutent au niveau du contrôleur La gestion et l'implémentation de la politique réseau sont donc facilitées par la mise en œuvre du plan de contrôle.
On considère en particulier une norme appelée « OpenFlow » destinée à spécifier une interface standard, dite interface sud, entre le plan de contrôle et le plan de données. Un module d'interface IOF permet à l'équipement de contrôle 20 d'installer des règles de traitement dans les équipements de commutation SW1 et SW2 du plan de données. Ces règles implémentent le fonctionnement du plan de données tel que programmé par le plan de contrôle.
On notera toutefois que l'invention n'est pas limitée à OpenFlow et que l'utilisation d'un autre protocole au niveau de l'interface sud ne changerait pas le fonctionnement défini ici.
On comprend que les équipements de commutation ne possèdent pas d'intelligence et que c'est le contrôleur SDN qui leur commande comment traiter un paquet de données reçu, par le biais d'une règle de traitement dédiée. Pour cela, chaque paquet pour lequel l'équipement de commutation n'a pas transmis de règle de traitement adaptée sera transmis au contrôleur. Pour ce faire, il est encapsulé dans un message appelé « packet-in ». En fonction du « packet-in » reçu, le contrôleur définit le traitement à appliquer par l'équipement de commutation au paquet courant, ainsi qu'à tout autre paquet des flux montant et descendant d'une même communication. Pour cela, l'équipement de contrôle transmettra des règles de traitement adaptées à l'équipement de commutation.
L'architecture du réseau RT de la Figure 4 est donc composée de trois sous-réseaux au sein de l'entité. Ils sont associés aux adresses IP suivantes : 192.168.1.0/24, 192.168.2.0/24 et 192.168.3.0/24). Les équipements de commutation SW1 et SW2 sont des équipements de niveau L2/L3/L4 tel que stipulé par le standard OpenFlow. Ils possèdent donc tous une table de routage en couche L3 pour relayer les paquets de données reçus vers le réseau de destination. On supposera que les tables de routages sont renseignées dans une table OpenFlow dite numéro 1 de chaque équipement de commutation. Le remplissage de cette table se fait de manière standardisée c'est-àdire par l'exécution d'un protocole de routage normalisé tel que le protocole IS-IS (pour « Intermediate System to Intermediate System », en anglais) ou OSPF (pour « Open Shortest Path First », en anglais).
On considère un premier équipement terminal ET1 connecté à l'équipement de commutation SW1 et un deuxième équipement terminal ET2 connecté à l'équipement de commutation SW2. Un troisième équipement terminal ET3 est lui aussi connecté à l'équipement de commutation SW2. Dans cet exemple l'équipement terminal ET3 de destination est un serveur DNS joignable sur Internet. Son rôle est de répondre aux requêtes DNS qui lui sont faites par des équipements terminaux sources.
Les requêtes DNS sont incluses dans des messages de communication conformes au protocole UDP (pour « User Datagram Protocol », en anglais) spécifié dans la RFC 768. Ce protocole s'appuie sur la couche transport du modèle OSI et appartient à la couche L4, comme TCP. Le rôle de ce protocole est de permettre la transmission de données (sous forme de datagrammes) de manière très simple entre deux entités, chacune étant définie par une adresse IP et un numéro de port. UDP utilise un mode de transmission sans connexion. Aucune communication préalable n'est requise pour établir la connexion, au contraire de TCP qui utilise le procédé de « poignées de mains » (pour « handshaking », en anglais).
Classiquement, une requête DNS est émise à destination de l'adresse IP d'un équipement serveur DNS sur le port 53. A la réception d'une requête, le serveur DNS destinataire évalue le nom de domaine contenu dans la requête et renvoie une réponse contenant l'adresse IP correspondant à ce nom.
Le service DNS est le moyen le plus utilisé pour réaliser des attaques par amplification. En effet, un grand nombre de serveurs DNS sont disponibles sur Internet et en accès libre. Ils sont généralement appelés « openresolvers ». L'attaque est donc particulièrement simplifiée. Cependant une telle attaque peut uniquement être initiée depuis le réseau de l'entité, car le pare-feu de l'entité en périphérie d'Internet supprime les réponses DNS qui ne sont pas liées à une requête initiée par une machine de l'entité.
De façon connue, les équipements de commutation SW1 et SW2 possèdent chacun deux tables :
Une table de routage, dite table OpenFlow OF numéro 1 ;
Une table de règles, dite table OpenFlow OF numéro 0. Par défaut, cette table comprend une entrée ou enregistrement, appelée règle par défaut (pour « table miss », en anglais) qui prend la forme suivante : <Table_miss, Action = forward_to_controller> ;
Dans un premier temps, nous décrivons le cas de l'émission d'une requête DNS par l'équipement terminal ET1, dans une situation normale, c'est-à-dire sans usurpation d'identité. ET1 émet une requête DNS contenue dans un message IP/UDP contenant les champs : <@IP_Source=@ETl = 192.168.1.2, @IP_destination = @ET3 = 80.0.0.1, Port_Source=5000, Port_destination = 53>.
A la réception de ce message par l'équipement de commutation SW1, l'entrée Table_Miss est exécutée, car SW1 ne dispose d'aucune autre règle de traitement de ce message. Le paquet est donc encapsulé dans un message packet-in qui est transmis au contrôleur CT. Selon l'invention, le contrôleur génère alors les règles OpenFlow suivantes et les envoie à l'équipement de commutation SW1 qui les ajoutera dans sa table OpenFlow numéro 0 :
1) Entry=<Match=<@IP_Source=192.168.1.2,Port_Source=5000,Port_SWl = PPl>,Action = {s et field:192.168.2.l->@IP_Source, set_field:6000->Port_Source, goto_table:l}>
2) Entry=<Match = <@IP_Destination = 192.168.2.1,Port-Destination = 6000>,Action={set_fiel d: 192.168.1.2->@IP_Destination,set_field:5000->Port-Destination, output:PP1}>.
La première règle est ajoutée afin de conserver la même traduction ou translation d'adresses pour l'ensemble des paquets d'un même flux émis par l'équipement terminal ET1 à destination de l'équipement serveur ET3.
On dit qu'un équipement de communication d'un réseau, tel qu'un routeur fait une traduction d'adresse réseau ou NAT (pour « Network Address Translation », en anglais) lorsqu'il fait correspondre des adresses IP à d'autres adresses IP. En particulier, un cas courant est de permettre à des machines disposant d'adresses qui font partie d'un intranet et ne sont ni uniques ni routables à l'échelle d'Internet, de communiquer avec le reste d'Internet en semblant utiliser des adresses externes uniques et routables. Ainsi, il est possible de faire correspondre une seule adresse externe publique visible sur Internet à toutes les adresses d'un réseau privé, afin de pallier l'épuisement des adresses IPv4 par exemple.
La règle 1 réalise non seulement une traduction d'adresse IP et de port (de niveau transport L4), mais aussi associe aux couples d'adresses traduits le port physique par lequel l'équipement de commutation SW1 a reçu le message de requête. Contrairement à une traduction d'adresse de type NAT-P qui permet de remplacer une adresse IP source et un port IP Source du paquet de données par une adresse IP source et un port IPSource de l'équipement de commutation, le numéro de port physique est essentiel dans la translation. En effet, si l'attaquant peut être connecté au même équipement de commutation SW1, c'est la connaissance de ce port physique qui permettra de différencier l'attaquant de la cible et donc de router les paquets de réponse vers l'attaquant.
L'exécution de la règle 1 conduit à l'enregistrement dans la table de routage de l'association entre le couple @ET1,PET1, @SW1, PSW1, PP1.
C'est donc grâce à cet enregistrement que l'équipement de commutation SW1 va identifier avec certitude que la provenance du paquet de données. Un mécanisme de translation d'adresse conventionnel est donc incapable de cela.
La règle 2 permet de gérer les paquets de données d'un message de réponse émis par le serveur DNS à destination de l'équipement ET1, dans le sens retour. En particulier, elle fait en sorte de rediriger les paquets de données sur le bon numéro de port de l'équipement de commutation SW1 et de remplacer les informations du message en réalisant l'opération inverse de la traduction d'adresses effectuée sur le message de requête.
Le fait d'enregistrer le triplet <@IP_Source=192.168.1.2, Port_Source=5000, Port_Sl = PPl> permet de garantir l'unicité de la correspondance au niveau de SW1 et de bien différencier un trafic d'attaque d'un trafic normal lorsque l'attaquant et la cible sont sur le même équipement de commutation.
On suppose maintenant que l'équipement terminal ET1 est la cible d'une attaque par amplification lancée par l'équipement terminal ET2.
Pour ce faire, ET2 émet une requête DNS portée par un message IP/UDP avec les mêmes paramètres que précédemment, c'est-à-dire qu'il usurpe l'adresse IP de la cible ET1 : <@IP_Source=192.168.1.2, @IP_destination=80.0.0.1, Port_Source=5000, Port_destination = 53>.
A la réception d'un paquet de données de ce message, le contrôleur CT extrait des informations de du packet-in qui le contient et notamment le port physique PP par lequel l'équipement de commutation a reçu ce paquet. Il génère les règles OpenFlow suivantes et les envoie à l'équipement de commutation SW2 (celui auquel est connecté l'attaquant) qui les ajoutera dans sa table OpenFlow numéro 0 :
1) Entry=< Match = <@IP_Source=192.168.1.2, Port_Source=5000, Port_SW2=PPl>,Action = {set field :@Internet_SW2->@IP_Source, set_field:7000->Port_Source, goto_table:l}>
2) Entry= < Match = < @IP_Destination=@Internet_S2,
Port-Destination=7000>,Action = {set_field :192.168.1.2->@IP_Destination, set field : 5000->Port-Destination, output: PP1}>
Les deux entrées ont le même rôle que précédemment décrit. On suppose ici que le contrôleur est capable de déduire que le message reçu est un message externe à l'entité donc qu'il peut commander à l'équipement de commutation de remplacer l'adresse IP_Source de l'en-tête du paquet de données par sa propre adresse IP publique.
Dans un tel cas, la réponse de la requête usurpée est bien acheminée par le réseau de télécommunications RT vers l'attaquant et non la cible. L'invention ne prévient pas l'attaque mais la désamorce en redirigeant le trafic généré par cette attaque vers l'attaquant.
L'invention qui vient d'être décrite dans ses différents modes de réalisation repose donc sur la translation du couple (©IPs, Ps) vers un couple (@IPsw, Psw) de l'équipement de commutation, qui met en œuvre l'invention. Le port de la couche transport étant codé sur 16 bits, ceci permet de couvrir 216 translations possibles par adresse IP à disposition de l'équipement de commutation. Ce nombre limité peut toutefois s'avérer insuffisant pour pouvoir les traiter tous les flux reçus simultanément par l'équipement de commutation.
Une solution simple pour augmenter le nombre d'entrées dans la table de translation d'adresses est de mettre à disposition de l'équipement de commutation une plage d'adresses IP plutôt qu'une seule. Si l'équipement de commutation dispose de N adresses IP, avec N entier non nul supérieur à 1, sa table de traduction d'adresses pourra contenir Nx216 entrées différentes.
Du fait que l'invention a pour principe de rediriger le trafic induit par l'attaque sur l'attaquant luimême, une conséquence est que ce trafic traverse le réseau et génère une charge de traitement. Une propagation de l'attaque par effet cascade pourrait donc avoir lieu au sein du réseau. En effet, des équipements de commutation pourraient être au moins partiellement saturés par le trafic d'attaque qui les traverse. Il en résulterait, que bien que l'attaque n'atteigne pas la cible visée par l'attaquant et ne parvienne pas à la rendre inopérante, l'attaque pourrait nuire au bon fonctionnement du réseau de télécommunications par effet rebond, s'il n'est pas capable d'absorber le trafic d'attaque. Cette dernière peut voir ces possibilités de communication réduite du fait de l'incapacité d'absorption du trafic d'attaque par le réseau.
Avantageusement, afin de protéger le réseau de télécommunications et éviter de mettre en péril son architecture, une solution est de mettre en place un mécanisme de sécurité qui limite le trafic entrant de sorte qu'il n'atteigne pas la capacité en bande passante du réseau RT. Par exemple, un mécanisme de seuillage sur l'équipement du réseau de l'entité en connexion avec Internet sera installé. Lorsque pour une communication donnée, le trafic dépasse le seuil fixé, une partie ou la totalité des paquets de données peut être supprimée. Par exemple, un mécanisme dit du « seau percé » (« leaky ou token-bucket » en anglais), connu de l'homme de métier, est tout à fait adapté à réaliser un seuillage ciblé. Ainsi le seuil peut être lié à la bande passante d'un flux. Au-delà d'une certaine bande passante, les paquets excédant cette bande passante se verront supprimées. Avantageusement, le seuil peut être défini manuellement par l'administrateur ou dynamiquement en fonction de la charge supportée par l'équipement réseau de l'entité.
L'invention qui vient d'être présentée est particulièrement efficace dans le cadre des attaques par amplification, c'est-à-dire lorsque le service est distribué et asymétrique (c'est-à-dire que la charge dans le sens serveur->client est bien plus importante que dans le sens client->serveur) et extérieur à l'entité.
On notera que l'invention qui vient d'être décrite, peut être mise en œuvre au moyen de composants logiciels et/ou matériels. Dans cette optique, les termes « module » et « entité », utilisés dans ce document, peuvent correspondre soit à un composant logiciel, soit à un composant matériel, soit encore à un ensemble de composants matériels et/ou logiciels, aptes à mettre en œuvre la ou les fonctions décrites pour le module ou l'entité concerné(e).
En relation avec la Figure 5, on présente maintenant la structure simplifiée d'un dispositif de traitement 100 adapté pour mettre en œuvre le procédé selon l'un quelconque des modes particuliers de réalisation de l'invention qui viennent d'être décrit en relation avec les figures 1 à 4.
Le dispositif 100 est adapté pour traiter un paquet de données, émis par un premier équipement terminal à destination d'un deuxième équipement terminal.
Le dispositif de traitement 100 est notamment configuré pour:
Obtenir l'adresse IP source et le port source dans un en-tête du paquet de données ;
Obtenir un port physique de l'équipement de commutation sur lequel est reçu le paquet de données en provenance du premier équipement ;
Obtenir un enregistrement de l'adresse IP source et du port source obtenus associé avec le port physique de l'équipement de commutation, une adresse IP de l'équipement de commutation et un port choisi parmi une pluralité de ports de l'équipement de commutation non utilisés ;
Modifier le paquet de données par remplacement de l'adresse IP source du paquet de données par l'adresse IP de l'équipement de commutation et remplacement du port source du paquet de données par le port choisi;
Emettre le paquet de données modifié.
Selon l'invention, sur réception d'un paquet de données appartenant à un flux de données descendant émis par le deuxième équipement vers l'équipement de commutation à destination du premier équipement, le paquet de données comprenant une adresse IP source, un port source, une adresse IP destination et un port destination et, le dispositif est configuré pour :
Obtenir l'adresse IP destination et le port destination dans un en-tête du paquet de données ;
Lorsque l'adresse IP destination est égale à une adresse IP de l'équipement de commutation et le port destination égal à un port de l'équipement de commutation, rechercher un enregistrement comprenant l'adresse IP, le port de l'équipement de commutation associé à une adresse IP, un port d'un premier équipement et un port physique de l'équipement de commutation ;
Lorsqu'un enregistrement a été trouvé, modifier le paquet de données par remplacement de l'adresse IP de destination du paquet de données par l'adresse IP du premier équipement et remplacer le port source du paquet de données par le port du premier équipement; et
Envoyer le paquet modifié sur le port physique de l'équipement de commutation à destination du premier équipement.
Selon un mode particulier de réalisation de l'invention illustré par la Figure 5, le dispositif de traitement 100 a l'architecture classique d'un ordinateur et comprend notamment, une unité de traitement 110, équipée d'un processeur μι, et pilotée par un programme d'ordinateur Pgi 120, stocké dans une mémoire 130 et mettant en œuvre le procédé de selon l'invention.
A l'initialisation, les instructions de code du programme d'ordinateur Pgi 120 sont par exemple chargées dans une mémoire RAM MEM1 avant d'être exécutées par le processeur de l'unité de traitement 110. Le processeur de l'unité de traitement 110 met en œuvre les étapes du procédé décrit précédemment, selon les instructions du programme d'ordinateur 120.
Selon un autre mode particulier de réalisation de l'invention illustré par la Figure 6, le procédé de codage est mis en œuvre par des modules fonctionnels. Pour cela, le dispositif de codage 100 comprend au moins les modules fonctionnels suivants :
Un module d'obtention (OBT. @IPS, PS) de l'adresse IP source et du port source dans un en-tête du paquet de données ;
Un module d'obtention (OBT. PPSW) d'un port physique de l'équipement de commutation sur lequel est reçu le paquet de données en provenance du premier équipement ;
Un module d'obtention (OBT. Rec) d'un enregistrement de l'adresse IP source et du port source obtenus associé avec le port physique de l'équipement de commutation, une adresse IP de l'équipement de commutation et un port choisi parmi une pluralité de ports de l'équipement de commutation non utilisés ;
Un module de modification (MOD. DP) du paquet de données par remplacement de l'adresse IP source du paquet de données par l'adresse IP de l'équipement de commutation et remplacement du port source du paquet de données par le port choisi; et
Un module d'émission (SEND DPm) du paquet de données modifié.
Selon un aspect de ITinvention, sur réception d'un paquet de données appartenant à un flux de données descendant émis par le deuxième équipement vers l'équipement de commutation à destination du premier équipement, le paquet de données comprenant une adresse IP source, un port source, une adresse IP destination et un port destination et, le dispositif comprend les modules suivants :
Obtention de l'adresse IP destination et du port destination dans un en-tête du paquet de données ;
Lorsque l'adresse IP destination est égale à une adresse IP de l'équipement de commutation et le port destination égal à un port de l'équipement de commutation, recherche d'un enregistrement comprenant l'adresse IP, le port de l'équipement de commutation associé à une adresse IP, un port d'un premier équipement et un port physique de l'équipement de commutation ;
Lorsqu'un enregistrement a été trouvé, modification du paquet de données par remplacement de l'adresse IP de destination du paquet de données par l'adresse IP du premier équipement et remplacement du port source du paquet de données par le port du premier équipement; et
Envoi du paquet modifié sur le port physique de l'équipement de commutation à destination du premier équipement.
Le dispositif 100 comprend en outre une mémoire Ml de stockage des enregistrements, par exemple dans une ou plusieurs tables de traduction d'adresses.
Ces unités sont pilotées par le processeur μΐ de l'unité de traitement 110.
L'unité de traitement 110 coopère avec les différents modules fonctionnels décrits ci-dessus et les mémoires MEM1 et Ml afin de mettre en œuvre les étapes du procédé de traitement. Les différents modules fonctionnels décrits ci-dessus peuvent être sous forme matérielle et/ou logicielle. Sous une forme logicielle, un tel module fonctionnel peut comprendre un processeur, une mémoire et des instructions de code de programme pour mettre en œuvre la fonction correspondante au module lorsque les instructions de code sont exécutées par le processeur. Sous une forme matérielle, un tel module fonctionnel peut mis en œuvre par tout type de circuits d'encodage adaptés, tels que par exemple et de manière non limitative des microprocesseurs, des processeurs de traitement du signal (DSP pour Digital Signal Processor en anglais), des circuits intégrés spécifiques à des applications (ASICs pour « Application Specific Integrated Circuit » en anglais), des circuits FPGA (pour « Field Programmable Gate Arrays » en anglais), un câblage d'unités logiques.
De façon avantageuse, un tel dispositif 100 peut être intégré à un équipement de commutation. Le dispositif 100 est alors agencé pour coopérer au moins avec le module suivant de l'équipement de commutation :
un module E/R d'émission/réception de données, par l'intermédiaire duquel les paquets de données sont reçus ou émis via un réseau de télécommunications RT.
L'invention qui vient d'être présentée présente de nombreux avantages. En effet, le fonctionnement modifié d'un équipement de commutation qu'elle propose permet de garantir les 5 propriétés suivantes :
1) Etre dynamique : la méthode apprend le trafic émis et sait quel trafic est attendu. Aucune intervention humaine n'est requise ;
2) Ne pas dépendre d'une connaissance de la topologie partielle : l'invention est indépendante de la connaissance de la topologie du réseau. En effet, la solution ne filtre nullement les paquets de données. Elle s'assure que les messages entrants qui constituent une réponse aux messages sortants émis par un équipement terminal, lui parviennent en retour. Notre méthode est donc indépendante de cette connaissance ;
3) Ne pas dépendre d'un autre service : elle ne repose sur aucun service tiers pour garantir la sécurité d'équipements appartenant à une même entité. La sécurité de la solution ne peut donc être remise en cause par les problèmes de sécurité d'un service tiers. Peu importe les services déployés au sein du réseau, et leur sécurisation, la méthode préviendra l'usurpation d'identité au sein de l'entité ;
4) Etre générique : l'invention fonctionne également de façon générique, c'est-à-dire pour tout trafic qui est identifié par un quadruplet <IP Source, Port Source, IP destination, Port destination> ce qui est le cas pour l'ensemble des communications actuelles, peu importe le protocole de la couche transport ;
5) Ne pas avoir d'impact sur les métriques du service (latence, bande passante...) : l'invention est totalement indépendante d'un service tiers et le traitement se fait au plus proche de l'entité émettrice. Elle n'ajoute donc aucun surcoût au transit d'un paquet de données entre sa source et sa destination.
Il va de soi que les modes de réalisation qui ont été décrits ci-dessus ont été donnés à titre purement indicatif et nullement limitatif, et que de nombreuses modifications peuvent être facilement apportées par l'homme de l'art sans pour autant sortir du cadre de l'invention.

Claims (11)

  1. REVENDICATIONS
    1. Procédé de traitement d'un paquet de données reçu par un équipement de commutation d'un réseau de télécommunications, le paquet de données comprenant une adresse IP source, un port source, une adresse IP destination et un port destination et appartenant à un flux de données, dit montant, émis par un premier équipement vers un deuxième équipement, caractérisé en ce que le procédé comprend les étapes suivantes :
    Obtention (Tl) de l'adresse IP source et du port source dans un en-tête du paquet de données ;
    Obtention (T2) d'un port physique de l'équipement de commutation sur lequel est reçu le paquet de données en provenance du premier équipement ;
    - Obtention (T3) d'un enregistrement comprenant l'adresse IP source, le port source et le port physique obtenus associés avec une adresse IP et un port de l'équipement de commutation choisi parmi une pluralité de ports de l'équipement de commutation non utilisés ;
    Modification (T4) du paquet de données par remplacement de l'adresse IP source du paquet de données par l'adresse IP de l'équipement de commutation et remplacement du port source du paquet de données par le port choisi; et
    Emission (T5) du paquet de données modifié.
  2. 2. Procédé de traitement d'un paquet de données, selon la revendication 1, caractérisé en ce que, sur réception (T7) d'un paquet de données appartenant à un flux de données, dit descendant, émis par le deuxième équipement vers l'équipement de commutation à destination du premier équipement, le paquet de données comprenant une adresse IP source, un port source, une adresse IP destination et un port destination et, ledit procédé comprenant les étapes suivantes :
    Obtention (T8) de l'adresse IP destination et du port destination dans un en-tête du paquet de données ;
    Lorsque l'adresse IP destination est égale à une adresse IP de l'équipement de commutation et le port destination égal à un port de l'équipement de commutation, obtention (T9) d'un enregistrement comprenant l'adresse IP, le port de l'équipement de commutation associé à une adresse IP, un port d'un premier équipement et un port physique de l'équipement de commutation ;
    Lorsqu'un enregistrement a été trouvé, modification (T10) du paquet de données par remplacement de l'adresse IP de destination du paquet de données par l'adresse IP du premier équipement et remplacement du port source du paquet de données par le port du premier équipement; et
    Envoi (TU) du paquet modifié sur le port physique de l'équipement de commutation à destination du premier équipement.
  3. 3. Procédé de traitement d'un paquet de données selon la revendication 1 ou 2, caractérisé en ce que l'étape d'obtention d'un enregistrement comprend une étape de recherche dans une table de traduction d'adresses stockée dans une mémoire et en ce que, lorsqu'un enregistrement a été trouvé, une étape de lecture de l'adresse IP et du port modifiés dans ledit enregistrement.
  4. 4. Procédé de traitement d'un paquet de données selon la revendication 1, caractérisé en ce que, lorsqu'aucun enregistrement n'a été trouvé, le procédé comprend l'enregistrement dans une mémoire de ladite association.
  5. 5. Procédé de traitement d'un paquet de données selon la revendication 4, caractérisé en ce qu'il comprend une étape de réception d'un message en provenance d'un équipement de contrôle de l'équipement de commutation, ledit message comprenant une adresse IP de l'équipement de commutation, un port de l'équipement de commutation et un port physique de l'équipement de commutation à associer à l'adresse IP source du premier équipement et au port source du premier équipement.
  6. 6. Dispositif (100) de traitement d'un paquet de données reçu par un équipement de commutation d'un réseau de télécommunications, le paquet de données comprenant une adresse IP source, un port source, une adresse IP destination et un port destination et appartenant à un flux de données, dit montant, émis par un premier équipement vers un deuxième équipement, caractérisé en ce qu'il est configuré pour :
    Obtenir (OBT. @IPS, PS) l'adresse IP source et le port source dans un en-tête du paquet de données ;
    Obtenir (OBT. PPSW) un port physique de l'équipement de commutation sur lequel est reçu le paquet de données en provenance du premier équipement ;
    - Obtenir (OBT. Rec) un enregistrement comprenant l'adresse IP source, le port source et le port physique obtenus associés avec une adresse IP et un port de l'équipement de commutation choisi parmi une pluralité de ports de l'équipement de commutation non utilisés ;
    Modifier (MOD. DP) le paquet de données par remplacement de l'adresse IP source du paquet de données par l'adresse IP de l'équipement de commutation et remplacement du port source du paquet de données par le port choisi; et
    Emettre (SEND DPm) le paquet de données modifié.
  7. 7. Dispositif (100) de traitement d'un paquet de données, selon la revendication 6, caractérisé en ce que, sur réception d'un paquet de données appartenant à un flux de données descendant émis par le deuxième équipement vers l'équipement de commutation à destination du premier équipement, le paquet de données comprenant une adresse IP source, un port source, une adresse IP destination et un port destination et, ledit dispositif est configuré pour :
    - Obtenir l'adresse IP destination et du port destination dans un en-tête du paquet de données ;
    - Lorsque l'adresse IP destination est égale à une adresse IP de l'équipement de commutation et le port destination égal à un port de l'équipement de commutation, rechercher un enregistrement comprenant l'adresse IP, le port de l'équipement de commutation associé à une adresse IP, un port d'un premier équipement et un port physique de l'équipement de commutation ;
    - Lorsqu'un enregistrement a été trouvé, modifier le paquet de données par remplacement de l'adresse IP de destination du paquet de données par l'adresse IP source de l'équipement de commutation et remplacement du port source du paquet de données par le port source choisi; et
    - Envoyer le paquet modifié sur le port physique de l'équipement de commutation à destination du premier équipement.
  8. 8. Equipement de commutation (SW1,SW2) d'un réseau de communication apte à recevoir un paquet de données d'un flux de données émis par un premier équipement terminal à destination d'un deuxième équipement terminal, caractérisé en ce qu'il comprend un dispositif (100) de traitement d'un paquet de données selon l'une des revendications 6.
  9. 9. Equipement de commutation (SW1,SW2) selon la revendication 8, apte à recevoir un paquet de données d'un flux de données émis par le deuxième équipement terminal à destination du premier équipement terminal, caractérisé en ce que le dispositif (100) de traitement d'un paquet de données est conforme à la revendication 7.
  10. 10. Programme d'ordinateur (Pgl) comportant des instructions pour la mise en œuvre du procédé de traitement d'un paquet de données selon l'une quelconque des revendications 1 à 5, lorsque ledit programme est exécuté par un processeur.
  11. 11. Support d'enregistrement lisible par un ordinateur, sur lequel est enregistré un programme 5 d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé selon l'une des revendications 1 à 5.
    1/5
FR1857048A 2018-07-27 2018-07-27 Procede de traitement d'un paquet de donnees, dispositif, equipement de communication et programme d'ordinateur associes Expired - Fee Related FR3084550B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1857048A FR3084550B1 (fr) 2018-07-27 2018-07-27 Procede de traitement d'un paquet de donnees, dispositif, equipement de communication et programme d'ordinateur associes
PCT/EP2019/069844 WO2020020911A1 (fr) 2018-07-27 2019-07-23 Procede de traitement d'un paquet de donnees, dispositif, equipement de commutation et programme d'ordinateur associes

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1857048A FR3084550B1 (fr) 2018-07-27 2018-07-27 Procede de traitement d'un paquet de donnees, dispositif, equipement de communication et programme d'ordinateur associes
FR1857048 2018-07-27

Publications (2)

Publication Number Publication Date
FR3084550A1 true FR3084550A1 (fr) 2020-01-31
FR3084550B1 FR3084550B1 (fr) 2020-07-24

Family

ID=66640991

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1857048A Expired - Fee Related FR3084550B1 (fr) 2018-07-27 2018-07-27 Procede de traitement d'un paquet de donnees, dispositif, equipement de communication et programme d'ordinateur associes

Country Status (2)

Country Link
FR (1) FR3084550B1 (fr)
WO (1) WO2020020911A1 (fr)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7620733B1 (en) 2005-03-30 2009-11-17 Cisco Technology, Inc. DNS anti-spoofing using UDP
US20160020993A1 (en) * 2014-07-21 2016-01-21 Big Switch Networks, Inc. Systems and methods for performing debugging operations on networks using a controller
EP3029897A1 (fr) * 2013-11-25 2016-06-08 Huawei Technologies Co., Ltd. Procédé et dispositif de transmission de paquets réseau
US20160261611A1 (en) * 2015-03-02 2016-09-08 David Paul Heilig Identifying malware-infected network devices through traffic monitoring

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7620733B1 (en) 2005-03-30 2009-11-17 Cisco Technology, Inc. DNS anti-spoofing using UDP
EP3029897A1 (fr) * 2013-11-25 2016-06-08 Huawei Technologies Co., Ltd. Procédé et dispositif de transmission de paquets réseau
US20160020993A1 (en) * 2014-07-21 2016-01-21 Big Switch Networks, Inc. Systems and methods for performing debugging operations on networks using a controller
US20160261611A1 (en) * 2015-03-02 2016-09-08 David Paul Heilig Identifying malware-infected network devices through traffic monitoring

Also Published As

Publication number Publication date
FR3084550B1 (fr) 2020-07-24
WO2020020911A1 (fr) 2020-01-30

Similar Documents

Publication Publication Date Title
US9634943B2 (en) Transparent provisioning of services over a network
US9537824B2 (en) Transparent provisioning of network access to an application
US7570663B2 (en) System and method for processing packets according to concurrently reconfigurable rules
US7114008B2 (en) Edge adapter architecture apparatus and method
US8533780B2 (en) Dynamic content-based routing
JP3443529B2 (ja) ファイアウォールサービスを提供する方法と、ファイアウォールサービスを提供するコンピュータシステム
US20160164826A1 (en) Policy Implementation at a Network Element based on Data from an Authoritative Source
US9917928B2 (en) Network address translation
EP2692089B1 (fr) Mécanisme de redirection entrante sur un proxy inverse
FR2855697A1 (fr) SYSTEME DE CONVERSION DE DONNEES BASEE SUR IPv4 EN DONNEES BASEES SUR IPv6 A TRANSMETTRE A TRAVERS UN RESEAU COMMUTE IP
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
KR102681031B1 (ko) 도메인 네임 시스템과 연관된 공격을 방지하기 위한 방법 및 시스템
EP2294798B1 (fr) Procede de routage d&#39;un paquet de donnees dans un reseau et dispositif associe
Moghaddam et al. Anonymizing masses: Practical light-weight anonymity at the network level
US9258226B2 (en) Systems and methods for dual network address translation
EP1672849A1 (fr) Procédé d&#39;exploitation d&#39;un réseau informatique local relié à un réseau distant privé par un tunnel IPsec
WO2020020911A1 (fr) Procede de traitement d&#39;un paquet de donnees, dispositif, equipement de commutation et programme d&#39;ordinateur associes
FR3023098A1 (fr) Procede et systeme de traitement d&#39;une demande de resolution d&#39;un nom d&#39;un serveur, emise par une application cliente sur un reseau de communication.
WO2024068722A1 (fr) Procedes de resolution de nom, de communication, de traitement de messages et serveur, dispositif client et noeud relais correspondants
WO2024121281A1 (fr) Procédé de gestion d&#39;un ensemble d&#39;adresses ip, procédé de collaboration et dispositifs configurés pour mettre en œuvre ces procédés
FR3129051A1 (fr) Procédés de contrôle et de transmission, et entités configurées pour mettre en œuvre ces procédés
FR3136922A1 (fr) Procédé de communication entre un premier équipement et un serveur distant, procédé de gestion des communications, premier équipement, serveur distant et programme d’ordinateur correspondants.

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20200131

PLFP Fee payment

Year of fee payment: 3

ST Notification of lapse

Effective date: 20220305