Automatize a resposta a incidentes e forense - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Automatize a resposta a incidentes e forense

Criado por Lucas Kauffman (AWS) e Tomek Jakubowski (AWS)

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

Ambiente: produção

Tecnologias: segurança, identidade e conformidade

Serviços da AWS: Amazon EC2; AWS Lambda; Amazon S3; AWS Security Hub; AWS Identity and Access Management

Resumo

Esse padrão implanta um conjunto de processos que usam as funções do AWS Lambda para fornecer o seguinte:

  • Uma forma de iniciar o processo de resposta a incidentes com o mínimo de conhecimento

  • Processos automatizados e repetíveis que estão alinhados com o Guia de Resposta a Incidentes de Segurança da AWS

  • Separação de contas para operar as etapas de automação, armazenar artefatos e criar ambientes forenses

A estrutura de resposta automatizada a incidentes e forense segue um processo forense digital padrão que consiste nas seguintes fases:

  1. Contenção

  2. Aquisição

  3. Examinação

  4. Análise

Você pode realizar investigações em dados estáticos (por exemplo, memória adquirida ou imagens de disco) e em dados dinâmicos ativos, mas em sistemas separados.

Para obter detalhes, consulte a seção Informações adicionais.

Pré-requisitos e limitações

Pré-requisitos

  • Duas contas da AWS:

    • Conta de segurança, que pode ser uma conta existente, mas é de preferência nova

    • Conta forense, de preferência nova

  • Configurar o AWS Organizations

  • Nas contas dos membros da Organizações:

    • O perfil Amazon Elastic Compute Cloud (Amazon EC2) deve ter acesso “Get” e “List” ao Amazon Simple Storage Service (Amazon S3) e ser acessível pelo AWS Systems Manager. Recomendamos usar o perfil gerenciado AmazonSSMManagedInstanceCore da AWS. Observe que esse perfil será automaticamente anexado à instância do EC2 quando a resposta ao incidente for inicializada. Depois que a resposta for concluída, o AWS Identity and Access Management (AWS IAM) removerá todos os direitos da instância.

    • Endpoints de nuvem privada virtual (VPC) na conta de membro da AWS e nas VPCs de resposta e análise de incidentes. Esses endpoints são: S3 Gateway, EC2 Messages, SSM e SSM Messages.

  • A AWS Command Line Interface (AWS CLI), instalada nas instâncias do EC2. Se as instâncias do EC2 não tiverem a AWS CLI instalada, o acesso à Internet será necessário para que a captura de disco e a aquisição de memória funcionem. Nesse caso, os scripts entrarão em contato com a Internet para baixar os arquivos de instalação da AWS CLI e os instalarão nas instâncias.

Limitações

  • Essa estrutura não pretende gerar artefatos que possam ser considerados evidências eletrônicas, submissíveis em juízo.

  • Atualmente, esse padrão é compatível somente a instâncias baseadas em Linux executadas na arquitetura x86.

Arquitetura

Pilha de tecnologias de destino

  • AWS CloudFormation

  • AWS CloudTrail

  • AWS Config

  • IAM

  • Lambda

  • Amazon S3

  • AWS Key Management System (AWS KMS)

  • AWS Security Hub

  • Amazon Simple Notification Service (Amazon SNS)

  • AWS Step Functions

Arquitetura de destino

Além da conta do membro, o ambiente de destino consiste em duas contas principais: uma conta de segurança e uma conta forense. Duas contas são usadas pelos seguintes motivos:

  • Para separá-las de quaisquer outras contas de clientes para reduzir o raio de explosão em caso de falha na análise forense

  • Para ajudar a garantir o isolamento e a proteção da integridade dos artefatos que estão sendo analisados

  • Para manter a investigação confidencial

  • Para evitar situações em que os agentes de ameaça possam ter usado todos os recursos imediatamente disponíveis para sua conta comprometida da AWS, atingindo as cotas de serviço e impedindo que você instanciasse uma instância do Amazon EC2 para realizar investigações. 

Além disso, ter contas de segurança e forense separadas permite a criação de perfis separados: uma Respondente para adquirir evidências e um Investigador para analisá-las. Cada perfil teria acesso a própria conta separada.

O diagrama a seguir mostra somente a interação entre as contas. Os detalhes de cada conta são mostrados nos diagramas subsequentes e um diagrama completo é anexado.

Interação entre contas e usuários de membros, segurança e forense, a Internet e o Slack.

O diagrama a seguir mostra a conta do membro.

Conta de membro com chave AWS KMS, funções do IAM, funções Lambda, endpoints, VPC com duas instâncias EC2.

1. Um evento é enviado para o tópico Amazon SNS do Slack.

O diagrama a seguir mostra a conta de segurança.

