一种软件的检测方法、装置、设备及介质与流程

文档序号:16630128发布日期:2019-01-16 06:29阅读:191来源:国知局
一种软件的检测方法、装置、设备及介质与流程

本发明涉及计算机技术领域,特别是涉及一种软件的检测方法、装置、设备及介质。



背景技术:

勒索软件属于当前较为流行一种的恶意软件类型,其通过对计算机系统下用户文件进行加密等方式,使用户数据资产或计算资源无法正常使用,并以此为条件向用户勒索钱财。这类用户数据资产包括文档、邮件、数据库、源代码、图片、压缩文件等多种文件。

当前对勒索软件进行检测所普遍使用的方式,是在计算机系统工作环境下的指定目录中自动生成一些具有特定文件后缀的文件,作为诱饵文件,并通过监控目标软件是否对该诱饵文件进行加密操作,以判定目标软件是否为勒索软件,但是由于无法预知勒索软件将对哪一目录中的文件进行加密,因此当诱饵文件设置不当时,不但无法有效的检测到勒索软件,还可能造成计算机系统中的正常的文件被勒索软件加密,难以保证计算机系统的安全性,另外,仅根据目标软件的加密操作这一项依据判定目标软件是否为勒索软件,也极易造成误判。

由此可见,提供一种软件的检测方法,以在确保计算机系统安全性的同时,相对提高检测的准确性,是本领域技术人员亟待解决的问题。



技术实现要素:

本发明的目的是提供一种软件的检测方法、装置、设备及介质,以在确保计算机系统安全性的同时,相对提高检测的准确性。

为解决上述技术问题,本发明提供软件的检测方法,包括:

获取记录有属于勒索软件的各行为特征的特征集合;

将目标软件传输至沙箱,并在沙箱中运行目标软件;

监控并判断目标软件的操作行为是否与特征集合中预设数量的行为特征相匹配;

如果是,则判定目标软件为勒索软件。

优选的,特征集合中的行为特征的具体操作内容包括:

通过getdrivetype系统函数获取磁盘目录,遍历磁盘目录下的原始文件,并对原始文件进行加密。

优选的,特征集合中的行为特征的具体操作内容包括:

对网络资源进行枚举操作,获取网络中的共享目录并对共享目录中的共享文件进行加密。

优选的,特征集合中的行为特征的具体操作内容包括:

通过调用cmd.exe程序删除磁盘卷影,并禁止磁盘自动恢复机制执行。

优选的,特征集合中的行为特征的具体操作内容包括:

通过调用createfile系统函数修改mbr扇区中的数据内容。

优选的,特征集合中的行为特征的具体操作内容包括:

基于tcp协议的455端口向内网中的设备传输可执行程序,并调用shellexecute系统函数运行可执行程序。

优选的,特征集合中的行为特征的具体操作内容包括:

调用copyfile系统函数将自身复制至目标磁盘目录下,并将目标磁盘目录在注册表中注册为自启动项。

优选的,特征集合中的行为特征的具体操作内容包括:

提升操作权限,并关闭安全软件中与目标软件相关的分析进程。

此外,本发明还提供一种软件的检测装置,包括:

集合获取模块,用于获取记录有属于勒索软件的各行为特征的特征集合;

运行模块,用于将目标软件传输至沙箱,并在沙箱中运行目标软件;

监控判断模块,用于监控并判断目标软件的操作行为是否与特征集合中预设数量的行为特征相匹配,如果是,则调用判定模块;

判定模块,用于判定目标软件为勒索软件。

此外,本发明还提供一种软件的检测设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现如上述的软件的检测方法的步骤。

此外,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的软件的检测方法的步骤。

本发明所提供的软件的检测方法,在获取记录有勒索软件的多个行为特征的特征集合后,将目标软件上传至沙箱,以在沙箱中运行目标软件,将特征集合作为判定目标软件是否为勒索软件的依据,监控目标软件的操作行为,当目标软件的操作行为与特征集合中预设数量的行为特征相匹配时,判定目标软件为勒索软件。由于沙箱是一个建立在计算机系统基础上的独立的虚拟作业环境,并且在其内部运行的程序并不会对计算机系统本身造成影响,因此将目标软件上传至沙箱后,即使目标软件为勒索软件,也不会对计算机系统本身的文件造成威胁,保证了计算机系统整体的安全性,另外,本方法以多个行为特征共同作为判定勒索软件的依据,相比于仅以某一项行为特征作为依据判定勒索软件而言,具有相对更高的可靠性。此外,本发明还提供一种软件的检测装置、设备及介质,有益效果同上所述。

附图说明

为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种软件的检测方法的流程图;

图2为本发明提供的一种具体的软件的检测方法的工作流程示意图;

图3为本发明实施例提供的一种软件的检测装置的结构图;

图4为本发明实施例提供的一种软件的检测设备的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。

本发明的核心是提供一种软件的检测方法,以在确保计算机系统安全性的同时,相对提高检测的准确性。本发明的另一核心是提供一种软件的检测装置、设备及介质。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

实施例一

图1为本发明实施例提供的一种软件的检测方法的流程图。请参考图1,软件的检测方法的具体步骤包括:

步骤s10:获取记录有属于勒索软件的各行为特征的特征集合。

需要说明的是,本步骤中所指的特征集合中记录有勒索软件经常会执行的各种行为特征,并且需要强调的是,本步骤中的特征集合中的行为特征不仅限于一个。

步骤s11:将目标软件传输至沙箱,并在沙箱中运行目标软件。

需要说明的是,沙箱是基于虚拟化的技术产生的虚拟的系统环境,在这个环境里运行的程序都是独立的,关闭沙箱后在沙箱内进行的所有操作都会还原,不会对沙箱所处的计算机系统造成影响,因此在本步骤中采用沙箱运行可能存在风险的目标软件。

另外,本步骤中的目标软件可以为通过云查杀或静态代码扫描无法得知具体性质的可疑软件;本步骤中的沙箱可以具体为在互联网运算设备中运行的云沙箱,以此充分利用云计算的运算能力,相对降低本地设备的工作压力。

步骤s12:监控并判断目标软件的操作行为是否与特征集合中预设数量的行为特征相匹配,如果是,则执行步骤s13。

步骤s13:判定目标软件为勒索软件。

可以理解的是,上述步骤是在沙箱中对目标软件的运行过程进行监控,以此获取目标软件在运行过程中的一系列操作行为,进而将操作行为与特征集合中的行为特征进行匹配,如果目标软件的操作行为与特征集合中的行为特征的匹配项数达到预设数量时,则判定目标软件为勒索软件。另外,此处的预设数量可以具体为1或小于等于特征集合的项数的任意值,具体取值应根据检测所需的精确程度而定,在此不做具体限定。

在本实施方式的基础上,当判定目标软件为勒索软件后,还可以进一步对目标软件进行特征提取,并将后续的具有该特征值的目标软件均界定为勒索软件,此处不对特征提取所采取的技术手段进行具体限定,如将目标软件的源代码提取生成为相应的hash值,并将该hash值进行记录,在对后续的目标软件进行检测前,可以先对该目标软件的源代码进行hash值的提取,如果所提取的hash值与预先记录的hash值相同,则可以直接界定后续测试的目标软件为勒索软件。

本发明所提供的软件的检测方法,在获取记录有勒索软件的多个行为特征的特征集合后,将目标软件上传至沙箱,以在沙箱中运行目标软件,将特征集合作为判定目标软件是否为勒索软件的依据,监控目标软件的操作行为,当目标软件的操作行为与特征集合中预设数量的行为特征相匹配时,判定目标软件为勒索软件。由于沙箱是一个建立在计算机系统基础上的独立的虚拟作业环境,并且在其内部运行的程序并不会对计算机系统本身造成影响,因此将目标软件上传至沙箱后,即使目标软件为勒索软件,也不会对计算机系统本身的文件造成威胁,保证了计算机系统整体的安全性,另外,本方法以多个行为特征共同作为判定勒索软件的依据,相比于仅以某一项行为特征作为依据判定勒索软件而言,具有相对更高的可靠性。

实施例二

为了便于对上述实施例一的理解,下面提供一种本方案在实际场景下的实施例:

用户将通过云查杀或静态扫描无法得知扫描结果的未知可疑样本标记为目标软件,当在用户主机上运行目标软件时,需要把目标软件先上传到云沙箱进行行为特征的判定,具体判定的内容是先获取记录有属于勒索软件各行为特征的特征集合,对目标软件的工作内容进行监控,进而判断目标软件的操作行为是否与特征集合中预设数量的行为特征相匹配,如果是,则判定目标软件为勒索软件,进而提示用户并及时清除,如果不是勒索软件,则不作处理。

实施例三

在上述实施例的基础上,本发明还提供以下一系列优选的实施方式。

作为一种优选的实施方式,特征集合中的行为特征的具体操作内容包括:

通过getdrivetype系统函数获取磁盘目录,遍历磁盘目录下的原始文件,并对原始文件进行加密。

需要说明的是,由于勒索软件可能会通过遍历磁盘目录,进而对某一磁盘目录下的文件进行检索,并查找符合条件的原始文件以进行修改加密操作。在具体执行时,勒索软件往往会通过getdrivetype系统函数遍历磁盘目录,然后再通过findfirstfile和findnextfile等函数遍历相应的磁盘目录下的原始文件,最终执行createfile和writefile等操作对相应的原始文件进行加密操作,因此在本实施方式中,当目标软件调用getdrivetype系统函数,以及在后续调用findfirstfile、findnextfile、createfile和writefile等函数时,可以界定目标软件疑似为勒索软件。对于getdrivetype系统函数以及getdrivetype系统函数下的一系列函数是本领域技术人员所知的技术内容,在此不做赘述。另外,勒索软件在对原始文件进行加密后,可能会通过重启当前的计算机系统以对原始文件的加密生效,因此本实施方式中的行为特征,可以进一步通过shellexecutew系统函数调用cmd.exe程序执行“/cshutdown-r-t1–f”指令进行关机操作,或通过exitwindowsex系统函数以重启主机。

此外,作为一种优选的实施方式,特征集合中的行为特征的具体操作内容包括:

对网络资源进行枚举操作,获取网络中的共享目录并对共享目录中的共享文件进行加密。

需要说明的是,由于勒索软件往往也可能通过wnetopenenumw函数、wnetenumresourcew函数或wnetcloseenum函数等,枚举网络中共享文件夹下的文件,然后通过createfile/writefile等函数加密共享目录文件夹下的文件,因此在本实施方式中,特征集合中的行为特征包括,目标软件对网络资源进行枚举操作,获取网络中的共享目录并对共享目录中的共享文件进行加密。另外,由于勒索软件在对原始文件进行加密后,可能会通过重启当前的计算机系统以使对共享文件夹下文件的加密生效,因此本实施方式中的行为特征,可以进一步包括目标软件通过shellexecutew系统函数调用cmd.exe程序执行“/cshutdown-r-t1–f”指令进行关机操作,或通过exitwindowsex系统函数以重启主机。

此外,作为一种优选的实施方式,特征集合中的行为特征的具体操作内容包括:

通过调用cmd.exe程序删除磁盘卷影,并禁止磁盘自动恢复机制执行。

需要说明的是,磁盘卷影即磁盘的卷影副本,是对计算机系统中文件的备份,当计算机系统出现故障时能够通过磁盘卷影恢复计算机系统至正常的文件状态。勒索软件往往也可能通过删除磁盘卷影,防止用户通过数据恢复的方法还原文件。因此本实施方式中的行为特征包括,目标软件通过调试系统cmd.exe程序执行“cmd.exe/cvssadmindeleteshadows/all/quiet”指令删除磁盘卷影,同时还会执行如下一些操作:“cmd.exe/cwbadmindeletesystemstatebackup-keepversions:0”;

“cmd.exe/cwmicshadowcopydelete”;

“cmd.exe/cbcdedit/set{default}recoveryenabledno”;

“cmd.exe/cbcdedit/set{default}bootstatuspolicyignoreallfailures”以禁止磁盘自动恢复机制执行。

此外,作为一种优选的实施方式,特征集合中的行为特征的具体操作内容包括:

通过调用createfile系统函数修改mbr扇区中的数据内容。

需要说明的是,勒索软件可能会通过createfile系统函数读取\\\\.\\physicaldrive0,进而打开磁盘的mbr扇区的操作句柄,然后通过deviceiocontrol系统函数锁定磁盘的mbr扇区,然后通过writefile系统函数将恶意信息写入到mbr扇区中,修改mbr扇区的内容,导致系统无法正常启动。因此本实施方式中的特征行为包括,目标软件通过调用createfile系统函数修改mbr扇区中的数据内容。

此外,作为一种优选的实施方式,特征集合中的行为特征的具体操作内容包括:

基于tcp协议的455端口向内网中的设备传输可执行程序,并调用shellexecute系统函数运行可执行程序。

需要说明的是,勒索软件为了扩大感染面,会使用一些已知的系统漏洞进行内网攻击,从而感染内网中的其它主机系统。例如勒索软件会利用之前公开的永恒之蓝漏洞利用工具包,进行内网攻击,感染内网中的其它主机系统,主要通过tcp协议的445端口进行内网渗透,释放相应的永恒之蓝工具包文件到主机中,然后利用shellexecute系统函数运行cmd.exe,并执行“/ccd/dc:\\users\\alluse~1\\&blue.exe–targetip”指令以及“star.exe--outconfiga--targetport445--protocolsmb--architecturex64–functionrundll--dllpayloaddown64.dll–targetip”进行内网攻击,感染其它主机系统。因此本实施方式中的特征行为包括,目标软件基于tcp协议的455端口向内网中的设备传输可执行程序,并调用shellexecute系统函数运行可执行程序。本实施方式中所指的可执行程序不仅限于永恒之蓝程序,在此不做限定。

此外,作为一种优选的实施方式,特征集合中的行为特征的具体操作内容包括:

调用copyfile系统函数将自身复制至目标磁盘目录下,并将目标磁盘目录在注册表中注册为自启动项。

需要说明的是,勒索软件往往会通过copyfile等系统函数拷贝自身到相应的目标磁盘目录下,一般相应的目标磁盘目录如下:

“%windir%\system32”;

“%appdata%”;

“%sh(startup)%”;

“%sh(commonstartup)%”。

勒索软件拷贝自身到这些目录下之后,会设置如下自启动注册表项:

“hkey_local_machine\software\microsoft\windows\currentversion\run”;

“hkey_local_machine\software\microsoft\windows\currentversion\runonce”。以此将目标磁盘目录在注册表中注册为自启动项。

因此本实施方式中的特征行为包括,目标软件调用copyfile系统函数将自身复制至目标磁盘目录下,并将目标磁盘目录在注册表中注册为自启动项。

在上述实施方式的基础上,作为一种优选的实施方式,特征集合中的行为特征的具体操作内容包括:

提升操作权限,并关闭安全软件中与目标软件相关的分析进程。

需要说明的是,勒索软件往往会通过“adjusttokenprivileges”、“openprocesstoken”以及“lookupprivilegevalue”系统函数进行进程提权,然后通过“createtoolhelp32snapshot”、“process32first”以及“process32next”系统函数遍历相关的安全软件的分析进程,结束与自身相关的分析进程,以防止安全软件对勒索软件的运行造成威胁。因此本实施方式中的特征行为包括,目标软件提升自身的操作权限,并关闭安全软件中与目标软件相关的分析进程。

图2为本发明提供的一种具体的软件的检测方法的工作流程示意图。如图2所示,本发明的一种具体的软件的检测方法的工作流程,首先向系统提交基于云查杀或静态特征库检测后的未知可疑样本,进而通过包括:遍历磁盘文件、删除磁盘卷影行为、修改加密磁盘mbr、利用系统漏洞(445)端口进行扫描的行为、自我复制添加启动项及持久化操作行为、遍历共享目录文件夹下文件并进行加密、进行提权操作并结束相应的安全软件的行为、软件运行完成后进行重启的行为的一系列操作行为,对未知可以样本进行操作行为的聚类匹配判定,如果匹配以上行为特征一项或多项,则判定为勒索软件。

实施例四

在上文中对于软件的检测方法的实施例进行了详细的描述,本发明还提供一种与该方法对应的软件的检测装置,由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

图3为本发明实施例提供的一种软件的检测装置的结构图。本发明实施例提供的软件的检测装置,包括:

集合获取模块10,用于获取记录有属于勒索软件的各行为特征的特征集合。

运行模块11,用于将目标软件传输至沙箱,并在沙箱中运行目标软件。

监控判断模块12,用于监控并判断目标软件的操作行为是否与特征集合中预设数量的行为特征相匹配,如果是,则调用判定模块13。

判定模块13,用于判定目标软件为勒索软件。

本发明所提供的软件的检测装置,在获取记录有勒索软件的多个行为特征的特征集合后,将目标软件上传至沙箱,以在沙箱中运行目标软件,将特征集合作为判定目标软件是否为勒索软件的依据,监控目标软件的操作行为,当目标软件的操作行为与特征集合中预设数量的行为特征相匹配时,判定目标软件为勒索软件。由于沙箱是一个建立在计算机系统基础上的独立的虚拟作业环境,并且在其内部运行的程序并不会对计算机系统本身造成影响,因此将目标软件上传至沙箱后,即使目标软件为勒索软件,也不会对计算机系统本身的文件造成威胁,保证了计算机系统整体的安全性,另外,本装置以多个行为特征共同作为判定勒索软件的依据,相比于仅以某一项行为特征作为依据判定勒索软件而言,具有相对更高的可靠性。

实施例五

本发明还提供一种软件的检测设备。图4为本发明实施例提供的一种软件的检测设备的结构图。

如图4所示,本发明所提供的软件的检测设备,包括:

存储器20,用于存储计算机程序;

处理器21,用于执行计算机程序时实现如上述的软件的检测方法的步骤。

本发明所提供的软件的检测设备,在获取记录有勒索软件的多个行为特征的特征集合后,将目标软件上传至沙箱,以在沙箱中运行目标软件,将特征集合作为判定目标软件是否为勒索软件的依据,监控目标软件的操作行为,当目标软件的操作行为与特征集合中预设数量的行为特征相匹配时,判定目标软件为勒索软件。由于沙箱是一个建立在计算机系统基础上的独立的虚拟作业环境,并且在其内部运行的程序并不会对计算机系统本身造成影响,因此将目标软件上传至沙箱后,即使目标软件为勒索软件,也不会对计算机系统本身的文件造成威胁,保证了计算机系统整体的安全性,另外,本设备以多个行为特征共同作为判定勒索软件的依据,相比于仅以某一项行为特征作为依据判定勒索软件而言,具有相对更高的可靠性。

下面是软件的检测设备的工作原理实施例:

用户在接通电源后,通过指令运行软件的检测设备,设备的存储器中存储有计算机程序,计算机程序的主要执行逻辑是:接收用户所传入的,通过云查杀或静态扫描无法得知扫描结果的未知可疑样本,并标记为目标软件,当判定用户在主机上运行目标软件时,将目标软件先上传到云沙箱进行行为特征的判定,具体判定的内容是先获取记录有属于勒索软件各行为特征的特征集合,对目标软件的工作内容进行监控,进而判断目标软件的操作行为是否与特征集合中预设数量的行为特征相匹配,如果是,则判定目标软件为勒索软件,进而提示用户并及时清除,如果不是勒索软件,则不作处理。设备的处理器通用调用并执行上述计算机程度,实现了对软件安全性的检测。

实施例六

此外,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的软件的检测方法的步骤。

本发明所提供的计算机可读存储介质,在获取记录有勒索软件的多个行为特征的特征集合后,将目标软件上传至沙箱,以在沙箱中运行目标软件,将特征集合作为判定目标软件是否为勒索软件的依据,监控目标软件的操作行为,当目标软件的操作行为与特征集合中预设数量的行为特征相匹配时,判定目标软件为勒索软件。由于沙箱是一个建立在计算机系统基础上的独立的虚拟作业环境,并且在其内部运行的程序并不会对计算机系统本身造成影响,因此将目标软件上传至沙箱后,即使目标软件为勒索软件,也不会对计算机系统本身的文件造成威胁,保证了计算机系统整体的安全性,另外,本计算机可读存储介质以多个行为特征共同作为判定勒索软件的依据,相比于仅以某一项行为特征作为依据判定勒索软件而言,具有相对更高的可靠性。

以上对本发明所提供的一种软件的检测方法、装置、设备及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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