Pen Test (test de pénétration testing)
Le pen testing, également appelé pen test ou piratage éthique, est la pratique consistant à tester un système informatique, un réseau ou une application web pour trouver les vulnérabilités de sécurité qu’un attaquant pourrait exploiter. Les tests de pénétration peuvent être automatisés à l’aide d’applications logicielles ou effectués manuellement. Dans les deux cas, le processus consiste à recueillir des informations sur la cible avant le test, à identifier les points d’entrée possibles, à tenter de s’introduire – virtuellement ou réellement – et à rendre compte des résultats.
L’objectif principal des tests de pénétration est d’identifier les faiblesses en matière de sécurité. Le test de pénétration testing peut également être utilisé pour tester la politique de sécurité d’une organisation, son respect des exigences de conformité, la sensibilisation de ses employés à la sécurité et la capacité de l’organisation à identifier et à répondre aux incidents de sécurité.
Généralement, les informations sur les faiblesses de sécurité qui sont identifiées ou exploitées par le pen test sont regroupées et fournies aux responsables des systèmes informatiques et des réseaux de l’organisation, ce qui leur permet de prendre des décisions stratégiques et de hiérarchiser les mesures correctives.
Les tests de pénétration sont aussi parfois appelés « attaques en chapeau blanc » parce que dans un pen test, les gentils essaient de s’introduire.
Objectif des tests de pénétration
Le but premier d’un pen test est d’identifier les points faibles de la posture de sécurité d’une organisation, ainsi que de mesurer la conformité de sa politique de sécurité, de tester la sensibilisation du personnel aux questions de sécurité et de déterminer si – et comment – l’organisation serait sujette à des catastrophes en matière de sécurité.
Un « penetration testing » peut également mettre en évidence les faiblesses des politiques de sécurité d’une entreprise. Par exemple, bien qu’une politique de sécurité se concentre sur la prévention et la détection d’une attaque sur les systèmes d’une entreprise, cette politique peut ne pas inclure un processus d’expulsion d’un hacker.
Responsabilités des pen test
Les responsabilités en matière de penetration testing varient en fonction des différentes combinaisons de systèmes cloud et sur site.
Les rapports générés par un test de pénétration fournissent le retour d’information nécessaire à une organisation pour hiérarchiser les investissements qu’elle prévoit de faire dans sa sécurité. Ces rapports peuvent également aider les développeurs d’applications à créer des applications plus sûres. Si les développeurs comprennent comment les pirates se sont introduits dans les applications qu’ils ont contribué à développer, l’intention est de les motiver à améliorer leur formation en matière de sécurité afin qu’ils ne commettent pas les mêmes erreurs ou des erreurs similaires à l’avenir.
À quelle fréquence devez-vous effectuer des penetration testing
Les organisations devraient effectuer des pen tests régulièrement – idéalement, une fois par an – afin de garantir une sécurité du réseau et une gestion informatique plus cohérentes. En plus des analyses et évaluations prévues par la réglementation, des tests de pénétration peuvent être effectués chaque fois qu’une organisation le souhaite :
- ajoute une nouvelle infrastructure de réseau ou de nouvelles applications ;
- apporte des mises à niveau ou des modifications importantes à ses applications ou à son infrastructure ;
- établit des bureaux dans de nouveaux endroits ;
- applique des correctifs de sécurité ; ou
- modifie les politiques relatives aux utilisateurs finaux.
Cependant, comme le « penetration testing » n’est pas une solution universelle, le moment où une entreprise doit se lancer dans le « pen test » dépend également de plusieurs autres facteurs, notamment :
- La taille de l’entreprise. Les entreprises ayant une plus grande présence en ligne ont plus de vecteurs d’attaque et sont donc des cibles plus attrayantes pour les pirates.
- Les tests de pénétration peuvent être coûteux, de sorte qu’une entreprise disposant d’un budget plus modeste pourrait ne pas être en mesure de les réaliser chaque année. Une entreprise disposant d’un budget plus modeste peut ne pouvoir effectuer un test de pénétration qu’une fois tous les deux ans, tandis qu’une entreprise disposant d’un budget plus important peut effectuer un test de pénétration une fois par an.
- Réglementation et conformité. Les organisations de certains secteurs sont tenues par la loi d’effectuer certaines tâches de sécurité, y compris les tests au stylo.
- Une entreprise dont l’infrastructure est dans le Cloud pourrait ne pas être autorisée à tester l’infrastructure du fournisseur de services dans le Cloud. Cependant, le fournisseur peut effectuer lui-même des pen tests.
Les efforts de penetration testing doivent être adaptés à l’organisation individuelle ainsi qu’au secteur dans lequel elle opère et doivent inclure des tâches de suivi et d’évaluation afin que les vulnérabilités trouvées dans le dernier pen test soient notées dans les tests suivants.
Outils de test de pénétration testing
Les testeurs utilisent souvent des outils automatisés pour découvrir les vulnérabilités des applications standard. Les outils de pénétration analysent le code afin d’identifier les codes malveillants dans les applications qui pourraient entraîner une faille de sécurité. Les outils de pen test examinent les techniques de cryptage des données et peuvent identifier des valeurs codées en dur, telles que les noms d’utilisateur et les mots de passe, afin de vérifier les vulnérabilités de sécurité du système.
Les outils de pénétration testing devraient :
- être faciles à déployer, à configurer et à utiliser ;
- pouvoir analyser facilement un système ;
- classer les vulnérabilités en fonction de leur gravité, c’est-à-dire celles qui doivent être corrigées immédiatement ;
- être capables d’automatiser la vérification des vulnérabilités ;
- revérifier les exploits précédents ; et
- générer des rapports et des journaux de vulnérabilité détaillés.
La plupart des outils de penetration testing les plus populaires sont des logiciels libres ou open source, ce qui permet aux pen-testers de modifier ou d’adapter le code à leurs propres besoins. Parmi les outils de pen test gratuits ou open source les plus répandus, on peut citer :
- Le projet Metasploit est un projet à source ouverte appartenant à la société de sécurité Rapid7, qui accorde des licences pour des versions complètes du logiciel Metasploit. Il rassemble des outils de penetration testing populaires qui peuvent être utilisés sur des serveurs, des applications en ligne et des réseaux. Metasploit peut être utilisé pour découvrir des problèmes de sécurité, pour vérifier l’atténuation des vulnérabilités et pour gérer les processus de sécurité.
- Nmap, abréviation de « network mapper », est un scanner de ports qui analyse les systèmes et les réseaux à la recherche de vulnérabilités liées aux ports ouverts. Nmap est dirigé vers l’adresse ou les adresses IP sur lesquelles se trouve le système ou le réseau à scanner, puis teste ces systèmes pour détecter les ports ouverts ; en outre, Nmap peut être utilisé pour surveiller le temps de fonctionnement des hôtes ou des services et pour cartographier les surfaces d’attaque des réseaux.
- Wireshark est un outil de profilage du trafic réseau et d’analyse des paquets réseau. Wireshark permet aux organisations de voir les plus petits détails des activités qui se déroulent dans leurs réseaux. Cet outil de pénétration est un analyseur de réseau/renifleur de réseau/analyseur de protocole réseau qui évalue les vulnérabilités du trafic réseau en temps réel.
- Wireshark est souvent utilisé pour examiner les détails du trafic réseau à différents niveaux.
John the Ripper intègre différents craqueurs de mots de passe dans un seul et même logiciel, identifie automatiquement les différents types de hachage de mots de passe et détermine un craqueur personnalisable. Les testeurs de mots de passe utilisent généralement cet outil pour lancer des attaques afin de trouver les faiblesses des mots de passe dans les systèmes ou les bases de données.
Les testeurs de pénétration utilisent un grand nombre d’outils identiques à ceux utilisés par les pirates black hat, en partie parce que ces outils sont bien documentés et largement disponibles, mais aussi parce que cela aide les testeurs de stylo à mieux comprendre comment ces outils peuvent être utilisés contre leurs organisations.
Stratégies de penetration testing
Un aspect important de tout programme de penetration testing est la définition du champ d’action des pen tests. Habituellement, le champ d’application définit les systèmes, les emplacements, les techniques et les outils qui peuvent être utilisés dans un test de pénétration. Limiter la portée du test de pénétration aide à concentrer les membres de l’équipe – et les défenseurs – sur les systèmes sur lesquels l’organisation a le contrôle.
Par exemple, si les testeurs de pénétration accèdent à un système parce qu’un employé a laissé un mot de passe à la vue de tous, cela révèle de mauvaises pratiques de sécurité de la part de l’employé ; cela ne donne à l’équipe de pen test aucune idée de la sécurité de l’application qui a été compromise.
Voici plusieurs des principales stratégies de pen test utilisées par les professionnels de la sécurité :
Les tests ciblés sont effectués par l’équipe informatique de l’organisation et l’équipe chargée des tests de pénétration testing qui travaillent ensemble. On parle parfois d’une approche « lumières allumées » car tout le monde peut voir le test effectué.
Les tests externes ciblent les serveurs ou les dispositifs visibles de l’extérieur d’une entreprise, notamment les serveurs de noms de domaine, les serveurs de courrier électronique, les serveurs web ou les pare-feu. L’objectif est de déterminer si un attaquant extérieur peut s’introduire et jusqu’où il peut s’introduire une fois qu’il a obtenu l’accès.
Les tests internes imitent une attaque intérieure derrière le pare-feu par un utilisateur autorisé ayant des privilèges d’accès standard. Ce type de test est utile pour estimer l’ampleur des dommages qu’un employé mécontent pourrait causer.
Les tests en aveugle simulent les actions et les procédures d’un attaquant réel en limitant fortement les informations données à la personne ou à l’équipe qui effectue le test au préalable. En règle générale, les testeurs au stylo ne peuvent recevoir que le nom de l’entreprise. Comme ce type de test peut nécessiter un temps de reconnaissance considérable, il peut être coûteux.
Le test en double aveugle permet d’aller plus loin. Dans ce type de pen test, seules une ou deux personnes au sein de l’organisation peuvent être informées de la réalisation d’un test. Les tests en double aveugle peuvent être utiles pour tester la surveillance de la sécurité et l’identification des incidents d’une organisation ainsi que ses procédures de réponse.
Le test de la boîte noire est essentiellement le même que le test en aveugle, mais le testeur ne reçoit aucune information avant que le test ait lieu. Les testeurs doivent plutôt trouver leur propre chemin dans le système.
Le test de la boîte blanche fournit aux testeurs de pénétration des informations sur le réseau cible avant qu’ils ne commencent leur travail. Ces informations peuvent comprendre des détails tels que les adresses IP, les schémas de l’infrastructure du réseau et les protocoles utilisés, ainsi que le code source.
Le pen test en tant que service (PTaaS) fournit aux professionnels des technologies de l’information (TI) les ressources dont ils ont besoin pour mener des tests de pénétration ponctuels et continus et pour agir en conséquence.
L’utilisation de différentes stratégies de pen test permet aux équipes de pen test de se concentrer sur les systèmes souhaités et de mieux comprendre les types d’attaques les plus menaçantes.