Attack Surface Management (ASM) : identification et surveillance de la surface d'attaque en cybersécurité

L'Attack Surface Management, généralement abrégé en ASM, désigne l'ensemble des méthodes et des outils permettant d'identifier, d'inventorier, d'analyser, de surveiller et de réduire les points d'exposition d'un système informatique. Son objectif est de connaître les ressources susceptibles d'être ciblées par des attaquants afin de limiter les risques de compromission. L'ASM s'applique aux serveurs, applications Web, API, équipements réseau, services Cloud, noms de domaine et autres ressources numériques d'une organisation.

1. À propos de l'Attack Surface Management (ASM)

Définition de l'Attack Surface Management

L'Attack Surface Management est une démarche de cybersécurité consistant à recenser et à surveiller les ressources pouvant constituer des points d'entrée ou d'interaction avec un système informatique.

Elle permet aux organisations de mieux comprendre leur exposition aux menaces et de prendre des mesures pour réduire les risques.

Qu'est-ce qu'une surface d'attaque ?

La surface d'attaque, ou Attack Surface, correspond à l'ensemble des points par lesquels un attaquant pourrait tenter d'interagir avec un système, d'exploiter une vulnérabilité ou d'obtenir un accès non autorisé.

Elle peut comprendre des éléments matériels, logiciels, réseau, humains et organisationnels.

Exemple simple

Supposons qu'une entreprise possède un site Web, un serveur de messagerie, une application mobile et plusieurs équipements réseau.

Ces éléments constituent une partie de sa surface d'attaque.

Si un ancien serveur de test reste accessible sur Internet alors qu'il n'est plus utilisé, il peut représenter une exposition inutile.

L'ASM permet d'identifier ce serveur, d'évaluer le risque associé et de décider s'il doit être supprimé, isolé ou sécurisé.

Pourquoi l'ASM est-il important ?

Les infrastructures informatiques évoluent continuellement.

De nouveaux services sont déployés, des applications sont mises à jour et des ressources Cloud sont créées ou supprimées.

Ces changements peuvent introduire des expositions qui ne figurent pas dans les inventaires existants.

L'ASM vise à maintenir une vision actualisée de ces ressources.

Les objectifs de l'ASM

  • Identifier les actifs numériques de l'organisation.
  • Découvrir les ressources inconnues ou oubliées.
  • Repérer les services inutilement exposés.
  • Détecter les changements de configuration.
  • Identifier les vulnérabilités et les mauvaises configurations.
  • Prioriser les risques selon leur importance.
  • Réduire les points d'exposition inutiles.
  • Assurer une surveillance continue.

ASM et gestion des vulnérabilités

L'ASM cherche à identifier et à surveiller les ressources exposées.

La Vulnerability Management, ou gestion des vulnérabilités, vise à détecter, évaluer, prioriser et corriger les faiblesses techniques.

Les deux démarches sont complémentaires.

ASM et pentesting

Le pentesting consiste à réaliser des tests d'intrusion autorisés afin d'évaluer la sécurité d'un système.

L'ASM est généralement une démarche continue, tandis qu'un test d'intrusion est souvent réalisé dans un périmètre et une période déterminés.

ASM et défense en profondeur

L'ASM contribue à la défense en profondeur en améliorant la visibilité sur les ressources et en facilitant la réduction des expositions inutiles.

2. Les différents types de surfaces d'attaque

La surface d'attaque d'une organisation peut être divisée en plusieurs catégories.

Surface d'attaque externe

L'External Attack Surface regroupe les ressources accessibles depuis des réseaux externes, notamment Internet.

Elle peut comprendre :

  • Les sites Web publics.
  • Les serveurs de messagerie.
  • Les API publiques.
  • Les services d'accès distant.
  • Les applications Cloud exposées.
  • Les adresses IP publiques.
  • Les sous-domaines.

Surface d'attaque interne

L'Internal Attack Surface comprend les ressources accessibles depuis le réseau interne de l'organisation.

Elle peut inclure les postes de travail, serveurs, bases de données, imprimantes réseau et services internes.

Surface d'attaque applicative

L'Application Attack Surface comprend les interfaces et fonctionnalités pouvant être utilisées pour interagir avec une application.

Elle peut comprendre les formulaires, les mécanismes d'authentification, les API et les fonctions de téléversement.

Surface d'attaque réseau

La Network Attack Surface comprend les interfaces réseau, ports, protocoles et services accessibles.

