Blog

Analyses de vulnérabilités vs tests d'intrusion

Rédigé par Mattias Döj | 16 mai 2023 14:54:43

Dans le monde numérique d'aujourd'hui, il est de plus en plus important de veiller à ce que les informations agrégées de votre entreprise ne puissent pas être trouvées et prises par d'autres. C'est pourquoi vous devez travailler en permanence à l'amélioration de la sécurité en effectuant des tests pour déterminer s'il existe des vulnérabilités. Nous savons que la sécurité de l'information peut être délicate. C'est pourquoi, dans cet article, j'expliquerai la différence entre l'analyse de la vulnérabilité et les tests d'intrusion. J'espère qu'il vous permettra de mieux comprendre ces tests et leur importance pour votre entreprise.

 

Analyses de vulnérabilité

 

L'analyse des vulnérabilités est entièrement automatisée, il vous suffit d'ajouter les actifs à analyser. Vous indiquez au système ce qu'il doit rechercher et tout se passe automatiquement. En effectuant régulièrement des analyses de vulnérabilité, vous avez une bonne vue d'ensemble de votre niveau de maturité, par exemple à chaque publication. Si vous publiez des versions toutes les semaines, il peut être judicieux d'investir dans un outil d'analyse des vulnérabilités dynamique ou statique.

 

Dans l'analyse des vulnérabilités, le système recherche activement des défauts de configuration ou des vulnérabilités sur la base de déficiences ou d'erreurs réelles dans le logiciel, le serveur, le client, le commutateur, le routeur, etc. Il s'agit souvent d'un problème fondamental dans le code, soit que vous ayez fait quelque chose sans le savoir, soit que vous ayez omis quelque chose, par exemple dans la configuration.

 

Le plus grand avantage d'une analyse automatisée est qu'elle permet de repérer un grand nombre de problèmes mineurs, tels qu'une authentification défaillante, des scripts inter-sites (XSS) ou d'autres types d'injections. C'est un bon début.

 

Des exemples des vulnérabilités les plus courantes dans les applications web peuvent être trouvés, entre autres, sur le site suivant : OWASP (Open Web Application Security Project) top 10 list ou sur le site Sans Top 25.

 

Test d'intrusion

 

Le test d'intrusion, également appelé "pen testing", est un travail manuel. Il s'agit d'aller plus loin que la simple vérification des vulnérabilités existantes. Avec un test d'intrusion, vous allez plus loin dans le système pour voir les connexions et acquérir une compréhension plus profonde de la logique d'entreprise. Lorsque vous comprenez l'état d'esprit du développement et des ensembles de solutions, vous trouverez probablement d'autres failles, car le facteur humain ne peut jamais être ignoré. Nous savons que les gens font des erreurs lorsqu'il s'agit d'installer, de développer et de gérer des systèmes. Cette information ne pourrait jamais être récupérée par un outil d'analyse automatisé, car il ne dispose pas de la pensée rationnelle que nous avons en tant qu'êtres humains.

 

Le contrôle d'accès en est un exemple. Un outil d'analyse automatisée des applications web ne peut pas déterminer si les données auxquelles il peut accéder sont considérées comme une violation de la sécurité ou non. Si un "utilisateur standard" peut accéder à des informations auxquelles seul un administrateur devrait pouvoir accéder, les contrôles d'accès sont insuffisants. Un humain peut le déterminer en analysant les données et ce qui se passe.

 

Exemple d'un cas réel :

 

"Dans le cadre d'une de nos missions précédentes, nous avons effectué des tests sur une application web accessible sur Internet et nous avons trouvé un certain nombre de vulnérabilités, notamment une injection SQL non authentifiée. Cette vulnérabilité permettait de lire les données de la base de données, telles que les utilisateurs et les hachages. Après une analyse plus approfondie, il s'est avéré que les hachages avaient été altérés et, une fois que nous avons compris comment, nous avons pu craquer les mots de passe, nous connecter à l'application web, télécharger des fichiers et exécuter du code sur leur serveur web.

 

À partir du serveur web, nous avons obtenu un accès complet à l'ensemble du réseau de production, ce qui a permis l'accès aux contrôleurs de domaine. L'un d'entre eux présentait plusieurs vulnérabilités et, bien qu'il ait été remplacé par un nouveau contrôleur de domaine et un nouveau domaine, il était toujours utilisé pour l'ancien domaine. L'ancien et le nouveau domaine bénéficiaient d'une confiance réciproque, ce qui signifie que même si vous disposez d'un compte dans un domaine, vous avez accès aux ressources de l'autre domaine. En raison d'une combinaison de mauvaises configurations, d'erreurs logicielles, d'un manque de séparation logique entre les systèmes internes et externes, ainsi que du fait que le client n'a pas complètement mis hors service l'ancien domaine, nous avons pu pénétrer aussi loin dans le réseau et les systèmes de l'entreprise."

 

Si vous n'aviez procédé qu'à une analyse des vulnérabilités de l'application et non à des tests de pénétration, vous auriez au mieux découvert une injection SQL, mais pas les autres failles.

 

Les problèmes récurrents constatés au sein des entreprises

 

Un problème courant au sein des entreprises est qu'elles ne considèrent ces tests que comme faisant partie d'un processus basé sur des exigences telles que PCI-DSS ou GDPR. Une fois que l'entreprise a surmonté ses marques rouges (haut risque) et violettes (critique) dans son rapport, elle considère que le travail est terminé. L'utilisation des résultats n'est pas considérée comme importante, l'accent étant mis sur la vérification des exigences.

 

Il est dangereux de se contenter d'effectuer une analyse des vulnérabilités ou des tests d'intrusion avec une sorte d'"approche par cases à cocher". Le fait est que, dans de nombreux cas, les environnements sont généralement les mêmes l'année suivante et que les mêmes vulnérabilités et erreurs de configuration existent toujours. Les mêmes tests sont effectués et révèlent les mêmes vulnérabilités, ce qui signifie que le niveau de maturité augmente de 0 %. Comme dans l'exemple de l'application web ci-dessus, si l'entreprise s'était contentée d'effectuer les tests sans agir sur les résultats, cela aurait pu mal se terminer.

 

Une meilleure communication et une meilleure compréhension des tests et des résultats pourraient résoudre ce problème. La sécurité n'est pas facile à comprendre, c'est pourquoi il est d'autant plus important de s'assurer que les rapports sont correctement examinés et de se faire aider pour en clarifier le contenu. Si vous ne comprenez pas la signification des résultats, il est difficile de prendre des mesures.

 

Le risque de ne pas effectuer d'analyse de vulnérabilité ou de test d'intrusion

 

Si vous n'avez pas une vision claire de la sécurité dans vos différents systèmes, vous ne savez pas non plus quelles sont les vulnérabilités existantes et jusqu'où une personne extérieure peut pénétrer dans les systèmes. Tant que cette image n'est pas claire, vous risquez toujours d'être exposé à des infractions. Cela peut entraîner des pertes extrêmement coûteuses pour votre entreprise. Non seulement en termes d'argent, mais aussi en termes de réputation et de travail pour réparer les dégâts. Oserez-vous vraiment prendre ce risque ?

 

Pour résumer

 

Pour simplifier, on peut considérer l'analyse de la vulnérabilité comme le premier niveau et les tests de pénétration comme le suivant. L'analyse est le précurseur des tests d'intrusion, sans l'aspect humain. Il sert de base et met en évidence les vulnérabilités connues existantes. Après le travail de base, il faut aller plus loin pour comprendre comment les développeurs et l'administration configurent les systèmes, voient les connexions et s'assurent qu'il n'y a pas de portes cachées.

 

Si votre travail de sécurité est aujourd'hui déficient et que vous ne contrôlez pas ce que vous exposez à l'internet, vous courez un risque plus élevé que des personnes ayant l'intention de prendre le contrôle de votre infrastructure ou de s'emparer de vos données obtiennent un accès non autorisé. Il est donc important d'effectuer des tests en permanence et d'agir en fonction des résultats de ces tests. Ne considérez plus cela comme une exigence à mettre en œuvre, mais comme un effort à long terme en vue d'un système et d'un environnement plus sûrs.

 

Comme nous l'avons dit, nous savons qu'il peut être difficile de tout maîtriser en matière de sécurité informatique. C'est pourquoi nous avons mis en place un webinar focusing on application security where we will delve into key areas such as how to bring security into the development process, what the most common attacks are and when to choose open source. Inscrivez vous en cliquant sur l'image ci-dessous.