CN1892615A - 带有虚地址空间属性的软件行为描述、获取与控制方法 - Google Patents

带有虚地址空间属性的软件行为描述、获取与控制方法 Download PDF

Info

Publication number
CN1892615A
CN1892615A CNA2006100258589A CN200610025858A CN1892615A CN 1892615 A CN1892615 A CN 1892615A CN A2006100258589 A CNA2006100258589 A CN A2006100258589A CN 200610025858 A CN200610025858 A CN 200610025858A CN 1892615 A CN1892615 A CN 1892615A
Authority
CN
China
Prior art keywords
behavior
address
call
task
information
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.)
Granted
Application number
CNA2006100258589A
Other languages
English (en)
Other versions
CN100407164C (zh
Inventor
冯敏
韩欣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHANGHAI PUDONG SOFTWARE PARK INFORMATION TECHNOLOGY Co Ltd
Original Assignee
Information Tech Co Ltd Shanghai Pudong Software Zone
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Information Tech Co Ltd Shanghai Pudong Software Zone filed Critical Information Tech Co Ltd Shanghai Pudong Software Zone
Priority to CN2006100258589A priority Critical patent/CN100407164C/zh
Publication of CN1892615A publication Critical patent/CN1892615A/zh
Application granted granted Critical
Publication of CN100407164C publication Critical patent/CN100407164C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明揭示了一种软件行为异常的检测与防护方法,包括:获取一软件行为及其地址属性并建立对应的特征数据集合;以及应用所建立特征数据集合检测并防护软件的异常行为,其中,特征数据集合带有虚空间地址属性。本发明的方法可无差错的约束软件的行为轨迹。在提高检测准确性的同时,可大大提高识别效率,并实施方便。它可独立使用,当与其他数据联合使用时,譬如:短序列模式、状态属性、资源属性,可为建立信息系统安全异常监控模型提供更有效、灵活地支持。实现对应用程序行为的实时检测与控制,堵塞应用程序运行中可能出现的漏洞,以大幅提高软件行为异常检测与监控的准确性和效率,可有效应用于主机信息系统安全防护、网络信息系统入侵防护等领域。

Description

带有虚地址空间属性的软件行为描述、获取与控制方法
技术领域
本发明涉及计算机及网络信息系统的安全防护及其他需要掌握软件行为特征的领域,更具体地说,本发明涉及一种基于程序行为的软件行为异常检测与防护方法。
背景技术
从技术方面,网络信息系统的安全防御手段可划分为主动与被动两种。被动手段或称为反应式手段,通常是指:在事件发生以后,通过收集事件发生针对的对象、环境设置、造成的结果等信息,提取出该事件的行为主体所具有的特征,加以分析并规范化,进而将其运用在以后的安全防御之中。常见的防范工具有防病毒、NIDS/HIDS等。虽然这种检测方法能够很好地检测已知的病毒、入侵行为,但它对检测新型的病毒或攻击却无能为力,甚至应对老手段的变异都很困难。这些产品采用的技术有一个共同的特征:被动的反应式。一方面该方式可有效的检测已知攻击手段。但另一方面,面对日益复杂多变攻击形式、愈来愈频繁的攻击状况,以及“零日攻击”的威胁,反应式技术防御已不能满足安全的高要求,主动技术的发展愈来愈受到关注。
与被动的反应式技术不同,主动防御以不受攻击手段影响的方式来对抗外来攻击,保障系统安全。由于这种防御方法所依赖的是系统正常的行为特征,攻击手段的变化对其不会产生什么影响,所以对它来讲攻击手段无所谓新与旧均会被检出并加以防范。所谓的“零日攻击”对它也是无效的。这种方法的技术难点在于:面对日益复杂的信息系统,如何建立一个即具有较好适应能力,又便于实际应用、高效的正常行为安全模型。而建立这种模型的关键之一又在于行为描述(刻画)的方法。本发明将提供一种有效的行为特征描述及监控方法,将为主动防御中基于行为安全的监控技术等建立正常行为模型提供有效支撑。
目前安全行为的建模及其行为的匹配主要有:马尔可夫模型方法;隐马尔可夫模型方法;Bayesian概率网络方法;基于规则的方法;决策树方法;系统调用短序列方法;神经网络方法等。基于条件概率的模型面临的主要问题是建立正常行为模型和实施高精度的检测都要花费大量的时间,并且常常由于训练的不足而虚警率较高。基于规则的行为检测模型对较为复杂的环境难以确定高效而又可行的规则编制,同时任面临漏检、误检的可能。行为描述是行为监控的核心,不同的行为描述方法,将导致检测结果在准确性、效率及可用性上有较大差异。
发明内容
本发明旨在提供一种软件行为异常检测与防护方法,通过描述、获取和建立软件服务程序的带有虚空间地址属性的行为特征信息模型并应用该行为特征信息模型来检测与防护软件行为的异常,进而防范“黑客”入侵及误用所导致的信息安全风险。
根据本发明的一方面,提供一种软件行为异常的检测与防护方法,包括:
获取一软件行为及其地址属性并建立对应的特征数据集合;
应用所建立特征数据集合检测并防护软件行为异常,其中,所述特征数据集合带有虚空间地址属性。
较佳的,所述获取一软件行为及其地址属性并建立对应的特征数据集合包括,
确定需要处理的系统调用清单和共享库地址空间范围值;其中,
所述调用清单是根据需要从完整的系统调用集合中找出实际需要处理的部分;
向系统提出要采集处理的应用程序对象,并将要处理的系统调用清单和共享库地址范围通告给系统内部处理机制;
启动要求采集处理的应用程序,并按“黑盒”或“白盒”测试要求运行程序;
在应用程序运行期间,系统并行处理机制自动截获清单内指定的系统调用,实时获取相应调用的用户空间入口地址、层次信息,并与调用相捆绑构造调用三元组;
取出系统采集的行为数据集合,按特定要求加以处理、入库。
其中,确定共享库地址空间范围值进一步包括,首先确定宿主操作系统中共享库的虚空间地址是否是固定的,如果是固定的,要明确找出系统为该共享库设定的使用范围,如果共享库空间是随着应用程序而变,则设为特定值。
根据本发明的一实施例,所述获取一软件行为及其地址属性并建立对应的特征数据集合具体包括:
步骤11)在应用层确定共享库地址空间范围值。
步骤12)通过系统接口传递来自用户应用层的采集请求信息,其中包括控制模式信息、
应用程序名、系统调用清单、共享库地址范围设定,创建系统作业控制队列表项,供系统执行时识别用;根据指定的采集要求建立首层信息采集数据结构并完成初始化;
步骤13)在用户层终止并重新启动采集对象程序,并按预定测试方式运行;
步骤14)系统在执行一个新的文件时,根据步骤12)建立的系统作业控制队列内容,判定将执行的程序是否是要采集行为信息的对象,若不是则转步骤19),如是则为当前任务创建系统任务控制队列项,同时建立两条队列项的映射关系;
步骤15)在由系统调用清单所列的系统调用入口处,根据系统任务控制队列判断当前任务是否是被采集行为信息的对象;如不是则转步骤19);如是则截获当前任务的系统调用;
步骤16)根据共享库地址范围设定,检查堆栈内帧顶返回地址是否落在共享库地址空间,如不是则将该地址与调用号绑定,构造{调用、地址、层}三元组,并记录到当前进程对应进程数据结构,转步骤18),否则继续下一步骤;
步骤17)在用户堆栈内根据栈帧划分向前查找用户返回地址,直至该地址不落入共享库地址范围。将找到的返回地址与调用号绑定,构造{调用、地址、层}三元组,并记录到当前任务对应任务数据结构;
步骤18)若当前任务调用不希望创建子任务,则转步骤19),否则,首先为子任务创建新的系统任务控制队列表项,并查找当前作业结构中是否已有下一层任务的结构和空间;如有,建立勾连关系并转下一步,否则为下一层任务创建结构并完成初始化处理;
步骤19)转入正常系统调用处理流程;
以上步骤15)-19)在获取指定服务程序行为特征信息过程中多次循环执行,在获取完整的信息数据后进入以下处理流程:
步骤110)通过专用接口提取系统已采集的应用程序行为特征信息,并按格式要求对数据进行处理、存档。
较佳的,所述应用所建立特征数据集合检测并防护软件行为异常包括:
向系统提交要控制处理的应用程序对象,并将相应对象行为特征数据集合通告给系统内部处理机制,其中,所述行为特征数据集合带虚空间地址属性;
重新启动要求监控处理的应用程序;
在应用程序运行期间,系统监控处理机制自动识别需监控的对象,并截获所述系统调用清单内指定的系统调用,同时获取相应调用的用户空间入口地址,并与调用相捆绑构成调用、地址三元组{调用号,地址,层};
将构造的三元组{调用号,地址,层}与相应行为集合中的数据相比较,如集合中包含该三元组,说明此次系统调用合法,转入正常系统调用执行系列,否则,可认为是非法操作,按照一定的错误处理原则加以处理。根据本发明的一实施例,所述应用所建立特征数据集合检测并防护软件行为异常具体包括:
步骤21)通过系统接口提交需要监控的应用程序对象,同时提供相应行为控制数据集合;
步骤22)系统根据监控请求信息,从中提取控制模式信息、网络应用程序名、系统调用清单、共享库地址范围设定,创建系统作业控制队列项,供系统执行新程序识别时使用;根据提交的应用程序的行为信息数据结构完成监控数据结构的初始化;
步骤23)在用户层终止并重新启动监控对象程序,并按正常方式运行;
步骤24)系统在执行一个新的文件时,根据步骤22)建立的系统作业控制队列项,判定将执行的程序是否是要监控其行为的对象,若不是则转步骤28),如是则为当前任务创建系统任务控制队列项,同时建立两条队列项的映射关系;
步骤25)在清单所列系统调用入口处,根据系统进程控制队列项判断当前任务是否是被监控行为特征的任务。如不是则转步骤28);如是则截获当前的系统调用;
步骤26)完成行为三元组的构造,并对行为合法性实施仲裁,如访问仲裁成功,继续;否则失败,转步骤29);
步骤27)若当前任务调用不希望创建子任务,则转步骤28),否则,首先为子任务创建新的系统任务控制队列项,并查找当前作业行为结构中是否已有下一层任务的行为结构和属性信息,如有,建立勾连关系并转下一步;否则,认为此次进程创建为非法,转步骤29);
步骤28)转入正常系统调用处理流程;
步骤29)错误处理并返回用户程序。
以上步骤25)-29)在监控指定服务程序行为特征信息过程中多次循环执行,监护应用程序按照既定的行为框架运行。
总结而言,本发明的方法提供带地址属性的软件行描述,其中基本要素如下:
把系统调用作为软件行为的基本要素。系统调用是指操作系统提供给应用层软件的各种服务接口,为应用软件完成仅由系统才能完成的特定任务。
将系统调用在应用程序中的入口地址,既用户虚空间入口地址作为该系统调用的重要特征属性。
将系统调用所在任务层次信息作为该调用的另一个特征属性。
构造系统调用三元组{调用、地址、层}作为一次软件调用行为的特征描述。
应用软件为完成设计目标而需要运行的所有系统调用的三元组集合构成该软件的带有地址特征属性的行为数据集合。
采用本发明的方法,与采用条件概率方法相比,这种数据模型应用于行为控制等有关的应用项目时,可无差错的约束软件的行为轨迹。在提高检测准确性的同时,可大大提高识别效率,并实施方便。它可独立使用,当与其他数据联合使用时,譬如:短序列模式、状态属性、资源属性,可为建立信息系统安全异常监控模型提供更有效、灵活地支持。实现对应用程序行为的实时检测与控制,堵塞应用程序运行中可能出现的漏洞,以大幅提高软件行为异常检测与监控的准确性和效率。
附图说明
本发明上述的以及其他的特征、性质和优势将通过下面结合附图对实施例的描述而变得更加明显,在附图中,相同的附图标记始终表示相同的特征,其中,
图1示出了获取一软件行为及其地址属性并建立对应的特征数据集合的基本过程,其中该特征数据集合带虚空间地址属性。
图2示出了应用所建立特征数据集合检测并防护软件行为异常的基本过程,其中该特征数据集合带虚空间地址属性。
图3示出了根据本发明的一实施例的系统作业控制队列和系统进程控制队列的结构图。
具体实施方式
下面结合具体实施例进一步描述本发明的技术方案。
首先,本发明提供一种软件行为异常的检测与防护方法,包括:获取一软件行为及其地址属性并建立对应的特征数据集合;以及应用所建立特征数据集合检测并防护软件行为异常,其中,所述特征数据集合带有虚空间地址属性。在本发明的方法中,可提供带地址属性的软件行描述,其中基本要素如下:
1)把系统调用作为软件行为的基本要素。系统调用是指操作系统提供给应用层软件的各种服务接口,为应用软件完成仅由系统才能完成的特定任务。
2)将系统调用在应用程序中的入口地址,既用户虚空间入口地址作为该系统调用的重要特征属性。
3)将系统调用所在任务层次信息作为该调用的另一个特征属性。
4)构造系统调用三元组{调用、地址、层}作为一次软件调用行为的特征描述。
5)应用软件为完成设计目标而需要运行的所有系统调用的三元组集合构成该软件的带有地址特征属性的行为数据集合。
其中,第一个步骤:获取一软件行为及其地址属性并建立对应的特征数据集合,可实现如下。
参考图1,图1示出了获取一软件行为及其地址属性并建立对应的特征数据集合的基本过程,其中该特征数据集合带虚空间地址属性。根据本发明,该步骤需要遵循如下的基本过程:
确定需要处理的系统调用清单和共享库地址空间范围值。对于系统调用清单,是根据需要,从完整的系统调用集合中找出实际需要处理的部分。对于共享库地址空间,首先确定宿主操作系统中共享库的虚空间地址是否是固定的。通常系统为了统一处理起见,将共享库安排为用户空间的固定区域,这时要明确找出系统为该共享库设定的使用范围。若共享库空间是随着应用程序而变,则设为特定值,比如设置为0xfffffff。
向系统提出要采集处理的应用程序对象,并将要处理的系统调用清单和共享库地址范围通告给系统内部处理机制。
启动要求采集处理的应用程序,并按“黑盒”或“白盒”测试要求运行程序。
在应用程序运行期间,系统并行处理机制自动截获清单内指定的系统调用,实时获取相应调用的用户空间入口地址、层次信息,并与调用相捆绑构造调用三元组。
取出系统采集的行为数据集合,按特定要求加以处理、入库。
在上述过程中,需要说明如下几点:
确定共享库地址范围,是为了尽量避免在共享库地址范围固定的情况下,不同应用程序系统调用地址属性的趋同性。
该方法的实施要求宿主操作系统提供并发采集机制或机制接口。
要求采用不同的测试方式以保证行为集合符合实际需要,同时要求在此期间避免采用攻击测试。
最终数据是带有虚空间地址等属性的系统调用序列集合。
根据本发明的一实施例,采集并制作所述的特征数据集合包括:在系统内核构建一种机制,全程监控指定应用程序的运行,并根据设定获取该程序的行为特征信息集合,经分析处理后构建应用程序的三元组系统调用序列行为特征模型,具体步骤如下:
步骤11)通过系统工具或技术说明资料确定共享库地址空间范围值(应用层)。
步骤12)通过系统接口传递来自用户应用层的采集请求信息,其中包括控制模式信息、网络应用程序名、系统调用清单、共享库地址范围设定,创建系统作业控制队列表项,供系统执行时识别用;根据指定的采集要求建立首层信息采集数据结构并完成初始化。
步骤13)在用户层终止并重新启动采集对象程序,并按预定测试方式运行。
步骤14)系统在执行一个新的文件时,根据步骤12)建立的系统作业控制队列内容,判定将执行的程序是否是要采集行为信息的对象,若不是则转步骤19),如是则为当前任务创建系统任务控制队列项,同时建立两条队列项的映射关系。
步骤15)在系统调用(清单所列)入口处,根据系统任务控制队列判断当前任务是否是被采集行为信息的对象;如不是则转步骤19);如是则截获当前任务的系统调用。
步骤16)根据共享库地址范围设定,检查堆栈内帧顶返回地址是否落在共享库地址空间,如不是则将该地址与调用号绑定,构造{调用、地址、层}三元组,并记录到当前进程对应进程数据结构,转步骤18);否则继续。
步骤17)在用户堆栈内根据栈帧划分向前查找用户返回地址,直至该地址不落入共享库地址范围。将找到的返回地址与调用号绑定,构造{调用、地址、层}三元组,并记录到当前任务对应任务数据结构。
步骤18)若当前任务调用不希望创建子任务,则转步骤19),否则,首先为子任务创建新的系统任务控制队列表项,并查找当前作业结构中是否已有下一层任务的结构和空间;如有,建立勾连关系并转下一步,否则为下一层任务创建结构并完成初始化处理。
步骤19)转入正常系统调用处理流程;
以上步骤15)-19)在获取指定服务程序行为特征信息过程中多次循环执行,在获取较为完整的信息数据后进入以下处理流程,
步骤110)通过专用接口提取系统已采集的应用程序行为特征信息,并按格式要求对数据进行处理、存档。
图1从操作流程的角度示出了获取一软件行为及其地址属性并建立对应的特征数据集合的基本过程,如图1所示:
步骤a,首先截获系统调用;
步骤b,判断该系统调用是否是行为采集请求,如果是则进行步骤b1,提取信息、建立作业监控表项、初始化行为数据结构,此后还需要执行步骤b2,重启被采集行为数据的程序,该重启的过程是在应用层实现;如果不是,则进入到步骤c;
步骤c,判断是否执行被监控的程序,如果决定执行,则进入到步骤d;如果决定不执行,则进入到步骤c1,进一步判断该进程是否是已经被采集的进程,如果是,则进入步骤c2,建立与该进程相关任务表项的勾连,如果不是,则进入到步骤i;
步骤d,为该进程创建任务控制表项并与作业表项勾连;之后进入步骤e,需要说明,上述的步骤c2完成之后也进入步骤e;
步骤e,获取该进程用户栈地址并构造调用三元组;
步骤f,判断该三元组是否在行为集合中,如果判断的结果为是,则进入步骤g,如果判断的结果为否,则越过步骤g,直接进入步骤h;
步骤g,保存该三元组中的数据到行为集合中;
步骤h,判断该调用是否是创建子进程,如果判断结果为是,则进入步骤h1为子进程创建任务控制表项,并与作业表项勾连;如果判断结果为否,则进入步骤i;
步骤i,完成正常的系统调用任务,需要说明,在前述的步骤c1,如果判断的结果为否,也进入步骤i,步骤h1执行完成之后也进入步骤i。
本发明的方法的第二个步骤:应用所建立特征数据集合检测并防护软件行为异常,可实现如下:
参考图2,图2示出了应用所建立特征数据集合检测并防护软件行为异常的基本过程,其中该特征数据集合带虚空间地址属性。根据本发明,该步骤需要遵循如下的基本过程:
向系统提交要控制处理的应用程序对象,并将相应对象的带虚空间地址属性的行为特征数据集合通告给系统内部处理机制,该行为特征数据集合的获取以及建立方式可以参照前面的第一个步骤进行;
重新启动要求监控处理的应用程序;
在应用程序运行期间,系统监控处理机制自动识别需监控的对象,并截获清单内指定的系统调用,同时获取相应调用的用户空间入口地址,并与调用相捆绑构成调用、地址三元组{调用号,地址,层};
将构造的三元组{调用号,地址,层}与相应行为集合中的数据相比较,如集合中包含该三元组,说明此次系统调用合法,转入正常系统调用执行系列。否则,可认为是非法操作,按照一定的错误处理原则加以处理。
根据本发明的一实施例,利用行为数据集合实施监控包括:在系统内核建立一种控制机制,全程监控指定应用程序的运行,并根据设定截获该程序的具有地址属性的行为特征信息,经分析处理后进行访问仲裁,并根据仲裁结果作相应处理,具体步骤如下:
步骤21)通过系统接口提交需要监控的应用程序对象,同时提供相应行为控制数据集合。
步骤22)系统根据监控请求信息,从中提取控制模式信息、网络应用程序名、系统调用清单、共享库地址范围设定,创建系统作业控制队列项,供系统执行新程序识别时使用;根据提交的应用程序的行为信息数据结构完成监控数据结构的初始化。
步骤23)在用户层终止并重新启动监控对象程序,并按正常方式运行。
步骤24)系统在执行一个新的文件时,根据步骤22)建立的系统作业控制队列项,判定将执行的程序是否是要监控其行为的对象,若不是则转步骤28),如是则为当前任务创建系统任务控制队列项,同时建立两条队列项的映射关系。
步骤25)在清单所列系统调用入口处,根据系统进程控制队列项判断当前任务是否是被监控行为特征的任务;如不是则转步骤28);如是则截获当前的系统调用。
步骤26)完成行为三元组的构造,并对行为合法性实施仲裁。如访问仲裁成功,继续;否则失败,转步骤29)。
步骤27)若当前任务调用不希望创建子任务,则转步骤28),否则,首先为子任务创建新的系统任务控制队列项,并查找当前作业行为结构中是否已有下一层任务的行为结构和属性信息。如有,建立勾连关系并转下一步;否则,认为此次进程创建为非法,转步骤29)。
步骤28)转入正常系统调用处理流程。
步骤29)错误处理并返回用户程序。
以上步骤25)-29)在监控指定服务程序行为特征信息过程中多次循环执行,监护应用程序按照既定的行为框架运行。
图2从操作流程的角度示出了应用所建立特征数据集合检测并防护软件行为异常的基本过程,如图2所示:
步骤a’,首先截获系统调用;
步骤b’,判断该系统调用是否是行为监控请求,如果是则进行步骤b1’,提取信息、建立作业监控表项、初始化行为数据结构,此后还需要执行步骤b2’,重启被采集行为数据的程序,该重启的过程是在应用层实现;如果不是,则进入到步骤c’;
步骤c’,判断是否执行被监控的程序,如果决定执行,则进入到步骤d’;如果决定不执行,则进入到步骤c1’,进一步判断该进程是否是已经被监控的进程,如果是,则进入步骤e’,如果不是,则进入到步骤h’;
步骤d’,为该进程创建任务控制表项并与作业表项勾连;之后进入步骤e’,需要说明,上述的步骤c1’完成之后也进入步骤e’;
步骤e’,获取该进程用户栈地址并构造调用三元组;
步骤f’,判断该三元组是否在行为集合中,如果判断的结果为是,则进入步骤g’,如果判断的结果为否,则进入步骤f1’,进行错误处理、报警、记录审计信息等,之后结束该步骤;
步骤g’,判断该调用是否是创建子进程,如果判断结果为是,则进入步骤g1’为子进程创建任务控制表项,并与作业表项勾连;如果判断结果为否,则进入步骤h’;
步骤h’,完成正常的系统调用任务,需要说明,在前述的步骤c1,如果判断的结果为否,也进入步骤h’,步骤g1’执行完成之后也进入步骤h’。
根据本发明的一实施例,执行本发明的方法时,其中包含了两条队列:系统作业控制队列:其中的每一项用于登记当前需要采集或控制的作业的具体信息,同时包含有容纳行为特征信息空间的指针;以及系统任务控制队列:其中的每一项用于登记当前的任务ID、历史关联信息、控制类型、层次信息、容纳本层程序行为信息空间的指针、所属作业标识、启动时间、下一队列项指针等。
图3示出了根据本发明的一实施例的系统作业控制队列和系统进程控制队列的结构图,执行本发明的方法时,描述了一种准确获取或监控指定程序行为特征集合的运行步骤和机制,其中包含了两条队列:
(1)系统作业控制队列:其中的每一队列项用于登记当前需要采集或控制的作业的具体信息,同时包含有容纳行为特征信息空间的指针。
(2)系统进程控制队列:其中的每一队列项用于登记当前的进程ID、历史关联信息、控制类型、层次信息、容纳本层程序行为信息空间的指针、所属作业标识、启动时间、下一队列项指针等。
参考图3,图3描述了上述两条主要的控制数据队列,其中一条是作业控制队列,它是一条双向队列。其中每一队列结构项包含以下作业基本控制信息(主要字段)及二者的关系。
作业名(Object_name):具体应用程序的全路径名。譬如:/usr/sbin/vsftpd(FTP文件服务器守护程序)。
控制类型(O_type):采集型或控制型。
行为信息首结构指针(O_datap):用于存放作业行为特征信息的数据结构的地址。
标志信息(O_flag):用于存放各种操作标志。
同步锁(O_lock):用于行为信息的操作同步。
该队列可同时存在多个表项,即可同时对多个作业实施采集或监控。
另一条队列是任务控制队列,它也是一条双向队列。其中每一队列表结构项包含以下进程基本控制信息(主要字段):
进程标识号(p_pid):它是系统中唯一的进程标识。
控制类型(p_type):表明进程是采集或受控状态。
队列指针(p_p):指向本层行为信息结构空间。
层级号(p_level):进程在作业中所处的层级;
进程启动时间(p_stime):进程在系统中实际启动的时间。
进程调用历史记录(p_l):进程执行系统调用的历史。
该队列可同时存在多个表项,记录了所有采集或受控作业的相关进程信息。
采用本发明的方法,与采用条件概率方法相比,这种数据模型应用于行为控制等有关的应用项目时,可无差错的约束软件的行为轨迹。在提高检测准确性的同时,可大大提高识别效率,并实施方便。它可独立使用,当与其他数据联合使用时,譬如:短序列模式、状态属性、资源属性,可为建立信息系统安全异常监控模型提供更有效、灵活地支持。实现对应用程序行为的实时检测与控制,堵塞应用程序运行中可能出现的漏洞,以大幅提高软件行为异常检测与监控的准确性和效率。
上述实施例是提供给熟悉本领域内的人员来实现或使用本发明的,熟悉本领域的人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或变化,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的创新性特征的最大范围。

Claims (6)

1.一种软件行为异常的检测与防护方法,其特征在于,包括:
获取一软件行为及其地址属性并建立对应的特征数据集合;
应用所建立特征数据集合检测并防护软件行为异常,其中,所述特征数据集合带有虚空间地址属性。
2.如权利要求1所述的方法,其特征在于,所述获取一软件行为及其地址属性并建立对应的特征数据集合包括,
确定需要处理的系统调用清单和共享库地址空间范围值;其中,所述调用清单是根据需要从完整的系统调用集合中找出实际需要处理的部分;
向系统提出要采集处理的应用程序对象,并将要处理的系统调用清单和共享库地址范围通告给系统内部处理机制;
启动要求采集处理的应用程序,并按“黑盒”或“白盒”测试要求运行程序;
在应用程序运行期间,系统并行处理机制自动截获清单内指定的系统调用,实时获取相应调用的用户空间入口地址、层次信息,并与调用相捆绑构造调用三元组;
取出系统采集的行为数据集合,按特定要求加以处理、入库。
3.如权利要求2所述的方法,其特征在于,确定共享库地址空间范围值进一步包括,首先确定宿主操作系统中共享库的虚空间地址是否是固定的,如果是固定的,要明确找出系统为该共享库设定的使用范围,如果共享库空间是随着应用程序而变,则设为特定值。
4.如权利要求3所述的方法,其特征在于,所述获取一软件行为及其地址属性并建立对应的特征数据集合具体包括:
步骤11)在应用层确定共享库地址空间范围值。
步骤12)通过系统接口传递来自用户应用层的采集请求信息,其中包括控制模式信息、
应用程序名、系统调用清单、共享库地址范围设定,创建系统作业控制队列表项,供系统执行时识别用;根据指定的采集要求建立首层信息采集数据结构并完成初始化;
步骤13)在用户层终止并重新启动采集对象程序,并按预定测试方式运行;
步骤14)系统在执行一个新的文件时,根据步骤12)建立的系统作业控制队列内容,判定将执行的程序是否是要采集行为信息的对象,若不是则转步骤19),如是则为当前任务创建系统任务控制队列项,同时建立两条队列项的映射关系;
步骤15)在由系统调用清单所列的系统调用入口处,根据系统任务控制队列判断当前任务是否是被采集行为信息的对象;如不是则转步骤19);如是则截获当前任务的系统调用;
步骤16)根据共享库地址范围设定,检查堆栈内帧顶返回地址是否落在共享库地址空间,如不是则将该地址与调用号绑定,构造{调用、地址、层}三元组,并记录到当前进程对应进程数据结构,转步骤18),否则继续下一步骤;
步骤17)在用户堆栈内根据栈帧划分向前查找用户返回地址,直至该地址不落入共享库地址范围。将找到的返回地址与调用号绑定,构造{调用、地址、层}三元组,并记录到当前任务对应任务数据结构;
步骤18)若当前任务调用不希望创建子任务,则转步骤19),否则,首先为子任务创建新的系统任务控制队列表项,并查找当前作业结构中是否已有下一层任务的结构和空间;如有,建立勾连关系并转下一步,否则为下一层任务创建结构并完成初始化处理;
步骤19)转入正常系统调用处理流程;
以上步骤15)-19)在获取指定服务程序行为特征信息过程中多次循环执行,在获取完整的信息数据后进入以下处理流程:
步骤110)通过专用接口提取系统已采集的应用程序行为特征信息,并按格式要求对数据进行处理、存档。
5.如权利要求1所述的方法,其特征在于,所述应用所建立特征数据集合检测并防护软件行为异常包括:
向系统提交要控制处理的应用程序对象,并将相应对象行为特征数据集合通告给系统内部处理机制,其中,所述行为特征数据集合带虚空间地址属性;
重新启动要求监控处理的应用程序;
在应用程序运行期间,系统监控处理机制自动识别需监控的对象,并截获所述系统调用清单内指定的系统调用,同时获取相应调用的用户空间入口地址,并与调用相捆绑构成调用、地址三元组{调用号,地址,层};
将构造的三元组{调用号,地址,层}与相应行为集合中的数据相比较,如集合中包含该三元组,说明此次系统调用合法,转入正常系统调用执行系列,否则,可认为是非法操作,按照一定的错误处理原则加以处理。
6.如权利要求5所述的方法,其特征在于,所述应用所建立特征数据集合检测并防护软件行为异常具体包括:
步骤21)通过系统接口提交需要监控的应用程序对象,同时提供相应行为控制数据集合;
步骤22)系统根据监控请求信息,从中提取控制模式信息、网络应用程序名、系统调用清单、共享库地址范围设定,创建系统作业控制队列项,供系统执行新程序识别时使用;根据提交的应用程序的行为信息数据结构完成监控数据结构的初始化;
步骤23)在用户层终止并重新启动监控对象程序,并按正常方式运行;
步骤24)系统在执行一个新的文件时,根据步骤22)建立的系统作业控制队列项,判定将执行的程序是否是要监控其行为的对象,若不是则转步骤28),如是则为当前任务创建系统任务控制队列项,同时建立两条队列项的映射关系;
步骤25)在清单所列系统调用入口处,根据系统进程控制队列项判断当前任务是否是被监控行为特征的任务。如不是则转步骤28);如是则截获当前的系统调用;
步骤26)完成行为三元组的构造,并对行为合法性实施仲裁,如访问仲裁成功,继续;否则失败,转步骤29);
步骤27)若当前任务调用不希望创建子任务,则转步骤28),否则,首先为子任务创建新的系统任务控制队列项,并查找当前作业行为结构中是否已有下一层任务的行为结构和属性信息,如有,建立勾连关系并转下一步;否则,认为此次进程创建为非法,转步骤29);
步骤28)转入正常系统调用处理流程;
步骤29)错误处理并返回用户程序。
以上步骤25)-29)在监控指定服务程序行为特征信息过程中多次循环执行,监护应用程序按照既定的行为框架运行。
CN2006100258589A 2006-04-20 2006-04-20 带有虚地址空间属性的软件行为描述、获取与控制方法 Active CN100407164C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2006100258589A CN100407164C (zh) 2006-04-20 2006-04-20 带有虚地址空间属性的软件行为描述、获取与控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2006100258589A CN100407164C (zh) 2006-04-20 2006-04-20 带有虚地址空间属性的软件行为描述、获取与控制方法

