Utilizando o Log Analytics do Application Insights para detectar anomalias em Web Apps

Em um post passado abordei o uso do Log do Application Insigths para visualizar ataques e anomalias Marcelo Sincic | Utilizando o Azure Application Insigths na Analise de Vulnerabilidades

Porem, vi a necessidade de complementar para alguns que me pediram para integrar as consultas com logs do MCAS, Defender e outros.

Partindo do principio que em todas as ferramentas utilizaremos KQL (Kusto Query Language) o primeiro passo é escrever o comando para isso e trazer o log como a imagem abaixo:

Captura de tela 2023-07-17 103348

Na consulta acima é possivel trazer os dados que estão no dashboard do artigo anterior, porem por estar escrito em KQL poderá customizar as colunas, formatos e filtra o que melhor lhe interessa.

Por exemplo, poderá alerar a consulta original para trazer os IPs por paises que mais consultaram as páginas de seu site para detectar origens que deseja filtrar e barrar no firewall:

AppRequests
    | where TimeGenerated > ago(1d)
    | where Success == False
    | summarize count() by ClientIP, ClientCountryOrRegion

Captura de tela 2023-07-17 104320

Outro exemplo é filtrar as requisições que tentaram baixar arquivos compactados diretamente de seu site, como o exemplo abaixo:

AppRequests
    | where TimeGenerated > ago(1d)
    | where Success == False
    | where Url contains "zip" or Url contains "rar"
    | project ClientCountryOrRegion, ClientStateOrProvince, ClientCity, ClientIP, Url

Captura de tela 2023-07-17 104909

Um terceiro exemplo é eu conseguir identificar as tentativas de SQL Injection a partir dos comandos básicos utilizados para esse tipo de exploração de vulnerabilidade:

AppRequests
    | where TimeGenerated > ago(1d)
    | where Success == False
    | where Url contains "select" or Url contains "union"
    | project Url, ClientCountryOrRegion, ClientStateOrProvince, ClientCity, ClientIP

Captura de tela 2023-07-17 105200

Conclusão

Com o uso dos logs armazenados de sua aplicação será possivel visualizar os principais ataques e como se defender melhorando sua aplicação e ter um monitoramento de atividades.

Integrando e enriquecendo o Sentinel com dados do Virus Total

Apresentando o Virus Total

O site Virus Total é um serviço muito conhecido do time de cibersegurança por permitir acompanhar diversos IoCs (Indicators of Compromissed) como hash de arquivo, IP, dominio ou URL baseado em uma pesquisa simples.

O Virus Total tem uma modalidade de assinatura onde é gratuita e possui limites para consultas, a fim de evitar o uso por bots ou sistemas de terceiros.
Veja abaixo os detalhes e note que temos aqui nossa API Key mesmo sendo uma conta gratuita:
 
 

Solution no Sentinel

Já que temos a possibilidade de integrar os dados do Virus Total com os alertas e incidentes do Sentinel, a primeira ação é instalarmos a Solution:
 
 
Ao instalar a solução verá na tela de informações a esquerda que inclui 9 playbooks que irão colher os dados do incidente, alerta, domínio ou arquivo para buscar e correlacionar os dados do Sentinel com o Virus Total.
O passo seguinte é clicar em Automation --> Playbook templates e instalar os playbooks, para isso poderá filtrar pela palavra "virus total" e usar o botão Create Template para abrir a janela de instalação do playbook em seu ambiente:
 
 
Nesta tela verá que não é necessário ainda conectar seu API Key nem o Log Analytics, isso será feito após o deploy quando ele abrir a tela de design do Logic Apps:
 
 
 
Note que ao abrir as tarefas e sequencia do Logic Apps verá que a conexão do Virus Total e do LogAnalytics estarão com o simbolo de aviso e o botão salvar não irá funcionar até que arrume as conexões.
Para isso a primeira vez será necessáiro clicar em API Connections e informar os dados tanto do Virus Total quanto do Log Analaytics que será utilizado. Abaixo o exemplo de conexão com a Virus Total:
 
 
 
Nos próximos conectores você não precisará mais configurar as conexões, pois ele irá permitir utilizar a conexão já configurada nos playbooks anteriores, como a imagem abaixo:
 
 
 
Lembre-se que precisará conectar tanto a API do Virus Total quanto do Log Analytics (workspace ID e Key).
Uma vez configurado, agora você depois de abrir todas as tarefas e indicar as conexões poderá salvar o Logic Apps e verá que ele irá aparecer na tab Active playbooks:
 
 

Criando a Automação

Agora que já importamos a solução e criamos os playbooks que desejamos usar, o passo seguinte é criar a regra para executá-lo, chamada de Automation Rule.
Para isso clique no botão Create --> Automation Rule e indique o nome da regra e o disparador (trigger) que pode ser um incidente novo, alterado ou um novo alerta.
Ao escolher o tipo de disparador utilize como ação Run Playbook para escolher um dos que criamos no passo anterior: