

# 行为
<a name="detect-behaviors"></a>

安全配置文件包含一组行为。每个行为都包含一个指标，用于指定账户中的一组设备或所有设备的正常行为。行为分为两类：Rule Detect 行为和 ML Detect 行为。使用 Rules Detect 行为，您可以定义设备的行为方式，而 ML Detect 使用基于历史设备数据构建的 ML 模型来评估设备应有的行为方式。

安全配置文件可以是以下两种阈值类型之一：**ML** 或者 **基于规则**。ML 安全配置文件会借助过去的数据自动检测机群中的设备级操作和安全异常。基于规则的安全配置文件要求您手动设置静态规则以监控您的设备行为。

下面描述了 `behavior` 定义中使用的一些字段：Rules Detect 和 ML Detect 的共同点

**`name`**  
行为的名称。

**`metric`**  
所用指标的名称（即行为评估的对象）。

**`consecutiveDatapointsToAlarm`**  
如果设备在指定数量的连续数据点违反了行为，则会发出警报。如果未指定，默认值为 1。

**`consecutiveDatapointsToClear`**  
如果发出警报后，违规设备不再违反指定数量的连续数据点的行为，则警报将被解除。如果未指定，默认值为 1。

**`threshold type`**  
安全性配置文件可以是两种阈值类型之一：ML 或基于规则。ML 安全配置文件会借助过去的数据自动检测机群中的设备级操作和安全异常。基于规则的安全配置文件要求您手动设置静态规则以监控您的设备行为。

**`alarm suppressions`**  
您可以通过将行为通知设置为 `on` 或 `suppressed` 来管理 Detect 警报 Amazon SNS 通知。隐藏告警不会阻止 Detect 执行设备行为评估；Detect 会继续将异常行为标记为违规告警。然而，不会针对 Amazon SNS 通知转发隐藏的警报。它们只能通过 AWS IoT 控制台或 API 进行访问。Rule 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`（一个值）、`ports`（CIDR 列表）或 `cidrs`（端口列表）。  
`statisticalThreshold`  
作为行为违规判断依据的统计阈值。此字段包含一个 `statistic` 字段，后者具有以下可能的值：“p0”、“p0.1”、“p0.01”、“p1”、“p10”、“p50”、“p90”、“p99”、“p99.9”、“p99.99”或“p100”。  
此 `statistic` 表示一个百分位数。它解析为用于确定符合行为的值。在指定持续时间 (`durationSeconds`) 内从与此安全配置文件关联的所有报告设备收集指标一次或多次，并根据该数据计算百分位数。之后，收集设备的测量值并在相同的持续时间内累积。如果设备的结果值高于或低于 (`comparisonOperator`) 与指定百分位数关联的值，则认为设备与行为相符。否则，该设备违反了该行为。  
[百分位数](https://en.wikipedia.org/wiki/Percentile)表示所有考虑的测量值中低于相关值的百分比。例如，如果与“p90”（第 90 个百分位数）相关的值是 123，则 90% 的测量值都低于 123。  
`durationSeconds`  
使用此参数为具有时间维度的条件（例如，`NUM_MESSAGES_SENT`）指定评估行为的时间段。对于 `statisticalThreshhold` 指标比较，这是一个时间段，期间将收集所有设备的测量值以确定 `statisticalThreshold` 值，然后为每个设备确定其行为在比较中的排名方式。ML Detect

`ML Detect confidence`  
ML Detect 支持三个置信级别：`High`、`Medium` 和 `Low`。`High` 置信度意味着异常行为评估的敏感度较低，同时告警数量往往较少,`Medium` 置信度意味着中等灵敏度，`Low` 置信度意味着高灵敏度和通常更高的告警数量。