quarkslab is hiring a Web3 Ingénieur Reverse Android Confirmé / Senior (H/F) - Senior Android Reverse Engineer
Compensation: $45k - $100k estimated
Location: Paris France
Job title: Ingénieur Reverse Android Confirmé / Senior (H/F)
Paris ou Rennes ou Télétravail
# À 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 Android.Ces projets couvrent des thématiques variées :
- Recherche de vulnérabilités
- Reverse engineering
- Analyse en profondeur du système ou d'applications de natures variées (ex: un gestionnaire de mot de passe, une solution de messagerie instantanée, une solution de MDM...)
- 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.
## 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 Android
- A haut niveau: architecture interne du système, permissions, lancement des processus, les options de sécurité...
- Userland: fonctionnement général d'une application, l'interface JNI, les interactions avec le système et les spécificités propres à Android (Binder IPC, system properties)
- Kernel et bas niveau: architecture, fonctionnement général d'un driver, processus de boot securisé, mécanismes de mises à jour...
- Capacité à utiliser les outils permettant de réaliser des analyses sur Android (reverse engineering sur ARM32 et AARCH64, analyse statique et dynamique, fuzzing)
- Désassembleurs et debugger: IDA, Ghidra, gdb, Jadx, JEB...
- Framework: Frida, DBI...
- Ou autres outils ayant la même portée
- Bonne compréhension du fonctionnement de différentes vulnérabilités applicatives (confusion de type, UaF, BoF, injections diverses)
- 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 de l'intégrité...)
- Connaissances sur les baseband et TrustZone
- Utilisation et développement d'outils de fuzzing (noyau et userland)
- Développement d'autres outils d'aide à l'analyse ou à la recherche de vulnérabilités dans l'écosystème Android (diffing, émulateurs etc...)
# 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
- Appel avec notre responsable de l'acquisition des talents
- Résolution d'un challenge technique
- Entretien technique dans nos locaux de Paris / Rennes / Buenos Aires ou en vidéoconférence
- 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 Android Reverse Engineer
Paris, Rennes or Remote
# 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 developped 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 Android 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...)
- Analysis of proprietary solutions based on modified Android versions, etc.
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 Android based operating systems
- High level: system internals, permissions, process launching, security features...
- Userland: applications overall architecture, the JNI interface, system interactions and Android specific features (IPC Binder, system properties)
- Kernel and low level: architecture, driver overall operation, secured boot process, update mechanisms...
- Ability to use tools allowing to do analysis on Android (reverse engineering on ARM32 et AARCH64, static and dynamic analysis, fuzzing)
- Disasssemblers and debuggers: IDA, Ghidra, gdb, Jadx, JEB...
- Frameworks: Frida, DBI...
- Or other tools with the same scope
- Good understanding of applicative vulnerabilites (type confusion, UaF, BoF, various injections...)
- Good writing skills
- Ability to understand unknown issues
- Autonomy and strong learning ability
The following knowledge or experience would be a bonus:
- Advanced knowledge of boot mechanisms (bootloader, recovery mode, integrity verification chain...)
- Knowledge on basebands and TrustZone
- Usage and tools development (kernel or userland)
- Development of tools to help analyzing or finding vulnerabilities in the Android ecosystem (diffing, emulators...)
# 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
- Call with our talent acquisition manager
- Resolution of a technical challenge
- Technical interview in our Paris / Rennes / Buenos Aires offices or via video conference
- 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.
Apply Now:
Web3 Android Developer Salary
The average yearly salary for a Web3 Android Developer is $114k per year, with a minimum base salary of $49k and a maximum of $185k.
Check more information about Web3 Android Developer Salary.