Stages 2008

Accéder directement à la liste des stages à pourvoir

 Présentation des stages

Trusted Logic associe une expertise reconnue en sécurité informatique à une longue expérience en développement des systèmes embarqués. Cette double compétence nous permet de proposer des solutions sûres et efficaces dans les domaines des cartes à puce, des terminaux (lecteurs de cartes), et de l'évaluation sécuritaire (analyse de risque, conseil, outils spécialisés, etc.). La société offre un environnement de travail exceptionnel à plusieurs titres :

  • Une combinaison unique d'expertise en développement de logiciels sûrs, en méthodes formelles et en sécurité permet à Trusted Logic d'occuper une position stratégique dans un secteur extrêmement porteur.
     
  • Des liens privilégiés avec de nombreux centres de recherche, en France et à l'étranger, démultiplient les capacités d'innovation de l'entreprise et lui assurent de rester en permanence à la pointe de la technique.
     
  • Une structure souple et réactive permet à tous les collaborateurs de Trusted Logic de s'exprimer et de développer de nouvelles compétences dans un climat de confiance et de responsabilité

Chaque stagiaire est encadré par un maître de stage qui veille à son intégration au sein d'une de nos équipes. Tous les stages proposés font intervenir des activités de nature variée (conception, architecture, test, rédaction de documentation) qui s'inscrivent dans des projets innovants de la société. Ces stages donnent lieu au versement d'une indemnité mensuelle dont le montant dépend du niveau d'étude du candidat.

NB: Notre société est présente sur deux sites, Versailles (Paris) et Sophia-Antipolis (Nice). N'oubliez pas de vérifier où se déroule le sujet sur lequel vous candidatez !

 Sujets proposés

La liste ci-dessous regroupe les sujets proposés.

Cliquez sur l'intitulé du stages pour plus d'informations

  • Les sujets dont la référence est rouge sont déjà pourvus.
     
  • Les sujets dont la référence est verte sont ouverts.
Pour postuler sur un de ces stages, consultez les recommandations.  

Référence Intitulé
01-STG-2008 Réalisation d'une maquette d'un service de provisioning à distance d'applications Java Card
02-STG-2008 Évaluation d'outils pour la formalisation d'objectifs de sécurité
03-STG-2008 Édition de politiques de sécurité cryptographiques FIPS140-2/FIPS140-3
04-STG-2008 Qualification d'un outil d'analyse statique
05-STG-2008 Portage fonctionnel d'un framework de sécurité
06-STG-2008 Trusted Computing - développement de composants de sécurité pour mobiles
07-STG-2008 Génération et assistance d'une campagne de test d'une plateforme pour carte à puce
08-STG-2008 Conception et mise en place d'une solution d'Intégration Continue
09-STG-2008 Participation au développement d'un debugger Java Card™ basé sur Eclipse
10-STG-2008 Amélioration d'un assembleur Java Card™
11-STG-2008 Benchmark algorithmes cryptographiques
12-STG-2008 Outils de documentation pour la sécurité
13-STG-2008 Mise à jour de librairie de paiement
14-STG-2008 Diagnostic et attaques sur téléphone mobile


 Détail des stages

 01-STG-2008 - Réalisation d'une maquette d'un service de provisioning à distance d'applications Java Card

Contexte

Un service de provisioning sert à gérer à distance le cycle de vie d'applications installées sur un appareil électronique communiquant comme une clé USB ou un téléphone mobile. Par exemple, ce type de service est utilisé pour gérer les applications installées dans un téléphone mobile : installer une nouvelle application, la mettre à jour, modifier ses données ou supprimer une application. Un service similaire permet de gérer les applications stockées dans la carte SIM. Un service de provisioning met donc en jeu un serveur de gestion, une application de traitement sur l'appareil communiquant et des protocoles de communication spécialisés.

Pour faire face aux nouveaux usages de la téléphone mobile (paiement mobile, le transport, le ticketing...), les services de provisioning doivent devenir de plus en plus complets et flexibles. En même temps, ils doivent aussi s'ouvrir vers d'autres industries afin de supporter de nouveaux types d'appareils, comme les clés USB multi-services ou les cartes à puce sans contact.

