From cecfa6383ecfbc078c7db8f379ab1c2bb0290c21 Mon Sep 17 00:00:00 2001 From: huyubiao Date: Mon, 26 May 2025 16:34:36 +0800 Subject: [PATCH 1/2] Migrate docs from openeuler/docs to current project --- docs/zh/2403_LTS_SP2/_toc.yaml | 12 ++ docs/zh/2403_LTS_SP2/api_reference.md | 83 ++++++++++++++ docs/zh/2403_LTS_SP2/install_secdetector.md | 104 ++++++++++++++++++ .../introduction_to_secdetector.md | 98 +++++++++++++++++ .../public_sys-resources/icon-note.gif | Bin 0 -> 394 bytes docs/zh/2403_LTS_SP2/secdetector.md | 5 + docs/zh/2403_LTS_SP2/using_secdetector.md | 46 ++++++++ 7 files changed, 348 insertions(+) create mode 100644 docs/zh/2403_LTS_SP2/api_reference.md create mode 100644 docs/zh/2403_LTS_SP2/install_secdetector.md create mode 100644 docs/zh/2403_LTS_SP2/introduction_to_secdetector.md create mode 100644 docs/zh/2403_LTS_SP2/public_sys-resources/icon-note.gif create mode 100644 docs/zh/2403_LTS_SP2/secdetector.md create mode 100644 docs/zh/2403_LTS_SP2/using_secdetector.md diff --git a/docs/zh/2403_LTS_SP2/_toc.yaml b/docs/zh/2403_LTS_SP2/_toc.yaml index e69de29..2f9e2b3 100644 --- a/docs/zh/2403_LTS_SP2/_toc.yaml +++ b/docs/zh/2403_LTS_SP2/_toc.yaml @@ -0,0 +1,12 @@ +label: secDetector使用指南 +isManual: true +description: secDetector是OS内构入侵检测系统,为关键信息基础设施提供入侵检测及响应能力 +sections: + - label: 认识secDetector + href: ./introduction_to_secdetector.md + - label: 安装与部署 + href: ./install_secdetector.md + - label: 接口参考 + href: ./api_reference.md + - label: 使用secDetector + href: ./using_secdetector.md diff --git a/docs/zh/2403_LTS_SP2/api_reference.md b/docs/zh/2403_LTS_SP2/api_reference.md new file mode 100644 index 0000000..1235f7b --- /dev/null +++ b/docs/zh/2403_LTS_SP2/api_reference.md @@ -0,0 +1,83 @@ +# 接口说明 + +secDetector操作系统内构入侵检测系统对外提供SDK,这里给出用户开发应用程序所需的接口。SDK的接口设计非常简单,一共只有三个接口,两个头文件。 + +头文件: + +- secDetector/secDetector_sdk.h:包含接口定义 + +- secDetector/secDetector_topic.h:包含一些调用接口所需使用的预定义宏,如可选择性订阅的功能主题编号 + + +## secSub + +订阅 topic 接口 + +**功能**: + +订阅接口,应用程序通过输入不同 topic id,可以选择订阅不同的功能主题,比如文件打开类异常探针。secDetector 提供的诸功能主题对应的 topic id 的定义在 secDetector_topic.h 中可以查看。本订阅接口支持一次订阅多个主题,多个探针的 topic id 可以以位图的形式进行组合。 + +>![](./public_sys-resources/icon-note.gif) **说明:** +>由于一次订阅产生一个reader即信息读取器,所以应用程序应当在一次订阅接口调用中订阅所需的所有主题。这样就可以使用一个reader进行信息的采集。如果需要调整订阅的内容,可以退订之后再重新订阅。 + +**函数声明:** + +```c +void *secSub(const int topic); +``` + +**参数:** + +- topic:入参,需要订阅的主题集合 + +**返回值:** + +- NULL:订阅失败 +- NOT NULL:读取订阅主题相关信息的GRPC reader读取器 + +## secUnsub + +退订 topic 接口 + +**功能**: + +退订接口,应用程序通过输入订阅成功后获得的reader,完成主题的退订。退订后应用程序便不会收到相应主题的信息。系统中某主题如果没有任何应用程序订阅,则不会被执行。 + +**函数声明:** + +```c +void secUnsub(void *reader); +``` + +**参数:** + +- reader:入参,需要退订的信息读取器 + +**返回值:** + +- 无 + + +## secReadFrom + +已订阅主题的消息读取接口 + +**功能**: + +使用订阅接口对某些主题的订阅成功后,执行退订操作之前,可使用本接口接受 secDetector 发送的已订阅主题的消息。本接口是阻塞式的。应用程序建议使用独立的线程循环调用。当已订阅主题有消息时候,本函数才会被恢复执行。 + +**函数声明:** + +```c +void secReadFrom(void *reader, char *data, int data_len); +``` + +**参数:** + +- reader:入参,主题订阅成功后得到的消息读取器 +- data:出参,消息缓冲区,由应用程序提供的一段内存 +- data_len:入参,消息缓冲区的尺寸 + +**返回值:** + +- 无 diff --git a/docs/zh/2403_LTS_SP2/install_secdetector.md b/docs/zh/2403_LTS_SP2/install_secdetector.md new file mode 100644 index 0000000..e4acb83 --- /dev/null +++ b/docs/zh/2403_LTS_SP2/install_secdetector.md @@ -0,0 +1,104 @@ +# 安装 secDetector + +## 软硬件要求 + +### 硬件要求 + +* 当前仅支持 x86_64、aarch64 架构处理器。 +* secDetector磁盘使用需求:配额1GB及以上。 +* secDetector内存使用需求:配额100MB及以上。 + +### 环境准备 + +安装 openEuler 系统,安装方法参考《[安装指南](../../installation_upgrade/installation/installation-on-servers.md)》。 + +## 安装secDetector + +1. 配置openEuler yum源:openEuler 发布版本上已默认配置完成yum源,无需额外操作。特殊情况下请参考openEuler官方文档配置在线yum源或通过ISO挂载配置本地yum源。 + +2. 安装secDetector。 + + ```shell + #安装secDetector + sudo yum install secDetector + ``` + +> ![](./public_sys-resources/icon-note.gif)说明: +> +> 安装secDetector后在指定目录下可获得部署secDetector所需的相关文件: + +```shell +#secDetector的kerneldriver的核心框架 +/lib/modules/%{kernel_version}/extra/secDetector/secDetector_core.ko + +#secDetector的kerneldriver的功能组件 +/lib/modules/%{kernel_version}/extra/secDetector/secDetector_xxx.ko + +#secDetector的守护者进程文件 +/usr/bin/secDetectord + +#secDetector的SDK库文件 +/usr/lib64/secDetector/libsecDetectorsdk.so +/usr/include/secDetector/secDetector_sdk.h +/usr/include/secDetector/secDetector_topic.h +``` + +## 部署 secDetector + +secDetector的主体secDetectord是以系统服务的形式部署在系统中的,前台业务系统可以通过集成SDK来与之通信。由于secDetector的部分能力必须构建在内核之中,因此secDetectord的功能全集还依赖于其后台驱动的部署。 + +### 部署 kernel driver + +1. 插入 kernel driver 的基础框架:secDetector_core.ko 是 kernel driver 的基础框架,要优先于其他内核模块进行部署。找到安装后的 secDetector_core.ko 目录,将其插入内核。参考命令如下: + + ```shell + sudo insmod secDetector_core.ko + ``` + + secDetector_core 支持一个命令行参数ringbuf_size。用户可以通过指定该参数的值来控制 kernel driver 与 用户态secDetectord之间数据通道的缓存空间尺寸。该参数可以被指定为4~1024中的一个整数,单位是MB。默认值是4,必须为2的幂。参考命令如下: + + ``` + sudo insmod secDetector_core.ko ringbuf_size=128 + ``` + + +2. 插入 kernel driver 的功能模块:secDetector的 kernel driver 采用模块化部署方式。用户可以选择基于框架部署满足需要的功能模块,也可以选择部署全部模块。参考命令如下: + + ```shell + sudo insmod secDetector_kmodule_baseline.ko + + sudo insmod secDetector_memory_corruption.ko + + sudo insmod secDetector_program_action.ko + + sudo insmod secDetector_xxx.ko + ``` + + - secDetector_kmodule_baseline.ko 提供了内核模块列表检测的能力,属于内存修改类探针; + - secDetector_memory_corruption.ko 提供了内存修改检测的能力,属于内存修改类探针; + - secDetector_program_action.ko 提供了程序行为检测的能力,属于程序行为类探针。 + +### 部署 usr driver 和 observer_agent + +当前用户态驱动 usr driver 和服务 observer_agent 已经都被集成到secDetectord中,参考命令如下: + +```shell +sudo ./secDetectord & +``` + +usr driver当前包含了文件操作类探针和进程管理类探针的能力。 + +secDetectord支持如下一些配置选项: + +``` +用法:secDetectord [选项] +secDetectord 默认会在后台运行,从探针中取得数据并转发给订阅者。 +选项: + -d 进入调试模式,进入前台运行,并且在控制台打印探针数据。 + -s 配置eBPF缓冲区大小,单位为Mb,默认为4; size可选范围为4~1024,且必须为2的幂次方。当前拥有2个独立的缓冲区。 + -t 支持配置订阅的事件,默认为所有事件。topic 是位图格式。例如 -t 0x60 同时订阅进程创建和进程退出事件。详细请查阅 include/secDetector_topic.h。 +``` + +### 部署SDK + +SDK的库文件默认已经被部署到系统库目录中,用户需要在自己的程序中引用SDK的头文件即可使用。 \ No newline at end of file diff --git a/docs/zh/2403_LTS_SP2/introduction_to_secdetector.md b/docs/zh/2403_LTS_SP2/introduction_to_secdetector.md new file mode 100644 index 0000000..d9af9b9 --- /dev/null +++ b/docs/zh/2403_LTS_SP2/introduction_to_secdetector.md @@ -0,0 +1,98 @@ +# 认识secDetector + +## 简介 + +secDetector 是专为OS设计的内构入侵检测系统,旨在为关键信息基础设施提供入侵检测及响应能力,为第三方安全工具减少开发成本同时增强检测和响应能力。secDetector 基于ATT&CK攻击模式库建模提供更为丰富的安全事件原语,并且可以提供实时阻断和灵活调整的响应能力。 + +secDetector 作为一套灵活的OS内构入侵检测系统,有三种使用模式: + +1. 直接被系统用户开启用作一些基础异常事件的告警和处置。 +2. 被安全态势感知服务集成,补齐系统信息采集缺陷,用于APT等复杂的安全威胁分析和重点事件布控实时阻断。 +3. 由安全从业人员或安全感知服务提供商二次开发,基于可拓展框架构建精确、高效、及时的入侵检测与响应能力。 + +## 软件架构 + +``` +||==APP===================================================================|| +|| || +|| ---------------------------- || +|| | SDK | || +|| ---------------------------- || +|| /^\ || +||==================================|=====================================|| + | + | + | +||==OBSERVER========================|=====================================|| +|| | || +|| ---------------------------- || +|| | service | || +|| ---------------------------- || +|| /^\ || +||==================================|=====================================|| + | +||==DRIVER================================================================|| +|| || +|| ---------------------------- || +|| | 8 types of cases | || +|| ---------------------------- || +|| || +||------------------------------------------------------------------------|| +|| core || +|| ------------- ---------------- ---------------- ----------------- || +|| | hook unit | | collect unit | | analyze unit | | response unit | || +|| ------------- ---------------- ---------------- ----------------- || +|| || +||========================================================================|| +``` + +secDetector在架构上分为四个部分:SDK、service、检测特性集合cases、检测框架core。 + +- SDK + + SDK是以一个用户态动态链接库lib的形态承载,被部署到需要使用secDetector入侵检测系统的安全感知业务中。SDK用于和secDetector入侵检测系统的service通讯,完成所需的工作(例如订阅,去订阅,读取现有消息等功能)。secDetector提供的异常信息被定义成不同的case,安全感知业务可以根据自身需求订阅。 + +- service + + service是以一个用户态服务应用的形态承载,向上管理、维护安全感知业务的case订阅信息,向下维护case的运行情况。框架core和检测特性集合case采集到的信息由service统一收集,按需转发给不同的安全感知业务。安全感知业务对于底层检测特性集合case和框架core的配置、管理的需求也由service进行统一的管理和转发。不同的安全感知业务可能会需求同样的case,service会统计出所有安全感知业务需求case的并集,向下层注册。 + +- 特性集合cases + + 检测特性集合cases是一系列异常检测探针,根据异常信息的不同会有不同的形态,比如内核异常信息检测的每个探针会以内核模块ko的形态承载。一个case代表一个探针,一个探针往往是一类异常信息或者一类异常事件的信息。比如进程类探针会关注所有进程的创建、退出、属性修改等事件信息,内存修改类探针会收集内核模块列表和安全开关等信息。因此一个探针可能会包含对多个事件的监控,而这些对不同事件的监控逻辑可能无法部署在同一个执行流当中。我们使用工作流(workflow)的概念表示一个探针在同一个执行流中的工作,一个探针可以包含一个或者多个工作流。比如对于进程探针而言,进程创建检测和进程属性修改检测就是不同的工作流。 + +- 框架core + + 检测框架core是每一个case依赖的基础框架,提供case的管理和workflow所需的通用的基础功能单元。内核异常信息检测框架会以内核模块ko的形态承载。一个检测特性case可以将自己注册到框架中,或者从框架中去注册。框架还可以提供特定的交互接口以满足外部的动态请求。一个workflow被定义为有四类功能单元组成:事件发生器、信息采集器、事件分析器、响应单元。 + +特性集合cases和框架core合起来被称为driver。driver驱动提供了secDetector功能的最底层的系统级实现。 + +driver分为两类,kerneldriver 和 usrdriver。顾名思义,kerneldriver是部署在内核态中的,以内核模块的形式承载。usrdriver是部署在用户态中的,直接被部署为service中的一个模块。从逻辑上usrdriver是在service之下的,但是在运行中,为了降低通信成本,usrdriver被直接集成在service程序中。 + +## 能力特性 + +### 检测能力 + +| 特性 | 状态 | 发布版本 | +| ------------------------------ | ------ | ------------------------------------------------------------ | +| 检测框架 | 已实现 | 统一灵活可拓展高效的检测框架,支持不同类型的触发、收集、分析、响应单元 | +| 进程管理类探针 | 已实现 | 监控进程创建、退出、元数据修改等事件 | +| 文件操作类探针 | 已实现 | 监控文件创建、删除、读写、属性修改等事件 | +| 程序行为类探针(API调用) | 已实现 | 监控匿名管道创建、命令执行、ptrace系统调用等关键程序行为 | +| 内存修改类探针(内核关键数据) | 已实现 | 监控内核模块列表,硬件安全功能开关等内核关键数据 | + +### 响应能力 + +| 特性 | 状态 | 说明 | +| -------- | ------ | -------------------------------------------------- | +| 响应框架 | 已实现 | 统一的灵活可拓展的响应框架,支持不同类型的响应单元 | +| 告警上报 | 已实现 | 提供异常信息上报能力的响应单元 | + +### 服务能力 + +| 特性 | 状态 | 说明 | +| -------- | ------ | ------------------------------------------------------------ | +| 通信框架 | 已实现 | 应用程序使用gRPC和service进行通信。功能被封装在SDK的动态库中。 | +| 订阅管理 | 已实现 | 应用程序可以一次订阅,长期使用secDetector获取信息。secDetector会对订阅的应用程序进行管理,分发对应的被订阅主题的信息。 | +| 配置下发 | 已实现 | 服务可以通过参数对于特定的检测、阻断特性进行配置,从而实现过滤、调整等功能。目前未对应用程序开放。 | +| 即时检测 | 已实现 | secDetector提供的信息是实时的,准确的,一手的。 | + diff --git a/docs/zh/2403_LTS_SP2/public_sys-resources/icon-note.gif b/docs/zh/2403_LTS_SP2/public_sys-resources/icon-note.gif new file mode 100644 index 0000000000000000000000000000000000000000..6314297e45c1de184204098efd4814d6dc8b1cda GIT binary patch literal 394 zcmZ?wbhEHblx7fPSjxcg=ii?@_wH=jwxy=7CMGH-B`L+l$wfv=#>UF#$gv|VY%C^b zCQFtrnKN(Bo_%|sJbO}7RAORe!otL&qo<>yq_Sq+8Xqqo5h0P3w3Lvb5E(g{p01vl zxR@)KuDH0l^z`+-dH3eaw=XqSH7aTIx{kzVBN;X&hha0dQSgWuiw0NWUvMRmkD|> literal 0 HcmV?d00001 diff --git a/docs/zh/2403_LTS_SP2/secdetector.md b/docs/zh/2403_LTS_SP2/secdetector.md new file mode 100644 index 0000000..e20d3fc --- /dev/null +++ b/docs/zh/2403_LTS_SP2/secdetector.md @@ -0,0 +1,5 @@ +# secDetector 使用指南 + +本文档介绍 openEuler 操作系统内构入侵检测系统 secDetector 的架构、特性、安装、开发指导、落地应用场景等,帮助用户快速了解并使用 secDetector。 + +本文档适用于使用 openEuler 系统并希望了解和使用 secDetector 的社区开发者、开源爱好者以及相关合作伙伴。使用人员需要具备基本的Linux操作系统知识。 diff --git a/docs/zh/2403_LTS_SP2/using_secdetector.md b/docs/zh/2403_LTS_SP2/using_secdetector.md new file mode 100644 index 0000000..e9e19cf --- /dev/null +++ b/docs/zh/2403_LTS_SP2/using_secdetector.md @@ -0,0 +1,46 @@ +# 使用 secDetector + +secDetector 提供了SDK,一个so库,用户可以在自己的应用程序中集成该动态链接库从而通过简单的接口使用secDetector。本章介绍其使用方法。 + +## 基本用法 + +用户按照指南《[安装secDetector](./install_secdetector.md)》安装完secDetector之后,libsecDetectorsdk.so、secDetector_sdk.h、secDetector_topic.h就已经被部署到系统用户库默认路径中。 + +1. 使用 C 或 C++ 开发的应用程序确保include路径包含后,可以首先在程序中引用这两个头文件。 + + ``` + #include + #include + ``` + +2. 参考指南《[接口参考](./api_reference.md)》调用SDK提供的接口访问secDetector。 + + 1. 首先调用订阅接口secSub,订阅所需的主题。 + 2. 然后在独立线程中调用消息读取接口secReadFrom阻塞式的读取被订阅主题产生的信息。 + 3. 最后当不需要使用secDetector时,调用退订接口secUnsub。退订时请严格使用订阅时的返回值。 + +## 代码示例 + +可以参考secDetector代码仓上的示例代码,由python语言编写。 + +1. 可以在如下链接中查看示例代码 + + [examples/python · openEuler/secDetector (gitee.com)](https://gitee.com/openeuler/secDetector/tree/master/examples/python) + +2. 也可以下载后参考 + +```shell +git clone https://gitee.com/openeuler/secDetector.git +``` + +## 规格与约束 + +1. 部分功能(如内存修改探针-安全开关)依赖硬件体系结构,因此在不同指令集架构上的表现并不相同。 +2. 从内核到用户态传输数据缓存空间为探针共享,缓冲区满会丢弃新采集的事件信息。缓存空间可配置范围为4~1024 MB, 必须为2的幂。 +3. 服务进程secDetectord支持root用户运行,不支持多实例,非第一个运行的程序会退出。 +4. 用户订阅连接数限制为5个。 +5. 用户订阅后,读取消息时需要为消息读取接口提供一块缓冲区,超过缓冲区长度的消息将被截断。建议缓冲区长度不低于4096。 +6. 对于文件名、节点名之类的描述字符串都有一定的长度限制,过长可能会被截断。 +7. 应用程序单进程内不支持并行多连接 secDetectord 接收消息。只能一次订阅,单连接接受消息。去订阅后才能重新订阅。 +8. secDetectord 进程应当等待所有应用程序的连接中断即完全退订所有主题后,才可以关闭退出。 +9. 部分功能(如内存修改探针-安全开关)基于当前CPU状态。因此检测的基本功能是可以检测到当前CPU上的状态变化,其他CPU上的状态变化如果未能及时同步到当前CPU,则不会被检测到。 \ No newline at end of file -- Gitee From 53e0f4d6f450649475a558631f5cd37a4c6bacfc Mon Sep 17 00:00:00 2001 From: huyubiao Date: Tue, 10 Jun 2025 09:52:00 +0800 Subject: [PATCH 2/2] docs: Fix unreferenced files, broken links, and formatting errors. --- docs/zh/2403_LTS_SP2/_toc.yaml | 1 + docs/zh/2403_LTS_SP2/install_secdetector.md | 9 ++++----- docs/zh/2403_LTS_SP2/introduction_to_secdetector.md | 3 +-- docs/zh/2403_LTS_SP2/using_secdetector.md | 4 ++-- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/docs/zh/2403_LTS_SP2/_toc.yaml b/docs/zh/2403_LTS_SP2/_toc.yaml index 2f9e2b3..aabf341 100644 --- a/docs/zh/2403_LTS_SP2/_toc.yaml +++ b/docs/zh/2403_LTS_SP2/_toc.yaml @@ -1,5 +1,6 @@ label: secDetector使用指南 isManual: true +href: ./secdetector.md description: secDetector是OS内构入侵检测系统,为关键信息基础设施提供入侵检测及响应能力 sections: - label: 认识secDetector diff --git a/docs/zh/2403_LTS_SP2/install_secdetector.md b/docs/zh/2403_LTS_SP2/install_secdetector.md index e4acb83..84c792c 100644 --- a/docs/zh/2403_LTS_SP2/install_secdetector.md +++ b/docs/zh/2403_LTS_SP2/install_secdetector.md @@ -10,7 +10,7 @@ ### 环境准备 -安装 openEuler 系统,安装方法参考《[安装指南](../../installation_upgrade/installation/installation-on-servers.md)》。 +安装 openEuler 系统,安装方法参考《[安装指南](https://docs.openeuler.org/zh/docs/24.03_LTS/docs/Installation/installation.html)》。 ## 安装secDetector @@ -57,11 +57,10 @@ secDetector的主体secDetectord是以系统服务的形式部署在系统中的 secDetector_core 支持一个命令行参数ringbuf_size。用户可以通过指定该参数的值来控制 kernel driver 与 用户态secDetectord之间数据通道的缓存空间尺寸。该参数可以被指定为4~1024中的一个整数,单位是MB。默认值是4,必须为2的幂。参考命令如下: - ``` + ```shell sudo insmod secDetector_core.ko ringbuf_size=128 ``` - 2. 插入 kernel driver 的功能模块:secDetector的 kernel driver 采用模块化部署方式。用户可以选择基于框架部署满足需要的功能模块,也可以选择部署全部模块。参考命令如下: ```shell @@ -90,7 +89,7 @@ usr driver当前包含了文件操作类探针和进程管理类探针的能力 secDetectord支持如下一些配置选项: -``` +```text 用法:secDetectord [选项] secDetectord 默认会在后台运行,从探针中取得数据并转发给订阅者。 选项: @@ -101,4 +100,4 @@ secDetectord 默认会在后台运行,从探针中取得数据并转发给订 ### 部署SDK -SDK的库文件默认已经被部署到系统库目录中,用户需要在自己的程序中引用SDK的头文件即可使用。 \ No newline at end of file +SDK的库文件默认已经被部署到系统库目录中,用户需要在自己的程序中引用SDK的头文件即可使用。 diff --git a/docs/zh/2403_LTS_SP2/introduction_to_secdetector.md b/docs/zh/2403_LTS_SP2/introduction_to_secdetector.md index d9af9b9..1e5dee9 100644 --- a/docs/zh/2403_LTS_SP2/introduction_to_secdetector.md +++ b/docs/zh/2403_LTS_SP2/introduction_to_secdetector.md @@ -12,7 +12,7 @@ secDetector 作为一套灵活的OS内构入侵检测系统,有三种使用模 ## 软件架构 -``` +```text ||==APP===================================================================|| || || || ---------------------------- || @@ -95,4 +95,3 @@ driver分为两类,kerneldriver 和 usrdriver。顾名思义,kerneldriver是 | 订阅管理 | 已实现 | 应用程序可以一次订阅,长期使用secDetector获取信息。secDetector会对订阅的应用程序进行管理,分发对应的被订阅主题的信息。 | | 配置下发 | 已实现 | 服务可以通过参数对于特定的检测、阻断特性进行配置,从而实现过滤、调整等功能。目前未对应用程序开放。 | | 即时检测 | 已实现 | secDetector提供的信息是实时的,准确的,一手的。 | - diff --git a/docs/zh/2403_LTS_SP2/using_secdetector.md b/docs/zh/2403_LTS_SP2/using_secdetector.md index e9e19cf..20bb411 100644 --- a/docs/zh/2403_LTS_SP2/using_secdetector.md +++ b/docs/zh/2403_LTS_SP2/using_secdetector.md @@ -8,7 +8,7 @@ secDetector 提供了SDK,一个so库,用户可以在自己的应用程序中 1. 使用 C 或 C++ 开发的应用程序确保include路径包含后,可以首先在程序中引用这两个头文件。 - ``` + ```c #include #include ``` @@ -43,4 +43,4 @@ git clone https://gitee.com/openeuler/secDetector.git 6. 对于文件名、节点名之类的描述字符串都有一定的长度限制,过长可能会被截断。 7. 应用程序单进程内不支持并行多连接 secDetectord 接收消息。只能一次订阅,单连接接受消息。去订阅后才能重新订阅。 8. secDetectord 进程应当等待所有应用程序的连接中断即完全退订所有主题后,才可以关闭退出。 -9. 部分功能(如内存修改探针-安全开关)基于当前CPU状态。因此检测的基本功能是可以检测到当前CPU上的状态变化,其他CPU上的状态变化如果未能及时同步到当前CPU,则不会被检测到。 \ No newline at end of file +9. 部分功能(如内存修改探针-安全开关)基于当前CPU状态。因此检测的基本功能是可以检测到当前CPU上的状态变化,其他CPU上的状态变化如果未能及时同步到当前CPU,则不会被检测到。 -- Gitee