Au sein de Synacktiv, le pôle rétro-ingénierie est chargé de l'exécution de trois grandes familles de missions :
- La rétro-ingénierie de produits pour les évaluations de sécurité ;
- La recherche et l'exploitation de vulnérabilités identifiées dans ces produits ;
- La conception et le développement d'outils d'aide à la rétro-ingénierie.
Nous avons rédigé un blog post décrivant le fonctionnement de l'équipe, c'est ici.
La recherche et l'exploitation de vulnérabilités peuvent être effectuées sur des systèmes et architectures variés, avec ou sans code source et souvent sur des cibles complexes.
Les missions de rétro-ingénierie pure consistent en l'étude de programmes complexes pour en comprendre les fonctionnalités, les documenter et parfois les réimplémenter. Il peut s'agir d'une première étape en vue d'une recherche de vulnérabilité ou d'une fin en soi.
Enfin, la conception et le développement d'outils couvrent un large spectre comme les fuzzers ou l'automatisation et la simplification de certaines tâches récurrentes identifiées dans le pôle. Il peut s'agir de développement bas niveau en assembleur et en C (implants, hooks, instrumentation, etc.) comme haut niveau en JS et Python (snippets Frida, orchestrateur de fuzzers, visualisation de l'état du heap, etc.).
Dans le cadre du pôle rétro-ingénierie, les missions sont attribuées en fonction compétences et des appétences, à une ou plusieurs des familles décrites ci-dessus.