一种基于文件请求监控的勒索软件实时检测与防御方法与流程

文档序号:13422370阅读:230来源:国知局

本发明涉及系统安全技术领域,尤其涉及一种基于文件请求监控的勒索软件实时检测与防御方法。



背景技术:

勒索软件是一类借助社会工程学手段或者网络蠕虫感染的方式进行传播的,在被入侵主机进行文件加密、原文件删除等破坏性行为的新型恶意代码。在用户文件被加密后,勒索软件会索要高额赎金,在受害者利用tor网络等方式支付比特币赎金后,方可恢复其主机内重要数据。

在勒索软件肆虐的同时,相应的安全防护手段大都还停留在文件备份、特征码杀毒等被动防御方式。主机用户对于其工作文档,往往很难做到及时、充分地备份;而特征码匹配方法,依赖于维护和更新病毒特征库,随着大量勒索软件变种的出现,其滞后性不言而喻。其他的检测方法,如基于虚拟化沙箱的动态分析,很难直接运用于被保护主机之中,其检测效果具有一定的非实时性;而其他应用于主机内部的软件行为分析机制,尽管具备一定的恶意代码检测能力,但在监控方法与监控特征的设计和选取上,仍不够完善,且往往忽视了对遭到破坏的文件的恢复问题。



技术实现要素:

为了解决以上技术问题,本发明提出了一种基于文件请求监控的勒索软件实时检测与防御方法。通过基于文件请求监控的恶意代码检测,可以有效、快速地识别在主机中运行的勒索病毒/勒索软件,同时极小化恶意代码对于主机文件的破坏,显著提升服务器主机系统的抗勒索能力.

本发明提出了一种基于文件请求监控的勒索软件实时检测与防御方法,在用户主机中监控被测程序是否有对于用户文件的操作行为,如有,则将该文件镜像至受保护存储区域,在该区域实施对于文件的操作,并记录完整的操作信息。进一步,结合基于文件内容和操作行为分析的可疑性度量机制,判断程序是否为勒索软件。如果是,则删除受保护区中的文件并清除程序;若不是恶意软件,则根据受保护区中的文件进行文件的更新与同步,保证数据与正常情况下的一致性。通过上述流程,可以有效地检测出恶意的勒索软件,极小化恶意代码对用户数据的损害,最终达到提升服务器主机系统本身安全性和防御能力的目标。

本发明实时性地在用户主机中,监控被测程序是否有对于用户文件的操作行为(如写操作write,删除操作delete),如有,则将原文件设置为只读,并把该文件复制至受保护存储区,在该区域实施对于文件的操作,并记录完整的操作信息。进一步,结合基于文件内容和操作行为分析的可疑性度量机制,判断程序是否为勒索软件。也就是说,可疑性度量考虑两个方面,分别是文件内容特征,包括1)数据块二进制香农熵,2)文件内容覆盖,3)文件删除操作;以及文件操作行为特征,包括1)目录遍历行为,2)文件类型转换,3)访问频率。可疑性度量的结果为该程序的可疑度评分,如果评分高于预设的门限值,则将程序挂起,通过可交互界面向用户报警。如果用户判决程序是是勒索软件,则删除受保护区中的文件并清除所测程序;若不是恶意软件,则根据受保护区中的文件进行原文件的更新与同步,保证数据与正常情况下的一致性。

通过监控文件系统的i/o请求完成对勒索软件的防范,本发明保证了操作系统的轻量级修改。借助受保护存储区机制,以及基于文件内容和操作行为分析的可疑性度量方法,保证在受到攻击时用户文件的可恢复效果以及合法软件情况下文件读写状态的正确性,从而高效、实时地对未知勒索软件进行检测和防御。

具体步骤为:

步骤1:在时刻t,被测程序a发送请求r,请求对文件f进行写或者删除访问。系统服务管理模块接收到该请求r,检查程序是否有写或删除访问文件f的权限,并检查文件f是否存在于相应的目录路径中;如果没有权限或路径不存在,则提示错误信息;如果权限满足且路径正常,则系统服务管理模块调用内核监控模块,从而开启监控;

步骤2:将原文件设置为只读,并将文件镜像至受保护区域,此时文件称之为镜像文件;内核监控模块将拦截的请求r重定向至受保护存储区,并在镜像文件上进行写或者删除操作;

步骤3:在每次文件操作完成后,受保护区域保存操作的信息,如写操作的偏移量和数据字节长度,文件名称、类型,文件所在路径;

步骤4:根据文件操作的信息,分析模块不断更新并确定被测程序的可疑性评分,并将可疑性度量的结果与预设的门限值a进行比较;

步骤(4)进一步包括以下步骤

步骤(4.1):分析数据块二进制香农熵的变化,属于文件内容特征监控;发明监控程序进行写操作前后,文件被修改部分数据块熵的变化r1,该值由数据块写操作后和写操作前的二进制香农熵进行相减得到;因此,r1的值介于0和1之间,更接近1的r1值意味着写操作中存在着更高的熵值;如果写操作后的熵值低于写操作前的熵值,则设置r1=0;

步骤(4.2):同时,分析文件内容覆盖的情况,属于文件内容特征监控;监控所测程序访问主机文件前后,文件被修改的程度;记文件f的大小为df,yf是程序修改数据块的总长度,则文件内容覆盖率r2=yf/df;

步骤(4.3):同时,分析文件被删除的情况,属于文件内容特征监控;如果所测程序的i/o请求是对某一用户文件进行删除,则设置文件删除状态值r3为1,否则r3保持为0;

步骤(4.4):同时,分析程序的遍历目录行为,属于文件操作行为特征监控;监控所测程序是否使用写权限访问统一目录下数个文件;设一个路径下文件夹共计文件数量为ni,程序使用写权限请求访问的不同文件数量为di;则r4=ni/di,r4的取值也介于0和1之间;

步骤(4.5):同时,分析程序文件类型转换的情况,属于文件操作行为特征监控;监控程序的i/o活动中是否申请了不同文件类型的文件写请求;如果所测程序申请了不同类型的文件写请求,则将程序所对应的跨文件类型申请状态值r5设为1,否则r5保持为0;

步骤(4.6):同时,分析程序访问文件频率的情况,属于文件操作行为特征监控;监控所测程序对两个不同的用户文件进行写访问的时间间隔q,则程序访问文件的频率r6为1/q;

步骤(4.7):根据步骤(4.1)至(4.6)的监控结果,可以得到所测程序在t时刻的整体可疑性评分m,m的计算方式为:

其中wi都是预设的权重值,不失一般性的,可以设置w1=0.92,w2=0.98,w3=0.63,w4=1,w5=0.71,w6=0.96;

步骤(5):根据计算得到的可疑性评分m进行响应;如果可疑性程度高于门限值a,则挂起被测程序,并发送预警提示信息至用户界面,由用户最终决定被测程序的恶意与否;如果用户认为程序为勒索程序,则程序a将被终止并删除,同时受保护区域中的镜像文件将被清理;门限值a设置为0.15;

步骤(6):在用户认为程序是合法程序的情况下,或者当被测程序对n个文件进行操作后,其可疑性评分仍低于门限值的情况下,将认定程序为合法程序;设置n=6;此时,恢复原文件的读写状态,并根据受保护区中的镜像文件,进行原文件内容的更新与同步,保证所得数据与正常情况下的一致性。

本发明的有益效果是

仅通过监控文件系统的i/o请求完成对勒索软件的防范,实现了防护方案在主机中的轻量级部署,减少了对于用户操作系统可能的修改。借助受保护存储区机制,以及基于文件内容和操作行为分析的可疑性度量方法,保证在受到攻击时用户文件的可恢复效果,以及合法软件文件读写状态的正确性,从而高效、实时地对未知勒索软件进行检测和防御,极小化恶意代码对于主机文件的破坏,显著提升服务器主机系统的抗勒索能力和安全性。

附图说明

图1是本发明的工作示意图。

具体实施方式

下面对本发明的内容进行更加详细的阐述:

一种基于文件请求监控的勒索软件实时检测与防御方法实现过程示意图如附图1所示。其中虚线框内为发明包含的各个组成模块。一个轻量级的监控模块存在于内核空间,该模块会结合系统服务管理模块,拦截并重定向被测程序的输入/输出请求包(irp),记录对于文件的写或者删除操作,并在受保护区域中管理和执行这些文件操作。此外,发明在用户空间存在守护进程,分别称之为分析模块和预警模块,其中分析模块计算被测程序的可疑性评分,而预警模块用以向用户提示可能存在的恶意勒索软件。

本发明实时性地在用户主机中,通过内核监控模块排查被测程序是否有对于用户文件的操作行为(如写操作write,删除操作delete),如有,则将原文件设置为只读,并把该文件镜像至受保护存储区,在该区域实施对于文件的操作,并保存完整的操作信息。进一步,分析模块使用基于文件内容和操作行为分析的可疑性度量机制,判断程序是否为勒索软件。可疑性度量考虑两个方面,分别是文件内容特征,包括1)数据块二进制香农熵,2)文件内容覆盖,3)文件删除操作;以及文件操作行为特征,包括1)目录遍历行为,2)文件类型转换,3)访问频率。可疑性度量的结果是该程序的可疑度评分,如果评分高于预设的门限值,则程序将被挂起,预警模块通过可交互界面向用户报警。如果用户认为程序是勒索软件,则删除受保护区中的文件并清除程序;若不是恶意软件,则根据受保护区中的文件进行原文件的更新与同步,保证数据与正常情况下的一致性。

如图1所示,上述检测方法的具体实施过程如下:

步骤1:在时刻t,被测程序a发送请求r,请求对文件f进行写或者删除访问。系统服务管理模块接收到该请求r,检查程序是否有写或删除访问文件f的权限,并检查文件f是否存在于相应的目录路径中。如果没有权限或路径不存在,则提示错误信息;如果权限满足且路径正常,则系统服务管理模块调用内核监控模块,从而开启监控。

步骤2:将原文件设置为只读,并将文件镜像至受保护区域,此时文件称之为镜像文件。内核监控模块将拦截的请求r重定向至受保护存储区,并在镜像文件上进行写或者删除操作。不失一般性地,将受保护存储区的大小设置为1gb。

步骤3:在每次文件操作完成后,受保护区域保存操作的信息,如写操作的偏移量和数据字节长度,文件名称、类型,文件所在路径。

步骤4:根据文件操作的信息,分析模块不断更新并确定被测程序的可疑性评分,并将可疑性度量的结果与预设的门限值a进行比较。步骤4进一步包括以下步骤:

步骤(4.1):分析数据块二进制香农熵的变化,属于文件内容特征监控。发明监控程序进行写操作前后,文件被修改部分数据块熵的变化r1,该值由数据块写操作后和写操作前的二进制香农熵进行相减得到。因此,r1的值介于0和1之间,更接近1的r1值意味着写操作中存在着更高的熵值。如果写操作后的熵值低于写操作前的熵值,则设置r1=0。

步骤(4.2):同时,分析文件内容覆盖的情况,属于文件内容特征监控。监控所测程序访问主机文件前后,文件被修改的程度。记文件f的大小为df,yf是程序修改数据块的总长度,则文件内容覆盖率r2=yf/df。因此,对于覆盖了文件大部分数据的程序,相应得到的r2的值将会更高。

步骤(4.3):同时,分析文件被删除的情况,属于文件内容特征监控。如果所测程序的i/o请求是对某一用户文件进行删除,则设置文件删除状态值r3为1,否则r3保持为0。

步骤(4.4):同时,分析程序的遍历目录行为,属于文件操作行为特征监控。监控所测程序是否使用写权限访问统一目录下多个文件。记某一路径下文件夹共计文件数量为ni,程序使用写权限请求访问的不同文件数量为di。则r4=ni/di,r4的取值也介于0和1之间。

步骤(4.5):同时,分析程序文件类型转换的情况,属于文件操作行为特征监控。监控程序的i/o活动中是否申请了不同文件类型的文件写请求。例如,docx和pdf文件属于两类不同的文件类型。如果所测程序申请了不同类型的文件写请求,则将程序所对应的跨文件类型申请状态值r5设为1,否则r5保持为0。

步骤(4.6):同时,分析程序访问文件频率的情况,属于文件操作行为特征监控。监控所测程序对两个不同的用户文件进行写访问的时间间隔q,则程序访问文件的频率r6为1/q。

步骤(4.7):根据步骤(4.1)至(4.6)的监控结果,可以得到所测程序在t时刻的整体可疑性评分m,m的计算方式为:

其中wi都是预设的权重值,不失一般性的,可以设置w1=0.92,w2=0.98,w3=0.63,w4=1,w5=0.71,w6=0.96。

步骤5:根据计算得到的可疑性评分m进行响应。如果可疑性程度高于门限值a,则挂起被测程序,并发送预警提示信息至用户界面,由用户最终决定被测程序的恶意与否。如果用户认为程序为勒索程序,则程序a将被终止并删除,同时受保护区域中的镜像文件将被清理。不失一般性地,门限值a设置为0.15。

步骤6:在用户认为程序是合法程序的情况下,或者当被测程序对n个文件进行操作后,其可疑性评分仍低于门限值的情况下,本方案将认定程序为合法程序。不失一般性地,可设置n=6。此时,恢复原文件的读写状态,并根据受保护区中的镜像文件,进行原文件内容的更新与同步,保证所得数据与正常情况下的一致性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1