一种操作系统进程完整性检测方法技术方案

技术编号:10483340 阅读:94 留言:0更新日期:2014-10-03 14:24
本发明专利技术公开一种操作系统进程完整性检测方法,包括静态完整性检测步骤和动态完整性检测步骤,静态完整性检测步骤为当一个新的进程即将运行时,首先将其挂起,对二进制文件进行完整性度量,果进程是首次运行,则将度量结果写入完整性数据库;否则,将度量结果与数据库中存储的值进行比较,一致则运行进程继续运行,不一致则拒绝;动态完整性检测步骤通过判断进程内存空间是否发生变化来检测进程的动态完整性。如果进程内存空间没有发生变化,则继续读取进程代码段的内容进行完整性计算,否则,直接拒绝进行继续运行。本发明专利技术最大程度地防止进程完整性遭到恶意篡改,从而达到保护操作系统安全的目的。

【技术实现步骤摘要】

本专利技术涉及一种进行完整性检测方法,更具体的说,涉及一种动静态结合的操作系统进程完整性检测方法
技术介绍
进程完整性就是程序在运行过程中保持为正确的属性。破坏进程的完整性是恶意代码入侵计算机常用的手段。攻击者通过向进程的线性地址空间写入一段可执行的二进制代码,修改进程的正常执行流程,从而达到特殊的目的。最显著的例子是进程注入攻击。许多著名的蠕虫,例如冲击波、Code Red II都是利用修改进程的内存空间,破坏进程的完整性来实现传播目的。随着黑客技术的飞速发展,进程的完整性破坏对操作系统的危害越来越大。因此,实时监控进程的完整性,防止进程被恶意篡改对保护操作系统的安全十分重要。 完整性检测分为静态完整性检测和动态完整性检测。静态完整性检测关注进程二进制文件的完整性,一旦进程被加载到内存,之后发生任何变化都无法检测。动态完整性检测关注进程运行时的代码完整性,是恶意代码最常用的攻击手段,也是进程完整性检测的研究热点。
技术实现思路
专利技术目的:本专利技术目的在于针对现有技术的不足,提供一种防止进程完整性遭到恶意篡改、达到保护操作系统安全的目的的操作系统进程完整性检测方法。 技术方案:本专利技术所述,包括位于应用层的静态完整性度量模块、通信模块、完整性数据库和位于内核层的监控模块、动态完整性度量模块,包括静态完整性检测步骤和动态完整性检测步骤,所述静态完整性检测步骤按如下步骤进行:步骤401,由操作系统将进程装载入内存中;步骤402,计算该进程对应的二进制可执行文件的HASH值;步骤403,判断该进程是否为第一次执行,若为第一次执行,则进行步骤404,否则进行步骤405 ;步骤404,将该进程对应的二进制可执行文件的HASH值存入完整性数据库中;步骤405,从完整性数据库中提取该进程对应二进制文件的HASH值;步骤406,判断提取出的HASH值与计算出的HASH值是否一致,若一致,进行步骤407,否则进行步骤409 ;步骤407,统计该进程的相关内存信息并计算该进程代码段的HASH值,并将这些值存入完整性数据库中;步骤408,允许该进程继续执行;步骤409,终止该进程的运行;所述动态完整性检测步骤按如下步骤进行: 步骤410,程序执行写进程空间操作;步骤411,将该进程挂起;步骤412,提取此时进程的相关内存信息并计算其HASH值;步骤413,从完整性数据库中提取该进程的HASH值;步骤414,判断提取的HASH值与计算出的HASH值是否一致,若一致,进行步骤415,否则进行步骤419 ;步骤415,计算进程所用代码段的HASH值;步骤416,从完整性数据库中提取该进程代码段的HASH值;步骤417,判断提取出的HASH值与计算出的HASH值是否一致,若一致,进行步骤418,否则进行步骤419 ;步骤418,允许该进程继续执行,循环至步骤410 ;步骤419,终止该进程的运行。 本专利技术技术方案的进一步限定为,在静态完整性检测步骤中,需要检测的进程包括:(I)系统启动时,所有随机启动的进程;(2 )系统启动后,新的即将运行的进程。 进一步地,所述监控模块拦截进程的创建请求和写进程空间的请求,具体为:当拦截到进程创建请求时,通知静态完整性度量模块进行静态完整性检测;当拦截到写进程空间的请求时,通知动态完整性度量模块进行动态完整性检测。 进一步地,所述监控模块进行自身的防护,禁止自身文件被非法访问,同时对自身的进程提供访问控制保护。 进一步地,所述完整性数据库存储进程的完整性信息,包括静态二进制文件的完整性值、动态进程空间代码段的完整性值以及进程内存信息的完整性值。 有益效果:本专利技术提供了一中静态完整性和动态完整性相结合的操作系统进程完整性检测方法,专门针对WINDOWS操作系统进程运行特点而设计,首先在进程运行前检测进程文件的完整性,若检测通过,则允许进程运行,并实时监控和检测进程运行时的代码完整性,否则直接拒绝进程运行,本专利技术通过双重检测,最大程度地防止进程完整性遭到恶意篡改,从而达到保护操作系统安全的目的;本专利技术全面、实时、高效地操作系统中运行的进程的相关情况,并对可能出现的篡改进程完整性的情况进行及时报警并采取必要措施,有效地检测二进制文件和进程运行时空间的完整性,确保运行的进程是未被修改过的,能够以预期的行为实现预期的目的,经过测试,该模型在检测的全面性、防御的广泛性以及性能的稳定性方面有着突出的表现。 【附图说明】 图1为本专利技术所述的操作系统进程完整性检测方法中系统的模型图;图2为本专利技术所述的操作系统进程完整性检测方法的流程图。 【具体实施方式】 下面通过附图对本专利技术技术方案进行详细说明,但是本专利技术的保护范围不局限于所述实施例。 实施例1:,专门针对WINDOWS操作系统进程运行特点而设计,可以全面、实时、高效地操作系统中运行的进程的相关情况,并对可能出现的篡改进程完整性的情况进行及时报警并采取必要措施。 为了方便的运行本方法,建立进程完整性检测模型,其模型图如图1所示,由静态完整性度量模块、通信模块、完整性数据库、监控模块、动态完整性度量模块五部分组成。静态完整性度量模块、通信模块和完整性数据库位于应用层,监控模块和动态完整性度量模块位于内核层。 ①静态完整性度量模块静态完整性度量模块计算二进制文件的完整性。静态完整性检测发生在两种情况下:一是系统启动时,对所有随机启动的进程文件进行完整性度量,二是当一个新的进程即将运行时,首先将其挂起,对二进制文件进行完整性度量。如果进程是首次运行,则将度量结果写入完整性数据库;否则,将度量结果与数据库中存储的值进行比较,一致则运行进程继续运行,不一致则拒绝。 ②监控模块监控模块是完整性度量模型的重要组成部分。监控模块的功能有两个:一是拦截进程的创建请求和写进程空间的请求,二是自身的防护。当拦截到进程创建请求时,通知静态完整性度量模块进行静态度量;当拦截到写进程空间的请求时,通知动态完整性度量模块进行动态度量。为了防止自身被恶意破坏,监控模块禁止自身文件被非法访问,同时对自身的进程提供访问控制保护。 ③动态完整性度量模块动态完整性度量计算两类信息的完整性。一类是进程代码段的散列值,另一类是进程空间使用信息的散列值。当监控模块拦截到写进程空间的请求时,通知动态完整性度量模块对进程进行完整性计算。考虑到效率问题,动态完整性度量模块并不先读取进程代码段的内容求散列值,而是获取进程内存块的数目和空间大小,进行完整性计算,通过判断进程内存空间是否发生变化来检测进程的动态完整性。如果进程内存空间没有发生变化,则继续读取进程代码段的内容进行完整性计算,否则,直接拒绝进行继续运行。 ④通信模块通信模块负责各模块间信息的传递。信息有两类:一类是完整性值,要么是当前的计算结果,要么取自于完整性数据库;另一类是控制信息,主要是完整性度量请求。 当有进程要执行时,监控模块拦截到创建进程的请求,通过通信模块通知静态完整性检测模块,进行二进制文件的完整性度量。度量完成后,静态完整性检测模块将匹配结果通过通信模块通知监控模块,以决定是否允许进程的继续执行。 当监控模块拦截到写进程空间的请求时,通知动态完整性度量模块进本文档来自技高网...

【技术保护点】
一种操作系统进程完整性检测方法,包括位于应用层的静态完整性度量模块、通信模块、完整性数据库和位于内核层的监控模块、动态完整性度量模块,其特征在于,包括静态完整性检测步骤和动态完整性检测步骤,所述静态完整性检测步骤按如下步骤进行:步骤401,由操作系统将进程装载入内存中;步骤402,计算该进程对应的二进制可执行文件的HASH值;步骤403,判断该进程是否为第一次执行,若为第一次执行,则进行步骤404,否则进行步骤405;步骤404,将该进程对应的二进制可执行文件的HASH值存入完整性数据库中;步骤405,从完整性数据库中提取该进程对应二进制文件的HASH值;步骤406,判断提取出的HASH值与计算出的HASH值是否一致,若一致,进行步骤407,否则进行步骤409;步骤407,统计该进程的相关内存信息并计算该进程代码段的HASH值,并将这些值存入完整性数据库中;步骤408,允许该进程继续执行;步骤409,终止该进程的运行;所述动态完整性检测步骤按如下步骤进行:步骤410,程序执行写进程空间操作;步骤411,将该进程挂起;步骤412,提取此时进程的相关内存信息并计算其HASH值;步骤413,从完整性数据库中提取该进程的HASH值;步骤414,判断提取的HASH值与计算出的HASH值是否一致,若一致,进行步骤415,否则进行步骤419;步骤415,计算进程所用代码段的HASH值;步骤416,从完整性数据库中提取该进程代码段的HASH值;步骤417,判断提取出的HASH值与计算出的HASH值是否一致,若一致,进行步骤418,否则进行步骤419;步骤418,允许该进程继续执行,循环至步骤410;步骤419,终止该进程的运行。...

【技术特征摘要】
1.一种操作系统进程完整性检测方法,包括位于应用层的静态完整性度量模块、通信模块、完整性数据库和位于内核层的监控模块、动态完整性度量模块,其特征在于,包括静态完整性检测步骤和动态完整性检测步骤, 所述静态完整性检测步骤按如下步骤进行: 步骤401,由操作系统将进程装载入内存中; 步骤402,计算该进程对应的二进制可执行文件的HASH值; 步骤403,判断该进程是否为第一次执行,若为第一次执行,则进行步骤404,否则进行步骤405 ; 步骤404,将该进程对应的二进制可执行文件的HASH值存入完整性数据库中; 步骤405,从完整性数据库中提取该进程对应二进制文件的HASH值; 步骤406,判断提取出的HASH值与计算出的HASH值是否一致,若一致,进行步骤407,否则进行步骤409 ; 步骤407,统计该进程的相关内存信息并计算该进程代码段的HASH值,并将这些值存入完整性数据库中; 步骤408,允许该进程继续执行; 步骤409,终止该进程的运行; 所述动态完整性检测步骤按如下步骤进行: 步骤410,程序执行写进程空间操作; 步骤411,将该进程挂起; 步骤412,提取此时进程的相关内存信息并计算其HASH值; 步骤413,从完整性数据库中提取该进程的HASH值; 步骤414,判断提取的HASH值与计算出的HASH值...

【专利技术属性】
技术研发人员:吴克河李艺陈飞崔文超
申请(专利权)人:江苏华大天益电力科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1