Vous n’attendez pas d’avoir mal aux dents pour aller chez le dentiste ? Pour votre infrastructure IT, le réflexe est identique. Mieux vaut dresser régulièrement l’état de santé générale du système d’information pour ne pas laisser les vulnérabilités affecter votre activité !
Selon le Rapport sur la cybercriminalité de McAfee et du CSIS, le coût mondial des atteintes à la cybersécurité atteindra 6 000 milliards de dollars d’ici 2021. Et ces vulnérabilités ouvrent la voie à des menaces variées : attaque par déni de service, vol de données clients, vol de propriété intellectuelle. Le fléau est bien réel. Une situation d’autant plus incompréhensible que selon l’institut Gartner, 99 % des vulnérabilités exploitées étaient connues des professionnels de la sécurité/informatiques depuis au moins un an ! Car les vulnérabilités se nichent absolument partout : systèmes d’exploitation, machines virtuelles, applications métiers, protocoles de transports de données, le risque est omniprésent ! Dans ce contexte, la politique de l’autruche est un non-sens et mieux vaut mettre régulièrement votre infrastructure IT à l’épreuve afin d’en détecter les faiblesses éventuelles et prévenir, plutôt que guérir. Pour cela, vous pourrez effectuer des tests de vulnérabilités qui mettront en lumière les lacunes de votre système d’information. Mais attention, pour réussir un tel test, il faut agir avec méthode…
Vulnérabilités : bien chercher pour bien trouver
Qu’elle se loge dans un code de mauvaise qualité au sein d’une application, ou dans un algorithme de chiffrement, une vulnérabilité n’est rien moins qu’une brèche. Le principe d’un test de vulnérabilité consiste à utiliser un script de détection qui exploite une base de données internationale de l’ensemble des vulnérabilités identifiées à date. A chaque fois qu’une nouvelle faille est détectée, elle est référencée par le MITRE qui lui attribue un identifiant CVE pour Common Vulnerabilities and Exposures. La qualité du script de détection, compte pour beaucoup dans la fiabilité du test.
Un protocole précis
Tous les tests de vulnérabilité débutent par une première phase d’exploration qui permet en quelque sorte de cartographier les arcanes du systèmes d’information. Cet audit préliminaire permet d’identifier les machines utilisées, les systèmes d’exploitation qui coexistent sur l’infrastructure, les applications métiers ou encore les usages des utilisateurs. Une fois cette formalité accomplie des routines de base appelées scans externes sont lancées. Elles ciblent les ports de communication ouverts et les services qui s’y rattachent. La troisième phase du test de vulnérabilité porte, en règle générale, sur une analyse complète du site internet de l’entreprise. Une phase qui consiste principalement à appliquer des tests de détection sur les vulnérabilités fréquentes comme le SQL Injection par exemple. Certains prestataires assurant des tests de vulnérabilités pour le compte d’entreprises, complètent l’opération en effectuant une analyse comportementale qui permet parfois d’identifier des faux positifs qui ne sont finalement pas si rares (environ 5% des vulnérabilités détectées).
Les limites à ne pas franchir…
Une infrastructure IT, c’est une peu comme un organisme vivant. Les évolutions, les mutations, les changements sont permanents. Tester la vulnérabilité est donc une tâche itérative qui doit être répétée plusieurs fois par an (une fois par mois est une fréquence appropriée). Pour autant, la dépendance croissante des entreprises par rapport à leur système d’information, conduit à prendre certaines précautions. Les analyses doivent par conséquent se dérouler en perturbant le moins possible les flux de production. Il est donc préférable de les exécuter sur les tranches horaires adaptées (HNO, hors fenêtre de back-up, etc.). Les tests peuvent également être menés de manière ciblée. Dans ce cas, il s’agira de définir le nombre d’actif à scanner simultanément.
Prendre les bonnes décisions
A l’issue d’un test de vulnérabilité, les défaillances détectées sont scorées en fonction de leur criticité. Il devient alors très simple de visualiser l’état de santé générale du système d’information et de décider des corrections à apporter en priorité !