Travail à réaliser

L'objectif de ce stage est de définir et d'implémenter une maquette complète d'un service de provisioning générique d'applications Java Card. Cette maquette inclura le développement des éléments suivants :

  • Un serveur de provisioning J2EE,
  • Une Midlet de communication entre le serveur et la carte à puce intégrée à un téléphone mobile,
  • Une applet de communication entre le serveur et une clé USB branchée sur un PC.

Dans un premier temps, le maquettage sera réalisé sur simulateur. La maquette sera ensuite portée sur un ou plusieurs téléphones mobiles compatibles (Nokia, Samsung, Sagem...). L'une des applications visées sera l'application Navigo développée par Trusted Logic pour la RATP.

Le service de provisioning sera exploité pour permettre à un utilisateur de demander le chargement à distance d'une application Java Card sur son téléphone ou sur sa clé. Le cas échéant il permettra aussi à l'utilisateur de modifier les données stockées dans cette application (souscrire à de nouveaux droits, recharger son porte-monnaie électronique...) Une attention particulière sera donnée à l'ergonomie du service afin de garantir l'acception du service par les utilisateurs.

Si la durée du stage le permet, des application supplémentaires seront intégrées (paiement sans contact, cartes de fidélité...). La réalisation de cette maquette sera aussi l'occasion d'examiner la sécurité des systèmes de provisioning existants.

