Auditeur de code source

L’auditeur de code source analyse la clarté et la complexité du code source d’une application ou d’un logiciel, la conformité par rapport aux règles en vigueur, les technologies et langages utilisés, et surtout la performance : l’application qu’on lui fait auditer fonctionne-t-elle au maximum de ses capacités, et si ce n’est pas le cas, comment y remédier ?

La sécurité, mais pas seulement

La sécurité n’est pas la seule préoccupation de l’auditeur de code source : il doit aussi repérer les erreurs de codage, les bugs, les faiblesses et les inefficacités afin de faire en sorte que le système audité fonctionne de la manière la plus optimale possible. Pour cela, il doit mener des diagnostics et examiner à la loupe des lignes de codage, à la lumière de son expertise en cryptographie, réseau, et sécurité de base de données. 

Il n’est pas rare qu’un auditeur de code source ait plusieurs casquettes et cumule ses missions avec celles d’un pentester ou d’un consultant en cybersécurité. 

A noter que l’auditeur de code source intervient souvent dans des situations assez tendues : la plupart des entreprises ne pensent pas à lancer un audit quand tout va bien ! Quand elles font appel à lui, c’est donc généralement qu’il y a un problème auquel elles souhaitent remédier sur l’un de leurs logiciels ou une de leurs applications, par exemple des bugs répétés. Il doit donc être capable de travailler sous pression et faire preuve de sang froid. Il intervient généralement sur des missions ponctuelles et doit pouvoir s’intégrer rapidement à l’entreprise qui sera la sienne pour la durée de la mission.

Un intervenant externe

L’auditeur de code source est un peu un cowboy solitaire… Mais pas vraiment ! Si son cœur de métier, l’audit, s’effectue le plus souvent seul, ses missions ne s’arrêtent pas là. Car une fois l’audit réalisé, l’auditeur de code source doit réaliser un rapport sur ses conclusions et le partager avec les personnes concernées. C’est là qu’intervient la partie travail en équipe : à lui d’expliquer à l’équipe de développement ce qu’il a découvert et de faire des recommandations pour remédier aux différents problèmes repérés, qu’il s’agisse de bugs ou de menaces. Il doit donc savoir faire preuve de diplomatie afin de ne pas risquer de froisser ces collègues temporaires. Sans oublier que parfois, la seule solution si une application est complètement obsolète et qu’il en coûterait trop cher de la remettre sur pieds est de tout simplement de s’en débarrasser pour la remplacer, une option qui peut ne pas convenir à l’entreprise qui a déjà investi du temps et de l’argent dans son fonctionnement.

Un socle commun de compétences techniques et des spécialisations

D’après le référentiel PASSI (Prestataire d’audit de la sécurité des systèmes d’information), l’auditeur de code source doit avoir des compétences dans de nombreux domaines techniques : couche applicative, guides et principes de développement sécurité, architectures applicatives, mécanismes cryptographiques, mécanismes de communication et protocoles associés, socle applicatif… 

Pour peu qu’il se spécialise dans les systèmes industriels, un secteur particulièrement concerné par les problématiques de sécurité et de fonctionnement optimal, il devra aussi maîtriser les architectures fonctionnelles à base de PLC, les architectures applicatives SCADA (basées sur un progiciel ou pas), les architectures applicatives des programmes utilisateur présents dans les automates programmables industriels, et les réseaux et protocoles industriels (protocoles de transmission et de communication utilisés par les automates programmables et équipements industriels (Modbus, S7, EtherNetIP, Profibus…)).

C
C++17
Java
Perl
Python

Des outils automatiques et manuels

Il existe deux options en matière d’audit de code source : l’audit automatisé et l’audit manuel. Parce que les deux sont complémentaires, l’auditeur de code source doit non seulement maîtriser ses propres missions, mais aussi bien connaître les outils d’analyse utilisés pour l’audit automatisé, et donc les langages de programmation. C’est d’autant plus indispensable que l’entreprise elle-même utilise des langages comme C, C++, Python, Perl, Java, etc.

Pas de formation dédiée, mais plusieurs voies possibles

Le poste d’auditeur de code source peut être accessible avec un Bac +3 en informatique, si possible avec une spécialisation en cybersécurité, associé à une première expérience professionnelle de deux ou trois ans, par exemple dans le développement. Les employeurs sont aussi friands des profils justifiant d’une expérience en pentest, la capacité à tester les systèmes concernés via la cyberattaque étant toujours utile dans un audit.

Il n’existe pas actuellement de formation spécifique à l’audit de code source. Toutefois, certaines spécifications sont appréciées par les entreprises. C’est par exemple le cas de CISA (Certified information systems auditor, pour l’audit de systèmes d’information), de GIAC (Software security certifications, des certifications pour la sécurité logiciel), ou encore de la norme ISO 27035 Gestion des incidents de sécurité de l’information.

CISA Certification
IB
Formation ISO 27035 - Lead Incident Manager : Gestion des incidents de sécurité

Combien gagne un auditeur de code source ?

Le salaire moyen d’un auditeur de source code tourne autour de 44 000 euros brut par an, augmentant avec l’expérience jusqu’à dépasser les 65 000 euros pour les profils seniors. Selon l’étude de rémunérations 2022 de Michael Page, un auditeur sécurité IT gagne entre 38 000 et 45 000 euros s’il a moins de deux ans d’expérience, entre 45 000 et 60 000 euros s’il a entre deux et cinq ans d’expérience, et entre 60 000 et 85 000 euros au-delà.

Des évolutions de carrière transversales

L’auditeur de code source intervenant la plupart du temps en tant que consultant externe, il ne va pas grimper les échelons de manière "classique" dans l’entreprise, son parcours de carrière n’est pas prédéfini comme il pourrait l’être dans des grands groupes ayant des politiques d’évolution professionnelle claires. En revanche, ses différentes casquettes lui confèrent une certaine souplesse qui pourra lui permettre de s’orienter dans divers domaines de la cybersécurité, comme le pentest.

Découvrez aussi

L'offre suivante pourrait t'intéresser