基于WINDOWS系统的软件程序异常行为分析方法.pdf

上传人:32 文档编号:6362908 上传时间:2019-06-04 格式:PDF 页数:7 大小:335.73KB
返回 下载 相关 举报
摘要
申请专利号:

CN201510340007.2

申请日:

2015.06.18

公开号:

CN104966018A

公开日:

2015.10.07

当前法律状态:

驳回

有效性:

无权

法律详情:

发明专利申请公布后的驳回IPC(主分类):G06F 21/52申请公布日:20151007|||实质审查的生效IPC(主分类):G06F 21/52申请日:20150618|||公开

IPC分类号:

G06F21/52(2013.01)I; G06N3/12

主分类号:

G06F21/52

申请人:

华侨大学

发明人:

柳培忠; 骆炎民

地址:

362000福建省泉州市丰泽区城东华侨大学

优先权:

专利代理机构:

泉州市文华专利代理有限公司35205

代理人:

陈智海

PDF下载: PDF下载
内容摘要

本发明提供一种基于Windows系统的软件程序异常行为分析方法,用户选定一软件程序,对该软件程序的软件行为信息进行捕获;建立白名单库、黑名单库及危险行为库;根据白名单库、黑名单库及危险行为库,将捕获到的软件行为信息通过遗传算法进行分析,得到分析结果;将分析结果进行显示,大大降低了由于内部引起的网络安全隐患。

权利要求书

权利要求书
1.  一种基于Windows系统的软件程序异常行为分析方法,其特征在于:包括如下步骤:
步骤1、用户选定一软件程序,对该软件程序的软件行为信息进行捕获;
步骤2、建立白名单库、黑名单库及危险行为库;
步骤3、根据白名单库、黑名单库及危险行为库,将捕获到的软件行为信息通过遗传算法进行分析,得到分析结果;
步骤4、将分析结果进行显示。

2.  根据权利要求1所述的基于Windows系统的软件程序异常行为分析方法,其特征在于:所述步骤1进一步具体为:用户选定一软件程序,在Windows系统中建立钩子程序,通过钩子程序对该软件程序的软件行为信息进行捕获。

3.  根据权利要求1所述的基于Windows系统的软件程序异常行为分析方法,其特征在于:所述步骤1中,将捕获的软件行为信息进行存储。

4.  根据权利要求1或3所述的基于Windows系统的软件程序异常行为分析方法,其特征在于:所述软件行为信息包括进线程行为、注册表行为、文件行为、网络行为和驱动行为。

5.  根据权利要求1所述的基于Windows系统的软件程序异常行为分析方法,其特征在于:所述步骤4进一步具体为:将分析结果进行显示,并将分析结果存储至对应的库中。

说明书

说明书基于Windows系统的软件程序异常行为分析方法
技术领域
本发明涉及一种基于Windows系统的软件程序异常行为分析方法。
背景技术
随着网络安全风险的日益增长,安全问题的复杂性日益加大,经过综合FBI和CSI对484家企业的调查及中国国家计算机网络应急协调中心CNCERT/CC的调查结果显示:大约76%的网络安全威胁来自于内部,由此可知其危害程度是远远超过黑客攻击及病毒造成的损失,而这些威胁绝大部分与内部各种网络访问行为有关;因此,迫切需要一种安全手段对上述问题进行有效的监控和管理。系统程序行为监测正是在这样的背景下产生的,系统异常行为分析程序可通过分析系统中各进程的行为,智能判定是否有病毒、木马异常或者危险操作。计算机信息系统安全需求和体系结构的共性,其构成要素是安全手段、系统单元及国际标准化组织(ISO)制定的开放系统互连参考模型(OSI)。本地系统对网络系统中的安全设备和网络设备、应用系统和运行状况进行全面的监测、分析、评估是保障网络安全的重要手段。目前,国内企业的信息系统大多还是Windows系统,包括一些IDC企业的很大一部分服务器系统也是Windows Server,所以对于Windows系统下的监测更是重中之重。
发明内容
本发明要解决的技术问题,在于提供一种基于Windows系统的软件程序异常行为分析方法。
本发明是这样实现的:一种基于Windows系统的软件程序异常行为分析方法,包括如下步骤:
步骤1、用户选定一软件程序,对该软件程序的软件行为信息进行捕获;
步骤2、建立白名单库、黑名单库及危险行为库;
步骤3、根据白名单库、黑名单库及危险行为库,将捕获到的软件行为信息通过遗传算法进行分析,得到分析结果;
步骤4、将分析结果进行显示。
进一步地,所述步骤1进一步具体为:用户选定一软件程序,在Windows系统中建立钩子程序,通过钩子程序对该软件程序的软件行为信息进行捕获。
进一步地,所述步骤1中,将捕获的软件行为信息进行存储。
进一步地,所述软件行为信息包括进线程行为、注册表行为、文件行为、网络行为和驱动行为。
进一步地,所述步骤4进一步具体为:将分析结果进行显示,并将分析结果存储至对应的库中。
本发明具有如下优点:本发明一种基于Windows系统的软件程序异常行为分析方法,大大降低了由于内部引起的网络安全隐患。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明方法执行流程图。
具体实施方式
本发明基于Windows系统的软件程序异常行为分析方法,包括如下步骤:
步骤1、用户选定一软件程序,在Windows系统中建立钩子程序,通过钩子程序对该软件程序的软件行为信息进行捕获,将捕获的软件行为信息进行存储,所述软件行为信息包括进线程行为、注册表行为、文件行为、网络行为和驱动行为;
步骤2、建立白名单库、黑名单库及危险行为库;
步骤3、根据白名单库、黑名单库及危险行为库,将捕获到的软件行为信息通过遗传算法进行分析,得到分析结果;
步骤4、将分析结果进行显示,并将分析结果存储至对应的库中。
本发明一种具体实施方式如下:
一、系统构架:系统由一个可执行程序、规则库(本地或云端)、日志文件、被分析软件等组成。
系统组成功能:
1、整体系统的构建:
(1)、驱动监测模块;
a.在SSDT表中,HOOK要用到的函数;
b.与控制层的数据实现交换。
(2)、数据传输控制模块(DLL)
a.在ring3HOOK网络功能函数;
b.与驱动层交互;
c.接收用户界面层的输入数据信息,并发送数据返回界面层。
(3)、用户功能模块
a.监测程序行为;
b.显示被监测程序的行为过程;
c.生成日志,并记录到access数据库;
d.产生报告(报告经过筛选和判断);
e.自定义程序安全行为(黑白名单的维护)。
(4)、使用遗传算法来学习和定义规则模块。
程序可以自行总结一些规则,并根据这些规则自动判断软件行为是否危险。
二、驱动监测
驱动程序负责监测系统程序的行为。具体实现流程如下:
驱动层(ring0):驱动安装后,会执行InitData(),此函数功能就是获取该程序需要hook的系统服务函数(即存放于SSDT的函数)的地址,使用自定义的函数替换。
在驱动控制函数包含了两个控制码:
OCTRL_PROCESS_MONITOR_ON和 IOCTRL_PROCESS_MONITOR_OFF,分别用来实现开启hook和关闭hook。同时为了实现和ring3层程序的数据和控制交互,ring3层程序在发送开启hook控制码是同时发送了在该层申请的缓冲区,ring0程序通过映射
//获取用户层传送过来的缓冲区地址
dwBuffAddress=*(DWORD*)pIoBuffer;
//根据虚拟地址获取物理地址
pPhysicalAddr=MmGetPhysicalAddress((PVOID)dwBuffAddress);
//把物理地址映射到虚拟地址
g_pMyBuff=(PMY_BUFF)MmMapIoSpace
(pPhysicalAddr,sizeof(MY_BUFF),(MEMORY_CACHING_TYPE)0);
然后在ring0层可以“直接”访问该缓冲区,从而实现了ring0和ring3的交互。本程序采用内核层HOOK技术。
三、数据传输控制
DLL(控制)层:该层首先以服务的形式安装驱动程序,加载驱动,建立设备连接然后开启网络功能HOOK(使用的是消息HOOK中的全局HOOK,基于一个hook模板库)
a、打开服务控制管理器;
b、创建驱动所对应的服务;
c、建立设备连接。
该层导出了monitor和unmonitor两个函数,分别用来启动监测和停止监测。Monitor实现:
(1)打开驱动程序的符号链接,发送启动控制码,通知驱动程序开启hook;
(2)Monitor在发送启动控制码后,还创建了一个接受内核信息的线程MonitorThreadProc。
(3)线程MonitorThreadProc循环接受驱动程序发送的信息,进行适当处理(转换盘符等)后以消息的形式发送至用户界面层程序。
(4)关键数据结构m_MyBuff.m_dwKenelReturn(检查驱动程序是否 发送来新的信息),在信息处理后,dll层将其置为false,m_MyBuff.m_dwUserReturn(使用者是否同意程序通过),始终置为true(因为该程序还不是主动防御型的,只做行为分析)。
(5)相对应的,在驱动程序中也要控制一下if(!g_pMyBuff->m_dwKenelReturn)break,如果ring3层程序没有把消息处理完就等下去,一直到消息处理完复制消息的函数才返回,进行下一次消息复制。
四、用户应用
用户应用模块的功能是满足用户简单操作并分析所需监测程序的监测行为过程。具体实现流程如下:
在程序初始化时,加载控制层的dll文件,同时打开access数据库的连接。
出现操作界面后,打开需要监测的程序可执行文件。
点击“开始鉴定”,会把该可执行文件打开。在此过程中,驱动程序已经开始监测该可执行文件的各种行为,并动态地把监测到的行为发送到控制层,控制层以消息的形式发送给界面,界面接收并显示。
点击“停止鉴定”后,驱动程序监控停止。此过程中的所有监测到的行为已被保存,会在生成日志过程中记录到数据库中。
“生成日志”:会产生txt格式的记录,并同时记录的数据库中,供分析。
“生成报告”:会在doc目录下生成一个以系统时间命名的html文件,而且自动打开,把经过优化的记录显示出来,并分析了比较可疑的行为,供用户参考分析。
“添加规则”:可以方便用户添加允许通过的行为,同时也可以删除一些过时的行为。
五、应用遗传算法
本系统采用了遗传算法来实现规则的自动生成,该算法主要采纳了生物学物种进化的原理模型,借助于选择、交叉、变异等生物学遗传操作。
遗传算法的一般步骤:先随机初始化一个种群,然后利用适应度计算函数计算该种群中的每一个个体的适应度,之后,根据制定的规则计算个体是否满足优化准则的判定标准。如果满足,那么算法停止,当前的种群就是最优个体。
如果不满足准则,那么算法将选取适应度高的个体,对这个种群的个体进行生物学的遗传操作,比如选择、交叉、变异等,遗传操作的目的就是要进化得到更优秀的子代种群,经过演化之后的子代种群,需要利用已有的规则,重新判定优化准则的满足程度,进而进化生成新的种群。
通过遗传算法,把以往监测到的一些被定义为危险的行为,自行添加到规则文件,并根据这些行为作为判定的依据。同时,还能根据以往的经验,设定一些行为序列或集合为某种危险操作。
在本程序中,若所分析的软件的行为存在于白名单中,则该软件行为被认为是安全的,否则被认为是危险的,借鉴遗传算法的思想,将白名单的控制权交给用户,由用户添加白名单,随着用户不断丰富白名单,本软件的识别能力变得越完善。白名单随着样本数量的增加而逐步完善,说白了就是,用户所添加的白名单越多,白名单越丰富,软件的识别行为越完善。
基于遗传算法的系统异常行为分析程序的一般结构如下所示:
1、量化异常行为规则,适时调整算法的设计;
2、把编码规则记录问题,用数据结构表示基因,染色体的方式表示行为规则记忆空间;
3、设计、复制、交叉和变异操作算子;
4、适应度函数及成本函数的设计;
5、规则记忆记录处理(如:设置白名单、拉入黑名单以及自动识别黑白名单上的行为等)
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

基于WINDOWS系统的软件程序异常行为分析方法.pdf_第1页
第1页 / 共7页
基于WINDOWS系统的软件程序异常行为分析方法.pdf_第2页
第2页 / 共7页
基于WINDOWS系统的软件程序异常行为分析方法.pdf_第3页
第3页 / 共7页
点击查看更多>>
资源描述

《基于WINDOWS系统的软件程序异常行为分析方法.pdf》由会员分享,可在线阅读,更多相关《基于WINDOWS系统的软件程序异常行为分析方法.pdf(7页珍藏版)》请在专利查询网上搜索。

本发明提供一种基于Windows系统的软件程序异常行为分析方法,用户选定一软件程序,对该软件程序的软件行为信息进行捕获;建立白名单库、黑名单库及危险行为库;根据白名单库、黑名单库及危险行为库,将捕获到的软件行为信息通过遗传算法进行分析,得到分析结果;将分析结果进行显示,大大降低了由于内部引起的网络安全隐患。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1