Vulnérabilités et défense en profondeur
La défense d’un cyberespace commence par la connaissance de ses vulnérabilités. Nous verrons ce qui se cache derrière ce terme puis nous verrons les fondements d'un système de protection des ressources.
Définitions
Les vulnérabilités sont des failles exploitables par des menaces, généralement techniques ou humaines (elles ont parfois une cause naturelle ; par exemple, la proximité d'un cours d'eau dont les crues sont dévastatrices).
Ainsi toute ressource est exposée à de nombreuses vulnérabilités.
Une exposition est une erreur dans le système de protection.
Un exploit est l’exploitation d’une vulnérabilité. Lorsqu’il n’avait jamais été tenté auparavant, il est dit « zero-day » et les équipes de sécurité doivent désormais l’intégrer dans la gestion des vulnérabilités. En effet, il y a zéro jour corriger un exploit inédit.
Exemples de vulnérabilités
- Logiciels et systèmes d’exploitation non mis à jour
- Erreurs de programmation permettant des accès non autorisés
- Vulnérabilité aux attaques par injection, c’est-à-dire à l’insertion d’un code malveillant (SQL ou visant l’exécution de commandes sur le serveur). Les formulaires de connexion des sites web sont un vecteur d’attaque par injection.
- Mots de passe faibles
- Vulnérabilité aux techniques d’ingénierie sociale
- Réseaux non sécurisés
- Absence de chiffrement
- Vulnérabilité aux malwares
- Configurations par défaut
- Permissions d’accès trop larges
- API non sécurisées
- Journalisation et surveillance insuffisantes
- Informations personnelles non chiffrées
- Contrôles de sécurité manquants lors de la conception d’une application
- Développement d’applications à partir de bibliothèques open source alors qu’elles pourraient être entièrement codées en interne
- Etc.
Des vulnérabilités sont restées célèbres. Nous pensons à celles qui ont affecté les serveurs de Microsoft Exchange (ProxyLogon, ProxyShell), à ZeroLogon, faille du protocole Netlogon Remote Protocol (MS-NRPC) pour usurper l'identité de tout ordinateur, à Log4Shell qui permet à un cyberattaquant d'exécuter du code Java sur n'importe quel serveur, etc.
Examen interne
Quel est le processus d’évaluation des vulnérabilités ?
- D’abord leur identification. C’est un état des lieux du système de sécurité.
- Ensuite, l’étape d’analyse. L’équipe sécurité teste les vulnérabilités pour en connaître les causes.
- Puis c’est l’évaluation de la gravité et de la probabilité d’apparition des menaces afin de prioriser les actions de défense du cyberespace. Des notes de gravité peuvent être attribuées.
- Enfin, les défenses sont évaluées et les corrections apportées par les équipes sécurité et TI (technologie de l’information).
Ce processus ne s’arrête jamais en raison des progrès technologiques, des informations récoltées par l’activité de veille et de toutes les interactions techniques et humaines qui évoluent au sein de l’organisation.
Défense en profondeur
La gestion des vulnérabilités s’appuie sur la défense en profondeur.
Cette architecture robuste de défense s’inspire de celle des châteaux-forts. Une première défense se trouvait autour du château : soit des chemins escarpés, soit pour les châteaux de plaine des douves emplies d’eau. Si ce premier obstacle était franchi, les assaillants se heurtaient à de hauts murs épais, protégés par des archers situés dans les tours et les échauguettes. S’ils parvenaient en haut des murs, ils étaient accueillis quelque peu brutalement par les défenseurs qui les attendaient sur le chemin de ronde.
La première défense est sans doute la sensibilisation des employés aux bonnes pratiques de cybersécurité, quitte à mettre en œuvre des tests de vigilance au phishing pour s’assurer de la vigilance de chacun.
La sécurité physique concerne l’accès aux locaux, les caméras de surveillance, les alarmes…
La couche périmétrique est celle des autorisations et des mots de passe.
La sécurité du réseau interne comprend les pare-feux, les systèmes de détection et de prévention des incidents (IDS et IPS) et la segmentation.
La couche endpoint vise à sécuriser les terminaux. Elle s’appuie sur les antivirus, le chiffrement et les mises à jour.
Ensuite, la sécurité des applications consiste à imaginer les menaces qui peuvent les affecter dès leur conception puis durant toute leur existence.
Enfin, les données doivent être sécurisées en transit comme au repos, sauvegardées et leur accès limité.
Compte tenu de l’explosion du nombre de failles, il devient de plus en plus indispensable de remplacer leur recherche manuelle par un traitement automatique. Les scanners de vulnérabilité sont des logiciels qui inspectent les cinq dernières couches pour les comparer à une base de données d’expositions qui s’enrichit au fil des analyses.
Certains sont open source :
https://leclubcyber.com/les-scanners-de-vulnerabilites-open-source/
Base de vulnérabilités :
Corrections
Les mises à jour n’ont pas pour unique but d’améliorer les fonctionnalités d’un logiciel. Elles intègrent des corrections de vulnérabilité. L’opération est soit manuelle soit automatique. On privilégie souvent les mises à jour automatiques, quitte à accepter une perte de contrôle et peut-être des bugs qui auraient pu être évités. Quant aux logiciels qui ne sont plus mis à jour, il est plus prudent de les remplacer.
Savoir se glisser dans la peau d’un cybercriminel est une compétence essentielle. Après avoir découvert une vulnérabilité, il faut imaginer le scénario d’une attaque pour intégrer la parade dans le plan de sécurité. Deux équipes, l’une en attaque et l’autre en défense, peuvent participer à un exercice de cyberattaque.