Partilhar via


Análise de trajetória de ataque e caça de risco aprimorada para contêineres

A análise de trajetória de ataque é um algoritmo baseado em gráficos que verifica o gráfico de segurança na nuvem. As verificações expõem caminhos exploráveis que os invasores podem usar para invadir seu ambiente e alcançar seus ativos de alto impacto. A análise do caminho de ataque expõe os caminhos de ataque e sugere recomendações sobre a melhor forma de corrigir problemas que interrompem o caminho de ataque e evitam uma violação bem-sucedida.

Explore e investigue caminhos de ataque classificando-os com base no nível de risco, nome, ambiente e fatores de risco, ponto de entrada, alvo, recursos afetados e recomendações ativas. Explore o gráfico de segurança na nuvem Informações sobre o recurso. Exemplos de tipos de Insight são:

  • Pod exposto à internet
  • Contentor privilegiado
  • Pod usa rede host
  • A imagem de contêiner é vulnerável à execução remota de código

Azure: Testando o caminho de ataque e o explorador de segurança usando uma imagem de contêiner vulnerável simulada

Se não houver entradas na lista de caminhos de ataque, você ainda poderá testar esse recurso usando uma imagem de contêiner fictícia. Use as seguintes etapas para configurar o teste:

Requisito: Uma instância do Azure Container Registry (ACR) no escopo testado.

  1. Importe uma imagem fictícia vulnerável para o seu Registro de Contêiner do Azure:

    1. Primeiro, puxe uma imagem base (por exemplo, alpina) para o ambiente local executando:

      docker pull alpine
      
    2. Marque a imagem com o seguinte rótulo e envie-a para o seu ACR. Substitua <MYACR> pelo nome do Registro de Contêiner do Azure:

      docker tag alpine <MYACR>.azurecr.io/mdc-mock-0001
      docker push <MYACR>.azurecr.io/mdc-mock-0001
      
    3. Se você não tiver um cluster AKS (Serviço Kubernetes do Azure), use o seguinte comando para criar um novo cluster AKS:

      az aks create -n myAKSCluster -g myResourceGroup --generate-ssh-keys --attach-acr $MYACR
      
    4. Se o AKS não estiver conectado ao ACR, use a seguinte linha de comando do Cloud Shell para apontar sua instância do AKS para extrair imagens do ACR selecionado:

      az aks update -n myAKSCluster -g myResourceGroup --attach-acr <acr-name>
      
  2. Autentique sua sessão do Cloud Shell para trabalhar com o cluster:

    az aks get-credentials  --subscription <cluster-suid> --resource-group <your-rg> --name <your-cluster-name>    
    
  3. Instale o ngnix ingress Controller :

    helm install ingress-controller oci://ghcr.io/nginxinc/charts/nginx-ingress --version 1.0.1
    
  4. Implante a imagem vulnerável simulada para expor o contêiner vulnerável à Internet executando o seguinte comando:

    helm install dcspmcharts  oci://mcr.microsoft.com/mdc/stable/dcspmcharts --version 1.0.0 --namespace mdc-dcspm-demo --create-namespace --set image=<your-image-uri> --set distribution=AZURE
    
  5. Verifique o sucesso executando as seguintes etapas:

    • Procure uma entrada com mdc-dcspm-demo como namespace
    • Na guia Cargas de trabalho -> Implantações, verifique se "pod1" e "pod2" são criados 3/3 e ingress-controller-nginx-ingress-controller é criado 1/1.
    • Em serviços e ingressos procure por-> service service1 e ingress-controller-nginx-ingress-controller. Na guia ingress, verifique se uma entrada foi criada com um endereço IP e uma classe nginx.

Nota

Depois de concluir o fluxo acima, pode levar até 24 horas para ver os resultados no explorador de segurança na nuvem e no caminho de ataque.

Depois de concluir o teste do caminho de ataque, investigue o caminho de ataque criado indo para Análise de caminho de ataque e procure o caminho de ataque que você criou. Para obter mais informações, consulte Identificar e corrigir caminhos de ataque.

AWS: testando o caminho de ataque e o explorador de segurança usando uma imagem de contêiner vulnerável simulada

  1. Criar um repositório ECR chamado mdc-mock-0001

  2. Acesse sua conta da AWS e escolha Linha de comando ou acesso programático.

  3. Abra uma linha de comando e escolha Opção 1: definir variáveis de ambiente da AWS (credenciais de curto prazo). Copie as credenciais das variáveis de ambiente AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY e AWS_SESSION_TOKEN.

  4. Execute o comando a seguir para obter o token de autenticação para seu registro do Amazon ECR. Substitua <REGION> pela região do seu registo. Substitua <ACCOUNT> pelo ID da sua conta da AWS.

    aws ecr get-login-password --region <REGION> | docker login --username AWS --password-stdin <ACCOUNT>.dkr.ecr.<REGION>.amazonaws.com
    
  5. Crie uma imagem do Docker marcada como vulnerável pelo nome. O nome da imagem deve conter a cadeia de caracteres mdc-mock-0001. Depois de criar a imagem, envie-a por push para o registro ECR, com o seguinte comando (substitua <ACCOUNT> e <REGION> pelo ID e região da conta da AWS):

    docker pull alpine
    docker tag alpine <ACCOUNT>.dkr.ecr.<REGION>.amazonaws.com/mdc-mock-0001
    docker push <ACCOUNT>.dkr.ecr.<REGION>.amazonaws.com/mdc-mock-0001
    
  6. Conecte-se ao cluster EKS e instale o gráfico Helm fornecido. Configure kubectl para trabalhar com seu cluster EKS. Execute este comando (substitua <your-region> e <your-cluster-name> pelo nome e região do cluster EKS):

    aws eks --region <your-region> update-kubeconfig --name <your-cluster-name>
    
  7. Verifique a configuração. Você pode verificar se kubectl está configurado corretamente executando:

    kubectl get nodes
    
  8. Instale o ngnix ingress Controller :

    helm install ingress-controller oci://ghcr.io/nginxinc/charts/nginx-ingress --version 1.0.1
    
  9. Instale o seguinte gráfico de leme:

    helm install dcspmcharts oci://mcr.microsoft.com/mdc/stable/dcspmcharts --version 1.0.0 --namespace mdc-dcspm-demo --create-namespace --set image=<ACCOUNT>.dkr.ecr.<REGION>.amazonaws.com/mdc-mock-0001 --set distribution=AWS
    

