U.E. Projets avancés en réseaux 

RSX 218

Page de l'UE de l'année en cours.

Listes des projets 2024:

Num.

Titre

Tuteur

Personnes

Réunions et soutenances

1

SSH2 vs SSH3

Yacine Benchaib

 Umit YILDIRIM
Yannick LAVAURY

 

Réunion I: 21/3 1er
Mi-parcours: 11/4 1er
Réunion 2: 2/5 1er
Soutenance: 20/6 1er

 

Description générale :  Le protocole SSH est un protocole qui permet d'exécuter de façon sécurisée des commandes sur un appareil(ordinateur, smartphone, ...) distant. La première version SSH-1[1] du protocole SSH existe depuis 1995. Ce protocole a connu une évolution majeure avec une deuxième version SSH-2[2] disponible seulement 11 ans plus tard, en 2006. SSH-2 apporte des solutions pour combler les vulnérabilités identifiées avec l'utilisation de SSH1 en utilisant des algorithmes différents pour l'authentification et le chiffrement. Néanmoins, l'utilisation à long terme de SSH-2 a également permis l'identification d'un certain nombre de points faibles. Depuis décembre 2023, une troisième version SSH-3 est disponible en téléchargement[3].

Prérequis :

  • programmation linux, administration réseau-systeme (RSX102, RSX103);
  • sécurité des réseaux (RSX112)
  • adressage et routage IP (RSX103);

Travail à réaliser : Les taches sont :

1) Identifier les points faibles les plus importants de SSH2

2) Répertorier les solutions proposées par SSH3 par rapport au point 1)

3) Évaluer les performances de SSH3 par rapport à SSH2

4) Proposer la démonstration d'une attaque qui fonctionne avec SSH2 mais plus avec SSH3

Références :

 

2

Caldera

Yacine Benchaib

  VISVAL Thierry
ESSABIL Othmane

 

Réunion I: 21/3 2e
Mi-parcours: 11/4
Réunion 2: 2/5 2e
Soutenance: 20/6

Description générale : Avec la banalisation des connections Internet, des millions d'appareils sont connectés en permanence à Internet. C'est autant d'opportunités d'attaques pour des individus mal intentionnés. Des outils existent pour identifier certains types d'attaques mais dans bien des cas l'attaque n'est identifiée qu'une fois le préjudice subi (vol de données, destruction de  données, cryptage des données, ...). Il est alors souvent difficile d'identifier le trafic réseau qui a servi pour réaliser l'attaque.

MITRE Caldera[1] est un outil dédié à la cybersécurité. Il dispose de 14 tactiques différentes auxquelles il est possible d'associer plusieurs centaines d'attaques. Cet outil peut donc être utilisé pour générer des attaques connues sur des cibles locales.

 

Prérequis :

  • programmation linux, administration réseau-systeme (RSX102, RSX103);
  • adressage et routage IP (RSX103);

Travail à réaliser : Les taches sont :

1) Définir un environnement de travail virtuel utilisant Caldera

2) Définir un scénario d'attaque avec Caldera ayant pour cible des machines virtuelles ou des containers

3) Analyser le trafic réseau en utilisant un outil approprié, en justifiant son choix par un état de l'art, sur un nombre conséquent d'expérimentations

Références :

  • MILLER, Doug, ALFORD, Ron, APPLEBAUM, Andy, et al. Automated adversary emulation: A case for planning and acting with unknowns. MITRE CORP MCLEAN VA MCLEAN, 2018.

 

3

Suricata

Yacine Benchaib

 

ANDRIEUX Andry

Réunion I: 21/3
Mi-parcours: 11/4
Réunion 2: 2/5
Soutenance: 20/6

Description générale : Suricata [1] est un outil qui permet l'inspection du trafic réseau en profondeur. Il est utilisé notamment pour déclencher des actions en fonction des éléments identifiés du trafic réseau, conformément aux règles prédéfinies.

 

Prérequis :

  • programmation linux, administration réseau-systeme (RSX102, RSX103);
  • adressage et routage IP (RSX103);

Travail à réaliser : Les taches sont :

1) Définir un environnement de travail virtuel utilisant Suricata

2) Utiliser l'outil Metasploit[2] pour exécuter une attaque de type reverse_tcp sur une machine virtuelle locale

3) Analyser en détail le trafic réseau généré par cette attaque sur un nombre conséquent d'expérimentations(avec et sans trafic simulé)

4) Déduire de 3) des règles pour améliorer la détection d'attaques de type reverse_tcp avec Suricata, éventuellement en association avec d'autres outils.

Références :

4

Attaques à LoRaWAN

Stéphane Rovedakis

REIST Clément

Réunion I: 7/3 1er
Mi-parcours: 11/4 3e
Réunion 2:
23/5 1er
Soutenance: 20/6

Description générale :  Le protocole LoRaWAN est utilisé pour la collecte de trafic de dispositifs IoT LoRa, une technologie IoT faible puissance définie par Semtek et fortement commercialisée. Il s’agit d’une technologie best effort, à différence de technologies similaires offertes par le 3GPP pour les réseaux cellulaires. Récemment une vulnérabilité nouvelle a été découverte, permettant de changer le chemin descendant du trafic et donc potentiellement interrompre le service. L’objectif de ce projet est de la reproduire avec un simulateur réaliste amélioré récemment par le Cnam.

 

Prérequis :

  • programmation linux, administration réseau-systeme (RSX102, RSX103);
  • réseaux sans fils et mobiles (RSX116);
  • sécurité des réseaux (RSX112).

Travail à réaliser : Les taches sont :

·       Réaliser un état de l'art sur la sécurité des réseaux LoRaWAN.

·       Exprimer les besoins pour la configuration d’une maquette de test.

·       Concevoir la mise en place de l’environnement avec ns3 et ELORA.

·       Démontrer l’attaque et proposer des contremesures au protocole.

 

Références :

5

NEPH.IO

William Diego

 JOSEPH-MONDESIR Gérald

Réunion I: 14/3 2e
Mi-parcours: 4/4 2e
Réunion 2:
16/5 1e
Soutenance: 13/6 3e

 

Description générale : Nephio vise à simplifier la gestion de diverses infrastructures cloud et fonctions réseau, en particulier pour les déploiements à grande échelle en bordure de réseau (edge deployments), en utilisant Kubernetes. Nephio facilite l'intégration rapide des fonctions réseau, notamment pour le 5G Core, en optimisant l'infrastructure cloud sous-jacente. Il permet également de réduire les coûts liés à l'adoption d'infrastructures cloud et réseau. L'objectif de ce projet est de comprendre l'approche ainsi que l'architecture proposée par Nephio et de déployer un cas d'usage autour des fonctions réseau du Cœur de 5G (5G Core) grâce à des implémentations opensource comme Free5GC ou Open5GS.

 

Prérequis :

  • programmation linux, administration réseau-système (RSX103);
  • expérience pratique du SDN (RSX217)
  • adressage et routage IP (RSX103);

Travail à réaliser : Les taches sont :

·      Effectuer une recherche bibliographique en se basant sur les informations disponibles sur internet

·      Télécharger la version indiquée dans la documentation ainsi que les modules nécessaires et suivre les instructions pour installer le cas d’usage 5G core

·      Réaliser une démonstration de la plateforme avec un cas d’usage proposé.

Références :

·      https://nephio.org

·      https://wiki.nephio.org

·      https://drive.google.com/file/d/1OANqnh9hTiep8Vr3yFLep0qhMOpGb9jE/view

·      https://free5gc.org

·      https://free5gc.org/blog/20231122/20231122/

6

MPTCP vs MPQUIC

Stefano Secci

BERGER Charles 

DILLENSEGER Julien

THOMAS Baptiste

Réunion I: 7/3 2e
Mi-parcours: 28/3 1er
Réunion 2:
23/5 2e
Soutenance: 20/6 2e

Description générale : MPQUIC et MPTCP sont deux nouveaux protocoles de couche transport et application permettant d’utiliser plusieurs interfaces IP coté client et/ou serveur lors d’une communication QUIC/UDP et TCP, avec une adaptation de la configuration des différents chemins réseaux utilisés aux conditions du réseau et des terminaux, pendant une communication. L’objectif du projet est de comparer les performances des deux protocoles dans des scénario différents, avec différents ordonnanceurs et politiques de gestion de la congestion.

Prérequis :

  • programmation linux, administration réseau-systeme (RSX102, RSX103);
  • adressage et routage IP (RSX103);

Travail à réaliser : Les taches sont :

  • déterminer les configurations et les scénarios pour les comparatifs
  • déterminer au moins 3 métriques de performance à utiliser.
  • Monter une maquette de demonstration, en utilisant aussi des serveurs publics utilisant MPTCP et MPTQUIC sur Internet
  • Conduire une campagne de test exhaustive.

Références :

7

RAN Intelligent Controller (RIC)

W. Diego

N'GBE-BAÏ Yali

Réunion I: 14/3 3e
Mi-parcours: 4/4 3e
Réunion 2:
16/5 2e
Soutenance: 13/6 1er

 

Description générale : L'alliance O-RAN redéfinit l'architecture des réseaux mobiles en intégrant les principes de virtualisation (NFV) et de SDN aux standards 3GPP. Cette architecture se distingue par le RAN Intelligent Controller (RIC), un élément clé pour introduire l'intelligence à chaque niveau du réseau d'accès sans fil (RAN). Le RIC permet un contrôle avancé, optimisant l'efficacité et la gestion des ressources radio et réseau. Ses fonctions s'appuient sur des analyses et des stratégies basées sur les données, utilisant des outils de ML/AI pour renforcer la gestion des ressources. Ce projet vise à explorer en détail l'architecture O-RAN, et à mettre en œuvre un cas pratique autour du RIC.

Prérequis :

  • Administration réseau-système (RSX103).
  • Architectures de réseau mobile (RSX116).
  • Architecture SDN et NFV (RSX217).

Travail à réaliser :

  • Faire une recherche bibliographique en se basant sur les informations disponibles sur le site web de l’architecture O-RAN 
  • S’approprier des livrables de projets RSX218 des années précédentes sur le RIC (versions d’O-RAN antérieure à l’actuelle).
  • Télécharger la dernière version et suivre les instructions pour installer une les projets RIC et RICAPP
  • Réaliser une démonstration de la plateforme avec un cas d’usage proposé
  •  

Références :

·      https://wiki.o-ran-sc.org/display/EV/Material+for+O-RAN+October+f2f+in+Phoenix

·      https://wiki.o-ran-sc.org/pages/viewpage.action?pageId=3604819

·      https://wiki.o-ran-sc.org/display/ORAN 

·      https://www.o-ran.org/specifications

8

 Big Packet Protocol

Stefano Secci

 NDONGO  Oumar

Réunion I: 7/3 3e
Mi-parcours: 28/3 2e
Réunion 2:
23/5 3e
Soutenance: 20/6 3e

Description générale : Dans l'architecture actuelle d'Internet, un paquet est une unité minimale ou fondamentale sur laquelle différentes actions telles que la classification, le transfert ou le rejet sont effectués par les nœuds du réseau. Lorsqu'il est confronté à des conditions réseau restreintes ou médiocres, un paquet est soumis à des pertes indésirables et à des retransmissions, entraînant des retards imprévisibles et des surcharges ultérieures du trafic dans le réseau. L’approche BPP (Big Packet Protocol), aussi appelée packet trimming, exploite la possibilité de mettre en place une livraison partielle, mais opportune, d'un paquet au lieu de le rejeter entièrement. Ces services permettent de diviser les charges utiles des paquets en unités plus petites (chunks), offrant une granularité beaucoup plus fine de l'utilisation de la bande passante. Ceci a particulièrement du sens pour les communications en temps réel. L’objectif de ce projet est de démontrer ces technologies en réutilisant des briques logicielles publiques.

Prérequis :

  • Administration réseau-système (RSX103).
  • Architecture SDN et NFV (RSX217).

Travail à réaliser :

  • Faire une recherche bibliographique en se basant sur les articles ci-dessous et les travaux ayant suivis ceux-ci. 
  • Exprimer les besoins pour la mise en place d’une plateforme de démonstration.
  • Choisir et réaliser au moins deux services différents pour lesquels le packet trimming a du sens.
  • Démontrer les performances en les comparants pour les différents services.

Références :

https://arxiv.org/pdf/1906.10766.pdf https://discovery.ucl.ac.uk/id/eprint/10154337/1/main.pdf https://discovery.ucl.ac.uk/id/eprint/10171122/1/icin_2023.pdf 

9

 Falco

Yacine Benchaib

 Freddy PEZERON
Gauvain CRAHE

Réunion I: 21/3 3e
Mi-parcours: 11/4 2e
Réunion 2: 2/5 3e
Soutenance: 20/6 4e

 Description générale : Falco[1] est un outil de détection d'intrusions en temps réel pour la plateforme Kubernetes[2]. Il utilise les fonctionnalités d'eBPF[3] pour identifier les appels systèmes suspects(élévation de privilège, connexions réseaux, installation de paquets, ...) en se référant à des règles établies par l'utilisateur.

 

Prérequis :

  • programmation linux, administration réseau-système (RSX102, RSX103);
  • expérience pratique du SDN (RSX217)
  • adressage et routage IP (RSX103);

 

Travail à réaliser :

Exclusivement sous environnement Linux:

·      Installer Kubernetes

·      Faire un état de l'art des attaques connues envers Kubernetes

·      Utiliser l'outil Metasploit[4] pour exécuter 3 des attaques identifiées au point 2) sur un des éléments de l'environnement virtuel

·      Définir des règles de sécurité pour Falco relatives au point 2)

·      Répéter le point 3) et s'assurer que l'attaque est bien identifiée et neutralisée par Falco

Références :

[1]: https://falco.org/

[2]: https://kubernetes.io/fr/

[3]: https://ebpf.io/fr-fr/

[4]: https://www.metasploit.com/

 

10

CAMARA

William Diego

 Bououf Faiçal

Réunion I: 14/3 1e
Mi-parcours: 4/4 1e
Réunion 2:
16/5 3e
Soutenance: 13/6 2e

Description générale :  En collaboration étroite avec le GSMA Operator Platform Group, CAMARA vise à aligner les exigences des APIs et à publier leurs définitions et implémentations. Ce projet favorise l'harmonisation des APIs en créant rapidement du code fonctionnel accompagné d'une documentation accessible aux développeurs. Les capacités des réseaux de télécommunications, rendues accessibles via ces APIs, offrent un avantage considérable pour les clients. En simplifiant la complexité des réseaux de télécommunications à travers des APIs et en les rendant disponibles à travers différents réseaux et pays, CAMARA facilite un accès aisé et sans entrave. Ce projet a pour but de comprendre l'architecture de CAMARA et de développer un cas d'usage pratique en utilisant ses APIs (e.g. Device Location, Device Status, QualityOnDemand).

 

Prérequis :

  • programmation linux, administration réseau-système (RSX102, RSX103);
  • expérience pratique du SDN (RSX217)
  • adressage et routage IP (RSX103);

Travail à réaliser :

·      Effectuer une recherche bibliographique en se basant sur les informations disponibles sur le site web de CAMARA, forum, mailing-list, etc. pour comprendre l’architecture et son état de développement.  

·      Télécharger la version indiquée et suivre les instructions pour l’installation.

·      Réaliser une démonstration de la plateforme avec un cas d’usage proposé.

Références :

·      https://camaraproject.org

·      https://github.com/camaraproject/DeviceLocation/tree/release-0.2.0-rc

·      https://github.com/camaraproject/QualityOnDemand/tree/release-0.10.0-rc

·      https://github.com/camaraproject/DeviceStatus/tree/release-0.5.0-rc

11

Corundum 

J. Aubé (SMILE), S. Taktak (Cnam)

 

Réunion I: 7/3
Mi-parcours: 28/3
Réunion 2:
23/5
Soutenance: 20/6

 

Description générale :  Corundum est une implémentation open-source en Verilog d'un NIC à haute performance basée sur des FPGA et une plateforme pour le calcul en réseau. Les caractéristiques comprennent un chemin de données haute performance, Ethernet 10G/25G/100G, un moteur DMA personnalisé haute performance et étroitement intégré à une interface PCIe Gen3, plus de 1000 de nombreuses files d'attente de transmission, de réception, d'achèvement et d'événements, DMA de diffusion/récupération, interruptions MSI, multiples ports et  interfaces, planification de transmission par port avec TDMA haute précision, hachage de flux, RSS, déchargement de somme de contrôle et horodatage PTP IEEE 1588 natif.
Un pilote Linux est inclus et s'intègre à la pile réseau Linux. Le développement et le débogage sont facilités par un cadre de simulation étendu qui couvre l'ensemble du système, depuis un modèle de simulation du pilote et de l'interface PCI express d'un côté jusqu'aux interfaces Ethernet de l'autre côté 

Corundum possède plusieurs caractéristiques architecturales uniques. Tout d'abord, les états des files d'attente d'émission, de réception, d'achèvement et d'événements sont stockés efficacement dans des blocs de RAM ou d'ultra RAM, ce qui permet de prendre en charge des milliers de files d'attente contrôlables individuellement. Ces files d'attente sont associées à des interfaces, et chaque interface peut avoir plusieurs ports, chacun avec son propre planificateur indépendant. Cela permet un contrôle extrêmement fin de la transmission des paquets. Couplé à la synchronisation temporelle PTP, cela permet un TDMA de haute précision. Corundum propose également une section d'application pour la mise en œuvre d'une logique personnalisée. La section d'application dispose d'une BAR PCIe dédiée pour le contrôle et d'un certain nombre d'interfaces qui donnent accès au chemin de données central et à l'infrastructure DMA. 

L’objectif de ce projet est démontrer la mise en oeuvre d’un simple routeur ou commutateur utilisant Corundrum avec deux générations de cartes FPGA, la NetFPGA SuMe disponible au Cnam et la NetFPGA Alveo disponible chez SMILE en utilisant les outils proposés (Vivado et autres sous Linux).

Prérequis :

  • programmation linux, administration réseau-système (RSX102, RSX103);
  • expérience pratique du SDN (RSX217)
  • adressage et routage IP (RSX103);

Travail à réaliser : Les taches sont :

  •  Etat de l’art et prise en main des caractéristiques des dernières versions de Corundum, NetFPGA SUME, et NetFPGA Alveo.
  •  Installation de Corundum sur les cartes disponibles
  • Exploitation d’un ou deux projets existants parmi ceux permettant le routage et la commutation IP/Eth. 

Références :

12

 NWDAF

S. Secci (Cnam)

 

Réunion I: 7/3
Mi-parcours: 28/3
Réunion 2:
23/5
Soutenance: 20/6

 

Description générale: L'architecture 5G intègre l'architecture NFV pour opérer des fonctions des réseaux du coeur de réseau cellulaire 5G (5GC) comme des "virtualized network functions" (VNF). Parmi ces fonctions, la NWDAF (Network Data Analytics Function) n’est pas encore intégrée aux plateformes 5GC open source les plus communes comme FREE5GC et Open5GS. L’objectif de ce projet est de comparer des implémentations  récentes de la NWDAF et en démontrer le fonctionnement.

Prérequis:

  • Administration réseau-système (RSX103)
  • Architectures de réseau mobile (RSX116)
  • Architectures NFV et SDN (RSX217)

Travail à réaliser : 

  • Effectuer un état de l'art détaillé sur le standard 5G et l'architecture du cœur de fonction 5G (5GC)
  • Effectuer une comparaison fonctionnelle entre les implémentations du 5GC par rapport à leur capacité de s’interfacer avec une NWDAF et définir des critères de comparaison expérimentale.
  • Mise en place d’une plateforme 5GC.
  • Intégration d’au moins deux implémentations NWDAF ci-dessous, en en les comparant de façon qualitative et quantitative.

Références: 
Implémentation Hyun :
https://github.com/Lseung-hyun/NWDAF_Code
Article de référence " A Distributed NWDAF Architecture for Federated Learning in 5G », ICCE’22.

Implémentation OAI :
https://gitlab.eurecom.fr/oai/cn5g/oai-cn5g-nwdaf

Implémentation UWO :
https://arxiv.org/pdf/2205.15121.pdf