Mis à jour le 01/10/2018
  • 8 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

Ce cours est en vidéo.

Vous pouvez obtenir un certificat de réussite à l'issue de ce cours.

J'ai tout compris !

Proposez et inventoriez les mesures correctives

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Évaluez les risques

Vous savez maintenant comment réaliser un test d'intrusion. Votre objectif à présent est d'apprendre à présenter le résultat de votre travail. Vous allez donc mettre en forme et proposer des solutions pour la correction des vulnérabilités trouvées.

Pour chaque vulnérabilité trouvée, le risque est évalué. Ce n’est pas systématique, mais dans les rapports de test d’intrusion très complet de l'évaluation du risque découle la classification des trois axes suivants :

  • la sévérité,

  • la complexité,

  • et la priorité.

Voyons cela ensemble et commençons par la sévérité !

La sévérité

Dans le domaine de la sécurité informatique, le système d'évaluation standardisé de la criticité des vulnérabilités - ou « Common Vulnerability Scoring System » (CVSS) - se base sur des critères objectifs et mesurables. Cette évaluation est constituée de 3 mesures appelées métriques :

  • la métrique de base,

  • la métrique temporelle

  • la métrique environnementale.

 

La complexité de la correction

Pour chaque vulnérabilité identifiée, vous devez proposer une solution corrective et estimer le niveau de difficulté de correction.

  • Complexe : La correction de la vulnérabilité identifiée nécessite une modification importante dans l’organisation ou le code d’une application. Elle est donc très coûteuse en investissement ou en ressources.

  • Modérée : La correction de la vulnérabilité identifiée nécessite une modification limitée dans l’organisation ou le code d’une application. Elle est donc moyennement coûteuse en investissement ou en ressources.

  • Facile : La correction de la vulnérabilité identifiée nécessite une simple modification (par exemple : un fichier de configuration, changement de mot de passe). Elle est donc peu coûteuse en investissement ou en ressources.

Un exemple tout simple serait que l'administrateur système a laissé les mots de passe par défaut après l'installation d'une application. La complexité de la correction est « facile » puisqu'il suffit de changer le mot de passe pour sécuriser l'application.

Un autre exemple serait qu’une entreprise utilise toujours Windows Server 2003 pour faire fonctionner son réseau. Ce système d'exploitation n'étant plus supporté par Microsoft, il faut en changer. La complexité de la correction serait là « complexe » puisqu'elle nécessite le changement du serveur et la migration vers une version plus récente de Windows Server.

La priorité de la correction

Partant du constat des 2 axes précédents (sévérité et complexité), vous pouvez conseiller sur la priorisation de l’application des solutions correctives du système d’information.

Priorité 1

Urgent

La correction de la vulnérabilité doit être faite dans les plus brefs délais.

Priorité 2

Standard

La correction de la vulnérabilité peut suivre le processus habituel de traitement.

Priorité 3

Bas

La correction de la vulnérabilité n’est pas urgente et reste à la convenance de vos équipes informatiques.

Il faut donc retrouver ces trois dimensions pour chaque vulnérabilité dans le rapport de test d'intrusion.

Si nous reprenons l’exemple précédent, où l'administrateur système a laissé les mots de passe par défaut après l'installation d'une application. Nous avons vu que la complexité de la correction est « facile ». Sachant que nous parlons d’un compte administrateur, il a des droits étendus. La sévérité est donc « intolérable ». Tout logiquement, la préconisation du pentesteur ce sera une « priorité 1 » : « Urgent » pour l’application de la correction.

Les solutions correctives

Chaque vulnérabilité connue est référencée dans la base de données CVE, qui signifie Common Vulnerabilities and Exposures). Les détails de chaque vulnérabilité sont disponibles gratuitement sur le site CVEDetails.

Chaque vulnérabilité est présentée dans un tableau, qui présente le détail des systèmes touchés et la façon dont on peut l’exploiter.

Exemple de vulnérabilité
Exemple de vulnérabilité

An issue was discovered in certain Apple products. iOS before 11.3 is affected. macOS before 10.13.4 is affected. iCloud before 7.4 on Windows is affected. iTunes before 12.7.4 on Windows is affected. tvOS before 11.3 is affected. watchOS before 4.3 is affected. The issue involves the "Security" component. A buffer overflow allows attackers to execute arbitrary code in a privileged context via a crafted app.

Pour chaque vulnérabilité, vous avez donc un tableau avec :

CVE ID et CWE ID

C'est le code unique donné à chaque vulnérabilité découverte dans le monde informatique.

Vulnerability Type(s)

Dans cette colonne du tableau, nous avons l'information sur le type d'exploitation de la vulnérabilité. Cela peut être une exécution de code arbitraire, une exécution de code SQL, une attaque XSS, une attaque DoS, une attaque de type overflow, etc.

Date

Nous avons également l'information sur la date où la vulnérabilité a été rendue publique et la date de mise à jour.

Score

C'est le système d'évaluation dont je vous parlais tout à l'heure, avec une note CVSS qui est donnée pour évaluer la sévérité de la vulnérabilité.

Gained Access Level

Ce champ indique s'il est possible d'obtenir des accès grâce à cette vulnérabilité. Cela peut-être des accès système, utilisateur, ou administrateur.

Access

Dans cette colonne, nous avons une précision sur le type d'accès qui peut être local ou distant.

Complexity

Ici, c'est la complexité et donc la technicité qu'il est nécessaire de mettre en œuvre pour exploiter cette vulnérabilité.

Conf. + Integ. + Avail