Publications (2)

Publication Number Publication Date
CN1892615A true CN1892615A (zh) 2007-01-10
CN100407164C CN100407164C (zh) 2008-07-30

Family

ID=37597500

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006100258589A Active CN100407164C (zh) 2006-04-20 2006-04-20 带有虚地址空间属性的软件行为描述、获取与控制方法

Country Status (1)

Country Link
CN (1) CN100407164C (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101373506B (zh) * 2008-10-22 2010-04-21 南京大学 一种基于漏洞模型的软件漏洞模型检测方法
CN102646068A (zh) * 2010-04-13 2012-08-22 常州云博软件工程技术有限公司 一种软件探测器的软件探测方法
CN102662827A (zh) * 2010-04-13 2012-09-12 常州云博软件工程技术有限公司 一种软件探测方法
CN101661543B (zh) * 2008-08-28 2015-06-17 西门子(中国)有限公司 软件源代码安全漏洞的检测方法及检测装置
CN105975389A (zh) * 2016-04-28 2016-09-28 乐视控股(北京)有限公司 一种进程数据提取方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1529248A (zh) * 2003-10-20 2004-09-15 北京启明星辰信息技术有限公司 网络入侵行为关联事件的检测方法及系统
US8458793B2 (en) * 2004-07-13 2013-06-04 International Business Machines Corporation Methods, computer program products and data structures for intrusion detection, intrusion response and vulnerability remediation across target computer systems
CN100352204C (zh) * 2004-07-16 2007-11-28 北京航空航天大学 一种基于有穷状态自动机的网络入侵预警方法
CN1333553C (zh) * 2005-03-23 2007-08-22 北京首信科技有限公司 基于序列模式挖掘的程序级入侵检测方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101661543B (zh) * 2008-08-28 2015-06-17 西门子(中国)有限公司 软件源代码安全漏洞的检测方法及检测装置
CN101373506B (zh) * 2008-10-22 2010-04-21 南京大学 一种基于漏洞模型的软件漏洞模型检测方法
CN102646068A (zh) * 2010-04-13 2012-08-22 常州云博软件工程技术有限公司 一种软件探测器的软件探测方法
CN102662827A (zh) * 2010-04-13 2012-09-12 常州云博软件工程技术有限公司 一种软件探测方法
CN102646068B (zh) * 2010-04-13 2015-01-07 江苏理工学院 一种软件探测器的软件探测方法
CN102662827B (zh) * 2010-04-13 2015-02-04 张溟 一种软件探测方法
CN105975389A (zh) * 2016-04-28 2016-09-28 乐视控股(北京)有限公司 一种进程数据提取方法及装置

Also Published As

Publication number Publication date
CN100407164C (zh) 2008-07-30

Similar Documents

Publication Publication Date Title
US8856505B2 (en) Malware management through kernel detection during a boot sequence
US7841006B2 (en) Discovery of kernel rootkits by detecting hidden information
US9547765B2 (en) Validating a type of a peripheral device
RU2454705C1 (ru) Система и способ защиты компьютерного устройства от вредоносных объектов, использующих сложные схемы заражения
RU2571723C2 (ru) Система и способ для снижения нагрузки на операционную систему при работе антивирусного приложения
EP2447877B1 (en) System and method for detection of malware and management of malware-related information
CN102222192B (zh) 通过自动修正检测规则优化反恶意软件处理
US8572371B2 (en) Discovery of kernel rootkits with memory scan
RU2487405C1 (ru) Система и способ для исправления антивирусных записей
JP4903879B2 (ja) システム解析および管理
EP2786295B1 (en) Preventing execution of task scheduled malware
CN1900940A (zh) 计算机安全启动的方法
US20070038677A1 (en) Feedback-driven malware detector
CN102263773B (zh) 实时防护的方法和装置
CN1550950A (zh) 防护计算机系统使之免受恶意软件破坏的方法和系统
CN1815949A (zh) 客户端装置、设备检验装置以及检验方法
CN103065092A (zh) 一种拦截可疑程序运行的方法
EP3113059B1 (en) System and method of preventing installation and execution of undesirable programs
CN1510588A (zh) 以使用者知识为基础的信息分类系统
CN1818823A (zh) 基于程序行为分析的计算机防护方法
CN1801030A (zh) 一种区分有害程序行为的方法
CN1892615A (zh) 带有虚地址空间属性的软件行为描述、获取与控制方法
EP2584488B1 (en) System and method for detecting computer security threats based on verdicts of computer users
CN101046836A (zh) 一种清除rootkit的系统及方法
US20120131678A1 (en) System, method and computer program product for virtual patching

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
C56 Change in the name or address of the patentee

Owner name: SHANGHAI PUDONG SOFTWARE PARK INFORMATION TECHNOLO

Free format text: FORMER NAME: INFORMATION TECH. CO., LTD. SHANGHAI PUDONG SOFTWARE ZONE

CP01 Change in the name or title of a patent holder

Address after: 201203 Shanghai Guo Shou Jing Road, Zhangjiang hi tech Park No. 498 Building No. 1 room 1507-1511

Patentee after: Shanghai Pudong Software Park Information Technology Co., Ltd.

Address before: 201203 Shanghai Guo Shou Jing Road, Zhangjiang hi tech Park No. 498 Building No. 1 room 1507-1511

Patentee before: Information Tech. Co., Ltd. Shanghai Pudong Software Zone