数据加密检测
背景技术:1.勒索软件攻击涉及对一台计算机或通过网络连接的多台计算机上的数据进行加密。在勒索软件攻击中,可以使用加密密钥对数据加密,这使得用户如果不支付赎金来获取加密密钥就无法访问数据。勒索软件攻击可能会对企业(包括商业公司、政府机构、教育组织、个体等)造成极大的破坏。
附图说明
2.关于以下附图描述了本公开的一些实施方式。
3.图1和图2是根据一些示例的包括用于检测未授权数据加密的各种部件的布置的框图。
4.图3是根据一些示例的存储机器可读指令的存储介质的框图。
5.图4是根据一些示例的系统的框图。
6.图5是根据一些示例的过程的流程图。
7.在所有附图中,相同的附图标记指代相似但不一定相同的要素。附图不一定是按比例绘制的,并且一些部分的大小可以被放大以更清楚地图示所示的示例。此外,附图提供了与描述一致的示例和/或实施方式;然而,描述不限于附图中提供的示例和/或实施方式。
具体实施方式
8.在本公开中,除非上下文另外明确指示,否则使用术语“一个/一种(a/an)”或“所述(the)”旨在同样包括复数形式。同样地,当在本公开中使用时,术语“包括(includes/including/comprises/comprising)”、“具有(have/having)”指明存在所述要素,但不排除存在或添加其他要素。
9.勒索软件攻击可能很难检测到。等到企业察觉到攻击时,大部分或全部数据都已被加密并因此无法访问。勒索软件攻击可能很难检测到,因为正常的计算机操作也可能会对数据加密,使得区分授权数据加密与未授权数据加密可能具有挑战性。
10.企业可能会试图通过将他们的数据备份到备份存储系统来保护自身免受勒索软件攻击。然而,勒索软件攻击通常会首先攻击备份存储系统以加密备份存储系统上的数据,然后再加密(多台)计算机上的数据,使得备份存储系统中和(多台)计算机上的数据都变得无法访问。
11.尽管在一些示例中提到了勒索软件攻击,但是应注意,在其他示例中可能存在由恶意软件或其他未授权实体(人、程序、或机器)引起的其他未授权数据加密来源。“未授权数据加密”是指数据已经由不被允许或不应该执行加密的任何实体加密的数据加密。
12.反恶意软件程序依靠恶意软件的签名来检测计算机中是否存在恶意软件。然而,反恶意软件程序可能会在恶意软件已感染计算机之后试图移除恶意软件。反恶意软件程序可能无法检测到勒索软件攻击的存在,或者可能在该过程中太晚检测到勒索软件攻击从而不能防止数据损坏和大量丢失。
13.根据本公开的一些实施方式,使用多级数据加密检测对未授权数据加密活动进行检测,该多级数据加密检测执行内联(inline)检测以对存储装置(例如,包含数据的记录或其他存储库)的写入中的潜在数据加密进行检测,并且响应于检测潜在数据加密,执行进一步分析以确认内联检测所检测到的潜在数据加密是否构成未授权数据加密。在一些示例中,该进一步分析包括对多个对象的对象分析,该多个对象包括响应于检测到潜在数据加密而创建的第一对象、以及在检测到潜在数据加密之前创建的第二对象,其中,该第一对象和该第二对象表示该数据的不同版本。在进一步示例中,该进一步分析包括对输入/输出(i/o)操作中的模式的模式分析。下面将进一步讨论对象分析和模式分析的细节。
14.图1是包括内联检测器102、模式分析器104和对象分析器106的示例布置的框图。尽管被描绘为三个独立的部件,但是应注意,在一些示例中,部件102、104和106中的任何两个或更多个可以组合成更少的部件,或者可以分离成额外的部件。
15.同样,在其他示例中,可以省去模式分析器104或对象分析器106。
16.部件102、104和106中的每一个可以使用一个硬件处理电路(或多个硬件处理电路)来实施,该硬件处理电路可以包括微处理器、多核微处理器的核、微控制器、可编程集成电路、可编程门阵列或其他硬件处理电路中的任一项或某种组合。可替代地,部件102、104和106中的每一个可以使用一个硬件处理电路(或多个硬件处理电路)和可在(多个)硬件处理电路上执行的机器可读指令(软件和/或固件)的组合来实施。
17.内联检测器102、模式分析器104和对象分析器106可以是同一计算机系统的一部分,或者可替代地,可以驻留在多个计算机系统上。在某些情况下,内联检测器102、模式分析器104和对象分析器106可以存在于不同的地理位置。
18.如图1所示,请求方108可以发出访问(读取或写入)存储装置130中数据的请求。如这里所使用的,“存储装置”可以使用存储设备的集合(该集合可以包括单个存储设备或多个存储设备)来实施。如这里所使用的,元件“集合”可以指单个元件或多个元件。
[0019]“存储设备”可以指基于磁盘的存储设备、固态驱动器、存储器设备、和/或能够存储数据的任何其他类型的部件。
[0020]
请求方108可以指用户、程序、或机器(例如,计算机、智能手机、或任何其他类型的电子设备)。程序可以在电子设备中执行。用户可以使用电子设备。在一些示例中,请求方108可以包括虚拟机器(vm)。vm模拟物理机并在由虚拟机器监控程序(vmm)或管理程序提供的环境中执行。vmm或管理程序将物理计算机系统的物理硬件虚拟化,以供(多个)vm在物理计算机系统中使用。
[0021]
请求方108可以向存储系统100发送读取请求和写入请求。存储系统100包括用于处理请求方(包括请求方108)发出的请求的请求处理引擎112。“引擎”可以指一个硬件处理电路(或多个硬件处理电路)、或一个硬件处理电路(或多个硬件处理电路)和机器可读指令的组合。
[0022]
在一些示例中,请求处理引擎112可以包括存储控制器,该存储控制器可以通过管理对存储装置130的读取和写入访问来响应访问请求。作为另一示例,请求处理引擎112可以是服务器计算机(或服务器计算机的集合),其可以通过向存储控制器(比如通过网络,包括局域网(lan)、广域网(wan)、存储区域网(san)、或任何其他类型的网络)提交对应的请求来响应来自请求方的访问请求。在请求处理引擎112包括(多台)服务器计算机的示例中,请
求处理引擎112可以位于存储系统100之外。
[0023]
响应于来自请求方108的读取请求,请求处理引擎112使得读取存储在存储装置130中的数据132。响应于来自请求方108的写入请求,请求处理引擎112使得将数据写入到存储装置130。
[0024]
在一些示例中,请求处理引擎112可以包括用于保护请求方(比如请求方108)的数据的复制逻辑140。保护数据可以指保护数据避免因故障或另一错误而丢失,比如存储系统100的任何部分中(例如,存储装置130、或请求处理引擎112、或通信路径、或任何其他部件中)导致数据132(或数据132的部分)损毁或其他丢失、或无法完成对存储装置130的写入操作的故障或错误。
[0025]
在一些示例中,复制逻辑140可以用请求处理引擎112的(多个)硬件处理电路的一部分来实施,或可替代地,用可由请求处理引擎112执行的机器可读指令来实施。在其他示例中,复制逻辑140与请求处理引擎112分开。
[0026]
在一些示例中,响应于来自请求方108的写入请求,复制逻辑140可以复制与这些写入请求相关联的数据。此外,复制逻辑140可以记录与这些写入请求相关联的写入元数据。复制的数据可以指创建数据版本的副本,比如通过写入请求写入的写入数据的副本、在写入请求的写入操作之前的数据版本的副本等。
[0027]
复制的数据由复制逻辑140通过数据路径134写入到存储装置110,该存储装置存储日志114,该日志包含与写入请求相关联的信息的记录。数据路径134用于将写入操作记录写入到日志114中。数据路径134与用于对存储装置130中存储的数据132进行写入(由请求方发起)的数据路径133分开。
[0028]
日志114可以包括复制逻辑140提供的复制的数据114-1和写入元数据114-2。“复制的数据”是指存储装置130中数据132的一部分的版本的副本。复制的数据114-1可以包括与写入请求相关联的写入数据。例如,复制的数据114-1可以包括数据检查点,其中,每个数据检查点可以包括相应时间点的数据版本。可以响应于以下各种事件中的任一种,沿检查点时间线在各个不同的时间点取数据检查点:数据更改、时间事件等。因此,由于存储装置130中的数据132因写入而随时间变化,存储在复制的数据114-1中的数据检查点可以包括不同时间点的不同数据版本。这允许在数据丢失的情况下将数据恢复到任何特定的时间点。
[0029]
更一般地说,日志114中的复制的数据114-1可以包括其他类型的可以用于恢复丢失数据的备份数据。
[0030]
写入元数据114-2包括请求方(包括请求方108)向存储系统100发出的写入请求的记录。写入元数据114-2可以包括存储卷的标识符、存储卷在存储装置130中的位置(例如,逻辑地址)、与对存储卷的写入相关联的时间戳、和/或其他元数据。“存储卷”包括数据的逻辑单元,并且可以包含存储装置130中的数据132的一部分。在其他示例中,写入元数据114-2可以指其他类型的数据单元,比如块、组块、文件等。
[0031]
尽管图1将存储装置110示出为与存储数据132的存储装置130分开,但是在其他示例中,可以将日志114存储在与数据132相同的存储装置中。
[0032]
存储装置110中可能有多个日志114,其中,每个日志114均可以与相应的请求方(或请求方组)相关联。因此,可以使用不同的对应的日志114来保护不同的请求方(或请求
方组)的数据。
[0033]
在一些示例中,日志114可以用于在系统中发生导致数据(例如,存储装置130中的132)丢失的故障或其他错误的情况下恢复数据。
[0034]
内联检测器102与数据流“内联”放置在请求处理引擎112与存储装置110之间的数据路径134中。如果内联检测器102能够实时接收写入到日志114的复制的数据,则内联检测器102与数据路径134“内联”放置。
[0035]
如果内联检测器102在复制的数据从请求处理引擎112传输到存储装置110的预定量时间内接收到复制的数据,则内联检测器102“实时”接收数据路径134的复制的数据,其中,该预定量时间可以小于10秒、或5秒、或1秒、或100毫秒(ms)、或50ms、或10ms、或1ms等。
[0036]
内联检测器102能够处理从请求处理引擎112提供到存储装置110的复制的数据,以检测对从请求处理引擎112发送到存储装置110的复制的数据的潜在数据加密。注意,对从请求处理引擎112发送到存储装置110的复制的数据的加密可能是由恶意软件攻击(例如,勒索软件攻击)造成的,在这种攻击中,恶意软件试图对存储装置130中的数据132以及任何备份数据(包括日志114中的复制的数据)进行加密。
[0037]
内联检测器102检测到的潜在数据加密可能不是由比如恶意软件等未授权实体导致的数据加密。例如,潜在数据加密可能是由比如程序、机器或用户等授权实体执行的数据加密,作为系统(例如,计算机、存储系统、通信节点等)正常操作的一部分。作为另一示例,内联检测器102检测到的潜在数据加密实际上可能不是数据加密,而是由授权的不同类型的操作执行的数据更改。
[0038]
为了确认内联检测器102检测到的潜在数据加密实际上就是未授权数据加密,执行多级数据加密检测。该多级数据加密检测在第一级中采用内联检测器102,然后在接下来的级(或多个接下来的级)中使用对象分析器106和/或模式分析器104进行分析。
[0039]
响应于检测到潜在数据加密,内联检测器102可以向模式分析器104和对象分析器106发送潜在数据加密指示(pdei)120。pdei 120可以是消息、信息元素、信号或任何其他类型的指示符的形式。pdei 120可以作为消息通过网络发送,作为消息或其他指示符通过应用程序编程接口(api)、进程间接口、或任何其他类型的接口发送。发送到模式分析器104和/或对象分析器106的pdei 120可以触发模式分析器104和/或对象分析器106执行进一步分析,以确认是否发生了未授权数据加密。
[0040]
内联检测器分析
[0041]
内联检测器102应用统计分析,该统计分析使用观察(绝对)数据熵来检测潜在数据加密。该观察数据熵的示例为香农熵,其是与随机变量相关联的不确定性或可变性的度量。香农熵量化了消息中包含的信息的期望值。
[0042]
在数据被流式传输到存储装置110时,以各种时间间隔(例如,周期性地、随机地、或响应于指定事件)对从请求处理引擎112到存储装置110的数据路径中的数据进行采样。对于k个块中的每个样本,每个块的大小为t,根据香农熵计算k个块中的每个块的度量,其中,k≥1,并且t为预定义值。在这样的示例中,香农熵量化了k个块中的每个块中包含的信息的期望值。
[0043]
k个块的香农熵度量被收集到熵度量列表中。该熵度量列表用作统计检验(例如,t检验、或另一统计检验)的输入,以确定观察熵度量是否与具有目标置信度、大小为t的强加
密块的统计学期望熵度量列表相匹配。换言之,这些期望熵度量就是数据被加密时期望的熵度量。期望熵值是提前预先计算的。
[0044]
如果两组度量的均值之间存在显著差异,则可以使用t检验,在本公开的一些示例中,这两组度量包括(1)针对相应样本的k个块所计算的香农熵度量的列表,以及(2)预先计算的期望熵值的列表。如果在针对k个块所计算的香农熵度量的列表中的香农熵度量的均值与预先计算的期望熵值的均值在指定阈值内类似,则这指示内联检测器102检测到了潜在数据加密。另一方面,如果在针对k个块所计算的香农熵度量的列表中的香农熵度量的均值与预先计算的期望熵值的均值相差大于指定阈值,则这指示内联检测器102未检测到潜在数据加密。
[0045]
在进一步示例中,以随机间隔对对象的写入的传入数据流进行采样。内联检测器102在缓冲区中收集n(n≥2)个随机采样的字节。假设所有可能的字节值可能都出现(每个可能的字节值一个存储桶),则内联检测器102创建带有指定数量(例如,256个)存储桶的空直方图。内联检测器102用样本中字节值的相应存储桶计数来填充直方图。内联检测器102通过将存储桶计数除以n来将每个存储桶计数转换为缓冲区中字节的出现概率。该转换产生了概率向量,其中,向量的每个条目都是对应字节值的出现概率。
[0046]
内联检测器102使用香农公式计算所得概率向量的熵。内联检测器102将所得值收集到熵向量中。在将预定义数量的熵值收集到熵向量中之后,熵向量被用作t检验的输入,以确定所得熵向量是从加密数据总体中提取的这一假设是否具有统计学意义。
[0047]
在其他示例中,可以对针对k个块所计算的香农熵度量列表与预先计算的期望熵值列表执行其他统计比较,而不是均值比较。
[0048]
在使用如上文所指出的统计检验对n(n≥1或2)个连续样本(其中,每个样本有k个数据块)的加密检验均为正时,可以设置pdei 120,并且内联检测器102可以向模式分析器104和/或对象分析器106发送pdei 120。
[0049]
变量k、t和n为可以从经验数据或实验数据中得到的可调参数。在其他示例中,可以在观察到数据模式时使用机器学习来调整这些变量。
[0050]
对象分析器分析
[0051]
响应于接收到pdei 120,对象分析器106可以执行独立评估,以确定内联检测器102指示的潜在数据加密是否构成未授权数据加密。对象分析器106执行的分析基于多个对象,包括第一对象150和第二对象152。第一对象150和第二对象152表示日志114中的不同数据版本。第二对象152表示在时间上在第一对象150表示的所述数据的第一版本之前的数据版本。在一些示例中,第一对象150和第二对象152是日志114中数据的不同快照。数据的“快照”是指在相应时间生成的数据副本。
[0052]
例如,第二对象152表示的所述数据的第二版本是在内联检测器102指示的潜在数据加密之前的版本,而第一对象150表示的所述数据的第一版本是在内联检测器102指示的潜在数据加密之后的版本。换言之,第一对象150包含可能被潜在损毁的数据,而第二对象152包含未被潜在数据加密潜在损毁的数据。
[0053]
在一些示例中,对象分析器106可以响应于来自内联检测器102的pdei 120而创建第一对象150或请求创建该第一对象150(比如,通过对日志114中的复制的数据114-1的一部分取快照)。
[0054]“对象”可以指日志114中任何可单独识别的数据单元。例如,对象可以包括数据检查点。在日志114包括多个数据检查点的示例中,第一对象150和第二对象152包括沿检查点时间线的不同数据检查点。
[0055]
对象分析器106将内联检测器102标记的可疑对象(例如,第一对象150)与前一对象(例如,第二对象152)进行比较。
[0056]
尽管提到了比较两个对象,但是应注意,在其他示例中,对象分析器106可以比较两个以上的对象。例如,对象分析器106可以将包含潜在数据加密之后的数据的第一组对象与包含潜在数据加密之前的数据的第二组对象进行比较。
[0057]
对象分析器106可以使用统计技术和/或机器学习技术。统计技术的示例包括在两个对象之间执行相对熵计算,以度量由第一对象150和第二对象152表示的两个数据版本之间的差异。相对熵的示例为kullback-leibler散度,该散度表示度量第一概率分布与第二概率分布的差异程度的统计距离。
[0058]
以随机间隔对对象的写入的传入数据流进行采样。对象分析器106在缓冲区中收集n(n≥2)个随机采样的字节。假设所有可能的字节值都可能都出现(每个可能的字节值一个存储桶),则对象分析器106创建带有指定数量(例如,256个)存储桶的空直方图。对象分析器106用样本中字节值的相应存储桶计数来填充直方图。对象分析器106通过将存储桶计数除以n来将每个存储桶计数转换为缓冲区中字节的出现概率。该转换产生了概率向量,其中,向量的每个条目都是对应字节值的出现概率。该概率向量是概率分布的示例。针对关于要计算相对熵的两个对象计算两个概率向量。
[0059]
确定第一概率分布与第二概率分布(例如,第一概率向量与第二概率向量)之间的散度(相对熵)。如果散度(相对熵)超过指定阈值,则对象分析器106可以输出存在未授权数据加密的指示。这个指示在图1中被描绘为未授权数据加密160的指示。
[0060]
未授权数据加密160的指示可以由对象分析器106传输到目标实体,比如传输到管理员、程序、或机器。注意,在一些示例中,也可以将加密对象150(或加密对象150的标识符)传输到目标实体。另一方面,如果散度(相对熵)未超过指定阈值,则这指示未发生未授权数据加密,并且对象分析器106可能会导致第一对象150被移除或删除。响应于来自对象分析器106的未授权数据加密160的指示,目标实体可以启动补救措施以抵抗未授权数据加密(该未授权数据加密可能是由勒索软件攻击造成的)。补救措施可以包括关闭存储系统100、禁用与存储系统100的网络通信等。
[0061]
相对熵计算指示每个对象的熵是否明显增加,明显增加则指示已经发生了数据加密。
[0062]
由于相对熵计算是计算密集型的,因此可以由对象分析器106在与存储系统100分开的系统上执行计算。
[0063]
在进一步示例中,对象分析器106可以对第一对象150和第二对象152应用哈希函数。对第一对象150应用的哈希函数产生了第一哈希值,并且对第二对象152应用的哈希函数产生了第二哈希值。对象分析器106将第一哈希值与第二哈希值进行比较。两个不同对象的哈希值之间的差异提供了第一对象150和第二对象152表示的数据版本之间的“距离”,其中,距离越大(例如,哈希值的差异较大)指示发生的更改越多,这指示未授权数据加密。例如,如果第一哈希值与第二哈希值相差大于指定阈值,则这指示发生了未授权数据加密。如
果第一哈希值与第二哈希值相差不大于指定阈值,则这指示未发生未授权数据加密。
[0064]
在其他示例中,第一对象150和第二对象152被作为输入馈送到机器学习模型。机器学习模型可以使用训练数据进行训练,该训练数据包括受到未授权数据加密的对象和未受到未授权数据加密的对象。训练数据中的对象被标为加密或未加密,使得机器学习模型可以学习到加密对象与未加密对象的不同之处。经训练的机器学习模型可以基于第一对象150和第二对象152产生输出,其中,该输出包括是否已发生未授权数据加密的指示。
[0065]
模式分析器分析
[0066]
响应于接收到pdei 120,模式分析器104可以执行独立评估(除了或代替对象分析器106进行的分析),以确定内联检测器102指示的潜在数据加密是否构成未授权数据加密。
[0067]
模式分析器104不会对实际数据进行分析,而是对可以从日志114中的写入元数据114-2看出的写入i/o模式进行分析。模式分析器104可以确定写入i/o模式与基线写入i/o模式154的偏差是否超过指定阈值。例如,可以在从写入元数据114-2确定的写入i/o模式与基线写入i/o模式154之间计算相对熵,比如kullback-leibler散度。如果散度的度量大于指定阈值,则模式分析器104可以指示存在未授权数据加密。模式分析器104可以向目标实体发送未授权数据加密162的指示,该目标实体可以启动补救措施。在其他示例中,模式分析器104可以使用从写入元数据114-2确定的写入i/o模式与基线写入i/o模式154之间的差异的其他指示来检测是否存在未授权数据加密。
[0068]
基线写入i/o模式154可以由实体(例如,人、程序、或机器)基于对存储装置130(和/或任何其他存储装置或存储装置组)的历史写入操作而得到。
[0069]
写入i/o模式可以指关于存储装置130中的存储卷(或其他类型的数据单元)执行的任何写入操作集合,其中,该写入操作集合展现出空间和/或时间模式、或任何其他类型的模式。例如,可以关于写入元数据114-2中的存储卷标识符及位置所标识的某些存储卷进行该写入操作集合。模式分析器104可以基于日志114中的写入元数据114-2得到关于存储装置130中的存储卷的写入操作的第一空间模式。基线写入i/o模式154可以指示第二空间模式。如果第一空间模式和第二空间模式具有超过阈值的散度,则模式分析器104可以输出未授权数据加密的指示。
[0070]
作为进一步示例,写入操作集合中的写入操作可以根据与这些写入操作相关联的时间戳(例如,写入请求的时间戳被存储在写入元数据114-2中)对存储卷执行具有时间特性的写入操作。作为示例,写入元数据114-2中的时间戳可以指示对给定存储卷组内的存储卷的写入可能平均上以第一时间差δt1的间隔发生。基线写入i/o模式154可以指示,在历史上,对给定存储卷组(和/或其他(多个)存储卷组)内的存储卷的写入可能平均上以第二时间差δt2的间隔发生。如果δt1比δt2小某个指定的时间差阈值,则这可能指示正在发生未授权数据加密,因为对存储卷执行的数据加密的频率高于正常水平。
[0071]
在其他示例中,模式分析器104可以使用时间模式的差异和空间模式的差异两者来确定是否存在未授权数据加密。
[0072]
在一些示例中,模式分析器104被应用于日志114,而不是通过请求处理引擎112与存储装置110之间的数据路径134在飞行中(实时)应用于数据。实时对数据应用模式分析可能成本高昂。但是,由于日志114记录了所有写入操作,因此模式分析器104可以对日志114执行其分析,而日志不是时间敏感数据路径的一部分。
[0073]
在进一步示例中,模式分析器104可以使用机器学习来确定写入元数据114-2指示的写入i/o模式是否指示未授权数据加密。可以使用训练数据来训练机器学习模型,以学习指示未授权数据加密的写入i/o模式。注意,机器学习模型并不着眼于写入数据,而是分析对存储装置130的写入操作的模式(空间和/或时间)。
[0074]
进一步示例
[0075]
图2示出了根据本公开的进一步示例的另一示例布置。系统200包括在系统200中执行的vm 202。系统200可以使用一台计算机或计算机集合来实施。
[0076]
每个vm均包含一个应用程序(或多个应用程序)和访客操作系统(os)(未示出)。vm 202中的应用程序和/或访客os可以发出访问存储装置130中的数据的请求。在图2的示例中,vm 202是图1的请求方108的示例。每个vm 202均能够发出针对存储装置130中的数据132的访问请求(读取请求或写入请求)。
[0077]
系统200还包括vmm 204(也称为管理程序),其将系统200的物理资源(包括处理资源、存储资源、输入/输出(i/o)资源、通信资源等)虚拟化,以使这样的物理资源可用于vm 202。
[0078]
在一些示例中,从vm 202发出的针对存储装置130中的数据132的访问请求被vmm 204拦截,vmm管理对存储装置130中的数据132的访问。
[0079]
系统200还包括虚拟复制装置(vra)206,该虚拟复制装置是图1的复制逻辑140的示例。在一些示例中,vra 206还可以是执行与图1的复制逻辑140的任务类似的任务的vm。vra 206管理从受保护的vm 202到存储装置110中的日志114的数据复制。“受保护的vm”可以指系统200中其数据受vra 206保护以避免丢失的vm。注意,vm 202中的一些可能并不是受保护的vm,在这种情况下,vra 206不会为这样的(多个)未受保护的vm复制的数据。
[0080]
在vra 206与存储装置110之间提供了数据路径208,通过该数据路径将复制的数据提供给存储装置110。在一些示例中,如果vra 206为vm,则数据路径208还包括通过vmm 204的路径。日志114包含与图1中的日志类似的内容(复制的数据114-1和写入元数据114-2)。
[0081]
与图1类似,提供内联检测器102以对数据路径208上的数据流执行内联分析,以检测潜在数据加密。响应于检测到潜在数据加密,内联检测器102向对象分析器106和模式分析器104发出pdei 120。
[0082]
图2进一步描绘了保护管理器210。保护管理器210可以在与系统200分开的系统中执行。在一些示例中,保护管理器210负责在系统200中数据丢失的情况下对进行数据灾难恢复。例如,保护管理器210可以执行从日志114到远离系统200的存储站点的对象(包括对象150和152)复制。在一些示例中,保护管理器210可以取日志114的内容的快照。例如,对象150和152是快照。
[0083]
响应于pdei 120,对象分析器106可以执行对对象150和152的分析,并且模式分析器104可以执行i/o模式分析,如上文结合图1讨论的那样。
[0084]
图3是存储机器可读指令的非暂态机器可读或计算机可读存储介质300的框图,这些机器可读指令在执行时使系统执行各种任务。该系统可以包括一台计算机或计算机集合。
[0085]
这些机器可读指令包括用于对存储装置(例如,图1或图2中的130)中的数据的写
入应用内联检测的内联检测指令302,该内联检测用于检测数据的潜在数据加密。在一些示例中,内联检测被应用于对日志(例如,图1或图2中的114)的写入,该日志记录存储系统中的写入。在一些示例中,对日志的写入是通过数据路径(例如,图1中的134或图2中的208)进行的,该数据路径与用于一个或多个请求方与存储系统之间的写入的数据路径(例如,图1或图2中的133)是分开的。在一些示例中,内联检测基于对写入数据的绝对熵的计算。
[0086]
这些机器可读指令包括用于响应于潜在数据加密的指示来创建表示所述数据的第一版本的第一对象的第一对象创建指令304。
[0087]
这些机器可读指令包括用于应用进一步分析来确定潜在数据加密是否构成未授权数据加密的对象分析应用指令306,该进一步分析基于第一对象和第二对象,该第二对象表示在所述数据的第一版本之前的所述数据的第二版本。
[0088]
在一些示例中,创建第一对象包括创建第一快照,并且第二对象包括在第一快照之前创建的第二快照。
[0089]
在一些示例中,进一步分析基于对第一对象和第二对象的相对熵的计算。
[0090]
在一些示例中,进一步分析基于第一对象和第二对象的哈希的计算。
[0091]
在一些示例中,进一步分析基于机器学习,该机器学习基于第一对象和第二对象产生未授权数据加密的指示。
[0092]
在一些示例中,这些机器可读指令进一步对包括该写入在内的写入应用i/o模式分析,以识别潜在数据加密是否构成未授权数据加密。在一些示例中,该i/o模式分析将写入的模式与从历史写入操作中得到的基线写入i/o模式进行比较。
[0093]
图4是根据一些示例的系统400的框图。系统400包括硬件处理器402(或多个硬件处理器)。硬件处理器可以包括微处理器、多核微处理器的核、微控制器、可编程集成电路、可编程门阵列、或另一硬件处理电路。
[0094]
系统400包括存储介质404,该存储介质存储可在硬件处理器402上执行以执行各种任务的机器可读指令。可在硬件处理器上执行的机器可读指令可以指可在单一硬件处理器上执行的指令或可在多个硬件处理器上执行的指令。
[0095]
存储介质404中的机器可读指令包括用于使用内联检测器对通往日志的数据路径中的数据应用内联检测的内联检测指令406,该日志记录对存储装置的写入。该内联检测用于检测潜在数据加密。
[0096]
存储介质404中的机器可读指令包括用于从内联检测器向对象分析器发送潜在数据加密的指示(例如,图1或图2中的pdei 120)的潜在数据加密指示发送指令408。
[0097]
存储介质404中的机器可读指令包括用于响应于潜在数据加密的指示使用对象分析器应用进一步分析来确定潜在数据加密是否构成未授权数据加密的对象分析指令410。该进一步分析基于第一对象和第二对象,该第一对象表示发生潜在数据加密之后的所述数据的第一版本,并且该第二对象表示发生潜在数据加密之前的所述数据的第二版本。
[0098]
图5是根据本公开的一些示例的过程500的流程图。过程500可以由包括硬件处理器的系统执行,其中,该系统可以包括一台计算机或多台计算机。
[0099]
过程500包括使用内联检测器对通往日志的第一数据路径中的复制的数据应用(502)内联检测,该日志记录对存储装置的写入,该内联检测用于检测潜在数据加密,其中,该复制的数据是通过单独的第二数据路径写入到存储装置的数据。
[0100]
过程500包括从内联检测器向对象分析器发送(504)潜在数据加密的指示。
[0101]
响应于潜在数据加密的指示,过程500包括使用对象分析器应用(506)进一步分析来确定潜在数据加密是否构成未授权数据加密,该进一步分析基于第一对象和第二对象,该第一对象表示发生潜在数据加密之后的写入的所述数据的第一版本,并且该第二对象表示发生潜在数据加密之前的写入的所述数据的第二版本。
[0102]
存储介质(例如,图3中的300或图4中的404)可以包括以下各项中的任何一项或某种组合:半导体存储器设备,比如动态或静态随机存取存储器(dram或sram)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)和闪速存储器;磁盘,比如固定盘、软盘和可移动盘;另一种磁介质,包括磁带;光学介质,比如光盘(cd)或数字视频盘(dvd);或另一类型的存储设备。注意,上文讨论的指令可以在一个计算机可读或机器可读存储介质上提供,或者可替代地,可以在分布在具有可能多个节点的大型系统中的多个计算机可读或机器可读存储介质上提供。这种一个或多个计算机可读或机器可读存储介质被认为是物品(或制品)的一部分。物品或制品可以指任何制造的单一部件或多个部件。一个或多个存储介质可以位于运行机器可读指令的机器中、或者位于远程站点处,可以通过网络从该远程站点下载机器可读指令以供执行。
[0103]
在前述描述中,阐述了许多细节以使得理解本文中所公开的主题。然而,可以在没有这些细节中的一些细节的情况下实践实施方式。其他实施方式可以包括上文所讨论的细节的修改和变化。所附权利要求旨在覆盖这样的修改和变化。