Migrar regras de deteção do QRadar para o Microsoft Sentinel
Este artigo descreve como identificar, comparar e migrar suas regras de deteção do QRadar para as regras internas do Microsoft Sentinel.
Identificar e migrar regras
O Microsoft Sentinel usa análises de aprendizado de máquina para criar incidentes acionáveis e de alta fidelidade, e algumas de suas deteções existentes podem ser redundantes no Microsoft Sentinel. Portanto, não migre todas as suas regras de deteção e análise cegamente. Analise estas considerações à medida que identifica as regras de deteção existentes.
- Certifique-se de selecionar casos de uso que justifiquem a migração de regras, considerando a prioridade e a eficiência do negócio.
- Verifique se você entende os tipos de regras do Microsoft Sentinel.
- Verifique se você entende a terminologia da regra.
- Analise as regras que não dispararam alertas nos últimos 6 a 12 meses e determine se elas ainda são relevantes.
- Elimine ameaças ou alertas de baixo nível que você ignora rotineiramente.
- Use a funcionalidade existente e verifique se as regras de análise internas do Microsoft Sentinel podem resolver seus casos de uso atuais. Como o Microsoft Sentinel usa análises de aprendizado de máquina para produzir incidentes acionáveis e de alta fidelidade, é provável que algumas de suas deteções existentes não sejam mais necessárias.
- Confirme as fontes de dados conectadas e revise seus métodos de conexão de dados. Revisite as conversas de coleta de dados para garantir a profundidade e a amplitude dos dados nos casos de uso que você planeja detetar.
- Explore os recursos da comunidade, como o SOC Prime Threat Detection Marketplace , para verificar se suas regras estão disponíveis.
- Considere se um conversor de consulta 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. Revise o mapeamento de regras para criar novas consultas.
Saiba mais sobre as práticas recomendadas para migrar regras de deteção.
Para migrar suas regras de análise para o Microsoft Sentinel:
Verifique se você tem um sistema de teste em vigor para cada regra que deseja migrar.
Prepare um processo de validação para suas regras migradas, incluindo cenários de teste completos e scripts.
Certifique-se de que sua equipe tenha recursos úteis para testar suas regras migradas.
Confirme se você tem todas as fontes de dados necessárias conectadas e revise seus métodos de conexão de dados.
Verifique se suas deteções estão disponíveis como modelos internos no Microsoft Sentinel:
Se as regras internas forem suficientes, use modelos de regras internos para criar regras para seu próprio espaço de trabalho.
No Microsoft Sentinel, vá para a guia Modelos > de Regra do Configuration Analytics > e crie e atualize cada regra de análise relevante.
Para obter mais informações, consulte Criar regras de análise agendadas a partir de modelos.
Se você tiver deteçõ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 da regra e, em seguida, construa e revise sua consulta KQL.
Se nem as regras internas nem um conversor de regras online forem suficientes, você precisará criar a regra manualmente. Nesses casos, use as seguintes etapas para começar a criar sua regra:
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.
Identifique quaisquer atributos, campos ou entidades em seus dados que você deseja usar em suas regras.
Identifique os critérios e a lógica da regra. Nesta etapa, você pode querer usar modelos de regras como exemplos de como construir suas consultas KQL.
Considere filtros, regras de correlação, listas ativas, conjuntos de referências, listas de observação, anomalias de deteção, agregações e assim por diante. Você pode usar referências fornecidas pelo SIEM herdado para entender a melhor forma de mapear a sintaxe da consulta.
Identifique a condição de gatilho e a ação da regra e, em seguida, construa e revise sua consulta KQL. Ao revisar sua consulta, considere os recursos de orientação de otimização do KQL.
Teste a regra com cada um dos seus casos de uso relevantes. Se ele não fornecer os resultados esperados, você pode querer revisar o KQL e testá-lo novamente.
Quando estiver satisfeito, você pode considerar a regra migrada. Crie um manual para sua ação de regra, conforme necessário. Para obter mais informações, consulte Automatizar a resposta a ameaças com manuais de procedimentos no Microsoft Sentinel.
Saiba mais sobre as regras de análise:
- Regras de análise agendadas no Microsoft Sentinel. Use o agrupamento de alertas para reduzir a fadiga do alerta agrupando alertas que ocorrem dentro de um determinado período de tempo.
- Mapeie campos de dados para entidades no Microsoft Sentinel para permitir que os engenheiros SOC definam entidades como parte das evidências a serem rastreadas durante uma investigação. O mapeamento de entidades também possibilita que os analistas SOC aproveitem um gráfico de investigação intuitivo (investigate-cases.md#use-the-investigation-graph-to-deep-dive) que pode ajudar a reduzir tempo e esforço.
- Investigue incidentes com dados UEBA, como um exemplo de como usar evidências para exibir eventos, alertas e quaisquer marcadores associados a um incidente específico no painel de visualização de incidentes.
- Kusto Query Language (KQL), que você pode usar para enviar solicitações somente leitura para seu banco de dados do Log Analytics para processar dados e retornar resultados. O KQL também é usado em outros serviços da Microsoft, como o Microsoft Defender for Endpoint e o Application Insights.
Comparar terminologia de regras
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 • Frequentes • Ofensa • Regras de deteção de anomalias |
• Consulta agendada • Fusão • Segurança Microsoft • Análise de Comportamento de Machine Learning (ML) |
Critérios | Definir na condição de teste | Definir em KQL |
Condição do gatilho | Definir na regra | Limite: Número de resultados da consulta |
Ação | • Criar ofensa • Expedição de novo evento • Adicionar ao conjunto de referência ou dados • E muito mais |
• Criar alerta ou incidente • Integra-se com Aplicativos Lógicos |
Mapear e comparar exemplos de regras
Use esses exemplos para comparar e mapear regras do QRadar para o Microsoft Sentinel em vários cenários.
Sintaxe de testes de propriedade comum
Aqui está a sintaxe QRadar para uma regra de testes de propriedade comum.
Testes de propriedades comuns: Exemplo de expressão regular (QRadar)
Aqui está a sintaxe para uma regra de testes de propriedade comum QRadar de exemplo que usa uma expressão regular:
when any of <these properties> match <this regular expression>
Aqui está a regra de exemplo no QRadar.
Testes de propriedades comuns: Exemplo de expressão regular (KQL)
Aqui está a regra de testes de propriedade comum 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 propriedades comuns: exemplo de consulta de filtro AQL (QRadar)
Aqui está a sintaxe de uma regra de testes de propriedade comum QRadar de exemplo que usa uma consulta de filtro AQL.
when the event matches <this> AQL filter query
Aqui está a regra de exemplo no QRadar.
Testes de propriedades comuns: exemplo de consulta de filtro AQL (KQL)
Aqui está a regra de testes de propriedade comum com uma consulta de filtro AQL no KQL.
CommonSecurityLog
| where SourceIP == '10.1.1.10'
Testes de propriedades comuns: exemplo igual/não igual (QRadar)
Aqui está a sintaxe para uma regra de testes de propriedade comum QRadar de exemplo que usa o equals
operador or not equals
.
and when <this property> <equals/not equals> <this property>
Aqui está a regra de exemplo no QRadar.
Testes de propriedades comuns: exemplo igual/não igual (KQL)
Aqui está a regra de testes de propriedade comum com o equals
operador ou not equals
no KQL.
CommonSecurityLog
| where SourceIP == DestinationIP
Sintaxe dos testes de data/hora
Aqui está a sintaxe QRadar para uma regra de testes de data/hora.
Testes de data/hora: Exemplo de dia selecionado do mês (QRadar)
Aqui está a sintaxe para uma regra de testes de data/hora QRadar de exemplo que usa um dia selecionado do mês.
and when the event(s) occur <on/after/before> the <selected> day of the month
Aqui está a regra de exemplo no QRadar.
Testes de data/hora: Exemplo de dia selecionado do mês (KQL)
Aqui está a regra de testes de data/hora com um dia selecionado do mês no KQL.
SecurityEvent
| where dayofmonth(TimeGenerated) < 4
Testes de data/hora: Exemplo de dia selecionado da semana (QRadar)
Aqui está a sintaxe para uma regra de testes de data/hora QRadar de exemplo 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}>
Aqui está a regra de exemplo no QRadar.
Testes de data/hora: Exemplo de dia selecionado da semana (KQL)
Aqui está 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)
Aqui está a sintaxe para uma regra de testes de data/hora QRadar de exemplo que usa o after
operador , before
ou at
.
and when the event(s) occur <after/before/at> <this time{12.00AM, 12.05AM, ...11.50PM, 11.55PM}>
Aqui está a regra de exemplo no QRadar.
Testes de data/hora: depois/antes/no exemplo (KQL)
Aqui está a regra de testes de data/hora que usa o after
operador , 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
Aqui está a sintaxe QRadar para uma regra de testes de propriedade de evento.
Testes de propriedade de evento: exemplo de protocolo IP (QRadar)
Aqui está a sintaxe para uma regra de testes de propriedade de evento QRadar de exemplo que usa um protocolo IP.
and when the IP protocol is one of the following <protocols>
Aqui está a regra de exemplo no QRadar.
Testes de propriedade de evento: exemplo de protocolo IP (KQL)
CommonSecurityLog
| where Protocol in ("UDP","ICMP")
Testes de propriedade do evento: Exemplo de cadeia de caracteres de carga útil do evento (QRadar)
Aqui está a sintaxe para uma regra de testes de propriedade de evento QRadar de exemplo que usa um Event Payload
valor de cadeia de caracteres.
and when the Event Payload contains <this string>
Aqui está a regra de exemplo no QRadar.
Testes de propriedade do evento: exemplo de cadeia de caracteres de carga útil do evento (KQL)
CommonSecurityLog
| where DeviceVendor has "Palo Alto"
search "Palo Alto"
Para otimizar o desempenho, evite usar o search
comando se já souber o nome da tabela.
Funções: sintaxe dos contadores
Aqui está a sintaxe QRadar para uma regra de funções que usa contadores.
Contadores: propriedade do evento e exemplo de tempo (QRadar)
Aqui está a sintaxe de uma regra de funções QRadar de exemplo 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>
Aqui está a regra de exemplo no QRadar.
Contadores: propriedade do evento e exemplo de tempo (KQL)
CommonSecurityLog
| summarize Count = count() by SourceIP, DestinationIP
| where Count >= 5
Funções: sintaxe de condições negativas
Aqui está a sintaxe QRadar para uma regra de funções que usa condições negativas.
Exemplo de condições negativas (QRadar)
Aqui está a sintaxe para uma regra de funções QRadar de exemplo 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>
Aqui estão duas regras definidas no QRadar. As condições negativas basear-se-ão nestas regras.
Aqui está uma amostra da regra de condições negativas com base nas regras acima.
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
Aqui está a sintaxe QRadar para uma regra de funções que usa condições simples.
Exemplo de condições simples (QRadar)
Aqui está a sintaxe para uma regra de funções QRadar de exemplo que usa condições simples.
and when an event matches <any|all> of the following <rules>
Aqui está a regra de exemplo no QRadar.
Exemplo de condições simples (KQL)
CommonSecurityLog
| where Protocol !in ("UDP","ICMP") or SourceIP == DestinationIP
Sintaxe de testes de IP/porta
Aqui está a sintaxe QRadar para uma regra de testes de IP/porta.
Testes de IP/porta: exemplo de porta de origem (QRadar)
Aqui está a sintaxe de uma regra QRadar de exemplo especificando uma porta de origem.
and when the source port is one of the following <ports>
Aqui está a regra de exemplo no QRadar.
Testes de IP/porta: exemplo de porta de origem (KQL)
CommonSecurityLog
| where SourcePort == 20
Testes de IP/porta: exemplo de IP de origem (QRadar)
Aqui está a sintaxe de uma regra QRadar de exemplo especificando um IP de origem.
and when the source IP is one of the following <IP addresses>
Aqui está a regra de exemplo no QRadar.
Testes de IP/porta: exemplo de IP de origem (KQL)
CommonSecurityLog
| where SourceIP in (“10.1.1.1”,”10.2.2.2”)
A sintaxe dos testes de origem do log
Aqui está a sintaxe QRadar para uma regra de testes de origem de log.
Exemplo de fonte de log (QRadar)
Aqui está a sintaxe de uma regra QRadar de exemplo especificando fontes de log.
and when the event(s) were detected by one or more of these <log source types>
Aqui está a regra de exemplo no QRadar.
Exemplo de origem do log (KQL)
OfficeActivity
| where OfficeWorkload == "Exchange"
Próximos passos
Neste artigo, você aprendeu como mapear suas regras de migração do QRadar para o Microsoft Sentinel.