CN117521062A - 未授权数据加密的检测 - Google Patents
未授权数据加密的检测 Download PDFInfo
- Publication number
- CN117521062A CN117521062A CN202211281613.8A CN202211281613A CN117521062A CN 117521062 A CN117521062 A CN 117521062A CN 202211281613 A CN202211281613 A CN 202211281613A CN 117521062 A CN117521062 A CN 117521062A
- Authority
- CN
- China
- Prior art keywords
- server
- data
- volume
- signature
- malware
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 13
- 238000004458 analytical method Methods 0.000 claims description 49
- 230000004044 response Effects 0.000 claims description 23
- 238000012360 testing method Methods 0.000 claims description 20
- 238000000034 method Methods 0.000 claims description 13
- 230000001960 triggered effect Effects 0.000 claims description 7
- 238000004519 manufacturing process Methods 0.000 description 95
- 239000003795 chemical substances by application Substances 0.000 description 30
- 230000006870 function Effects 0.000 description 29
- 238000012545 processing Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 230000002354 daily effect Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000010076 replication Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 101100263760 Caenorhabditis elegans vms-1 gene Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000246 remedial effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Automation & Control Theory (AREA)
- Virology (AREA)
- Storage Device Security (AREA)
Abstract
本公开涉及未授权数据加密的检测。在一些示例中,系统向第一服务器提供对与第二服务器相关联的数据卷的副本的访问,其中,所述第一服务器受到保护以防止未授权的访问。所述第一服务器接收由所述第二服务器中的代理基于对所述卷的数据对象应用函数而生成的第一签名。所述第一服务器生成基于对所述卷的副本的数据对象应用所述函数而得到的第二签名。所述第一服务器基于将所述第二签名与所述第一签名进行比较来确定是否存在对所述第二服务器的数据执行未授权数据加密的恶意软件。
Description
技术领域
本申请涉及数据安全。
背景技术
勒索软件攻击涉及对一个计算机或多个计算机上的数据进行加密。在勒索软件攻击中,可以使用加密密钥对数据进行加密,从而使用户无法访问数据,除非支付赎金以获得加密密钥。勒索软件攻击可以对企业(包括商业公司、政府机构、教育组织、个体等)造成极大的破坏。
发明内容
根据本公开的一个示例性方面,提供一种非暂态机器可读存储介质,包括指令,所述指令在执行时使至少一个处理器进行以下操作:向第一服务器提供对与第二服务器相关联的数据卷的副本的访问,其中,所述第一服务器受到保护以防止未授权的访问;在所述第一服务器处接收由所述第二服务器中的代理基于对所述卷的数据对象应用函数而生成的第一签名;在所述第一服务器处生成基于对所述卷的副本的数据对象应用所述函数而得到的第二签名;以及在所述第一服务器处,基于将所述第二签名与所述第一签名进行比较,确定是否存在对所述第二服务器的数据执行未授权数据加密的恶意软件。
附图说明
关于以下附图描述了本公开的一些实施方式。
图1是根据一些示例的包括生产服务器和保护服务器的布置的框图,所述保护服务器用于检测攻击生产服务器数据的勒索软件的存在。
图2是根据一些示例的对散列值进行比较以检测勒索软件攻击的示例的框图。
图3是根据一些示例的包括虚拟生产服务器和保护服务器的布置的框图,所述保护服务器用于检测攻击生产服务器数据的勒索软件的存在。
图4是根据一些示例的存储机器可读指令的存储介质的框图。
图5是根据一些示例的存储系统(storage system)的框图。
图6是根据一些示例的过程的流程图。
在所有附图中,相同的附图标记指代相似但不一定相同的要素。附图不一定是按比例绘制的,并且一些部分的尺寸可以被放大以更清楚地图示所示的示例。此外,附图提供了与描述一致的示例和/或实施方式;然而,描述不限于附图中提供的示例和/或实施方式。
具体实施方式
勒索软件攻击可能难以检测。当企业(例如,商业公司、教育组织、政府机构、个体或任何其他实体)意识到攻击时,已经有足够多的数据被加密,使得数据不可用。勒索软件攻击可能难以检测,因为正常的计算机操作也可能会对存储到存储系统的数据进行加密,因此区分授权和未授权的数据加密可能具有挑战性。当正常的计算机操作加密数据时,仅检查存储系统的输入/输出(I/O)操作中的加密数据的勒索软件检测技术将是无效的,因为授权的I/O操作会包含加密数据。
企业可能试图通过将数据从(多个)计算机备份到备份存储系统来保护自己免受勒索软件攻击。然而,勒索软件攻击通常首先攻击备份存储系统以加密备份存储系统上的数据,或者替代性地在加密(多个)计算机上的数据之前删除备份数据,使得备份存储系统和(多个)计算机上的数据都变得不可访问。
最近的勒索软件攻击使用过滤驱动程序(在接下来的讨论中称为“勒索软件过滤驱动程序”),所述过滤驱动程序拦截写入请求并加密写入数据,所述写入数据然后由勒索软件过滤驱动程序写入存储装置(storage)。在一些情况下,勒索软件过滤驱动程序以相对较慢的速度加密数据,以降低勒索软件过滤驱动程序被检测到的可能性。勒索软件过滤驱动程序会逐渐加密写入存储装置的数据。然而,当请求者(例如,用户或其他实体)请求读取加密数据时,勒索软件过滤驱动程序首先解密数据,并将数据以未加密的形式返回给请求者。因此,系统的用户或其他实体并不知道数据已经被勒索软件加密,因为用户和其他实体在勒索软件攻击执行的数据加密期间可以继续访问数据,所述数据加密可能会持续相对较长的时间段,如几天、几周、几个月等。
如果勒索软件攻击对数据的加密持续相对较长的时间段,则加密数据可能会被复制到多个数据备份中。例如,在企业每天都会执行数据备份的示例中,被勒索软件加密的加密数据可以被复制到每个日常数据备份,其中每个连续的日常数据备份递增地包括已经被勒索软件过滤驱动程序加密的更多加密数据。当企业意识到企业的数据已经受到勒索软件攻击时(如在勒索软件过滤驱动程序已经停止响应于读取请求而解密加密数据时),许多数据备份可能由于加密数据的存在而不再可用。
因此,企业可能无法从数据备份中恢复在勒索软件攻击期间添加或修改的数据。这可能会导致企业数据大量丢失。
根据本公开的一些实施方式,勒索软件检测基于向保护服务器提供对由生产服务器更新的卷的快照的访问。生产服务器可能被勒索软件感染。与生产服务器相关联的代理为卷的数据对象生成第一签名。保护服务器为快照中的数据对象生成第二签名。保护服务器可以基于将第一签名与第二签名进行比较来检测生产服务器中勒索软件的存在。
“卷”可以指用于包含数据的任何逻辑结构。作为示例,“卷”可以指由逻辑单元号(LUN)标识的逻辑单元,或者任何其他可识别的数据存储单元。
尽管在一些示例中提到了“勒索软件”,但是应当注意,根据一些实施方式的技术或机制能够检测由任何类型的恶意软件执行的未授权加密。“恶意软件”可以指执行被设计成导致目标系统的数据损坏或丢失或者对目标系统的数据执行未授权访问的活动的任何实体(用户、程序或机器)。
示例勒索软件检测布置
图1是包括生产服务器102、存储系统104和保护服务器106的示例布置的框图。生产服务器102可以指在正常操作期间用于将数据存储到存储系统104的服务器。“正常”操作可以指与企业(例如,商业公司、教育组织、政府机构、个体等)相关联的操作,是企业的日常活动的一部分。尽管未示出,但生产服务器102可以被客户端设备(或多个客户端设备)访问,以使得从存储系统104取得数据或将数据写入所述存储系统。
生产服务器102包括存储访问(storage access)程序108(包括机器可读指令),所述存储访问程序可以接收数据访问请求,如来自客户端设备的请求。响应于数据访问请求,存储访问程序108通过网络110向存储系统104发出对应的请求。向存储系统104发出的请求可以包括用于从存储系统104读取数据的读取请求或用于向存储系统104写入数据的写入请求。
在其他示例中,生产服务器102可以另外包括可以向存储系统104发出读取请求和写入请求的应用程序或其他类型的程序(例如,操作系统(OS)、固件等)。
尽管图1仅示出了一个生产服务器102,但是在其他示例中,多个生产服务器可以访问存储系统104。
网络110可以包括存储区域网(SAN)、局域网(LAN)、广域网(WAN)、公共网络(如因特网)等。
存储系统104还包括存储控制器(storage controller)120,所述存储控制器响应于来自生产服务器102的请求而管理对存储装置116中的数据的访问。
如此处所使用的,“控制器”可以指一个或多个硬件处理电路,所述一个或多个硬件处理电路可以包括微处理器、多核微处理器的核、微控制器、可编程集成电路、可编程门阵列或其他硬件处理电路中的任一项或某种组合。可替代地,“控制器”可以指一个或多个硬件处理电路与可在一个或多个硬件处理电路上执行的机器可读指令(软件和/或固件)的组合。
在一些示例中,生产服务器102可以是物理服务器。在其他示例中,生产服务器102可以是虚拟服务器。物理服务器使用一个物理计算机或多个物理计算机来实施。虚拟服务器可以使用一个虚拟机(VM)或多个虚拟机(VM)或其他类型的虚拟化实体(如容器等)来实施。“虚拟机”是指如计算机等物理机器的虚拟仿真。
在图1的示例中,假设生产服务器102已经被勒索软件过滤驱动程序112(也称为勒索软件桥)形式的勒索软件感染。尽管图1将勒索软件过滤驱动程序112描绘为处于生产服务器102中,但是在其他示例中,勒索软件过滤驱动程序112可以驻留在生产服务器102之外能够拦截由生产服务器102通过网络110向存储系统104发出的对数据的访问(读取访问或写入访问)的请求的任何位置(例如,在如路由器或交换机等通信节点中)。
如图1所描绘的,存储访问程序108发出请求114,所述请求被勒索软件过滤驱动程序112拦截。如果勒索软件过滤驱动程序112不存在,则请求114将通过生产服务器102的网络接口115通过网络110传输到存储系统104,以供存储控制器120进行处理,从而访问由存储装置116存储的数据。网络接口115可以包括(通过网络110发射和接收信号的)通信收发器和支持使用各种协议进行数据通信的任何协议层。
如果勒索软件过滤驱动程序112存在(如图1所示),则勒索软件过滤驱动程序112会拦截请求114。如果请求114是写入请求,则勒索软件过滤驱动程序112对与写入请求相关联的写入数据进行加密,然后通过网络110将写入请求连同加密的写入数据一起发送到存储系统104。这使得存储系统104中的存储控制器120将加密的写入数据写入存储系统104的存储装置116。存储装置116可以用存储设备(storage devices)的集合(单个存储设备或多个存储设备)来实施。存储设备的示例可以包括基于磁盘的存储设备、固态驱动器和/或其他类型的存储设备或存储器(memory)设备。
在一些示例中,加密的写入数据(由勒索软件过滤驱动程序112执行的未授权加密产生)可以被写入存储在存储装置116中的主卷118。“主卷”可以指用于存储响应于来自生产服务器102的读取请求和写入请求而被访问的数据的卷。
尽管图1仅示出了存储装置116中的一个主卷118,但是在其他示例中,存储装置116中可以存储多于一个主卷118。
勒索软件过滤驱动程序112还可以拦截响应于由存储访问程序108发出的读取请求而取得的读取数据。因此,如果请求114是读取请求,则勒索软件过滤驱动程序112会将读取请求转发到存储系统104,使得存储控制器120从主卷118读取数据。注意,从主卷118读取的数据可以是由勒索软件过滤驱动程序112加密的加密数据。当勒索软件过滤驱动程序112响应于读取请求而接收加密数据时,勒索软件过滤驱动程序112对加密数据进行解密,并将加密数据的解密版本提供给存储访问程序108。存储访问程序108可以向如远程客户端设备等请求者提供加密数据的解密版本。以这种方式,数据的请求者将不会知道数据已经在存储系统104中被加密,因为请求者接收到加密数据的解密版本。
根据本公开的一些实施方式,保护服务器106用于检测存储系统104中的未授权数据加密,如由勒索软件过滤驱动程序112执行的未授权数据加密。保护服务器106可以是物理服务器或虚拟服务器。
在一些示例中,可以有多个保护服务器106,如用于支持不同类型的生产服务器102,如执行不同类型的OS(例如,WINDOWS OS、Linux OS等)的具有各自不同类型的文件系统的生产服务器102。在这样的示例中,多个保护服务器106可以支持针对不同类型的文件系统的勒索软件检测。
在其他示例中,一个保护服务器106可以支持不同类型的生产服务器102,如采用不同类型的文件系统的生产服务器102。
保护服务器106位于受保护环境130中,以保护保护服务器106免受可能导致勒索软件检测引擎128或保护服务器106的一些其他特征损坏的未授权访问。如此处所使用的,“引擎”可以指一个或多个硬件处理电路,所述一个或多个硬件处理电路可以包括微处理器、多核微处理器的核、微控制器、可编程集成电路、可编程门阵列或其他硬件处理电路中的任一项或某种组合。可替代地,“引擎”可以指一个或多个硬件处理电路与可在一个或多个硬件处理电路上执行的机器可读指令(软件和/或固件)的组合。
作为示例,受保护环境130可以由防火墙提供,所述防火墙防止对保护服务器106的任何未授权访问。保护服务器106可以通过防火墙来访问网络110上的实体(例如,存储系统104),但是其他实体可能无法发起与保护服务器106的通信。以这种方式,保护服务器106可以受到保护以防止损坏。
保护服务器106也可以是未被(如恶意软件)破坏的“纯净”服务器。在一些示例中,保护服务器106可以从包括要由保护服务器执行的机器可读指令(包括固件、OS、应用程序等)的“纯净”映像132启动。例如,机器可读指令可以包括勒索软件检测引擎128的指令。
纯净映像132可以是不会被更新损坏的只读映像。此外,纯净映像132可以存储在安全位置以防止对纯净映像132的未授权访问。
保护服务器106可以周期性地(例如,每天)或者在保护服务器106要执行勒索软件检测的任何时间从纯净映像132启动。从纯净映像132启动包括在保护服务器106中执行启动代码(例如,基本输入/输出系统(BIOS)代码),在保护服务器106中加载OS,以及在保护服务器106中从纯净映像132加载其他程序(包括勒索软件检测引擎128)。如上所述,保护服务器106可以是物理服务器或虚拟服务器。
如果是物理服务器,则纯净映像132的机器可读指令在构成保护服务器106的(多个)计算机中执行。在这样的示例中,勒索软件检测引擎128可以被实施为保护服务器106中的一个VM或多个VM、保护服务器106中的应用程序或应用程序的多个实例等。在使用多个VM或应用程序的多个实例来实施勒索软件检测引擎128的示例中,多个VM或应用程序的多个实例可以并行实施相应的勒索软件检测,如用于检测多个生产服务器102中的勒索软件。
如果是虚拟服务器,则纯净映像132的机器可读指令在构成保护服务器106的虚拟环境(例如,一个VM或多个VM)中执行。
为了支持对勒索软件攻击的检测,在生产服务器102中提供代理126,拍摄主卷118的快照,并且在保护服务器106中提供勒索软件检测引擎128。
主卷118的快照的创建可以由生产服务器102或存储系统104触发,以产生也可以存储在存储装置116中的卷快照124。“快照”是指数据的时间点副本。在图1的情况下,数据的时间点副本是主卷118的副本。可以拍摄多个快照,其中,多个快照包含卷在不同时间点的不同副本。
假设主卷118包含在创建卷快照124时由勒索软件过滤驱动程序112加密的加密数据,那么卷快照124也将包括加密数据。保护服务器106中的勒索软件检测引擎128可通过网络110访问卷快照124。
在一些示例中,存储在存储系统104的存储装置116中的数据可以被复制到一个或多个不同的存储系统104R(其包括存储装置116R和存储控制器,未示出)。复制可以是同步的或异步的,或者按时间间隔执行。存储复制过程可以将存储装置116的全部内容或存储装置116的部分内容复制到存储系统104R中的存储装置116R。例如,复制过程可以将主卷118复制到存储装置116R中的复制的主卷118R和/或将卷快照124复制到所述存储装置中的复制的卷快照124R。在其他示例中,卷快照124没有被复制,但是卷快照的副本从存储系统104R处的主卷118R的副本被重新创建。
保护服务器106中的勒索软件检测引擎128可通过网络110或不同的网络访问复制的卷快照124R。
在随后的讨论中,对卷快照(例如,124)的提及可以是指原始卷快照(例如,124)或复制的卷快照(例如,124R)。
代理126的操作
代理126可以包括可在生产服务器102上执行的机器可读指令。代理126能够访问主卷118中的数据对象(例如,文件、框等)。在一些示例中,代理126可以对每个数据对象(或每个数据对象的一部分)的内容应用函数以产生相应的签名。例如,所应用的函数可以是散列函数134,所述散列函数基于包括数据对象(或数据对象部分)的输入来产生输出散列值。散列函数134可以是加密散列函数,如消息摘要散列函数、安全散列算法(SHA)散列函数等。
在其他示例中,可以使用其他类型的函数,如用于产生校验和或其他类型的签名的函数。
在一些示例中,主卷118中由代理126访问的数据对象是在测试时间间隔内具有更新时间的数据对象(例如,如果数据对象被添加或修改,则数据对象被更新),所述测试时间间隔开始于Tstart并且结束于时间Tend。测试时间间隔是基于在测试时间间隔内更新的数据对象来检测勒索软件攻击的时间间隔。通过仅关注测试时间间隔内的数据对象,可以减少为检测勒索软件而必须分析的数据对象的数量。
当前测试时间间隔一旦完成,就可以被改变Tstart和Tend以指定下一个测试时间间隔。因此,在一些示例中,勒索软件检测是在连续的测试时间间隔内逐时间间隔执行的。
代理126计算当前测试时间间隔内每个数据对象(即在当前测试时间间隔内更新的数据对象)的签名。在一些示例中,代理126可以计算当前测试时间间隔内经采样的数据对象子集(少于全部)的签名,而不是计算当前测试时间间隔内所有数据对象的签名。
在其他示例中,勒索软件检测可以基于分析主卷118和卷快照124的所有数据对象(或某个子集),而不是基于分析连续的测试时间间隔内的数据对象来执行勒索软件检测。
由于代理126驻留在生产服务器102(其可能已经被勒索软件过滤驱动程序112感染)中,由代理126从主卷118取得的任何加密数据对象(由勒索软件过滤驱动程序112加密)将首先被勒索软件过滤驱动程序112解密。因此,代理126将基于加密数据对象的解密版本来产生散列值。
代理126可以在分析结果136(例如,存储由代理126产生的散列值的分析结果文件或其他数据结构)中存储由散列函数134为主卷118中已经在当前测试时间间隔内更新的数据对象产生的散列值。在一些示例中,代理126可以将分析结果136写入主卷118(或存储装置116的单独存储位置)。可替代地,分析结果136可以以不同的方式(如响应于来自保护服务器106的请求通过网络110)被提供给保护服务器106。
在一些示例中,在代理126将分析结果136写入存储装置116之前,代理126可以如使用加密密钥(例如,公钥-私钥对中的公钥)对分析结果136进行加密。分析结果136的加密保护分析结果136的内容免受未授权访问,如被勒索软件过滤驱动程序112访问。
通过将分析结果136写入存储装置116而不是将分析结果136直接传送给保护服务器106,保护服务器106的安全性得到增强,因为避免了从被感染的生产服务器102到保护服务器106的路径。
响应于将分析结果136写入如主卷118或另一位置,代理126可以在创建卷快照124时基于主卷118的内容而触发卷快照124的创建。
分析结果136包含所分析的每个数据对象的条目。在一些示例中,每个条目可以包括被分析的相应数据对象的以下项目:1)指示相应数据对象存储在存储装置116中何处的存储位置指示符(例如,文件路径);2)时间信息(例如,相应数据对象的创建时间和/或相应数据对象的修改时间);3)相应数据对象的对应散列值;以及4)与相应数据对象相关联的任何其他元数据。
在其他示例中,分析结果136的每个条目可以包括被分析的相应数据对象的其他信息。
示例勒索软件检测操作
保护服务器106可以配置有识别卷(包括卷快照124)以扫描勒索软件的配置信息。配置信息可以由网络管理员或另一个实体提供给保护服务器106。
勒索软件检测引擎128从卷快照124取得数据对象,并基于取得的数据对象生成散列值(例如,通过应用类似于散列函数134的散列函数)。由于保护服务器106没有被如勒索软件过滤驱动程序112等勒索软件感染,因此勒索软件检测引擎128所读取的任何数据对象都不会首先被勒索软件过滤驱动程序112处理。因此,如果卷快照124中的特定数据对象已经被勒索软件过滤驱动程序112加密,则勒索软件检测引擎128将读取加密的特定数据对象,而不是特定数据对象的解密版本。
勒索软件检测引擎128还从存储装置116取得分析结果136。在分析结果136由代理126写入主卷118的示例中,卷快照124还将包括分析结果136的副本,因为卷快照124的创建是在代理126将分析结果136写入主卷118之后由所述代理触发的。勒索软件检测引擎128从卷快照124取得分析结果136的副本。
如果分析结果136被加密,则勒索软件检测引擎128使用加密密钥(如公钥-私钥对中的私钥)对加密的分析结果136进行解密。
勒索软件检测引擎128识别与分析结果136中的散列值相关联的数据对象,其中,这些数据对象在相应测试时间间隔内被更新。勒索软件检测引擎128(使用分析结果136中的存储位置指示符)从卷快照124取得所识别的数据对象的副本,并通过对从卷快照124取得的数据对象应用散列函数来生成散列值。勒索软件检测引擎128然后将分析结果136中的散列值与生成的散列值进行比较。散列值之间的不匹配表明存在未授权的数据加密。
注意,如果勒索软件检测引擎128检测到从卷快照124取得的分析结果136的格式和/或内容无效,则这种情况可能是对已经破坏了分析结果136本身的勒索软件攻击的指示,并且勒索软件检测引擎128可以发出勒索软件攻击指示。
图2示出了勒索软件检测引擎128如何使用卷快照124和分析结果136来确定勒索软件攻击是否正在发生的示例。代理126从主卷118读取数据对象A。假设数据对象A被勒索软件过滤驱动程序112预先加密,然后存储在主卷118中。勒索软件过滤驱动程序112拦截从主卷118读取的加密数据对象A,并对加密数据对象A进行解密以产生加密数据对象A的解密版本。加密数据对象A的解密版本由勒索软件过滤驱动程序112提供给代理126,所述代理对加密数据对象A的解密版本应用散列函数134(图1)以产生输出散列值Hash_A。Hash_A连同数据对象A的存储位置指示符(例如,文件路径)以及与数据对象A相关联的其他元数据一起被写入分析结果136中的条目。
勒索软件检测引擎128从卷快照124读取数据对象A。注意,卷快照124是在代理126完成填充分析结果136并将分析结果136写入存储系统104时创建的。因此,由于主卷118中的数据对象A被加密,因此卷快照124中的数据对象A的副本也被加密。
勒索软件检测引擎128从卷快照124读取数据对象A。由于保护服务器106没有感染勒索软件过滤驱动程序112,因此从卷快照124读取并由勒索软件检测引擎128接收的数据对象A保持加密形式。勒索软件检测引擎128对加密数据对象A应用散列函数并输出散列值Hash_A'。注意,Hash_A'不同于分析结果136中的Hash_A,因为Hash_A是基于加密数据对象A的解密版本生成的。
勒索软件检测引擎128从分析结果136取得Hash_A。勒索软件检测引擎128将生成的散列值与代理126产生的分析结果136中的对应散列值进行比较。所述比较包括将来自分析结果136的Hash_A与由勒索软件检测引擎128生成的Hash_A'进行比较(在202处)。如果勒索软件检测引擎128检测到Hash_A与Hash_A'之间的不匹配,则这可以表明可能存在勒索软件攻击。
如果检测到分析结果136中的散列值与由勒索软件检测引擎128基于从卷快照124取得的数据对象生成的散列值之间的某个数量(1或多于1)的不匹配,则勒索软件检测引擎128可以提供勒索软件攻击指示,例如,消息、警报等。
勒索软件攻击指示可以被发送到目标实体,如生产服务器102、与网络管理员相关联的设备等。响应于勒索软件攻击指示,目标实体可以采取补救行动,所述补救行动可以包括以下各项中的任何一项或某种组合:禁用(例如,断电)生产服务器102或生产服务器102的一部分,禁用由生产服务器102进行的网络访问,执行对生产服务器102的恶意软件扫描,等等。
根据本公开的一些示例的勒索软件检测技术是轻量级的,即勒索软件检测技术不会消耗生产服务器102的过多资源而使得请求者可能会注意到数据访问操作显著减慢。勒索软件检测技术是轻量级的,因为代理126不必在数据对象被创建或修改时实时运行——相反,代理126可以按指定时间(例如,每天一次、每小时一次、每周一次等)生成分析结果136。计算数据对象的签名(例如,散列值)的计算复杂度相对较低。另外,代理126可以选择在当前测试时间间隔内为新的或经修改的数据对象的小样本(例如,1%或某个其他百分比)生成散列值。
与不同类型的生产服务器相关的另外的示例
在一些示例中,生产服务器102是物理服务器。在其他示例中,生产服务器102是虚拟服务器。
在生产服务器102是物理生产服务器的示例中,可以在保护服务器106和与物理生产服务器102相关联的卷(例如,卷快照124)之间建立光纤通道(FC)或互联网小型计算机系统接口(iSCSI)连接。利用FC或iSCSI连接,保护服务器106使用保护服务器106专用的端口(例如,提供受保护环境130的防火墙的端口)来通过网络110或不同的独立网络访问卷快照124。在其他示例中,可以通过网络110或不同的独立网络在保护服务器106与卷快照124之间建立其他类型的连接。
图3描绘了受保护的生产服务器是虚拟生产服务器的示例,所述虚拟生产服务器包括一个生产VM或多个生产VM(例如,生产VM1至生产VMn,其中,n≥1)。在不同示例中,可能只有一个生产VM。“生产VM”是在正常操作期间用于将数据存储到存储系统304的VM。物理生产服务器302(由一个物理计算机或多个物理计算机构成)执行管理程序(hypervisor)310(也称为VMM)。管理程序模拟物理计算机系统(包括一个计算机或多个计算机)的物理资源以供VM使用。物理资源的示例包括处理器资源、存储资源和通信资源。
管理程序310提供用于运行VM(包括生产VM1和可能的其他生产VM,至多VMn(其中,n≥1))的虚拟基础设施。管理程序310模拟物理生产服务器302的物理资源以供生产VM使用。
管理程序310包括虚拟存储管理器(virtual storage manager)307,所述虚拟存储管理器响应于由任何生产VM执行的数据访问而通过网络110向存储系统304提交请求(例如,读取请求或写入请求)。虚拟存储管理器307通过网络110通过物理网络接口315(类似于图1的网络接口115)向存储系统304发送请求。
生产VM1包括存储访问程序308,所述存储访问程序可以执行与图1的存储访问程序108的任务类似的任务。由存储访问程序308提交的访问请求(读取请求或写入请求)由虚拟存储管理器307处理,并通过网络110发送到存储系统304。
生产VM1还包括代理程序326,所述代理程序执行与图1的代理126的任务类似的任务,包括生成分析结果336(类似于图1中的136),所述分析结果包括存储在存储系统304的存储装置316中的主卷318中的管理程序文件系统314中封装的VM1的虚拟磁盘映像(319-1)中数据的数据对象的签名(例如,基于散列函数334的应用的散列值)。存储系统304包括存储控制器320,所述存储控制器控制对存储装置316中的数据的访问。
物理生产服务器302中的其他生产VM可以具有与生产VM1的布置类似的布置。
每个VM可以具有存储VM的数据的一个或多个虚拟磁盘映像。例如,生产VM1在虚拟磁盘映像319-1中写入或读取数据,并且生产VMn在虚拟磁盘映像319-n中写入或读取数据。另外,管理程序310可以将虚拟磁盘映像319-1至319-n存储在单个主卷318中,如图3所描绘的,或者可替代地,将其存储在多个主卷中。
图3还示出了保护VM 306形式的保护服务器,所述保护服务器执行与图1的保护服务器106的任务类似的任务。保护VM 306在类似于图1的受保护环境130的受保护环境330内的物理计算机350(或多个物理计算机)中执行。保护VM 306由在物理计算机350中执行的管理程序352管理。
保护VM 306包括勒索软件检测引擎328,所述勒索软件检测引擎执行与图1的勒索软件检测引擎128的任务类似的任务,包括用于检测生产VM(例如,生产VM1至VMn)是否已经感染勒索软件(包括勒索软件过滤驱动程序)的勒索软件检测。
图3示出了勒索软件过滤驱动程序可能感染生产VM(例如,生产VM1)或管理程序310或两者的示例。
在基于访客(guest-based)的勒索软件过滤驱动程序312已经感染了生产VM1的示例中,生产VM1中的基于访客的勒索软件过滤驱动程序312的行为类似于图1中勒索软件过滤驱动程序112的行为,从而破坏VM1的虚拟磁盘映像319-1中的数据。基于访客的勒索软件过滤驱动程序312拦截由生产VM1向存储系统304发出的任何写入请求,并对写入请求的写入数据进行加密,以使得加密的写入数据通过生产VM1的虚拟网络接口364写入VM1的虚拟磁盘映像319-1。基于访客的勒索软件过滤驱动程序312还拦截响应于读取请求的读取数据。如果读取数据被加密,则基于访客的勒索软件过滤驱动程序312对加密的读取数据进行解密以产生加密的读取数据的解密版本,然后将加密的读取数据的解密版本转发到生产VM1。
在基于管理程序的勒索软件过滤驱动程序354已经感染管理程序310的示例中,基于管理程序的勒索软件过滤驱动程序354可能会破坏写入主卷318的数据,并且破坏与主卷318的数据存储相关联的逻辑结构,包括管理程序文件系统314和所包含的虚拟磁盘映像319-1至319-n。例如,主卷318可以包括将数据存储在虚拟磁盘映像319-1至319-n中的管理程序文件系统314。在具体示例中,管理程序文件系统314可以是来自VMWare公司的VM文件系统(VMFS)。在这样的具体示例中,如图3所描绘的,虚拟磁盘映像319-1至319-n是VM盘(VMDK),其中,VMDK指的是与VM用来存储生产数据的虚拟存储设备的容器相关的文件格式。在其他示例中,管理程序文件系统314和虚拟磁盘映像319-1至319-n根据其他管理程序定义来定义。根据VM的访客操作系统和文件系统格式,VMDK可以包括文件集合(例如,单个文件或多个文件)。在一些示例中,每个VM具有与VM相关联的单个虚拟磁盘。在其他示例中,每个VM可以具有与VM相关联的一个或多个虚拟磁盘。
存在这样的示例,即生产管理程序连接到多个存储系统,并且每个存储系统有多个主卷,并且每个主卷可以有多个管理程序文件系统,并且每个文件系统包含多个虚拟磁盘映像。在各种可能的示例中的任何示例中,基于管理程序的勒索软件过滤驱动程序(例如,354)可以加密和破坏属于一个或多个生产VM的生产数据。
如图3所示,可以创建作为主卷318的副本的卷快照324。卷快照324包括作为主卷318中的管理程序文件系统314的副本的管理程序文件系统360,以及作为主卷318中的虚拟磁盘映像319-1至319-n的副本的虚拟磁盘映像325-1至325-n。代理程序326可以响应于产生分析结果336而触发卷快照324的创建,所述分析结果可以包括在相应测试时间间隔内主卷318内的虚拟磁盘映像319-1 319-n中的数据对象(例如,文件)的签名。在其他示例中,卷快照324是在为多个生产VM创建分析结果(包括336)之后创建的,而不是在仅为一个VM创建分析结果336之后创建的。
保护VM 306可以是从受保护环境330中的纯净映像332启动的纯净VM。
在基于访客的勒索软件过滤驱动程序312已经感染生产VM1的示例中,勒索软件检测引擎328可以通过将分析结果336中的签名与由勒索软件检测引擎328从与生产VM1相关联的虚拟磁盘映像(325-1至325-n)中的一个或多个虚拟磁盘映像中的对应数据对象生成并存储在卷快照324中的对应签名进行比较来检测勒索软件攻击的存在。
在基于管理程序的勒索软件过滤驱动程序354已经感染管理程序310的示例中,如果勒索软件检测引擎328无法安装卷快照324,则勒索软件检测引擎328可以检测到勒索软件攻击。卷被安装到包括保护VM 306的服务器,以允许保护VM 306访问卷。如果勒索软件检测引擎328无法安装卷快照324和/或无法打开卷快照324,则这是对管理程序文件系统314被破坏的指示,如被基于管理程序的勒索软件过滤驱动程序354破坏。
如果成功地安装了卷快照324并且正确地访问了管理程序文件系统314,并且与VM1相关联的单个或多个虚拟磁盘映像(325-1至325-n)连接到保护VM 306,则检测以与以上针对基于访客的过滤驱动程序描述的相同的方式进行。在该示例中,勒索软件检测引擎328还执行分析结果中的签名与由检测引擎328基于卷快照324和所包括的虚拟磁盘中的数据对象而生成的对应签名的数据对象签名比较。
在一些示例中,各自具有相应勒索软件检测引擎328的多个保护VM 306可以并行执行以提高吞吐量。
另外的示例
在一些示例中,给定数据对象的分析结果中的签名与由勒索软件检测引擎128基于从卷快照124取得的给定数据对象的副本生成的签名之间的不匹配可能是由于生产服务器102的授权操作(即,生产服务器102的并非由勒索软件过滤驱动程序112发起的操作)。
例如,对于给定数据对象,代理126可能已经在时间Ta计算了第一签名,并在时间Tb触发了卷快照124的创建。在时间Tc,其中,Ta<Tc<Tb(即,Tc在Ta与Tb之间),合法的请求者可以更新给定数据对象。这将导致为从卷快照124取得的给定数据对象(在时间Tc的版本)生成的第二签名不同于分析结果136中的第一签名(第一签名基于给定数据对象在时间Ta的版本),并且可能导致勒索软件攻击的错误指示。
为了解决这个问题,勒索软件检测引擎128可以检查与分析结果136中的第一签名相关联的时间信息,并且确定时间信息所指示的更新时间是否不同于从卷快照124取得的给定数据对象的更新时间。如果来自分析结果136的更新时间不同于卷快照124中给定数据对象的更新时间,则这将向勒索软件检测引擎128指示勒索软件检测引擎128不应该比较给定数据对象的签名来进行勒索软件检测。因此,勒索软件检测引擎128可以跳过对给定数据对象的签名的比较。
作为另一个示例,生产服务器102或另一个的OS可能已经对数据对象进行了合法加密。在这种情况下,与数据对象相关联的元数据可以指示数据对象的加密。如果勒索软件检测引擎128基于元数据检测到数据对象被合法加密,则勒索软件检测引擎128可以跳过对数据对象的签名的比较。在一些示例中,勒索软件检测引擎128可以取得加密密钥和/或撤销加密的权限,以便可以分析数据的损坏。
在另外的示例中,生产服务器102可以使用BitLocker,这是由微软公司发布的通过在写入卷时对数据进行加密以及在从卷读取数据时对数据进行解密来合法地加密卷(如主卷118)的数据的磁盘卷加密和安全程序。尽管提到了BitLocker,但是在其他示例中,生产服务器102中也可以存在其他类似的程序。BitLocker的行为可以类似于勒索软件过滤驱动程序112的行为,除了由BitLocker执行的加密是经授权的。为了解决生产服务器102中存在BitLocker的问题,勒索软件检测引擎128可以选择:1)跳过与包括BitLocker的生产服务器相关联的任何卷的基于数据对象的勒索软件监测,或者2)在保护服务器106中包括BitLocker和加密密钥,所述加密密钥可以反转由BitLocker在生产服务器中执行的加密。
图4是存储有机器可读指令的非暂态机器可读或计算机可读存储介质400的框图,所述机器可读指令在执行时使至少一个处理器执行各种任务。处理器可以包括微处理器、多核微处理器的核、微控制器、可编程集成电路、可编程门阵列、或另一硬件处理电路。
机器可读指令包括用于向第一服务器提供对与第二服务器相关联的数据卷的副本的访问的卷副本访问指令402,其中,第一服务器受到保护以防止未授权的访问。
例如,第一服务器可以分别是图1或图3的保护服务器106或保护VM 306,并且卷的副本可以是卷快照124或虚拟磁盘映像325-1。
基于将第一服务器与通过网络进行的外部访问隔离,如提供分别在图1或图3的受保护环境130或330中的第一服务器,保护第一服务器以防止未授权的访问。
机器可读指令包括用于在第一服务器处接收由第二服务器中的代理(例如,分别为图1或图3中的126或326)基于对卷的数据对象应用函数而生成的第一签名的代理签名接收指令404。
第二服务器可以分别是图1或图3的生产服务器102或生产VM。函数可以是散列函数,如SHA-256或另一种散列函数。
在一些示例中,第一签名是基于对卷的在测试时间间隔内已被更新的数据对象应用函数而得到的。
机器可读指令包括用于在第一服务器处生成基于对包含在卷的副本或虚拟磁盘映像的副本中的数据对象应用函数而得到的第二签名的第二签名生成指令406。
在一些示例中,机器可读指令可以从卷的副本取得数据对象,并且基于取得的数据对象如通过对取得的数据对象应用散列函数来生成第二签名。
机器可读指令包括用于基于将第二签名与第一签名进行比较来确定是否存在对第二服务器的数据执行未授权数据加密的恶意软件的未授权数据加密检测指令408。
如果在第一签名与对应的第二签名之间存在大于预定数量(1或大于1)的不匹配,则机器可读指令可以指示存在未授权数据加密。
在一些示例中,第二服务器中的代理如响应于由代理将结果(例如,分别为图1或图3的136或336)写入存储系统而触发卷副本的创建。
在一些示例中,在第一服务器执行分析以确定是否存在执行未授权数据加密的恶意软件之前从纯净映像(例如,分别为图1或图3中的132或332)启动第一服务器,所述分析包括提供对卷的副本的访问、接收、生成和确定。
在一些示例中,卷包括文件系统,并且数据对象包括文件系统中的文件。在一些示例中,第一服务器支持针对不同类型的文件系统检查恶意软件。
在一些示例中,机器可读指令响应于无法安装或打开卷而指示存在执行未授权数据加密的恶意软件。
图5是根据一些示例的系统500的框图。系统500可以包括一个计算机或多个计算机。
系统500包括处理器502(或多个处理器)和存储介质504,所述存储介质存储可在处理器502上执行以执行各种任务的代理506。可在硬件处理器上执行的代理506可以指可在单个处理器上执行的代理506或者可在多个处理器上执行的代理506。
代理506包括用于计算写入存储系统中的卷的数据对象的签名的签名计算指令508。签名可以是通过对数据对象应用散列函数而生成的散列值。
代理506包括用于将包括签名的结果写入存储系统的结果写入指令510。结果可以包括加密文件,并且结果可以包括相应数据对象的条目。每个条目可以包括相应数据对象的对应签名、相应数据对象的存储位置指示符以及可能的其他信息。
代理506包括用于响应于将包括签名的结果写入存储系统而触发卷副本在存储系统处的创建的卷副本创建指令512。结果的签名用于由未授权数据加密检测引擎(例如,分别为图1或图3的勒索软件检测引擎128或328)与由服务器(例如,保护服务器106)基于由未授权数据加密检测引擎从存储系统处的卷的副本取得的对应数据对象而生成的签名进行比较。
图6是根据一些示例的过程600的流程图。
过程600包括由第一服务器访问(在602处)由第二服务器更新的数据卷的快照,其中,第一服务器受到保护以防止未授权的访问。
第一服务器可以分别是图1或图3的保护服务器106或保护VM 306。
过程600包括在第一服务器处接收(在604处)包含由第二服务器中的代理基于对卷的数据对象应用函数而生成的第一签名的结果,其中,快照的创建是响应于代理将结果写入卷而触发的,并且如果第二服务器中存在恶意软件,则卷的应用了函数的数据对象是由恶意软件产生的加密数据对象的解密版本(例如,来自图2的勒索软件过滤驱动程序112的加密数据对象A的解密版本)。
第二服务器可以分别是图1或图3的生产服务器102或生产VM。第一签名可以是散列值,并且可以基于在测试时间间隔期间更新的数据对象。
过程600包括在没有恶意软件的第一服务器处生成(在606处)基于对卷的快照的数据对象应用函数而得到的第二签名,其中,在生成第二签名之前从包括机器可读指令的纯净映像(例如,图1中的132)启动第一服务器。第二签名可以是散列值。
过程600包括在第一服务器处基于将第二签名与第一签名进行比较来确定(在608处)是否存在对第二服务器的数据执行未授权数据加密的恶意软件。
第一签名与第二签名之间的不匹配指示存在对数据执行未授权数据加密的恶意软件。
过程600包括响应于第二签名与第一签名之间的不匹配而指示(在610处)存在恶意软件。
存储介质(例如,图4中的400或图5中的504)可以包括以下各项中的任何一项或某种组合:半导体存储器设备,如动态或静态随机存取存储器(DRAM或SRAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪速存储器;磁盘,如固定盘、软盘和可移动盘等;另一种磁介质,包括磁带;光学介质,如光盘(CD)或数字视频盘(DVD)等;或另一类型的存储设备。注意,上文讨论的指令可以在一个计算机可读或机器可读存储介质上提供,或者可替代地,可以在分布在具有可能多个节点的大型系统中的多个计算机可读或机器可读存储介质上提供。这种一个或多个计算机可读或机器可读存储介质被认为是物品(或制品)的一部分。物品或制品可以指任何制造的单个部件或多个部件。一个或多个存储介质可以位于运行机器可读指令的机器中、或者位于远程站点处,可以通过网络从所述远程站点下载机器可读指令以供执行。
在本公开中,除非上下文另外明确指示,否则使用术语“一个/一种(a/an)”或“所述(the)”旨在同样包括复数形式。同样地,当在本公开中使用时,术语“包括(includes/including/comprises/comprising)”、“具有(have/having)”指明存在所述元件,但不排除存在或添加其他元件。
在前述描述中,阐述了许多细节以使得理解本文中所公开的主题。然而,可以在没有这些细节中的一些细节的情况下实践实施方式。其他实施方式可以包括上文所讨论的细节的修改和变化。所附权利要求旨在覆盖这样的修改和变化。
Claims (20)
1.一种非暂态机器可读存储介质,包括指令,所述指令在执行时使至少一个处理器进行以下操作:
向第一服务器提供对与第二服务器相关联的数据卷的副本的访问,其中,所述第一服务器受到保护以防止未授权的访问;
在所述第一服务器处接收由所述第二服务器中的代理基于对所述卷的数据对象应用函数而生成的第一签名;
在所述第一服务器处生成基于对所述卷的副本的数据对象应用所述函数而得到的第二签名;以及
在所述第一服务器处,基于将所述第二签名与所述第一签名进行比较,确定是否存在对所述第二服务器的数据执行未授权数据加密的恶意软件。
2.如权利要求1所述的非暂态机器可读存储介质,其中,所述函数包括散列函数,所述第一签名是第一散列值,并且所述第二签名是第二散列值。
3.如权利要求1所述的非暂态机器可读存储介质,其中,所述卷的副本是由所述第二服务器中的所述代理触发的所述卷的快照。
4.如权利要求3所述的非暂态机器可读存储介质,其中,所述卷的快照的创建是由所述代理响应于所述代理将包括所述第一签名的结果写入存储装置而被触发的。
5.如权利要求1所述的非暂态机器可读存储介质,其中,所述指令在执行时使所述至少一个处理器进行以下操作:
在所述第一服务器执行分析以确定是否存在执行未授权数据加密的恶意软件之前,从纯净映像启动所述第一服务器,所述分析包括提供对所述卷的副本的访问、所述接收、所述生成和所述确定。
6.如权利要求1所述的非暂态机器可读存储介质,其中,基于将所述第一服务器与通过网络进行的外部访问隔离来保护所述第一服务器以防止未授权的访问。
7.如权利要求1所述的非暂态机器可读存储介质,其中,所述第一签名是基于对所述卷的在测试时间间隔内已被更新的数据对象应用所述函数而得到的。
8.如权利要求1所述的非暂态机器可读存储介质,其中,所述卷包括文件系统,并且所述数据对象包括所述文件系统中的文件。
9.如权利要求8所述的非暂态机器可读存储介质,其中,所述第一服务器支持检查针对不同类型的文件系统的恶意软件。
10.如权利要求8所述的非暂态机器可读存储介质,其中,所述指令在执行时使所述至少一个处理器进行以下操作:
响应于无法安装或打开所述卷而指示存在执行未授权数据加密的恶意软件。
11.如权利要求1所述的非暂态机器可读存储介质,其中,所述第一服务器包括虚拟机。
12.如权利要求11所述的非暂态机器可读存储介质,其中,所述指令在执行时使所述至少一个处理器进行以下操作:
执行多个虚拟机来扫描多个第二服务器以用于确定是否存在执行未授权数据加密的恶意软件。
13.如权利要求1所述的非暂态机器可读存储介质,其中,从所述第二服务器中的代理接收的所述第一签名是包括所述第一签名以及所述数据对象的存储位置指示符的结果的一部分。
14.如权利要求13所述的非暂态机器可读存储介质,其中,所述结果是被加密的。
15.如权利要求13所述的非暂态机器可读存储介质,其中,所述指令在执行时使所述至少一个处理器进行以下操作:
响应于无法访问所述结果的内容而提供存在执行未授权数据加密的恶意软件的指示。
16.一种系统,包括:
处理器;以及
存储有代理的非暂态机器可读存储介质,所述代理能够在所述处理器上执行以进行以下操作:
计算写入存储系统中的卷的数据对象的签名,
将包括所述签名的结果写入所述存储系统,以及
响应于将包括所述签名的结果写入所述存储系统,触发所述卷的副本在所述存储系统处的创建,其中,所述结果的签名用于由未授权数据加密检测引擎与由服务器基于由所述未授权数据加密检测引擎从所述存储系统处的所述卷的副本中取得的对应数据对象而生成的签名进行比较。
17.如权利要求16所述的系统,其中,所述代理能够在所述处理器上执行以进行以下操作:
识别在测试时间间隔中更新的数据对象,
其中,所述签名的计算是针对所识别的数据对象进行的。
18.如权利要求16所述的系统,其中,所述结果被写入所述卷,并且其中,所述卷的副本进一步包括所述结果,并且其中,所述卷的副本中的结果能够由所述未授权数据加密检测引擎访问。
19.一种第一服务器的方法,所述方法包括:
由所述第一服务器访问由第二服务器更新的数据卷的快照,其中,所述第一服务器受到保护以防止未授权的访问;
在所述第一服务器处接收包含由所述第二服务器中的代理基于对所述卷的数据对象应用函数而生成的第一签名的结果,其中,所述快照的创建是响应于所述代理将所述结果写入所述卷而触发的,所述结果包含所述第一签名,并且如果所述第二服务器中存在恶意软件,则所述卷的应用了所述函数的数据对象是由所述恶意软件产生的加密数据对象的解密版本;
在没有所述恶意软件的所述第一服务器处生成基于对所述卷的快照的数据对象应用所述函数而得到的第二签名,其中,在生成所述第二签名之前从包括机器可读指令的纯净映像启动所述第一服务器;
在所述第一服务器处,基于将所述第二签名与所述第一签名进行比较,确定是否存在对所述第二服务器的数据执行未授权数据加密的所述恶意软件;以及
响应于所述第二签名与所述第一签名之间的不匹配而指示存在所述恶意软件。
20.如权利要求19所述的方法,其中,所述第一服务器从所述纯净映像的启动进一步先于所述第一服务器访问所述快照、接收所述结果以及确定所述恶意软件是否存在,并且其中,所述纯净映像包括用于所述第一服务器的操作系统和用于执行对所述恶意软件是否存在的确定的恶意软件检测指令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/815,596 US20240037223A1 (en) | 2022-07-28 | 2022-07-28 | Detection of unauthorized data encryption |
US17/815,596 | 2022-07-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117521062A true CN117521062A (zh) | 2024-02-06 |
Family
ID=89575235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211281613.8A Pending CN117521062A (zh) | 2022-07-28 | 2022-10-19 | 未授权数据加密的检测 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240037223A1 (zh) |
CN (1) | CN117521062A (zh) |
DE (1) | DE102022125760A1 (zh) |
-
2022
- 2022-07-28 US US17/815,596 patent/US20240037223A1/en active Pending
- 2022-10-06 DE DE102022125760.6A patent/DE102022125760A1/de active Pending
- 2022-10-19 CN CN202211281613.8A patent/CN117521062A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102022125760A1 (de) | 2024-02-08 |
US20240037223A1 (en) | 2024-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11663031B2 (en) | Techniques for securing virtual cloud assets at rest against cyber threats | |
US11290492B2 (en) | Malicious data manipulation detection using markers and the data protection layer | |
US9250945B2 (en) | Detecting a repeating execution time sequence in a virtual machine | |
US10990690B2 (en) | Disk encryption | |
US10719346B2 (en) | Disk encryption | |
EP3408778B1 (en) | Disk encryption | |
US9813443B1 (en) | Systems and methods for remediating the effects of malware | |
US11238157B2 (en) | Efficient detection of ransomware attacks within a backup storage environment | |
US10466924B1 (en) | Systems and methods for generating memory images of computing devices | |
US11341234B1 (en) | System for securely recovering backup and data protection infrastructure | |
Hirano et al. | LogDrive: a proactive data collection and analysis framework for time-traveling forensic investigation in IaaS cloud environments | |
US11100217B1 (en) | Leveraging a disaster recovery infrastructure to proactively manage cyber security threats to a production environment | |
US20170053118A1 (en) | Changed Block Tracking Driver for Agentless Security Scans of Virtual Disks | |
Jansen et al. | Architecting dependable and secure systems using virtualization | |
US20210406345A1 (en) | Framework for preventing software piracy in virtual machines (vms) by using virtual hardware encryption verification | |
US11341245B1 (en) | Secure delivery of software updates to an isolated recovery environment | |
Goldman et al. | Scalable integrity monitoring in virtualized environments | |
Mankin et al. | Dione: a flexible disk monitoring and analysis framework | |
US20240037223A1 (en) | Detection of unauthorized data encryption | |
US20210349748A1 (en) | Virtual machine restoration for anomaly condition evaluation | |
Ma et al. | Travelling the hypervisor and ssd: A tag-based approach against crypto ransomware with fine-grained data recovery | |
Li et al. | Privacy-preserving virtual machine | |
US20240111857A1 (en) | Secure execution of a file on a copy device in a virtualized computing environment | |
Kim et al. | Rocky: Replicating block devices for tamper and failure resistant edge-based virtualized desktop infrastructure | |
US20240111867A1 (en) | Cyber recovery forensics kit - experimentation automation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |