论文部分内容阅读
摘 要:随着网络技术和网络规模的不断发展,新的安全威胁不断出现。而当前的安全防御技术主要采用被动式防御,存在反映滞后问题,在分析现有安全防御技术的基础上,本文介绍一种基于进程指纹识别的主动式安全防御系统模型,采用进程指纹特征识别来决定进程的合法性,从而确定系统的安全性。能够有效实现对未知非法进程的主动防御,提高系统安全性。
关键词:安全;进程指纹;主动式防御
中图分类号:TP393 文献标识码:A文章编号:1009-0118(2010)-07-0001-02
一、引言
随着计算机网络的迅猛发展,Internet给人们工作、学习、生活带来了极大便利,然而,Internet是一个面向大众的开放系统,对于信息的保密和系统的安全[1]考虑得并不完备。随着网络技术和网络规模的不断发展,新的威胁和脆弱点不断出现,信息安全已经成为当前计算机网络应用和发展的一个重要因素,并且越来越成为人们关注的焦点。
目前多种的网络安全保护措施,如杀毒软件、数据加密、数据备份、用户的授权与认证、访问控制等,不能完全解决网络中的安全问题,随后又在计算机网络中引入了防 火墙,即在用户网络和Internet之间插入一个中间件,形成一个安全屏障,但它只是一种静态的被动的防护技术,在面对日新月异的病毒和黑客攻击手段时,这些被动式防御技术反映难免滞后,从而为用户的网络安全留下了严重隐患。针对被动式防御技术的缺陷,本文提出一种基于进程指纹的主动式安全防御系统模型,能够有效的实现对未知非法进程的主动防御,提高安全性。
二、基于进程指纹的主动防御系统模型
对于一台计算机系统来说,它由操作系统、网络、应用程序文件和数据文件构成。也可以认为一台计算机主机仅由进程及其相关的代码和数据文件构成。操作系统是计算机资源的管理和调度者,进程是计算机系统资源的使用主体。因此,计算机系统的安全性可完全由进程的安全性决定。进程是由和它连接的一些模块文件组成,只要保证这些模块文件的合法性,就能保证该进程的合法性,从而保证系统的安全性。
基于以上对计算机系统安全的分析[2],本文提出一种基于进程指纹特征的主动式安全防御系统模型,本系统模型设计采用主动式防御模式,不象杀毒软件,入侵检测系统等被动防御技术,不需根据非法攻击的出现更新数据库,从而实现主动防御思想;并且避开行为检测的误报率和性能消耗大等缺陷,采用基于现在居民个人身份证思想,对所有进程也采取证件机制,对进程的相关信息加密形成进程指纹特征,并向安全检查数据中心注册,同时实时监控截获进程并和后台指纹特征库进行比对。通过采用基于进程特征识别的主动防御技术,可以有效识别未知攻击,提高系统安全性。本系统模型总体结构图如图1所示:
(一)进程监控
通过对操作系统底层驱动信息的收集,在进程运行的第一时间里,及时捕获即将运行进程的相关信息,并将该进程挂起;通过与安全检查数据中心的交互检查该进程运行的合法性;对于获准运行的进程,通过消息传递,把该进程的相关信息记录到数据库子系统的日志中去,以便用于数据库子系统与文件系统监视子系统之间的后续处理。
(二)进程截获
由于计算机系统的安全性可完全由进程的安全性决定,对系统的攻击最终归结为进程通过系统调用非法访问系统资源,所以通过对系统调用的合法性即进程合法性进行检查即可实时发现和阻断攻击[3] 。在检查进程的合法性过程中首先需要在进程真正运行前第一时间截获进程,截获进程的系统调用。
对于要改变操作系统行为的需求来讲,采用Hooking技术是一种非常有效的途径。通过在操作系统执行代码中设置HOOK(钩子),可以截断执行代码的正常流程,从而获得执行另外的代码的机会。
从操作系统中系统调用的路径上看,进程截获技术[4]可以在路径上的不同环节层次上实现,如图2所示:
进程截获技术可分为核心级和用户级两大类,每个类型的截获技术又可以有不同的实现方法。
1、核心级的进程截获
核心级的进程截获主要通过INT 2EH软件中断技术实现。截获软件中断的方法实质上就是利用Hooking技术改变IDT的查找操作,通过修改原表中中断处理程序的入口地址来改变执行的流程,将中断处理程序指向到将另外执行的代码,执行完后再将控制权转到原来的中断处理程序入口处,完成原来的中断处理代码。
2、用户级的进程截获
用户级的进程截获主要是API Hooking技术,其截获的对象是系统用户态的服务调用,DLL代理是Windows下实现API调用截获最为简单的实现方式。该方法通过为原来的DLL创建一个代理来实现对API调用的截获。
由于用户级的调用截获一般拦截的是用户态的DLL,所以拦截不能扩展到核心态。因此用户级的进程截获不是完全彻底的。而内核级进程截获需要以写系统驱动程序的方式实现。此方法的优势在于可以集中地对核心态和用户态请求的所有系统调用进行拦截,可以较彻底地实现进程系统调用的截获。通过分析比较本系统采用从操作系统底层写驱动程序来替换系统本身的响应,把系统调用转入到所写的驱动程序中去进行信息的分析采集和过滤。这种方法能够从第一时间快速截获进程。
(三)数据库安全性
本系统安全模型需要通过和安全检查数据中心比对决定进程的合法性,后台安全检查数据库的安全性对于系统而言也是非常重要。而传统的数据库保护方式是通过设定口令字和访问权限等方法实现的,而数据库中的数据非常容易泄漏并被非法修改。解决这一问题的关键是要对数据本身加密,这样能够防止非法用户(本地和远程)的访问,保护数据库中数据的机密不被泄露。
通过对各种加密算法的分析,本系统采用MD5[5]加密算法。它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。从安全角度讲,MD5的输出为128位,若采用纯强力攻击寻找一个消息具有给定Hash值的计算困难性为2128,用每秒可试验1 000 000 000个消息的计算机需时1.07×1022年。若采用生日攻击法,寻找有相同Hash值的两个消息需要试验264个消息,用每秒可试验1 000 000 000个消息的计算机需时585年。由此分析,MD5在安全上满足主动安全网络系统的要求。
三、模型的安全性讨论和验证
本模型构建了多层次的系统安全架构,能够很好的体现事前发现安全威胁,防范未知攻击和病毒,阻止内部的安全威胁和信息泄露等主动安全思想,具有很高的系统安全性。论据如下:
(一)本模型以进程指纹为基础由外到内构建了多层次的安全架构。
I/O监控层:模型通过设备指纹的定期认证防范非法I/O设备接入系统,通过对设备访问行为实时认证,防范外部信息非法使用设备,进驻系统。
外存监测层:模型通过目录、文件和磁盘空闲区等实体指纹的定期认证防范非法信息驻留系统外存,通过访问行为的实时检测认证,防范对实体的非法访问。
内存检测层:模型通过内存分配进程、使用进程和装入进程认证,防范非授权文件非法进驻内存空间,占用内存资源。
CPU监控层:模型通过进程PCB指纹认证防范进程非法建立,通过进程有序性防范进程非法运行,占用CPU资源。
(二)模型中实现进程认证的基础是进程指纹,而进程指纹是通过单向Hash算法MD5建立的,MD5算法具有很好的安全性,很难通过指纹分析破坏系统安全性。
(三)模型以不依赖于外部信息的指纹技术为基础,以系统管理员授权为根据,事前进行对象认证,很好地体现了主动安全思想。
未知安全威胁发现和清除:模型中安全威胁发现的匹配规则是对象指纹,对象指纹的建立完全不依赖于外部行为,不依赖于过去对系统的攻击,也不依赖于系统过去的行为,只要对象未得到管理员授权,建立的指纹不匹配,都视为非法对象,都是安全威胁,都会被清除出系统。
事前发现安全威胁:模型中任何对象使用或运行前都需要认证对象指纹,只有指纹匹配时才允许对象的使用或运行,同时行为对象运行时可以根据对象指纹的匹配情况随时中止其运行。
为了验证模型安全性,我们开发了模型验证原型系统。在开放的网络环境中,我们对该原型系统进行了安全性测试和验证,并将测试结果和当前几种常用的安全系统进行了对比分析。结果如表1所示。
参考文献:
[1]陆余良,夏阳.主机安全量化融合模型研究[J].计算机学报,2005,28(5),914-920.
[2]季庆光,冯登国.对几类重要网络安全协议形式模型的分析[J].计算机学报,2005,28(7),1071-1083.
[3]Han-Ping Hu,Xing Liang,Bao-Liang Zhang.An adaptive security end-system model based on active defense.CommunicationsSystems,2004,331-335.
[4]高岩,蒋若江.主机防护系统中系统调用截获机制的实现[J].计算机工程与设计,2003,24(11),76-80.
[5]Xiaoyun Wang,Dengguo Feng,Xuejia Lai. Collisions for Hash Functions MD4, MD5,HAVAL-128 and RIPEMD,2004.
关键词:安全;进程指纹;主动式防御
中图分类号:TP393 文献标识码:A文章编号:1009-0118(2010)-07-0001-02
一、引言
随着计算机网络的迅猛发展,Internet给人们工作、学习、生活带来了极大便利,然而,Internet是一个面向大众的开放系统,对于信息的保密和系统的安全[1]考虑得并不完备。随着网络技术和网络规模的不断发展,新的威胁和脆弱点不断出现,信息安全已经成为当前计算机网络应用和发展的一个重要因素,并且越来越成为人们关注的焦点。
目前多种的网络安全保护措施,如杀毒软件、数据加密、数据备份、用户的授权与认证、访问控制等,不能完全解决网络中的安全问题,随后又在计算机网络中引入了防 火墙,即在用户网络和Internet之间插入一个中间件,形成一个安全屏障,但它只是一种静态的被动的防护技术,在面对日新月异的病毒和黑客攻击手段时,这些被动式防御技术反映难免滞后,从而为用户的网络安全留下了严重隐患。针对被动式防御技术的缺陷,本文提出一种基于进程指纹的主动式安全防御系统模型,能够有效的实现对未知非法进程的主动防御,提高安全性。
二、基于进程指纹的主动防御系统模型
对于一台计算机系统来说,它由操作系统、网络、应用程序文件和数据文件构成。也可以认为一台计算机主机仅由进程及其相关的代码和数据文件构成。操作系统是计算机资源的管理和调度者,进程是计算机系统资源的使用主体。因此,计算机系统的安全性可完全由进程的安全性决定。进程是由和它连接的一些模块文件组成,只要保证这些模块文件的合法性,就能保证该进程的合法性,从而保证系统的安全性。
基于以上对计算机系统安全的分析[2],本文提出一种基于进程指纹特征的主动式安全防御系统模型,本系统模型设计采用主动式防御模式,不象杀毒软件,入侵检测系统等被动防御技术,不需根据非法攻击的出现更新数据库,从而实现主动防御思想;并且避开行为检测的误报率和性能消耗大等缺陷,采用基于现在居民个人身份证思想,对所有进程也采取证件机制,对进程的相关信息加密形成进程指纹特征,并向安全检查数据中心注册,同时实时监控截获进程并和后台指纹特征库进行比对。通过采用基于进程特征识别的主动防御技术,可以有效识别未知攻击,提高系统安全性。本系统模型总体结构图如图1所示:
(一)进程监控
通过对操作系统底层驱动信息的收集,在进程运行的第一时间里,及时捕获即将运行进程的相关信息,并将该进程挂起;通过与安全检查数据中心的交互检查该进程运行的合法性;对于获准运行的进程,通过消息传递,把该进程的相关信息记录到数据库子系统的日志中去,以便用于数据库子系统与文件系统监视子系统之间的后续处理。
(二)进程截获
由于计算机系统的安全性可完全由进程的安全性决定,对系统的攻击最终归结为进程通过系统调用非法访问系统资源,所以通过对系统调用的合法性即进程合法性进行检查即可实时发现和阻断攻击[3] 。在检查进程的合法性过程中首先需要在进程真正运行前第一时间截获进程,截获进程的系统调用。
对于要改变操作系统行为的需求来讲,采用Hooking技术是一种非常有效的途径。通过在操作系统执行代码中设置HOOK(钩子),可以截断执行代码的正常流程,从而获得执行另外的代码的机会。
从操作系统中系统调用的路径上看,进程截获技术[4]可以在路径上的不同环节层次上实现,如图2所示:
进程截获技术可分为核心级和用户级两大类,每个类型的截获技术又可以有不同的实现方法。
1、核心级的进程截获
核心级的进程截获主要通过INT 2EH软件中断技术实现。截获软件中断的方法实质上就是利用Hooking技术改变IDT的查找操作,通过修改原表中中断处理程序的入口地址来改变执行的流程,将中断处理程序指向到将另外执行的代码,执行完后再将控制权转到原来的中断处理程序入口处,完成原来的中断处理代码。
2、用户级的进程截获
用户级的进程截获主要是API Hooking技术,其截获的对象是系统用户态的服务调用,DLL代理是Windows下实现API调用截获最为简单的实现方式。该方法通过为原来的DLL创建一个代理来实现对API调用的截获。
由于用户级的调用截获一般拦截的是用户态的DLL,所以拦截不能扩展到核心态。因此用户级的进程截获不是完全彻底的。而内核级进程截获需要以写系统驱动程序的方式实现。此方法的优势在于可以集中地对核心态和用户态请求的所有系统调用进行拦截,可以较彻底地实现进程系统调用的截获。通过分析比较本系统采用从操作系统底层写驱动程序来替换系统本身的响应,把系统调用转入到所写的驱动程序中去进行信息的分析采集和过滤。这种方法能够从第一时间快速截获进程。
(三)数据库安全性
本系统安全模型需要通过和安全检查数据中心比对决定进程的合法性,后台安全检查数据库的安全性对于系统而言也是非常重要。而传统的数据库保护方式是通过设定口令字和访问权限等方法实现的,而数据库中的数据非常容易泄漏并被非法修改。解决这一问题的关键是要对数据本身加密,这样能够防止非法用户(本地和远程)的访问,保护数据库中数据的机密不被泄露。
通过对各种加密算法的分析,本系统采用MD5[5]加密算法。它的作用是让大容量信息在用数字签名软件签署私人密匙前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的大整数)。从安全角度讲,MD5的输出为128位,若采用纯强力攻击寻找一个消息具有给定Hash值的计算困难性为2128,用每秒可试验1 000 000 000个消息的计算机需时1.07×1022年。若采用生日攻击法,寻找有相同Hash值的两个消息需要试验264个消息,用每秒可试验1 000 000 000个消息的计算机需时585年。由此分析,MD5在安全上满足主动安全网络系统的要求。
三、模型的安全性讨论和验证
本模型构建了多层次的系统安全架构,能够很好的体现事前发现安全威胁,防范未知攻击和病毒,阻止内部的安全威胁和信息泄露等主动安全思想,具有很高的系统安全性。论据如下:
(一)本模型以进程指纹为基础由外到内构建了多层次的安全架构。
I/O监控层:模型通过设备指纹的定期认证防范非法I/O设备接入系统,通过对设备访问行为实时认证,防范外部信息非法使用设备,进驻系统。
外存监测层:模型通过目录、文件和磁盘空闲区等实体指纹的定期认证防范非法信息驻留系统外存,通过访问行为的实时检测认证,防范对实体的非法访问。
内存检测层:模型通过内存分配进程、使用进程和装入进程认证,防范非授权文件非法进驻内存空间,占用内存资源。
CPU监控层:模型通过进程PCB指纹认证防范进程非法建立,通过进程有序性防范进程非法运行,占用CPU资源。
(二)模型中实现进程认证的基础是进程指纹,而进程指纹是通过单向Hash算法MD5建立的,MD5算法具有很好的安全性,很难通过指纹分析破坏系统安全性。
(三)模型以不依赖于外部信息的指纹技术为基础,以系统管理员授权为根据,事前进行对象认证,很好地体现了主动安全思想。
未知安全威胁发现和清除:模型中安全威胁发现的匹配规则是对象指纹,对象指纹的建立完全不依赖于外部行为,不依赖于过去对系统的攻击,也不依赖于系统过去的行为,只要对象未得到管理员授权,建立的指纹不匹配,都视为非法对象,都是安全威胁,都会被清除出系统。
事前发现安全威胁:模型中任何对象使用或运行前都需要认证对象指纹,只有指纹匹配时才允许对象的使用或运行,同时行为对象运行时可以根据对象指纹的匹配情况随时中止其运行。
为了验证模型安全性,我们开发了模型验证原型系统。在开放的网络环境中,我们对该原型系统进行了安全性测试和验证,并将测试结果和当前几种常用的安全系统进行了对比分析。结果如表1所示。
参考文献:
[1]陆余良,夏阳.主机安全量化融合模型研究[J].计算机学报,2005,28(5),914-920.
[2]季庆光,冯登国.对几类重要网络安全协议形式模型的分析[J].计算机学报,2005,28(7),1071-1083.
[3]Han-Ping Hu,Xing Liang,Bao-Liang Zhang.An adaptive security end-system model based on active defense.CommunicationsSystems,2004,331-335.
[4]高岩,蒋若江.主机防护系统中系统调用截获机制的实现[J].计算机工程与设计,2003,24(11),76-80.
[5]Xiaoyun Wang,Dengguo Feng,Xuejia Lai. Collisions for Hash Functions MD4, MD5,HAVAL-128 and RIPEMD,2004.