一种基于程序行为算法的主动防御方法
【技术领域】
[0001]本发明涉及一种基于程序行为算法的主动防御方法。
【背景技术】
[0002]操作系统向外提供丰富的系统API接口,方便上层应用程序对系统资源的访问,开发各类功能软件,程序行为指程序或代码对操作系统资源如文件系统、注册表、内存、内核、网络、服务、进程等的访问操作。虽然杀毒软件在消费和企业市场得到了广泛普及,但在病毒种类不断激增的当下,这种被动保护机制已经过时,无法满足日益增长的安全需求。现有的自我保护方式已经不起作用,但杀毒行业的整个理念已经失效。
[0003]加州数据安全公司Imperva与以色列理工学院共同展开的一项最新研宄也佐证了这一点。Imperva CTO阿米才?舒尔曼及研宄人员收集并分析了 82种新电脑病毒,并在40种传统杀毒软件产品中进行了测试。尽管这些产品多数都来自微软、赛门铁克、McAfee和卡巴斯基,但其初始探测率却不足5%。
[0004]源于杀毒产品与生俱来的被动性,这一流程最少需要几小时,最长甚至可以达到数年。例如,卡巴斯基2012年5月发现了火焰病毒,这是一种复杂的病毒,大约5年前就开始窃取电脑数据。
[0005]因此需要一种可以实时防御未知攻击的能力的防御方法。
【发明内容】
[0006]本发明的目的在于克服现有技术的不足,提供一种基于程序行为算法的主动防御方法,采用行为算法能够达到实时防御未知攻击的能力,通过对程序的行为方式、行为目的进行感知、识别和处理,实时保护主机、服务器免受病毒、木马、黑客攻击,满足事中防御实时对抗的要求。
[0007]本发明的目的是通过以下技术方案来实现的:一种基于程序行为算法的主动防御方法,它包括以下步骤:
通过行为算法对程序的行为方式、行为目的进行识别,当程序行为触发系统API接口上的恶意行为感知点,对以该恶意行为目的的恶意程序行为进行主动感知并建模;
所述的恶意程序行为包括遍历磁盘文件的恶意行为、修改文件属性的恶意行为、访问注册表的恶意行为、服务活动的恶意行为、终止系统进程的恶意行为和挂钩行为的恶意行为;
所述的修改文件属性的恶意行为包括将系统目录下的文件或可执行文件的时间设置为系统文件时间和将未见属性为改为系统文件或隐藏文件;所述的访问注册表的恶意行为包括修改系统的启动关联、获取IE房间信息和将操作系统的显示系统隐藏文件功能屏蔽;所述的服务活动的恶意行为包括创建自启动服务程序、启动服务程序、删除服务程序和改变服务程序的状态;所述的终止系统进程的恶意行为包括终止系统正在运行的进程;
所述的行为目的包括以破坏为目的、以控制为目的、以窃密为目的、以资源消耗为目的、以渗透为目的和以欺骗为目的;
对复杂行为的识别只能用算法识别;
S2:对恶意程序行为进行识别,判断为单个恶意行为或者是恶意行为序列,并进行相应的处理,决定是否对该程序行为进行拦截、终止执行该程序或清理该程序:
(1)若触发的是单个恶意行为,则对用户进行提醒:是否需要组织该恶意程序行为;
(2)若触发的是恶意行为序列,则阻止该恶意程序行为。
[0008]步骤S2中所述的相应的处理包括行为智能处理、行为防御加固。
[0009]所述的建模包括单个行为的规则建模和多个行为组成的行为序列的规则建模,
所述的单个行为的规则建模的格式为:行为::行为描述::威胁等级〈函数名1,参数I,参数取值特征,…参数m,参数取值特征> ;
所述的多个行为组成的行为序列的规则建模的格式为:行为序列::行为描述::威胁等级〈行为IX行为2>…〈行为n> ;
其中m表示函数的参数个数,η表示行为序列包含的行为个数;所述的威胁等级代表不同级别的恶意程序;所述的参数取值特征为对应的函数调用行为表现出恶意性时的参数的具体取值。
[0010]所述的修改文件属性的恶意行为包括将系统目录下的文件或可执行文件的时间设置为系统文件时间和将未见属性为改为系统文件或隐藏文件。
[0011]所述的访问注册表的恶意行为包括修改系统的启动关联、获取IE房间信息和将操作系统的显示系统隐藏文件功能屏蔽。
[0012]所述的服务活动的恶意行为包括创建自启动服务程序、启动服务程序、删除服务程序和改变服务程序的状态。
[0013]所述的终止系统进程的恶意行为包括终止系统正在运行的进程。
[0014]一种基于程序行为算法的主动防御方法还包括一个恶意程序行为数据收集与展示步骤:对恶意程序行为发生的时间、地点、攻击手段、攻击目标和攻击效果进行收集与展不O
[0015]本发明的有益效果是:(I)本发明采用行为算法能够达到实时防御未知攻击的能力,通过对程序的行为方式、行为目的进行感知、识别和处理,实时保护主机、服务器免受病毒、木马、黑客攻击,满足事中防御实时对抗的要求;(2)使用该方法的防御系统部署于可能攻击目标的服务器上以及可能成为攻击地点的用户PC机上,客户端直接处理安全事件,只是将处理结果上报控制台,避免控制台泄密问题。
【附图说明】
[0016]图1为本发明方法流程图。
【具体实施方式】
[0017]下面结合附图进一步详细描述本发明的技术方案:如图1所示,一种基于程序行为算法的主动防御方法,它包括以下步骤:
S1:在系统API接口,对恶意程序行为进行主动感知并建模;
所述的恶意程序行为包括遍历磁盘文件的恶意行为、修改文件属性的恶意行为、访问注册表的恶意行为、服务活动的恶意行为、终止系统进程的恶意行为和挂钩行为的恶意行为;
S2:对恶意程序行为进行识别,判断为单个恶意行为或者是恶意行为序列,并进行相应的处理,决定是否对该程序行为进行拦截、终止执行该程序或清理该程序:
(1)若触发的是单个恶意行为,则对用户进行提醒:是否需要组织该恶意程序行为;
(2)若触发的是恶意行为序列,则阻止该恶意程序行为:
即当恶意程序在系统API接口上连续触发恶意行为,依次触发恶意行为1、恶意行为2、恶意行为3、恶意行为5,则判定为恶意行为序列,阻止该恶意程序行为。
[0018]步骤S2中所述的相应的处理包括行为智能处理、行为防御加固。
[0019]对于复杂的目的是通过行为完成的,而通常来讲,有6类目的:1、破坏为目的的攻击、2、以控制为目的的攻击,3、以窃密为目的的攻击,4、以资源消耗为目的的攻击,5、以渗透为目的的攻击,6、以欺骗为目的的攻击。不同的目的以相应不同的行为去完成。比如破换性攻击,有文件破换性行为、破坏系统功能的行为,破坏网络功能性行为。又如渗透为目的的攻击,如果通过WEB攻击,可能有注入行为,有SQL注入、系统命令注入、脚本注入,也可能有攻击账号的行为,如账号破解、会话劫持、会话伪造等行为。
[0020]对复杂行为的识别只能用算法识别。
[0021]所述的建模包括单个行为的规则建模和多个行为组成的行为序列的规则建模,
所述的单个行为的规则建模的格式为:行为::行为描述::威胁等级〈函数名1,参数I,参数取值特征,…参数m,参数取值特征> ;
所述的多个行为组成的行为序列的规则建模的格式为:行为序列::行为描述::威胁等级〈行为1>〈行为2>…〈行为n> ;
其中m表示函数的参数个数,η表示行为序列包含的行为个数;所述的威胁等级有4级,分别为低、中、较高和极高,代表不同级别的恶意程序;所述的参数取值特征为对应的函数调用行为表现出恶意性时的参数的具体取值。
[0022]在本实施例中,所述的遍历磁盘文件的恶意行为的建模具体为三种情况:
(1)行为::查找文件::中等〈FindNextFile,参数1,“*.*”>;
(2)行为::查找文件::中等〈FindNextFile,参数0,NULL〉;
(3)行为序列::遍历所有磁盘文件::较高〈CreateFileXWriteFile〉。
[0023]其中,参数O表示无需分析该行为的参数信息,对应的参数取值特征设置为NULL。
[0024]所述的修改文件属性的恶意行为包括将系统目下的文件或
可执行文件的时间设置为系统文件时间和将未见属性为改为系统文件或隐藏文件;
其中,将系统目录下的文件或可执行文件的时间设置为系统文件时间的建模为:
行为::修改文件时间::中等〈SetFileTime,参数 1,“exe,scr,pif,com,bat,inf” I “%system”,参数2,“系统文件时间”,参数3,“系统文件时间”,参数4,“系统文件时间”,>。
[0025]将未见属性为改为系统文件或隐藏文件的建模为:
行为::修改文件属性::中等〈SetFileAttribute,参数 1,“exe,scr,pif,com,bat,inf” I “%system,,,参数 2,“FILE_ATTRIBUTE_HIDDEN | SYSTEM” >。
[0026]所述的访问注册表的恶意行为包括修改系统的启动关联、获取IE房间信息和将操作系统的显示系统隐藏文件功能屏蔽。
[0027]其中,修改系统的启动关联的建模为:
行为::修改系统的启动关联::中等〈RegCreateKey,参数I,“HKLM\SOFTWARE\Microsoft\Windows\CurrentVers1n”,参数 2,“Run,参数 9,“REG_CREATED_NEW_KEY | REG_OPENED_EXISTING_KEY” >。
[0028]获取IE房间信息的建模为:
行为::获取IE代理信息::中等〈RegQueryValueEx,参数1,“HKCU\SOFTWARE\Microsoft\ffindows\CurrentVers1n\Internet Settings,,,参数 2,“ ProxyServer,,| “ ProxyEnab I e,,>。
[0029]将操作系统的显示系统隐藏文件功能屏蔽的建模为:
行为::禁止显示系统隐藏文件::较高〈RegSetValueEx,参数I,“HKLM\SOFTWARE\Microsoft\Windows\CurrentVers1n\Explorer\Adcanced\Folder\Hidden\SHOWALL,,,参数 2,“CheckedValue”,参数 5,0X00〉。
[0030]所述的服务活动的恶意行为包括创建自启动服务程序、启动服务程序、删除服务程序和改变服务程序的状态。
[0031]其中,创建自启动服务程序的建模为:
行为::创建自启动服务程序::中等〈CreateService,参数5,“SERVICE_WIN32_0WN_PROCESS I KERNEL_DRIVER | WIN32_SHARE_PR0CESS,,,参数 6,“SERVICE_SYSTEM_START | AUT0_START I DEMAND_START”,参数 8,“%system32%” | “kavsvc, AVP, ccProxy 等服务” >。
[0032]启动服务程序的建模为:
行为::启动服务程序::中等〈StartService,参数1,0>。
[0033]删除服务程序的建模为:
行为::删除服务程序::中等〈DeleteService,参数1,“%system32%” | “kavsvc, AVP, ccProxy 等服务” >。
[0034]改变服务程序的状态的建模为:
行为::控制服务程序状态::中等〈ControlService,参数1,“%system32%” | “kavsvc, AVP, ccProxy 等服务”,参数 1,SERVICE_C0NTR0L_ST0P | C0NTR0L_PAUSE IC0NTR0L_C0NTINUE>o
[0035]所述的终止系统进程的恶意行为包括终止系统正在运行的进程。
[0036]终止系统正在运行的进程的建模为:
行为::终止系统进程::中等〈TerminateProcess,参数 l,“Mcshield.exe | scan32.ece I naPrdMgr.exe 等进程” >o
[0037]挂钩行为的建模为:
行为::挂钩行为::较高〈SetWindowsHookEx,参数 1,WH_KEYB0ARD>。
[0038]一种基于程序行为算法的主动防御方法还包括一个恶意程序行为数据收集与展示步骤:对恶意程序行为发生的时间、地点、攻击手段、攻击目标和攻击效果进行收集与展不O
[0039]通过采用自适应多维函数Y = k*f(Xl,X2…Xn)和行为算法模型,Xn为程序某个行为的风险权值,由程序行为算法确定,k为程序类别风险权重,Y为整个程序的风险值,该模型分析程序行为之间的逻辑关系,判定程序行为的合法性,实现恶意代码的自动辨识和主动防御。
【主权项】
1.一种基于程序行为算法的主动防御方法,其特征在于:它包括以下步骤: 51:通过行为算法对程序的行为方式、行为目的进行识别,当程序行为触发系统API接口上的恶意行为感知点,对以该恶意行为目的的恶意程序行为进行主动感知并建模; 所述的恶意程序行为包括遍历磁盘文件的恶意行为、修改文件属性的恶意行为、访问注册表的恶意行为、服务活动的恶意行为、终止系统进程的恶意行为和挂钩行为的恶意行为; 所述的修改文件属性的恶意行为包括将系统目录下的文件或可执行文件的时间设置为系统文件时间和将未见属性为改为系统文件或隐藏文件;所述的访问注册表的恶意行为包括修改系统的启动关联、获取IE房间信息和将操作系统的显示系统隐藏文件功能屏蔽;所述的服务活动的恶意行为包括创建自启动服务程序、启动服务程序、删除服务程序和改变服务程序的状态;所述的终止系统进程的恶意行为包括终止系统正在运行的进程; 所述的行为目的包括以破坏为目的、以控制为目的、以窃密为目的、以资源消耗为目的、以渗透为目的和以欺骗为目的; 对复杂行为的识别只能用算法识别; 52:对恶意程序行为进行识别,判断为单个恶意行为或者是恶意行为序列,并进行相应的处理,决定是否对该程序行为进行拦截、终止执行该程序或清理该程序。2.根据权利要求1所述的一种基于程序行为算法的主动防御方法,其特征在于:所述的建模包括单个行为的规则建模和多个行为组成的行为序列的规则建模, 所述的单个行为的规则建模的格式为:行为::行为描述::威胁等级〈函数名1,参数I,参数取值特征,…参数m,参数取值特征> ; 所述的多个行为组成的行为序列的规则建模的格式为:行为序列::行为描述::威胁等级〈行为IX行为2>…〈行为n> ; 其中m表示函数的参数个数,η表示行为序列包含的行为个数;所述的威胁等级代表不同级别的恶意程序;所述的参数取值特征为对应的函数调用行为表现出恶意性时的参数的具体取值。3.根据权利要求1所述的一种基于程序行为算法的主动防御方法,其特征在于:步骤S2中所述的相应的处理包括行为智能处理、行为防御加固。4.根据权利要求1所述的一种基于程序行为算法的主动防御方法,其特征在于:它还包括一个恶意程序行为数据收集与展示步骤:对恶意程序行为发生的时间、地点、攻击手段、攻击目标和攻击效果进行收集与展示。
【专利摘要】本发明公开了一种基于程序行为算法的主动防御方法,它包括以下步骤:S1:当恶意程序行为触发系统API接口上的恶意行为感知点,对恶意程序行为进行主动感知并建模;所述的恶意程序行为包括遍历磁盘文件的恶意行为、修改文件属性的恶意行为、访问注册表的恶意行为、服务活动的恶意行为、终止系统进程的恶意行为和挂钩行为的恶意行为;S2:对恶意程序行为进行识别,判断为单个恶意行为或者是恶意行为序列,并进行相应的处理。本发明采用行为算法能够达到实时防御未知攻击的能力,通过对程序的行为方式、行为目的进行感知、识别和处理,实时保护主机、服务器免受病毒、木马、黑客攻击,满足事中防御实时对抗的要求。
【IPC分类】G06F21/56
【公开号】CN104899511
【申请号】CN201510262180
【发明人】晏平, 赵象元, 刘丁源
【申请人】成都中科慧创科技有限公司
【公开日】2015年9月9日
【申请日】2015年5月21日