CN100508450C - 一种安全扫描构件机制实现方法 - Google Patents
一种安全扫描构件机制实现方法 Download PDFInfo
- Publication number
- CN100508450C CN100508450C CNB2004101029516A CN200410102951A CN100508450C CN 100508450 C CN100508450 C CN 100508450C CN B2004101029516 A CNB2004101029516 A CN B2004101029516A CN 200410102951 A CN200410102951 A CN 200410102951A CN 100508450 C CN100508450 C CN 100508450C
- Authority
- CN
- China
- Prior art keywords
- scanning
- analysis
- safety
- atom
- scheduling engine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种安全扫描构件机制的实现方法,用于广谱安全扫描分析系统之中。该安全扫描构件将安全分析、扫描类产品中对不同信息数据结构的分析扫描操作在单元操作级进行抽象和整合,能够在不同的场景下按照需要的逻辑实例化并装配为能够完成复杂分析扫描操作的完整扫描构件,以执行需要的扫描功能。对其分析算法的优化只需在构件库中替换相应的构件即可,使得系统体系结构更加清晰,易于维护和升级。
Description
技术领域
本发明涉及一种安全扫描构件机制的实现方法,属于信息安全技术领域。
背景技术
当前,为应对复杂的、动态的、多维的网络安全威胁,人们提出了网络安全综合管理平台的技术理念,即在一个统一的管理平台上实现对不同安全产品和设备的统一管理和部署,在一个整体的控制和调度框架下有机协同不同产品进行共同防护,这样将会在极大降低安全管理成本的同时大大提高安全防护机制的强度。但是,由于不同的安全产品系统结构和管理接口没有统一的标准,现有的网络安全管理平台所做的管理配置只能是浅层次的,平台所管理的不同产品之间是松散耦合的关系,不同产品之间的协同也只停留在对几种产品的日志信息进行统计分析的层面上,没有更深入有效的有机协同机制。
要实现对不同安全产品的深层次管理和有效协同,必须从系统架构和产品引擎的层次对不同安全产品和系统进行耦合、协同和管理,我们称这类在产品架构和系统引擎级进行深度耦合的管理平台为紧耦合结构安全管理平台。在实现紧耦合结构安全管理平台的过程中,仍然存在一系列技术问题需要解决。
另一方面,在现有网络安全系统如IDS等的工程开发中,由于开发、实用历史尚短,且代码大多涉及底层,专门化太强,开发人员多以个人编程能力见长,而软件工程方法学的系统化应用不够,缺乏统一科学的工程设计与质量控制,直接影响着安全系统自身的可靠性和可信性。同时,不同的系统都是由专门的开发人员队伍进行独立开发,不仅浪费了大量的人力、物力,也导致代码质量、执行效率不一,增大了系统代码管理和维护的难度。
经研究发现,在不同的分析与扫描类网络安全系统中,系统执行的关键分析操作所处理的信息数据结构类型有极大的共同特征,对于它们的分析操作也有很大的共同特点,如果能够将这些特定的分析操作从分析过程中抽象、分离出来,并作为公共资源供分析引擎按照分析场景的需要进行激活、调度和组织,并装配成更高层次的分析资源的话,将能够极大促进现有分析、扫描类安全系统体系结构的优化。
发明内容
针对上述的实际需求,本发明的目的在于提供一种安全扫描构件机制的实现方法。该方法可以提供一种容易实现复用的扫描构件机制,利于工程开发。
为实现上述的发明目的,本发明采用下述的技术方案:
一种安全扫描构件机制的实现方法,用于广谱安全扫描分析系统之中,其特征在于:
将至少一个对一类数据信息结构执行单项扫描分析操作并给出单元级分析结果的原子扫描构件置于构件池中;所述原子扫描构件由调度引擎进行激活,并与一个安全扫描分析知识点进行信息绑定,以实现实例化;若干个实例化的所述原子扫描构件以序列化的方式完成对包括多个安全扫描分析知识点的检测规则的分析,从而形成一个基本扫描构件。
所述原子扫描构件实例化的过程中,所述调度引擎根据扫描场景上下文确定与之绑定的安全扫描分析知识点。
所述原子扫描构件与分析的数据结构类型有关,与扫描的上下文场景无关。
所述基本扫描构件在构件池中体现为一个安全扫描算法。
其中,将所述基本扫描构件所对应的安全扫描算法封装起来,通过所述调度引擎确定与待扫描的数据源和与待分析的任务数据的接口,在执行算法所确定的分析动作之后通过安全扫描信息总线向所述调度引擎输出规定格式的分析结果。
在广谱安全扫描分析系统之中,所述调度引擎连接所述原子扫描构件,通过调用所述原子扫描构件进行工作。
本发明所提供的安全扫描构件具有如下的优点:
1.将安全分析、扫描类产品中对不同信息数据结构的分析扫描操作在单元操作级进行抽象和整合,能够在不同的场景下按照需要的逻辑实例化并装配为能够完成复杂分析扫描操作的完整扫描构件,执行需要的扫描功能;
2.将共性分析操作和算法在单元级抽象为可复用资产,利于工程开发;当需要扩展分析知识描述机制时,只需在扫描规则中配置需要提供支持的构件类别即可,不需要重新开发扫描算法,使系统具有可扩展性和广泛的适应性;
3.对分析算法的优化只需在构件库中替换相应的构件即可,使得系统易于维护和升级。
附图说明
下面结合附图和具体实施方式对本发明作进一步的说明。
图1为安全扫描构件的运行原理示意图。
图2为采用安全扫描构件机制的安全管理平台的技术逻辑架构图。
具体实施方式
前已述及,由于不同的网络安全系统中,系统所处理的信息数据结构类型有较多的共同特征,对它们的分析操作也具有较多的共同点。基于这一特点,本发明人认为可以将某些特定的分析操作从分析过程中抽象、分离出来,并作为公共资源供分析引擎按照分析场景的需要进行激活、调度和组织。这就是本发明的基本思路所在。
基于上述的发明思路,并借鉴软件工程研究中的相关方法,我们首先将在一个源数据信息结构内完成一条知识规则的扫描并给出扫描结果的过程称为一个基本扫描任务。由于一条检测规则由若干知识点(此处知识点的定义与KAM模型中的知识点定义相同)构成,我们将在一个源数据信息结构内完成一个知识点的扫描并给出扫描结果的过程称为一个原子扫描任务。上述的原子扫描任务和基本扫描任务是一个与扫描业务场景相关的动态的概念,是在调度引擎执行分析扫描动作的过程中根据扫描的上下文场景确定的,在系统运行的不同时刻,调度引擎分析的安全知识不同,对应的扫描任务也是不同的。
进一步地,我们将对一类数据信息结构执行单项扫描分析操作并给出单元级分析结果的扫描功能单元称为原子扫描构件。将待扫描的数据源记作Ds,待分析的任务数据记作Do,执行的分析动作为Action,分析结果记作Result,则原子扫描构件是一个四元组<Ds,Do,Action,Result>。原子扫描构件与上面的原子扫描任务和基本扫描任务无关,它是一个静态的功能组件,只与分析的数据结构类型有关,能够提供针对特定数据结构的特定分析功能。当一个原子扫描构件被调度引擎激活并与一个分析知识点的信息绑定,以完成一个原子扫描任务时,我们称之为一个原子扫描构件实例。它与任务的绑定是在实例化时由调度引擎根据扫描场景上下文完成的。多个原子扫描构件实例可以序列化并组成一个复合构件。当一个复合构件完成的原子扫描任务序列恰好构成一个基本扫描任务,即完成对一条检测规则的分析时,该复合构件称为一个基本扫描构件。
在安全分析、扫描类系统的扫描分析操作执行过程中,由调度引擎根据分析场景上下文触发相应的原子扫描构件,每个原子扫描构件与分析知识点信息绑定后成为一个原子扫描构件实例,多个原子扫描构件实例序列化成为一个基本扫描构件,完成一个基本扫描任务,即完成一条安全检测规则的场景分析。对于这种在安全分析、扫描类系统中使用的基本扫描构件,由于其执行的扫描任务是对安全知识规则的分析,我们将之称为安全扫描构件。
图1即为上述过程的说明。若干个原子扫描构件1、2、3……n位于原子扫描构件池中,它在实例化过程中,通过调度引擎与知识规则库中的分析知识点进行绑定,形成实例化的原子扫描构件实例1、2、3……n。多个原子扫描构件实例序列化并组成一个复合构件。当一个复合构件完成一个基本扫描任务,即完成对一条检测规则的分析时,即构成一个基本扫描构件。实践表明,在IDS、安全审计、漏洞扫描等常见的安全系统分析操作中,处理的数据结构类型是非常有限的,针对这些数据信息类型的单项扫描操作形成的安全扫描构件,在不同的分析过程中具有非常高的可复用度。
下面列举一些安全扫描构件的具体实施例。在构件池中,一个安全扫描构件体现为一个扫描算法。将安全扫描分析动作所对应的扫描算法封装起来,通过调度引擎确定与待扫描的数据源和与待分析的任务数据的接口,在执行算法所确定的分析动作之后通过安全扫描信息总线向调度引擎输出规定格式的分析结果。根据扫描操作处理的不同数据结构类型,我们抽象出如下几类安全扫描构件,它们可以为病毒扫描、入侵检测、安全审计、漏洞扫描等安全分析扫描功能提供支持。
●IP地址类
该类安全扫描构件所实施的操作为判断两个IP地址和子网掩码是否相等。其对应的函数名称为AnalyseIP,此函数提供在给定的IP地址链表中查找指定的IP地址的功能。其实现机制为:
int AnalyseIP(void* cmpiplist,void* flagset)
输入参数:void* cmpiplist=>ip地址链表结构.
void* flagset=>存放全局非标志的结构.
输出参数:无
返回值:1=>匹配成功
0=>匹配失败
●字符串类
该类安全扫描构件实施的操作为检查两个字符串是否匹配。其对应的函数名称为AnalyseStringEq,实现机制为:
int AnalyseStringEq(void* cmpstr,void* objstr)
输入参数:void* cmpstr=>传入作为比较基准的字符串.
void* objstr=>传入待比较的字符串.
输出参数:无
返回值:1=>两字符串相等
0=>两字符串不等
●二进制位向量类
该类安全扫描构件实施的操作为按照某种匹配模式匹配给定二进制向量的特定位的值。函数名为AnalyseBits,其实现机制为:
int AnalyseBits(void* cmpvalue,void* objvalue)
输入参数:char* cmpvalue=>传入作为比较基准的标志结构.
char* objvalue=>传入待比较的标志结构.
输出参数:无
返回值:1=>匹配成功
0=>匹配失败
●整数类
该类安全扫描构件实施的操作为检测整数之间的大于、小于、等于、不等关系。函数名为AnalyseDigitalInt,其实现机制为:
int AnalyseDigitalInt(void* cmpvalue,void* objvalue)
输入参数:void* cmpvalue=>传入作为比较基准的数值串.
void* objvalue=>传入待比较的数值串.
输出参数:无
返回值:1=>匹配成功
0=>匹配失败
该函数解析cmpvalue和objvalue首先检查字符串中是否包含非法字符,如有,返回出错信息,否则从两个参数中得到需要的基准数值和待比较的数值及相应的运算符,根据运算符进行相应的比较和计算。当传入的参数格式不符合既定的格式时,返回出错信息。
●整数列表类
该类安全扫描构件所实施的操作为检测一个整数列表中是否包括一个特定的整数。函数名为AnalyseDigitalInArray,其实现机制为:
int AnalyseDigitalIntArray(void* cmpvalue,void* objvalue)
输入参数:void* cmpvalue=>指定的数值.
void* objvalue=>包含数值串数组和any_flag标志的结构.
输出参数:无
返回值:1=>找到
0=>未找到
当objvalue[0]中存放的标志any_flag置位时,不进行任何查找,直接返回1。意即任何objvalue数组中的值都满足条件。
以上只是列举了一些安全扫描构件实际实施的例子。另外,为了满足系统整体运行的需要,我们还可以设计实现信息获取和消息传递等辅助功能的微构件,如下面将要提到的信息获取微构件等。它们虽然不直接完成扫描分析的功能,但对不同信息数据施加某种单项操作的定义与安全扫描构件是相同的。这些微构件的具体编程实现是计算机领域的一般技术人员都能轻易做到的,在此不赘述了。
下面,结合图2进一步介绍安全扫描构件机制在紧耦合结构的安全管理平台中的应用。图2所示为一个具有紧耦合结构特征的安全管理平台的技术逻辑架构图。该平台具有调度引擎、扫描规则库、协同规则库和分析知识库,其中所述调度引擎中包括调度器、协同规则解析引擎、扫描规则解析引擎、分析知识解析引擎以及对象信息获取代理,由所述调度器进行统一调度;协同规则解析引擎连接所述协同规则库,扫描规则解析引擎连接扫描规则库,分析知识解析引擎连接分析知识库;调度引擎通过对象信息获取代理获取分析对象的信息,执行特定的分析扫描操作并将分析结果放入结果库中。
如图2所示,调度引擎通过信息获取微构件与对象获取代理进行连接,分析知识库连接分析知识解析引擎,该分析知识解析引擎连接知识树。知识树也通过另一个信息获取微构件与调度引擎相连接。扫描规则解析引擎从扫描规则库中获取扫描规则,并将之分配给构件池中的多个原子扫描构件,从而形成安全扫描构件。多个该原子扫描构件与调度引擎直接相连。调度引擎则通过多个扫描构件连接扫描信息总线,上述的两个信息获取微构件也与扫描信息总线相连接。
在上述的紧耦合结构安全管理平台中,调度引擎连接原子扫描构件,通过调用原子扫描构件进行工作。
上面虽然通过实施例描绘了本发明,但本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,所附的权利要求将包括这些变形和变化。
Claims (4)
1.一种安全扫描构件机制的实现方法,用于广谱安全扫描分析系统之中,其特征在于:
将至少一个对一类数据信息结构执行单项扫描分析操作并给出单元级分析结果的原子扫描构件置于构件池中,所述原子扫描构件与分析的数据结构类型有关,与扫描的上下文场景无关;
所述原子扫描构件由调度引擎进行激活并与一个安全扫描分析知识点进行信息绑定,以实现实例化,所述安全扫描分析知识点由所述调度引擎根据扫描场景上下文予以确定;
若干个实例化的所述原子扫描构件以序列化的方式完成对包括多个安全扫描分析知识点的检测规则的分析,从而形成一个基本扫描构件。
2.如权利要求1所述的安全扫描构件机制的实现方法,其特征在于:
所述基本扫描构件在构件池中体现为一个安全扫描算法。
3.如权利要求2所述的安全扫描构件机制的实现方法,其特征在于:
将所述基本扫描构件所对应的安全扫描算法封装起来,通过所述调度引擎确定与待扫描的数据源和与待分析的任务数据的接口,在执行算法所确定的分析动作之后通过安全扫描信息总线向所述调度引擎输出规定格式的分析结果。
4.如权利要求1所述的安全扫描构件机制的实现方法,其特征在于:
在广谱安全扫描分析系统之中,所述调度引擎连接所述原子扫描构件,通过调用所述原子扫描构件进行工作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004101029516A CN100508450C (zh) | 2004-10-29 | 2004-12-30 | 一种安全扫描构件机制实现方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200410009733.8 | 2004-10-29 | ||
CN200410009733 | 2004-10-29 | ||
CNB2004101029516A CN100508450C (zh) | 2004-10-29 | 2004-12-30 | 一种安全扫描构件机制实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1694393A CN1694393A (zh) | 2005-11-09 |
CN100508450C true CN100508450C (zh) | 2009-07-01 |
Family
ID=35353211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004101029516A Expired - Fee Related CN100508450C (zh) | 2004-10-29 | 2004-12-30 | 一种安全扫描构件机制实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100508450C (zh) |
-
2004
- 2004-12-30 CN CNB2004101029516A patent/CN100508450C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1694393A (zh) | 2005-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104766007B (zh) | 一种基于文件系统过滤驱动实现沙箱快速恢复的方法 | |
US7334223B2 (en) | Apparatus and method for automatically migrating client server applications to other architectures and platforms | |
CN104750469B (zh) | 源代码统计分析方法和系统 | |
Barnum et al. | Knowledge for software security | |
CN102508919B (zh) | 数据处理方法及系统 | |
CN105117645A (zh) | 基于文件系统过滤驱动实现沙箱虚拟机多样本运行的方法 | |
CN1647483A (zh) | 检测和反击企业网络中的恶意代码 | |
CN105740132B (zh) | 基于修改日志的软件包来源自动分析方法 | |
CN103106368A (zh) | 一种面向等级保护的漏洞扫描方法 | |
US20080010535A1 (en) | Automated and configurable system for tests to be picked up and executed | |
CN113139192B (zh) | 基于知识图谱的第三方库安全风险分析方法及系统 | |
CN204669399U (zh) | 基于Hadoop架构的网络病毒和威胁监测系统 | |
CN110162980B (zh) | 一种软件开发过程中一站式安全测试和管理的方法 | |
CN104615936B (zh) | 云平台vmm层行为监控方法 | |
Ezzati-Jivan et al. | A stateful approach to generate synthetic events from kernel traces | |
CN104866764B (zh) | 一种基于对象引用图的Android手机恶意软件检测方法 | |
CN106095678A (zh) | 用于Windows平台下数据库业务操作的自动化结果检查方法 | |
CN109413046A (zh) | 一种网络防护方法、系统及终端设备 | |
CN113190330A (zh) | 一种区块链威胁感知系统及方法 | |
CN112348653A (zh) | 一种财务云平台的自动测试运维系统 | |
Feng et al. | Android malware detection based on call graph via graph neural network | |
CN109446053A (zh) | 应用程序的测试方法、计算机可读存储介质及终端 | |
Altιnιşιk et al. | Automated procedure clustering for reverse engineering PL/SQL programs | |
CN103176786A (zh) | 一种基于插件的安全配置检查框架及其构造方法 | |
CN100508450C (zh) | 一种安全扫描构件机制实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090701 Termination date: 20121230 |