Microsoft Defender for Storage: malware scanning

Microsoft Defender for Storage: malware scanning

No artigo anterior falamos de maneira geral sobre as capacidades do Defender for Storage e como o mesmo pode contribuir para a proteção dos storages da sua empresa. Hoje vamos falar com mais detalhes sobre as varreduras que o Defender faz em seus blobs e como utilizar esse recurso para montar sua arquitetura.


Entendendo o recurso

Nas fundações das estruturas em nuvem, temos o design, construção e configuração da camada de rede (virtual networks, subnets, firewalls, etc). A construção dessa camada estabelece o perímetro do nosso ambiente, principalmente quando adotamos uma arquitetura hub-and-spoke. É necessário garantir que tudo que estiver entrando em nosso ambiente, tenha sido devidamente analisado e seja seguro.

Exigir que os primeiros passos de um objeto dentro do nosso ambiente sejam a validação de integridade daquele arquivo não exime validações posteriores (principalmente quando estivermos colocando em prática uma arquitetura zero trust).

Para garantirmos a tranquila ingestão dos arquivos disponibilizados de diferentes maneiras (através de interfaces com clientes, parceiros, etc.) é importante realizar uma varredura e possivelmente implementar um processo de segregação dos blobs para garantir que apenas os documentos "limpos" e íntegros possam ser consumidos e internalizados nas diferentes construções feitas em seu ambiente.

Considerando que o Microsoft Defender for Storage está habilitado em sua Storage Account e o recurso de malware scanning está configurado, podemos começar a trabalhar para proteger nossos storages e também nossas soluções como um todo.

Como a solução funciona?

Uma vez ativo, o defender for storage irá escanear todos os arquivos que forem colocados nas storage accounts que estiverem sendo monitoradas. Por padrão, é criado um Azure Event Grid System Topic que receberá todos os eventos disparados pela storage account. Esse tópico pode ser utilizado por outras soluções para decidir o que fazer com o objeto (entraremos em mais detalhes na próxima seção).

Ao receber o evento BlobCreated na storage account, o defender for storage executará o malware scanning em near real time, disponibilizando rapidamente o resultado da análise.

O objeto analisado, por padrão, é mantido na storage account, a não ser que uma automação seja criada para removê-lo ou modificá-lo. Após a análise, o blob tem uma tag criada em si, representando o resultado da análise. Essa tag é representada como na imagem abaixo:

Screenshot that shows an example of a blob index tag.

Além disso, caso seja identificado uma espécie de malware em um dos arquivos, será gerado também um alerta na seção Security Alerts do Microsoft Defender for Cloud. O alerta será semelhante ao representado abaixo:

Ao selecionar o alerta, você pode ter mais informações sobre o evento gerado e tudo que está relacionado a ele. Na seção "MITRE ATT&CK" podemos visualizar os vetores de ataque que estão relacionados com esse evento e de que forma nosso ambiente pode ser prejudicado caso seja exposto a esse malware.

O tópico do event grid criado para envio dos eventos gerados pela storage account também pode ser consumido com o objetivo de validar a verificação contra malware e automatizar a manipulação dos arquivos.


Respondendo às análises

Falamos com profundidade sobre como a solução funciona e o que é possível fazer com ela, agora vamos comentar sobre as automações que podem ser construídas com recursos nativos da nuvem.

Utilizando as análises geradas

Após configurar seu defender (independente do nível), chegou a hora de fazer uso dos resultados das análises. Os eventos gerados pelo defender permitem a criação de workflows e arquiteturas orientadas a eventos. Vamos explorar essas opções nas seções abaixo.

Diagram showing flow of viewing and consuming malware scanning results.

A imagem acima, retirada da documentação oficial da Microsoft, lista os métodos de integração com os resultados do scanning feito pelo defender for storage. Podemos utilizar as funcionalidades e recursos representados acima como "repositórios" para os resultados gerados pelo scan. Esses repositórios fornecem maneiras de integração com outros recursos da plataforma, que permitirão a automação e a construção de soluções serverless e orientadas a eventos.

O desenho abaixo mostra as diferentes maneiras que cada recurso pode ser integrado:

As 4 formas de integração são representadas pela seção Integration. Os Security Alerts do Defender for Cloud podem ser utilizados para acionamento da equipe de SOC e para automações utilizando o Azure Logic Apps. Os dois recursos farão uso dos alertas gerados pelo defender para serem executados. Esses alertas são gerados automaticamente, com a criticidade devida e com as características do tipo de ameaça identificada.

As Index Tags colocadas nos blobs podem ser utilizadas pela sua aplicação para garantir que o documento acessado é de fato seguro e não representa nenhum perigo para a solução. Caso a arquitetura montada faça uso de storages secundários para armazenamento dos arquivos válidos, a análise das tags garante uma segunda etapa de validação.

A terceira opção elencada representa o uso do Azure Event Grid, solução de streaming que permite a construção de arquiteturas orientadas a eventos. Fazendo uso das Azure Functions, podemos criar uma aplicação que recebe os estímulos vindos do event grid e respondem como desejado. Nos eventos enviados ao grid pelo defender for storage, devemos nos atentar nas propriedades eventType e scanResultType, que fornecem informações sobre o resultado da análise de malware feita no blob.

Por último temos o Log Analytics Workspace. Esse recurso não tem o propósito de automatizar qualquer tipo de resposta ou operação, a proposta é ingerir os logs gerados pelo defender e analizá-los, a fim de obter insights sobre os arquivos carregados e sobre os resultados obtidos. Todos os resultados são colocados em uma tabela chamada StorageMalwareScanningResults, sendo a fonte que deve ser consultada para visualização das métricas e logs gerados pelo defender.


Testando

Com o intuito de testar a viabilidade da solução, podemos seguir o passo a passo do seguinte repositório: Defender for Storage - Labs.

O repositório contém todo o passo a passo desde como configurar o defender até como visualizar alertas e automatizar as respostas aos eventos.

O lab consiste na configuração da solução e upload de alguns arquivos, incluindo um arquivo que contém conteúdo possivelmente malicioso. Podemos visualizar os alertas gerados no defender for cloud, as index tags criadas nos blobs analisados e criar uma aplicação para consumir o tópico do azure event grid criado.


Proteger os storages vai muito além de garantir apenas a segurança dos arquivos, precisamos pensar também no controle de acessos e nas configurações de rede, mas ter a garantia de que os conteúdos utilizados pela soluções estão livres de ameaças, dá a liberdade que as equipes precisam para continuar evoluindo suas jornadas e seus produtos.

Espero que tenha gostado do conteúdo.

Até logo!