Les offres de “Orange”

Expire bientôt Orange

Stage - Attaques sur de la complexité algorithmique de programmes BPF

  • Stage
  • Châtillon (Hauts-de-Seine)
  • Infra / Réseaux / Télécoms

Description de l'offre

about the role

Les versions récentes du noyau Linux disposent d'un nouveau mécanisme d'extension, BPF. BPF permet aux applications de charger des programmes dans le noyau afin, par exemple, de traiter les paquets réseaux au niveau des pilotes réseaux, de tracer les évènements noyaux ou de restreindre les permissions d'une application.

Contrairement aux modules noyaux, les programmes BPF sont analysés statiquement pour s'assurer qu'ils ne peuvent faire crasher le noyau. Le temps d'exécution est notamment limité en interdisant tout saut en arrière dans le flux du programme. Les programmes BPF peuvent néanmoins effectuer de nombreuses actions telles qu'accéder à des structures de données, appeler d'autres programmes BPF ou calculer des checksums sur le contenu de paquets.

Ces programmes peuvent donc avoir des temps d'exécution très variables, cela malgré la limite imposée par l'analyse statique.

Ce stage aura pour objectif de concevoir et implémenter un outil d'analyse permettant d'estimer le pire cas en temps d'exécution de programmes BPF. Cet outil pourra ensuite servir, d'une part, pour la mise en oeuvre d'attaques sur les applications utilisatrices de programmes BPF (ex. IDPS) ou sur les autres utilisateurs du système et, d'autre part, pour évaluer la sensibilité des programmes développés en interne aux attaques par déni de service.

Ce stage a pour objectif de concevoir et implémenter un outil d'analyse permettant d'estimer le pire cas en temps d'exécution de programmes BPF.

Il s'organisera selon les étapes suivantes :

·  Prise en main des programmes BPF et documentation sur l'analyse statique de BPF.
·  Court état de l'art sur les attaques sur la complexité algorithmique et l'estimation du pire cas en temps d'exécution.
·  Identification des points clés d'un programme permettant d'estimer son temps d'exécution (opérations sur les structures de données et fonctions de hachage ?).
·  Conception et implémentation d'un algorithme permettant d'estimer le pire cas en temps d'exécution.
·  Évaluation de l'algorithme et itérations pour en améliorer la précision.

Suivant votre avancement et vos préférences, le stage pourra ensuite donner lieu à des études de cas ou à la publication d'un article.

Les études de cas permettraient d'identifier des vulnérabilités dans des IDPS open source utilisant des programmes BPF ou de mettre en évidence des faiblesses dans l'isolation des performances entre différents utilisateurs Linux.

about you

De formation ingénieur ou master en informatique vous recherchez un stage de 6 mois.
La motivation pour l'investigation technique est indispensable.

Vous possédez de bonnes connaissances en architecture des systèmes (caches CPU, pipelining, prédiction de branchement), ainsi qu'en complexité algorithmique (calcul d'une complexité, complexité des principales structures de données).

Votre maîtrise des langages Python et C n'est plus à prouver

Vous êtes sensible aux problématiques de sécurité informatiques.

additional information

Ce stage sera pour vous l'occasion de monter en compétence sur une technologie en plein essor, BPF. Les résultats de vos travaux seront publiés en open source et pourront donner lieu à la publication d'un article et/ou une présentation dans une conférence sécurité.

Bibliographie :

·  L. Pedrosa, R. Iyer, A. Zaostrovnykh, J. Fietz, and K. Argyraki. 2018. Automated synthesis of adversarial workloads for network functions. In Proc. SIGCOMM.
·  S. McCanne and V. Jacobson. 1993. The BSD packet filter: A new architecture for user-level packet capture. In Proc. USENIX.
·  S. A. Crosby and D. S. Wallach. 2003. Denial of service via algorithmic complexity attacks. In Proc. USENIX Security.
·  H. Theiling, C. Ferdinand, and R. Wilhelm. 2000. Fast and precise WCET prediction by separated cache and path analyses. In Real-Time Systems Journal.

department

Les Orange Labs constituent le réseau mondial d'innovation d'Orange. Ils regroupent des chercheurs répartis au sein de 18 laboratoires sur 4 continents, à proximité des écosystèmes innovants, pour tirer parti des compétences locales, et être proches des nouveaux marchés.

Le département Sécurité d'Orange Labs Services regroupe une soixantaine de collaborateurs aux compétences pointues dans les domaines de la sécurité des réseaux (IP, mobiles), des terminaux (smartphones, Box, Set-Top-Box…), des systèmes (OS, Secure Elements…), du cloud (compute et stockage), de la cryptographie, de la protection des données personnelles, de la détection et la prévention de la fraude et des cyber attaques.

L'équipe Network Cybersecurity et Privacy travaille sur la cybersécurité et la sécurisation des infrastructures réseaux.

contract

Internship

Duration : 6 months

Level : Master 2

Faire de chaque avenir une réussite.
  • Annuaire emplois
  • Annuaire entreprises
  • Événements