掌桥专利:专业的专利平台
掌桥专利
首页

数据保护方法、系统、设备及存储介质

文献发布时间:2024-01-17 01:26:37


数据保护方法、系统、设备及存储介质

技术领域

本发明涉及数据处理领域,尤其涉及一种数据保护方法、系统、设备及存储介质。

背景技术

随着互联网信息技术的迅速发展,一方面带来了便捷、高效的办公流程和业务模式,一方面也引发了安全性问题。勒索软件是指将用户的数据用对称和(或)非对称加密算法进行加密。勒索软件加密用户数据的方法有非常多种,比如最简单常用的方法是读取文件,然后加密所读取到的数据,然后将加密的数据写入源文件中,最后改文件名为特殊的扩展名;另外还可以将加密后的数据做BASE64编码后再写入源文件然后改名;另外还可以先改名后做加密;也还可以用mmap(Linux)或MapViewOfFile(Windows)来将文件映射成虚拟内存,加密映射出来的虚拟内存实现文件的加密;还可以只加密文件的部份关键区域达到用户无法使用的目的;也可以不用改原文件的名字,另外创建一个文件来标识或记录;也可以不修改源文件,将加密后的数据写入新文件;甚至可以将多个文件加密到一个文件中;甚至可以只随机的加密部份文件。

因为勒索软件加密用户数据的方法有很多种,很难做到100%的识别和拦截勒索软件加密用户数据,一但发生识别和拦截失败,会导致重要文件无法读取,关键数据被损坏,黑客以解密数据为条件勒索用户钱财,给用户的正常工作带来了极为严重的影响。现有技术要保证用户数据能恢复到未加密前,就只能让计算机一直处理CDP保护中,这样会为每一台计算机配置用于备份的相等或更大的存储区域来存储数据,这样投入成本高。

因此,亟需一种数据保护方法,实现降低计算机被勒索后数据恢复的投入成本。

发明内容

本发明的主要目的在于提供了一种数据保护方法、系统、设备及存储介质,旨在解决如何实现降低计算机被勒索后数据恢复的投入成本的技术问题。

为实现上述目的,本发明提供了一种数据保护方法,所述方法包括以下步骤:

根据目标主机的进程活动和/或文件操作行为进行数据加密风险检测;

在所述目标主机存在数据加密风险时,实时捕获所述目标主机的磁盘数据写入行为;

基于所述磁盘数据写入行为对应的原始磁盘数据进行CDP备份。

可选地,所述对所述磁盘数据写入行为对应的原始磁盘数据进行CDP备份的步骤,包括:

根据所述磁盘数据写入行为,获得磁盘的写入偏移量、数据写入长度和写入操作发生时间;

根据所述写入偏移量和所述数据写入长度,获取所述磁盘写入行为前对应的原始磁盘数据;

对所述写入操作发生时间和所述原始磁盘数据进行CDP备份。

可选地,所述对所述磁盘数据写入行为对应的原始磁盘数据进行CDP备份的步骤之后,还包括:

在所述目标主机的数据被加密时,确定数据加密发生时间;

根据所述数据加密发生时间获取从所述数据加密发生时间至最终备份时间的备份数据;

基于所述备份数据对所述目标主机进行数据恢复。

可选地,所述在所述目标主机的数据被加密时,确定数据加密发生时间的步骤,包括:

在所述目标主机的数据被加密时,扫描所述目标主机上被加密文件;

获取各所述被加密文件的最后修改时间;

将所述最后修改时间进行比较后,确定数据加密发生时间。

可选地,所述基于所述备份数据对所述目标主机进行数据恢复的步骤,包括:

依次确定所述写入操作发生时间最晚的备份数据;

根据所述写入操作发生时间最晚的备份数据对所述目标主机进行数据恢复。

可选地,所述基于所述备份数据对所述目标主机进行数据恢复的步骤之前,还包括:

依次对所述备份数据进行分析后,获得存在磁盘偏移量重叠区域的第一备份数据;

选取所述第一备份数据中所述磁盘写入时间最早的第二备份数据;

将所述第二备份数据和不存在磁盘偏移量重叠区域的备份数据作为新的备份数据。

可选地,所述根据目标主机的进程活动和/或文件操作行为进行数据加密风险检测的步骤,包括:

统计所述目标主机上所有进程预设时间内的文件操作行为;

判断所述文件操作行为是否大于预设阈值;

若所述文件操作行为大于预设阈值,则对所述文件操作行为对应的进程活动进行风险检测。

此外,为实现上述目的,本发明还提出一种数据保护系统,所述系统包括:

风险检测模块,用于根据目标主机的进程活动和/或文件操作行为进行数据加密风险检测;

写入监控模块,用于在所述目标主机存在数据加密风险时,实时捕获所述目标主机的磁盘数据写入行为;

实时备份模块,用于基于所述磁盘数据写入行为对应的原始磁盘数据进行CDP备份。

此外,为实现上述目的,本发明还提出一种数据保护设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据保护程序,所述数据保护程序配置为实现如上文所述的数据保护方法的步骤。

此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有数据保护程序,所述数据保护程序被处理器执行时实现如上文所述的数据保护方法的步骤。

本发明根据目标主机的进程活动和/或文件操作行为进行数据加密风险检测;在所述目标主机存在数据加密风险时,实时捕获所述目标主机的磁盘数据写入行为;基于所述磁盘数据写入行为对应的原始磁盘数据进行CDP备份。由于本发明是根据目标主机的进程活动和/或文件操作行为进行数据加密风险检测,然后在目标主机存在数据加密风险时,实时捕获目标主机的磁盘数据写入行为,再基于磁盘数据写入行为对应的原始磁盘数据进行CDP备份,相比于现有技术,本发明只是备份磁盘中被修改的那部分数据,没有修改的数据并未进行备份,节省了存储备份数据的空间,从而降低了计算机被勒索后数据恢复的投入成本。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的数据保护设备的结构示意图;

图2为本发明数据保护方法第一实施例的流程示意图;

图3为本发明数据保护方法第二实施例的流程示意图;

图4为本发明数据保护方法第三实施例的流程示意图;

图5为本发明数据保护系统第一实施例的结构框图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

参照图1,图1为本发明实施例方案涉及的硬件运行环境的数据保护设备结构示意图。

如图1所示,该数据保护设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的结构并不构成对数据保护设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据保护程序。

在图1所示的数据保护设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明数据保护设备中的处理器1001、存储器1005可以设置在数据保护设备中,所述数据保护设备通过处理器1001调用存储器1005中存储的数据保护程序,并执行本发明实施例提供的数据保护方法。

本发明实施例提供了一种数据保护方法,参照图2,图2为本发明数据保护方法第一实施例的流程示意图。

本实施例中,所述数据保护方法包括以下步骤:

步骤S10:根据目标主机的进程活动和/或文件操作行为进行数据加密风险检测。

需要说明的是,本实施例的执行主体可以是一种具有数据处理、网络通信以及程序运行功能的计算服务设备,例如服务器、平板电脑、个人电脑等,或者是一种能够实现上述功能的电子设备、数据保护设备等。以下以数据保护设备为例,对本实施例及下述各实施例进行举例说明。

应理解的是,虽然勒索软件加密用户数据的方法有很多种,但是无论如何,都会发生如下事件之一:大批量文件被改写、大批量文件被删除或大批量文件被改名,只有发生这几个事件之一时,用户的数据才有可能被加密掉。

可理解的是,上述目标主机可以是具有数据存储、网络通信的智能终端设备,例如平板电脑、个人电脑等。

应理解的是,目标主机的文件的操作行为包括打开文件、创建文件、修改文件、读文件、写文件和删除文件等,目标主机的进程活动包括进程启动、新建进程、关闭进程和文件操作等。

需要说明的是,可以通过进程创建、线程创建、模块加载回调技术,文件过滤驱动等技术,监测主机上的进程活动、线程启动、模块加载、文件操作等行为。不管是windows系统还是linux系统,都可以实时监测主机上进程的启动、退出,线程的启动、退出,模块的加载、卸载,文件过滤驱动可以追踪到具体的进程、线程操作哪些文件,以及具体的操作行为(比如对文件改写、删除、改名……)。例如,Windows的文件的改写是通过在IRP_MJ_CREATE返回时IoStatus.Information为FILE_OPENED时,又收到IRP_MJ_WRITE行为时,表示是修改写。删除则是用IRP_MJ_SET_INFORMATION中的FileDispositionInformation功能侦测或IRP_MJ_CREATE时有FILE_DELETE_ON_CLOSE标记,改名则是用IRP_MJ_SET_INFORMATION的FileRenameInformation功能侦测。

需要解释的是,对目标主机进行数据加密风险检测可以通过统计所述目标主机上所有进程预设时间内的文件操作行为;判断所述文件操作行为是否大于预设阈值;若所述文件操作行为大于预设阈值,则对所述文件操作行为对应的进程活动进行风险检测。预设阈值可以为用户自定义设置,例如15、20等。

在具体实现中,通过实时统计主机上所有进程单位时间内的文件操作行为(打开文件、创建文件、修改文件、读文件、写文件、删除文件……),当单位时间文件操作行为大于某一阈值的时候,对该进程进行风险检测,包括进程的是否属于最近创建的、是否有新建线程、是否有新加载模块……,如果有其中之一行为,可以认为存在数据加密风险。

步骤S20:在所述目标主机存在数据加密风险时,实时捕获所述目标主机的磁盘数据写入行为。

易于理解的是,磁盘数据写入行为包括数据的修改、删除、增加等会是的磁盘数据发生改变的操作行为。

需要说明的是,通过实时捕获主机的磁盘写入行为,可以获得磁盘的写入偏移量、数据写入长度、写入操作发生的时间,然后把磁盘对应区域的原始数据读取出来,和磁盘数据写入行为的发生时间一并存放到其他的存储介质,再放行对应的写入操作。

步骤S30:基于所述磁盘数据写入行为对应的原始磁盘数据进行CDP备份。

应该理解的是,由于磁盘写入行为会覆盖磁盘的原有数据,所以当识别到主机存在数据加密行为时,需要捕获磁盘写入行为,将磁盘写入行为涉及的原始磁盘数据进行备份,然后再放行磁盘写入行为。以Windows系统为例,在IRP_MJ_WRITE处理函数中,IrpSp->Parameters.Write.ByteOffset就是磁盘写入的偏移量,IrpSp->Parameters.Write.Length就是磁盘写入数据的长度,可以根据这2个参数从磁盘中读取磁盘数据写入行为对应的原始磁盘数据,然后进行备份。

在具体实现中,为了对磁盘被修改的那部分磁盘数据进行备份,没有涉及磁盘写入行为的那部分不进行部分,节省存储备份数据的空间,基于所述磁盘数据写入行为对应的原始磁盘数据进行CDP备份的步骤包括:根据所述磁盘数据写入行为,获得磁盘的写入偏移量、数据写入长度和写入操作发生时间;根据所述写入偏移量和所述数据写入长度,获取所述磁盘写入行为前对应的原始磁盘数据;按照写入操作发生时间先后顺序对所述原始磁盘数据进行CDP备份,并记录这些原始磁盘数据的写入偏移量、数据写入长度和写入操作发生时间。

本实施例通过统计所述目标主机上所有进程预设时间内的文件操作行为;判断所述文件操作行为是否大于预设阈值;若所述文件操作行为大于预设阈值,则对所述文件操作行为对应的进程活动进行风险检测;在所述目标主机存在数据加密风险时,实时捕获所述目标主机的磁盘数据写入行为;根据所述磁盘数据写入行为,获得磁盘的写入偏移量、数据写入长度和写入操作发生时间;根据所述写入偏移量和所述数据写入长度,获取所述磁盘写入行为前对应的原始磁盘数据;对所述写入操作发生时间和所述原始磁盘数据进行CDP备份。由于本发明是根据目标主机的进程活动和/或文件操作行为进行数据加密风险检测,然后在目标主机存在数据加密风险时,实时捕获目标主机的磁盘数据写入行为,再基于磁盘数据写入行为对应的原始磁盘数据进行CDP备份,相比于现有技术,本发明无需提前为计算机配置用于备份的存储区域,只有当勒索风险发生后,才开始持续的保护计算机,并且本发明只是备份磁盘中被修改的那部分数据,没有修改的数据并未进行备份,节省了存储备份数据的空间,从而降低了计算机被勒索后数据恢复的投入成本。

参考图3,图3为本发明数据保护方法第二实施例的流程示意图。

基于上述第一实施例,在本实施例中,所述步骤S30之后,还包括:

步骤S40:在所述目标主机的数据被加密时,确定数据加密发生时间。

需要说明的是,上述数据加密发生时间可以是目标主机发生数据加密的时间。为了获得目标主机数据加密发生时间可以通过在所述目标主机的数据被加密时,扫描所述目标主机上被加密文件;获取各所述被加密文件的最后修改时间;将所述最后修改时间进行比较后,确定数据加密发生时间。

应该理解的是,当发现目标主机的数据被加密,需要做数据恢复时,首先获得目标主机发生数据加密的时间,可以人工指定,也可以自动分析获得。对于自动分析,具体做法就是扫描目标主机所有被加密的文件,获得所有被加密文件的“最后修改时间”(对于windows系统可以通过GetFileTime系统函数获得,对于linux系统可以通过fstat系统函数获得),其中最靠前的那个“最后修改时间”可以认为是数据加密的最早发生时间,然后将该时间作为数据加密发生时间。

步骤S50:根据所述数据加密发生时间获取从所述数据加密发生时间至最终备份时间的备份数据。

易于理解的是,最终备份时间的备份数据为最新时刻的备份数据,根据发生数据加密的时间,从备份数据中获得该时刻起至最新时刻的备份数据,回写到主机磁盘上,完成数据恢复。

步骤S60:基于所述备份数据对所述目标主机进行数据恢复。

需要解释的是,由于前面做备份数据的时候,备份的是磁盘写入前的原始数据(并不是待写入的数据,这些数据可能是加密数据,备份没有意义),所以在进行数据恢复的时候需要根据磁盘写入时间的先后顺序做逆序恢复(最后修改的磁盘数据,最先做恢复;最早修改的磁盘数据,最后恢复)。

在具体实现中,为了对目标主机进行数据恢复需要依次确定所述写入操作发生时间最晚的备份数据;然后根据所述写入操作发生时间最晚的备份数据对所述目标主机进行数据恢复。例如,通过CDP备份保存了以下备份数据如表1原始磁盘数据备份表所示,在做数据恢复的时候,先恢复3号备份数据,再恢复2号备份数据,最后恢复1号备份数据。

表1 原始磁盘数据备份表

本实施例在所述目标主机的数据被加密时,扫描所述目标主机上被加密文件;获取各所述被加密文件的最后修改时间;将所述最后修改时间进行比较后,确定数据加密发生时间;根据所述数据加密发生时间获取从所述数据加密发生时间至最终备份时间的备份数据;依次确定所述写入操作发生时间最晚的备份数据;根据所述写入操作发生时间最晚的备份数据对所述目标主机进行数据恢复。由于相比于现有技术,本发明在目标主机的数据被加密时,确定数据加密发生时间,然后根据数据加密发生时间获取从数据加密发生时间至最终备份时间的备份数据,最后基于所述备份数据对所述目标主机进行数据恢复,实现了基于磁盘中被修改的那部分数据的原始磁盘数据的备份。

参考图4,图4为本发明数据保护方法第三实施例的流程示意图。

基于上述各实施例,在本实施例中,所述步骤S60之前,还包括:

步骤S501:依次对所述备份数据进行分析后,获得存在磁盘偏移量重叠区域的第一备份数据。

步骤S502:选取所述第一备份数据中所述磁盘写入时间最早的第二备份数据。

例如表1原始磁盘数据备份表所示,在做数据恢复的时候,磁盘区域从0x1001000到0x1002000将要被恢复2次数据,其中3号备份数据做的那次数据恢复是没有意义的,2号和1号备份数据恢复会把3号备份数据的恢复覆盖掉。因此,3号备份数据与2号和1号备份数据为存在磁盘偏移量重叠区域的第一备份数据且1号和2号备份数据不存在磁盘偏移量重叠区域。因此,1号和2号备份数据为磁盘写入时间最早的第二备份数据。

步骤S503:将所述第二备份数据和不存在磁盘偏移量重叠区域的备份数据作为新的备份数据。

在具体实现中,在做数据恢复前先对备份数据进行分析,找到磁盘偏移量有重叠的区域,对于这些有重叠的区域,选择磁盘写入时间最靠前的备份数据(也就是磁盘最原始的数据)用来做恢复,靠后部分数据直接忽略,实现了还原数据量的优化,提升效率,节约时间。

本实施例通过依次对所述备份数据进行分析后,获得存在磁盘偏移量重叠区域的第一备份数据;选取所述第一备份数据中所述磁盘写入时间最早的第二备份数据;将所述第二备份数据和不存在磁盘偏移量重叠区域的备份数据作为新的备份数据。相比于现有技术,本发明在做数据恢复前先对备份数据进行分析,找到磁盘偏移量有重叠的区域,对于这些有重叠的区域,选择磁盘写入时间最靠前的备份数据(也就是磁盘最原始的数据)用来做恢复,靠后部分数据直接忽略,实现了还原数据量的优化,提升了数据恢复的效率。

此外,本发明实施例还提出一种存储介质,所述存储介质上存储有数据保护程序,所述数据保护程序被处理器执行时实现如上文所述的数据保护方法的步骤。

参照图5,图5为本发明数据保护系统第一实施例的结构框图。

如图5所示,本发明实施例提出的数据保护系统包括:风险检测模块501、写入监控模块502和实时备份模块503。

所述风险检测模块501,用于根据目标主机的进程活动和/或文件操作行为进行数据加密风险检测。

所述写入监控模块502,用于在所述目标主机存在数据加密风险时,实时捕获所述目标主机的磁盘数据写入行为。

所述实时备份模块503,用于基于所述磁盘数据写入行为对应的原始磁盘数据进行CDP备份。

所述风险检测模块501,还用于统计所述目标主机上所有进程预设时间内的文件操作行为;判断所述文件操作行为是否大于预设阈值;若所述文件操作行为大于预设阈值,则对所述文件操作行为对应的进程活动进行风险检测。

所述实时备份模块503,还用于根据所述磁盘数据写入行为,获得磁盘的写入偏移量、数据写入长度和写入操作发生时间;根据所述写入偏移量和所述数据写入长度,获取所述磁盘写入行为前对应的原始磁盘数据;对所述写入操作发生时间和所述原始磁盘数据进行CDP备份。

本系统通过统计所述目标主机上所有进程预设时间内的文件操作行为;判断所述文件操作行为是否大于预设阈值;若所述文件操作行为大于预设阈值,则对所述文件操作行为对应的进程活动进行风险检测;在所述目标主机存在数据加密风险时,实时捕获所述目标主机的磁盘数据写入行为;根据所述磁盘数据写入行为,获得磁盘的写入偏移量、数据写入长度和写入操作发生时间;根据所述写入偏移量和所述数据写入长度,获取所述磁盘写入行为前对应的原始磁盘数据;对所述写入操作发生时间和所述原始磁盘数据进行CDP备份。由于本发明是根据目标主机的进程活动和/或文件操作行为进行数据加密风险检测,然后在目标主机存在数据加密风险时,实时捕获目标主机的磁盘数据写入行为,再基于磁盘数据写入行为对应的原始磁盘数据进行CDP备份,相比于现有技术,本发明只是备份磁盘中被修改的那部分数据,没有修改的数据并未进行备份,节省了存储备份数据的空间,从而降低了计算机被勒索后数据恢复的投入成本。

基于本发明上述数据保护系统第一实施例,提出本发明数据保护系统的第二实施例。

在本实施例中,所述实时备份模块503,还用于在所述目标主机的数据被加密时,确定数据加密发生时间;根据所述数据加密发生时间获取从所述数据加密发生时间至最终备份时间的备份数据;基于所述备份数据对所述目标主机进行数据恢复。

所述实时备份模块503,还用于在所述目标主机的数据被加密时,扫描所述目标主机上被加密文件;获取各所述被加密文件的最后修改时间;将所述最后修改时间进行比较后,确定数据加密发生时间。

所述实时备份模块503,还用于依次确定所述写入操作发生时间最晚的备份数据;根据所述写入操作发生时间最晚的备份数据对所述目标主机进行数据恢复。

本发明数据保护系统的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述 实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通 过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的 技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体 现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光 盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

相关技术
  • 一种服务器的数据保护方法、系统、设备及存储介质
  • 内存数据保护方法、安全组件和计算机设备及存储介质
  • 存储设备测试方法、存储设备测试系统及存储介质
  • 存储方法、存储系统、电子设备及存储介质
  • 存储设备的系统重置方法、装置、系统及可读存储介质
  • 存储设备数据保护方法、装置、设备及存储介质
  • 存储设备数据保护方法、装置、设备及存储介质
技术分类

06120116210401