Ingénieur Reverse Android Noyau Confirmé / Senior

TélétravailCDI

Voir les offres d'emploi

À propos de Quarkslab

Quarkslab is a French company specializing in information security R&D, consulting and software development. Our expertise is in combining offensive and defensive security to help organizations adopt a new security posture: Force the attackers, not the defender, to adapt constantly. Through our consulting services as well as our software we provide tailored solutions to organizations, helping them to protect their assets, sensitive data, and users against increasingly sophisticated attacks.


Quarkslab is an avid and active user of, and contributor to, Open Source Software and develops and maintains state-of-the-art security tools such as LIEF , QBDITritonIrma, and several other projects.


We develop two commercial software products: QFlow, a platform to automate and orchestrate security analysis of files at scale, and QShield, advanced code and data protection software to disrupt code lifting, reverse engineering and tampering attacks.

Le poste

Au sein de l'équipe Mobile, vous serez en charge de réaliser des études de sécurité sur l'environnement Android.


Ces projets couvrent des thématiques variées :


  • Recherche de vulnérabilités
  • Reverse engineering
  • Analyse en profondeur d'éléments bas niveaux du système Android (ex: noyau, bootloader, modem ...)
  • Analyse de solutions propriétaires basées sur des versions modifiées d'Android, etc.


Vous serez également amené à créer et délivrer des formations, en interne et/ou externe.


À propos du Lab

Au sein de Quarkslab, le Lab, composé de 38 ingénieurs, réalise des projets, internes ou externes, autour des thèmes suivants :


  • Reverse engineering : comprendre le fonctionnement d'un programme sans disposer du code source;
  • Cryptographie : analyser ou concevoir la cryptographie dans les applications pour augmenter les propriétés de sécurité;
  • Recherche de vulnérabilités : évaluer la robustesse d'une cible, identifier des failles et développer des exploits;
  • Sécurité matérielle et logicielle : travailler sur des systèmes à base de cartes à puce, concevoir des architectures logicielles et matérielles et tester leur niveau de sécurité.



Pourquoi travailler chez Quarkslab?

  • Pour travailler dans une équipe de passionnés, désireuse d'apprendre et de jouer avec de nouvelles approches et technologies, mélangeant des domaines de compétences variées couvrant toutes les couches du logiciel au matériel.
  • Pour profiter d'un partage de connaissances récurrent et des interactions régulières interéquipes.
  • Pour participer à des conférences dans votre domaine d'expertise, apprendre et partager vos connaissances lors de nombreux évènements internes (conférence hebdomadaire, formations, etc.).
  • Pour contribuer au développement d'outils open source ou à usage interne.
  • Pour une excellente mutuelle d'entreprise.
  • Pour un environnement international avec des bureaux à Paris, Rennes et à Buenos Aires (team croissants vs. team asado).



Processus de recrutement

  1. Appel avec notre responsable de l'acquisition des talents
  2. Résolution d'un challenge technique
  3. Entretien technique dans nos locaux de Paris / Rennes / Buenos Aires ou en vidéoconférence
  4. Débriefing RH et offre d'emploi


Quarkslab est fier d'être un employeur qui respecte l'égalité des chances sur le lieu de travail. Nous nous engageons à assurer l'égalité des chances en matière d'emploi, indépendamment de l'origine ethnique, de la couleur, de l'ascendance, de la religion, du sexe, de l'origine nationale, de l'orientation sexuelle, de l'âge, de la citoyenneté, de l'état civil, du handicap ou de l'identité de genre. Si vous avez un handicap ou des besoins particuliers qui nécessitent certains aménagements, veuillez nous en faire part et nous serons heureux de les prendre en considération.

Profil recherché

Voici une liste des compétences et connaissances souhaitées pour le poste proposé :


  • Bonnes connaissances sur le noyau Linux (fonctionnement général d'un driver, gestion de la mémoire, syscalls, gestion des processus, mécanismes de sécurité ...)
  • Connaissances de base sur le système d'exploitation Android
  • Connaissances bas niveau : architecture, processus de boot securisé, mécanismes de mises à jour ...
  • Bonne maîtrise de l'assembleur ARM32 et AARCH64
  • Maitrise d'outils de debug, de reverse engineering ou d'émulation : IDA, Ghidra, gdb, qemu, unicorn ...
  • Bonne compréhension du fonctionnement de différentes vulnérabilités du noyau Linux
  • Connaissances de base sur du fuzzing et de la recherche de vulnérabilités : AFL, libFuzzer, syzkaller ...
  • Maîtrise du français et de l'anglais (lu, écrit et parlé)
  • Capacité à appréhender des problématiques inconnues
  • Autonomie et forte capacité d'apprentissage


Les connaissances ou expériences suivantes seraient un plus :


  • Connaissances avancées des mécanismes de boot (chargeur de démarrage, mode recovery, chaîne de vérification d'intégrité ...)
  • Connaissances sur baseband ou TrustZone
  • Développement d'outils d'aide à l'analyse ou à la recherche de vulnérabilités dans l'écosystème Android (diffing, émulateurs etc ...)
Télétravail
CDI
IT
Propulsé parTaleez