Automatisez la réponse aux incidents et la criminalistique - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Automatisez la réponse aux incidents et la criminalistique

Créée par Lucas Kauffman (AWS) et Tomek Jakubowski (AWS)

Référentiel de code : aws-automated-incident-response-and-forensics

Environnement : Production

Technologies : sécurité, identité, conformité

Services AWS : Amazon EC2 ; AWS Lambda ; Amazon S3 ; AWS Security Hub ; AWS Identity and Access Management

Récapitulatif

Ce modèle déploie un ensemble de processus qui utilisent les fonctions AWS Lambda pour fournir les éléments suivants :

  • Un moyen de lancer le processus de réponse aux incidents avec un minimum de connaissances

  • Processus automatisés et reproductibles conformes au guide de réponse aux incidents de sécurité d'AWS

  • Séparation des comptes pour exécuter les étapes d'automatisation, stocker les artefacts et créer des environnements de criminalistique

Le cadre de réponse automatisée aux incidents et de criminalistique suit un processus d'investigation numérique standard comprenant les phases suivantes :

  1. Confinement

  2. Acquisition

  3. Examen

  4. Analyse

Vous pouvez effectuer des recherches sur des données statiques (par exemple, de la mémoire acquise ou des images de disque) et sur des données dynamiques qui sont actives mais sur des systèmes séparés.

Pour plus de détails, consultez la section Informations supplémentaires.

Conditions préalables et limitations

Prérequis

  • Deux comptes AWS :

    • Compte de sécurité, qui peut être un compte existant, mais qui est de préférence nouveau

    • Compte Forensics, de préférence neuf

  • Configuration d'AWS Organizations

  • Dans les comptes des membres des Organisations :

    • Le rôle Amazon Elastic Compute Cloud (Amazon EC2) doit disposer d'un accès Get and List à Amazon Simple Storage Service (Amazon S3) et être accessible par AWS Systems Manager. Nous vous recommandons d'utiliser le rôle géré par AmazonSSMManagedInstanceCore AWS. Notez que ce rôle sera automatiquement attaché à l'instance EC2 lorsque la réponse aux incidents sera initiée. Une fois la réponse terminée, AWS Identity and Access Management (IAM) supprimera tous les droits relatifs à l'instance.

    • Points de terminaison du cloud privé virtuel (VPC) dans le compte membre AWS et dans les VPC de réponse et d'analyse des incidents. Ces points de terminaison sont les suivants : passerelle S3, messages EC2, SSM et messages SSM.

  • Interface de ligne de commande AWS (AWS CLI) (AWS CLI) installée sur les instances EC2. Si aucune CLI AWS n'est installée sur les instances EC2, un accès à Internet sera nécessaire pour que l'instantané du disque et l'acquisition de mémoire fonctionnent. Dans ce cas, les scripts se connecteront à Internet pour télécharger les fichiers d'installation de l'AWS CLI et les installeront sur les instances.

Limites

  • Ce cadre ne vise pas à générer des artefacts pouvant être considérés comme des preuves électroniques, susceptibles d'être soumises devant les tribunaux.

  • Actuellement, ce modèle ne prend en charge que les instances basées sur Linux exécutées sur une architecture x86.

Architecture

Pile technologique cible

  • AWS CloudFormation

  • AWS CloudTrail

  • AWS Config

  • IAM

  • Lambda

  • Amazon S3

  • Système de gestion des clés AWS (AWS KMS)

  • AWS Security Hub

  • Amazon Simple Notification Service (Amazon SNS)

  • AWS Step Functions

Architecture cible

