Compartilhar via


Migrar as regras de detecção do QRadar para o Microsoft Sentinel

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

Identificar e migrar regras

O Microsoft Sentinel usa a análise de machine learning para criar incidentes acionáveis e de alta fidelidade, e algumas das detecções existentes podem ser redundantes no Microsoft Sentinel. Portanto, não migre todas as regras de detecção e análise indiscriminadamente. Examine essas considerações à medida que identifica as regras de detecção existentes.

  • Selecione casos de uso que justifiquem a migração da regra, considerando a prioridade e a eficiência dos negócios.
  • Verifique se você entende os tipos de regras do Microsoft Sentinel.
  • Verifique se você entende a terminologia de regras.
  • Examine todas as regras que não dispararam nenhum alerta nos últimos 6 a 12 meses e determine se elas ainda são relevantes.
  • Elimine ameaças de baixo nível ou alertas que você costuma ignorar.
  • Use a funcionalidade existente e verifique se as regras de análise internas do Microsoft Sentinel podem abordar seus casos de uso atuais. Como o Microsoft Sentinel usa a análise de machine learning para produzir incidentes acionáveis e de alta fidelidade, é provável que algumas das suas detecções existentes não sejam mais necessárias.
  • Confirme as fontes de dados conectadas e examine os métodos de conexão de dados. Reveja as conversas de coleta de dados a fim de garantir a profundidade e a amplitude dos dados nos casos de uso que você planeja detectar.
  • Explore os recursos da comunidade, como o Marketplace de Detecção de Ameaças do SOC Prime, para verificar se as suas regras estão disponíveis.
  • Considere se um conversor de consultas online, como o Uncoder.io, pode funcionar para suas regras.
  • Se as regras não estiverem disponíveis ou não puderem ser convertidas, elas precisarão ser criadas manualmente, usando uma consulta KQL. Examine o mapeamento de regras para criar consultas.

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

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

  1. Verifique se há um sistema de teste em vigor para cada regra que você deseja migrar.

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

    2. Verifique se a equipe tem recursos úteis para testar suas regras migradas.

    3. Confirme se você tem todas as fontes de dados necessárias conectadas e examine os métodos de conexão de dados.

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

    • Se as regras internas forem suficientes, use modelos de regra internos para criar regras para seu próprio workspace.

      No Microsoft Sentinel, vá para a guia Configuração > Análise > Modelos de regra e crie e atualize cada regra de análise relevante.

      Para saber mais, confira Detectar ameaças prontas para uso.

    • Se você tiver detecções que não são cobertas pelas regras internas do Microsoft Sentinel, tente um conversor de consulta online, como Uncoder.io, para converter suas consultas em KQL.

      Identifique a condição de gatilho e a ação de regra e, em seguida, construa e revise sua consulta KQL.

    • Se nem as regras internas nem um conversor de regra online forem suficientes, você precisará criar a regra manualmente. Nesses casos, use as seguintes etapas para começar a criar sua regra:

      1. Identifique as fontes de dados que você deseja usar em sua regra. Você desejará criar uma tabela de mapeamento entre fontes de dados e tabelas de dados no Microsoft Sentinel para identificar as tabelas que deseja consultar.

      2. Identifique quaisquer atributos, campos ou entidades em seus dados que você deseja usar em suas regras.

      3. Identifique os critérios de regra e a lógica. Neste estágio, talvez você queira usar modelos de regra como exemplos de como construir suas consultas KQL.

        Considere filtros, regras de correlação, listas ativas, conjuntos de referência, watchlists, anomalias de detecção, agregações e assim por diante. Você pode usar referências fornecidas pelo SIEM herdado a fim de entender como mapear melhor a sintaxe da sua consulta.

      4. Identifique a condição de gatilho e a ação de regra e, em seguida, construa e revise sua consulta KQL. Ao revisar sua consulta, considere os recursos de diretrizes de otimização do KQL.

  3. Teste a regra com cada um de seus casos de uso relevantes. Se isso não fornecer os resultados esperados, examine o KQL e teste-o novamente.

  4. Quando estiver satisfeito, você poderá considerar a regra migrada. Crie um guia estratégico para sua ação de regra, conforme necessário. Para saber mais, confira Automatizar a resposta a ameaças com guias estratégicos no Microsoft Sentinel.

Saiba mais sobre as regras de análise:

Comparar a terminologia de regra