O gráfico Helm implanta recursos em seu cluster que podem ser usados para inferir caminhos de ataque. Inclui também a imagem vulnerável.

Nota

Depois de concluir o fluxo acima, pode levar até 24 horas para ver os resultados no explorador de segurança na nuvem e no caminho de ataque.

Depois de concluir o teste do caminho de ataque, investigue o caminho de ataque criado indo para Análise de caminho de ataque e procure o caminho de ataque que você criou. Para obter mais informações, consulte Identificar e corrigir caminhos de ataque.

GCP: Testando o caminho de ataque e o explorador de segurança usando uma imagem de contêiner vulnerável simulada

  1. No portal GCP, procure Registro de Artefato e crie um repositório GCP chamado mdc-mock-0001

  2. Siga estas instruções para enviar a imagem para o repositório. Execute estes comandos:

    docker pull alpine
    docker tag alpine <LOCATION>-docker.pkg.dev/<PROJECT_ID>/<REGISTRY>/<REPOSITORY>/mdc-mock-0001
    docker push <LOCATION>-docker.pkg.dev/<PROJECT_ID>/<REGISTRY>/<REPOSITORY>/mdc-mock-0001
    
  3. Vá para o portal do GCP. Em seguida, vá para Clusters do mecanismo>Kubernetes. Selecione o botão Ligar.

  4. Uma vez conectado, execute o comando no Cloud Shell ou copie o comando de conexão e execute-o em sua máquina:

    gcloud container clusters get-credentials contra-bugbash-gcp --zone us-central1-c --project onboardingc-demo-gcp-1
    
  5. Verifique a configuração. Você pode verificar se kubectl está configurado corretamente executando:

    kubectl get nodes
    
  6. Para instalar o gráfico Helm, siga estes passos:

    1. Em Registro de artefato no portal, vá para o repositório e localize o URI da imagem em Pull by digest.

    2. Use o seguinte comando para instalar o gráfico Helm:

      helm install dcspmcharts oci:/mcr.microsoft.com/mdc/stable/dcspmcharts --version 1.0.0 --namespace mdc-dcspm-demo --create-namespace --set image=<IMAGE_URI> --set distribution=GCP
      

O gráfico Helm implanta recursos em seu cluster que podem ser usados para inferir caminhos de ataque. Inclui também a imagem vulnerável.

Nota

Depois de concluir o fluxo acima, pode levar até 24 horas para ver os resultados no explorador de segurança na nuvem e no caminho de ataque.

Depois de concluir o teste do caminho de ataque, investigue o caminho de ataque criado indo para Análise de caminho de ataque e procure o caminho de ataque que você criou. Para obter mais informações, consulte Identificar e corrigir caminhos de ataque.

Encontre problemas de postura de contêiner com o explorador de segurança na nuvem

Você pode criar consultas de uma das seguintes maneiras:

Nas seções a seguir, apresentamos exemplos de consultas que você pode selecionar ou criar.

Explore os riscos com os modelos do explorador de segurança na nuvem

  1. Na página de visão geral do Defender for Cloud, abra o explorador de segurança na nuvem.

  2. Alguns modelos prontos para Kubernetes aparecem. Selecione um dos modelos:

    • Pods do Kubernetes do Azure executando imagens com vulnerabilidades de alta gravidade
    • Os namespaces do Kubernetes contêm pods vulneráveis

    Captura de tela mostrando onde selecionar modelos.

  3. Selecione Abrir consulta, o modelo cria a consulta na parte superior da tela. Selecione Pesquisar para visualizar os resultados.

    Captura de ecrã que mostra a consulta criada e onde selecionar a pesquisa.

Crie consultas personalizadas com o explorador de segurança na nuvem

Você também pode criar suas próprias consultas personalizadas. O exemplo a seguir mostra uma pesquisa por pods executando imagens de contêiner que são vulneráveis à execução remota de código.

Captura de ecrã que mostra uma consulta personalizada.

Os resultados estão listados abaixo da consulta.

Captura de ecrã que mostra os resultados de uma consulta personalizada.

Próximos passos