Ingénieur.e en couverture de code à l'aide de fuzzing et d'exécution symbolique (H/F) Stage de 6mois à Palaiseau

Description du poste

CE QUE NOUS POUVONS ACCOMPLIR ENSEMBLE :

THALES conçoit et développe des systèmes temps-réel de plus en complexes et critiques. De ce fait, la difficulté de validation et de vérification de ces systèmes est croissante. Lors de la validation des logiciels faisant partie de ces systèmes, on cherche généralement à atteindre une couverture élevée du programme sous test, c'est-à-dire, créer une suite de test qui activent les différentes parties du programmes (les instructions, les branches, les chemins, etc.). Cela permet de valider le système avec un niveau de confiance élevé. Dans certains domaines critiques, une couverture rigoureuse du programme fait également partie des exigences imposées par des normes de certification.

Les outils de génération automatique de tests à base d'exécution symbolique (e.g. PathCrawler, KLEE, Java PathFinder, etc.) peuvent permettre de générer des tests pour une couverture de test, mais rencontrent des limitations au niveau des performances et des capacités de traiter des codes complexes. D'autre part, les outils de fuzzing (e.g. AFL, AFL++, Eclipser, etc.) permettent de générer un grand nombre de données de test rapidement et pour tout type de code, mais ne sont pas toujours capables d'assurer un niveau de couverture élevé.

Ce stage propose d'étudier les possibilités de combinaisons des outils d'exécution symbolique et de fuzzing, de proposer des techniques et méthodologies d'utilisations optimisées pour atteindre une couverture de code augmentée, et de les évaluer sur des benchmarks. On s'intéressera également à la couverture d'un ensemble d'objectifs de couverture (notamment, pertinent pour la cybersécurité) pour évaluer l'apport des techniques proposées pour la détection de vulnérabilités potentielles dans le code.

Dans ce contexte, vos missions seront les suivantes :
Réaliser un état de l'art complémentaire des outils de génération de tests et de fuzzing les plus récents (pour compléter l'état de l'art et l'évaluation effectués précédemment) ;

Evaluer une sélection d'outils sur des benchmarks en cherchant à identifier les limites des différents outils et de créer une base de codes pour évaluation ;

Proposer des techniques et méthodologies combinant les différentes approches ;

Evaluer les techniques proposées sur des programmes identifiés et des codes open-source disponibles par rapport à la couverture.

Evaluer l'impact des combinaisons proposées pour les propriétés de cybersécurité.

Innovation, passion, ambition : rejoignez Thales et créez le monde de demain, dès aujourd'hui.

QUI ETES-VOUS ?
Etudiant.e en école d'Ingénieur.e ou formation équivalente vous préparez un Master 2 ?

Votre formation vous a permis d'acquérir des bases solides en :
C/C++

Java

Ada

Génie logiciel et en test de logiciel

Vous êtes curieux.se et vous souhaitez approfondir ou découvrir les méthodes formelles et l'analyse de programme ?

Enfin, vous maîtrisez le français et l'anglais, aussi bien à l'oral qu'à l'écrit ?

Vous vous reconnaissez ? Alors découvrez vite vos futures missions :)

QUI SOMMES-NOUS ?

Situé sur le campus de l'École polytechnique, au cœur du pôle scientifique et technologique d'envergure mondiale de Paris-Saclay, le site de Palaiseau regroupe les activités de Thales Research & Technology (TRT), le centre de recherche du Groupe, et de ThereSIS (THALES European REsearch center for Security & Information Systems) au service des activités mondiales du Groupe. Grâce à une politique de partenariat proactive avec le monde académique et un réseau international d'entreprises innovantes, nos équipes de recherche de TRT développent des technologies de rupture et celles de ThereSIS sont dédiées à la sécurisation des systèmes d'information, à l'ingénierie des systèmes complexes et aux technologies innovantes de la transformation numérique afin d'obtenir rapidement des résultats répondant à des demandes opérationnelles concrètes.

Dans ce cadre nous recherchons un.e :
Ingénieur.e en couverture de code à l'aide de fuzzing et d'exécution symbolique (H/F) Stage de 6mois
Basé.e à Palaiseau (91)

Date de publication

27-01-2021

Informations supplémentaires

Statut
Actif
Formation requise
Université
Lieu
Palaiseau
Heures de travail par semaine
4 - 40
Type de Contrat
Job étudiant
Secteur
Autres
Permis de conduire FR/EU exigé
Non
Voiture exigée
Non
Lettre de motivation exigée
Non
Langues
Français

Palaiseau | Offres d'emploi autres | Job étudiant | Université

Postuler maintenant

Partager cette offre