A referência do esquema de normalização da sessão da Web do Asim (Modelo Avançado de Informações de Segurança

O esquema de normalização de sessão da Web é usado para descrever uma atividade de rede IP. Por exemplo, as atividades de rede IP são relatadas por servidores Web, proxies da Web e gateways de segurança da Web.

Para obter mais informações sobre a normalização no Microsoft Sentinel, consulte Normalização e o ASIM (Modelo Avançado de Informações de Segurança).

Visão geral do esquema

O esquema de normalização da sessão da Web representa qualquer sessão de rede HTTP e é adequado para fornecer suporte para tipos de origem comuns, incluindo:

  • Servidores da Web
  • Proxies da Web
  • Gateways de segurança da Web

O esquema de sessão da Web ASIM representa a atividade do protocolo HTTP e HTTPS. Como o esquema representa a atividade do protocolo, ele é regido por RFCs e listas de parâmetros atribuídas oficialmente, que são referenciadas neste artigo quando apropriado.

O esquema da Sessão na Web não representa eventos de auditoria de dispositivos de origem. Por exemplo, um evento que modifica uma política do Web Security Gateway não pode ser representado pelo esquema de Sessão da Web.

Como as sessões HTTP são sessões da camada de aplicativo que utilizam o TCP/IP como a sessão subjacente da camada de rede, o esquema de sessão da Web é um superconjunto do esquema de sessão de rede ASIM.

Os campos mais importantes em um esquema de sessão da Web são:

  • Url, que relata a URL que o cliente solicitou do servidor.
  • O SrcIpAddr (alias para IpAddr), que representa o endereço IP do qual a solicitação foi gerada.
  • EventResultDetails , que normalmente informa o código de status HTTP.

Os eventos da Web Session também podem incluir informações do usuário e do processo para o usuário e o processo que inicia a solicitação.

Analisadores

Para obter mais informações sobre analisadores ASIM, consulte a visão geral dos analisadores ASIM.

Unificando analisadores

Para usar analisadores que unificam todos os analisadores prontos para uso do ASIM e garantir que sua análise seja executada em todas as fontes configuradas, use o _Im_WebSession analisador.

Analisadores prontos para uso e específicos da origem

Para obter a lista dos analisadores de sessão da Web Microsoft Sentinel fornece prontos para uso, consulte a lista de analisadores ASIM

Adicionar seus próprios analisadores normalizados

Ao implementar analisadores personalizados para o modelo de informações de Sessão da Web, nomeie suas funções KQL usando a seguinte sintaxe:

  • vimWebSession<vendor><Product> para analisadores parametrizados
  • ASimWebSession<vendor><Product> Para analisadores regulares

Parâmetros do analisador filtrante

Os im analisadores and vim* suportam parâmetros de filtragem. Embora esses analisadores sejam opcionais, eles podem melhorar o desempenho da consulta.

Os seguintes parâmetros de filtragem estão disponíveis:

Nome Tipo Descrição
starttime datetime Filtre somente as sessões da Web iniciadas nesse horário ou após. Esse parâmetro é filtrado TimeGenerated no campo, que é o designador padrão para a hora do evento, independentemente do mapeamento específico do analisador dos campos EventStartTime e EventEndTime.
Hora de Término datetime Filtre somente as sessões da Web que começaram a ser executadas nesse horário ou antes disso. Esse parâmetro é filtrado TimeGenerated no campo, que é o designador padrão para a hora do evento, independentemente do mapeamento específico do analisador dos campos EventStartTime e EventEndTime.
srcipaddr_has_any_prefix dinâmico Filtrar somente sessões da Web para as quais o prefixo do campo de endereço IP de origem está em um dos valores listados. A lista de valores pode incluir endereços IP e prefixos de endereços IP. Os prefixos devem terminar com um ., por exemplo: 10.0.. O comprimento da lista é limitado a 10.000 itens.
ipaddr_has_any_prefix dinâmico Filtrar apenas sessões de rede para as quais o campo de endereço IP de destino ou o prefixo do campo de endereço IP de origem está em um dos valores listados. Os prefixos devem terminar com um ., por exemplo: 10.0.. O comprimento da lista é limitado a 10.000 itens.

O campo ASimMatchingIpAddr é definido com um dos valores SrcIpAddr, DstIpAddr, ou Both para refletir os campos ou campos correspondentes.
url_has_any dinâmico Filtrar apenas sessões da Web para as quais o campo URL tenha qualquer um dos valores listados. O analisador pode ignorar o esquema da URL passada como um parâmetro, se a origem não o relatar. Se especificado e a sessão não for uma sessão da Web, nenhum resultado será retornado. O comprimento da lista é limitado a 10.000 itens.
httpuseragent_has_any dinâmico Filtrar somente sessões da Web para as quais o campo agente do usuário tem qualquer um dos valores listados. Se especificado e a sessão não for uma sessão da Web, nenhum resultado será retornado. O comprimento da lista é limitado a 10.000 itens.
eventresultdetails_in dinâmico Filtrar apenas sessões da web para as quais o código de status HTTP, armazenado no campo EventResultDetails, é qualquer um dos valores listados.
EventResult cadeia Filtre apenas sessões de rede com um valor EventResult específico.
eventresultdetails_has_any dinâmico Declarado nos parâmetros canônicos do parser Web Session, mas atualmente não aplicado ou encaminhado pela consulta implantada imWebSession no workspace. Use eventresultdetails_in para filtrar por código de status HTTP.

Alguns parâmetros podem aceitar tanto a lista de valores do tipo dynamic quanto um único valor de cadeia de caracteres. Para passar uma lista de literais para parâmetros que esperam um valor dinâmico, use explicitamente um literal dinâmico. Por exemplo: dynamic(['192.168.','10.'])

Por exemplo, para filtrar apenas sessões da Web para uma lista especificada de nomes de domínio, use:

let torProxies=dynamic(["tor2web.org", "tor2web.com", "torlink.co"]);
_Im_WebSession (url_has_any = torProxies)

Detalhes do esquema

O modelo de informações da Sessão Web está alinhado com o esquema de entidade de Rede OSSEM e o esquema de entidade HTTP OSSEM.

Para estar em conformidade com as práticas recomendadas do setor, o esquema de sessão na Web usa os descritores Src e Dst para identificar os dispositivos de origem e destino da sessão, sem incluir o token Dvc no nome do campo.

Assim, por exemplo, o nome do host do dispositivo de origem e o endereço IP são nomeados SrcHostname e SrcIpAddr , respectivamente, e não SrcDvcHostname e SrcDvcIpAddr. O prefixo Dvc é usado apenas para o dispositivo intermediário ou de relatório, conforme aplicável.

Campos que descrevem o usuário e o aplicativo associados aos dispositivos de origem e destino também usam os descritores Src e Dst .

Outros esquemas ASIM normalmente usam Destino em vez de Dst.

Campos ASIM comuns

Importante

Os campos comuns a todos os esquemas são descritos em detalhes no artigo Campos comuns do ASIM .

Campos comuns com diretrizes específicas

A lista a seguir menciona campos que possuem diretrizes específicas para eventos de sessão na Web:

Campo Classe Tipo Descrição
Tipo de evento Obrigatório Enumerado Descreve a operação relatada pelo registro. Os valores permitidos são:
- HTTPsession: Indica uma sessão de rede usada para HTTP ou HTTPS, normalmente relatada por um dispositivo intermediário, como um proxy ou um gateway de segurança da Web.
- WebServerSession: Indica uma solicitação HTTP relatada por um servidor Web. Esse evento normalmente tem menos informações relacionadas à rede. A URL relatada não deve incluir um esquema e um nome de servidor, mas apenas a parte do caminho e dos parâmetros da URL.
- ApiRequest: Indica uma solicitação HTTP relatada associada a uma chamada de API, normalmente relatada por um servidor de aplicativos. Esse evento normalmente tem menos informações relacionadas à rede. Quando relatada pelo servidor de aplicativos, a URL relatada não deve incluir um esquema e um nome de servidor, mas apenas a parte de caminho e parâmetros da URL.
EventResult Obrigatório Enumerado Descreve o resultado do evento, normalizado para um dos seguintes valores:
- Success
- Partial
- Failure
- NA (não aplicável)

Para uma sessão HTTP, Success é definido como um código de status inferior a 400, e Failure é definido como um código de status maior que 400. Para obter uma lista de códigos de status HTTP, consulte W3 Org.

A origem pode fornecer apenas um valor para o campo EventResultDetails , que deve ser analisado para obter o valor EventResult .
EventResultDetails Recomendado Enumerado O código de status HTTP, conforme definido pelo World Wide Web Consortium

Observação: O valor pode ser fornecido no registro de origem usando termos diferentes, que devem ser normalizados para esses valores. O valor original deve ser armazenado no campo EventOriginalResultDetails .
EventSchema Obrigatório Enumerado O nome do esquema documentado aqui é WebSession.
EventSchemaVersion Obrigatório SchemaVersion (cadeia de caracteres) A versão do esquema. A versão do esquema documentado aqui é 1.0.0
Campos Dvc Para eventos de sessão na Web, os campos de dispositivo referem-se ao sistema que relata o evento de sessão na Web. Normalmente, é um dispositivo intermediário para HTTPSession eventos e o servidor Web ou de aplicativos de destino para WebServerSession eventos ApiRequest .

Todos os campos comuns

Os campos que aparecem na tabela abaixo são comuns a todos os esquemas ASIM. Qualquer diretriz especificada acima substitui as diretrizes gerais para o campo. Por exemplo, um campo pode ser opcional em geral, mas obrigatório para um esquema específico. Para obter mais detalhes sobre cada campo, consulte o artigo Campos comuns do ASIM .

Classe Fields
Obrigatório - EventCount
- EventStartTime
- EventEndTime
- Tipo de evento
- EventResult
- EventProduct
- EventVendor
- EventSchema
- EventSchemaVersion
- DVC
Recomendado - EventResultDetails
- EventSeveridade
- EventUid
- DvcIpAddr
- Nome do host do DVC
- DvcDomain
- DvcDomainType
- DvcFQDN
- DvcId
- DvcIdType
- DvcAction
Opcional - EventMessage
- EventSubType
- EventOriginalUid
- EventOriginalType
- EventOriginalSubType
- EventOriginalResultDetails
- EventOriginalSeverity
- EventProductVersion
- EventReportUrl
- EventOwner
- DvcZone
- DvcMacAddr
- DvcOs
- DvcOsVersion
- DvcOriginalAction
- Interface DvcInterface
- AdditionalFields
- DvcDescription
- DvcScopeId
- DvcScope

Campos de sessão de rede

As sessões HTTP são sessões da camada de aplicativo que utilizam o TCP/IP como a sessão subjacente da camada de rede. O esquema de Sessão da Web é um super conjunto de esquemas de Sessão de Rede ASIM e todos os Campos de Esquema de Rede também estão incluídos no esquema de Sessão na Web.

Os seguintes campos de esquema da Sessão de Rede ASIM têm diretrizes específicas quando usados para um evento de Sessão na Web:

  • O alias User deve se referir ao SrcUsername e não ao DstUsername.
  • O campo EventOriginalResultDetails pode conter qualquer resultado relatado pela origem, além do código de status HTTP armazenado em EventResultDetails.
  • Para Web Sessions, o campo de destino principal é o campo URL. O DstDomain é opcional em vez de recomendado. Especificamente, se não estiver disponível, não há necessidade de extraí-lo da URL no analisador.
  • Os campos NetworkRuleName e NetworkRuleNumber são renomeados RuleName e RuleNumber respectivamente.

Eventos de sessão na Web são comumente relatados por dispositivos intermediários que encerram a conexão HTTP do cliente e iniciam uma nova conexão, atuando como um proxy, com o servidor. Para representar o dispositivo intermediário, use o esquema da sessão de rede ASIMCampos do dispositivo intermediário

Campos de sessão HTTP

A seguir estão campos adicionais específicos para sessões da Web:

Campo Classe Tipo Descrição
Url Obrigatório URL (cadeia de caracteres) A URL de solicitação HTTP, incluindo os parâmetros. Para HTTPSession eventos, a URL pode incluir o esquema e deve incluir o nome do servidor. Para WebServerSession e para ApiRequest a URL normalmente não incluem o esquema e o servidor, que podem ser encontrados nos NetworkApplicationProtocol campos e DstFQDN , respectivamente.

Exemplo: https://contoso.com/fo/?k=v&amp;q=u#f
UrlCategory Opcional Cadeia de caracteres O agrupamento definido de uma URL ou a parte do domínio da URL. A categoria normalmente é fornecida por gateways de segurança da Web e se baseia no conteúdo do site para o qual a URL aponta.

Exemplo: mecanismos de pesquisa, adultos, notícias, publicidade e domínios estacionados.
UrlOriginal Opcional URL (cadeia de caracteres) O valor original da URL, quando a URL foi modificada pelo dispositivo de relatório e ambos os valores são fornecidos.
HttpVersion Opcional Cadeia de caracteres A versão da solicitação HTTP.

Exemplo: 2.0
HttpRequestMethod Recomendado Enumerado O método HTTP. Os valores são como definidos no RFC 7231 e RFC 5789 e incluem GET, HEAD, POST, PUT, DELETECONNECT, , OPTIONS, TRACE, , e PATCH.

Exemplo: GET
HttpStatusCode Alias O código de status HTTP. Alias para EventResultDetails.
HttpContentType Opcional Cadeia de caracteres O cabeçalho do tipo de conteúdo de Resposta HTTP.

Observação: o campo HttpContentType pode incluir o formato do conteúdo e parâmetros extras, como a codificação usada para obter o formato real.

Exemplo: text/html; charset=ISO-8859-4
HttpContentFormat Opcional Cadeia de caracteres A parte do formato de conteúdo do HttpContentType

Exemplo: text/html
HttpReferrer Opcional Cadeia de caracteres O cabeçalho referenciador HTTP.

Observação: o ASIM, em sincronia com o OSSEM, usa a grafia correta para o referenciador, e não a ortografia do cabeçalho HTTP original.

Exemplo: https://developer.mozilla.org/docs
HttpUserAgent Opcional Cadeia de caracteres O cabeçalho do agente de usuário HTTP.

Exemplo:
Mozilla/5.0(Windows NT 10.0; WOW64)
AppleWebKit/537.36 (KHTML, como o Gecko)
Chrome/83.0.4103.97 Safari/537.36
UserAgent Alias Alias para HttpUserAgent
HttpRequestXff Opcional Endereço IP O cabeçalho HTTP X-Forwarded-For.

Exemplo: 120.12.41.1
HttpRequestTime Opcional Número inteiro A quantidade de tempo, em milissegundos, necessária para enviar a solicitação ao servidor, se aplicável.

Exemplo: 700
HttpResponseTime Opcional Número inteiro A quantidade de tempo, em milissegundos, necessária para receber uma resposta no servidor, se aplicável.

Exemplo: 800
Host Http Opcional Cadeia de caracteres O servidor web virtual direcionado à solicitação HTTP. Normalmente, esse valor se baseia no cabeçalho do Host HTTP.
FileName Opcional Cadeia de caracteres Para uploads HTTP, o nome do arquivo carregado.
FileMD5 Opcional MD5 Para uploads HTTP, o hash MD5 do arquivo carregado.

Exemplo: 75a599802f1fa166cdadb360960b1dd0
Arquivo SHA1 Opcional SHA1 Para uploads HTTP, o hash SHA1 do arquivo carregado.

Exemplo:
d55c5a4df19b46db8c54
c801c4665d3338acdab0
ArquivoSHA256 Opcional SHA256 Para uploads HTTP, o hash SHA256 do arquivo carregado.

Exemplo:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
Arquivo SHA512 Opcional SHA512 Para uploads HTTP, o hash SHA512 do arquivo carregado.
Hash Alias Alias para o campo de hash disponível.
HashType Condicional Enumerado O tipo do hash no campo Hash . Os valores possíveis incluem: MD5, SHA1, SHA256e SHA512.
FileSize Opcional Long Para uploads HTTP, o tamanho em bytes do arquivo carregado.
FileContentType Opcional Cadeia de caracteres Para uploads HTTP, o tipo de conteúdo do arquivo carregado.
HttpCookie Opcional Cadeia de caracteres O conteúdo do cabeçalho do cookie HTTP enviado do cliente para o servidor, contendo pares nome-valor de dados de sessão.

Exemplo: session_id=abc123; user_pref=dark_mode
HttpIsProxied Opcional booleano Indica se a solicitação HTTP foi enviada por meio de um servidor proxy.

Exemplo: true
HttpRequestBodyBytes Opcional Long O tamanho do corpo da solicitação HTTP em bytes, não incluindo cabeçalhos.

Exemplo: 1024
HttpRequestCacheControl Opcional Cadeia de caracteres O conteúdo do cabeçalho de solicitação HTTP Cache-Control, especificando as diretivas de cache do cliente.

Exemplo: no-cache
HttpRequestHeaderCount Opcional Número inteiro O número de cabeçalhos HTTP incluídos na solicitação.

Exemplo: 12
HttpResponseBodyBytes Opcional Long O tamanho do corpo da resposta HTTP em bytes, sem incluir cabeçalhos.

Exemplo: 8192
HttpResponseCacheControl Opcional Cadeia de caracteres O conteúdo do cabeçalho de resposta HTTP Cache-Control, especificando diretivas de cache do servidor.

Exemplo: max-age=3600, public
HttpResponseExpires Opcional Cadeia de caracteres O conteúdo do cabeçalho de resposta HTTP Expires, indicando quando o conteúdo da resposta expira.

Exemplo: Thu, 01 Dec 2024 16:00:00 GMT
HttpResponseHeaderCount Opcional Número inteiro O número de cabeçalhos HTTP incluídos na resposta.

Exemplo: 15

Outros campos

Se o evento for relatado por um dos pontos de extremidade da sessão da web, ele poderá incluir informações sobre o processo que iniciou ou encerrou a sessão. Nesses casos, o esquema de evento de processo ASIM para normalizar essas informações.

Campos de correlação de entidades

Note

Os colaboradores não precisam preencher esses campos. Os analisadores aplicáveis os preencherão quando o suporte interno da Microsoft for adicionado.

Campo Classe Tipo Descrição
DstApplicationEntityKey Opcional Cadeia de caracteres Um identificador de string estável e determinístico que identifica de forma única a aplicação de destino dentro de um único namespace. Esse identificador único em todo o sistema permite correlação com entidades em outros eventos e inventários de entidades.
DstSystemEntityKey Opcional Cadeia de caracteres Um identificador de string estável e determinístico que identifica de forma única o sistema de destino dentro de um único namespace. Esse identificador único em todo o sistema permite correlação com entidades em outros eventos e inventários de entidades.
DstUserAdditionalIds Opcional Dinâmico Para a estrutura e uso dos campos, veja Campos com sufixo com AdditionalIds.
DstUserEntityKey Opcional Cadeia de caracteres Um identificador de string estável e determinístico que identifica de forma única o usuário de destino dentro de um único namespace. Esse identificador único em todo o sistema permite correlação com entidades em outros eventos e inventários de entidades.
SrcApplicationEntityKey Opcional Cadeia de caracteres Um identificador de string estável e determinístico que identifica de forma única a aplicação de origem dentro de um único namespace. Esse identificador único em todo o sistema permite correlação com entidades em outros eventos e inventários de entidades.
SrcSystemEntityKey Opcional Cadeia de caracteres Um identificador de string estável e determinístico que identifica de forma única o sistema de origem dentro de um único namespace. Esse identificador único em todo o sistema permite correlação com entidades em outros eventos e inventários de entidades.
SrcUserAdditionalIds Opcional Dinâmico Para a estrutura e uso dos campos, veja Campos com sufixo com AdditionalIds.
SrcUserEntityKey Opcional Cadeia de caracteres Um identificador de string estável e determinístico que identifica de forma única o usuário de origem dentro de um único namespace. Esse identificador único em todo o sistema permite correlação com entidades em outros eventos e inventários de entidades.

Atualizações de esquema

Versão Alterações
0.2.5 Adicionado o campo HttpHost.
0.2.6 Mudei o tipo de FileSize inteiro para longo.
0.2.7 Adicionados os campos HttpCookie, HttpIsProxied, HttpRequestBodyBytes, HttpRequestCacheControl, HttpRequestHeaderCountHttpResponseBodyBytes, , HttpResponseCacheControl, HttpResponseExpirese HttpResponseHeaderCount.
1.0.0 Adicionaram campos de correlação de entidades.

O esquema de sessão na Web depende do esquema de sessão de rede. Portanto, as atualizações do esquema da Sessão de Rede também se aplicam ao esquema da Sessão Web.