一种针对勒索软件的处理方法和系统与流程

文档序号:12125602阅读:253来源:国知局
一种针对勒索软件的处理方法和系统与流程

本发明涉及信息安全领域,尤其涉及一种针对勒索软件的处理方法和系统。



背景技术:

勒索软件是黑客用来劫持用户资产或资源并以此为条件向用户勒索钱财的一种恶意软件。勒索软件通常会将用户系统上文档、邮件、数据库、源代码、图片、压缩文件等多种文件进行某种形式的加密操作,使之不可用,或者通过修改系统配置文件、干扰用户正常使用系统的方法使系统的可用性降低,然后通过弹出窗口、对话框或生成文本文件等的方式向用户发出勒索通知,要求用户向指定帐户汇款来获得解密文件的密码或者获得恢复系统正常运行的方法。

目前已知可导致清除勒索软件方法有以下几种:一、通过删除勒索软件文件的方式进行清除;二、通过windows还原系统还原来进行清除;三、通过磁盘过滤驱动原理实现的还原系统(例如还原精灵,还原卡等,还原卡相当于把磁盘过滤的原理以软硬件结合的方式来实现);四、全备份还原系统(例如诺顿的ghost的实现方法)。

由于勒索软件威胁的特殊性,上述这些方法用在清除勒索软件方法都有各种各样的缺点。

通过删除勒索软件文件的方式主要分两种:1、文件特征判断:通过收集已知勒索软件的文件特征,对符合该文件特征的文件判定为勒索软件,然后以删除该文件的方式来清除勒索软件。2、行为特征判断:收集勒索软件的行为特征,然后判定当前正在运行的程序中的行为,是否符合行为特征,是的话,判定为勒索软件,然后通过删除文件的方式进行清除。通过文件特征的方法只能判断出已知的了勒索软件而无法判断出未知的勒索软件,因此也就无法清除未知的勒索软件。通过行为特征判断勒索软件,理论上是可以判断出一部分已知或未知的勒索软件(由于勒索软件可以通过代替性行为来绕过行为判断,因此可以判断出一部分已知或未知的勒索软件),但在实际操作中,误判率太高。例如,所有勒索软件都必定有一个特征,即对磁盘文件进行遍历。但是不能拿这个特征作为完全判断勒索软件的充要条件,因为不仅勒索软件,有很多软件都有遍历磁盘文件的特点,例如杀毒软件,windows系统的文件搜索功能等。因此传统的想要通过删除文件来达到清除勒索软件的方法是需要有高精度的对已知和未知勒索软件的检测技术。哪怕有高精度的检测技术,通过删除文件来清除勒索软件还有如下两个缺点:1、所有恶意软件都会改动注册表数据,来实现自己的各种恶意操作(例如自启动等),如果只是单纯的删除文件,注册表中会留下勒索软件写入的垃圾数据;2、如果勒索软件已经运行(或者注入到一些关键系统进程来运行),强行删除勒索软件文件会产生需要读取原文件而导致的一些进程崩溃的情况,进而导致系统不稳定,甚至蓝屏。

利用windows系统还原来清除勒索软件中,windows系统还原是在不需要重新安装操作系统,也不会破坏数据文件的前提下使系统回到工作状态。在Windows Me就加入了“系统还原”的功能,并且一直在WindowsMe以上的操作系统中使用。“系统还原”可以恢复注册表、本地配置文件、COM+数据库、Windows文件保护(WFP)高速缓存(wfp.dll)、Windows管理工具(WMI)数据库、Microsoft IIS元数据,以及实用程序默认复制到“还原”存档中的文件。在还原的时候不能指定要还原的内容:要么都还原,要么都不还原。若要存储还原点,则在每个已打开系统保护的硬盘上至少需要300兆字节(MB)的可用空间。系统还原可能会占用每个磁盘15%的空间。如果还原点占满了所有空间,系统还原将删除旧的还原点,为新还原点腾出空间。因此利用windows系统还原来清除勒索软件具有以下缺点:一、占用过多的磁盘空间。二、因为windows还原点多数是对可执行文件(dll或exe)进行备份,因此有些不是以这二者形式的存在的文件就会出现不清除的情况。三、创建还原点时算法复杂,运行慢。四、windows系统还原是一个接口,是对所有应用程序开放的。那么就会出现以下情况:勒索软件如果直到是通过windows接口的还原点来进行系统还原的话,完全可以在执行对全磁盘文件进行加密之前先把当前所有备份的还原点清除掉,这样就导致无法还原的情况发生。即使是使用还原点保护技术,只允许自己使用还原点,不允许其它程序使用还原点,但这么设计又会出现兼容性问题。因为此接口是开放的,如果只允许自己使用而拒绝其它应用程序使用的话,那么那些正常的需要使用还原点接口程序就会因此出现异常。

通过磁盘过滤驱动原理实现的还原系统来清除勒索软件中,还原系统原理本质上是对磁盘进行增量备份,具体实施的方法是在磁盘上开辟一个备份存储空间,把当前对磁盘的进行的所有修改数据都写入到备份存储空间里,在需要还原的时候,直接把备份存储空间的数据清除掉即可,此时磁盘就回到了备份存储空间数据被清除之前的状态。通过磁盘过滤驱动原理实现的还原系统来清除勒索软件最大的缺点就是只支持一个还原点,不支持创建多次不同时间的还原点。这样会导致由于还原时清除掉的数据太多,许多有用的数据也因被清除而丢失掉并无法找回的问题。

全备份还原系统(例如诺顿的ghost的实现方法)中还原系统原理本质上是对磁盘进行全备份,具体实施的方法是在对读取欲备份磁盘上的所有文件数据,并把它们组合压缩(也可以不压缩,压缩的话省磁盘空间,但是还原需要的时间长,不压缩的话暂占用的磁盘空间大,但是还原时间短)成一个备份文件,存在存储介质中,在需要还原的时候,只要把这个备份文件展开以后把数据再写回欲还原的盘中即可。与通过磁盘过滤驱动原理实现的还原系统来清除勒索软件的方式相比,全备份还原系统支持多点还原,但同时由于备份的数量太大,因此需要花费大量的时间,还原时同样需要花费大量的时间,并且由于备份数据量大,因此需要大量的存储空间支持。



技术实现要素:

本发明所要解决的技术问题是针对现有技术的不足,提供一种针对勒索软件的处理方法和系统。

本发明解决上述技术问题的技术方案如下:一种针对勒索软件的处理方法,包括:

构建备份数据库,其中,所述备份数据库包括至少一个还原点以及与每个所述还原点对应的还原数据,所述还原数据包括注册表数据和磁盘文件数据;

接收处理请求;

根据所述处理请求从所述备份数据库中选择一个还原点,并调用与所述一个还原点对应的所述磁盘文件数据;

遍历磁盘,根据与所述一个还原点对应的所述磁盘文件数据确定所述磁盘是否有新增的文件;

在所述磁盘中有新增的文件的情况下,对所述新增的文件添加启动时锁定的属性,并根据与所述一个还原点对应的注册表数据对所述磁盘进行还原。

本发明解决上述技术问题的另一种技术方案如下:一种针对勒索软件的处理方法和系统,包括:

备份数据库构建模块,用于构建备份数据库,其中,所述备份数据库包括至少一个还原点以及与每个所述还原点对应的还原数据,所述还原数据包括注册表数据和磁盘文件数据;

接收模块,用于接收处理请求;

调用模块,用于根据所述处理请求从所述备份数据库中选择一个还原点,并调用与所述一个还原点对应的所述磁盘文件数据;

差异比较模块,用于遍历磁盘,根据与所述一个还原点对应的所述磁盘文件数据确定所述磁盘是否有新增的文件;

锁定模块,用于在所述磁盘中有新增的文件的情况下,对所述新增的文件添加启动时锁定的属性;

注册表还原模块,用于在所述磁盘中有新增的文件的情况下,根据与所述一个还原点对应的注册表数据对所述磁盘进行还原。

本发明的有益效果是:本发明采用在备份数据库中记录还原数据的方式,通过还原数据进行比较,判断磁盘中是否有新增的文件,在有新增文件的情况下,说明此时磁盘已经感染到勒索软件,此时对新增的文件进行启动时锁定,并根据还原数据中的注册表数据对磁盘进行还原,本发明结合勒索软件的特殊性,能够缩小勒索软件在所有文件中的判定范围,并有效的对勒索软件进行锁定,防止勒索软件的进一步侵害,同时能够对磁盘进行还原,使磁盘恢复正常。

本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。

附图说明

图1为本发明实施例一的一种可选的针对勒索软件的处理方法流程示意图一;

图2为本发明实施例一的一种可选的针对勒索软件的处理方法流程示意图二;

图3为本发明实施例二的一种可选的针对勒索软件的处理系统结构意图一。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

实施例一

图1为本发明实施例一的一种可选的针对勒索软件的处理方法流程示意图一。

如图1所示,一种针对勒索软件的处理方法,包括:

步骤S100,构建备份数据库,其中,备份数据库包括至少一个还原点以及与每个还原点对应的还原数据,还原数据包括注册表数据和磁盘文件数据。

具体的,还原数据中的注册表数据可以是注册表的关键部分的数据,包括自启动信息部分的数据以及其他有可能被勒索软件更改的注册表数据。

具体的,磁盘文件数据可以是磁盘中所有文件的文件路径的哈希值和文件内容的哈希值。

优选的,如果备份数据库中记录的注册表数据只是注册表中的关键部分的数据以及磁盘中所有文件的文件路径的哈希值和文件内容的哈希值,那么实际上形成的还原数据非常小,通常情况下,每个还原点对应的还原数据都会小于150MB,这样就非常适合进行多点还原操作,假设一天生成一个还原点,连续备份一个月,占用的空间也不会超过4.5G。

具体的,每隔多久生成一个还原点以及备份数据库中最多有多少个还原点,可以根据实际情况进行设置,可以由用户进行选择,需要注意的是,当设置了备份数据库中最多有多少个还原点之后,如果备份数据库中的还原点达到了最大值,新生成的还原点会对备份数据库中最早生成的还原点进行覆盖。

在一种可选的实施例中,如图2所示,假如份数据库中最多能够存储的还原点的个数为7个,如图2的左半部分所示,备份数据库中原本的7个还原点是从2016年5月1日至2016年5月7日每天记录的一个还原点,在2016年5月8日生成新的还原点后,最早记录的还原点也就是2016年5月1日记录的还原点就会被清除掉,2016年5月8日新生成的还原点会记录在备份数据库中,而之前的第一次还原点被2016年5月2日的还原点取代,也就是2016年5月2日记录的还原点成为最早记录的还原点,具体如图2的右半部份所示。

步骤S102,接收处理请求。

具体的,这里的处理请求可以是由勒索软件触发的,也可以是由用户自己发出的处理请求。

步骤S104,根据处理请求从备份数据库中选择一个还原点,并调用与一个还原点对应的磁盘文件数据。

具体的,可以由用户从备份数据库中已经记录的还原点中任意的选择一个还原点。

步骤S106,遍历磁盘,根据与一个还原点对应的磁盘文件数据确定磁盘是否有新增的文件。

具体的,在选择好还原点之后,需要对磁盘进行一次遍历,具体为遍历磁盘中的所有文件,来找出磁盘中是否有新增的文件,如果有,根据勒索软件的特性,说明磁盘受到了勒索软件的感染,新增的文件一定包含勒索软件执行程序。如果磁盘中没有新增的文件,可能包括两种情况,一种是磁盘没有受到勒索软件的感染,另外一种情况是选择的还原点可能是磁盘感染勒索软件后生成的还原点,可以通过重新选取一个还原点直至选取完所有还原点来确定磁盘是否有新增的文件的方式来排除第二种可能性,然后返回步骤S102进行下一次处理。

步骤S108,在磁盘中有新增的文件的情况下,对新增的文件添加启动时锁定的属性,并根据与一个还原点对应的注册表数据对磁盘进行还原。

具体的,可以将新增的文件添加到锁定模块中来实现对新增的文件添加启动时锁定的属性,其中添加的具体位置可以是注册表或锁定模块在启动时可以读取到添加数据的地方,锁定模块主要是以驱动或服务的形式存在,主要实现的功能是在启动时,读取锁定模块中的锁定数据,判断需要锁定哪些文件,然后对这些文件进行锁定操作,这样就保证了勒索软件运行之前,强行锁定了带有勒索软件的新增的文件,由于锁定模块禁止所有不信任的进程对锁定模块中的文件进行操作,因此勒索软件以及其他锁定的文件就无法通过任何方式进行启动;具体的,锁定操作包括锁定文件的打开、读、写入、删除与重命名操作,需要注意的是,锁定模块可以允许其信任的进程对添加到锁定模块中的文件进行操作。

需要注意的是,在根据与一个还原点对应的注册表数据对磁盘进行还原的时机可以是重启之前,也可以是重启之后。

通过上述步骤S100-步骤S108,本发明采用在备份数据库中记录还原数据的方式,通过还原数据进行比较,判断磁盘中是否有新增的文件,在有新增文件的情况下,说明此时磁盘已经感染到勒索软件,此时对新增的文件进行启动时锁定,并根据还原数据中的注册表数据对磁盘进行还原,本发明结合勒索软件的特殊性,能够缩小勒索软件在所有文件中的判定范围,并有效的对勒索软件进行锁定,防止勒索软件的进一步侵害,同时能够对磁盘进行还原,使磁盘恢复正常。

在一个可选的实施例中,磁盘文件数据包括磁盘中所有文件的文件路径的哈希值和文件内容的哈希值;那么根据与一个还原点对应的磁盘文件数据确定磁盘是否有新增的文件的步骤包括:

计算磁盘中所有文件路径的哈希值和文件内容的哈希值。

根据磁盘中所有文件路径的哈希值和文件内容的哈希值以及与一个还原点对应的磁盘文件数据,确定磁盘是否有新增的文件。

在一个可选的实施例中,对新增的文件添加启动时锁定的属性的步骤之后,还包括:将新增的文件移入预设置的威胁文件夹中,并解除新增的文件上添加的启动时锁定的属性。

在一个可选的实施例中,在预设置的清除日志中记录将新增的文件移入预设置的威胁文件夹中的操作。

具体的,可以在清除日志中记录每次移入威胁文件夹中的文件的对映关系,用户可以通过清除日志查看某一次的所移入威胁文件夹的所有文件,由于移入威胁文件夹中不仅包含了勒索软件所形成的新增的文件,同时也能包含了非勒索软件文件,那么就存在误清除的情况,因此,如果用户发现哪些文件是被误清除了,就可以通过清除日志记载的威胁文件的对应关系来恢复认为是误删的文件。如果用户执行了所有误删文件恢复以后,如果觉得文件或文件夹占用了磁盘存储空间,则可以通过删除清除日志中的日志来腾出磁盘空间,流程是,删除清除日志时,根据用户欲删除的日志的内容,找出日志中的文件在威胁文件夹中对应的文件位置,然后先删除这些文件,再把清除日志记录抹除掉。

在一个可选的实施例中,如上述内容,磁盘文件数据包括磁盘中所有文件的文件路径的哈希值和文件内容的哈希值;因此执行遍历磁盘,根据与一个还原点对应的磁盘文件数据确定磁盘是否有新增的文件的步骤的同时还包括:

遍历磁盘,根据与一个还原点对应的磁盘文件数据确定磁盘是否有超过预设数量的文件的文件内容的哈希值发生变化。在所述磁盘是否有超过预设数量的文件的文件内容的哈希值发生变化的情况下,确定所述磁盘受到感染型勒索软件或感染型病毒感染,连接服务器查找并下载能够清除所述感染型勒索软件或感染型病毒的程序。

具体的,磁盘有超过预设数量的文件的文件内容的哈希值发生变化中的文件具体是可执行文件,包括exe、dll等文件,其中,预设数量可以根据实际情况进行设置,本发明对预设数量的具体数值不做限定;如果发现有大量的可执行文件的哈希值发生变化,则磁盘很可能感染了感染型勒索软件或其它感染型病毒,这个时候可以连接到服务器查找是否有可以清除感染型勒索软件或感染型病毒的相应程序,如果有则下载下来,也可以直接把程序放在本地直接启动,运行相应的程序来实现对感染型勒索软件或感染型病毒的清除以修复被感染的可执行文件。如果在服务器上查找不到可以清除感染型勒索软件或感染型病毒的相应程序,说明感染型勒索软件或其它的感染型病毒可能是未知的,可以提醒用户自行处理,例如寻找专门的查杀工具,或者为了保证数据的安全性,拷贝出有用数据后格盘重装系统,通过上述实施例可以实现对感染型勒索软件或病毒的处理。

实施例二

图3为本发明实施例二的一种可选的针对勒索软件的处理系统结构意图一。

结合上述方法,本发明还提出了如图3所示的一种针对勒索软件的处理系统,包括备份数据库构建模块、接收模块、调用模块、差异比较模块、锁定模块和注册表还原模块。

其中,备份数据库构建模块,用于构建备份数据库,其中,备份数据库包括至少一个还原点以及与每个还原点对应的还原数据,还原数据包括注册表数据和磁盘文件数据。

接收模块,用于接收处理请求。

调用模块,用于根据处理请求从备份数据库中选择一个还原点,并调用与一个还原点对应的磁盘文件数据。

差异比较模块,用于遍历磁盘,根据与一个还原点对应的磁盘文件数据确定磁盘是否有新增的文件。

锁定模块,用于在磁盘中有新增的文件的情况下,对新增的文件添加启动时锁定的属性。

注册表还原模块,用于在磁盘中有新增的文件的情况下,根据与一个还原点对应的注册表数据对磁盘进行还原。

在一种可选的实施例中,磁盘文件数据包括磁盘中所有文件的文件路径的哈希值和文件内容的哈希值;差异比较模块包括计算模块和第一确定模块。

其中,计算模块,用于计算磁盘中所有文件路径的哈希值和文件内容的哈希值;

第一确定模块,用于根据磁盘中所有文件路径的哈希值和文件内容的哈希值以及与一个还原点对应的磁盘文件数据,确定磁盘是否有新增的文件。

在一种可选的实施例中,系统还包括清除模块,与锁定模块连接,用于将新增的文件移入预设置的威胁文件夹中,并解除新增的文件上添加的启动时锁定的属性。

具体的,清除模块为锁定模块可信任的进程,可以读取以及转移锁定模块中的所有文件。

在一种可选的实施例中,系统包括日志模块,与清除模块连接,用于在预设置的清除日志中记录将新增的文件移入预设置的威胁文件夹中的操作。

在一种可选的实施例中,磁盘文件数据包括磁盘中所有文件的文件路径的哈希值和文件内容的哈希值;差异比较模块还包括第二确定模块和文件还原模块。

其中,第二确定模块,用于遍历磁盘,根据与一个还原点对应的磁盘文件数据确定磁盘是否有超过预设数量的文件的文件内容的哈希值发生变化;

文件还原模块,用于在所述磁盘是否有超过预设数量的文件的文件内容的哈希值发生变化的情况下,确定所述磁盘受到感染型勒索软件或感染型病毒感染,连接服务器查找并下载能够清除所述感染型勒索软件或感染型病毒的程序。

在本说明书的描述中,参考术语“实施例一”、“实施例二”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体方法、装置或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、方法、装置或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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