Partilhar via


Configurando a resposta à verificação de malware

Configure respostas automatizadas para mover ou remover ficheiros maliciosos ou para mover/ingerir ficheiros limpos para outro destino. Selecione a opção de resposta preferida que se adapta à sua arquitetura de cenário.

Com a verificação de malware, você pode criar sua resposta de automação usando as seguintes opções de resultado de verificação:

  • Alertas de segurança do Defender for Cloud
  • Eventos da Grade de Eventos
  • Tags de índice de Blob

Gorjeta

Convidamos você a explorar o recurso de verificação de malware no Defender for Storage através do nosso laboratório prático. Siga as instruções de treinamento do Ninja para obter um guia detalhado e passo a passo sobre como configurar e testar a Verificação de Malware de ponta a ponta, incluindo a configuração de respostas aos resultados da verificação. Isso faz parte do projeto "laboratórios" que ajuda os clientes a se familiarizarem com o Microsoft Defender for Cloud e fornecer experiência prática com seus recursos.

Aqui estão algumas opções de resposta que você pode usar para automatizar sua resposta:

Bloquear o acesso a arquivos não digitalizados ou mal-intencionados usando ABAC (controle de acesso baseado em atributos)

Você pode bloquear o acesso a arquivos mal-intencionados e não verificados com a autorização de controle de acesso baseado em atributo (ABAC) do Microsoft Entra. Ele permite que você defina o acesso condicional a blobs com base nos resultados da verificação e permita que aplicativos e usuários acessem apenas arquivos digitalizados que estão limpos.

Siga as instruções no vídeo a seguir para configurá-lo.

Excluir ou mover um blob mal-intencionado

Você pode usar o código ou a automação do fluxo de trabalho para excluir ou mover arquivos mal-intencionados para a quarentena.

Prepare seu ambiente para excluir ou mover

  • Excluir o arquivo mal-intencionado - Antes de configurar a exclusão automática, é recomendável ativar a exclusão suave na conta de armazenamento. Permite "undelete" ficheiros se houver falsos positivos ou nos casos em que os profissionais de segurança querem investigar os ficheiros maliciosos.

  • Mover o arquivo mal-intencionado para a quarentena - Você pode mover arquivos para um contêiner de armazenamento dedicado ou conta de armazenamento que são considerados como "quarentena ". Talvez você queira que apenas determinados usuários, como um administrador de segurança ou um analista SOC, tenham permissão para acessar esse contêiner dedicado ou conta de armazenamento.

Configurar automação

Opção 1: Aplicativo lógico baseado em alertas de segurança do Microsoft Defender for Cloud

As respostas baseadas no Logic App são uma abordagem simples e sem código para configurar a resposta. No entanto, o tempo de resposta é mais lento do que a abordagem baseada em código orientada a eventos.

  1. Implante o modelo DeleteBlobLogicApp Azure Resource Manager (ARM) usando o portal do Azure.

  2. Selecione o Aplicativo Lógico que você implantou.

  3. Adicione uma atribuição de função ao Aplicativo Lógico para permitir que ele exclua blobs da sua conta de armazenamento:

    1. Vá para Identidade no menu lateral e selecione Atribuições de função do Azure.

      Screenshot that shows how to set up a role assignment for workflow automation to respond to scan results.

    2. Adicione uma atribuição de função no nível de assinatura com a função de Colaborador de Dados de Blob de Armazenamento .

    3. Crie automação de fluxo de trabalho para alertas do Microsoft Defender for Cloud:

      1. Vá para Microsoft Defender for Cloud no portal do Azure.
      2. Vá para Automação de fluxo de trabalho no menu lateral.
      3. Adicione um novo fluxo de trabalho: no campo O nome do alerta contém, preencha Arquivo mal-intencionado carregado na conta de armazenamento e escolha seu aplicativo lógico na seção Ações.
      4. Selecione Criar.

      Screenshot that shows how to set up workflow automation to respond to scan results.

Opção 2: Aplicativo de função baseado em eventos da grade de eventos

Um aplicativo de função fornece alto desempenho com um tempo de resposta de baixa latência.

  1. Crie um aplicativo de função no mesmo grupo de recursos que sua conta de armazenamento protegida.

  2. Adicione uma atribuição de função para a identidade do aplicativo Função.

    1. Vá para Identidade no menu lateral, verifique se o status de identidade atribuída ao sistema está Ativado e selecione Atribuições de função do Azure.

    2. Adicione uma atribuição de função nos níveis de assinatura ou conta de armazenamento com a função de Colaborador de Dados de Blob de Armazenamento .

  3. Consuma eventos da Grade de Eventos e conecte uma Função do Azure como o tipo de ponto de extremidade.

  4. Ao escrever o código da Função do Azure, você pode usar nosso exemplo de função pré-criada - MoveMaliciousBlobEventTrigger ou escrever seu próprio código para copiar o blob em outro lugar e, em seguida, excluí-lo da fonte.

Para cada resultado da verificação, um evento é enviado de acordo com o esquema a seguir.

Estrutura da mensagem do evento

A mensagem de evento é um objeto JSON que contém pares chave-valor que fornecem informações detalhadas sobre um resultado de verificação de malware. Aqui está um detalhamento de cada chave na mensagem do evento:

  • id: Um identificador exclusivo para o evento.

  • subject: uma cadeia de caracteres que descreve o caminho do recurso do blob (arquivo) digitalizado na conta de armazenamento.

  • data: Um objeto JSON que contém informações adicionais sobre o evento:

    • correlationId: um identificador exclusivo que pode ser usado para correlacionar vários eventos relacionados à mesma verificação.

    • blobUri: O URI do blob (arquivo) digitalizado na conta de armazenamento.

    • eTag: O ETag do blob digitalizado (arquivo).

      • scanFinishedTimeUtc: O carimbo de data/hora UTC quando a verificação foi concluída.

      • scanResultType: O resultado da verificação, por exemplo, "Malicious" ou "Nenhuma ameaça encontrada".

      • scanResultDetails: Um objeto JSON contendo detalhes sobre o resultado da verificação:

        1. malwareNamesFound: Uma matriz de nomes de malware encontrados no arquivo digitalizado.

        2. sha256: O hash SHA-256 do arquivo digitalizado.

  • eventType: Uma cadeia de caracteres que indica o tipo de evento, neste caso, "Microsoft.Security.MalwareScanningResult".

  • dataVersion: O número da versão do esquema de dados.

  • metadataVersion: O número da versão do esquema de metadados.

  • eventTime: O carimbo de data/hora UTC quando o evento foi gerado.

  • topic: O caminho do recurso do tópico Grade de Eventos ao qual o evento pertence.

Eis um exemplo de uma mensagem de evento:

{
  "id": "52d00da0-8f1a-4c3c-aa2c-24831967356b",
  "subject": "storageAccounts/<storage_account_name>/containers/app-logs-storage/blobs/EICAR - simulating malware.txt",
  "data": {
    "correlationId": "52d00da0-8f1a-4c3c-aa2c-24831967356b",
    "blobUri": "https://<storage_account_name>.blob.core.windows.net/app-logs-storage/EICAR - simulating malware.txt",
    "eTag": "0x8DB4C9327B08CBF",
    "scanFinishedTimeUtc": "2023-05-04T11:31:54.0481279Z",
    "scanResultType": "Malicious",
    "scanResultDetails": {
      "malwareNamesFound": [
        "DOS/EICAR_Test_File"
      ],
      "sha256": "275A021BBFB6489E54D471899F7DB9D1663FC695EC2FE2A2C4538AABF651FD0F"
    }
  },
  "eventType": "Microsoft.Security.MalwareScanningResult",
  "dataVersion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2023-05-04T11:31:54.048375Z",
  "topic": "/subscriptions/<subscription_id>/resourceGroups/<resource_group_name>/providers/Microsoft.EventGrid/topics/<event_grid_topic_name>"
}

Ao compreender a estrutura da mensagem do evento, pode extrair informações relevantes sobre o resultado da Análise de Malware e processá-las em conformidade.

Torne seus aplicativos e fluxos de dados cientes dos resultados da verificação de malware

A verificação de malware é quase em tempo real e, geralmente, há uma pequena janela de tempo entre o momento do upload e o tempo da verificação. Como o armazenamento não é computacional, não há risco de que arquivos mal-intencionados sejam executados em seu armazenamento. O risco é usuários ou aplicativos acessarem arquivos maliciosos e espalhá-los por toda a organização.

Existem alguns métodos para tornar seus aplicativos e fluxos de dados cientes dos resultados da verificação de malware e garantir que não haja nenhuma maneira de acessar/processar um arquivo antes que ele tenha sido verificado e seu resultado tenha sido consumido e executado.

Os aplicativos ingerem dados com base no resultado da verificação

Opção 1: Aplicativos que marcam "Tag de índice" antes de processar

Uma maneira de obter dados ingeridos é atualizar todos os aplicativos que acessam a conta de armazenamento. Cada aplicativo verifica o resultado da verificação para cada arquivo e, se o resultado da verificação da tag de índice de blob não for nenhuma ameaça encontrada, o aplicativo lê o blob.

Opção 2: Conectar seu aplicativo a um Webhook em eventos da Grade de Eventos

Você pode conectar seu aplicativo a um Webhook em eventos de Grade de Eventos e usar esses eventos para acionar os processos relevantes para arquivos que não têm ameaças encontradas resultados de verificação. Saiba mais sobre como usar a entrega de eventos Webhook e validar seu endpoint.

Usar uma conta de armazenamento intermediário como DMZ

Você pode configurar uma conta de armazenamento intermediário para conteúdo não confiável (DMZ) e direcionar o tráfego de upload para a DMZ. Na conta de armazenamento não confiável, habilite a Verificação de Malware e conecte a Grade de Eventos e o Aplicativo de Função para mover apenas blobs verificados com o resultado "nenhuma ameaça encontrada" para a conta de armazenamento de destino.

Diagram that shows how to set up an intermediary storage account as a DMZ.

Próximos passos

Saiba como entender os resultados da verificação de malware no Microsoft Defender for Storage.