Ces champs indiquent le niveau d’impact sur la confidentialité, l'intégrité et la disponibilité.

Prenons un autre exemple : la faille la plus utilisée en 2017 CVE-2017-0143 aussi connue sous le nom de EternalBlue.

C’est un exploit développé par la NSA. Il est révélé et publié par le groupe de hackers « The Shadow Brokers ». Cet exploit utilise une faille de sécurité présente dans la première version du protocole SMB (SMBv1). Bien que cette faille de sécurité ait déjà été résolue par Microsoft, de nombreux utilisateurs de Windows n'avaient toujours pas installé ce correctif de sécurité lorsque. Le célèbre rançongiciel « WannaCry » utilise cette faille de sécurité pour se propager.

Voilà le tableau des détails de cette faille :

 The SMBv1 server in Microsoft Windows Vista SP2; Windows Server 2008 SP2 and R2 SP1; Windows 7 SP1; Windows 8.1; Windows Server 2012 Gold and R2; Windows RT 8.1; and Windows 10 Gold, 1511, and 1607; and Windows Server 2016 allows remote attackers to execute arbitrary code via crafted packets, aka "Windows SMB Remote Code Execution Vulnerability." This vulnerability is different from those described in CVE-2017-0144, CVE-2017-0145, CVE-2017-0146, and CVE-2017-0148.

Sur le résultat du scan de vulnérabilité de Nessus, il est indiqué les références CVE correspondantes aux vulnérabilités trouvées. Il est donc possible d'aller se documenter pour avoir les détails.

Par exemple, voici le lien pour avoir des précisions sur la vulnérabilité CVE-2018-4144 touchant le système iOS.

Le re-test et la réglementation

À la suite du rapport de test d'intrusion, un plan d'action est déterminé pour corriger les vulnérabilités éventuelles. Pour s'assurer que le système est totalement protégé après la correction, il est conseillé de faire un deuxième test de vulnérabilité que l’on appelle couramment un « re-test ». En général plus rapide, il vérifie uniquement les points qui ont été notés « à corriger » dans le premier test.

En règle générale et selon les recommandations, pour s'assurer que votre système est sécurisé, il faut prévoir de faire un test d'intrusion ou un audit de sécurité de manière annuelle.

Les scans de vulnérabilité et les tests d'intrusion sont également des composants essentiels de la norme ISO 27001. Cela s'intègre parfaitement dans la logique de contrôle initial et de développement continu de la sécurité des systèmes d'information ISMS « Information Security Management System ».

Pour aller plus loin sur l'évaluation des risques, cliquez ici.

Pour aller plus loin sur la matrice des risques, cliquez ici.

Prenons un exemple concret

Pour que ce soit plus parlant, nous allons imaginer dans ce dernier point du chapitre, un exemple concret de rapport de test d'intrusion.

Prenons tout d'abord un exemple qui vient du site offensive-security. Le scénario est le suivant : l'entreprise MegaCorp One est soucieuse qu'un pirate puisse s'introduire à partir de l'Internet dans son système. Elle contacte donc l'entreprise Offensive-Security, experte en cybersécurité. Un test d’intrusion externe en boîte noire est préconisé.

Voilà le déroulement du test :

Le pentesteur a effectué une reconnaissance du réseau MegaCoprOne. Il a découvert que le serveur DNS était mal configuré et qu’il autorisait un transfert de la zone DNS. Ceci a permis de fournir la liste des hôtes spécifiques utilisées. L’étude de cette liste a également permis de trouver une interface administrateur du serveur Web protégée par un mot de passe. Après avoir créé une liste de mots reprenant les termes du site Internet de MegaCorp One, il a été possible de casser le mot de passe par brute-force et d’obtenir l’accès sur cette interface. L’examen de l’interface administrateur a révélé qu’elle était vulnérable à une injection de code à distance, ce qui a été utilisé pour obtenir l’accès à l’interface via des couches plus basses du système.

Cette attaque initiale a donnée un accès administrateur à cause d’un défaut de mise à jour du serveur Web. Après un examen plus approfondi, il a été découvert que le serveur Web compromis utilisait une application Java pour les utilisateurs administrateurs. Après ajout d’un plug-in malveillant à cette application, il a été possible d’obtenir l’accès aux postes de travail utilisés par les administrateurs de MegaCorp One.

En utilisant le serveur Web compromis ainsi que les mots de passe récupérés, il a été possible de cibler des ressources internes auparavant inaccessibles. Cela a ensuite permis d’accéder à de nombreuses fenêtres internes d'hôtes avec l’accès administrateur local, à la compromission complète d'un serveur Citrix, et au contrôle administrateur complet de l'infrastructure Windows Active Directory. Les contrôles de trafic réseau existants ont été contournés grâce à l'encapsulation de trafic malveillant dans des protocoles autorisés.

Je vous invite à lire l'intégralité du rapport de ce test d'intrusion ici (en anglais).

En résumé

  • Dans un rapport de test d'intrusion, il doit apparaître la liste des vulnérabilités trouvées, la façon dont on peut les exploiter, et une solution de correction.

  • Une vulnérabilité peut-être classée selon deux axes : la sévérité et la complexité. Ceci permet ensuite de définir la priorité de la correction.

  • Après la correction des vulnérabilités, un  re-test ou un deuxième test d'intrusion complet est conseillé pour s'assurer de la réussite de la correction.

  • Le test d’intrusion peut parfois être nécessaire à l’obtention de certaines normes comme PCI DSS ou ISO27001.b

Exemple de certificat de réussite
Exemple de certificat de réussite