Un service inutilement accessible peut augmenter l'exposition d'un système.

Surface d'attaque Cloud

La Cloud Attack Surface comprend les ressources hébergées dans des environnements Cloud.

Elle peut inclure les machines virtuelles, espaces de stockage, identités, fonctions serverless et interfaces d'administration.

Surface d'attaque humaine

La Human Attack Surface concerne les risques liés aux interactions humaines.

Elle comprend notamment l'ingénierie sociale, le phishing, les erreurs de configuration et les mauvaises pratiques de gestion des accès.

Surface d'attaque physique

La Physical Attack Surface comprend les points d'accès physiques aux systèmes informatiques.

Elle peut inclure les salles serveurs, les postes de travail, les ports USB et les équipements non protégés.

Surface d'attaque des fournisseurs

La Third-Party Attack Surface comprend les dépendances et les connexions avec les fournisseurs, prestataires et partenaires.

Un fournisseur compromis peut, dans certaines circonstances, créer un risque pour les systèmes de l'organisation.

Surface d'attaque inconnue

Les Unknown Assets sont des ressources non répertoriées dans les inventaires officiels.

Ils peuvent résulter d'anciens projets, de déploiements temporaires ou d'initiatives non coordonnées.

Shadow IT

Le Shadow IT désigne l'utilisation de ressources ou de services informatiques sans validation ou supervision appropriée par les responsables concernés.

Il peut compliquer l'inventaire et la gestion des risques.

Tableau comparatif

Type de surfaceExemplesRisques possibles
ExterneSites Web, API, adresses IP publiques.Exposition à des attaques distantes.
InterneServeurs, postes de travail.Déplacements latéraux après compromission.
ApplicativeFormulaires, authentification, API.Exploitation de vulnérabilités applicatives.
RéseauPorts et services accessibles.Exposition de services non nécessaires.
CloudStockage, machines virtuelles, identités.Mauvaises configurations et accès excessifs.
HumaineUtilisateurs, administrateurs.Phishing et ingénierie sociale.
PhysiqueÉquipements et locaux.Accès ou manipulation non autorisés.
FournisseursPrestataires, partenaires, dépendances.Risques liés aux tiers.

3. Les étapes du processus Attack Surface Management

La gestion de la surface d'attaque repose sur un processus continu comprenant plusieurs étapes.

Étape 1 : définir le périmètre

La première étape consiste à déterminer les systèmes et ressources appartenant à l'organisation ou explicitement autorisés à être analysés.

Le périmètre peut comprendre les domaines, sous-domaines, adresses IP, applications et environnements Cloud.

Étape 2 : découvrir les actifs

La Asset Discovery consiste à rechercher les ressources numériques présentes dans le périmètre défini.

Cette étape peut utiliser des inventaires internes, des sources documentaires et des techniques de découverte autorisées.

Étape 3 : inventorier les ressources

Chaque actif identifié est ajouté à un inventaire.

L'inventaire peut contenir :

  • Le nom de l'actif.
  • Son adresse IP ou son domaine.
  • Son type.
  • Son propriétaire.
  • Son environnement.
  • Son niveau de criticité.
  • Son état d'exposition.
  • La date de dernière vérification.

Étape 4 : classifier les actifs

Les ressources sont classées selon leur rôle, leur importance et la sensibilité des informations qu'elles traitent.

Étape 5 : analyser l'exposition

L'organisation examine les services accessibles, les configurations, les mécanismes d'authentification et les autres caractéristiques pouvant augmenter les risques.

Étape 6 : identifier les vulnérabilités

Les faiblesses connues et les mauvaises configurations sont recherchées à l'aide de contrôles adaptés.

Les analyses actives doivent être réalisées uniquement sur des systèmes appartenant au périmètre autorisé.

Étape 7 : évaluer les risques

Chaque exposition est évaluée en tenant compte de plusieurs critères :

  • Criticité de l'actif.
  • Accessibilité depuis Internet.
  • Sensibilité des données.
  • Existence de vulnérabilités connues.
  • Facilité d'exploitation.
  • Impact potentiel.
  • Mesures de protection existantes.

Étape 8 : prioriser les corrections

Les risques les plus importants sont traités en priorité.

La priorisation doit tenir compte du contexte métier et ne pas reposer uniquement sur un score technique.

Étape 9 : réduire la surface d'attaque

Les ressources inutiles peuvent être supprimées, désactivées ou isolées.

Les services nécessaires doivent être correctement configurés et protégés.

Étape 10 : surveiller les changements

Une surveillance régulière permet de détecter les nouveaux actifs, les changements de configuration et les nouvelles expositions.

Étape 11 : documenter les résultats

Les découvertes, décisions et actions correctives sont enregistrées afin d'assurer le suivi.

Étape 12 : améliorer le processus

Les résultats des contrôles permettent d'améliorer les procédures d'inventaire, de déploiement et de gestion des risques.

4. Les techniques et les outils d'identification de la surface d'attaque

Plusieurs techniques permettent d'identifier les actifs et d'examiner leur exposition.

Asset Discovery

L'Asset Discovery consiste à découvrir les ressources informatiques appartenant au périmètre autorisé.

DNS Enumeration

La DNS Enumeration consiste à examiner les informations DNS disponibles afin d'identifier des domaines, sous-domaines et services associés.

Subdomain Discovery

La Subdomain Discovery consiste à identifier les sous-domaines associés à un domaine donné.

Port Scanning

Le Port Scanning permet de déterminer quels ports réseau sont accessibles sur un système.

Cette technique doit être utilisée dans un périmètre autorisé et avec des paramètres adaptés afin d'éviter toute perturbation.

Service Discovery

La Service Discovery consiste à identifier les services associés aux interfaces et ports accessibles.

Technology Fingerprinting

Le Technology Fingerprinting consiste à rechercher des indices sur les technologies utilisées par une application ou un serveur.

Cloud Asset Discovery

La Cloud Asset Discovery consiste à inventorier les ressources déployées dans les environnements Cloud.

Certificate Transparency

Les journaux de Certificate Transparency contiennent des informations publiques relatives à des certificats TLS.

Ils peuvent aider à identifier certains noms de domaines associés à une organisation.

OSINT

L'OSINT, ou Open Source Intelligence, consiste à collecter et analyser des informations provenant de sources ouvertes.

Dans le cadre de l'ASM, elle peut contribuer à découvrir des ressources publiquement référencées.

Attack Surface Monitoring

L'Attack Surface Monitoring consiste à suivre les changements de la surface d'attaque dans le temps.

Nmap

Nmap est un outil permettant notamment d'examiner les ports et services accessibles sur des systèmes autorisés.

Amass

OWASP Amass est un outil utilisé pour la découverte et la cartographie de ressources externes, notamment les domaines et sous-domaines.

Subfinder

Subfinder est un outil de découverte passive de sous-domaines.

Shodan

Shodan est un moteur de recherche spécialisé dans les équipements et services visibles sur Internet.

Censys

Censys fournit des données et des outils permettant d'analyser certaines ressources exposées sur Internet.

OWASP ZAP

OWASP ZAP permet d'analyser certains aspects de la sécurité des applications Web dans un cadre autorisé.

Greenbone/OpenVAS

Greenbone/OpenVAS est une solution d'analyse de vulnérabilités pouvant contribuer à la gestion des risques techniques.

CMDB

Une CMDB, ou Configuration Management Database, permet de conserver des informations structurées sur les composants et configurations d'un système d'information.

Tableau comparatif des outils

OutilFonction principaleUtilisation en ASM
NmapDécouverte réseau.Identifier les ports et services accessibles.
OWASP AmassDécouverte et cartographie d'actifs.Identifier des domaines et sous-domaines.
SubfinderDécouverte passive de sous-domaines.Compléter l'inventaire des domaines.
ShodanRecherche de services exposés.Examiner la visibilité externe.
CensysAnalyse de ressources Internet.Identifier des expositions publiques.
OWASP ZAPAnalyse de sécurité Web.Examiner certaines faiblesses applicatives.
Greenbone/OpenVASAnalyse de vulnérabilités.Détecter certaines vulnérabilités techniques.
CMDBGestion des configurations.Centraliser les informations sur les actifs.

5. La surveillance continue et la réduction de la surface d'attaque

L'Attack Surface Management ne se limite pas à un inventaire ponctuel.

Il nécessite une surveillance régulière des changements et une démarche continue de réduction des risques.

Continuous Attack Surface Monitoring

Le Continuous Attack Surface Monitoring consiste à suivre l'évolution des actifs et des expositions.

Cette surveillance peut être automatisée en partie.

Détection des nouveaux actifs

