Qu’est-ce qu’un test d’intrusion ?

Un test d’intrusion est une prestation de service visant à tester de façon effective la sécurité d’un Système d’Information (SI). Il vise à mettre à l’épreuve celui-ci afin de voir si une personne possédant suffisamment de connaissances techniques pourrait compromettre ce dernier à des fins malveillantes. 

La scénarisation : la base du test d’intrusion

Le préalable à tout test d’intrusion est de mettre en place un scénario crédible basée sur l’analyse de risque de l’entreprise. Suivant les risques que l’entreprise a identifié pour son activité, un scénario peut être établi et le périmètre du test d’intrusion défini.

Si, par exemple, l’entreprise a identifié qu’un de ses risques majeurs étaient le vol, par un stagiaire ou un salarié lambda, de données confidentielles relatifs à un processus de fabrication, alors le scénario tombera sous le sens : le test d’intrusion pourra être réalisé sur le réseau interne, avec les mêmes droits qu’un utilisateur normal.

Si l’entreprise redoute l’accès à ses données sensibles par un pirate informatique qui les revendrait ensuite à un concurrent, alors le test d’intrusion sera davantage réalisé depuis internet. 

Plus généralement, le périmètre du test d’intrusion ne peut être correctement défini sans savoir quels sont les risques business encourus par l’entreprise, ce qui souligne l’importance d’une analyse de risques préalable à tout test d’intrusion, analyse réalisée par le commanditaire du test d’intrusion. 

Le périmètre du test d’intrusion

La scénarisation du risque conduit à la définition exacte du périmètre (autrement appelé “scope”) de la prestation. Cette définition de périmètre vise à :

  • Quelles données seraient les plus critiques pour l’entreprise, quel est l’objectif du test d’intrusion ;
  • Définir quels sont les éléments du Système d’Information qui peuvent faire l’objet d’une intrusion par le prestataire et établir la surface d’attaque autorisée ;
  • Quelles sont les règles, techniques et méthodes acceptables pour l’entreprise dans la conduite de ce test, que ce soit d’un point de vue juridique, éthique, ou technique. 

L’objectif du test d’intrusion

La définition de l’objectif doit être aussi formel et précis que possible. Son résultat doit être également mesurable de préférence. Quelques mauvais et bons exemples formalisés de test d’intrusion.

Exemple de mauvaise définition d’objectif

Exemple – Mauvaise définition d’objectif

L’objectif de ce test d’intrusion est de vérifier que l’entreprise ne puisse pas être piratée.

Ceci n’est pas un bonne définition de l’objectif d’une prestation de test d’intrusion. Il est bien trop vague : que signifie “être piraté” ? Par exemple, est-ce que la compromission d’un site web secondaire à l’entreprise entre dans cette définition ? Où s’arrête le test d’intrusion ? Comment mesurer son succès ? Il n’y a également aucun lien avec l’analyse de risques effectuées par l’entreprise, où alors celle-ci est trop générique. 

Exemple de bonne définition d’objectif

Exemple – Bonne définition d’objectif

L’objectif de ce test d’intrusion est d’identifier si un pirate pourrait, sans information préalable sur l’entreprise, accéder à notre réseau interne pour accéder à la boite email du PDG.

Cet objectif est bien plus adapté. L’entreprise – dans son analyse de risque – a probablement identifié la boite email du PDG comme un élement critique pour son business, et souhaite donc s’assurer qu’une personne extérieure ne puisse pas y accéder. L’objectif est également mesurable : si le pentester accède à la boite email du PDG, le test est un succès (ou un échec suivant le point de vue).

La surface d’attaque autorisée

Un attaquant procède toujours par collecte d’informations et par rebond. La surface d’attaque autorisée est généralement plus large que l’objectif du test d’intrusion. Ainsi, pour l’exemple de la boite email du PDG, un attaquant réel attaquerait vraisemblablement tous les éléments du Système d’Information dont dépend la sécurité de la boite email elle-même. C’est la raison pour laquelle il est nécessaire de définir correctement cette surface d’attaque.

Exemple – Définition d’une surface d’attaque autorisée

Le prestataire est autorisé à scanner et exploiter toute vulnérabilité sur le réseau informatique, à l’exclusion du réseau de production (172.17.0.0/16)

Généralement, la définition du périmètre est réalisée par adresses IP. Elle indique au prestataire ce qu’il a droit de tester et éventuellement compromettre pour atteindre l’objectif défini.

Les règles du test d’intrusion

Dernier élément primordial de la définition du périmètre du test d’intrusion : les règles éthiques, juridiques et techniques imposées au prestataire. 

Les règles techniques

Des règles visant à préserver la disponibilité du Système d’Information visé sont généralement formalisées. Elles consistent par exemple à mentionner que les attaques par “dépassement de tampon” (buffer overflow) ne sont pas autorisées afin de ne pas induire de dysfonctionnements au sein de l’entreprise. Elles peuvent également mentionner que le test d’intrusion ne doit être effectué qu’à certaines heures creuses afin de limiter l’indisponibilité potentielle – même si peu probable – en cas de dysfonctionnements induits par la prestation. 

Ces règles techniques mentionnent également quels sont les moyens qui peuvent être utilisés par le prestataire pour atteindre l’objectif. L’ingéniérie sociale par exemple est souvent exclue des moyens possibles.

Les règles éthiques et juridiques

Même si tout pentester professionnel est censé connaître les règles éthiques et juridiques, il peut être pertinent de rappeler certains principes dans la définition du périmètre du test d’intrusion. Exemple : ne pas tenter ou prendre connaissance de données visiblement à caractère personnel. 

Les bénéfices d’un test d’intrusion pour les entreprises 

Pour l’entreprise testée et suivant le périmètre établi, le test d’intrusion apporte à l’entreprise une vision à l’instant T de son degré de vulnérabilité. Il lui permet de savoir si le risque ou le scénario envisagé est crédible et peut effectivement survenir. Il est à la fois un outil pour permettre à l’entreprise d’ajuster la probabilité d’un risque préalablement identifié, mais également un moyen de réduire la probabilité ou l’impact d’un risque en appliquant les mesures correctives appropriées. 

Ce que le test d’intrusion n’est pas

Si ce type de prestation a vocation à prouver la réalité d’un risque identifié et à le réduire, un test d’intrusion n’est pour autant pas un audit exhaustif. Il ne vise pas à recenser toutes les vulnérabilités du Système d’Information ciblé, mais à donner une indication sur celles qui seraient vraisemblablement utilisées dans le cadre d’un scénario précis, c’est-à-dire les plus évidentes ou habituellement exploitées par les hackers.

Il n’est pas non plus pérenne : il s’agit bien d’une photographie à l’instant T, même si l’expérience démontre qu’en général, un système d’information vulnérable peut le rester très longtemps. A contrario, un système non-vulnérable à l’instant T peut être une “passoire” le lendemain : une simple petite erreur d’un administrateur peut avoir d’énormes conséquences sur la sécurité du système d’information. 

Un pentest réussi n’est qu’un concours de circonstances

Il est important de comprendre qu’un pirate informatique rassemble des informations, qui lui permettent de rassembler d’autres informations, et ceci de façon continue jusqu’à atteindre son objectif.

Si le pentester est “bloqué” très en amont de la chaîne, il ne verra pas la face immergée de l’iceberg, c’est-à-dire toutes les autres vulnérabilités du système d’information ciblé. Il n’est pas rare que la compromission d’un système d’information soit le résultat d’une succession de petites vulnérabilités. 

On peut comparer ça au crash d’un avion : il s’agit souvent de la conséquence de multiples évènements ou d’erreurs qui s’enchainent. Le 25 juillet 2000, si une lame métallique ne s’était pas trouvée sur une des pistes à l’aéroport de Paris-Charles-de-Gaulle, le pneu du Concorde n’aurait pas éclaté et le réservoir de carburant n’aurait pas subi une onde de choc faisant éclater l’intérieur d’une partie du réservoir de carburant, conduisant au crash de celui-ci. Et les mesures correctives (la mise en place d’un revêtement en Kevlar à l’intérieur des réservoirs, l’installation de pneus plus stables), n’auraient pas été prises.

Le pentester a une logique similaire : il va trouver les éléments nécessaires lui permettant d’atteindre son objectif et compromettre le système d’information visé. Ces micro-vulnérabilités  sont parfois des détails (l’équivalent de la lamelle sur la piste, la faiblesse du pneu, un réservoir sans Kevlar), mais mises bouts-à-bouts, elles peuvent conduire au “crash” de votre Système d’Information avec, fort heureusement, des conséquences moins dramatiques.

L’intérêt du pentest pour l’entreprise est donc de savoir s’il existe, à l’instant T, un concours de circonstances qui pourraient permettre à un pirate informatique d’atteindre un objectif donné qui nuirait de façon importante à son activité.

Photo of author

Nico

Pentester ayant eu 20 ans de carrière, et disposant je l'espère d'assez de recul sur ce sujet, j'ai eu l'idée de faire ce blog pour informer au mieux les aspirants pentesteurs et les débutants.

Laisser un commentaire