长期支持版本

    社区创新版本

      认识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提供的信息是实时的,准确的,一手的。

      文档捉虫

      “有虫”文档片段

      问题描述

      提交类型 issue

      有点复杂...

      找人问问吧。

      PR

      小问题,全程线上修改...

      一键搞定!

      问题类型
      规范和低错类

      ● 错别字或拼写错误;标点符号使用错误;

      ● 链接错误、空单元格、格式错误;

      ● 英文中包含中文字符;

      ● 界面和描述不一致,但不影响操作;

      ● 表述不通顺,但不影响理解;

      ● 版本号不匹配:如软件包名称、界面版本号;

      易用性

      ● 关键步骤错误或缺失,无法指导用户完成任务;

      ● 缺少必要的前提条件、注意事项等;

      ● 图形、表格、文字等晦涩难懂;

      ● 逻辑不清晰,该分类、分项、分步骤的没有给出;

      正确性

      ● 技术原理、功能、规格等描述和软件不一致,存在错误;

      ● 原理图、架构图等存在错误;

      ● 命令、命令参数等错误;

      ● 代码片段错误;

      ● 命令无法完成对应功能;

      ● 界面错误,无法指导操作;

      风险提示

      ● 对重要数据或系统存在风险的操作,缺少安全提示;

      内容合规

      ● 违反法律法规,涉及政治、领土主权等敏感词;

      ● 内容侵权;

      您对文档的总体满意度

      非常不满意
      非常满意
      提交
      根据您的反馈,会自动生成issue模板。您只需点击按钮,创建issue即可。
      文档捉虫
      编组 3备份