MITRE–Comparação entre EDRs

Um dos itens mais importantes nos últimos anos é a capacidade dos antivírus tradicionais versus os antivírus de nova geração (NGAV) alem de ferramentas com essas capacidades como o ATA e o ATP Marcelo de Moraes Sincic | Buscar por 'comportamental' (marcelosincic.com.br)

Com a evolução destes produtos o termo EDR se tornou muito comum e novas denominações como XDR (Extended Detection and Response) para definir estes produtos que usam inteligência artificial baseada em SaaS.

Como Avaliar um EDR?

Essa é a pergunta que muitos agora fazem, antes utilizávamos métodos de detecção de virus com um pendrive cheio de malwares, mas agora com o EDR e XDR estes testes baseados em assinatura de código (DAT) não são suficientes.

Para avaliar as capacidades, o MITRE, muito conhecido pela base de conhecimento MITRE ATT&CK® criou uma série de testes que as empresas de segurança executam e publicam os resultados dos seus EDRs.

Quanto maior o numero de passos detectados, melhor será a visibilidade do ataque que foi deflagrado.

Como Acessar e Ler o Ranking do MITRE ENGENUITY | ATT&CK Evaluations?

Acesse o site ATT&CK® EVALUATIONS (mitre-engenuity.org) e poderá ter um overview do processo, onde verá que já existem 3 diferentes “rounds”:

  • APT3 – Ataques que foram detectados e atribuídos ao governo chinês, baseado em roubo de identidade, movimentação lateral com scripts, rootkits e bootkits
  • APT29 – Ataques que foram detectados desde 2008 pelo governo russo baseados em PowerShell e WMI
  • Carbanak+FIN7 – Hoje um dos mais especializados, visam instituições financeiras utilizando os mais diversos tipos de ataques com sofisticação suficiente para se passarem por ferramentas administrativas dos SOs e até PDV

Uma vez entendendo os 3 diferentes conjuntos de teste, em geral avaliamos o Carbanak+FIN7 que é o mais sofisticado e atual.

Destaque para o comparativo entre os produtos, por exemplo se utilizarmos Microsoft x McAfee é possível saber as formas e técnicas em que cada um dos NGAV utilizaram para detectar os ataques.

Comparative-1

Nessa comparação podemos ver o detalhamento do tipo de ataque e o nível de log que o EDR irá gerar, clicando no link [1] que o NGAV da Microsoft criou:

Comparative-1-Details

Já o detalhamento de cada fabricante indica um resumo da eficiência em detectar os passos e gerar os EDRs para cada conjunto de ataques submetidos:

Detalhamento-1

O quadro acima mostra o numero de passos mínimo definido pelos algoritmos e quantas ações o EDR da Microsoft conseguiu identificar, o que representam passos antes e depois do ataque realizado.

Abaixo do quadro de resumo poderá ver o detalhamento dos ataques realizados com base na matriz do MITRE e ver por round a tática, técnica, sub técnica e passos que o EDR identificou. Ao clicar nas técnicas é possível ver os detalhes de cada item

Detalhamento-2

Outro interessante dado disponível são os resultados dos testes, esse retorna o EDR gerado:

Tecnica aplicada

Como Reproduzir o Mesmo Ambiente Validado nos Testes?

Talvez você já possua um dos fabricantes que foram testados, mas não tem certeza se tem os pacotes e configurações corretas.

Afinal, é importante lembrar que os testes acima são conduzidos pelos fabricantes e submetidos para publicação, então sabemos que utilizaram um conjunto de ferramentas e configurações bem construídas.

Por conta disso, os fabricantes publicam um relatório que está disponível no mesmo site, por exemplo no caso de Microsoft vemos os produtos e configurações utilizadas:

Vendor Configuration

Azure Purview como Ferramenta de Governança e Compliance

Desde a muito mantemos diagramas de bancos de dados em arquivos lógicos, que são utilizados pelos DBAs e desenvolvedores para criação de aplicações e recentemente de outras funções para dashboards.

Porem com o avanço de leis de compliance como GDPR e LGPD conhecer quem tem acesso e como acessa dados sensíveis se tornou um recurso essencial.

Muitas ferramentas de DLP já fazem com o uso de conectores esse mapeamento, como por exemplo o Security Center pode estender para SQL Server nos planos pagos.

Mas e se possuimos multiplas bases de dados em diferentes produtos, plataformas e serviços?   Neste caso temos o Azure Purview.

O que o Purview oferece?

Com o catálogo de conectores você poderá incluir diversas fontes de dados que vão de SQL e Oracle a AWS S3 e Azure BLOB e descobrir o que está sendo disponibilizado e automaticamente mapear classificações e sensibilidade dos dados.

Por exemplo, quem são os usuários que consomem no Power BI uma determinada base de dados que contem cartões de crédito?    Quais storage accounts possuem dados não estruturados contendo documentos pessoais dos clientes ou exames médicos?

Nessa linha de atuação é que teremos o Purview atuando, tanto para catalogar dados sensiveis como funcionar como um dicionário de dados e mapeamento de acesso aos dados da empresa pelo Power BI, por exemplo.

Requisitos do Purview

Para utilizar o Purview será necessário criar uma instancia de execução (começa com C1 de 4 “unidades”), um Hub de Eventos e uma Storage Account

image

image

O custo do Purview é computado pelas unidades e tambem pelos scans que são efetuados, sendo que alguns ainda estão em preview e com custo zero até 02/Agosto quando escrevo este artigo Pricing - Azure Purview | Microsoft Azure

Acessando o Purview Studio

Toda a administração é feita pelo Studio, onde criamos os conectores e realizamos os scans.

Importante: O acesso aos dados é utilizado a managed account com o nome do recurso que você criou e seguindo os passos para cada tipo de recurso que irá mapear.

clip_image001

Registrando as Fontes de Dados

O Purview já traz uma série de conectores:

clip_image001[5]

O passo a passo abaixo é a conexão com a fonte de dados SQL Database. Primeiro definimos a fonte de dados e a coleção, que nada mais é do que antes da conexão criar agrupamentos como podem ser visto na tela anterior.

clip_image001[7]

Na sequencia definimos como será acessado os dados, pois na configuração acima vemos o servidor e banco de dados mas ainda não fizemos o acesso. Para isso será definido o tipo de identidade, sendo que no exemplo utilizei a managed account dando as permissões de read no SQL Server Management Studio (link no see more):

clip_image001[11]

Essa configuração de acesso são os SCANS, onde vão as definições do que será acessado, no exemplo por ser uma conexão SQL Server o database. Na sequencia verá que selecionei as tabelas e quais classificações quero mapear (note que são as mesmas do Office 365):

clip_image001[13]

clip_image001[15]

Uma vez configurados os scans você poderá definir se ele será executado uma unica vez ou de forma recorrente, sendo que isso pode ser feito abrindo os objetos abaixo da coleção, onde podem ser visto a lista, acessados os diferentes processos e os detalhes:

clip_image001[19]

clip_image001[22]

clip_image001[17]

Classificando e detalhando os dados mapeados

Uma vez os scans executados, automaticamente o Purview irá criar os assets como pode ser visto na função Browse Assets como a sequencia abaixo:

clip_image001[24]

clip_image001[26]

Uma vez aberta uma base de dados mapeada podemos definir detalhes, por exemplo criar uma classificação de dados para a base inteira, definindo quem são os donos/arquitetos dos dados e até definir para cada coluna um tipo especifico:

clip_image001[28]

clip_image001[30]

clip_image001[32]

clip_image001[34]

clip_image001[36]

clip_image001[38]

Nessa sequencia de telas podemos ver que os contatos são importantes para identificar quem conhece e mapeou aquela base de dados. Tambem vemos como definir descrição e classificação de dados individualmente, alem das que o Purview automaticamente já detectou.

Ainda nos assets posso vizualizar uso de dados, por exemplo quais bases de dados estão sendo usadas no Power BI de usuários PRO?   O Purview permitirá que vc tenha essa visualização como abaixo:

clip_image001[40]

clip_image001[42]

Customizando dados sensíveis e criando o glossário

Nos exemplos acima e na interface do Purview podem ser vistos dois itens, um já conhecido que é a classificação automática de sensibilidade e outra que é o glossário.

A classificação já tem pré-carregados os dados do Office 365 que são padrão dos compliances que a Microsoft já fornece, mas você poderá customizar novos assim como é feito no Compliance do Office 365:

clip_image001[44]

Alem disso poderá criar termos de glossário que nada mais são do que um dicionário de dados para consulta. É importantíssimo que isso seja feito, pois será uma base de dados para que administradores e outros especialistas consigam saber por exemplo, de bases de dados especificas.

Uma vez criado os verbetes do glossário, em cada fonte de dados, tabela e coluna será possivel identificar essa classificação como já mostrado na tela de dados da tabela.

clip_image001[46]

Interessante que para os itens é possível incluir atributos, ou seja indicar que se classificar uma tabela ou coluna como confidencial indicar um atributo obrigatório para escrever o motivo:

clip_image002

CONCLUSÃO

Uma vez mapeados com o Purview é possivel ter visibilidade de uso dos dados sensiveis, classificação dos dados em geral e montar um dicionario de dados moderno.

Utilizando o Azure Application Insigths na Analise de Vulnerabilidades

Uma das ferramentas que são criadas costumeiramente nas aplicações Web hospedadas, o Azure Application Insigths, é subutilizado pelos time de desenvolvimento, operações e segurança.

O que é possivel com o App Insights?

O App Inisgths captura log e executa tarefas para avaliar performance, estabilidade e estatísticas de uso de um web app.

Quando comparado a outras ferramentas comuns com o Google Analytics é importante lembrar que o App Insigths tambem funciona como um APM (App Performance Monitoring) detalhando funções e linhas de código como chamadas a banco de dados, que estão gerando lentidão.

Particularmente gostou muito de algumas funções Smart detection settings que são regras comuns para detecção de tendências ou problema, além de métricas e as Live Metrics como abaixo. Alias, veja que a página de contato já demonstra um ataque simulado na chamada da página de contato:

Performance

Metricas-1

Outra função interessante que utilizo com frequencia em projetos é Avaliabiliy onde podemos criar regras de teste com páginas especificas em diversas localidades do Azure para funcionar como o antigo Global Monitoring Service.

image

O foco neste post não é detalhar as funções de APM, mas sim o uso pelo time de segurança.

Como o App Insights é útil para Segurança?

Primeiro temos o Application Map de onde iniciamos as analises. Basicamente ele é um modelo simples de dependencias e comunicação de dentro e de fora, incluindo as analises de disponibilidade que mostramos anterioremente.

Application Map

Mas ao retirar o WAF para gerar os logs e demonstrar nesse post, o resultado foi muito rápido como pode ser visto no diagrama abaixo.

Veja que os dois endereços na parte inferior são fontes desconhecidas e poderiam ser ataques, enquanto também se vê claramente os rastreadores e robôs do Google e outro site, mas estes não seriam o problema.

Ataque-1

Ao pedir acima os detalhes de pacotes e comunicação trocada com o meu blog com este endereço é possivel ver o que eles tentaram e quantas vezes.

Ataque-2

O passo seguinte é clicarmos em Samples ou na lista do lado direito para analisar as queries que foram recebidas.

Como pode ser visto abaixo, é possivel identificar de onde e como o acesso foi realizado por esse dominio que estava analisando os detalhes.

Ataque-3

Mas vamos deixar rodando por mais tempo com o WAF desativado e veremos com um histórico detalhadas.

Validando ataques reais

Agora com mas tempo exposto (como gostamos de correr risco Smile) o meu blog pôde ter mais dados para serem demonstrados.

Vamos abrindo em detalhes os itens no mapa onde demonstraram as estatisticas de falhas ocoridas.

Na primeira tela de detalhes vemos que só de falhas nas ultimas 24 horas eu recebi mais de 11 mil chamadas!!!

Failures-1

Mas a alegria se transforma em tristeza, ou melhor preocupação, essas 11290 chamadas na verdade fazem parte de um ataque orquestrado por força bruta…

Failures-2

Agora vamos começar a entender melhor o que estão tentando fazer no meu blog. Para isso vamos fazer uma “caminhada” pelos dados do App Insigths.

Do lado esquerdo já podemos ver que os ataques se deram por tentar enviar parametros e listas diretamente nas páginas do blog.

Failures-3

Abrindo mais detalhes consigo descobrir que a fonte do ataque são PCs na China usando um SDK especifico. Em alguns casos é possivel ver tambem o IP e com isso criar uma lista de bloqueio ou potenciais atacantes.

Failures-4

Segue um outro exemplo mais recente que teve quase a mesma origem (outra cidade chinesa), mas com detalhes de sofisticação onde foi utilizado um script e não apenas um SQL Injection:

Failures-4a

Continuando a caminhada posso ver a sequencia que o “usuário” utilizou no meu site, vejam que a lista de tentativas foi grande, e muitas vezes na mesma página:

Failures-5

O ataque na tela acima é um SQL Injection muito comum de ser utilizado em sites web por atacantes. Veja detalhes em CAPEC - CAPEC-66: SQL Injection (Version 3.5) (mitre.org)

O que fazer ao detectar um ataque ao site site ou aplicação?

Em geral os Web Application Firewall seguram boa parte dos ataques que vimos acontecer no meu blog em 24 horas, tanto que eu não fazia ideia antes que poderiam chegar a quase 12 mil em apenas 24 horas.

Mas mesmo que tenha um WAF é importante que monitore constantemente o numero de falhas em páginas para identificar se é um problema de aplicação ou um ataque que está tentando encontrar as vulnerabilidades, como os exemplos acima do meu site.

Outra importante ação é ajudar os desenvolvedores e não aceitar comandos diretamente do POST e muito menos concatenar cadeias de caracteres  dentro de parâmetros e comandos internos.

Utilize tambem uma biblioteca de desenvolvimento robusta, por exemplo no meu teste de exposição não tive o blog invadido pois o próprio .NET já possui filtros para evitar comandos enviados diretamente no POST ou URL.

Como um recurso mais sofisticado para ataques direcionados, veja a opção Create Work Items onde poderá criar automações, por exemplo barrar um determinado serviço ou até derrubar um servidor quando detectar uma anomalia muito grande!

Relembrando que o App Insights se integra ao Log Analytics para consultas e ao Sentinel para segurança inteligente de Threats!!!!

Conclusão

Se não conhece, não tem habilitado ou não utiliza o App Insights comece agora!

Não o limite a analises de performance e sessões, aprenda a ler também os indícios de falhas de segurança antes que uma invasão ocorra.