L'apparition d'un nouveau sous-domaine, serveur ou service doit pouvoir être identifiée et examinée.

Détection des actifs supprimés

La disparition d'un actif doit également être enregistrée afin de maintenir un inventaire fiable.

Détection des changements de configuration

Les modifications des services, des ports accessibles et des paramètres de sécurité peuvent augmenter ou réduire la surface d'attaque.

Détection des services inutiles

Un service qui n'est plus nécessaire doit être désactivé ou supprimé lorsque cela est possible.

Réduction des privilèges

Le principe du moindre privilège permet de limiter les permissions attribuées aux utilisateurs et aux services.

Segmentation réseau

La segmentation réseau permet de limiter les communications entre différents environnements.

Gestion des correctifs

Le Patch Management consiste à gérer les mises à jour destinées notamment à corriger les vulnérabilités connues.

Protection des interfaces d'administration

Les interfaces d'administration doivent être protégées et ne devraient pas être exposées inutilement à Internet.

Gestion des certificats TLS

Les certificats TLS doivent être inventoriés et renouvelés avant leur expiration.

Surveillance des sous-domaines

Les sous-domaines oubliés ou associés à des services abandonnés peuvent constituer des points d'exposition supplémentaires.

Gestion du Shadow IT

Les ressources déployées sans supervision doivent être identifiées et intégrées aux procédures de gestion des risques.

Gestion des fournisseurs

Les dépendances envers les prestataires et fournisseurs doivent être prises en compte dans l'évaluation des risques.

Indicateurs de performance ASM

Plusieurs indicateurs peuvent être utilisés pour mesurer l'efficacité du processus :

  • Nombre total d'actifs identifiés.
  • Nombre d'actifs exposés à Internet.
  • Nombre de services non nécessaires.
  • Nombre de nouvelles expositions détectées.
  • Nombre de vulnérabilités critiques.
  • Délai moyen de détection.
  • Délai moyen de correction.
  • Pourcentage d'actifs disposant d'un propriétaire identifié.

Exemple de réduction de la surface d'attaque

Supposons qu'une entreprise possède dix services accessibles depuis Internet.

Après analyse, quatre services sont considérés comme inutiles.

Leur suppression peut réduire le nombre de services exposés de dix à six.

Cette diminution ne signifie pas automatiquement que le risque global a diminué dans les mêmes proportions, car la criticité des services restants doit également être prise en compte.

6. Exemples pratiques d'Attack Surface Management avec Python

Python peut être utilisé pour automatiser certaines tâches d'Attack Surface Management, notamment l'inventaire, la comparaison des configurations et la génération de rapports.

Les exemples suivants utilisent principalement des données fictives ou des vérifications locales. Les tests actifs doivent être limités aux ressources dont l'analyse est autorisée.

Exemple 1 : créer un inventaire des actifs numériques

Le programme suivant crée une liste d'actifs et affiche leurs principales caractéristiques.

Output :

Exemple 2 : identifier les actifs exposés

Le programme suivant examine un inventaire fictif et affiche les actifs indiqués comme accessibles depuis Internet.

Output :

Exemple 3 : détecter de nouveaux actifs

Le programme suivant compare deux inventaires fictifs réalisés à des dates différentes et identifie les ressources nouvellement apparues.

Output :

Exemple 4 : détecter les actifs disparus

Le programme suivant compare deux inventaires et identifie les ressources présentes dans l'ancien inventaire mais absentes du nouveau.

Output :

Exemple 5 : détecter les changements de ports exposés

Le programme suivant compare deux listes fictives de ports accessibles et affiche les nouveaux ports détectés.

Output :

Exemple 6 : calculer un indicateur simple d'exposition

Le programme suivant calcule le pourcentage d'actifs déclarés comme exposés dans un inventaire fictif.

Output :

Cet indicateur mesure uniquement une proportion d'actifs déclarés exposés. Il ne constitue pas un score global de risque.

Exemple 7 : attribuer un score pédagogique de priorité

Le programme suivant calcule un score simplifié à partir de trois critères fictifs : exposition, criticité et vulnérabilité connue.

Output :

Ce score est uniquement illustratif. Il ne remplace pas une méthode formelle d'analyse des risques.

Exemple 8 : classifier les actifs selon leur criticité

Le programme suivant attribue une catégorie de criticité aux ressources d'un inventaire fictif.

Output :

