# 设备异常检测
物联网平台提供设备异常检测功能，当前主要有安全检测和离线分析功能。
![](https://support.huaweicloud.com/usermanual-iothub/public_sys-resources/notice_3.0-zh-cn.png)
异常检测功能已合并到安全态势感知，详细请参考[安全态势感知](https://support.huaweicloud.com/usermanual-iothub/iot_01_00303.html)。
#### 安全检测
物联网平台提供安全检测能力，可持续检测设备的安全威胁。本文介绍具体的安全检测项，及如何查看并处理检测出的安全风险。
表1检测项说明 
| **检测项**         | **说明**                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|
| 设备侧使用非加密方式接入  | 设备与物联网平台之间，未使用加密协议建立安全连接，可能导致中间人劫持、重放攻击，会对业务造成影响。                                                                                                                                                                                                                                                                                                                                                                                        |
| 使用不安全的TLS版本协议 | 不安全的TLS协议版本（TLS v1.0、v1.1）存在可被利用的安全漏洞，可能会造成设备数据泄露等安全风险。                                                                                                                                                                                                                                                                                                                                                                                  |
| 使用不安全的加密算法套件  | 当前主要检测包含以下几种不安全的加密算法套件： TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA, TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA, TLS_PSK_WITH_AES_128_CBC_SHA, TLS_PSK_WITH_AES_256_CBC_SHA 不安全的加密算法套件存在可被利用的安全漏洞，可能会造成设备数据泄露等安全风险。 |
| 设备侧单位时间内多次建链 | 设备侧在1秒内与物联网平台进行多次建链，存在设备被暴力破解，导致身份信息泄露的可能，会造成正常设备被迫下线、业务数据被窃取等安全风险。                                                                                                                                                                                                                                                                                                                                                                       |
| 设备鉴权失败       | 设备身份认证信息错误，导致设备无法上线，可能会对业务造成影响。                                                                                                                                                                                                                                                                                                                                                                                                          |
   
上述通用异常检测功能检测项开关默认开启，同时设备异常检测包括一些非公共检测项，用户可以根据需求进行检测项的开关等配置。
表2检测项说明 
| 检测项       | 说明                     |
|:---|:---|
| 内存泄漏检测   | 检测端侧设备是否存在内存泄漏。          |
| 异常端口检测      | 检测端侧设备是否开启了异常端口。        |
| CPU使用率检测 | 检测端侧设备CPU使用率是否过高。       |
| 磁盘空间检测      | 检测端侧设备磁盘空间是否不足。          |
| 电池电量检测    | 检测端侧设备电池电量是否过低。          |
| 恶意IP检测    | 检测与设备通信的IP地址是否为恶意IP地址。 |
| 本地登录检测   | 检测设备是否被通过非SSH等网络方式登录。   |
| 暴力破解登录检测 | 检测设备是否被尝试通过暴力破解账号密码进行登录。 |
| 文件篡改检测    | 检测设备指定目录下的文件是否被篡改。     |
   
#### 离线分析
当设备发生离线事件时，需要对离线原因进行分析。根据离线发生的时间、设备的离线原因来统计离线设备的特征，帮助您全面了解、分析设备离线的原因。
![](https://support.huaweicloud.com/usermanual-iothub/public_sys-resources/notice_3.0-zh-cn.png)
离线分析功能已合并到安全态势感知：设备异常离线检测项中，详细请参考[安全态势感知](https://support.huaweicloud.com/usermanual-iothub/iot_01_00303.html)。
表3设备离线原因 
| **离线原因**                 | **说明**                                                                                                                                                            |
|:---|:---|
| 设备侧发起断链请求，主动离线            | 设备主动向物联网平台发送MQTT协议的DISCONNECT报文，进行离线。                                                                                                                             |
| 设备侧长时间不发送心跳导致设备离线         | 设备侧未按照MQTT协议规定，在设置的心跳周期 \* 1.5 时间范围内向物联网平台发送MQTT协议层的心跳报文，导致物联网平台认为该设备链路已失效，按照协议要求，断开设备链接。 （注：心跳周期是设备侧在与物联网平台进行建链时指定的） |
| 设备侧跟云端之间TCP链路断开，导致设备离线 | 物联网平台收到设备侧发送的TCP拆链报文，导致设备侧与物联网平台之间的TCP链路断开。                                                                                                                       |
| 删除设备导致链路断开，设备离线         | 租户在物联网平台上对该设备进行删除，物联网平台对该设备进行断链。                                                                                                                                  |
| 冻结设备导致链路断开，设备离线          | 租户在物联网平台上对该设备进行冻结，物联网平台对该设备进行断链。                                                                                                                                  |
| 平台主动断开设备链路，导致设备离线        | 物联网平台升级期间，会主动断开设备链路。                                                                                                                                              |
| 设备与平台建立多条链路，导致老链路被断链     | 设备侧与物联网平台主动建立了多条链路，物联网平台将该设备侧的老链路断开，保留新建立的链路。                                                                                                                      |
| 重置设备密钥，导致设备离线             | 租户在物联网平台上对该设备进行密钥重置并设置强制断链时，物联网平台对该设备进行断链。                                                                                                                        |
   
#### 操作步骤
1. 访问[设备接入服务](https://www.huaweicloud.com/product/iothub.html)，单击"管理控制台"进入设备接入控制台。选择您的实例，单击实例卡片进入。
2. 选择左侧导航栏的"监控运维 \> 异常检测"，单击"访问授权"。使用异常检测功能需要授权IoTDA服务对LTS服务进行操作。 
   图1异常检测-访问授权   
   ![](https://support.huaweicloud.com/usermanual-iothub/figure/zh-cn_image_0000001983931125.png "点击放大")
   
   
3. 授权后，可以看到安全检测和离线分析两个页面，两个功能需要手动开启才能使用 ，单击"开启功能"。 
   图2异常检测-安全检测   
   ![](https://support.huaweicloud.com/usermanual-iothub/figure/zh-cn_image_0000001983934745.png "点击放大")
   图3异常检测-离线分析   
   ![](https://support.huaweicloud.com/usermanual-iothub/figure/zh-cn_image_0000001951535486.png "点击放大")
   ![](https://support.huaweicloud.com/usermanual-iothub/public_sys-resources/note_3.0-zh-cn.png)
   - 开通该功能的同时，平台会自动创建一个日志组，日志流和数据来源为所属所有资源空间的"运行日志"转发规则。其中，日志组名称为：{domainName}-device-exception-group；日志流名称为：{domainName}-device-exception-stream；转发规则名称为：{domainName}-device-exception-rule。请谨慎删除数据来源为"运行日志"的转发规则，否则会影响功能的正常使用，关闭功能不会删除规则，且再次开启功能后会沿用此规则，无需重新创建。
   
   - 请注意异常检测日志占用的存储空间。如云日志服务(LTS)将会按配额设置，将超过免费赠送额度(500M)的数据丢弃，或者收取费用继续采集。您可以通过右上角的"配额设置"手动修改
    
   
   
4. 异常检测页面如需开启安全检测配置，请进行如下操作，否则跳过该步骤。 
   1. 选择异常检测中的"安全检测"，单击"安全检测配置"，弹出对话框单击"添加安全产品配置"。
      图4异常检测-安全检测配置   
      ![](https://support.huaweicloud.com/usermanual-iothub/figure/zh-cn_image_0000001983778105.png "点击放大") 
   
   2. 在配置页面中，选择产品所在资源空间，以及要配置的产品名称，根据需求开启相应的检测配置项。
      图5异常检测-安全检测项配置   
      ![](https://support.huaweicloud.com/usermanual-iothub/figure/zh-cn_image_0000001983939629.png "点击放大")
      ![](https://support.huaweicloud.com/usermanual-iothub/public_sys-resources/note_3.0-zh-cn.png)
      其中内存、CPU使用率、磁盘空间、电池电量检测，通过将设备采集后上报的数值与检测项中配置的对应阈值进行对比，判断是否产生相应告警。异常端口以及恶意IP检测，以设备上报参数值与检测项配置的相应白名单的匹配结果，判断是否产生告警，其中白名单IP支持IP段配置如192.168.1.10/24。异常端口检测以及恶意IP检测项打开时，需要在检测项输入框中配置相应的白名单端口和IP才能实现下发安全配置。
      
   
   
   
   
5. 物联网平台安全检测与离线分析功能支持开启后手动关闭，页面中单击"关闭功能"，关闭后不再提供该能力，如想再使用，可单击"开启功能"。 
   图6异常检测-关闭   
   ![](https://support.huaweicloud.com/usermanual-iothub/figure/zh-cn_image_0000001983942249.png)
   ![](https://support.huaweicloud.com/usermanual-iothub/public_sys-resources/note_3.0-zh-cn.png)
   - 开启安全检测功能后，物联网平台即会开始对设备进行安全检测，安全检测最多保持近7天的数据，支持通过设备ID、资源空间、产品、检测类型和发生时间范围进行过滤搜索，单击"详情"可查看检查项内容。
     图7异常检测-安全检测概览   
     ![](https://support.huaweicloud.com/usermanual-iothub/figure/zh-cn_image_0000001951553230.png "点击放大") 
   
   - 打开离线分析后，物联网平台对设备离线原因自动进行分析，离线分析最多保持近7天的数据，支持通过设备ID、资源空间、产品、异常原因和发生时间范围进行过滤搜索，单击"详情"可查看具体内容。
     图8异常检测-离线分析概览   
     ![](https://support.huaweicloud.com/usermanual-iothub/figure/zh-cn_image_0000002141078046.png "点击放大") 
    
   
   
 
