Les audits de sécurité semblent peu populaires face aux tests d’intrusions, mais pourquoi ? Ces missions sont en réalité une source non négligeable d’information pour un pentester et permettent de prendre énormément de recul sur les contraintes rencontrées par les clients.
Pourquoi suis-je devenue pentester ?
Pour être complètement honnête, ma toute première vision du pentest se résumait à la possibilité de faire des choses cool avec un ordinateur. C’était cependant il y a fort longtemps, bien avant de rentrer dans le monde du travail. C’est vrai, ne mentons pas, les tests d’intrusions sont amusants ; si vous aimez les puzzles, les casse-tête et autres challenges, faire du pentest votre métier est loin d’être ennuyant. Mais en réalité, ce n’est pas la raison m’ayant poussé à devenir pentester. Ma motivation principale était de pouvoir faire un travail utile, qui aide véritablement les gens. À l’époque, en 2017, les médias parlaient de plus en plus d’attaques informatiques et d’entreprises paralysées par des ransomwares. C’est donc tout naturellement que je me suis dirigé vers ce métier : pour aider, tout en joignant l’utile à l’agréable. Ma vision du pentest a bien changé depuis mon arrivée chez Advens. Bien que les tests d’intrusions me passionnent tout autant qu’au premier jour, je ne perds pas des yeux l’objectif principal de ces missions, qui est d’accompagner nos clients dans la sécurisation de leurs applicatifs, infrastructures et autres objets connectés.
Les enjeux des tests d’intrusions
Les tests d’intrusions permettent d’exposer des failles de sécurité par le biais d’attaques réalistes. Ainsi, en général, peu de données nous sont fournies sur le périmètre visé. Le but est en effet de se rapprocher le plus possible des conditions dans lequel un attaquant se retrouverait face à la cible. Par exemple, un pentester peut démarrer un test d’intrusion applicatif avec une URL d’accès uniquement. Il se glisse ensuite dans la peau d’un attaquant et essaye d’obtenir des identifiants de connexion valides. Toute faille pouvant l’aider dans cette optique est alors rapportée au client.
Mais un test d’intrusion ne peut pas se limiter pas à trouver les vulnérabilités en jouant aux pirates. Même si c’est une partie cruciale de notre travail, il est extrêmement important de pouvoir fournir des solutions concrètes pour pallier les failles ainsi découvertes sous forme d’un plan d’action. Cependant, certaines notions essentielles pour la formulation de recommandations adaptées au client nous font défaut, telles que d’éventuelles contraintes technologiques ou métier. Il est aussi difficile de prendre du recul par rapport aux tests effectués afin de fournir au client un plan d’action approprié en fonction de sa situation.
En réalité, je ne me suis moi-même pas complètement rendu compte de ces limitations avant d’effectuer d’autre type de missions, des audits.
La partie méconnue du métier : les audits !
Mais qu’est-ce qu’un audit ? Concrètement, il en existe plusieurs types :
- Audits de code: Le code source d’une application est analysé afin de relever toute faille de sécurité.
- Audits de configuration: La configuration d’un système ou d’un équipement réseau nous est fournie. Nous comparons ensuite ces données à des référentiels officiels (CIS, guides de l’ANSSI…) pour relever tout écart de conformité.
- Audits d’architecture: Nous vérifions la robustesse de l’architecture d’un système d’information face à différentes menaces. Cela est réalisé à partir des documents d’architecture client et d’entretiens.
- Audit organisationnel: Nous vérifions l’organisation mise en place par le client d’un point de vue sécurité, de la création d’une équipe dédiée à la gestion des incidents, à partir des documents disponibles et des entretiens avec le client.
Pour un pentester, il est vrai qu’au premier abord, cela peut faire un peu peur. J’avoue avoir eu une certaine appréhension avant mon premier audit de code et m’être posé de nombreuses questions. Notamment, comment réussir à comprendre le code développé par une autre personne, et en ressortir d’éventuelles vulnérabilités ?
Un audit de configuration ? Comparer les configurations envoyées par le client avec des référentiels ? Quel est l’intérêt ? Avec de l’expérience, et suffisamment de recul, je sais désormais que ces tâches a priori compliquées et rébarbatives sont nécessaires et enrichissantes.
Une vision plus globale
Je me suis rendu compte de l’importance de ces missions lors d’un audit organisationnel qui m’a particulièrement marqué. Oui, un audit organisationnel, l’audit le moins technique parmi ceux présentés ici.
Plus sérieusement, outre l’aspect documentaire, cet audit a nécessité beaucoup d’échanges avec le client et ses équipes. J’ai compris qu’une remédiation qui nous semble triviale en tant que pentester peut avoir de lourdes conséquences pour le client. Imaginez qu’une entreprise utilise une application tierce, critique pour la production, et irremplaçable. Malheureusement, cette application n’est pas compatible avec un système d’exploitation récent. Recommander uniquement de mettre à jour le système ne serait donc pas pertinent pour le client, puisqu’une telle action n’est tout simplement pas réalisable.
Cet audit m’a ouvert les yeux et permis de prendre beaucoup plus de recul pour la construction des plans d’action relatifs aux tests d’intrusions. Je me pose désormais toujours la question « est-ce que cette proposition de remédiation est réellement facile à mettre en œuvre et pertinente ? ».
J’ai de plus réalisé que toutes les informations techniques observées lors de mes nombreux audits me permettent désormais de mieux orienter mes attaques et de fournir des recommandations beaucoup plus complètes. Notons que l’ANSSI [1] préconise la mise en place d’audit en parallèle des tests d’intrusions sur un même périmètre et il est vrai qu’allier ces deux types de missions est un réel avantage pour le pentester et pour le client. En effet, l’exhaustivité dans l’évaluation d’un niveau de sécurité et d’un risque d’intrusion s’en retrouve renforcée.
Les audits peuvent donc renforcer non seulement les connaissances techniques des pentester, mais aussi leur apporter le recul nécessaire pour fournir un travail complet et adapté au client.