# 安全态势感知
#### 概述
安全态势感知是对物联网平台资产的统一风险监控管理系统，通过仪表盘，图表等方式实现安全可视化，安全统计提升治理效率。
图1安全态势感知-监控大屏   
![](https://support.huaweicloud.com/usermanual-iothub/figure/zh-cn_image_0000002246923809.png "点击放大")
图2安全态势感知-监控大屏2   
![](https://support.huaweicloud.com/usermanual-iothub/figure/zh-cn_image_0000002211966350.png "点击放大")
#### 约束与限制
- 单实例下安全态势配置配额为100个。
- 同一个设备相同检测项告警抑制时间为1小时，即告警触发上报最短周期为1小时。
 
 #### 安全检测
物联网平台安全检测分为设备侧检测与平台侧检测两种，设备侧检测即在平台开启并配置检测项参数，平台下发给设备，由设备侧主动上报告警信息，建议使用[设备侧SDK](https://support.huaweicloud.com/sdkreference-iothub/iot_02_0178.html)减少开发成本，平台侧检测项开启后由平台主动监控设备，触发告警。物联网平台对检测项进行了分级分类，即可单独配置检测项的告警级别（严重、重要、一般）与安全级别（极致安全、高级安全、基础安全），下表是平台支持的检测项与默认级别。
表1安全检测项 
| 检测项                | 默认告警级别 | 默认安全分类 | 平台侧/设备侧 | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|:---|
| 设备内存泄漏检测          | 严重   | 高级     | 设备侧    | 检测设备内存使用率是否超过阈值。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| 设备异常端口检测            | 严重     | 高级   | 设备侧   | 检测设备是否使用白名单外的端口。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 设备CPU使用率检测         | 严重    | 高级   | 设备侧  | 检测设备CPU使用率是否超过阈值。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| 设备磁盘使用率检测           | 严重   | 高级    | 设备侧     | 检测设备磁盘使用率是否超过阈值。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| 设备电池电量检测            | 严重  | 高级    | 设备侧    | 检测设备电量是否低于阈值。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 设备本地登录检测            | 一般      | 基础    | 设备侧   | 检测设备是否存在本地登录行为。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| 设备暴力破解登录检测       | 一般   | 基础     | 设备侧     | 检测设备是否存在防暴力破解行为。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| 设备恶意IP检测          | 一般   | 基础    | 设备侧     | 检测设备是否连接恶意IP地址。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 设备本地文件篡改检测          | 一般    | 基础  | 设备侧     | 检测设备是否存在文件被篡改。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 设备是否使用TLS加密通讯协议检测    | 一般    | 极致    | 平台侧     | 检测设备是否使用不安全端口接入。 设备与物联网平台之间，未使用加密协议建立安全连接，可能导致中间人劫持、重放攻击，会对业务造成影响。                                                                                                                                                                                                                                                                                                                                                                                             |
| 设备使用不安全TLS版本接入检测  | 严重     | 极致    | 平台侧      | 检测设备是否使用不安全的TLS协议版本接入。 不安全的TLS协议版本（TLS v1.0、v1.1）存在可被利用的安全漏洞，可能会造成设备数据泄露等安全风险。                                                                                                                                                                                                                                                                                                                                                                                 |
| 设备使用不安全TLS加密套件接入检测 | 严重     | 极致   | 平台侧    | 检测设备是否使用不安全的TLS加密套件接入。 当前主要检测包含以下几种不安全的加密算法套件： 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 不安全的加密算法套件存在可被利用的安全漏洞，可能会造成设备数据泄露等安全风险。 |
| 设备鉴权失败检测            | 严重  | 极致     | 平台侧    | 检测设备是否鉴权失败。 设备身份认证信息错误，导致设备无法上线，可能会对业务造成影响。                                                                                                                                                                                                                                                                                                                                                                                                                    |
| 设备异常离线检测         | 严重   | 极致    | 平台侧     | 检测设备是否异常离线，设备离线具体原因参考[表2]。                                                                                                                                                                                                                                                                                                                                                                                                                                |
| 设备单位时间内多次建链检测       | 严重    | 极致     | 平台侧    | 检测设备是否单位时间内多次建链。设备侧在1秒内与物联网平台进行多次建链，存在设备被暴力破解，导致身份信息泄露的可能，会造成正常设备被迫下线、业务数据被窃取等安全风险。                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 设备弱密码检测            | 重要     | 极致     | 平台侧   | 检测设备是否使用弱密码。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   
 表2设备离线原因 
| **离线原因**                 | **说明**                                                                                                                                                                                         |
|:---|:---|
| 设备侧发起断链请求，主动离线            | 设备主动向物联网平台发送MQTT协议的DISCONNECT报文，进行离线。                                                                                                                                                          |
| 设备侧长时间不发送心跳导致设备离线         | 设备侧未按照MQTT协议规定，在设置的心跳周期 \* 1.5 时间范围内向物联网平台发送MQTT协议层的心跳报文，导致物联网平台认为该设备链路已失效，按照协议要求，断开设备链接。 （注：心跳周期是设备侧在与物联网平台进行建链时指定的） |
| 设备侧跟云端之间TCP链路断开，导致设备离线 | 物联网平台收到设备侧发送的TCP拆链报文，导致设备侧与物联网平台之间的TCP链路断开。                                                                                                                                                    |
| 删除设备导致链路断开，设备离线         | 租户在物联网平台上对该设备进行删除，物联网平台对该设备进行断链。                                                                                                                                                               |
| 冻结设备导致链路断开，设备离线          | 租户在物联网平台上对该设备进行冻结，物联网平台对该设备进行断链。                                                                                                                                                               |
| 平台主动断开设备链路，导致设备离线        | 物联网平台升级期间，会主动断开设备链路。                                                                                                                                                                           |
| 设备与平台建立多条链路，导致老链路被断链     | 设备侧与物联网平台主动建立了多条链路，物联网平台将该设备侧的老链路断开，保留新建立的链路。                                                                                                                                                   |
| 重置设备密钥，导致设备离线             | 租户在物联网平台上对该设备进行密钥重置并设置强制断链时，物联网平台对该设备进行断链。                                                                                                                                                     |
   
设备侧检测项配置后平台通过影子下发给设备，service_id为：$security_detection_config，结构属性如下：
表3安全检测影子配置 
| key                                 | value类型   | 说明                        |
|:---|:---|:---|
| memoryCheck                       | Integer   | 0：关闭内存检测，1：开启内存检测        |
| memoryThreshold                    | Integer   | 内存利用率告警阈值，取值范围1-100      |
| memoryCheckReportPeriod            | Integer   | 内存检测上报周期，取值范围1-24，单位：小时 |
| portCheck                         | Integer   | 0：关闭端口检测，1：开启端口检测           |
| portCheckReportPeriod              | Integer   | 端口检测上报周期，取值范围1-24，单位：小时  |
| cpuUsageCheck                    | Integer     | 0：关闭CPU检测，1：开启CPU检测         |
| cpuUsageThreshold                 | Integer    | CPU利用率告警阈值，取值范围1-100       |
| cpuUsageCheckReportPeriod          | Integer    | CPU检测上报周期，取值范围1-24，单位：小时  |
| diskSpaceCheck                      | Integer     | 0：关闭磁盘检测，1：开启磁盘检测         |
| diskSpaceThreshold                 | Integer     | 磁盘利用率告警阈值，取值范围1-100       |
| diskSpaceCheckReportPeriod           | Integer   | 磁盘检测上报周期，取值范围1-24，单位：小时    |
| batteryPercentageCheck             | Integer    | 0：关闭电量检测，1：开启电量检测           |
| batteryPercentageThreshold        | Integer   | 电量百分比告警阈值，取值范围1-100      |
| batteryPercentageCheckReportPeriod | Integer    | 电量检测上报周期，取值范围1-24，单位：小时    |
| loginLocalCheck                     | Integer      | 0：关闭本地登录检测，1：开启本地登录检测     |
| loginBruteForceCheck              | Integer     | 0：关闭暴力破解登录检测，1：开启暴力破解登录检测 |
| maliciousIPCheck                  | Integer   | 0：关闭恶意IP检测，1：开启恶意IP检测    |
| maliciousIPCheckReportPeriod      | Integer | 恶意IP检测上报周期，取值范围1-24，单位：小时  |
| fileTamperCheck                     | Integer  | 0：关闭文件防篡改检测，1：开启文件防篡改检测   |
   
设备侧检测结果数据上报格式参考：[设备上报安全态势感知告警](https://support.huaweicloud.com/api-iothub/iot_06_v5_1439.html)
#### 业务流程
图3安全态势感知流程   
![](https://support.huaweicloud.com/usermanual-iothub/figure/zh-cn_image_0000002167403398.png "点击放大")
#### 操作步骤
1. 访问[设备接入服务](https://www.huaweicloud.com/product/iothub.html)，单击"管理控制台"进入设备接入控制台。选择您的实例，单击实例卡片进入。
2. 选择左侧导航栏的"安全态势感知 \> 安全检测配置"。
3. 单击"添加安全检测配置"，进入添加安全检测配置界面。 
   图4安全态势感知-添加安全检测配置   
   ![](https://support.huaweicloud.com/usermanual-iothub/figure/zh-cn_image_0000002202917857.png "点击放大")
   
   
4. 设备连接平台，获取安全态势感知配置，参考[设备获取安全态势感知配置](https://support.huaweicloud.com/api-iothub/iot_06_v5_1438.html)。
   
   图5安全态势感知-获取安全检测配置   
   ![](https://support.huaweicloud.com/usermanual-iothub/figure/zh-cn_image_0000002202798901.png "点击放大")
   
   
5. 设备上报告警数据，上行topic：$oc/devices/{device_id}/sys/events/up，内容体： 
   ```
   {
   "services": [{
   "service_id": "$log",
   "event_type": "security_log_report",
   "event_time": "20250207T164812Z",
   "paras": {
   "type": "CPU_USAGE_REPORT",
   "content": {
   "cpu_usage": 99,
   "cpu_usage_alarm": 1
   }
   }
   }]
   }
   ```
   
   
6. 选择左侧导航栏的"安全态势感知 \> 安全检测告警"查看告警列表。 
   图6安全态势感知-安全检测告警   
   ![](https://support.huaweicloud.com/usermanual-iothub/figure/zh-cn_image_0000002167509892.png "点击放大")
   
   
表4安全态势感知LTS格式 
| 字段         | 说明                                            |
|:---|:---|
| deviceData    | 设备信息。                                        |
| metadata  | 告警元数据。                                         |
| annotation  | 告警详情。                                       |
| recordTime | 告警发生时间，UTC时间，格式：yyyy-MM-dd'T'HH:mm:ss.SSS'Z'。 |
   
表5deviceData格式 
| 字段         | 说明      |
|:---|:---|
| deviceId  | 设备ID。 |
| appId      | 应用ID。 |
| productId | 产品ID。  |
   
表6metadata格式 
| 字段             | 说明       |
|:---|:---|
| resourceId     | 资源ID。      |
| securityType  | 安全检测类型。  |
| alarmLevel     | 告警级别。     |
| securityLevel | 安全风险级别。 |
   
表7annotation格式 
| 字段       | 说明      |
|:---|:---|
| suggestion | 告警解决建议。  |
| probableCause                         | 告警产生可能原因。                             |
| message   | 告警信息。 |
   
