

# ML Detect
<a name="dd-detect-ml"></a>

**nota**  
O ML Detect não está disponível nas seguintes regiões:  
Ásia-Pacífico (Malásia)

Com o Machine Learning Detect (ML Detect), você cria Perfis de segurança que usam machine learning para aprender os comportamentos esperados do dispositivo, criando automaticamente modelos com base nos dados de histórico do dispositivo e atribuindo esses perfis a um grupo de dispositivos ou a todos os da sua frota. O AWS IoT Device Defender então identifica anomalias e aciona alarmes usando os modelos de ML.

Para obter informações sobre como começar a usar o ML Detect, consulte [Guia do ML Detect](dd-detect-ml-getting-started.md).

**Topics**
+ [Casos de uso do ML Detect](#dd-detect-ml-use-cases)
+ [Como o ML Detect funciona](#dd-detect-ml-how-it-works)
+ [Requisitos mínimos](#dd-detect-ml-requirements)
+ [Limitações](#dd-detect-ml-limitations)
+ [Marcação de falsos positivos e outros estados de verificação em alarmes](#dd-detect-ml-mark-false-positives)
+ [Métricas compatíveis](#dd-detect-ml-metrics)
+ [Cotas de serviço](#dd-detect-ml-quotas)
+ [Comandos da CLI do ML Detect](#dd-detect-ml-cli-commands)
+ [APIs do ML Detect](#dd-detect-ml-apis)
+ [Pausar ou excluir um Perfil de segurança do ML Detect](#dd-detect-ml-disable-feature)

## Casos de uso do ML Detect
<a name="dd-detect-ml-use-cases"></a>

Você poderá usar o ML Detect para monitorar os dispositivos da sua frota quando for difícil definir os comportamentos esperados dos dispositivos. Por exemplo, para monitorar a métrica do número de desconexões, talvez não fique muito claro o que seria um limite aceitável. Nesse caso, você pode ativar o ML Detect para identificar pontos de dados anômalos a partir de uma métrica de desconexão com base nos dados de histórico relatados pelos dispositivos.

Outro caso de uso do ML Detect é monitorar comportamentos de dispositivos que mudam dinamicamente ao longo do tempo. O ML Detect aprende periodicamente os comportamentos dinâmicos esperados do dispositivo com base na alteração dos padrões de dados dos dispositivos. Por exemplo, o volume de mensagens enviadas pelo dispositivo pode variar entre dias da semana e fins de semana, e o ML Detect é capaz de aprender esse comportamento dinâmico.

## Como o ML Detect funciona
<a name="dd-detect-ml-how-it-works"></a>

Usando o ML Detect, você pode criar comportamentos para identificar anomalias operacionais e de segurança em [6 métricas do lado da nuvem](#dd-detect-ml-metrics) e [7 métricas do lado do dispositivo](#dd-detect-ml-metrics). Após o período inicial de treinamento do modelo, o ML Detect atualiza os modelos diariamente com base nos dados dos últimos 14 dias. Ele monitora os pontos de dados dessas métricas com os modelos de ML e acionará um alarme se uma anomalia for detectada.

O ML Detect funciona melhor se você anexar um Perfil de segurança a um conjunto de dispositivos cujos comportamentos esperados sejam semelhantes. Por exemplo, se alguns de seus dispositivos forem usados nas residências dos clientes e outros em escritórios comerciais, os padrões de comportamento do dispositivo poderão diferir significativamente entre esses dois grupos. Você pode organizar os dispositivos em um grupo de objetos *home-device* e outro *office-device*. Para obter o melhor nível de eficácia na detecção de anomalias, anexe cada grupo de objetos a um Perfil de segurança do ML Detect separadamente.

Enquanto o ML Detect estiver criando o modelo inicial, serão necessários 14 dias e, no mínimo, 25.000 pontos de dados por métrica desses últimos 14 dias, para gerar um modelo. Depois, ele atualizará o modelo todos os dias em que houver um número mínimo de pontos de dados da métrica. Se o requisito mínimo não for atendido, o ML Detect tentará criar o modelo no dia seguinte e novamente, todos os dias, pelos próximos 30 dias, antes de interromper o modelo para avaliações.

## Requisitos mínimos
<a name="dd-detect-ml-requirements"></a>

Para treinar e criar o modelo inicial de ML, o ML Detect tem os seguintes requisitos mínimos.

**Período mínimo de treinamento**  
São necessários 14 dias para que os modelos iniciais sejam construídos. Depois disso, o modelo é atualizado todos os dias com dados da métrica de um período final de 14 dias.

**Número mínimo de pontos de dados**  
A quantidade mínima de pontos de dados exigida para criar um modelo de ML é 25.000 pontos de dados por métrica, nos últimos 14 dias. Para treinamento contínuo e atualização do modelo, o ML Detect exige que uma quantidade mínima de pontos de dados seja fornecida pelos dispositivos monitorados. É aproximadamente o equivalente às seguintes configurações:  
+ 60 dispositivos conectados e ativados na AWS IoT em intervalos de 45 minutos.
+ 40 dispositivos em intervalos de 30 minutos.
+ 15 dispositivos em intervalos de 10 minutos.
+ 7 dispositivos em intervalos de 5 minutos.

**Destinos do grupo de dispositivos**  
Para coletar dados, você deve haver objetos nos grupos de destino do Perfil de segurança.

Depois que o modelo inicial é criado, os modelos de ML são atualizados todos os dias e exigem pelo menos 25.000 pontos de dados por um período final de 14 dias.

## Limitações
<a name="dd-detect-ml-limitations"></a>

Você pode usar o ML Detect com dimensões nas seguintes métricas do lado da nuvem:
+ [Falhas de autorização (aws:num-authorization-failures)](detect-cloud-side-metrics.md#detect-auth-failures)
+ [Mensagens recebidas (aws:num-messages-received)](detect-cloud-side-metrics.md#detect-messages-received)
+ [Mensagens enviadas (aws:num-messages-sent)](detect-cloud-side-metrics.md#detect-messages-sent)
+ [Tamanho da mensagem (aws:message-byte-size)](detect-cloud-side-metrics.md#detect-message-size)

As métricas a seguir não são compatíveis com o ML Detect.

**Métricas do lado da nuvem não compatíveis com o ML Detect:**
+ [IP de origem (aws:source-ip-address)](detect-cloud-side-metrics.md#detect-ip-address)

**Métricas do lado do dispositivo não compatíveis com o ML Detect:**
+ [IPs de destino (`aws:destination-ip-addresses`)](detect-device-side-metrics.md#detect-destination-ip-addresses)
+ [Portas TCP de escuta (`aws:listening-tcp-ports`)](detect-device-side-metrics.md#detect-listening-tcp-ports)
+ [Portas UDP de escuta (`aws:listening-udp-ports`)](detect-device-side-metrics.md#detect-listening-udp-ports)

As métricas personalizadas são compatíveis apenas com o tipo de **número**.

## Marcação de falsos positivos e outros estados de verificação em alarmes
<a name="dd-detect-ml-mark-false-positives"></a>

 Se a sua investigação confirmar que um alarme do ML Detect é um falso positivo, você poderá definir o estado de verificação do alarme como Falso positivo. Isso pode ajudar você e sua equipe a identificar alarmes que não precisam da sua resposta. Você também pode marcar os alarmes como Verdadeiro positivo, Positivo benigno ou Desconhecido.

Você pode marcar alarmes por meio do [console do AWS IoT Device Defender](https://docs.aws.amazon.com//iot/latest/developerguide/detect-HowToHowTo.html) ou usando a ação da API [PutVerificationStateOnViolation](https://docs.aws.amazon.com/iot/latest/apireference/API_PutVerificationStateOnViolation.html).

## Métricas compatíveis
<a name="dd-detect-ml-metrics"></a>

Você pode usar as seguintes métricas do lado da nuvem com o ML Detect:
+ [Falhas de autorização (aws:num-authorization-failures)](detect-cloud-side-metrics.md#detect-auth-failures)
+ [Tentativas de conexão (aws:num-connection-attempts)](detect-cloud-side-metrics.md#detect-num-connection-attempts)
+ [Desconexões (aws:num-disconnect)](detect-cloud-side-metrics.md#detect-num-disconnects)
+ [Tamanho da mensagem (aws:message-byte-size)](detect-cloud-side-metrics.md#detect-message-size)
+ [Mensagens enviadas (aws:num-messages-sent)](detect-cloud-side-metrics.md#detect-messages-sent)
+ [Mensagens recebidas (aws:num-messages-received)](detect-cloud-side-metrics.md#detect-messages-received)

Você pode usar as seguintes métricas do lado do dispositivo com o ML Detect:
+ [Bytes de saída (`aws:all-bytes-out`)](detect-device-side-metrics.md#detect-all-bytes-out)
+ [Bytes em (`aws:all-bytes-in`)](detect-device-side-metrics.md#detect-all-bytes-in)
+ [Contagem de porta TCP de escuta (`aws:num-listening-tcp-ports`)](detect-device-side-metrics.md#detect-num-listening-tcp-ports)
+ [Contagem de porta UDP de escuta (`aws:num-listening-udp-ports`)](detect-device-side-metrics.md#detect-num-listening-udp-ports)
+ [Saída de pacotes (`aws:all-packets-out`)](detect-device-side-metrics.md#detect-all-packets-out)
+ [Pacotes em (`aws:all-packets-in`)](detect-device-side-metrics.md#detect-all-packets-in)
+ [Contagem de conexões TCP estabelecidas (`aws:num-established-tcp-connections`)](detect-device-side-metrics.md#detect-num-established-tcp-connections)

## Cotas de serviço
<a name="dd-detect-ml-quotas"></a>

Para ter mais informações sobre as service quotas do ML Detect, consulte [endpoints e cotas do AWS IoT Device Defender](https://docs.aws.amazon.com/general/latest/gr/iot_device_defender.html).

## Comandos da CLI do ML Detect
<a name="dd-detect-ml-cli-commands"></a>

Você pode usar os seguintes comandos da CLI para criar e gerenciar o ML Detect.
+ [create-security-profile](https://docs.aws.amazon.com/cli/latest/reference/iot/create-security-profile.html)
+ [attach-security-profile](https://docs.aws.amazon.com/cli/latest/reference/iot/attach-security-profile.html)
+ [list-security-profiles](https://docs.aws.amazon.com/cli/latest/reference/iot/list-security-profiles.html)
+ [describe-security-profile](https://docs.aws.amazon.com/cli/latest/reference/iot/describe-security-profile.html)
+ [update-security-profile](https://docs.aws.amazon.com/cli/latest/reference/iot/update-security-profile.html)
+ [delete-security-profile](https://docs.aws.amazon.com/cli/latest/reference/iot/delete-security-profile.html)
+ [get-behavior-model-training-summaries](https://docs.aws.amazon.com/cli/latest/reference/iot/get-behavior-model-training-summaries.html)
+ [list-active-violations](https://docs.aws.amazon.com/cli/latest/reference/iot/list-active-violations.html)
+ [list-violation-events](https://docs.aws.amazon.com/cli/latest/reference/iot/list-violation-events.html)

## APIs do ML Detect
<a name="dd-detect-ml-apis"></a>

As seguintes APIs podem ser usadas para criar e gerenciar os Perfis de segurança do ML Detect.
+ [CreateSecurityProfile](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateSecurityProfile.html)
+ [AttachSecurityProfile](https://docs.aws.amazon.com/iot/latest/apireference/API_AttachSecurityProfile.html)
+ [ListSecurityProfiles](https://docs.aws.amazon.com/iot/latest/apireference/API_ListSecurityProfiles.html)
+ [DescribeSecurityProfile](https://docs.aws.amazon.com/iot/latest/apireference/API_DescribeSecurityProfile.html)
+ [UpdateSecurityProfile](https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateSecurityProfile.html)
+ [DeleteSecurityProfile](https://docs.aws.amazon.com/iot/latest/apireference/API_DeleteSecurityProfile.html)
+ [GetBehaviorModelTrainingSummaries](https://docs.aws.amazon.com/iot/latest/apireference/API_GetBehaviorModelTrainingSummaries.html)
+ [ListActiveViolations](https://docs.aws.amazon.com/iot/latest/apireference/API_ListActiveViolations.html)
+ [ListViolationEvents](https://docs.aws.amazon.com/iot/latest/apireference/API_ListViolationEvents.html)
+ [PutVerificationStateOnViolation](https://docs.aws.amazon.com/iot/latest/apireference/API_PutVerificationStateOnViolation.html)

## Pausar ou excluir um Perfil de segurança do ML Detect
<a name="dd-detect-ml-disable-feature"></a>

Você pode pausar o Perfil de segurança do ML Detect para interromper temporariamente o monitoramento do comportamento de um dispositivo ou exclui-lo para interromper isso por um longo período.

**Pausar um Perfil de segurança do ML Detect usando o console**  
Para pausar um Perfil de segurança do ML Detect usando o console, primeiro você deve ter um grupo vazio de itens. Para criar um grupo de coisas vazio, consulte [Grupos de objetos estáticos](https://docs.aws.amazon.com/iot/latest/developerguide/thing-groups.html) no *Guia do desenvolvedor do AWS IoT Core*. Se você criou um grupo de itens vazio, defina-o como o destino do Perfil de segurança do ML Detect.  
 Você precisa redefinir o destino do seu Perfil de segurança para um grupo de dispositivos em até 30 dias, ou não conseguirá reativar o Perfil de segurança.

**Excluir um Perfil de segurança do ML Detect usando o console**  

Para excluir um Perfil de segurança, siga estas etapas:

1.  No console AWS IoT, navegue até a barra lateral e escolha a seção **Defend**.

1. Em **Defend**, escolha **Detect** e, em seguida, **Perfis de segurança**.

1. Escolha o Perfil de segurança do ML Detect que você quer excluir.

1. Selecione **Ações** e, em seguida, selecione **Excluir** nas opções.
Depois que um Perfil de segurança do ML Detect for excluído, você não conseguirá reativar o Perfil de segurança.

**Pausar um Perfil de segurança do ML Detect usando a CLI**  
Para pausar um Perfil de segurança do ML Detect usando a CLI, use o comando `detach-security-security-profile`:  

```
$aws iot detach-security-profile --security-profile-name SecurityProfileName --security-profile-target-arn arn:aws:iot:us-east-1:123456789012:all/registered-things
```
Essa opção só está disponível na CLI AWS. De maneira similar ao fluxo de trabalho do console, você precisa redefinir o destino do seu Perfil de segurança para um grupo de dispositivos em até 30 dias, ou não conseguirá reativar o Perfil de segurança. Para anexar um Perfil de segurança a um grupo de dispositivos, use o comando [https://docs.aws.amazon.com/cli/latest/reference/iot/attach-security-profile.html](https://docs.aws.amazon.com/cli/latest/reference/iot/attach-security-profile.html).

**Excluir um Perfil de segurança do ML Detect usando a CLI**  
Você pode excluir um Perfil de segurança usando o comando `delete-security-profile` abaixo:   

```
delete-security-profile --security-profile-name SecurityProfileName
```
Depois que um Perfil de segurança do ML Detect for excluído, você não conseguirá reativar o Perfil de segurança.