Outre le compte membre, l'environnement cible comprend deux comptes principaux : un compte Security et un compte Forensics. Deux comptes sont utilisés pour les raisons suivantes :

  • Pour les séparer de tous les autres comptes clients afin de réduire le rayon d'explosion en cas d'échec d'une analyse médico-légale

  • Pour aider à garantir l'isolation et la protection de l'intégrité des artefacts analysés

  • Pour préserver la confidentialité de l'enquête

  • Pour éviter les situations dans lesquelles les acteurs de la menace auraient utilisé toutes les ressources immédiatement disponibles sur votre compte AWS compromis en atteignant les quotas de service et en vous empêchant ainsi d'instancier une instance Amazon EC2 pour effectuer des investigations. 

En outre, le fait de disposer de comptes de sécurité et de criminalistique distincts permet de créer des rôles distincts : un intervenant chargé de recueillir les preuves et un enquêteur chargé de les analyser. Chaque rôle aurait accès à son compte distinct.

Le schéma suivant montre uniquement l'interaction entre les comptes. Les détails de chaque compte sont présentés dans les diagrammes suivants, et un schéma complet est joint en annexe.

Interaction entre les comptes membres, de sécurité et de criminalistique et les utilisateurs, Internet et Slack.

Le schéma suivant montre le compte du membre.

Le compte inclut une clé AWS KMS, des rôles IAM, des fonctions Lambda, des points de terminaison et le VPC membre avec deux instances EC2.

1. Un événement est envoyé à la rubrique Amazon SNS de Slack.

Le schéma suivant montre le compte de sécurité.

Tenez compte de l'EC2 DdCopyInstance  dans le VPC de réponse aux incidents, ainsi que de Step Functions, des rôles IAM, des points de terminaison et des modules de mémoire LiME.

2. La rubrique SNS du compte de sécurité déclenche les événements Forensics.

Le schéma suivant montre le compte Forensics.

Compte doté d'images d'instances EC2, de rôles IAM, de compartiments S3 pour l'analyse, la maintenance et la journalisation, d'un VPC d'analyse et d'un VPC de maintenance connectés à Internet.

Le compte Security est l'endroit où les deux principaux flux de travail AWS Step Functions sont créés pour l'acquisition d'images de mémoire et de disque. Une fois les flux de travail exécutés, ils accèdent au compte membre qui contient les instances EC2 impliquées dans un incident, et ils lancent un ensemble de fonctions Lambda qui collecteront un vidage de mémoire ou un vidage de disque. Ces artefacts sont ensuite stockés dans le compte Forensics.

Le compte Forensics conservera les artefacts collectés par le flux de travail Step Functions dans le compartiment Analysis artefacts S3. Le compte Forensics disposera également d'un pipeline EC2 Image Builder qui crée une Amazon Machine Image (AMI) d'une instance Forensics. Actuellement, l'image est basée sur la station de travail SANS SIFT. 

Le processus de création utilise le VPC de maintenance, qui est connecté à Internet. L'image peut être utilisée ultérieurement pour faire tourner l'instance EC2 afin d'analyser les artefacts collectés dans le VPC d'analyse. 

Le VPC d'analyse n'est pas connecté à Internet. Par défaut, le modèle crée trois sous-réseaux d'analyse privés. Vous pouvez créer jusqu'à 200 sous-réseaux, ce qui correspond au quota du nombre de sous-réseaux dans un VPC, mais ces sous-réseaux doivent être ajoutés aux points de terminaison du VPC pour qu'AWS Systems Manager Sessions Manager puisse automatiser l'exécution des commandes dans ces derniers.

Du point de vue des meilleures pratiques, nous vous recommandons d'utiliser AWS CloudTrail et AWS Config pour effectuer les opérations suivantes : 

  • Suivez les modifications apportées à votre compte Forensics

  • Surveillez l'accès et l'intégrité des artefacts stockés et analysés

Flux de travail