Compétences requises
  • Bac+5 (stage de fin d'études)
     
  • Maîtrise du langage Java (indispensable)
     
  • Connaissance de l'IDE Eclipse

  • Bonne maîtrise de l'anglais

  • Des connaissances en cartes à puces (Java Card, GlobalPlatform), MIDP, Servlets/JSP et sécurité constituent un plus

Lieu

Ce stage se déroulera sur notre site de Versailles.

Dates

Début : Date flexible.
Durée : 6 mois.

Haut de la page


 02-STG-2008 - Évaluation d'outils pour la formalisation d'objectifs de sécurité

Contexte

Les Critères Communs constituent une norme internationale (ISO/IEC 15408) pour l'évaluation du niveau de sécurité de logiciels ou matériels informatiques. Dans le cadre d'une évaluation Critères Communs, il peut être nécessaire de formaliser de manière semi-formelle ou formelle les objectifs de sécurité associés au produit.

Trusted Labs possède une expérience reconnue dans l'utilisation des Critères Communs, notamment pour l'évaluation de cartes à puce Java Card, et dans l'application des méthodes formelles. L'assistant à la preuve Coq est un outil reconnu par la DCSSI, l'organisme certificateur en France, pour la preuve des propriétés les plus critiques.

Travail à réaliser

Après avoir été formé sur les Critères Communs et sur les outils utilisés à Trusted Labs pour le semi-formel ou le formel, le stagiaire devra :

  • S'approprier les documents relatifs à une évaluation Critères Communs d'une carte à puce Java Card ;
  • Considérer les objectifs de sécurité moins critiques de cette évaluation, et déterminer les outils les plus adaptés (model-checking, assistants à la preuve) parmi ceux préconisés en interne pour leur formalisation et leur preuve ;
  • Évaluer le potentiel d'application de ces outils sur des exemples représentatifs des objectifs de sécurité considérés.
Compétences requises
  • Bac+5 (stage de fin d'études)
     
  • Expérience des méthodes formelles
     
  • Maîtrise du langage Java ou Java Card
  • Esprit d'initiative, rigueur et méthodologie

Lieu

Ce stage se déroulera sur notre site de Versailles.

Dates

Début : Date flexible.
Durée : 6 mois.

Haut de la page


 03-STG-2008 - Édition de politiques de sécurité cryptographiques FIPS140-2/FIPS140-3

Contexte

Trusted Labs a développé un outil d'édition d'exigences de sécurité permettant une structuration de ses exigences sous la forme de Profils de Protection et/ou de Cibles de Sécurité suivant la norme Critères Communs. L'outil génère des documents et effectue des vérifications systématiques de cohérence.

Les normes FIPS140-2/FIPS140-3
(Cryptographic Module Security Policy), éditées par le NIST (National Institute of Standards and Technology) constituent un référentiel de validation de sécurité des modules cryptographiques dans le cadre du programme CMVP conjointement dirigé par le NIST et le CSE (Communications Security Establishment). Les évaluations faites dans des laboratoires agréés par le CMVP attestent de la conformité des produits et de leur politique de sécurité à cette norme. Les critères de sécurité couvrent principalement onze domaines de l'architecture à la réalisation des modules cryptographiques.

Travail à réaliser

L'objectif du stage est de pouvoir étendre les fonctionnalités de l'outil de Trusted Labs à la politique de Sécurité d'un produit selon la norme FIPS140-2/FIPS140-3, soit par une édition directe soit par une reprise d'exigences de sécurité de type Profil de Protection.

Après avoir été formé sur les normes de validation des systèmes cryptographiques FIPS140-2/FIPS140-3 et sur les outils utilisés à Trusted Labs pour l'édition de politiques de sécurité, le stagiaire devra :

  • S'approprier les documents relatifs à une validation FIPS140-2/FIPS140-3 d'un module cryptographique de type système embarqué (p. ex. carte à puce Java Card) ;
  • Étudier la représentation des différents éléments de preuve nécessaires à la validation FIPS140-2/FIPS140-3 dans les outils utilisés à Trusted Labs  en particulier la politique de sécurité ;
  • Évaluer les interactions possibles dans l'édition des politiques de sécurité avec les profils de protection ou cibles de sécurité pré-existants au format Critères Communs (p. ex. définition d'une politique de sécurité FIPS140-2 à partir du profil de protection JavaCard ou Secure Signature Creation Device) ;
  • Développer les fonctionnalités manquantes de l'outil de Trusted Labs pour l'édition de politiques de sécurité FIPS140-2/FIPS140-3.
Compétences requises
  • Bac+5 (stage de fin d'études) 
  • Expérience en Cryptographie
  • Maîtrise du langage Java (la connaissance de XML, de Cygwin, de l'IDE Eclipse est un plus)
  • Esprit d'initiative, rigueur et méthodologie

Lieu

Ce stage se déroulera sur notre site de Versailles.

Dates

Début : Date flexible.
Durée : 6 mois. 

Haut de la page


 04-STG-2008 - Qualification d'un outil d'analyse statique

Contexte

Trusted Labs a développé en 2001, un outil d'analyse statique pour les applications embarquées sur cartes à puce (Java Card). Fort de cette expérience, Trusted Labs développe depuis 2003 un outil d'analyse statique (nommé TL-SAT) d'applications embarquées sur mobiles (Java ME). Ce développement s'appuie sur l'expérience de nos équipes et sur la participation active de Trusted Labs à des activités de recherche et développement, en collaboration avec plusieurs universités en Europe.

En parallèle, Trusted Labs collabore activement avec les industriels du secteur (
notamment les opérateurs téléphoniques), pour répondre au mieux aux exigences et besoins de ses acteurs majeurs.

Ces diverses activités ont donc amené l'outil à évoluer rapidement, par l'implémentation de nouvelles fonctionnalités et de nouveaux algorithmes d'analyse.

Les perspectives de déploiement industriel se faisant grandissante, Trusted Labs a donc décidé de valider ces derniers développements et de déployer une nouvelle version de son outil TL-SAT.

Travail à réaliser

Le stagiaire participera à la mise en production de l'outil d'analyse statique TL-SAT.

Les tâches principales de ce stage sont :
  • Qualification du produit TL-SAT, par la spécification et le développement de suites de tests spécifiques à l'implémentation des algorithmes d'analyse et à l'implémentation des vérifieurs de propriétés ;
  • Spécification et développement de propriétés additionnelles (jeu de règles/propriétés à vérifier sur les applications) ;
  • Amélioration de certains composants graphiques, notamment les fonctionnalités d'extraction/interprétation et d'export (HTML, OpenOffice) des résultats ;
  • Intégration de l'outil dans l'IDE Eclipse sous forme de plugin ;
  • Définition des procédures de maintenance. 
Compétences requises
  • Bac+5 (stage de fin d'études) 
  • Maîtrise du langage Java (la connaissance d'Eclipse et des API graphiques est un plus)
  • Capacités rédactionnelles (Rédaction de documents techniques en anglais et de plan de tests)
  • Esprit de synthèse (capacité d'abstraction et assimilation rapide d'informations complexes) et rigueur

Lieu

Ce stage se déroulera sur notre site de Sophia-Antipolis.

Dates

Début : À partir de janvier 2008.
Durée : 6 mois.

Haut de la page


 05-STG-2008 - Portage fonctionnel d'un framework de securité

Contexte

Dans le cadre de son offre "Trusted Foundations™ Software", Trusted Logic propose un composant logiciel, s'appuyant sur la technologie TrustZone de ARM, qui est un framework de sécurité dans lequel s'exécutent des services développés par des tiers. Trusted Logic propose également un simulateur Win32.

L'objectif du stage est de porter Trusted Foundations™ Software (au dessus d'un OS), pour des besoins de démonstrations ou d'évaluations, sur une cible Linux et/ou WinCE (par exemple un PDA).

Travail à réaliser

Il s'agit d'effectuer un portage de notre produit Trusted Foundations™ Software sur un OS Linux (PC ou cible ARM) et/ou WinCE (cible ARM), afin d'en dériver une version fonctionnelle utilisable à des fins d'évaluation ou de démonstration.

Le travail s'effectuera en 4 étapes :

  • Compréhension de l'architecture de Trusted Foundations™ Software pour les couches de portage ;
  • Spécification de l'architecture des couches de portage ;
  • Développement du portage du produit ;
  • Test du portage.

Le stagiaire pourra être amené à développer d'autres outils annexes.

Compétences requises
  • Bac+5 (stage de fin d'études) 
  • Connaissances en développement C (la connaissance de l'Assembleur est un plus)
  • Environnement Linux (PC, ARM), outils GNU, Windows, WinCE
  • Bonne maîtrise de l'anglais
  • Esprit d'initiative

Lieu

Ce stage se déroulera sur notre site de Sophia Antipolis.

Dates

Début : À partir de février / mars 2008.
Durée : 6 mois.

Haut de la page


 06-STG-2008 - Trusted Computing - développement de composants de sécurité pour mobiles

Contexte

Le Trusted Computing est un domaine technologique de pointe qui permet d'offrir aux utilisateurs des garanties sécuritaires quant aux fonctionnalités de leurs machines. Par exemple, il peut s'agir de protéger des données sensibles, même si le mot de passe root/administrateur est compromis. 

Déjà largement déployé sur les PC et les stations de travail, les composants de "Trusted Computing" seront également présents sur les prochaines générations de téléphones mobiles, enrichissant l'offre de sécurité sur un marché en forte croissance dont Trusted Logic est leader (framework logiciel de sécurité "Trusted Foundations™ Software") avec son partenaire ARM (technologie matérielle TrustZone).

L'objectif de ce stage est de réaliser un service pour Trusted Foundations™ Software, qui expose les APIs du Trusted Computing Group.


Travail à réaliser

Il s'agit de développer un service sécurisé pour notre produit Trusted Foundations Software, sur un Linux (PC ou cible ARM) et/ou simulateur Windows.

Le travail s'effectuera en 3 étapes :

  • Compréhension de l'architecture deTrusted Foundations™ Software et des standards du TCG ;
  • Spécification de l'architecture et de l'interface du service sécurisé ;
  • Développement du service et test.

Le stagiaire pourra être amené à développer d'autres outils annexes.

Compétences requises
  • Bac+5 (stage de fin d'études) 
  • Solides connaissances en C et maîtrise de gcc
  • Être à l'aise en environnements Unix (Linux) et Windows
  • Bonne maîtrise de l'anglais
  • Esprit d'initiative

Lieu

Ce stage se déroulera sur notre site de Sophia-Antipolis.

Dates

Début : À partir de mars 2008.
Durée : 6 mois.

Haut de la page


07-STG-2008 - Génération et assistance d'une campagne de test d'une plateforme pour carte à puce

Contexte

Trusted Logic développe la plateforme jTOP®, qui intègre notamment une machine virtuelle Java Card™ sécurisée. Compte tenu des fortes contraintes de fiabilité et de sécurité de ce type de produit, Trusted Logic a développé des tests et des outils permettant de valider sa plateforme. Chaque livraison de la plateforme donne lieu à une campagne de test, dont le but va être de détecter les anomalies du produit pour les corriger. Compte tenu du nombre de suites de tests développées à Trusted Logic, de la variété des configurations à tester (différents protocoles de communication, etc.) et des différents type de plateforme jTOP®, les campagnes de test sont complexes. Dans l'optique de faciliter et de fiabiliser la mise en place des campagnes, nous souhaitons automatiser une partie de leur génération, ainsi qu'améliorer leur gestion.

Travail à réaliser

Après avoir été formé sur l'environnement de test de Trusted Logic, le stagiaire devra :

  • Comprendre le processus actuel de création et de déroulement de campagne : Quels sont les différents intervenants ? Quelles sont les interactions ? D'où vient l'information ?
  • Elaborer une solution permettant de faciliter le processus ;
  • Implémenter les outils nécessaires (automatisation du processus, gestion des informations associées, etc...) ;
  • Rédiger la documentation associée et former les intervenants.
Compétences requises

  • Bac + 5 (stage de fin d'études)
  • Bonne maîtrise du langage Java (indispensable)
  • Autonomie, rigueur, créativité
Lieu

Ce stage se déroulera sur notre site de Versailles.




08-STG-2008 - Conception et mise en place d'une solution d'Intégration Continue

Contexte

Trusted Logic développe la plateforme jTOP®, qui intègre notamment une machine virtuelle Java Card™ sécurisée. Compte tenu des fortes contraintes de fiabilité et de sécurité de ce type de produit, Trusted Logic a développé des tests et des outils permettant de valider sa plateforme. Ces tests doivent notamment être capables de s'adapter à des configurations clients de manière rapide et efficace.

Afin de progresser au niveau de l'efficacité et la qualité de nos développements, nous souhaitons améliorer notre solution ed'intégration continue. L'intégration continue consiste à tester la plateforme à un rhythme journalier, de manière à prendre en compte en permanence les dernières modifications effectuées sur la plateforme et permettre une détection au plus tôt des défauts. Ce dispositif est automatisé et doit requérir le moins de maintenance possible. Il doit permettre notamment de :
  • signaler les anomalies dès leur découverte (envoi automatique d'e-mail) ;
  • consulter les résultats facilement via une interface Web (synthèse ou logs complets) ;
  • permettre de sélectionner facilement une configuration de suites de tests à passer : mode manuel ou automatique, en fonction des projets en cours ;
  • assurer la sécurisation de l'accès à l'ensemble de ce processus.
Travail à réaliser

Après avoir été formé sur l'environnement de test de Trusted Logic, le stagiaire aura l'occasion de participer à l'ensemble du projet :
  • Identifier précisément les objectifs et contraintes de l'intégration continue ;
  • Proposer des solutions innovantes pour atteindre les objectifs de manière efficace ;
  • Mettre en place ces solutions (contexte de test, analyse des résultats, base de données, serveur, interface web).
Compétences requises
  • Bac+5 (stage de fin d'études)
  • Maîtrise du langage Java et des chaînes de compilation C (Gnu)
  • Une bonne connaissance du langage PHP et des langages de script Perl/Bash est un plus
  • Autonomie, rigueur.
Lieu

Ce stage se déroulera sur notre site de Versailles.




09-STG-2008 - Participation au développement d'un debugger Java Card™ basé sur Eclipse

Contexte

Dans le cadre de son offre basée sur la plateforme jTOP® (intégrant une machine virtuelle Java Card™ sécurisée), Trusted Logic propose un debugger embarqué (OCD - On Card Debugger) permettant de debugger avec l'IDE Eclipse une applet Java Card™ s'exécutant sur la plateforme jTOP®. Dans le but d'améliorer cet outil, ainsi que sa facilité d'installation et son ergonomie, Trusted Logic souhaite y intégrer de nouvelles fonctionnalités, au niveau de ses possibilités de debug et de son intégration dans Eclipse en tant que plug-in.

Travail à réaliser


Après avoir été formé sur le fonctionnement d'une applet Java Card™ et sur l'architecture existante du debugger, le stagiaire devra :
  • mettre à jour le plug-in existant afin de supporter les toutes dernières versions d'Eclipse ;
  • intégrer de nouvelles fonctionnalités, dont notamment :
    • le support de la recompilation automatique de l'applet en cours de debug ;
    • la gestion du chargement et de l'effacement d'applets sur la carte à puce ;
    •  la gestion des échanges effectués avec la carte à puce (logs commandes APDU, liste des applications présentes sur la carte) ;
    • le support du debug au niveau bytecode Java Card ;
  • mettre à jour les exemples et la documentation à destination du client.
 Compétences requises
  • Bac+5 (stage de fin d'études)
  • Maîtrise du langage Java (indispensable)
  • Connaissance de l'IDE Eclipse
  • La connaissance en développement de plug-in Eclipse et de SWT est un plus.
Lieu

Ce stage se déroulera sur notre site de Versailles.




10-STG-2008 - Amélioration d'un assembleur Java Card™

Contexte

Dans le cadre du développement de sa plateforme jTOP®, et plus particulièrement de sa machine virtuelle Java Card™, Trusted Logic a développé un outil de gestion des applets à bas niveau, permettant notamment :
  • d'écrire du bytecode Java Card™ à l'aide d'une syntaxe propriétaire (TLJCASM) ;
  • d'insérer ce bytecode au sein même d'un code source Java existant ;
  • d'aider à la correction d'éventuels bugs dans certaines applets en ROM.
Trusted Logic désire aujourd'hui étendre cet outil afin d'en améliorer sa robustesse et de pouvoir supporter de nouveaux besoins.

Travail à réaliser

Après avoir été formé sur le fonctionnement d'une machine virtuelle Java Card™, et pris connaissance des possibilités actuelles du logiciel TLJCASM, le stagiaire devra :
  • améliorer la syntaxe supportée par le langage TLJCASM (import de label, etc.) de manière à pouvoir facilement interagir avec un code source existant ;
  • ajouter le support des spécifications Java Card™ 2.2.2 ;
  • développer un module permettant d'exporter le code généré vers d'autres outils (notamment pour faciliter la correction d'applets existantes) ;
  • améliorer la gestion des informations issues de la plateforme pour faciliter l'utilisation de l'outil lors de la correction de problèmes sur des applets en ROM ;
  • développer des exemples montrant les possibilités de l'outil (et notamment la réalisation d'applets malicieuses).
Compétences requises
  • Bac+5
  • Maîtrise du langage Java (indispensable)
  • Une connaissance en compilation et de Java-CC est un plus.
Lieu

Ce stage se déroulera sur notre site de Versailles.

11-STG-2008 - Benchmark algorithmes cryptographiques

Contexte

Trusted Logic développe la plateforme jTOP®, une machine virtuelle Java Card™ dont l'une des particularités est son très large support des algorithmes cryptographiques définis par les différents acteurs de la carte à puce. De plus, jTOP® est une plateforme fournissant une implémentation hautement sécurisée de ses différents algorithmes.

Afin de mieux maîtriser chacune des modifications (aussi bien sécuritaires qu'algorithmiques) effectuées sur l'implémentation de ces algorithmes et d'en mesurer tous les impacts, Trusted Logic souhaite développer un outil de benchmark élaboré, avec comme premier objectif les fonctions cryptographiques.

Dans un premier temps cet outil devra permettre d'obtenir des temps précis sur les calculs cryptographiques et de pouvoir en suivre l'évolution au cours du temps et en fonction de certains paramètres (par exemple, taille de buffers internes) et ce de manière claire (graphique, rapport interactif, etc.).

Dans un second temps, le système de benchmark devra être capable d'analyser certaines conséquences plus internes et spécifiques au produit jTOP®, telles que : la consommation mémoire, les écritures NVRAM, la détection e la présence de contre-mesures, etc..

Enfin, cet outil devra être automatisé afin de pouvboir prendre en charge de façon automatique les différentes configurations de cartes (par exemple, mode découverte des fonctionnalités supportées par la carte).

Travail à réaliser

Après avoir été formé sur le fonctionnement d'une applet Java Card™ et sur l'architecture de test existante, le stagiare devra :
  • comprendre la problématique des benchmarks et les attentes associées aux résultats attendus ;
  • élaborer un système de benchmark pertinent, adaptif et évolutif ;
  • concevoir l'applet permettant d'effectuer un benchmark ;
  • implémenter l'ensemble du système de traitement des résultats ;
  • rédiger la documentation associée au système.
Compétences requises
  • Bac+5 (stage de fin d'études)
  • Bonne connaissance du langage Java
  • Connaissance des principes de la cryptographie (symétrique/asymétrique) et des utilisations associées (chiffrement, signature, etc.).
Lieu

Ce stage se déroulera sur notre site de Versailles.

Haut de la page


 12-STG-2008 - Outils de documentation pour la sécurité

Contexte

La certification de produits informatiques à forte composante sécuritaire repose sur des standards de qualité comme les Critères Communs (ISO/IEC 15408). Ces standards exigent au développeur des éléments de preuve suffisants pour atteindre le niveau d'assurance visé. Les exigences portent sur des cahiers de charges, spécifications fonctionnelles, documents d'architecture, suites de test, argumentaires de couverture, ainsi que des modélisations semi-formelles ou formelles et preuves formelles pour des hauts niveaux d'assurance. Sans outils adéquats, ces exigences sont très coûteuses à satisfaire et à valider.

Trusted Labs a développé un ensemble d'outils qui permettent de couvrir l'ensemble de la chaîne de sécurité, depuis l'analyse de risque et la définition la cible de sécurité au format Critères Communs jusqu'à la mise en oeuvre des fonctions de sécurité, leur test et leur évaluation. Certains de ces outils communiquent ou sont sont voués à communiquer entre eux et aussi avec d'autres outils développés par des laboratoires partenaires.

Travail à réaliser

Le stage consiste à poursuivre la construction de l'environnement intégré d'analyse, spécification, conception, test, preuve et documentation dédié à la sécurité dans le cadre du projet pré-compétitif Eden2 de l'Agence Nationale pour la Recherche. 

Après avoir pris connaissance du contexte du projet Eden2 et des outils, le stagiaire participera à la rédaction du cahier de charges de l'environnement intégré et à son développement, en particulier en ce qui concerne :

  • l'intégration de la cible de sécurité à la description / modélisation du produit associé ;
  • la documentation des spécifications formelles du produit ;
  • la documentation des liens entre éléments de sécurité (par exemple, tables de couverture) ;
  • le(s) plugin(s) Eclipse de l'environnement.

Compétences requises
  • Bac+5 (stage de fin d'études) 
  • Maîtrise du langage Java (la connaissance de XML, de Cygwin, de l'IDE Eclipse est un plus)
  • Compétences en génie logiciel, IHM
  • Esprit d'initiative, rigueur et méthodologie

Lieu

Ce stage se déroulera sur notre site de Versailles.

Dates

Début : Date flexible.
Durée : 6 mois. 

Haut de la page


 13-STG-2008 - Mise à jour de librairie de paiement

Trusted Logic développe la plateforme jTOP® pour terminaux bancaires, qui intègre une machine virtuelle et une API GPD/STIP standardisée par GlobalPlatform. Basée sur cette API, Trusted Logic offre également une librairie facilitant la réalisation d'applications en vue de certification EMVCo et PCI-PED.

GlobalPlatform et EMVCo ont publié de nouvelles spécifications - GPD/STIP 2.3 et EMVCo CPA 1.0 respectivement - et nous souhaitons mettre à jour la librairie EMV en accord avec celles-ci.

Travail à réaliser

Après avoir été formé sur l'environnement de développement GPD/STIP, le stagiaire devra :

  • analyser les nouvelles spécifications et les différences avec les anciennes ;
  • comprendre l'architecture et le fonctionnement de la librairie EMV ;
  • spécifier les modifications à apporter ;
  • développer et tester ces modifications ;
  • mettre à jour l'application de démonstration de paiement utilisant cette librairie.

Compétences requises
  • Bac+5 (stage de fin d'études ou ingénieur en alternance) 
  • Solide connaissance du langage Java et de l'IDE Eclipse
  • Maîtrise de l'anglais lu et écrit 
  • Des connaissances en monétique seraient un plus
  • Autonomie et rigueur.

Lieu

Ce stage se déroulera sur notre site de Versailles.

Dates

Début : Dès que possible.
Durée : 6 mois.

Haut de la page


 14-STG-2008 - Diagnostic et attaques sur téléphone mobile

Les téléphones mobiles aujourd'hui proposent de plus en plus des services dont la sécurité est critique. Par exemple, les téléphones permettent de réaliser des transactions bancaires ou des authentifications d'accès au même titre que les cartes à puces.
Cependant, les téléphones, de par leurs multiples interfaces de communication (infra-rouge, bluetooth, NFC, Wi-fi, NFC, etc.) et de par leurs possibilités de téléchargement d'applications ou de mise à jour de firmware, sont sujets à de vastes possibilités d'attaques. Avec la complexité grandissante des téléphones mobiles, les outils, les logiciels et les scénarios possibles d'attaques les utilisant sont en constante évaluation.

L'objectif de ce stage est d'étudier l'état de l'art en termes de diagnostic de téléphone, en termes de vulnérabilités sur les téléphones, et de mettre en 
œuvre l'environnement logiciel (pouvant s'accompagner de développements d'outils) permettant de reproduire certaines de ces attaques sur des téléphones mobiles de test.

Travail à réaliser

Les tâches principales de ce stage sont :

  • Étude des outils, incluant les logiciels libres, permettant d'extraire de l'information (accès aux fichiers sytèmes, compréhension del'architecture, etc.) et de diagnostiquer la robustesse et la sécurité d'un téléphone.
  • Étude de l'état de l'art des vulnérabilités et attaques connues ou supposées sur les téléphones, en partant d'une base existante à rafraîchir.
    Source: sites spécialisés, articles de recherche, forums.
  • Identification d'attaques selon la difficulté de mise en œuvre :
    • logiciel nécessaire ;
    • matériel nécessaire ;
    • scénarios et scripts nécessaires.
  • Mise en œuvre sur téléphones d'outils de diagnostics et d'outils de tests de conformité (p. ex. outils open source de vérification de conformité de la machine virtuelle MIDP), qui est une tâche préliminaire aux attaques.
  • Mise en œuvre d'attaques sur téléphones dédiés, à partir du logiciel, du matériel identifiés précédemment, et à partir de scripts reconstitués ou construits par le stagiaire

Compétences requises
  • Bac+5 (stage de fin d'études ou ingénieur en alternance) 
  • Maîtrise de l'informatique embarquée (des connaissances en développement sur plate-formes Symbian, Windows Mobile, JavaME, seraient un plus appréciable)
  • Maîtrise des interfaces de communication bas niveau, et d'outils d'analyse associés (analyseur logique)
  • Connaissances de la sécurité appliquée aux composants embarqués
  • Connaissances des langages Java, C/C++ et d'un langage assembleur
  • Capacités rédactionnelles (documents techniques en anglais)
  • Esprit attaquant (capacité de récupérer des informations techniques dispersées et de mettre en œuvre des outils peu ou partiellement documentés)

Lieu

Ce stage se déroulera sur notre site de Sophia-Antipolis.

Dates

Début : Dès que possible.
Durée : 6 mois.

Haut de la page