• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..17-Mar-2025-

figures/H17-Mar-2025-

frameworks/H17-Mar-2025-3,5572,853

interfaces/inner_api/H17-Mar-2025-4,9093,149

oem_property/H17-Mar-2025-549535

patches/H17-Mar-2025-2424

resource/config/build/H17-Mar-2025-2522

sa_profile/H17-Mar-2025-161154

services/H17-Mar-2025-9,7897,275

test/H17-Mar-2025-14,72010,675

BUILD.gnH A D17-Mar-20251.6 KiB5347

LICENSEH A D17-Mar-20259.9 KiB177150

OAT.xmlH A D17-Mar-20251.1 KiB2810

README.mdH A D17-Mar-202518 31

README_zh.mdH A D17-Mar-20253.3 KiB8662

bundle.jsonH A D17-Mar-20253.9 KiB124123

cfi_blocklist.txtH A D17-Mar-2025209 44

hisysevent.yamlH A D17-Mar-20252.4 KiB5850

security_guard.gniH A D17-Mar-2025724 1715

README.md

1# security_guard
2
3

README_zh.md

1# 设备风险管理平台
2
3- 简介
4- 目录
5- 编译构建
6- 说明
7
8## 简介
9
10设备风险管理平台(SecurityGuard,简称SG)向应用提供风险分析能力,包括root检测,设备完整性检测,物理真机检测等功能。
11SG模块可以分为如下三大部分:
12
13- SG 接口层:提供SG API供应用调用。
14- SG 基础服务层:实现SG数据管理、模型管理、配置管理、采集器管理等功能。
15- SG 安全模型:
16  1)越狱检测模型:检测系统是否处于越狱的状态,比如通过分析系统调用表、内核代码段是否会破坏来判断是越狱状态;
17  2)设备完整性检测模型:检测设备是否处于完整的未被修改的状态,比如通过分析boot状态是否有异常、设备是否被解锁来判断设备完整性状态;
18  3)物理机检测模型:检测当前设备是物理机或模拟器;
19
20SG部件的主要结构如下图所示
21![SG部件架架构图](figures/ohos_security_guard_architecture.png)
22
23
24## 目录
25
26```
27├── build                              # 编译配置文件
28├── frameworks                         # 框架代码, 作为基础功能目录, 被interfaces和services使用
29├── interfaces                         # 接口API代码
30│   ├── inner_api                      # inner api接口
31│   └── kits                           # 对外api接口
32├── services                           # 服务框架代码
33│   ├── config_manager                 # SG 配置管理代码
34│   ├── data_collect                   # SG 数据管理代码
35│   ├── risk_classify                  # SG 模型管理代码
36│   └── security_collector             # SG 采集器管理代码
37└── test                               # 测试代码存放目录
38```
39
40## 编译构建
41
42以rk3568为例,编译命令如下:
43
44```
45./build.sh --product-name rk3568 --build-target security_guard --ccache
46```
47
48
49## 说明
50
51### 接口说明
52
53[接口文档](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-securityGuard.md)
54
55### 事件ID编码规则
56使用事件ID编码的方式对数据做分类,编码原则如下:
57- 按照OH系统、厂商系统(基于OH定制的系统)两个维度定义编码;
58- OH系统的编码随社区独立演进,代码合入社区时重新分配编码;
59- 厂商系统的编码有厂商自定义演进,不与社区编码重叠
60
61事件ID编码分为三部分组成,每部分采用三位16进制表示:**子系统编码 + 部件编码 + 事件编码**
62- 区分OH系统与厂商系统的子系统、部件、事件编码范围:
63      OH系统使用: 0x800 – 0xFFF
64      厂商系统使用: 0x000 – 0x7FF
65- 新增编码从小到大自然增长;
66
67事件ID示例:
68```
69OH系统(以82c800801编码为例):
7082c :OH a子系统, 800:OH b部件、 801:OH c事件
71
72厂商系统(以1002003编码为例):
731 :厂商 x子系统, 002 :厂商 y部件、 003 :厂商 z事件
74```
75
76### 模型编码规则:
77使用易于开发者使用的字符串标识模型,提供两种分类:
781、Vender厂商预置的,由OpenHarmory定义,由厂商做差异化的能力;
792、EDR类App下发模型,由App做自定义模型的标识;
80
81
82## 相关仓
83
84**安全子系统**
85
86[security\_security\_guard](https://gitee.com/openharmony/security_security_guard)