Le schéma suivant montre les étapes clés d'un flux de travail qui inclut le processus et l'arbre de décision, depuis le moment où une instance est compromise jusqu'à son analyse et son confinement.

  1. La SecurityIncidentStatus balise a-t-elle été définie avec la valeur Analyser ? Dans l'affirmative, procédez comme suit :

    1. Joignez les profils IAM appropriés pour AWS Systems Manager et Amazon S3.

    2. Envoyez un message Amazon SNS à la file d'attente Amazon SNS dans Slack.

    3. Envoyez un message Amazon SNS à la file d'attente.  SecurityIncident

    4. Appelez la machine d'état Memory and Disk Acquisition.

  2. La mémoire et le disque ont-ils été acquis ? Si ce n'est pas le cas, il y a une erreur.

  3. Marquez l'instance EC2 avec le Contain tag.

  4. Associez le rôle IAM et le groupe de sécurité pour isoler complètement l'instance.

Automatisation et mise à l'échelle

L'objectif de ce modèle est de fournir une solution évolutive pour répondre aux incidents et effectuer des analyses sur plusieurs comptes au sein d'une même organisation AWS Organizations.

Outils

Services AWS

  • AWS vous CloudFormation aide à configurer les ressources AWS, à les approvisionner rapidement et de manière cohérente, et à les gérer tout au long de leur cycle de vie sur les comptes et les régions AWS.

  • L'interface de ligne de commande AWS (AWS CLI) est un outil open source permettant d'interagir avec les services AWS par le biais de commandes dans votre shell de ligne de commande.

  • AWS Identity and Access Management (IAM) vous aide à gérer en toute sécurité l'accès à vos ressources AWS en contrôlant qui est authentifié et autorisé à les utiliser.

  • AWS Key Management Service (AWS KMS) vous aide à créer et à contrôler des clés cryptographiques pour protéger vos données.

  • AWS Lambda est un service de calcul qui vous permet d'exécuter du code sans avoir à approvisionner ou à gérer des serveurs. Il exécute votre code uniquement lorsque cela est nécessaire et évolue automatiquement, de sorte que vous ne payez que pour le temps de calcul que vous utilisez.

  • Amazon Simple Storage Service (Amazon S3) est un service de stockage d'objets basé sur le cloud qui vous permet de stocker, de protéger et de récupérer n'importe quel volume de données.

  • AWS Security Hub fournit une vue complète de votre état de sécurité dans AWS. Il vous permet également de vérifier que votre environnement AWS est conforme aux normes du secteur de la sécurité et aux meilleures pratiques.

  • Amazon Simple Notification Service (Amazon SNS) vous aide à coordonner et à gérer l'échange de messages entre les éditeurs et les clients, y compris les serveurs Web et les adresses e-mail.

  • AWS Step Functions est un service d'orchestration sans serveur qui vous permet de combiner les fonctions AWS Lambda et d'autres services AWS pour créer des applications critiques pour l'entreprise. 

  • AWS Systems Manager vous aide à gérer vos applications et votre infrastructure exécutées dans le cloud AWS. Il simplifie la gestion des applications et des ressources, réduit le délai de détection et de résolution des problèmes opérationnels et vous aide à gérer vos ressources AWS en toute sécurité à grande échelle.

Code

Pour le code et les conseils spécifiques de mise en œuvre et d'utilisation, consultez le référentiel GitHub Automated Incident Response and Forensics Framework.

Épopées

TâcheDescriptionCompétences requises
Déployez CloudFormation des modèles.