Conta de segurança com EC2 DdCopyInstance na VPC de resposta a incidentes e com módulos de memória LiME.

2. O tópico SNS na conta de segurança inicia eventos forenses.

O diagrama a seguir mostra a conta Forensics.

Conta forense com instâncias forenses e de vítimas do EC2, uma VPC de análise e uma VPC de manutenção.

A conta Security é onde os dois principais fluxos de trabalho do AWS Step Functions são criados para aquisição de memória e imagem de disco. Depois que os fluxos de trabalho são executados, eles acessam a conta membro que tem as instâncias do EC2 envolvidas em um incidente e iniciam um conjunto de funções do Lambda que reunirão um despejo de memória ou um despejo de disco. Esses artefatos são então armazenados na conta forense.

A conta forense armazenará os artefatos coletados pelo fluxo de trabalho Step Functions no bucket S3 de artefatos de análise. A conta forense também terá um pipeline do EC2 Image Builder que constrói uma imagem de máquina da Amazon (AMI) de uma instância forense. Atualmente, a imagem é baseada na estação de trabalho SANS SIFT. 

O processo de compilação usa a VPC de manutenção, que tem conectividade com a Internet. Posteriormente, a imagem pode ser usada para acelerar a instância do EC2 para análise dos artefatos coletados na VPC de análise. 

A Analysis VPC não tem conectividade à internet. Por padrão, o padrão cria três sub-redes de análise privadas. Você pode criar até 200 sub-redes, que é a cota para o número de sub-redes em uma VPC, mas os endpoints da VPC precisam ter essas sub-redes adicionadas para que o Session Manager do AWS Systems Manager automatize a execução de comandos nelas.

Do ponto de vista das melhores práticas, recomendamos usar o AWS CloudTrail e o AWS Config para fazer o seguinte: 

  • Rastrear as alterações feitas em sua conta forense

  • Monitorar o acesso e a integridade dos artefatos que são armazenados e analisados

Fluxo de trabalho

O diagrama a seguir mostra as principais etapas de um fluxo de trabalho que inclui o processo e a árvore de decisão desde o momento em que uma instância é comprometida até ser analisada e contida.

  1. A tag SecurityIncidentStatus foi definida com o valor Analyze? Em caso positivo, faça o seguinte:

    1. Anexe os perfis corretos do IAM para o AWS Systems Manager e o Amazon S3.

    2. Envie uma mensagem do Amazon SNS para a fila do Amazon SNS no Slack.

    3. Envie uma mensagem do Amazon SNS para a fila  SecurityIncident.

    4. Invoque a máquina de estado de aquisição de memória e disco.

  2. A memória e o disco foram adquiridos? Se não foram, há um erro.

  3. Marque a instância do EC2 com a tag Contain.

  4. Anexe o perfil do IAM e o grupo de segurança para isolar totalmente a instância.

Etapas do fluxo de trabalho listadas anteriormente.

Automação e escala

A intenção desse padrão é fornecer uma solução escalável para realizar resposta a incidentes e forense em várias contas dentro de uma única organização do AWS Organizations.

Ferramentas

Serviços da AWS

  • CloudFormationA AWS ajuda você a configurar recursos da AWS, provisioná-los de forma rápida e consistente e gerenciá-los durante todo o ciclo de vida em todas as contas e regiões da AWS.

  • A AWS Command Line Interface (AWS CLI) é uma ferramenta de código aberto para interagir com serviços da AWS por meio de comandos em seu shell de linha de comando.

  • O AWS Identity and Access Management (IAM) ajuda você a gerenciar com segurança o acesso aos seus recursos da AWS, controlando quem está autenticado e autorizado a usá-los.

  • O AWS Key Management Service (AWS KMS) ajuda você a criar e controlar chaves criptográficas para proteger seus dados.

  • O AWS Lambda é um serviço de computação que ajuda você a executar código sem exigir provisionamento ou gerenciamento de servidores. Ele executa o código somente quando necessário e dimensiona automaticamente, assim, você paga apenas pelo tempo de computação usado.

  • O Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.

  • O AWS Security Hub fornece uma visualização abrangente de seu estado de segurança na AWS. Ele também ajuda você a verificar seu ambiente AWS em relação aos padrões e práticas recomendadas do setor de segurança.

  • O Amazon Simple Notification Service (Amazon SNS) ajuda você a coordenar e gerenciar a troca de mensagens entre publicadores e clientes, incluindo servidores web e endereços de e-mail.

  • O AWS Step Functions é um serviço de orquestração com tecnologia sem servidor que permite combinar funções do AWS Lambda e outros serviços da para criar aplicações essenciais aos negócios. 

  • O AWS Systems Manager ajuda você a gerenciar seus aplicativos e infraestrutura em execução na nuvem AWS. Isso simplifica o gerenciamento de aplicações e recursos, diminui o tempo para detectar e resolver problemas operacionais e ajuda você a gerenciar seus recursos da AWS de modo seguro e em grande escala.

