Parametri sul lato cloud - AWS IoT Device Defender

Parametri sul lato cloud

Quando si crea un profilo di sicurezza, è possibile specificare il comportamento previsto del dispositivo IoT configurando comportamenti e soglie per i parametri generati dai dispositivi IoT. Di seguito sono riportati i parametri sul lato cloud, che sono parametri provenienti da AWS IoT.

Dimensioni del messaggio (aws:message-byte-size)

Numero di byte in un messaggio. Usa questo parametro per specificare la dimensione massima o minima (in byte) di ogni messaggio trasmesso da un dispositivo a AWS IoT.

Compatibile con: Rule Detect | ML Detect

Operatori: less-than | less-than-equals | greater-than | greater-than-equals

Valore: intero non negativo

Unità: byte

Esempio
{ "name": "Max Message Size", "metric": "aws:message-byte-size", "criteria": { "comparisonOperator": "less-than-equals", "value": { "count": 1024 }, "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1 }, "suppressAlerts": true }
Esempio utilizzando un statisticalThreshold
{ "name": "Large Message Size", "metric": "aws:message-byte-size", "criteria": { "comparisonOperator": "less-than-equals", "statisticalThreshold": { "statistic": "p90" }, "durationSeconds": 300, "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1 }, "suppressAlerts": true }
Esempio con ML Detect
{ "name": "Message size ML behavior", "metric": "aws:message-byte-size", "criteria": { "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1, "mlDetectionConfig": { "confidenceLevel": "HIGH" } }, "suppressAlerts": true }

Si verifica un allarme per un dispositivo se, durante tre intervalli di tempo consecutivi di cinque minuti ciascuno, vengono trasmessi messaggi la cui dimensione cumulativa è superiore a quella misurata per il 90% di tutti gli altri dispositivi che segnalano questo comportamento del profilo di sicurezza.

Messaggi inviati (aws:num-messages-sent)

Numero di messaggi inviati da un dispositivo durante un determinato periodo di tempo.

Usa questo parametro per specificare il numero massimo o minimo di messaggi che possono essere inviati tra AWS IoT e ogni dispositivo in un determinato periodo di tempo.

Compatibile con: Rule Detect | ML Detect

Operatori: less-than | less-than-equals | greater-than | greater-than-equals

Valore: intero non negativo

Unità: messaggi

Durata: un numero intero non negativo. I valori validi sono 300, 600, 900, 1800 o 3.600 secondi.

Esempio
{ "name": "Out bound message count", "metric": "aws:num-messages-sent", "criteria": { "comparisonOperator": "less-than-equals", "value": { "count": 50 }, "durationSeconds": 300, "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1 }, "suppressAlerts": true }
Esempio utilizzando un statisticalThreshold
{ "name": "Out bound message rate", "metric": "aws:num-messages-sent", "criteria": { "comparisonOperator": "less-than-equals", "statisticalThreshold": { "statistic": "p99" }, "durationSeconds": 300, "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1 }, "suppressAlerts": true }
Esempio con ML Detect
{ "name": "Messages sent ML behavior", "metric": "aws:num-messages-sent", "criteria": { "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1, "mlDetectionConfig": { "confidenceLevel": "HIGH" } }, "suppressAlerts": true }

Messaggi ricevuti (aws:num-messages-received)

Numero di messaggi ricevuti da un dispositivo durante un determinato periodo di tempo.

Usa questo parametro per specificare il numero massimo o minimo di messaggi che possono essere ricevuti tra AWS IoT e ogni dispositivo in un determinato periodo di tempo.

Compatibile con: Rule Detect | ML Detect

Operatori: less-than | less-than-equals | greater-than | greater-than-equals

Valore: intero non negativo

Unità: messaggi

Durata: un numero intero non negativo. I valori validi sono 300, 600, 900, 1800 o 3.600 secondi.

Esempio
{ "name": "In bound message count", "metric": "aws:num-messages-received", "criteria": { "comparisonOperator": "less-than-equals", "value": { "count": 50 }, "durationSeconds": 300, "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1 }, "suppressAlerts": true }
Esempio utilizzando un statisticalThreshold
{ "name": "In bound message rate", "metric": "aws:num-messages-received", "criteria": { "comparisonOperator": "less-than-equals", "statisticalThreshold": { "statistic": "p99" }, "durationSeconds": 300, "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1 }, "suppressAlerts": true }
Esempio con ML Detect
{ "name": "Messages received ML behavior", "metric": "aws:num-messages-received", "criteria": { "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1, "mlDetectionConfig": { "confidenceLevel": "HIGH" } }, "suppressAlerts": true }

Errori di autorizzazione (aws:num-authorization-failures)

Usa questo parametro per specificare il numero massimo di errori di autorizzazione permessi per ogni dispositivo in un determinato periodo di tempo. Un errore di autorizzazione si verifica quando una richiesta da un dispositivo a AWS IoT viene negata, ad esempio se un dispositivo tenta di eseguire la pubblicazione in un argomento per cui non dispone di autorizzazioni sufficienti.

Compatibile con: Rule Detect | ML Detect

Unità: errori

Operatori: less-than | less-than-equals | greater-than | greater-than-equals

Valore: intero non negativo

Durata: un numero intero non negativo. I valori validi sono 300, 600, 900, 1800 o 3.600 secondi.

Esempio
{ "name": "Authorization Failures", "metric": "aws:num-authorization-failures", "criteria": { "comparisonOperator": "less-than", "value": { "count": 5 }, "durationSeconds": 300, "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1 }, "suppressAlerts": true }
Esempio utilizzando un statisticalThreshold
{ "name": "Authorization Failures", "metric": "aws:num-authorization-failures", "criteria": { "comparisonOperator": "less-than-equals", "statisticalThreshold": { "statistic": "p50" }, "durationSeconds": 300, "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1 }, "suppressAlerts": true }
Esempio con ML Detect
{ "name": "Authorization failures ML behavior", "metric": "aws:num-authorization-failures", "criteria": { "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1, "mlDetectionConfig": { "confidenceLevel": "HIGH" } }, "suppressAlerts": true }

IP di origine (aws:source-ip-address)

Indirizzo IP da cui un dispositivo si è connesso a AWS IoT.

Usa questo parametro per specificare un set di CIDR consentiti (precedentemente chiamati whitelist) o non consentiti (precedentemente chiamati blacklist) da cui ciascun dispositivo deve o non deve connettersi a AWS IoT.

Compatibile con: Rules Detect

Operatori: in-cidr-set | not-in-cidr-set

Valori: elenco di CIDR

Unità: n/d

Esempio
{ "name": "Denied source IPs", "metric": "aws:source-ip-address", "criteria": { "comparisonOperator": "not-in-cidr-set", "value": { "cidrs": [ "12.8.0.0/16", "15.102.16.0/24" ] } }, "suppressAlerts": true }

Tentativi di connessione (aws:num-connection-attempts)

il numero di tentativi di connessione di un dispositivo in un determinato periodo di tempo.

Usa questo parametro per specificare il numero massimo o minimo di tentativi di connessione per ciascun dispositivo. Vengono conteggiati sia i tentativi riusciti che quelli non riusciti.

Compatibile con: Rule Detect | ML Detect

Operatori: less-than | less-than-equals | greater-than | greater-than-equals

Valore: intero non negativo

Unità: tentativi di connessione

Durata: un numero intero non negativo. I valori validi sono 300, 600, 900, 1800 o 3.600 secondi.

Esempio
{ "name": "Connection Attempts", "metric": "aws:num-connection-attempts", "criteria": { "comparisonOperator": "less-than-equals", "value": { "count": 5 }, "durationSeconds": 600, "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1 }, "suppressAlerts": true }
Esempio utilizzando un statisticalThreshold
{ "name": "Connection Attempts", "metric": "aws:num-connection-attempts", "criteria": { "comparisonOperator": "less-than-equals", "statisticalThreshold": { "statistic": "p10" }, "durationSeconds": 300, "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1 }, "suppressAlerts": true }
Esempio con ML Detect
{ "name": "Connection attempts ML behavior", "metric": "aws:num-connection-attempts", "criteria": { "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1, "mlDetectionConfig": { "confidenceLevel": "HIGH" } }, "suppressAlerts": false }

Disconnessioni (aws:num-disconnects)

Il numero di disconnessioni da AWS IoT di un dispositivo durante un determinato periodo di tempo.

Utilizza questo parametro per specificare il numero massimo o minimo di disconnessioni di un dispositivo da AWS IoT durante un determinato periodo di tempo.

Compatibile con: Rule Detect | ML Detect

Operatori: less-than | less-than-equals | greater-than | greater-than-equals

Valore: intero non negativo

Unità: disconnessioni

Durata: un numero intero non negativo. I valori validi sono 300, 600, 900, 1800 o 3.600 secondi.

Esempio
{ "name": "Disconnections", "metric": "aws:num-disconnects", "criteria": { "comparisonOperator": "less-than-equals", "value": { "count": 5 }, "durationSeconds": 600, "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1 }, "suppressAlerts": true }
Esempio utilizzando un statisticalThreshold
{ "name": "Disconnections", "metric": "aws:num-disconnects", "criteria": { "comparisonOperator": "less-than-equals", "statisticalThreshold": { "statistic": "p10" }, "durationSeconds": 300, "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1 }, "suppressAlerts": true }
Esempio con ML Detect
{ "name": "Disconnects ML behavior", "metric": "aws:num-disconnects", "criteria": { "consecutiveDatapointsToAlarm": 1, "consecutiveDatapointsToClear": 1, "mlDetectionConfig": { "confidenceLevel": "HIGH" } }, "suppressAlerts": true }

Durata della disconnessione (aws:disconnect-duration)

La durata della disconnessione di un dispositivo da AWS IoT.

Usa questa metrica per specificare la durata massima per la quale un dispositivo rimane disconnesso da AWS IoT.

Compatibile con: Rules Detect

Operatori: less-than | less-than-equals

Valore: intero non negativo (in minuti)

Esempio
{ "name": "DisconnectDuration", "metric": "aws:disconnect-duration", "criteria": { "comparisonOperator": "less-than-equals", "value": { "count": 5 } }, "suppressAlerts": true }