Recrutement
Si vous êtes intéressés pour bosser sur des sujets sympas tout en restant loin de Paris, consultez nos offres d'emploi et envoyez nous votre CV à rh@amossys.fr.

Sujets de stage 2018-2019

Publication des offres de stage pour l'année 2018-2019. Au menu : packer, wasm, analyse de binaires, cyber range, ids, android, ia, crypto, recherche de vulnérabilités, red team et linux.

Pourquoi venir en stage à AMOSSYS ?

Tu es passionné(e) par la cybersécurité ? Tu recherches un sujet de stage technique et challengeant ? Tu aimerais travailler dans une entreprise à taille humaine, dynamique et en pleine croissance ?

Tu as répondu oui aux trois questions précédentes ? Postule à l’offre de stage qui t’intéresse et rejoins-nous !

Comment postuler ?

Merci d'envoyer ta candidature (CV et lettre de motivation) ainsi que la référence de l'offre à laquelle tu souhaites postuler à rh@amossys.fr

[réf: STAGE-2019-01-packer] Développement d'un packer

Description générale

Afin de développer son offre d’audit, AMOSSYS recherche un(e) stagiaire pour le développement d’un packer. L’idée est donc de fournir un outil capable de prendre des binaires en entrée pour en sortir des binaires qui bypassent la détection anti-virus. Le stage se concentrera uniquement sur le développement de l’outil. En effet, le sujet est complexe, avec assez peu de points d’entrée publics à jour.

Organisation du stage

Le stage s'organisera de la manière suivante :

  • Phase 1 : état de l'art des mécanismes de packing et d'obfuscation de binaires.
  • Phase 2 : identification d'une technologie et réalisation d'une maquette.
  • Phase 3 : expérimentation et validation de la maquette.

Profil souhaité

  • Niveau de qualification : Bac +3 à Bac +5 (stage de 6 mois)
  • Compétences/connaissances requises :
    • Programmation C
    • Bonnes connaissances en système
    • Reverse-engineering
    • Connaissances théoriques sur la détection Anti-virus (il peut être intéressant de potasser le livre "the Anti-virus Hacker’s handbook")
  • Vous êtes ouvert(e) d'esprit, autonome et détenez de bonnes capacités de réflexion. Vous menez des projets/recherches techniques par vous-même.

[réf: STAGE-2019-02-wasm] Développement d’un scanner de vulnérabilités WASM

Description générale

Le WASM s’annonce comme une technologie prometteuse pour de futures applications web. Comme toute technologie nouvelle, celle-ci n’est pas exempte de vulnérabilités. Cela a notamment été démontré lors de récentes conférences de sécurité (voir BlackHat USA 2018). Il serait donc intéressant pour un auditeur qui rencontre du WASM d’être capable de déterminer si celui-ci est vulnérable ou non. En particulier, un scanner de vulnérabilités propre au WASM pourrait être utilisé. Or cet outil n’existe pas pour le moment.

Organisation du stage

Le stage s’organisera de la manière suivante :

  • Détermination des vulnérabilités propres à WASM
  • Développement d’un scanner de vulnérabilité dédié au WASM
  • Si les résultats sont intéressants, ceux-ci pourront être présentés en conférence

Si le stage avance bien, il sera proposé au/à la stagiaire de participer à des missions en collaboration avec le maître de stage.

Profil souhaité

  • Niveau de qualification : Bac +3 à Bac +5 (stage de 6 mois)
  • Compétences/connaissances requises :
    • Bases de l’exploitation système et les principales vulnérabilités web
    • À l'aise avec le C
    • Bases de la théorie de la compilation pour le parsing
    • Technologie WASM (il sera demandé à ce que le/la stagiaire maîtrise un minimum cette technologie avant son arrivée)
  • Vous êtes ouvert(e) d'esprit, autonome et détenez de bonnes capacités de réflexion. Vous menez des projets/recherches techniques par vous-même.

[réf: STAGE-2019-03-graph-pattern] Outillage d’aide à la rétro-ingénierie de binaire basé sur la recherche de sous-graphe

