“Test d’intrusion” est un terme que nous, professionnels de la sécurité web, utilisons tous les jours. Mais nous oublions parfois que tout le monde ne sait pas quelle en est la signification, et pourquoi nous faisons des tests d’intrusion.
Prenons quelques minutes pour revoir cela, en répondant à quelques questions simples.

Qui réalise un test d’intrusion ?

Un test d’intrusion, également appelé “pentest”, de l’anglais « penetration test” requiert un certain nombre de compétences. Le pentester (consultant en sécurité qui réalise le test d’intrusion), va devoir couvrir tous les types d’attaques possibles, s’assurer qu’il teste l’intégralité de l’application web, et également fournir des recommandations afin de corriger les vulnérabilités.

Dans un monde idéal, un pentester aura donc un passé de développeur, et connaitra plusieurs languages et systèmes. Mais par dessus tout, il doit s’agir de quelqu’un travaillant avec une réelle méthodologie, quelqu’un d’expérimenté et entraîné.

security compass illustration

Que teste-t-on durant un test d’intrusion web ?

Une application web? Oui, mais ce n’est pas assez. Un test d’intrusion peut être effectué sur un bon nombre de choses, même en dehors du domaine de l’informatique. Il convient donc de définir le périmètre du test.

Ce qui est typiquement mis à l’épreuve durant un pentest :

  • l’application web elle-même (application PC ou mobile)
  • la configuration du serveur (services disponibles)
  • les webservices, API, et plus généralement tous les services liés à l’application web et accessibles depuis Internet

Les clauses d’un contrat de pentest (dans le cas d’un test grey box) définissent en général un domaine à tester (domain.com) ou une adresse IP. Il est également défini quelles sont les portions de l’application qui restent hors-scope, que ce soit parce qu’elles sont gérées par une entreprise tierce, ou pour toute autre raison.

Un test d’intrusion diffère d’un test de vulnérabilités, dans le sens où ce dernier se “contente” de répertorier des failles, dans chercher à les exploiter. Exploiter les vulnérabilités durant un pentest permet d’estimer l’impact potentiel de ces vulnérabilités dans le cas du site testé, et éventuellement de trouver d’autres failles.

Comment un test d’intrusion est-il réalisé ?

Un pentester utilisera de nombreux éléments durant un test d’intrusion :

  • ses compétences!
  • plusieurs outils, développés par d’autres entreprises, chacun d’entre eux étant spécifique et répondant à différents besoins
  • des scripts et des outils développés en interne, pour des raisons de commodité, et pour compléter les outils disponibles sur le marché

Bien que ce ne soit pas le cas dans toutes les entreprises réalisant des pentests, une méthodologie stricte devra être suivie durant la prestation, afin de s’assurer qu’un maximum de vulnérabilités seront trouvées.

Où se déroule un test d’intrusion ?

Suivant le type de test à réaliser, la prestation pourra être réalisée dans les locaux du client, ou dans les bureaux de l’entreprise réalisant le test.

Si l’application ne peut pas être testée depuis l’extérieur, les pentesters devront alors réaliser le test en local. Le même scénario se déroule si une forte interaction est requise avec les développeurs de l’application.

Quand doit-on réaliser un test d’intrusion web ?

Certaines entreprises ne réalisent jamais de test d’intrusion… jusqu’au moment où leur application se fait pirater.

Le faire avant qu’il soit trop tard, d’accord, mais quand?

  • Pour une nouvelle application web
  • Lorsqu’une nouvelle version de l’application web sort (et idéalement avant qu’elle soit en ligne)
  • Après des changements majeurs sur une application existante
  • De manière régulière, notamment pour s’assurer que les nouvelles techniques d’attaque ne s’appliquent pas

Un test d’intrusion est seulement un composant d’une stratégie de sécurité web. Cette stratégie doit être pensée, planifiée, et faite sur mesure pour l’entreprise.

Pourquoi réalisons nous des tests d’intrusion ?

Parce que nous adorons le faire!
Plus sérieusement, l’objectif d’un test d’intrusion est de trouver un maximum de vulnérabilités et les corriger avant qu’une personne ou organisme malveillant les trouve et les exploite.
Les risques sont trop élevés pour ignorer la sécurité web et bien que celle-ci doive être incluse dans la conception des applications, effectuer un test d’intrusion est le seul moyen d’avoir une idée claire de la situation.