Les CloudFormation modèles sont marqués de 1 à 7, le premier mot du nom du script indiquant dans quel compte le modèle doit être déployé. Notez que l'ordre de lancement des CloudFormation modèles est important.

  • 1-forensic-AnalysisVPCnS3Buckets.yaml: Déployé dans le compte Forensics. Il crée les compartiments S3 et le VPC d'analyse, puis il s'active. CloudTrail

  • 2-forensic-MaintenanceVPCnEC2ImageBuilderPipeline.yaml: Déploie le VPC de maintenance et le pipeline de création d'images basés sur SANS SIFT.

  • 3-security_IR-Disk_Mem_automation.yaml: Déploie les fonctions du compte de sécurité qui permettent l'acquisition de disques et de mémoire.

  • 4-security_LiME_Volatility_Factory.yaml: Lance une fonction de construction pour commencer à créer les modules de mémoire en fonction des ID d'AMI donnés. Notez que les ID d'AMI sont différents selon les régions AWS. Chaque fois que vous avez besoin de nouveaux modules de mémoire, vous pouvez réexécuter ce script avec les nouveaux ID d'AMI. Envisagez de l'intégrer à vos pipelines de création d'AMI Golden Image (s'ils sont utilisés dans votre environnement).

  • 5-member-IR-automation.yaml: crée la fonction d'automatisation de la réponse aux incidents des membres, qui lance le processus de réponse aux incidents. Il permet de partager les volumes Amazon Elastic Block Store (Amazon EBS) entre les comptes, de les publier automatiquement sur les canaux Slack pendant le processus de réponse aux incidents, de lancer le processus de criminalistique et d'isoler les instances une fois le processus terminé.

  • 6-forensic-artifact-s3-policies.yaml: Une fois que tous les scripts ont été déployés, ce script fixe les autorisations requises pour toutes les interactions entre comptes.

  • 7-security-IR-vpc.yaml: Configure un VPC utilisé pour le traitement du volume de réponse aux incidents.

Pour lancer le cadre de réponse aux incidents pour une instance EC2 spécifique, créez une balise avec la clé SecurityIncidentStatus et la valeurAnalyze. Cela lancera la fonction Lambda du membre qui lancera automatiquement l'isolation et l'acquisition de mémoire ainsi que l'acquisition de disques.

Administrateur AWS
Faites fonctionner le framework.

La fonction Lambda rebalisera également l'actif à la fin (ou en cas de panne) avec. Contain Cela initie le confinement, qui isole complètement l'instance avec un groupe de sécurité sans entrant/sortant et avec un rôle IAM qui interdit tout accès.

Suivez les étapes indiquées dans le GitHub référentiel.

Administrateur AWS
TâcheDescriptionCompétences requises
Déployez les actions personnalisées du Security Hub à l'aide d'un CloudFormation modèle.

Pour créer une action personnalisée afin d'utiliser la liste déroulante de Security Hub, déployez le Modules/SecurityHub Custom Actions/SecurityHubCustomActions.yaml CloudFormation modèle. Modifiez ensuite le IRAutomation rôle dans chacun des comptes membres pour permettre à la fonction Lambda qui exécute l'action d'assumer le IRAutomation rôle. Pour plus d'informations, consultez le GitHub référentiel.

Administrateur AWS

Ressources connexes

Informations supplémentaires

En utilisant cet environnement, une équipe du centre des opérations de sécurité (SOC) peut améliorer son processus de réponse aux incidents de sécurité en procédant comme suit :

  • Avoir la capacité d'effectuer des analyses dans un environnement séparé afin d'éviter la compromission accidentelle des ressources de production

  • Disposer d'un processus standardisé, reproductible et automatisé pour le confinement et l'analyse.

  • Donner à tout propriétaire ou administrateur de compte la possibilité de lancer le processus de réponse aux incidents avec un minimum de connaissances sur l'utilisation des balises

  • Disposer d'un environnement propre et normalisé pour effectuer l'analyse des incidents et la criminalistique sans le bruit d'un environnement plus vaste

  • Avoir la capacité de créer plusieurs environnements d'analyse en parallèle

  • Concentrer les ressources du SOC sur la réponse aux incidents plutôt que sur la maintenance et la documentation d'un environnement de criminalistique dans le cloud

  • Passer d'un processus manuel à un processus automatisé pour atteindre l'évolutivité

  • Utilisation CloudFormation de modèles pour des raisons de cohérence et pour éviter les tâches répétitives

De plus, vous évitez d'utiliser une infrastructure persistante et vous payez pour les ressources lorsque vous en avez besoin.

Pièces jointes

Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip