Automatice la respuesta a incidentes y el análisis forense - Recomendaciones de AWS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Automatice la respuesta a incidentes y el análisis forense

Creado por Lucas Kauffman (AWS) y Tomek Jakubowski (AWS)

Repositorio de código: aws-automated-incident-response-and-forensics

Entorno: producción

Tecnologías: seguridad, identidad, conformidad

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

Resumen

Este patrón implementa un conjunto de procesos que utilizan funciones de AWS Lambda para proporcionar lo siguiente:

  • Una forma de iniciar el proceso de respuesta a un incidente con un conocimiento mínimo

  • Procesos automatizados y repetibles que están alineados con la Guía de respuesta a incidentes de seguridad de AWS

  • Separación de cuentas para ejecutar los pasos de automatización, almacenar artefactos y crear entornos forenses

El marco forense y de respuesta automática a incidentes sigue un proceso forense digital estándar que consta de las siguientes fases:

  1. Contención

  2. Adquisición

  3. Examen

  4. Análisis

Puede realizar investigaciones sobre datos estáticos (por ejemplo, memoria adquirida o imágenes de disco) y sobre datos dinámicos activos pero en sistemas separados.

Para obtener más información, consulte la sección Detalles adicionales.

Requisitos previos y limitaciones

Requisitos previos 

  • Dos cuentas de AWS:

    • Cuenta de seguridad, que puede ser una cuenta existente, pero preferiblemente nueva

    • Cuenta forense, preferiblemente nueva

  • Configuración de AWS Organizations

  • En las cuentas de los miembros de organizaciones:

    • La función Amazon Elastic Compute Cloud (Amazon EC2) debe tener acceso a Amazon Simple Storage Service (Amazon S3) y AWS Systems Manager de AWS Systems Manager debe poder acceder a ella. Recomendamos utilizar la función gestionada de AWS AmazonSSMManagedInstanceCore. Tenga en cuenta que esta función se asociará automáticamente a la instancia de EC2 cuando se inicie la respuesta al incidente. Cuando finalice la respuesta, AWS Identity and Access Management (IAM) eliminará todos los derechos de la instancia.

    • Puntos de conexión de la nube privada virtual (VPC) en la cuenta de miembro de AWS y en las VPC de análisis y respuesta a incidentes. Estos puntos de conexión son: S3 Gateway, EC2 Messages, SSM y SSM Messages.

  • Interfaz de la línea de comandos de AWS (AWS CLI) instalada en las instancias EC2. Si las instancias EC2 no tienen la CLI de AWS instalada, se necesitará acceso a Internet para que la instantánea del disco y la adquisición de memoria funcionen. En este caso, los scripts se conectarán a Internet para descargar los archivos de instalación de la CLI de AWS y los instalarán en las instancias.

Limitaciones

  • Este marco no pretende generar artefactos que puedan considerarse pruebas electrónicas y que puedan presentarse ante un tribunal.

  • Actualmente, este patrón solo admite instancias basadas en Linux que se ejecutan en una arquitectura x86.

Arquitectura

Pila de tecnología de destino

  • AWS CloudFormation

  • AWS CloudTrail

  • AWS Config

  • IAM

  • Lambda

  • Amazon S3

  • AWS Key Management Server (AWS KMS)

  • AWS Security Hub

  • Amazon Simple Notification Service (Amazon SNS)

  • AWS Step Functions

Arquitectura de destino

Además de la cuenta de miembro, el entorno de destino consta de dos cuentas principales: una cuenta de seguridad y una cuenta de análisis forense. Se utilizan dos cuentas por las siguientes razones:

  • Para separarlas de cualquier otra cuenta de cliente a fin de reducir el radio de explosión en caso de un análisis forense fallido

  • Para ayudar a garantizar el aislamiento y la protección de la integridad de los artefactos que se están analizando

  • Para mantener la confidencialidad de la investigación

  • Para evitar situaciones en las que los actores de la amenaza pudieran haber utilizado todos los recursos inmediatamente disponibles para su cuenta de AWS comprometida, alcanzando las Service Quotas e impidiéndole crear una instancia de Amazon EC2 para realizar investigaciones. 

Además, disponer de cuentas de seguridad y de análisis forenses independientes permite crear funciones distintas: un sistema de respuesta para obtener pruebas y otra de investigador para analizarlas. Cada rol tendría acceso a su cuenta independiente.

El siguiente diagrama muestra solo la interacción entre las cuentas. Los detalles de cada cuenta se muestran en los diagramas siguientes y se adjunta un diagrama completo.

Interacción entre cuentas y usuarios de miembros, de seguridad y de análisis forense, Internet y Slack.

En el siguiente diagrama se muestra la cuenta de miembro.

Cuenta de miembro con clave de AWS KMS, funciones de IAM, funciones de Lambda, puntos de conexión y VPC con dos instancias de EC2.

1. Se envía un evento al tema Amazon SNS de Slack.

En el siguiente diagrama se muestra la cuenta de seguridad.

Cuenta de seguridad con EC2 DdCopyInstance en la VPC de respuesta a incidentes y con los módulos de memoria LiME.

2. El tema SNS de la cuenta de seguridad inicia los eventos forenses.

En el siguiente diagrama se muestra la cuenta de análisis forense.

Cuenta forense con instancias EC2 forenses y víctimas, una VPC de análisis y una VPC de mantenimiento.

La cuenta de seguridad es donde se crean los dos flujos de trabajo principales de AWS Step Functions para la adquisición de memoria e imágenes de disco. Una vez ejecutados los flujos de trabajo, acceden a la cuenta miembro que tiene las instancias de EC2 involucradas en un incidente e inician un conjunto de funciones de Lambda que recopilarán un volcado de memoria o un volcado de disco. Luego, esos artefactos se almacenan en la cuenta de análisis forense.

La cuenta de análisis forense guardará los artefactos recopilados por el flujo de trabajo de Step Functions en el bucket de S3 de artefactos de análisis. La cuenta de análisis forense también tendrá una canalización de EC2 Image Builder que crea una imagen de máquina de Amazon (AMI) de una instancia de análisis forense. Actualmente, la imagen se basa en SANS SIFT Workstation. 

El proceso de creación utiliza la VPC de mantenimiento, que tiene conectividad a Internet. La imagen se puede utilizar posteriormente para activar la instancia de EC2 para analizar los artefactos recopilados en la VPC de análisis. 

La VPC de análisis no tiene conectividad a Internet. De forma predeterminada, el patrón crea tres subredes de análisis privadas. Puede crear hasta 200 subredes, que es la cuota para el número de subredes de una VPC, pero es necesario añadir esas subredes a los puntos de conexión de VPC para que el administrador de sesiones de AWS Systems Manager automatice la ejecución de comandos en ellas.

Desde el punto de vista de las prácticas recomendadas, recomendamos utilizar AWS CloudTrail y AWS Config para hacer lo siguiente: 

  • Realice un seguimiento de los cambios realizados en su cuenta de análisis forense

  • Supervise el acceso y la integridad de los artefactos que se almacenan y analizan

Flujo de trabajo

El siguiente diagrama muestra los pasos clave de un flujo de trabajo que incluye el proceso y el árbol de decisiones desde el momento en que una instancia se ve comprometida hasta que se analiza y contiene.

  1. ¿Se ha establecido la etiqueta SecurityIncidentStatus con el valor Analizar? Si es así, haga lo siguiente:

    1. Adjunte los perfiles de IAM correctos para AWS Systems Manager y Amazon S3.

    2. Envíe un mensaje de Amazon SNS a la cola de Amazon SNS de Slack.

    3. Envíe un mensaje de Amazon SNS a la cola  SecurityIncident.

    4. Invoque el equipo de estado de adquisición de memoria y disco.

  2. ¿Se han adquirido la memoria y el disco? Si la respuesta es no, se ha producido un error.

  3. Etiquete la instancia EC2 con la etiqueta Contain.

  4. Adjunte el rol de IAM y el grupo de seguridad para aislar completamente la instancia.

Los pasos del flujo de trabajo se enumeran anteriormente.

Automatizar y escalar

La intención de este patrón es proporcionar una solución escalable para realizar análisis forenses y de respuesta a incidentes en varias cuentas de una sola organización de AWS Organizations.

Herramientas

Servicios de AWS

  • AWS le CloudFormation ayuda a configurar los recursos de AWS, aprovisionarlos de forma rápida y coherente y gestionarlos durante todo su ciclo de vida en todas las cuentas y regiones de AWS.

  • La interfaz de la línea de comandos de AWS (AWS CLI) es una herramienta de código abierto para interactuar con los servicios de AWS mediante comandos en el intérprete de comandos de línea de comandos.

  • AWS Identity and Access Management (IAM) le permite administrar de forma segura el acceso a los recursos de AWS mediante el control de quién está autenticado y autorizado a utilizarlos.

  • AWS Key Management Service (AWS KMS) le ayuda a crear y controlar claves criptográficas para proteger sus datos.

  • AWS Lambda es un servicio de computación que ayuda a ejecutar código sin necesidad de aprovisionar ni administrar servidores. Ejecuta el código solo cuando es necesario y amplía la capacidad de manera automática, por lo que solo pagará por el tiempo de procesamiento que utilice.

  • Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento de objetos basado en la nube que le ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.

  • AWS Security Hub proporciona una visión completa de su estado de seguridad en AWS. También le permite comprobar si su entorno de AWS cumple con los estándares y las prácticas recomendadas del sector de seguridad.

  • Amazon Simple Notification Service (Amazon SNS) le permite coordinar y administrar el intercambio de mensajes entre publicadores y clientes, incluidos los servidores web y las direcciones de correo electrónico.

  • AWS Step Functions es un servicio de orquestación sin servidor que le permite combinar funciones de Lambda AWS y otros servicios de AWS para crear aplicaciones esenciales desde el punto de vista empresarial. 

  • AWS Systems Manager le permite administrar las aplicaciones y la infraestructura que se ejecutan en la nube de AWS. Simplifica la administración de aplicaciones y recursos, reduce el tiempo requerido para detectar y resolver problemas operativos y ayuda a utilizar y administrar los recursos de AWS a escala de manera segura.