Exemple 9 : vérifier la résolution DNS d'un domaine de test

Le programme suivant utilise le module standard socket pour rechercher les adresses IP associées à un domaine de démonstration.

Il réalise une requête DNS et ne procède pas à une analyse des ports.

Output possible :

Le nombre et les valeurs des adresses dépendent des réponses DNS et de l'environnement réseau.

Exemple 10 : vérifier la présence d'un port sur un serveur local

Le programme suivant tente d'établir une connexion TCP vers le port 80 de l'ordinateur local.

Il peut servir à vérifier si un service local est accessible sur ce port.

Output possible si aucun service n'écoute :

Le résultat dépend des services actifs sur l'ordinateur.

Exemple 11 : comparer deux configurations de sécurité

Le programme suivant identifie les paramètres ayant changé entre deux états fictifs d'un serveur.

Output :

Exemple 12 : identifier les services inutiles

Le programme suivant compare les services actifs d'un système fictif à la liste des services officiellement autorisés.

Output :

Exemple 13 : générer un rapport CSV des actifs

Le programme suivant utilise le module csv pour enregistrer un inventaire dans un fichier pouvant être ouvert avec Excel ou un autre tableur.

Output :

Exemple 14 : détecter les actifs sans propriétaire

Le programme suivant recherche les ressources qui ne possèdent pas de responsable identifié.

Output :

Exemple 15 : mini tableau de bord ASM

Le programme suivant calcule quelques indicateurs simples à partir d'un inventaire fictif.

Output :

Exemple 16 : mini surveillance des changements

Le programme suivant compare deux inventaires et affiche les ressources ajoutées ou supprimées.

Output :

Exemple de laboratoire pédagogique avec Kali Linux

Pour pratiquer l'ASM dans un environnement contrôlé, il est possible d'utiliser Kali Linux et une machine virtuelle de test.

Le laboratoire peut être organisé de la manière suivante :

  1. Créer une machine virtuelle Kali Linux.
  2. Créer une seconde machine virtuelle destinée aux tests.
  3. Placer les deux machines sur un réseau virtuel isolé.
  4. Définir les adresses IP des machines.
  5. Vérifier la connectivité réseau.
  6. Identifier les services volontairement exposés sur la machine de test.
  7. Enregistrer les résultats dans un inventaire.
  8. Modifier un service sur la machine de test.
  9. Effectuer une nouvelle vérification autorisée.
  10. Comparer les résultats avant et après la modification.

Ce laboratoire permet d'illustrer la découverte d'actifs, l'inventaire, la détection des changements et la réduction de la surface d'attaque.

7. À retenir

L'Attack Surface Management, ou ASM, est une démarche de cybersécurité visant à identifier, analyser, surveiller et réduire les points d'exposition des systèmes informatiques.

La surface d'attaque comprend les ressources, interfaces et services susceptibles d'être utilisés comme points d'interaction ou d'entrée par des attaquants.

Elle peut être externe, interne, applicative, réseau, Cloud, humaine ou physique.

L'ASM repose sur plusieurs étapes : découverte, inventaire, classification, analyse, priorisation, correction et surveillance continue.

Les techniques de découverte comprennent l'analyse des inventaires, l'examen des informations DNS, la découverte des services et l'utilisation de sources ouvertes.

Des outils comme Nmap, OWASP Amass, Subfinder, Shodan et Censys peuvent contribuer à l'identification des ressources exposées.

La réduction de la surface d'attaque consiste notamment à supprimer les services inutiles, corriger les configurations dangereuses et limiter les accès non nécessaires.

La surveillance continue permet de détecter les nouveaux actifs, les changements de configuration et les nouvelles expositions.

Python permet d'automatiser plusieurs tâches d'ASM, comme la gestion des inventaires, la comparaison des configurations et la production de rapports.

Enfin, l'ASM doit être intégré dans une stratégie globale de gestion des risques et de défense en profondeur.

 




Auteur : Younes Derfoufi
Lieu de travail : CRMEF OUJDA
Site Web : www.tresfacile.net
Chaine YouTube : https://www.youtube.com/user/InformatiquesFacile
Me contacter : https://www.tresfacile.net/me-contacter/


loader-image
Le prix initial était : € 11,00.Le prix actuel est : € 10,00.
Le prix initial était : € 6,00.Le prix actuel est : € 5,00.



Leave a Reply

Your email address will not be published. Required fields are marked *