

# 動作
<a name="detect-behaviors"></a>

セキュリティプロファイルには一連の動作が含まれています。各動作には、デバイスのグループまたはアカウント内のすべてのデバイスの正常な動作を指定するメトリクスが含まれています。動作は、Rules Detect 動作と ML Detect 動作の 2 つのカテゴリに分類されます。Rules Detect 動作では、デバイスの動作を定義します。一方、ML Detect では、デバイス履歴データに基づいて構築された ML モデルを使用して、デバイスの動作を評価します。

セキュリティプロファイルは、**ML** または**ルールベース**という 2 つのしきい値タイプのいずれかになります。ML セキュリティプロファイルは、過去のデータから学習することで、フリート全体のデバイスレベルの運用およびセキュリティの異常を自動的に検出します。ルールベースのセキュリティプロファイルでは、デバイスの動作を監視するために静的ルールを手動で設定する必要があります。

`behavior` の定義に使用されるフィールドには次のようなものがあります。Rules Detect および ML Detect に共通の事項

**`name`**  
動作の名前。

**`metric`**  
使用するメトリクスの名前 (つまり、動作によって測定される内容)。

**`consecutiveDatapointsToAlarm`**  
指定された数の連続するデータポイントの動作にデバイスが違反している場合、アラームが発生します。指定されなかった場合、デフォルト値は 1 です。

**`consecutiveDatapointsToClear`**  
アラームが発生し、問題のデバイスの動作が、指定された数の連続するデータポイントに違反しなくなった場合、アラームはクリアされます。指定されなかった場合、デフォルト値は 1 です。

**`threshold type`**  
セキュリティプロファイルは、ML またはルールベースといった 2 つのしきい値タイプのいずれかになります。ML セキュリティプロファイルは、過去のデータから学習することで、フリート全体のデバイスレベルの運用およびセキュリティの異常を自動的に検出します。ルールベースのセキュリティプロファイルでは、デバイスの動作を監視するために静的ルールを手動で設定する必要があります。

**`alarm suppressions`**  
動作通知を `on` または `suppressed` に設定して、アラーム検出の Amazon SNS 通知を管理できます。アラームを抑制しても、Detect はデバイス動作評価の実行を停止しません。Detect は異常動作を違反アラームとしてフラグ付けし続けます。ただし、抑制されたアラームは Amazon SNS 通知のために転送されません。AWS IoT コンソールまたは API からアクセスできます。Rules Detect

`dimension`  
ディメンションを定義して、動作の範囲を調整できます。たとえば、パターンに一致する MQTT トピックに動作を適用するトピックフィルタディメンションを定義できます。セキュリティプロファイルで使用するディメンションを定義するには、「[CreateDimension](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateDimension.html)」を参照してください。Rules Detect にのみ適用されます。

`criteria`  
デバイスが `metric` に関して正常に動作しているかどうかを判断する条件。  
AWS IoT コンソールで **[アラートを通知]** を選択すると、AWS IoT Device Defender がデバイスの異常な動作を検出したきに、Amazon SNS を通じて通知を受けることができます。  
`comparisonOperator`  
測定対象のモノ (`metric`) を条件 (`value` または `statisticalThreshold`) に関連付ける演算子。  
有効な値は、"less-than"、"less-than-equals"、"greater-than"、"greater-than-equals"、"in-cidr-set"、"not-in-cidr-set"、"in-port-set"、"not-in-port-set" です。すべての演算子をすべてのメトリクスで使用できるわけではありません。たとえば、CIDR セットやポートの演算子は、それらを含むメトリクスでのみ使用できます。  
`value`  
`metric` と比較する値。メトリクスの種類に応じて、`count` (値)、`cidrs` (CIDR のリスト)、`ports` (ポートのリスト) のいずれかを含める必要があります。  
`statisticalThreshold`  
動作違反が決定される統計的しきい値。このフィールドには、以下の値を指定できる `statistic` フィールドが含まれています。「p0」、「p0.1」、「p0.01」、「p1」、「p10」、「p50」、「p90」、「p99」、「p99.9」、「p99.99」、または「p100」。  
この `statistic` はパーセンタイルを示します。動作への適合が決定される値に解決されます。このセキュリティプロファイルに関連付けられたすべての報告デバイスから、指定された期間 (`durationSeconds`) にわたり 1 回以上メトリクスが収集され、そのデータに基づいてパーセンタイルが計算されます。その後、デバイスに対して測定が収集され、同じ期間にわたり蓄積されます。そのデバイスの結果の値が、指定されたパーセンタイルに関連付けられている値 (`comparisonOperator`) を上回ったり、下回ったりする場合、デバイスは動作に準拠していると見なされます。それ以外の場合、デバイスは動作の違反になります。  
[パーセンタイル](https://en.wikipedia.org/wiki/Percentile)は、関連付けられた値を下回る、考慮されたすべての測定の割合を示します。たとえば、「p90」(90 パーセンタイル) に関連付けられた値が 123 である場合、すべての測定の 90% が 123 未満です。  
`durationSeconds`  
時間ディメンション (`NUM_MESSAGES_SENT` など) を持つ条件に対して動作が評価される期間を指定するには、これを使用します。`statisticalThreshhold` メトリクスの比較では、これは `statisticalThreshold` の値を決定するためにすべてのデバイスの測定が収集され、比較におけるその動作のランクを各デバイスが決定するための期間です。ML 検出

`ML Detect confidence`  
ML Detect は、`High`、`Medium`、`Low` といった 3 つの信頼度レベルをサポートします。`High` の信頼度は、異常動作評価における感度が低く、しばしばアラームの数が少なくなります。`Medium` の信頼度は中程度の感度を意味し、`Low` の信頼度は高感度であり、アラームの数が多くなります。