Código

Para obtener el código y las directrices específicas de implementación y uso, consulte el repositorio del Marco Forense y de Respuesta GitHub Automatizada a Incidentes.

Epics

TareaDescripciónHabilidades requeridas

Implemente CloudFormation plantillas.

Las CloudFormation plantillas están marcadas del 1 al 7 y la primera palabra del nombre del script indica en qué cuenta se debe implementar la plantilla. Tenga en cuenta que el orden de lanzamiento de las CloudFormation plantillas es importante.

  • 1-forensic-AnalysisVPCnS3Buckets.yaml: se implementó en la cuenta de análisis forense. Crea los buckets S3 y la VPC de análisis, y se activa. CloudTrail

  • 2-forensic-MaintenanceVPCnEC2ImageBuilderPipeline.yaml: implementa la VPC de mantenimiento y la canalización del generador de imágenes basada en SANS SIFT.

  • 3-security_IR-Disk_Mem_automation.yaml: implementa las funciones en la cuenta de seguridad que permiten la adquisición de discos y memoria.

  • 4-security_LiME_Volatility_Factory.yaml: inicia una función de compilación para empezar a crear los módulos de memoria en función de los ID de AMI proporcionados. Tenga en cuenta que los ID de AMI son diferentes según las regiones de AWS. Siempre que necesite nuevos módulos de memoria, puede volver a ejecutar este script con los nuevos ID de AMI. Considere la posibilidad de integrarlo con las canalizaciones de creación de AMI de Golden Image (si se utilizan en su entorno).

  • 5-member-IR-automation.yaml: crea la función de automatización de respuesta a incidentes de los miembros, que inicia el proceso de respuesta a incidentes. Permite compartir los volúmenes de Amazon Elastic Block Store (Amazon EBS) entre cuentas, publicar automáticamente en los canales de Slack durante el proceso de respuesta a incidentes, iniciar el proceso forense y aislar las instancias una vez finalizado el proceso.

  • 6-forensic-artifact-s3-policies.yaml: una vez implementados todos los scripts, este script corrige los permisos necesarios para todas las interacciones entre cuentas.

  • 7-security-IR-vpc.yaml: configura una VPC utilizada para el procesamiento del volumen de respuesta a incidentes.

Para iniciar el marco de respuesta a incidentes para una instancia de EC2 específica, cree una etiqueta con la clave SecurityIncidentStatus y el valor Analyze. Esto iniciará la función de Lambda de miembro que iniciará automáticamente el aislamiento y la memoria, así como la adquisición de discos.

Administrador de AWS

Opere el marco.

La función de Lambda también volverá a etiquetar el activo al final (o en caso de fallo) con Contain. Esto inicia la contención, que aísla completamente la instancia sin un grupo de seguridad entrante ni saliente y con un rol de IAM que impide todo acceso.

Siga los pasos del repositorio. GitHub

Administrador de AWS
TareaDescripciónHabilidades requeridas

Implemente las acciones personalizadas de Security Hub mediante una CloudFormation plantilla.

Para crear una acción personalizada de forma que pueda usar la lista desplegable de Security Hub, implemente la Modules/SecurityHub Custom Actions/SecurityHubCustomActions.yaml CloudFormation plantilla. A continuación, modifique la función IRAutomation en cada una de las cuentas de los miembros para permitir que la función de Lambda que ejecuta la acción asuma la función IRAutomation. Para obtener más información, consulte el GitHub repositorio.

Administrador de AWS

Recursos relacionados

Información adicional

Al utilizar este entorno, un equipo del centro de operaciones de seguridad (SOC) puede mejorar su proceso de respuesta a los incidentes de seguridad de la siguiente manera:

  • Tener la capacidad de realizar análisis forenses en un entorno dividido para evitar comprometer accidentalmente los recursos de producción

  • Disponer de un proceso estandarizado, repetible y automatizado para la contención y el análisis.

  • Ofrecer a cualquier propietario o administrador de una cuenta la posibilidad de iniciar el proceso de respuesta a los incidentes con un conocimiento mínimo de cómo usar las etiquetas

  • Disponer de un entorno limpio y estandarizado para realizar análisis de incidentes y análisis forenses sin el ruido de un entorno más grande

  • Tener la capacidad de crear múltiples entornos de análisis en paralelo

  • Centrar los recursos del SOC en la respuesta a los incidentes en lugar de en el mantenimiento y la documentación de un entorno forense en la nube

  • Pasar de un proceso manual a uno automatizado para lograr la escalabilidad

  • Uso CloudFormation de plantillas para mantener la coherencia y evitar tareas repetibles

Además, evita el uso de una infraestructura persistente y paga por los recursos cuando los necesita.

Conexiones

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: attachment.zip