Ingénieur Reverse iOS Confirmé / Senior (H/F) - Senior iOS Reverse Engineer

Mobile, crypto & protections · PARIS, PARIS
Department Mobile, crypto & protections
Employment Type CDI
Minimum Experience Mid-level

Job title: Ingénieur Reverse iOS Confirmé  / Senior (H/F)

Paris ou Rennes


# À propos de Quarkslab

Quarkslab est une société française spécialisée dans la R&D, le conseil et le développement de logiciels dans le domaine de la sécurité informatique. Notre expertise consiste à combiner la sécurité offensive et défensive pour aider les organisations à adopter une nouvelle posture de sécurité : forcer les attaquants, et non les défenseurs, à s'adapter en permanence.


Grâce à nos services de conseil ainsi qu'à nos logiciels, nous fournissons des solutions sur mesure aux organisations, les aidant à protéger leurs actifs, leurs données sensibles et leurs utilisateurs contre des attaques de plus en plus sophistiquées.

# À 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é.


Ces projets sont menés dans différents environnements techniques, du système d'exploitation public général aux SOC dédiés jusqu'au matériel. Nous nous concentrons sur les mécanismes internes de ces systèmes avec des outils spécifiques (voir nos outils publics tels que Triton, LIEF ou QBDI). Ils sont réalisés pour nos clients (éditeurs logiciels, industrie, grands comptes, administration), et dans le cadre de projets de R&D internes. Ils donnent également naissance à de nombreuses publications et conférences. Enfin, nous créons et dispensons plusieurs formations de sécurité sur différentes plateformes (iOS, android, Windows ..etc) ainsi que sur les méthodes et l'outillage nécessaire pour l'analyse et la recherche de vulnérabilités.


Les ingénieurs du Lab sont rattachés à l'une des 5 équipes en fonction de leur domaine d’expertise et des thématiques de R&D sur lesquelles ils interviennent :

  • Cryptographie et systèmes embarqués
  • Mobile et protections
  • Desktop et virtualisation
  • Les équipes Instrumentation et Automated Analysis: elles visent à améliorer l'outillage (public, tel que LIEF, QBDI ou Triton, mais aussi privé) afin d'automatiser les tâches de rétro-ingenierie. Les outils développés répondent à de nombreuses problématiques, que ce soit pour déobfusquer un binaire, instrumenter et extraire des traces d'execution, comparer différentes versions de binaires ou encore fuzzer des cibles en source fermée.


La R&D est l'ADN de Quarkslab, c'est la raison pour laquelle nous allouons 40% du temps des ingénieurs sur des projets internes de R&D. Les missions réalisées au profit de nos clients sont enrichies grâce aux résultats de nos travaux menés tout au long de l'année.


## Description du poste
Au sein de l'équipe Mobile, vous serez en charge de réaliser des études de sécurité sur l'environnement iOS.Ces projets couvrent des thématiques variées :

  • Recherche de vulnérabilités
  • Reverse engineering
  • Analyse en profondeur du système, d'un de ses composants ou de ses options de sécurité
  • Analyse d'applications de différents horizons (ex: gestionnaire de mot de passe, solution de messagerie instantanée, solution de MDM...)


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


## Quel est le profil attendu ?
Voici une liste des compétences et connaissances souhaitées pour le poste proposé:

  • Bonne compréhension des systèmes d'exploitation iOS
  • A haut niveau: architecture interne du système, permissions, les mécanismes de sécurité mis en place par Apple, le provisioning des devices...
  • Userland: fonctionnement général d'une application, les interfaces Objective-C/Swift, l'usage des frameworks propres à Apple...
  • Kernel et bas niveau: architecture, processus de boot, fonctionnement général d'un driver (ex: IOKit),...
  • Capacité à utiliser les outils permettant de réaliser des analyses sur iOS (reverse engineering sur ARM32 et AARCH64, analyse statique et dynamique)
  • Désassembleurs et debugger: IDA, Ghidra, lldb, gdb...
  • Framework: Frida, DBI...
  • Ou autres outils ayant la même portée
  • Connaissances sur le fonctionnement des jailbreaks récents
  • Connaissances de l'écosystème permettant de développer sur les plateformes Apple (ex: usage de XCode et des librairies Apple)
  • Maîtrise du français et de l'anglais (lu, écrit et parlé)
  • Autonomie et forte capacité d'apprentissage
  • Capacité à appréhender des problématiques inconnues


Les connaissances ou expériences suivantes seraient un plus:

  • Méthodes de contournement des protections modernes (ex: PAC, KIP, PPL...)
  • Mécanismes de démarrage du système d'exploitation: bootrom, bootloader...
  • Connaissances sur SEP
  • Développement d'outils d'aide à la recherche de vulnérabilités (ex: fuzzers) ou à l'analyse


# 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.



================ENGLISH VERSION================



Job title: Senior iOS Reverse Engineer

Paris or Rennes


# About Quarkslab

Quarkslab is a French company specialized in R&D, consulting and software development in the field of IT security. Our expertise consists in combining offensive and defensive security to help organizations adopt a new security posture: forcing attackers, and not defenders, to constantly adapt.


Through our consulting services as well as our software, we provide tailored solutions to organizations, helping them protect their assets, sensitive data and users from increasingly sophisticated attacks.


# About the Lab

Within Quarkslab, the Lab, composed of 38 engineers, carries out projects, internal or external, around the following themes:

  • Reverse engineering: understanding how a program works without having the source code;
  • Cryptography: analyzing or designing cryptography in applications to increase security properties;
  • Vulnerability research: evaluate the robustness of a target, identify vulnerabilities and develop exploits;
  • Hardware and software security: working on smart card-based systems, designing software and hardware architectures and testing their security level.


These projects are conducted in different technical environments, from general public operating systems to dedicated SOCs and hardware. We focus on the internal mechanisms of these systems with specific tools (see our public tools such as Triton, LIEF or QBDI). They are developed for our customers (software editors, industry, large accounts, administration), and in the framework of internal R&D projects. They also give rise to numerous publications and conferences. Finally, we create and deliver several security trainings on different platforms (iOS, android, Windows ..etc) as well as on the methods and tools needed for vulnerability analysis and research.


The Lab's engineers are attached to one of the 5 teams according to their field of expertise and the R&D themes in which they are involved:

  • Cryptography and embedded systems
  • Mobile and protection
  • Desktop and virtualization
  • The Instrumentation and Automated Analysis teams: they aim to improve the tools (public, such as LIEF, QBDI or Triton, but also private) in order to automate reverse engineering tasks. The tools developed answer many problems, whether to deobfuscate a binary, instrument and extract execution traces, compare different versions of binaries or fuzz targets in closed source.


R&D is the DNA of Quarkslab, which is why we allocate 40% of our engineers' time to internal R&D projects. The missions carried out for the benefit of our customers are enriched thanks to the results of our work carried out throughout the year.


## Job Description
Within the Mobile team, you will be in charge of carrying out security studies on the iOS ecosystem. These projects cover various themes:

  • Vulnerability research
  • Reverse engineering
  • In-depth analysis of the operating system or various applications types (e.g. a password manager, an instant messaging solution, a MDM solution...)


You will also be potentially required to create and deliver training, internally and / or externally.

## What is the expected profile ?
Here is a list of the skills and knowledge desired for the proposed position:

  • Good understanding of iOS operating system
  • High level: system internal architecture, permissions, specific Apple security features, devices provisioning...
  • Userland: application internals, Objective-C/Swift interfaces, usage of Apple frameworks...
  • Kernel and low level: architecture, boot process, driver internals (e.g. IOKit),...
  • Ability to use iOS analysis tools (reverse engineering on ARM32 and AARCH64 architectures, static and dynamic analysis)
  • Disassemblers and debuggers: IDA, Ghidra, lldb, gdb...
  • Frameworks: Frida, DBI...
  • Or other tools with the same scope
  • Knowledge of recent jailbreaks internals
  • Knowledge of Apple development ecosystem (e.g. XCode usage and Apple libraries)
  • Good writing skills
  • Ability to understand unknown issues
  • Autonomy and strong learning ability


The following knowledge or experience would be a bonus: 

  • Modern protections bypassing methods (e.g. KIP, PPL...)
  • Operating system boot process: bootrom, bootloader...
  • Knowledge on SEP
  • Development of tools to help analyzing or finding vulnerabilities in the iOS ecosystem  (e.g. fuzzers)


# Why work at Quarkslab?

  • To work in a passionate team, eager to learn and play with new approaches and technologies, mixing various fields of expertise covering all layers from software to hardware.
  • To benefit from recurring knowledge sharing and regular cross-team interactions.
  • To participate in conferences in your field of expertise, learn and share your knowledge during numerous internal events (weekly conference, training, etc.).
  • To contribute to the development of open source tools or for internal use.
  • To benefit from an excellent company health insurance.
  • For an international environment with offices in Paris, Rennes and Buenos Aires (team croissants vs. team asado).


# Recruiting Process

  1. Call with our talent acquisition manager
  2. Resolution of a technical challenge
  3. Technical interview in our Paris / Rennes / Buenos Aires offices or via video conference
  4. HR debriefing and job offer


Quarkslab is proud to be an equal opportunity employer in the workplace. We are committed to equal employment opportunity regardless of ethnicity, color, ancestry, religion, gender, national origin, sexual orientation, age, citizenship, marital status, disability or gender identity. If you have a disability or special needs that require certain accommodations, please let us know and we will be happy to consider them.

Thank You

Your application was submitted successfully.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

  • Location
    PARIS, PARIS
  • Department
    Mobile, crypto & protections
  • Employment Type
    CDI
  • Minimum Experience
    Mid-level