Esta tabela ajuda você a esclarecer 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 detecção de anomalias
• Consulta agendada
• Fusão
• Segurança da Microsoft
• Análise Comportamental de ML (Machine Learning)
Critérios Definir na condição de teste Definir no KQL
Condição do gatilho Definir na regra Limite: número de resultados de consulta
Ação • Criar ofensa
• Expedir novo evento
• Adicionar a dados ou conjunto de referência
• E mais
• Criar alerta ou incidente
• Integra-se aos Aplicativos Lógicos

Mapear e comparar exemplos de regra

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

Regra Sintaxe Exemplo de regra de detecção (QRadar) Exemplo de consulta KQL Recursos
Testes de propriedade comuns Sintaxe do QRadar Exemplo de expressão regular
Exemplo de consulta de filtro AQL
Exemplo de equals/not equals
Exemplo de expressão regular
Exemplo de consulta de filtro AQL
Exemplo de equals/not equals
• Expressão regular: corresponde a regex
• Consulta de filtro AQL: operadores de cadeia de caracteres
• equals/not equals: operadores de cadeia de caracteres
Testes de data/hora Sintaxe do QRadar Exemplo de dia selecionado do mês
Exemplo de dia selecionado da semana
Exemplo de após/antes/em
Exemplo de dia selecionado do mês
Exemplo de dia selecionado da semana
Exemplo de após/antes/em
Operadores de data e hora
• Dia selecionado do mês: dayofmonth()
• Dia selecionado da semana: dayofweek()
• após/antes/em: format_datetime()
Testes de propriedade de evento Sintaxe do QRadar Exemplo de protocolo IP
Exemplo de cadeia de caracteres de carga do evento
Exemplo de protocolo IP
Exemplo de cadeia de caracteres de carga do evento
• Protocolo IP: operadores de cadeia de caracteres
• Cadeia de caracteres de carga do evento: tem
Funções: contadores Sintaxe do QRadar Exemplo de propriedade e hora do evento Exemplo de propriedade e hora do evento summarize
Funções: condições negativas Sintaxe do QRadar Exemplo de condições negativas Exemplo de condições negativas join()
Operadores de cadeia de caracteres
Operadores numéricos
Funções: simples Sintaxe do QRadar Exemplo de condições simples Exemplo de condições simples or
Testes de IP/porta Sintaxe do 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 log Sintaxe do QRadar Exemplo de origem de log Exemplo de origem de log

Sintaxe de testes de propriedades comuns

Esta é a sintaxe do QRadar para uma regra de testes de propriedades comuns.

Diagrama ilustrando uma sintaxe de regra de teste de propriedade comum.

Testes de propriedades comuns: exemplo de expressão regular (QRadar)

Esta é um exemplo de sintaxe de uma regra de testes de propriedades comuns do QRadar que usa uma expressão regular:

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

Esta é a regra de exemplo no QRadar.

Diagrama ilustrando uma regra de teste de propriedade comum que usa uma expressão regular.

Testes de propriedades comuns: exemplo de expressão regular (KQL)

Esta é a regra de testes de propriedades comuns com uma expressão regular em 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 de AQL (QRadar)

Esta é um exemplo de sintaxe de uma regra de testes de propriedades comuns do QRadar que usa uma consulta de filtro de AQL.

when the event matches <this> AQL filter query

Esta é a regra de exemplo no QRadar.

Diagrama ilustrando uma regra de teste de propriedade comum que usa uma consulta de filtro AQL.

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

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

CommonSecurityLog
| where SourceIP == '10.1.1.10'

Testes de propriedades comuns: exemplo de equals/not equals (QRadar)

Esta é um exemplo de sintaxe de uma regra de testes de propriedades comuns do QRadar que usa o operador equals ou not equals.

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

Esta é a regra de exemplo no QRadar.

Diagrama ilustrando uma regra de teste de propriedade comum que usa igual/diferente.

Testes de propriedades comuns: exemplo de equals/not equals (KQL)

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

CommonSecurityLog
| where SourceIP == DestinationIP

Sintaxe de testes de data/hora

Esta é a sintaxe do QRadar para uma regra de testes de data/hora.

Diagrama ilustrando uma sintaxe de regra de testes de data/hora.

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

Este é um exemplo de sintaxe de uma regra de teste de data/hora do QRadar que usa um dia selecionado do mês.

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

Esta é a regra de exemplo no QRadar.

Diagrama ilustrando uma regra de testes de data/hora que usa um dia selecionado.

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

Esta é a regra de testes de data/hora com um dia selecionado do mês em KQL.

SecurityEvent
 | where dayofmonth(TimeGenerated) < 4

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

Este é um exemplo de sintaxe de uma regra de teste de data/hora do QRadar que usa 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}>

Esta é a regra de exemplo no QRadar.

Diagrama ilustrando uma regra de testes de data/hora que usa um dia da semana selecionado.

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

Esta é a regra de testes de data/hora com um dia selecionado da semana em KQL.

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

Testes de data/hora: exemplo de após/antes/em (QRadar)

Este é um exemplo de sintaxe de uma regra de testes de data/hora do QRadar que usa o operador after, before ou at.

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

Esta é a regra de exemplo no QRadar.

Diagrama ilustrando uma regra de testes de data/hora que usa o operador depois/antes/em.

Testes de data/hora: exemplo de após/antes/em (KQL)

Esta é a regra de testes de data/hora que usa o operador after, before ou at no KQL.

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

TimeGenerated está em UTC/GMT.

Sintaxe de testes de propriedade de evento

Esta é a sintaxe do QRadar para uma regra de testes de propriedade de evento.

Diagrama ilustrando uma sintaxe de regra de testes de propriedade de evento.

Testes de propriedade de evento: exemplo de protocolo IP (QRadar)

Este é um exemplo da sintaxe de uma regra de teste de propriedade de evento do QRadar que usa um protocolo IP.

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

Esta é a regra de exemplo no QRadar.

Diagrama ilustrando uma regra de testes de propriedade de evento que usa um protocolo IP.

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

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

Testes de propriedade de evento: exemplo de cadeia de caracteres de carga do evento (QRadar)

Este é um exemplo da sintaxe de uma regra de teste de propriedade de evento do QRadar que usa um valor de cadeia de caracteres Event Payload.

and when the Event Payload contains <this string>

Esta é a regra de exemplo no QRadar.

Diagrama ilustrando uma regra de testes de propriedade de evento que usa uma cadeia de Carga do Evento.

Testes de propriedade de evento: exemplo de cadeia de caracteres de carga do evento (KQL)

CommonSecurityLog
| where DeviceVendor has "Palo Alto"

search "Palo Alto"

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

Funções: sintaxe de contadores

Esta é a sintaxe do QRadar para uma regra de funções que usa contadores.

Diagrama ilustrando a sintaxe de uma regra de funções que usa contadores.

Contadores: exemplo de propriedade e hora do evento (QRadar)

Esta é a sintaxe de uma regra de funções de exemplo do QRadar que usa um número definido de propriedades de evento em um número definido de minutos.

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

Esta é a regra de exemplo no QRadar.

Diagrama ilustrando uma regra de funções que usa propriedades de evento.

Contadores: exemplo de propriedade e hora do evento (KQL)

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

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

Esta é a sintaxe do QRadar para uma regra de funções que usa condições negativas.

Diagrama ilustrando a sintaxe de uma regra de funções que usa condições negativas.

Exemplo de condições negativas (QRadar)

Esta é a sintaxe de um exemplo de regra de funções do QRadar que usa condições negativas.

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

Estas são duas regras definidas no QRadar. As condições negativas serão baseadas nessas regras.

Diagrama ilustrando uma regra de testes de propriedade de evento a ser usada para uma regra de condições negativas.

Diagrama ilustrando uma regra de testes de propriedade comum a ser usada para uma regra de condições negativas.

Este é um exemplo da regra de condições negativas com base nas regras acima.

Diagrama ilustrando 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

Esta é a sintaxe do QRadar para uma regra de funções que usa condições simples.

Diagrama ilustrando a sintaxe de uma regra de funções que usa condições simples.

Exemplo de condições simples (QRadar)

Esta é a sintaxe de um exemplo de regra de funções do QRadar que usa condições simples.

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

Esta é a regra de exemplo no QRadar.

Diagrama ilustrando 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 de testes de IP/porta

Esta é a sintaxe do QRadar para uma regra de testes de IP/porta.

Diagrama ilustrando a sintaxe de uma regra de testes de IP/porta.

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

Este é um exemplo da sintaxe de uma regra do QRadar que especifica uma porta de origem.

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

Esta é a regra de exemplo no QRadar.

Diagrama ilustrando 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)

Este é um exemplo da sintaxe de uma regra do QRadar que especifica um IP de origem.

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

Esta é a regra de exemplo no QRadar.

Diagrama ilustrando 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 de testes de origem de log

Esta é a sintaxe do QRadar para uma regra de testes de origem de log.

Diagrama ilustrando a sintaxe de uma regra de testes de origem de log.

Exemplo de origem de log (QRadar)

Este é um exemplo da sintaxe de uma regra do QRadar que especifica origens de log.

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

Esta é a regra de exemplo no QRadar.

Diagrama ilustrando uma regra que especifica as origens de log.

Exemplo de origem de log (KQL)

OfficeActivity
| where OfficeWorkload == "Exchange"

Próximas etapas

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