Description générale

Rattaché(e) au laboratoire de R&D, votre mission consistera à développer un framework d’aide à la recherche de motifs au sein de codes binaires, afin d’en faciliter la rétro-ingénierie. Le but final est ici d'accélérer la recherche de morceaux de code déjà analysés. En effet, durant l’étude de codes binaires, certaines structures de code (boucles, switchs, expressions…) apparaissent de manière répétée au sein d’un même module ou de plusieurs exécutables appartenant à un même produit. C’est le cas par exemple de certaines fonctions « inlinées » par le compilateur dans un souci d’optimisation, et c'est aussi le cas de certaines fonctions récurrentes comme strlen ou encore CRC32. Retrouver ces fonctions à l’aide de valeurs caractéristiques ou des expressions rationnelles sur la sortie assembleur, les opcodes et/ou le pseudo-code décompilé n’est parfois pas possible ou s'avère simplement inadapté. En effet la recompilation ou les optimisations modifient le code de façon significative pour briser ces motifs haut-niveau. Les outils d’analyse de code binaire utilisent des représentations intermédiaires et des passes d’optimisation pour obtenir une nouvelle forme du code plus abstraite. Les nouvelles versions de ces produits (en particulier IDA Pro) permettent d’accéder à ces représentations. Durant ce stage, votre rôle consistera à développer une plateforme pour requêter facilement ces représentations.

Cette solution s’intégrera avec l’outil IDA Pro de la société HexRays et devra permettre à un analyste de réaliser des requêtes sur ces représentations intermédiaires (CTree & Microcode) dans un langage plus expressif et plus haut niveau que l’API proposée actuellement par l’outil. Ces deux représentations sont par nature des graphes, la technologie des bases de données orientée graphe (Neo4j) et les langages de requête tels que Cypher semblent répondre à nos besoins.

Organisation du stage

Le stage s’organisera de la manière suivante:

  • Prendre en main les API d'IDA Pro (C++ et Python) et les représentations intermédiaires.
  • Implémenter une preuve de concept se reposant sur les technologies Neo4j et Cypher.
  • Tester la solution conjointement avec les analystes afin de confirmer l’expressivité du langage de requête et identifier les potentiels écueils limitant son utilisation.
  • Tester la solution conjointement avec les analystes afin de mettre en évidence les limites de chaque représentation intermédiaire.
  • Tester la solution afin d’identifier les ressources minimales requises pour son utilisation dans le cadre des analyses réalisées par le laboratoire R&D.
  • Confirmer la pile technologique choisie à partir des tests effectués.

Profil souhaité

  • Niveau de qualification : Bac +2 à Bac +5
  • Compétences/connaissances requises :
    • Rétro-ingénierie de code binaire principalement x86/x64
    • C++
    • Python
    • Connaissance d’IDA Pro ou autres désassembleurs
  • Compétences/connaissances souhaitées :
    • API IDAPython
    • API IDAPro SDK
    • Architecture des compilateurs/décompilateurs
  • Vous faites preuve d'autonomie et êtes force de proposition.

[réf: STAGE-2019-04-simu] Etude et intégration d'une plateforme de simulation de SI dans un environnement cloud

Description générale

En tant que CESTI, AMOSSYS est amené à évaluer des produits de sécurité (pare-feu, IDS, SIEM, antivirus, etc.). Pour faciliter les travaux d'analyse de ces produits, AMOSSYS met au point une plateforme permettant de simuler un environnement opérationnel. Afin d'augmenter la performance et les possibilités de cette plateforme, AMOSSYS souhaite exporter et adapter la plateforme pour l'intégrer dans des environements Cloud. Le stage aura donc pour objectif d'identifier les solutions cloud qui répondent le mieux au besoin, et d'intégrer la plateforme de simulation dans l'infrastructure retenue via les différents outils et API disponibles.

Objectifs et organisation du stage

Le stage s'organisera de la manière suivante :

  • Phase 1 : Etat de l'art des environnements de cloud (EC2, Azure, Google Cloud, etc.), afin d'identifier la technologie qui correspond le mieux au besoin.
  • Phase 2 : Découverte et manipulation des API et formats d'import/export de la solution cloud retenue.
  • Phase 3 : Réalisation d'une preuve de concept d'intégration de la plateforme de simulation AMOSSYS sur l'environnement cloud retenu.
  • Phase 4 : Développement d'outils de management et de monitoring pour contrôler la plateforme de simulation.

Profil souhaité

  • Niveau de qualification : Bac +5
  • Compétences/connaissances requises :
    • Développement (Python à minima)
    • Fonctionnement des API
    • Compétences en sécurité informatique ou fort intérêt pour ce domaine
  • Compétences/connaissances souhaitées : Compétences dans les différentes offres de Cloud (type Amazon, Azure, Google, etc.).
  • De profil DevOps, vous êtes autonome, curieux(se) et force de proposition.

[réf: STAGE-2019-05-méthpf] Méthodologie d'évaluation des pare-feu et (N)IDS

Description générale

Dans le cadre de la loi programmation militaire, les OIV (Organismes d'Importance Vitale), doivent faire homologuer leur réseau. Les pare-feu et les systèmes de détection d'intrusion réseau sont des pierres angulaires de la sécurité des SI. C'est pourquoi des évaluations de ces produits sont nécessaires afin de s'assurer qu'ils assurent correctement leur rôle.

L'évasion protocolaire, qui consiste à contourner les règles de filtrage mises en place par ces produits est un axe important des travaux d'évaluation.

À partir des techniques déjà utilisées par le CESTI d'AMOSSYS pour réaliser ces évaluations, ce stage a pour but de mettre à jour notre méthodologie avec des techniques d'évasion à l'état de l'art. À titre d'exemple, le protocole IPv6 comprend de nombreuses « Extension Headers » qui peuvent être utilisées pour mettre à mal les analyseurs de protocoles des pare-feu et NIDS.

Organisation du stage

Le stage aura pour but de mettre à jour la méthodologie d'évaluation des pare-feu et NIDS d'AMOSSYS. Cela consistera à améliorer les tests existants et à identifier de nouveaux axes d'attaque. Il s'organisera de la manière suivante :

  • Etat de l'art des techniques d'évasion protocolaires.
  • Implémentation des techniques les plus pertinentes.

Profil souhaité

  • Niveau de qualification : Bac +5 dans le domaine de la sécurité informatique / réseau.
  • Compétences/connaissances requises : bonnes connaissances du fonctionnement des principaux protocoles réseau.
  • Compétences / connaissances souhaitées :
    • Développement en python
    • Utilisation d'outils tels que Scapy à prévoir
  • Vous disposez de bonnes capacités d'analyse et de synthèse, notamment rédactionnelles.

Si vous êtes retenus, vous aurez alors peut-être la chance de cotoyer des personnes ayant participé au développement de Netzob.

[réf: STAGE-2019-06-android] Étude du durcissement d'Android

Description générale

Dans le cadre de ces activités d'évaluations logicielles, le CESTI d'AMOSSYS est de plus en plus confronté à des applications s'exécutant sur des environnements mobiles. Alors que certaines évaluations portent exclusivement sur la partie applicative, d'autres nécessitent de prendre en compte les mécanismes de durcissement du système sous-jacent. Dans ce cadre, AMOSSYS souhaite améliorer sa compréhension des interactions entre le système Android et le matériel, comme par exemple, le fonctionnement de la séquence de démarrage.

Pour introduire ses travaux, le stagiaire commencera par identifier les mécanismes de durcissement système existant pour les téléphones Android. Cette phase a pour but de déboucher sur le choix d'une technologie de durcissement à étudier plus précisément. Cette étude sera elle aussi à réaliser par le stagiaire.

Organisation du stage

Le stage s'organisera de la manière suivante :

  • Etat de l'art des mécanismes de durcissement des environnements mobiles.
  • Identification d'une technologie à analyser.
  • Etude de cette technologie sur un cas concret.

Profil souhaité

  • Niveau de qualification : Bac +5 dans le domaine de la sécurité informatique ou étudiant(e) en informatique passionné(e) par la sécurité informatique / la rétro-ingénierie.
  • Compétences/connaissances requises :
    • Système Android
    • Fonctionnement d’une séquence de démarrage Linux / Windows
    • Rétro-ingénierie
  • Vous avez l'esprit d'analyse et êtes ingénieux(se).

[réf: STAGE-2019-07-ia] Analyse des intelligences artificielles

Description générale

L'intelligence artificielle est un terme à la mode, et le monde de la sécurité informatique n'y échappe pas. De nombreux produits prétendent intégrer un mécanisme de machine learning, d'apprentissage ou d'intelligence artificielle. Dans le contexte de la sécurité informatique, l'intelligence artificielle est souvent utilisée afin d'améliorer le modèle attaquant et ainsi automatiquement classifier les entrées des utilisateurs afin de définir si elles sont malveillantes ou pas.

Le déploiement de ces technologies offre de nouvelles possibilités d'attaques, comme :

  • La génération d'entrées spécifiquement forgées provoquant une mauvaise classification et entrainant une évasion du mécanisme de détection.
  • L'empoisonnement du modèle qui a pour but d'influencer le modèle de l'IA.
  • Le vol du modèle ou la récupération d'informations sensibles en interrogeant le modèle.

Organisation du stage

Ce stage se déroulera de la façon suivante :

  • Etat de l'art des attaques sur les technologies de machine learning / d'intelligence artificielle.
  • Mise en œuvre d'au moins une technique sur un exemple concret.

Malgré les apparences, les objectifs de ce stage ne sont pas de gagner à un CyberBingo #MachineLearning #IA #NeuralNetworks

Profil souhaité

  • Niveau de qualification : Bac +5 dans le domaine de la sécurité informatique ou des mathématiques.
  • Appétence envers les mathématiques et la sécurité informatique.
  • Vous êtes curieux(se) et avez l'esprit de recherche.

[réf: STAGE-2019-08-cryptopq] Cryptographie Post Quantique

Description générale

La future mise au point des ordinateurs quantiques sera une avancée majeure concernant la cryptanalyse rendant, de facto, caduc un grand nombre de cryptosystèmes. Dans ce cadre, la communauté scientifique doit mettre au point de nouveaux algorithmes résistants à ces attaques : c'est là où intervient la cryptographie Post Quantique. Dans un effort de standardisation, le NIST a mis en place une compétition afin que les algorithmes post quantique soient recensés et les mettre à l'épreuve de la communauté.

Ce stage a pour but de faire un état des lieux des algorithmes de cryptographie Post Quantique et d'identifier les enjeux à prendre en compte dans le cadre d'une évaluation d'un tel algorithme.

Organisation du stage

L'objectif du stage est d'anticiper le passage à la cryptographie Post Quantique en réalisant un premier état des lieux des algorithmes. Il sera donc surtout utilisé à des fins de prospections. Il se déroulera de la façon suivante :

  • Etat de l'art de la cryptographie post quantique.
  • Etudes des implémentations proposées par la communauté scientifique.
  • Ebauche d'une méthodologie d'évaluation d'un mécanisme post quantique.

Profil souhaité

  • Niveau de qualification : Bac +5 dans le domaine de la sécurité informatique / réseau.
  • Compétences/connaissances requises :
    • Mathématiques théoriques
    • Cryptographie
    • Sécurité informatique

[réf: STAGE-2019-09-rvcr] Recherche de vulnérabilités et de compromissions sur routeurs

Description générale

La compromission d'un routeur peut donner un avantage gigantesque à un attaquant de par sa position sur le réseau, leur robustesse assez faible aux attaques, et du peu d'outillage disponible actuellement. Le CERT AMOSSYS souhaite renforcer sa connaissance sur ce domaine et disposer d'outils d'investigation pragmatiques et efficaces. Le centre d'évaluation AMOSSYS souhaite quant à lui disposer d'outils et de méthodes de recherche de vulnérabilités sur ces systèmes spécifiques. Le stage pourra ouvrir l'un ou l'autre sujet, au choix. Deux stages conjoints sur ce même sujet sont également possibles.

Organisation du stage

Il s'organisera de la manière suivante :

  • Etat de l'art des compromissions sur routeurs et des attaques sur ces derniers.
  • Etat de l'art des outils et méthodes d'investigation sur routeurs à des fins de recherche de vulnérabilités et de compromissions.
  • Le cas échéant, développement d'outils d'aide à l'investigation ou à la recherche de vulnérabilités sur ces équipements.
  • Recherche de vulnérabilités ou de compromissions sur des équipements choisis.
  • Rédaction du mémoire de stage qui servira également de guide méthodologique pour AMOSSYS.

Profil souhaité

  • Niveau de qualification : tous niveaux scolaires, mais profil fortement passionné.
  • Compétences/connaissances requises :
    • Rétro-ingénierie
    • Architectures internes des systèmes d'exploitation
  • Compétences/connaissances souhaitées : connaissance des architectures matérielles des routeurs, RISC x86 / PowerPC / etc.

[réf: STAGE-2019-10-redteam] Audit Red Team

Description générale

Rattaché(e) au pôle audit, vos missions seront les suivantes :

  • Découvrir et monter en compétence en audit de sécurité.
  • Etudier spécifiquement l’audit Red Team et les outils associés.

Organisation du stage

Le stage s'effectue en deux phases, la première consiste à découvrir le métier d’auditeur Sécurité au travers de différents types d'audits de sécurité :

  • Audit de configuration
  • Audit de code source
  • Audit d'architecture
  • Test d’intrusion

Lors de la seconde partie, vous aurez pour but de vous spécialiser en audit Red Team. Vous devrez étudier et documenter la méthodologie utilisée lors de ces prestations puis tester, développer et repackager des outils nécessaires aux audits Red Team (contournement des éléments de sécurité, recherche de données sensibles, RAT, etc.). Afin de pouvoir jouer vos scénarios de tests, vous aurez à monter une plate-forme de test simulant le système d’information d'une entreprise à l’aide d’une solution interne AMOSSYS déjà existante.

Profil souhaité

  • Niveau de qualification : Bac +5 dans le domaine de la sécurité informatique (stage de 6 mois).
  • Compétences/connaissances requises :
    • Windows
    • Linux,
    • Réseau
    • Langages de script (python, powershell, ruby…).
  • Compétences/connaissances souhaitées : une expérience dans l’audit de sécurité serait un plus (participation à des conférences, à des challenges et CTF).
  • Vous êtes motivé(e), aimez travailler en équipe et faites preuve d'autonomie. Vous disposez de bonnes qualités de communication orales et écrites et avez un niveau d'anglais professionnel.

[réf: STAGE-2019-11-adminsys] Administration SI Linux

Description générale

Rattaché(e) au pôle Administration SI, vos missions seront les suivantes :

  • Découvrir l'infrastructure de données du SI AMOSSYS.
  • Participer à l'intégration de nouveaux services internes, par exemple :
    • Intégration d'un écran d'information interactif.
    • Intégration d'un système de visualisation interactive de disponibilité de salle (existant) sur des systèmes embarqués présentés à l'entrée des salles.
    • Proposer des solutions pour améliorer l'interopérabilité des services externes.
  • Faire évoluer l'architecture d'automatisation du SI :
    • Identifier les ressources faiblement utilisées (tokens, services) et assister leur retrait.
    • Assister l'intégration de nouveaux services dans l'infrastructure serveur.

Organisation du stage

Le stage s'effectue en plusieurs phases projet, selon le planning des missions présentées. Le/la stagiaire devra se prononcer sur sa motivation pour tout ou partie des sujets.

Profil souhaité

  • Niveau de qualification : Bac +3 dans le domaine de l'administration système GNU/Linux.
  • Compétences/connaissances requises :
    • GNU/Linux
    • Puppet
    • Réseau
    • Scripting shell
  • Une expérience, même non-pro d'administration Linux devra être présentée.
  • Vous êtes motivé(e) et aimez travailler en équipe.