Código

Para obter o código e as diretrizes específicas de implementação e uso, consulte o repositório do GitHub Automated Incident Response and Forensics Framework.

Épicos

TarefaDescriçãoHabilidades necessárias

Implante CloudFormation modelos.

Os CloudFormation modelos são marcados de 1 a 7 com a primeira palavra do nome do script indicando em qual conta o modelo precisa ser implantado. Observe que a ordem de lançamento dos CloudFormation modelos é importante.

  • 1-forensic-AnalysisVPCnS3Buckets.yaml: implantado na conta forense. Ele cria os buckets do S3 e a VPC de análise e é ativado. CloudTrail

  • 2-forensic-MaintenanceVPCnEC2ImageBuilderPipeline.yaml: implanta o pipeline de manutenção da VPC e do construtor de imagens com base no SANS SIFT.

  • 3-security_IR-Disk_Mem_automation.yaml: implanta as funções na conta de segurança que permitem a aquisição de disco e memória.

  • 4-security_LiME_Volatility_Factory.yaml: inicia uma função de construção para começar a criar os módulos de memória com base nas IDs de AMI fornecidas. Observe que as IDs de AMI são diferentes nas regiões da AWS. Sempre que precisar de novos módulos de memória, você pode executar novamente esse script com as novas AMI IDs. Considere integrá-lo aos seus pipelines dourados do AMI Builder (se usado em seu ambiente).

  • 5-member-IR-automation.yaml: cria a função de automação de resposta a incidentes do membro, que inicia o processo de resposta a incidentes. Ele permite compartilhar volumes do Amazon Elastic Block Store (Amazon EBS) entre contas, publicar automaticamente nos canais do Slack durante o processo de resposta a incidentes, iniciar o processo forense e isolar as instâncias após a conclusão do processo.

  • 6-forensic-artifact-s3-policies.yaml: após a implantação de todos os scripts, esse script corrige as permissões necessárias para todas as interações entre contas.

  • 7-security-IR-vpc.yaml: configura uma VPC usada para processamento do volume de resposta a incidentes.

Para iniciar a estrutura de resposta a incidentes para uma instância específica do EC2, crie uma tag com a chave SecurityIncidentStatus e o valor Analyze. Isso inicializará a função do Lambda do membro, que iniciará automaticamente o isolamento e a memória, bem como a aquisição de disco.

Administrador da AWS

Opere a estrutura.

A função do Lambda também remarcará o ativo no final (ou em caso de falha) com Contain. Isso inicia a contenção, que isola totalmente a instância com um grupo de segurança sem ENTRADA/SAÍDA e com um perfil do IAM que proíbe todo o acesso.

Siga as etapas no GitHub repositório.

Administrador da AWS
TarefaDescriçãoHabilidades necessárias

Implante as ações personalizadas do Security Hub usando um CloudFormation modelo.

Para criar uma ação personalizada para que você possa usar a lista suspensa do Security Hub, implante o Modules/SecurityHub Custom Actions/SecurityHubCustomActions.yaml CloudFormation modelo. Em seguida, modifique o perfil IRAutomation em cada uma das contas dos membros para permitir que a função do Lambda que executa a ação assuma o perfil IRAutomation. Para obter mais informações, consulte o GitHub repositório.

Administrador da AWS

Recursos relacionados

Mais informações

Ao usar esse ambiente, uma equipe do Centro de operações de segurança (Security Operations Center, SOC) pode melhorar o processo de resposta a incidentes de segurança ao:

  • Ter a capacidade de realizar forenses em um ambiente segregado para evitar o comprometimento acidental dos recursos de produção

  • Ter um processo padronizado, repetível e automatizado para fazer contenção e análise.

  • Dar a qualquer proprietário ou administrador da conta a capacidade de iniciar o processo de resposta a incidentes com o mínimo de conhecimento de como usar tags

  • Ter um ambiente padronizado e limpo para realizar análises de incidentes e forenses sem o ruído de um ambiente maior

  • Ter a capacidade de criar vários ambientes de análise em paralelo

  • Foco nos recursos do SOC na resposta a incidentes em vez de na manutenção e documentação de um ambiente forense em nuvem

  • Substituição de um processo manual para um automatizado para obter escalabilidade

  • Usando CloudFormation modelos para obter consistência e evitar tarefas repetíveis

Além disso, você evita usar uma infraestrutura persistente e paga pelos recursos quando precisa deles.

Anexos

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo: attachment.zip