Migrar regras de deteção do QRadar para o Microsoft Sentinel

Este artigo descreve como identificar, comparar e migrar as regras de deteção do QRadar para as regras incorporadas do Microsoft Sentinel.

Identificar e migrar regras

O Microsoft Sentinel utiliza a análise de machine learning para criar incidentes de alta fidelidade e acionáveis e algumas das suas deteções existentes podem ser redundantes no Microsoft Sentinel. Por conseguinte, não migre todas as suas regras de deteção e análise de forma cega. Reveja estas considerações à medida que identifica as regras de deteção existentes.

  • Certifique-se de que seleciona casos de utilização que justifiquem a migração de regras, considerando a prioridade e a eficiência empresariais.
  • Verifique se compreende os tipos de regras do Microsoft Sentinel.
  • Verifique se compreende a terminologia da regra.
  • Reveja quaisquer regras que não tenham acionado alertas nos últimos 6 a 12 meses e determine se ainda são relevantes.
  • Elimine ameaças ou alertas de baixo nível que ignora rotineiramente.
  • Utilize a funcionalidade existente e verifique se as regras de análise incorporadas do Microsoft Sentinel podem resolver os seus casos de utilização atuais. Uma vez que o Microsoft Sentinel utiliza a análise de machine learning para produzir incidentes de alta fidelidade e acionáveis, é provável que algumas das suas deteções existentes já não sejam necessárias.
  • Confirme as origens de dados ligadas e reveja os métodos de ligação de dados. Reveja as conversações de recolha de dados para garantir a profundidade e amplitude dos dados nos casos de utilização que planeia detetar.
  • Explore os recursos da comunidade, como o Marketplace de Deteção de Ameaças Principais do SOC , para verificar se as suas regras estão disponíveis.
  • Considere se um conversor de consultas online, como Uncoder.io, pode funcionar para as suas regras.
  • Se as regras não estiverem disponíveis ou não puderem ser convertidas, têm de ser criadas manualmente através de uma consulta KQL. Reveja o mapeamento de regras para criar novas consultas.

Saiba mais sobre as melhores práticas para migrar regras de deteção.

Para migrar as regras de análise para o Microsoft Sentinel:

  1. Verifique se tem um sistema de teste implementado para cada regra que pretende migrar.

    1. Prepare um processo de validação para as regras migradas, incluindo cenários de teste completos e scripts.

    2. Certifique-se de que a sua equipa tem recursos úteis para testar as regras migradas.

    3. Confirme que tem as origens de dados necessárias ligadas e reveja os métodos de ligação de dados.

  2. Verifique se as deteções estão disponíveis como modelos incorporados no Microsoft Sentinel:

    • Se as regras incorporadas forem suficientes, utilize modelos de regras incorporados para criar regras para a sua própria área de trabalho.

      No Microsoft Sentinel, aceda ao separador Modelos > de Regra de Análise de Configuração > e crie e atualize cada regra de análise relevante.

      Para obter mais informações, veja Detetar ameaças fora da caixa.

    • Se tiver deteções que não estão abrangidas pelas regras incorporadas do Microsoft Sentinel, experimente um conversor de consultas online, como Uncoder.io converter as suas consultas em KQL.

      Identifique a condição do acionador e a ação de regra e, em seguida, construa e reveja a consulta KQL.

    • Se nem as regras incorporadas nem o conversor de regras online forem suficientes, terá de criar a regra manualmente. Nesses casos, utilize os seguintes passos para começar a criar a regra:

      1. Identifique as origens de dados que pretende utilizar na sua regra. Vai querer criar uma tabela de mapeamento entre origens de dados e tabelas de dados no Microsoft Sentinel para identificar as tabelas que pretende consultar.

      2. Identifique quaisquer atributos, campos ou entidades nos seus dados que pretenda utilizar nas suas regras.

      3. Identifique os critérios e a lógica da regra. Nesta fase, poderá querer utilizar modelos de regras como exemplos de como construir as suas consultas KQL.

        Considere filtros, regras de correlação, listas ativas, conjuntos de referência, listas de observação, anomalias de deteção, agregações, etc. Pode utilizar referências fornecidas pelo SIEM legado para compreender como mapear melhor a sintaxe da consulta.

      4. Identifique a condição do acionador e a ação de regra e, em seguida, construa e reveja a consulta KQL. Ao rever a consulta, considere os recursos de orientação de otimização do KQL.

  3. Teste a regra com cada um dos seus casos de utilização relevantes. Se não fornecer os resultados esperados, poderá querer rever o KQL e testá-lo novamente.

  4. Quando estiver satisfeito, pode considerar a regra migrada. Crie um manual de procedimentos para a sua ação de regra conforme necessário. Para obter mais informações, veja Automatizar a resposta a ameaças com manuais de procedimentos no Microsoft Sentinel.

Saiba mais sobre as regras de análise:

Comparar terminologia de regra

Esta tabela ajuda-o a clarificar o conceito de uma regra no Microsoft Sentinel em comparação com o QRadar.

QRadar Microsoft Sentinel
Tipo de regra • Eventos
• Fluxo
• Comum
• Ofensa
• Regras de deteção de anomalias
• Consulta agendada
• Fusão
• Microsoft Security
• Análise de Comportamento do Machine Learning (ML)
Critérios Definir em condição de teste Definir no KQL
Condição do acionador Definir na regra Limiar: Número de resultados da consulta
Ação • Criar ofensa
• Despachar novo evento
• Adicionar ao conjunto de referência ou dados
• E muito mais
• Criar alerta ou incidente
• Integra-se com o Logic Apps

Mapear e comparar exemplos de regras

Utilize estes exemplos para comparar e mapear regras do QRadar para o Microsoft Sentinel em vários cenários.

Regra Syntax Regra de deteção de exemplo (QRadar) Consulta KQL de exemplo Recursos
Testes de propriedade comuns Sintaxe QRadar Exemplo de expressão regular
Exemplo de consulta de filtro do AQL
é igual/não é igual a exemplo
Exemplo de expressão regular
Exemplo de consulta de filtro do AQL
é igual/não é igual a exemplo
• Expressão regular: corresponde ao regex
• Consulta de filtro do AQL: operadores de cadeias
• é igual/não é igual a: Operadores de cadeia
Testes de data/hora Sintaxe QRadar Exemplo do dia do mês selecionado
Exemplo do dia da semana selecionado
depois/antes/no exemplo
Exemplo do dia do mês selecionado
Exemplo do dia da semana selecionado
depois/antes/no exemplo
Operadores de data e hora
• Dia selecionado do mês: dayofmonth()
• Dia selecionado da semana: dayofweek()
• depois/antes/em: format_datetime()
Testes de propriedades de eventos Sintaxe QRadar Exemplo de protocolo IP
Exemplo de cadeia de payload de eventos
Exemplo de protocolo IP
Exemplo de cadeia de payload de eventos
• Protocolo IP: Operadores de cadeias
• Cadeia payload de eventos: tem
Funções: contadores Sintaxe QRadar Exemplo de propriedade e hora do evento Exemplo de propriedade e hora do evento resumir
Funções: condições negativas Sintaxe QRadar Exemplo de condições negativas Exemplo de condições negativas associação()
Operadores de cadeia
Operadores numéricos
Funções: simples Sintaxe QRadar Exemplo de condições simples Exemplo de condições simples ou
Testes de IP/porta Sintaxe QRadar Exemplo de porta de origem
Exemplo de IP de origem
Exemplo de porta de origem
Exemplo de IP de origem
Testes de origem de registos Sintaxe QRadar Exemplo de origem de registo Exemplo de origem de registo

Sintaxe de testes de propriedade comuns

Eis a sintaxe QRadar para uma regra de testes de propriedade comum.

Diagrama a ilustrar uma sintaxe de regra de teste de propriedade comum.

Testes de propriedade comuns: Exemplo de expressão regular (QRadar)

Eis a sintaxe de uma regra de teste de propriedade comum QRadar de exemplo que utiliza uma expressão regular:

when any of <these properties> match <this regular expression>

Eis a regra de exemplo no QRadar.

Diagrama que ilustra uma regra de teste de propriedade comum que utiliza uma expressão regular.

Testes de propriedade comuns: Exemplo de expressão regular (KQL)

Eis a regra de testes de propriedades comuns com uma expressão regular no KQL.

CommonSecurityLog
| where tostring(SourcePort) matches regex @"\d{1,5}" or tostring(DestinationPort) matches regex @"\d{1,5}"

Testes de propriedade comuns: exemplo de consulta de filtro do AQL (QRadar)

Eis a sintaxe de uma regra de teste de propriedade comum QRadar de exemplo que utiliza uma consulta de filtro AQL.

when the event matches <this> AQL filter query

Eis a regra de exemplo no QRadar.

Diagrama que ilustra uma regra de teste de propriedade comum que utiliza uma consulta de filtro Q L.

Testes de propriedade comuns: exemplo de consulta de filtro do AQL (KQL)

Eis a regra de testes de propriedades comuns com uma consulta de filtro AQL no KQL.

CommonSecurityLog
| where SourceIP == '10.1.1.10'

Testes de propriedade comuns: é igual/não é igual a exemplo (QRadar)

Eis a sintaxe de uma regra de teste de propriedade comum QRadar de exemplo que utiliza o equals operador ou not equals .

and when <this property> <equals/not equals> <this property>

Eis a regra de exemplo no QRadar.

Diagrama que ilustra uma regra de teste de propriedade comum que utiliza igual/não é igual.

Testes de propriedade comuns: é igual/não é igual a exemplo (KQL)

Eis a regra de testes de propriedades comuns com o equals operador ou not equals no KQL.

CommonSecurityLog
| where SourceIP == DestinationIP

Sintaxe de testes de data/hora

Eis a sintaxe QRadar para uma regra de testes de data/hora.

Diagrama a ilustrar uma sintaxe de regra de testes de data/hora.

Testes de data/hora: dia selecionado do exemplo do mês (QRadar)

Eis a sintaxe de uma regra de teste de data/hora do QRadar de exemplo que utiliza um dia selecionado do mês.

and when the event(s) occur <on/after/before> the <selected> day of the month

Eis a regra de exemplo no QRadar.

Diagrama que ilustra uma regra de testes de data/hora que utiliza um dia selecionado.

Testes de data/hora: dia selecionado do exemplo do mês (KQL)

Eis a regra de testes de data/hora com um dia do mês selecionado no KQL.

SecurityEvent
 | where dayofmonth(TimeGenerated) < 4

Testes de data/hora: dia selecionado do exemplo da semana (QRadar)

Eis a sintaxe de uma regra de teste de data/hora do QRadar de exemplo que utiliza um dia selecionado da semana:

and when the event(s) occur on any of <these days of the week{Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday}>

Eis a regra de exemplo no QRadar.

Diagrama que ilustra uma regra de testes de data/hora que utiliza um dia selecionado da semana.

Testes de data/hora: dia selecionado do exemplo da semana (KQL)

Eis a regra de testes de data/hora com um dia selecionado da semana no KQL.

SecurityEvent
 | where dayofweek(TimeGenerated) between (3d .. 5d)

Testes de data/hora: depois/antes/no exemplo (QRadar)

Eis a sintaxe de uma regra de teste de data/hora do QRadar de exemplo que utiliza o afteroperador , beforeou at .

and when the event(s) occur <after/before/at> <this time{12.00AM, 12.05AM, ...11.50PM, 11.55PM}>

Eis a regra de exemplo no QRadar.

Diagrama a ilustrar uma regra de testes de data/hora que utiliza o operador após/antes/em.

Testes de data/hora: depois/antes/no exemplo (KQL)

Eis a regra de testes de data/hora que utiliza o afteroperador , beforeou at no KQL.

SecurityEvent
| where format_datetime(TimeGenerated,'HH:mm')=="23:55"

TimeGenerated está em UTC/GMT.

Sintaxe de testes de propriedade de eventos

Eis a sintaxe QRadar para uma regra de testes de propriedade de eventos.

Diagrama a ilustrar uma sintaxe de regra de teste de propriedade de eventos.

Testes de propriedades de eventos: exemplo de protocolo IP (QRadar)

Eis a sintaxe de uma regra de teste de propriedade de evento QRadar de exemplo que utiliza um protocolo IP.

and when the IP protocol is one of the following <protocols>

Eis a regra de exemplo no QRadar.

Diagrama que ilustra uma regra de testes de propriedade de eventos que utiliza um protocolo I P.

Testes de propriedade de eventos: exemplo de protocolo IP (KQL)

CommonSecurityLog
| where Protocol in ("UDP","ICMP")

Testes de propriedades de eventos: Exemplo de cadeia de payload de eventos (QRadar)

Eis a sintaxe de uma regra de teste de propriedades de eventos QRadar de exemplo que utiliza um Event Payload valor de cadeia.

and when the Event Payload contains <this string>

Eis a regra de exemplo no QRadar.

Diagrama que ilustra uma regra de testes de propriedade de eventos que utiliza uma cadeia de Payload de Eventos.

Testes de propriedades de eventos: Exemplo de cadeia de payload de eventos (KQL)

CommonSecurityLog
| where DeviceVendor has "Palo Alto"

search "Palo Alto"

Para otimizar o desempenho, evite utilizar o search comando se já souber o nome da tabela.

Funções: sintaxe de contadores

Eis a sintaxe do QRadar para uma regra de funções que utiliza contadores.

Diagrama que ilustra a sintaxe de uma regra de funções que utiliza contadores.

Contadores: Exemplo de tempo e propriedade do evento (QRadar)

Eis a sintaxe de uma regra de funções QRadar de exemplo que utiliza um número definido de propriedades de evento num número definido de minutos.

and when at least <this many> events are seen with the same <event properties> in <this many> <minutes>

Eis a regra de exemplo no QRadar.

Diagrama a ilustrar uma regra de funções que utiliza propriedades de eventos.

Contadores: Exemplo de tempo e propriedade do evento (KQL)

CommonSecurityLog
| summarize Count = count() by SourceIP, DestinationIP
| where Count >= 5

Funções: sintaxe de condições negativas

Eis a sintaxe do QRadar para uma regra de funções que utiliza condições negativas.

Diagrama que ilustra a sintaxe de uma regra de funções que utiliza condições negativas.

Exemplo de condições negativas (QRadar)

Eis a sintaxe de uma regra de funções QRadar de exemplo que utiliza condições negativas.

and when none of <these rules> match in <this many> <minutes> after <these rules> match with the same <event properties>

Eis duas regras definidas no QRadar. As condições negativas serão baseadas nestas regras.

Diagrama que ilustra uma regra de testes de propriedade de eventos a utilizar para uma regra de condições negativas.

Diagrama que ilustra uma regra comum de testes de propriedade a utilizar para uma regra de condições negativas.

Eis uma amostra da regra de condições negativas com base nas regras acima.

Diagrama que ilustra uma regra de funções com condições negativas.

Exemplo de condições negativas (KQL)

let spanoftime = 10m;
let Test2 = (
CommonSecurityLog
| where Protocol !in ("UDP","ICMP")
| where TimeGenerated > ago(spanoftime)
);
let Test6 = (
CommonSecurityLog
| where SourceIP == DestinationIP
);
Test2
| join kind=rightanti Test6 on $left. SourceIP == $right. SourceIP and $left. Protocol ==$right. Protocol

Funções: sintaxe de condições simples

Eis a sintaxe do QRadar para uma regra de funções que utiliza condições simples.

Diagrama que ilustra a sintaxe de uma regra de funções que utiliza condições simples.

Exemplo de condições simples (QRadar)

Eis a sintaxe de uma regra de funções QRadar de exemplo que utiliza condições simples.

and when an event matches <any|all> of the following <rules>

Eis a regra de exemplo no QRadar.

Diagrama que ilustra uma regra de funções com condições simples.

Exemplo de condições simples (KQL)

CommonSecurityLog
| where Protocol !in ("UDP","ICMP") or SourceIP == DestinationIP

Sintaxe dos testes de IP/porta

Eis a sintaxe QRadar para uma regra de testes de IP/porta.

Diagrama que ilustra a sintaxe de uma regra de testes de IP/porta.

Testes ip/porta: exemplo de porta de origem (QRadar)

Eis a sintaxe de uma regra QRadar de exemplo que especifica uma porta de origem.

and when the source port is one of the following <ports>

Eis a regra de exemplo no QRadar.

Diagrama a ilustrar uma regra que especifica uma porta de origem.

Testes de IP/porta: Exemplo de porta de origem (KQL)

CommonSecurityLog
| where SourcePort == 20

Testes de IP/porta: exemplo de IP de origem (QRadar)

Eis a sintaxe de uma regra QRadar de exemplo que especifica um IP de origem.

and when the source IP is one of the following <IP addresses>

Eis a regra de exemplo no QRadar.

Diagrama a ilustrar uma regra que especifica um endereço IP de origem.

Testes de IP/porta: exemplo de IP de origem (KQL)

CommonSecurityLog
| where SourceIP in (“10.1.1.1”,”10.2.2.2”)

Sintaxe dos testes de origem de registo

Eis a sintaxe do QRadar para uma regra de testes de origem de registo.

Diagrama que ilustra a sintaxe de uma regra de testes de origem de registo.

Exemplo de origem de registo (QRadar)

Eis a sintaxe de uma regra QRadar de exemplo que especifica origens de registo.

and when the event(s) were detected by one or more of these <log source types>

Eis a regra de exemplo no QRadar.

Diagrama a ilustrar uma regra que especifica origens de registo.

Exemplo de origem de registo (KQL)

OfficeActivity
| where OfficeWorkload == "Exchange"

Passos seguintes

Neste artigo, aprendeu a mapear as regras de migração do QRadar para o Microsoft Sentinel.