CN109388945B - 一种基于固态存储设备防范勒索软件攻击的方法和系统 - Google Patents
一种基于固态存储设备防范勒索软件攻击的方法和系统 Download PDFInfo
- Publication number
- CN109388945B CN109388945B CN201810953026.6A CN201810953026A CN109388945B CN 109388945 B CN109388945 B CN 109388945B CN 201810953026 A CN201810953026 A CN 201810953026A CN 109388945 B CN109388945 B CN 109388945B
- Authority
- CN
- China
- Prior art keywords
- data
- software
- read
- write
- address
- 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.)
- Active
Links
Images
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/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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开一种基于固态存储设备防范勒索软件攻击的方法和系统,在固态存储设备固件闪存转换层中实现检测勒索软件,利用固态存储设备的非原位更新的特点实现数据轻量化备份与数据恢复。勒索软件检测模块根据勒索软件攻击用户时的特殊数据访问模式,建立细粒度的访问模型;数据备份模块在检测模块没有检测到勒索软件的情况下,采取周期备份的方式,对包含地址映射表、页使用情况表等在内的重要元数据进行备份,利用垃圾回收策略保证当前备份版本数据不会被物理删除;数据恢复模块通过在写操作中对应物理页的OOB区增加备份数据版本、写操作序号及目标逻辑块地址信息,采用二分法对备份的元数据进行重构,进而实现快速恢复用户数据。
Description
技术领域
本发明涉及勒索软件检测技术与数据备份及数据恢复技术,特别涉及一种基于固态存储设备针对加密型勒索软件的检测技术与数据备份及数据恢复方法。
背景技术
近年来,一种通过限制用户正常访问文件或系统来勒索赎金的恶意软件—勒索软件(Ransomware)开始盛行,并被广泛应用于各类网络犯罪中,据统计勒索软件在2016-2017年期间的销售量增长了约2502%。1996年Young等人第一次提出了加密病毒的概念,并命名为Cryptovirology,进而提出通过结合加密算法和计算机病毒可以实现访问用户关键数据,加密用户文件来勒索钱财的目的,这就是勒索软件的雏形。随着网络技术的发展,这类加密病毒不断发展,传播方式日益多样,影响范围迅速扩大,攻击能力逐渐增强。勒索软件的攻击手段多样,根据是否运用加密算法来加密用户文件,可以分为非加密型勒索软件和加密型勒索软件。
非加密型勒索软件不对用户文件进行加密。典型的非加密型勒索软件只是对用户主机进行锁屏,或者修改分区表和主引导记录;也有的勒索软件会压缩用户文件,然后通过口令保护压缩的文件。这类勒索软件攻击方式的效果与加密文件的效果一样,都会使得用户失去对文件的访问控制权,进而勒索赎金。
加密型勒索软件运用加密算法对用户文件进行加密。根据加密文件所用的加密算法类型可以分为对称加密勒索软件、公钥加密勒索软件和混合加密勒索软件。对称加密勒索软件利用对称加密算法加密文件,但是易被逆向或者暴力破解恢复出对称密钥。公钥加密勒索软件利用公钥加密算法加密文件,一般公钥会被嵌入到用户主机中并加密文件,而私钥则被保存在勒索软件的服务器端,这种类型的勒索软件的缺点是加密速度慢,且需要为每一个感染主机维护一个公私密钥对,导致密钥管理开销大。混合加密勒索软件同时使用对称和非对称加密算法,进而规避以上两种类型勒索软件的缺点。
勒索软件防护技术核心是对勒索软件的检测,以及通过数据备份进行数据恢复。一般基于两种思路来抵抗勒索软件,一种是对现有勒索软件进行大规模逆向分析,总结归纳出勒索软件的特征进行检测预防;另外一种思路是对用户文件进行备份,结合勒索软件的检测方法,当发现勒索软件攻击后,对数据进行恢复。
恶意软件检测技术主要分为静态特征分析和沙盒(Sandbox)环境下的动态行为分析。针对勒索软件这类通过加密用户文件进行攻击的特殊恶意软件,近年来学术界提出的检测方法主要分为两大类:分析文件系统操作和分析加密算法的异常使用。基于分析文件系统操作的检测方法通常基于一个具有特权内核模式的驱动程序来捕捉所有的系统输入输出请求,以此来监控勒索软件的恶意进程与文件系统的交互,同样可以根据勒索软件的读写模式、文件熵值变化来进行检测。基于分析加密算法的检测方法通过监控系统加密相关的异常操作来进行检测勒索软件。还有一些通过其他方式来检测勒索软件的方案,如利用蜜罐技术、http流量特征检测勒索软件。
在针对勒索软件的数据备份方面,备份的数据越来越强调轻量化、经济性与可靠性,从而避免使用系统开销代价大、经济成本高的数据备份机制。目前针对勒索软件的数据备份的方式,主要是通过增加本地额外存储设备,采用日志文件系统,网络文件系统,或者采用云存储来备份数据。在针对勒索软件的数据恢复方面,数据恢复机制的快速、自动化已经成为新的发展要求,如何利用现有存储系统特性提升数据恢复效率,减少用户操作是主要的研究方向。
随着固态存储设备价格的降低,因具有存储速度块、体积小、噪声小、耗能低等优点,固态硬盘(SSD)、SD卡、eMMC卡和U盘等固态存储设备已经逐渐取代机械磁盘成为主流的存储设备,被广泛的应用于手机、电脑、大型数据中心等设备中,存储着大量的企业和用户的重要数据。与传统的机械磁盘不同,固态存储设备以半导体器件闪存(NAND Flash)作为存储介质。闪存具有先写后擦,擦写单位不一致等物理特性,为屏蔽闪存这些特殊的物理性质,固态存储设备在其固件中通过提供闪存转换层(Flash Translation Layer,FTL)对数据进行非原位更新(out-of-place update),即更新数据时不是在原数据上进行更新,而是将新数据写入一个新的存储位置,原数据仍保存在闪存上,直到被闪存转换层中的垃圾回收功能真正删除。利用这一特性,在不增加额外存储设备的基础上,可实现具有针对性的、轻量化的数据备份。闪存转换层是固态存储设备硬件控制器中特有的固件,主要功能包括:地址映射、垃圾回收、使用均衡、坏块管理。闪存转换层可以很好地隔离勒索软件进程与用户数据,实现不依赖于操作系统安全的数据防护机制,而且固态存储设备的非原位更新机制所具有的数据日志功能,在无需增加额外存储设备的前提下,为备份、恢复被勒索软件攻击的数据提供了可能。
发明内容
本发明提供了一种基于固态存储设备防范勒索软件攻击的方法和系统,实现了可靠灵敏的勒索软件检测,轻量化的数据备份和快速数据恢复。
为实现上述目的,本发明收集了大量勒索软件样本,将勒索软件根据其重写密文的位置特征进行分类,分为在读操作的原逻辑块地址重写密文和在新逻辑块地址写密文两大类,根据这两种典型加密型勒索软件的读写模式建立检测模型。结合固态存储设备独特的数据管理方式,在不增加额外存储设备的基础上,通过只备份重要元数据而非全部用户数据,实现具有针对性的、轻量化的数据备份方法,减小对系统性能的影响。在备份数据的基础上实现文件数据可按任意操作步数或时间点的快速、自动化的回滚式恢复,并保证恢复数据的完整性、可用性。
具体来说,本发明采用的技术方案如下:
一种基于固态存储设备的勒索软件检测方法,包括以下步骤:
1)在固态存储设备的固件的闪存转换层(FTL)中监测勒索软件的读写行为;
2)根据勒索软件的读写行为与正常用户程序读写数据行为之间的差异,建立以勒索软件特有的读写删数据访问模式为基础的检测模型;
3)利用建立的检测模型对勒索软件进行检测。
一种基于固态存储设备的勒索软件检测装置,其包括:
固态存储设备,负责在其固件的闪存转换层中监测勒索软件的读写行为;
检测模型建立单元,负责根据勒索软件的读写行为与正常用户程序读写数据行为之间的差异,建立以勒索软件特有的读写删数据访问模式为基础的检测模型;
勒索软件检测单元,负责利用建立的检测模型对勒索软件进行检测。
一种基于固态存储设备防范勒索软件攻击的方法,包括以下步骤:
1)勒索软件检测步骤:采用上面所述方法检测勒索软件;
2)数据备份步骤:采取周期备份元数据的方法,及时备份恢复用户数据所必需的元数据,并利用闪存转换层中的垃圾回收策略,保证当前备份元数据所对应的数据在闪存中不会被物理删除;
3)数据恢复步骤:一旦发现勒索软件的存在,根据备份的元数据,恢复用户数据,直到用户确认系统恢复至勒索软件攻击之前的最佳理想状态。
一种基于固态存储设备防范勒索软件攻击的系统,其包括:
勒索软件检测模块:在固态存储设备固件闪存转换层中监测勒索软件的读写操作,根据其与正常用户程序读写数据行为之间的差异,建立以勒索软件特有的读写删数据访问模式为基础的检测模型。
数据备份模块:采取周期备份元数据的方法,数据备份模块及时备份为恢复用户数据所必需的元数据,并利用闪存转换层中的垃圾回收策略,保证当前备份元数据所对应的数据在闪存中不会被物理删除。
数据恢复模块:一旦检测模块发现勒索软件的存在,数据恢复模块便根据数据备份模块提供的元数据,采取二分法回滚式等方式恢复用户数据,直到用户确认系统恢复至勒索软件攻击之前的最佳理想状态。
高级别勒索软件会利用系统漏洞获得系统管理员权限,从而执行内核级别的攻击,导致现有的基于内核安全的检测方法都无法检测到勒索软件的存在。不同于传统的基于操作系统安全的假设模型,固态存储设备固件实现了数据与勒索软件进程的隔离。因此,本发明基于上述固态存储设备固件安全的特性,提出了在操作系统不可信情况下勒索软件的检测方法。
进一步地,勒索软件检测步骤或勒索软件检测模块通过在闪存转换层观察已有勒索软件样本运行过程中的读写操作,根据典型勒索软件的读写模式建立检测模型。
进一步地,勒索软件检测步骤或勒索软件检测模块的输入由三类数据组成,即读/写行为标记、连续读/写操作逻辑块地址的长度、连续读/写操作逻辑块地址的首地址。收集典型加密型勒索软件样本,观察其运行时的读写行为,发现诸如连续读地址会交替进行,或者出现多次读连续的逻辑块地址后,才会出现多次写连续的逻辑块地址等特征,且连续读写逻辑块地址长度一致或读写行为顺序呈周期分布。将勒索软件根据其重写密文的位置特征进行分类,分为在读操作的原逻辑块地址重写密文和在新逻辑块地址写密文两大类。通过运行典型勒索软件样本,实时监测闪存转化层的读写行为,分析其读写操作对逻辑地址访问的特征,若发现在读操作的原逻辑块地址重写密文,则比较读连续地址操作与写连续地址操作的首地址及所访问地址长度是否对应相同,以此判断连续写操作逻辑地址和连续读操作逻辑地址的匹配程度。另外由于有些勒索软件会对文件进行压缩,因此可能出现写操作连续地址的地址长度比读操作要小。具体算法需针对这两种情况分别检测。在新逻辑地址写密文的勒索软件的检测一个子类是判断连续两次读操作之间的写操作地址长度与其前一次读操作的匹配程度。另一子类的检测依据是由于加密算法输入、输出长度相对固定所导致的连续读写长度的周期性特征,通过分析连续地址的读或写操作的逻辑块地址访问长度、范围、速度及周期判断读写连续地址长度是否存在周期性。建立细粒度的检测模型实施检测。
进一步地,勒索软件针对的往往是没有数据备份的非专业用户,即使对于部署了数据备份机制的用户来说,定期备份全部用户数据也带来了额外的存储性能消耗,增加了存储成本和管理成本。本发明基于固态存储设备的系统,结合检测方法,区分合法用户的数据操作和勒索软件的恶意数据操作,在不增加额外存储设备的基础上,实现具有针对性的、轻量化的数据备份方法,减小对系统性能的影响。数据备份是一个长期性的操作,为了更加灵活的恢复用户数据,在检测模块没有检测到勒索软件的情况下,定期对元数据进行备份,如设定备份周期为一天。实现无需用户操作的,对用户透明的数据备份,避免用户误操作,有利于实现安全、可靠的数据保护。
进一步地,利用固态存储设备非原位数据更新的特点,即更新数据时,不是在原来的数据上进行更新,而只是将新数据写入一个新的存储位置,这样就导致被删除或者重写的文件数据仍然在一定时间内保留在固态存储设备上,直到被垃圾回收过程所真正删除。这个特点保证了勒索软件不能通过复写数据块来彻底替换其原始数据,这些保留了原始用户数据的数据块之后可以用于恢复原用户数据。本发明通过只备份相关重要元数据而非全部用户数据即可实现数据恢复。
进一步地,相比于已存储的数据,元数据的数据量通常要小很多,相应的存储与管理成本要小很多,所述重要元数据包括地址映射表、块擦写次数表、页使用情况表等,将备份的元数据保存到系统保留块,这些块中包含的元数据备份对上层系统是不可见的,保证存储备份元数据的物理块不会被上层映射,从而保证元数据不会被用户数据覆盖,同时通过元数据备份机制更新元数据。
进一步地,步骤3)中修改闪存转换层是可行的,由于其位于操作系统和裸闪存存储器件之间,其对操作系统是透明的。数据恢复模块通过在闪存转换层中修改垃圾回收机制保证需恢复数据的完整性,即保证垃圾回收执行过程中存有可能被勒索软件加密的数据的块不会被标记为目标块,即保证被标记为无效的用户数据所在的物理块不可被物理擦除。
进一步地,修改块分配策略,将新写入数据分配到未使用块中。利用闪存非原位更新的特性,将更新后的可能被勒索软件加密或删除的数据写入到未使用块中,改变对应地址映射关系,保证存有待恢复数据及备份元数据的物理块不会被分配、修改。
进一步地,垃圾回收机制的目的在于回收闪存中无效数据所占据的存储空间,实现需恢复数据的紧凑存储。具体的垃圾回收机制包括,触发垃圾回收机制后,将含有无效页的块标记为目标块,将目标块中的有效数据复制到空闲块中,同时更新相应的映射表,最后将目标块擦除。
进一步地,步骤3)为实现文件数据恢复可按任意操作步数或时间点进行,结合勒索软件检测部分和数据备份部分,为了恢复数据,对固态存储系统的写操作进行修改,在写入数据的对应物理页的OOB(out-of-band)区增加数据结构,包括备份数据版本、写操作序号以及目标逻辑块地址。
进一步地,所述备份数据版本记录当前备份数据的版本号,版本号随着备份次数递增;所述写操作序号依次记录当前备份版本数据中写操作的执行顺序;所述逻辑块地址为写操作的目标逻辑块地址。结合所记录的备份数据版本号,相当于将不同版本数据按时间差分。上述三种数据结构结合,即可按操作步数(读写操作顺序)记录地址映射变化的全部过程,恢复各个状态的元数据,进而用二分法恢复相应的用户数据。
进一步地,所述二分法恢复数据具体操作包括:当检测模块检测到用户被勒索软件攻击,将触发恢复模块执行恢复操作,首先,将使系统恢复到最近一次备份所记录的状态,接着读取存储用户数据的闪存物理页面的所有OOB区,以获取完整备份数据操作过程,然后根据写操作序号按照目标逻辑地址与物理地址对应的顺序构建一个目标地址对列表。接下来恢复到列表所包含序号的中点处的数据状态,若发现此状态未被勒索软件感染,则恢复到所包含序列号四分之三处,否则恢复至四分之一处,以此类推,直到恢复至勒索软件攻击前的理想用户数据状态。由此可以实现具备数据零丢失能力的数据恢复技术。
本发明公开了一种基于固态存储设备防范的勒索软件攻击的方法和系统,分析勒索软件攻击用户时的数据访问模式,建立检测模型。在检测模块没有检测到勒索软件的情况下,采取周期备份的方式,对重要元数据进行备份。利用闪存非原位更新的特点,通过修改垃圾回收机制等,同时在写入数据的对应物理页的OOB(out-of-band)区增加数据结构,采用二分查找法对备份的元数据进行重构进而恢复用户数据。通过将检测模型与数据备份、恢复机制相结合,可以有效防范勒索软件,减少用户损失,本发明在很多场合都适用且高效。
附图说明
图1为本发明一种基于固态存储设备的勒索软件检测与数据恢复方法流程示意图;
图2为本发明一种在原逻辑地址用密文重写的勒索软件行为匹配的流程示意图;
图3为本发明一种勒索软件检测模块的流程示意图;
图4为本发明一种数据备份模块的流程示意图;
图5为本发明一种数据恢复模块的流程示意图;
图6为本发明一种闪存非原位数据更新的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
实施例1:
如图1所示,本实施例提供了一种基于固态存储设备防范的勒索软件攻击的方法流程图。其步骤主要包括:
1)勒索软件检测模块分析勒索软件攻击用户时的数据访问模式,建立细粒度的访问模型;
2)数据备份模块采取周期备份元数据的方法,对重要元数据进行备份,通过修改垃圾回收机制确保被勒索软件加密或删除的数据没有真正被物理删除;
3)数据恢复模块在写入数据的对应物理页的OOB(out-of-band)区增加数据结构,包括备份数据版本、写操作序号以及目标逻辑块地址,采用二分查找法对备份的元数据进行重构进而恢复用户数据。
高级别勒索软件可通过获得系统管理员权限执行操作系统内核级别攻击,因此本发明基于操作系统不可信这一安全模型。
勒索软件检测部分在闪存转换层观察典型加密型勒索软件的读写行为,研究其与正常用户读写行为之间的差异,根据勒索软件的读写特征建立检测模型。将勒索软件根据其重写密文的位置特征进行分类,分为在读操作的原逻辑块地址重写密文和在新逻辑块地址写密文两大类。通过在闪存转换层观察训练库中已有勒索软件样本运行过程中的读写操作,根据典型勒索软件的读写模式建立细粒度检测模型。勒索软件检测模块的输入具体包括三类数据,即读/写行为标记、连续读/写操作逻辑块地址的长度、连续读/写操作逻辑块地址的首地址。
收集典型加密型勒索软件样本,本实例观察了CTB-locker、Jigsaw、Cerber、Samas、teslacrypt运行时的读写行为。
CTB-locker的读写行为具有:1)对同一片连续逻辑地址短时间内先读后写,读过之后立刻写;2)通常读操作会比写操作多读几个逻辑地址;3)连续写逻辑地址的最后一个逻辑地址通常在写之前会再读;等特点。
Jigsaw的读写行为具有:1)对所有用户已写入数据的逻辑地址都进行读操作;2)读写操作交替进行;3)读操作按逻辑地址从小到大进行,每次读地址的长度为64或32;4)写操作并不是在原用户数据地址重写,而是写入新地址,每次写地址长度均为32;5)每次读操作的起始地址和前一次读的结束地址是连续的,即结束地址和后一次读操作的起始地址连续;写操作亦然;等特点。
Cerber的读写行为具有:1)对同一片连续的逻辑地址先读后写,但并不一定是读后立刻重写,有时对几块连续的逻辑地址都读完后,再对这些连续地址块进行重写;2)连续写逻辑地址的最后一个逻辑地址有时在写之前会再读;等特点。
Samas的读写行为具有:1)对所有用户已写入数据的逻辑地址都进行读操作;2)读写操作交替进行;3)读操作按逻辑地址从小到大进行,每次读地址的长度为6和4交替;4)写操作并不是在原用户数据地址重写,而是写入新地址,每次写地址长度为7和6交替;5)连续写逻辑地址的最后一个逻辑地址在写之前均会再读;6)每次读操作的起始地址和前一次读的结束地址是连续的,即结束地址和后一次读操作的起始地址连续;等特点。
teslacrypt的读写行为具有:1)对大块连续逻辑地址先读后写,读过之后立刻重写;2)连续写逻辑地址的最后一个逻辑地址在写之前均会再读;3)每完成一次读写对文件系统相关特殊地址重复写入固定次;等特点。
检测时首先将读连续地址操作和写连续地址操作相关数据分别记录在相应数据结构中,由上所述,teslaCrypt,CTB-locker,Cerber是在读操作的原逻辑块地址重写密文,如图2所示,首先判断读连续地址操作与写连续地址操作是否有首地址相同的对应序列,若存在,则判断其对应访问连续地址的长度是否匹配,设置阈值进行判断,其中,CTB-locker会对文件进行压缩,写入密文的地址长度较原文件地址长度小。HydraCrypt属于在新逻辑地址写密文,检测时比较其连续两次读操作之间的写操作地址长度与其前一次读操作的匹配程度,设置阈值判断是否被感染。Samas,Jigsaw属于在新逻辑地址写密文的另一子类,判断短时间内读连续地址的地址长度及写连续地址的地址长度是否固定,即存在周期特征,设置阈值判断访问地址长度的周期及周期个数。
图3概括了本发明勒索软件检测的流程示意图,通过观察到的这些勒索软件典型读写特征将勒索软件根据重写密文的位置特征进行分类分别建立检测算法,实时监测固件层的读写行为,在访问逻辑地址范围、访问速度、访问方式等维度进行数学建模,分析连续地址的读或写操作的地址长度以及读写行为的周期。将勒索软件根据其重写密文的位置特征进行分类,根据分类设置对应阈值,通过算法输出结果判断用户是否被勒索软件感染及勒索软件可能属于的种族。
实施例2:
本实施例使用OpenNFM实现了一个系统原型。OpenNFM是一个开源的NAND闪存控制器框架,是由三层组成的体系结构。最高层主要处理从上层和物理页地址到原始闪存之间的逻辑页地址之间的映射,基于闪存的存储设备可以提供文件系统的统一块设备接口。中间层主要负责使用均衡和坏块管理。最低层提供了一个原始的闪存抽象,屏蔽了NANDFlash的特殊物理性质。将本系统移植到lpc-h3131,一个配备了180MHz ARM微控制器,512MB NAND闪存和32MB SDRAM的开发板。闪存的块大小为128KB,页大小为2KB,因此整个NAND闪存有4,096个擦除块,每个块由64个页组成。每个映射条目可以用3个字节表示,因此映射表占用6个块。
如图4所示,数据备份模块采取周期备份的方法,备份为恢复用户数据所必需的相关元数据。数据备份是一个长期性的操作,为了更加灵活的恢复用户数据,在检测模块没有检测到勒索软件的情况下,定期对相关重要元数据进行备份,本实例设定备份周期为一天。相比于已存储的数据,元数据的数据量通常要小很多,本发明通过只备份重要元数据而非全部用户数据即可实现数据恢复。元数据包括地址映射表、块擦写次数表、页使用情况表等,将备份的元数据保存到系统保留块,这些块中包含的元数据备份对上层系统是不可见的,保证元数据不会被用户数据覆盖,同时通过元数据备份机制更新元数据。并修改垃圾回收执行过程中的块选择策略,保证存有可能被勒索软件攻击的数据不会被标记为目标块,即保证被标记为无效的、可能被勒索软件攻击的用户数据所在的闪存物理块不可被擦除。利用固态存储设备非原位数据更新的特点,保证了勒索软件不能通过复写数据块来彻底替换其原始数据,这些保留了原始用户数据的数据块之后可以用于恢复原用户数据。
如图5,一旦检测模块发现勒索软件的存在,数据恢复模块便根据数据备份模块提供的元数据采取二分法回滚式恢复用户数据直到恢复至勒索软件攻击之前的最理想状态。如图5所示,在写入数据的对应物理页的OOB(out-of-band)区增加数据结构,包括备份数据版本、写操作序号以及目标逻辑块地址。结合上述三种数据结构,即可按读写操作顺序,用二分法恢复闪存转换层中地址映射变化的全部过程,进而恢复出各个状态的地址映射表及其他相应的元数据,结合垃圾回收策略所保护的用户数据,实现用户数据恢复。
闪存转换层是闪存芯片与基础文件系统之间的一个转换层,闪存转换层使操作系统和文件系统能够像访问硬盘一样访问固态存储设备。闪存转换层通过屏蔽闪存特殊的物理性质,将基于闪存的存储设备模拟为普通的块存储设备,向上层提供普通的块设备接口。通过修改闪存转化层中的部分功能,可以实现被勒索软件加密或删除的数据恢复。
闪存转换层的非原位更新机制意味着每次写操作会在一个新的页中进行,因此,垃圾回收机制对陈旧数据的移除至关重要。图6为闪存非原位数据更新的示意图,即更新数据时不是在原数据上进行更新,而是将新数据(如图6中数据A)写入一个新的存储位置,原数据(如图6中数据B)仍保存在闪存上,直到被闪存转换层中的垃圾回收功能真正删除。垃圾回收的一般执行过程时,当可用空闲块的数量低于某个阈值时,触发垃圾回收机制,选择回收的目标块,将目标块中的有效页数据进行复制,并与相关数据块进行合并操作,然后擦除目标块。一个逻辑块可能对应多个物理块,因此垃圾回收时可能同时会擦除多个物理块。为保证需恢复数据被完好无损的保存,本发明在闪存转换层修改垃圾回收机制以保证存有需恢复数据的块永远不会被标记为目标块。
本实例当前记录T1,T2,T3三个时刻,每个时刻都有一个对应的固件状态(映射表、内存结构)。T1是第一次备份,T2是第二次备份,T3时刻用户被提示被勒索软件攻击,认为此时刻勒索软件已完成加密,此时可以先恢复到T2时刻的状态和数据,让用户判断此状态是否正常。若判断为被勒索软件则恢复到T1,若判断T2状态正常,可对T1时刻之前的数据进行垃圾回收,释放内存。T2和T3之间有正常用户操作和勒索软件操作,为减少用户损失,在T2到T3之间用类似二分法的思想恢复到最理想态。
在OOB区增加两种数据结构:
1)写操作序号N,依次记录写操作导致映射改变或增加的先后顺序。
2)LBA,序号为N时对应的目标逻辑块地址。
通过这两种数据结构可以记录映射变化的全部过程。方便恢复T2和T3间的各个子状态的映射表等元数据从而恢复相应的数据。
之后用二分思想恢复T2—T3之间各子版本T2-1,T2-2…。假设T2,T3间N=100。先建立N=50对应的映射表1,恢复此时的数据,由用户判断是否被勒索软件攻击,若判断为已被攻击则恢复N=25时的状态,否则恢复N=75。依次差分。
实施例3:
本实施例为一种基于固态存储设备的勒索软件检测方法,包括以下步骤:
1)在固态存储设备的固件的闪存转换层中监测勒索软件的读写行为;
2)根据勒索软件的读写行为与正常用户程序读写数据行为之间的差异,建立以勒索软件特有的读写删数据访问模式为基础的检测模型;
3)利用建立的检测模型对勒索软件进行检测。
上述步骤的具体实施过程可参考实施例1、2中关于勒索软件检测的内容。
实施例4:
本实施例为一种基于固态存储设备的勒索软件检测装置,其包括:
固态存储设备,负责在其固件的闪存转换层中监测勒索软件的读写行为;
检测模型建立单元,负责根据勒索软件的读写行为与正常用户程序读写数据行为之间的差异,建立以勒索软件特有的读写删数据访问模式为基础的检测模型;
勒索软件检测单元,负责利用建立的检测模型对勒索软件进行检测。
该装置的具体工作过程可参考实施例1、2中关于勒索软件检测的内容。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (11)
1.一种基于固态存储设备的勒索软件检测方法,其特征在于,包括以下步骤:
1)在固态存储设备的固件的闪存转换层中监测勒索软件的读写行为;
2)根据勒索软件的读写行为与正常用户程序读写数据行为之间的差异,建立以勒索软件特有的读写删数据访问模式为基础的检测模型;
3)利用建立的检测模型对勒索软件进行检测;
其中,步骤2)将勒索软件根据其重写密文的位置特征进行分类,分为在读操作的原逻辑块地址重写密文和在新逻辑块地址写密文两大类,根据勒索软件访问逻辑块地址的具体特征分别建立数据访问模型,通过在闪存转换层中观察训练库中已有不同类型勒索软件样本运行过程中对用户数据的访问模式,建立细粒度检测模型。
2.根据权利要求1所述的方法,其特征在于,在闪存转换层中观测数据读写删操作模式及相应逻辑块地址,具体包括三类数据,即读/写行为标记、连续读/写操作逻辑块地址的长度、连续读/写操作逻辑块地址的首地址;根据在闪存转换层中观察到的读用户文件后密文写入的位置将勒索软件分为在原逻辑地址写密文和在新逻辑地址写密文两大类;在原逻辑地址用密文重写的勒索软件的检测依据是判断连续写操作逻辑地址和连续读操作逻辑地址的匹配程度;在新逻辑地址写密文的勒索软件的检测依据是连续两次读操作之间的写操作地址长度与其前一次读操作的匹配程度以及由于加密算法输入、输出长度相对固定所导致的连续读写长度的周期性特征。
3.一种基于固态存储设备防范勒索软件攻击的方法,其特征在于,包括以下步骤:
1)采用权利要求1所述方法检测勒索软件;
2)采取周期备份元数据的方法,及时备份恢复用户数据所必需的元数据,并利用闪存转换层中的垃圾回收策略,保证当前备份元数据所对应的数据在闪存中不会被物理删除;
3)一旦发现勒索软件的存在,根据备份的元数据,恢复用户数据,直到用户确认系统恢复至勒索软件攻击之前的最佳理想状态。
4.根据权利要求3所述的方法,其特征在于,步骤2)在没有检测到勒索软件的情况下,定期对重要元数据进行备份;同时基于固态存储设备中闪存的非原位数据更新的特点,修改垃圾回收策略,保证当前元数据备份版本所对应的数据在闪存中不会被真正物理删除。
5.根据权利要求4所述的方法,其特征在于,所述重要元数据包括地址映射表、块擦写次数表,页使用情况表;将备份的元数据保存到系统保留块,保证存储备份元数据的物理块不会被上层映射,从而保证备份的元数据不会被用户数据覆盖。
6.根据权利要求4所述的方法,其特征在于,所述修改垃圾回收策略,修改垃圾回收执行过程中的块选择策略,保证存有可能被勒索软件攻击的数据不会被标记为目标块,即保证被标记为无效的、可能被勒索软件攻击的用户数据所在的闪存物理块不可被擦除。
7.根据权利要求3所述的方法,其特征在于,步骤3)为实现文件数据恢复至勒索软件攻击之前的最理想状态,对固态存储系统的写操作进行修改,在写入数据的对应物理页的OOB区增加数据结构,包括备份数据版本、写操作序号以及目标逻辑块地址。
8.根据权利要求7所述的方法,其特征在于,所述备份数据版本记录当前备份数据的版本号,版本号随着备份次数递增;所述写操作序号记录当前备份版本数据中写操作的执行顺序;所述目标逻辑块地址为写操作的目标逻辑块地址;结合上述三种数据结构,即可按读写操作顺序,用二分法恢复闪存转换层中地址映射变化的全部过程,进而恢复出各个状态的地址映射表及其他相应的元数据,结合垃圾回收策略所保护的用户数据,实现用户数据恢复。
9.根据权利要求8所述的方法,其特征在于,所述二分法恢复数据具体操作包括:当检测到用户被勒索软件攻击,将执行数据恢复操作,首先,使系统恢复到最近一次备份所记录的状态,接着读取存储用户数据的闪存物理页面的所有OOB区,以获取完整备份数据操作过程,然后根据写操作序号按照目标逻辑地址与物理地址对应的顺序构建一个目标地址对列表,接下来恢复到该列表所包含序号的中点处的数据状态,若发现此状态未被勒索软件感染,则恢复到所包含序列号四分之三处,否则恢复至四分之一处,以此类推,直到恢复至勒索软件攻击前的理想用户数据状态,由此实现具备数据零丢失能力的数据恢复方法。
10.一种基于固态存储设备的勒索软件检测装置,其特征在于,包括:
固态存储设备,负责在其固件的闪存转换层中监测勒索软件的读写行为;
检测模型建立单元,负责根据勒索软件的读写行为与正常用户程序读写数据行为之间的差异,建立以勒索软件特有的读写删数据访问模式为基础的检测模型;所述检测模型建立单元将勒索软件根据其重写密文的位置特征进行分类,分为在读操作的原逻辑块地址重写密文和在新逻辑块地址写密文两大类,根据勒索软件访问逻辑块地址的具体特征分别建立数据访问模型,通过在闪存转换层中观察训练库中已有不同类型勒索软件样本运行过程中对用户数据的访问模式,建立细粒度检测模型;
勒索软件检测单元,负责利用建立的检测模型对勒索软件进行检测。
11.一种基于固态存储设备防范勒索软件攻击的系统,其特征在于,包括:
勒索软件检测模块,负责在固态存储设备固件闪存转换层中监测勒索软件的读写行为,根据其与正常用户程序读写数据行为之间的差异,建立以勒索软件特有的读写删数据访问模式为基础的检测模型;所述勒索软件检测模块将勒索软件根据其重写密文的位置特征进行分类,分为在读操作的原逻辑块地址重写密文和在新逻辑块地址写密文两大类,根据勒索软件访问逻辑块地址的具体特征分别建立数据访问模型,通过在闪存转换层中观察训练库中已有不同类型勒索软件样本运行过程中对用户数据的访问模式,建立细粒度检测模型;
数据备份模块,负责采取周期备份元数据的方法,及时备份恢复用户数据所必需的元数据,并利用闪存转换层中的垃圾回收策略,保证当前备份元数据所对应的数据在闪存中不会被物理删除;
数据恢复模块,负责在发现勒索软件的存在时,根据数据备份模块所备份的元数据恢复用户数据,直到用户确认系统恢复至勒索软件攻击之前的最佳理想状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810953026.6A CN109388945B (zh) | 2018-08-21 | 2018-08-21 | 一种基于固态存储设备防范勒索软件攻击的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810953026.6A CN109388945B (zh) | 2018-08-21 | 2018-08-21 | 一种基于固态存储设备防范勒索软件攻击的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109388945A CN109388945A (zh) | 2019-02-26 |
CN109388945B true CN109388945B (zh) | 2022-04-01 |
Family
ID=65417723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810953026.6A Active CN109388945B (zh) | 2018-08-21 | 2018-08-21 | 一种基于固态存储设备防范勒索软件攻击的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109388945B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10809944B1 (en) | 2020-01-22 | 2020-10-20 | Cypress Semiconductor Corporation | Memory device resilient to cyber-attacks and malfunction |
CN112506699A (zh) * | 2020-11-25 | 2021-03-16 | 江苏恒信和安电子科技有限公司 | 一种数据安全备份方法、设备和系统 |
CN115189944A (zh) * | 2022-07-08 | 2022-10-14 | 山石网科通信技术股份有限公司 | 勒索病毒拦截方法、装置、电子设备及存储介质 |
CN117421733A (zh) * | 2023-12-19 | 2024-01-19 | 浪潮电子信息产业股份有限公司 | 勒索病毒检测方法、装置、电子设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101902481A (zh) * | 2010-08-10 | 2010-12-01 | 厦门市美亚柏科信息股份有限公司 | 一种网页木马实时监测方法及其装置 |
CN107045608A (zh) * | 2017-04-13 | 2017-08-15 | 成都亚信网络安全产业技术研究院有限公司 | 一种检测恶意软件的方法及装置 |
CN108038026A (zh) * | 2017-11-17 | 2018-05-15 | 中国科学院信息工程研究所 | 一种基于闪存的数据快速恢复方法与系统 |
-
2018
- 2018-08-21 CN CN201810953026.6A patent/CN109388945B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101902481A (zh) * | 2010-08-10 | 2010-12-01 | 厦门市美亚柏科信息股份有限公司 | 一种网页木马实时监测方法及其装置 |
CN107045608A (zh) * | 2017-04-13 | 2017-08-15 | 成都亚信网络安全产业技术研究院有限公司 | 一种检测恶意软件的方法及装置 |
CN108038026A (zh) * | 2017-11-17 | 2018-05-15 | 中国科学院信息工程研究所 | 一种基于闪存的数据快速恢复方法与系统 |
Non-Patent Citations (4)
Title |
---|
FlashGuard:Leveraging Intrinsic Flash Properties to Defend Against Encryption Ransomware;Jian Huang et.al;《ACM CCS 2017》;20171103;文献第2232,2236页 * |
FlashGuard利用固态存储的硬件特性对抗勒索软件;Jun Xu,Jian Huang;《中国教育网络 2018年第05期》;20180531;全文 * |
SSD-Insider: Internal Defense of Solid-State Drive against Ransomware with Perfect Data Recovery;SungHa Baek et.al;《 2018 IEEE 38th International Conference on Distributed Computing Systems (ICDCS)》;20180723;全文 * |
基于Win32API的未知病毒检测;陈亮等;《计算机应用 第28卷第11期》;20081101;文献第2829-2830页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109388945A (zh) | 2019-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109388945B (zh) | 一种基于固态存储设备防范勒索软件攻击的方法和系统 | |
US11586734B2 (en) | Systems and methods for protecting SSDs against threats | |
Reardon et al. | Sok: Secure data deletion | |
Huang et al. | FlashGuard: Leveraging intrinsic flash properties to defend against encryption ransomware | |
Baek et al. | SSD-insider: Internal defense of solid-state drive against ransomware with perfect data recovery | |
US11327886B2 (en) | Capturing time-varying storage of data in memory device for data recovery purposes | |
Wang et al. | Project almanac: A time-traveling solid-state drive | |
Park et al. | RansomBlocker: A low-overhead ransomware-proof SSD | |
Shu et al. | Why data deletion fails? A study on deletion flaws and data remanence in Android systems | |
Wang et al. | Mimosaftl: adding secure and practical ransomware defense strategy to flash translation layer | |
Reidys et al. | Rssd: Defend against ransomware with hardware-isolated network-storage codesign and post-attack analysis | |
Zhang et al. | Ensuring data confidentiality via plausibly deniable encryption and secure deletion–a survey | |
Chen et al. | Hiflash: A history independent flash device | |
Ahn et al. | Forensics and anti-forensics of a NAND flash memory: From a copy-back program perspective | |
Chen et al. | {PEARL}: Plausibly Deniable Flash Translation Layer using {WOM} coding | |
Kumar | Solid state drive forensics analysis—Challenges and recommendations | |
Singh et al. | Secure file deletion for solid state drives | |
Chen et al. | Duplicates also Matter! Towards Secure Deletion on Flash-based Storage Media by Removing Duplicates | |
Onarlioglu et al. | Eraser: Your data won't be back | |
Pridgen et al. | Present but Unreachable: Reducing Persistentlatent Secrets in HotSpot JVM | |
Kuts et al. | Deleted Data Recovery on Solid-State Drives by Software Based Methods | |
Garfinkel et al. | One big file is not enough: A critical evaluation of the dominant free-space sanitization technique | |
US20230119688A1 (en) | Ransomware-Aware Solid-State Drive | |
Sansurooah | A forensics overview and analysis of USB flash memory devices | |
Ma et al. | Travelling the hypervisor and ssd: A tag-based approach against crypto ransomware with fine-grained data recovery |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |