CN117786683A - 应用程序防勒索系统、方法、设备和存储介质 - Google Patents
应用程序防勒索系统、方法、设备和存储介质 Download PDFInfo
- Publication number
- CN117786683A CN117786683A CN202211143833.4A CN202211143833A CN117786683A CN 117786683 A CN117786683 A CN 117786683A CN 202211143833 A CN202211143833 A CN 202211143833A CN 117786683 A CN117786683 A CN 117786683A
- Authority
- CN
- China
- Prior art keywords
- file
- encryption
- application program
- decryption
- identification information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000008569 process Effects 0.000 claims description 28
- 238000001514 detection method Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 11
- 230000035945 sensitivity Effects 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 2
- 238000012216 screening Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 13
- 230000006399 behavior Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000009795 derivation Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 6
- 230000002265 prevention Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本申请提供一种应用程序防勒索系统、方法、设备和存储介质,该方法包括:用户态的文件系统加密服务获取需保护的第一应用程序的第一标识信息,获取基于第一标识信息和硬件可信根产生的根秘钥生成的第一应用程序的文件加解密秘钥,将文件加解密秘钥和第一标识信息的对应关系存入到内核态的文件系统加解密功能组件。文件系统加解密功能组件接收第二应用程序对第一应用程序的数据文件的文件读取请求,文件系统加解密功能组件若根据第二应用程序的第二标识信息以及所述对应关系确定第二应用程序不能读取所述数据文件,则反馈错误提示信息。假设第二应用程序为勒索程序,通过本方案可以及时阻断勒索程序访问第一应用程序的数据文件。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种应用程序防勒索系统、方法、设备和存储介质。
背景技术
随着云计算、物联网和5G技术的兴起,互联网已经由单一的人-人互联(比如社交网络、游戏)以及人-物互联(比如网购、智能家居)逐渐演进成万物互联,云计算的概念也开始深入各个领域,例如工业制造、农业种植、教育医疗等领域,在这些场景中有很多的物联网设备接入用户(比如企业用户)的私有云环境中,因此边缘计算应运而生。
在边缘计算环境中,计算主机通常暴露在充满威胁的不可信网络环境中,计算主机中会部署很多应用程序,而这些应用程序产生的数据文件(比如文档、图片、音视频等)也通常存储于这些计算主机而并非云计算专有的安全存储区域,因此这些数据文件相当于直接暴露于不可信网络。
近年来,互联网上出现了很多勒索程序,勒索程序是在不可信网络环境中传播,通过对用户数据文件、系统可执行文件等数据进行加密劫持并向用户索取对数据还原的赎金的一种恶意软件。目前现有的一些防勒索程序的方式多为后验方式,即在勒索程序实际上已经发生了勒索行为,通过对勒索行为的特征识别,以判定出勒索程序进而再采取相应措施,及时性差。
发明内容
本发明实施例提供一种应用程序防勒索系统、方法、设备和存储介质,可以先验地及时阻断勒索程序访问正常应用程序的数据文件进行加密的过程,防止勒索行为的发生,从而实现防勒索的目的。
第一方面,本发明实施例提供一种应用程序防勒索系统,所述系统包括:
位于用户态的文件系统加密服务、多个应用程序,位于内核态的文件系统加解密功能组件,以及硬件可信根,所述多个应用程序包括第一应用程序和第二应用程序;
所述文件系统加密服务,用于获取需要保护的第一应用程序的第一标识信息,根据所述第一标识信息获取所述第一应用程序对应的文件加解密秘钥,将所述文件加解密秘钥以及所述第一标识信息发送至所述文件系统加解密功能组件,其中,所述文件加解密秘钥是根据所述第一标识信息和硬件可信根中产生的根秘钥生成的;
所述硬件可信根,用于产生所述根秘钥;
所述文件系统加解密功能组件,用于存储所述文件加解密秘钥与所述第一标识信息的对应关系,接收第二应用程序对所述第一应用程序的数据文件的文件读取请求;以及,根据所述第二应用程序的第二标识信息以及所述对应关系确定所述第二应用程序是否能读取所述数据文件。
第二方面,本发明实施例提供一种应用程序防勒索方法,所述方法包括:
通过用户态的文件系统加密服务,获取需要保护的第一应用程序的第一标识信息;
通过所述文件系统加密服务获取所述第一应用程序对应的文件加解密秘钥,所述文件加解密秘钥是根据所述第一标识信息和硬件可信根中产生的根秘钥生成的;
通过所述文件系统加密服务将所述文件加解密秘钥与所述第一标识信息的对应关系存入内核态中的文件系统加解密功能组件;
响应于通过所述文件系统加解密功能组件接收到第二应用程序对所述第一应用程序的数据文件的文件读取请求,根据所述第二应用程序的第二标识信息以及所述对应关系确定所述第二应用程序是否能读取所述数据文件。
第三方面,本发明实施例提供一种应用程序防勒索装置,所述装置包括:
获取模块,用于通过用户态的文件系统加密服务,获取需要保护的第一应用程序的第一标识信息;以及,通过所述文件系统加密服务获取所述第一应用程序对应的文件加解密秘钥,所述文件加解密秘钥是根据所述第一标识信息和硬件可信根中产生的根秘钥生成的;
存储模块,用于通过所述文件系统加密服务将所述文件加解密秘钥与所述第一标识信息的对应关系存入内核态中的文件系统加解密功能组件;
读写模块,用于响应于通过所述文件系统加解密功能组件接收到第二应用程序对所述第一应用程序的数据文件的文件读取请求,根据所述第二应用程序的第二标识信息以及所述对应关系确定所述第二应用程序是否能读取所述数据文件。
第四方面,本发明实施例提供一种电子设备,包括:操作系统、物理存储介质、处理器、硬件可信根、通信接口;其中,所述物理存储介质上存储有可执行代码,所述可执行代码包括对应于操作系统用户态中的文件系统加密服务、多个应用程序以及对应于操作系统内核态中的文件系统加解密功能组件的代码;当所述可执行代码被所述处理器执行时,使所述处理器执行如第二方面所述的应用程序防勒索方法。
第五方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如第二方面所述的应用程序防勒索方法。
本发明实施例提供的防勒索方案,以对勒索程序加密用户文件行为进行阻断为核心,在运行有多个应用程序的主机中,在用户态设置一个文件系统加密服务,并在内核态的文件系统层面设置一个文件系统加解密组件,使得这些应用程序中任何受到保护的数据文件在正常存储和读取时都经过这个文件系统加解密组件的加解密处理。而该文件系统加解密组件使用的秘钥来源于主机的硬件可信根,只有合法的应用程序才能持有自身的文件加解密秘钥,而勒索程序(假设为第二应用程序)无法持有该秘钥,从而第二应用程序在访问第一应用程序的数据文件时,因为无法持有该第一应用程序对应的文件加解密秘钥从而无法对受保护的第一应用程序的数据文件进行访问。无法访问获得第一应用程序的数据文件,自然无法进行基于加密该数据文件的勒索行为。由此可见,通过本发明实施例提供的防勒索方案,可以先验地即防止勒索行为的发生,保证用户的数据安全。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为勒索程序工作原理示意图;
图2为本发明实施例提供的一种应用程序防勒索系统的组成示意图;
图3为本发明实施例提供的一种应用程序防勒索方法的执行过程示意图;
图4为本发明实施例提供的一种应用程序写入数据过程的示意图;
图5为本发明实施例提供的一种应用程序防勒索方法的流程图;
图6为本发明实施例提供的一种应用程序防勒索装置的结构示意图;
图7为本实施例提供的一种电子设备的结构示意。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
对本发明实施例中涉及到的一些术语先进行解释说明。
勒索程序:通过不可信网络传播、通过钓鱼邮件和社会工程学等方式侵入计算机系统,对用户敏感数据进行加密劫持并向用户索取对数据还原的酬金的一类恶意软件。
硬件可信根:位于计算机系统硬件层面,在可信计算环境中对保护计算机整体系统进行密钥隐私计算,根密钥存储,导出密钥计算等的硬件模组,通过软件手段一版较难破译。
边缘计算:部署在专有网络下的集计算算力、存储、缓存、网络通信等软硬一体化计算平台基础设施,包括服务器、网络组件、存储组件、计算平台等。
首先,结合图1示例型说明勒索程序的工作原理。
以任一服务器为例,如图1中所示,该服务器中包括图中示意的硬件层、操作系统内核(即内核层)和应用层,其中,硬件层中包括多种存储设备相关硬件(物理存储介质),比如图中示意的磁盘控制器及磁盘阵列(Redundant Arrays of Independent Disks,简称RAID)、硬盘驱动器(Hard Disk Drive,简称HDD)、固态硬盘又称固态驱动器(Solid StateDisk或Solid State Drive,简称SSD)。
在操作系统内核中,包括文件系统以及磁盘驱动程序。其中,操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构,即在存储设备上组织文件的方法。
在应用层,即操作系统用户态,部署有用户的多个应用程序,比如图中示意的应用程序A。另外,假设某勒索程序B某时被安装到了应用层中。
基于上述系统组成,应用程序A和勒索程序B的工作过程如下:
(1)应用程序A调用文件系统的接口向文件系统发送需写入的数据文件。
这里仅以写数据为例,需要写入的数据文件可能是图片、文档、音视频等数据。
(2)文件系统调用磁盘驱动程序以将数据文件存储到物理存储介质中。
文件系统在接收到应用程序A写入的数据文件后,生成与该数据文件对应的文件节点,添加到文件系统中,之后,根据确定出的存储地址,将文件节点中的信息以及该数据文件存储到物理存储介质中该存储地址对应的存储空间中。其中,文件节点主要描述了文件的属性信息,包括但不限于文件大小、名称、类型、存储地址、来源,等等。
(3)某天通过钓鱼、非法入侵等方式从外部不可信网络下载了勒索程序B。
勒索程序B通过电子邮件、诱导下载程序、一些非官方的修改过的有害程序等传播途径传播至服务器上,进行自解压,独立运行或者注入操作系统特权级进程中运行。
(4)勒索程序B通过文件系统读取应用程序A的数据文件,利用内置秘钥进行加密。
(5)勒索程序B将加密的数据文件写回文件系统。
勒索程序B会利用其产生的加密秘钥,在遍历所有其关心的文件系统目录结构当中,选择性加密用户的数据文件(也可以选择系统文件)。如果用户的数据文件被加密,不会影响操作系统正常运行,但会引起用户的数据丢失;如果系统文件被加密会破坏操作系统并导致操作系统关键程序崩溃甚至无法启动。为便于描述,本发明实施例中将系统文件视为一种特殊的数据文件,不做区分。
(6)应用程序A从文件系统读取上述加密后的数据文件,无法解密。
(7)勒索程序B发出勒索信息。
(8)用户支付赎金后勒索程序B对加密的数据文件进行解密,勒索完成。
勒索程序B在加密了用户的数据文件后,可以弹出对话框警告用户,开始勒索行为。当用户按照勒索程序B的开发者提供的账户支付赎金之后,勒索程序B会再次获取解密秘钥,对加密过的数据进行解密,以恢复用户的数据文件。
由上述举例过程可知,勒索程序对用户的数据文件的勒索过程可以概括为:勒索程序首先要读取到数据文件,之后用自己产生的加密秘钥对读取的数据文件进行加密,向用户勒索赎金,用户支付赎金后使用解密秘钥为用户还原出该数据文件。
目前对勒索程序的防御方式基本都具有后验性,即在勒索行为已经发生之后,再通过某些技术手段为用户提供相应解密秘钥,或者基于勒索行为的特征识别,甄别出勒索程序以杀死勒索程序。这些方式的及时性不够,会导致用户的数据文件在一定程度上仍会被破坏。
鉴于此,本发明实施例提供的防勒索方案,旨在先验地及时防止勒索程序对用户数据文件的勒索,以保护用户的敏感数据信息。所谓先验,即是让勒索程序无法获取到用户的数据文件,从而无法执行基于自身加密秘钥加密用户的数据文件的勒索行为,亦即阻断勒索程序加密用户的数据文件的行为。
为实现上述目的,本发明实施例提供了如图2所示的防勒索系统。该防勒索系统可以位于任一暴露于不可信网络环境中的电子设备中,比如可以是边缘云计算环境中的计算主机、还可以是用户终端等。
仍以任一服务器为例,如图2中所示,在图1所示的系统组成基础上,用户态除了包括图中示意的多个应用程序(比如应用程序A、应用程序C、应用程序D)外,还新增了一种系统服务,称为文件系统加密服务。
另外,在硬件层,还设置了硬件可信根。硬件可信根,也称为物理可信根,可与服务器主板绑定,通过硬件电路的方式提供可信计算环境,可以在可信计算环境中对保护服务器整体系统进行秘钥隐私计算,根秘钥存储,导出秘钥计算(基于根秘钥产生派生秘钥)等处理,通过软件手段较难破译。本发明实施例中,可以采用现有的一些常用硬件可信根即可。如图2中所示,本实施例中,主要是使用硬件可信根提供的根秘钥以及秘钥推导算法。
另外,在操作系统内核中,还设置了文件系统加解密功能组件。该文件系统加解密功能组件可以认为是集成在文件系统中的一个功能模块。各应用程序通过标准的文件系统接口触发的文件读写请求都会经过该文件系统加解密功能组件。概括来说,文件系统加解密功能组件用于对应用程序读写的数据文件进行加解密处理以及用于对进行该加解密处理所使用的文件加解密秘钥进行管理。基于此,可选地,基于该文件系统加解密功能组件所提供的功能的拆分,可以将该功能组件拆分为两个子功能组件:文件系统加解密子功能组件以及秘钥管理子功能组件。其中,秘钥管理子功能组件主要用于存储应用程序的文件加解密秘钥,而文件系统加解密子功能组件主要用于进行数据文件的读写处理。
另外,在操作系统内核中,还包含有硬件可信根调用接口,从而使得文件系统加密服务通过该调用接口与硬件可信根交互。
下面结合图3,说明基于图2所示意的防勒索系统的防勒索方法的执行过程。
如图3中所示,假设服务器的应用层中包括第一应用程序(应用程序A)和第二应用程序(勒索程序B)。
应用程序A和勒索程序B的工作过程如下:
301、用户向文件系统加密服务登记需要被保护的应用程序A的第一标识信息。
用户(比如某企业用户的服务器管理员)出于安全等原因考虑,认为应用程序A在运行过程中产生的数据应该被保护,则向文件系统加密服务登记该应用程序A需要被保护。实际应用中,比如该应用程序A是某款办公软件、财务软件等对于用户来说会产生敏感数据的应用程序,所以用户认为该应用程序A需要被进行数据保护,以防止勒索程序的攻击。
实际应用中,在向文件系统加密服务登记应用程序A时,用户可以提供应用程序A的第一标识信息,还可以提供用户的标识信息。其中,该用户的标识信息可以是用户登录服务器的账号等信息。其中,应用程序A的第一标识信息可以包括应用程序A的指纹等唯一性标识。
具体地,文件系统加密服务可以提供有登记配置界面,用户可以在该登记配置界面中输入需要被保护的应用程序A的标识信息、用户标识信息。或者,文件系统加密服务也可以提供配置文件,用户调用该配置文件,输入需要被保护的应用程序A的标识信息、用户标识信息。
302、文件系统加密服务获取基于应用程序A的第一标识信息和硬件可信根产生的根秘钥所生成的应用程序A对应的文件加解密秘钥。
硬件可信根通过硬件电路产生根秘钥,具体的生成方式可以参考现有相关技术,在此不赘述。
在一可选实施例中,在采用的硬件可信根的计算、存储能力较低的情形下,该硬件可信根中可以不提供秘钥推导算法,而仅提供根秘钥。此时,文件系统加密服务可以向硬件可信根申请根秘钥,在获得该根秘钥之后,在文件系统加密服务本地执行秘钥推导算法,以根秘钥以及应用程序A的第一标识信息(还可以输入用户标识信息)为输入,计算出与应用程序A对应的文件加解密秘钥。
在另一可选实施例中,比如在采用的硬件可信根的计算、存储能力较为充足的情形下,该硬件可信根中还可以提供秘钥推导算法,从而,文件系统加密服务将应用程序A的第一标识信息(还可以包括用户标识信息)发送至硬件可信根,硬件可信根产生根秘钥,并将根秘钥、应用程序A的第一标识信息(还可以输入用户标识信息)作为该秘钥推导算法的输入,计算出与应用程序A对应的文件加解密秘钥,将得到的该文件加解密秘钥发送至文件系统加密服务。
以由文件系统加密服务生成上述文件加解密秘钥为例,具体地,文件系统加密服务可以通过硬件可信根调用接口向硬件可信根申请根秘钥,硬件可信根产生根秘钥并将其反馈给文件系统加密服务,以使得文件系统加密服务基于该根秘钥和应用程序A的标识信息生成应用程序A对应的文件加解密秘钥。该文件加解密秘钥用于对该应用程序A后续产生的写入数据文件进行加密处理,以及对加密的数据文件进行解密处理。
303、文件加密服务将应用程序A的第一标识信息和文件加解密秘钥发送至内核的文件系统加解密功能组件。
从而,文件系统加解密功能组件存储应用程序A的第一标识信息和文件加解密秘钥的对应关系。
304、勒索程序B向文件系统加解密功能组件发送对应用程序A的数据文件的文件读取请求。
本实施例中,实际假设的是不同于应用程序A的另一应用程序(第二应用程序)要读取应用程序A的数据文件的情形,只是为了便于理解防勒索的实现原理,将该第二应用程序先认定是勒索程序B。
由于应用层的各应用程序(包括勒索程序在内)触发的文件读写请求都需要经过内核态中的文件系统加解密功能组件,因此,勒索程序B在想要读取应用程序A的数据文件时,触发的文件读取请求会被文件系统加解密功能组件接收,其中,该文件读写请求中会携带有勒索程序B的第二标识信息以及待读取的数据文件对应的标识信息,该标识信息可以是该数据文件在服务器中对应的存储路径,比如C盘下某文件夹内的某个文件。
305、文件系统加解密功能组件根据勒索程序的第二标识信息以及第一标识信息与应用程序A的文件加解密秘钥之间的对应关系,确定勒索程序B不能读取上述数据文件。
306、文件系统加解密功能组件反馈错误提示信息。
文件系统加解密功能组件根据勒索程序的第二标识信息以及第一标识信息与应用程序A的文件加解密秘钥之间的对应关系,确定勒索程序B是否能读取上述数据文件。本实施例中,假设确定结果是不能读取,则文件系统加解密功能组件反馈错误提示信息。
具体地,由于文件系统加密服务向文件系统加解密功能组件存入了应用程序A的第一标识信息与应用程序A的文件加解密秘钥,所以文件系统加解密功能组件中存储的是应用程序A的第一标识信息与应用程序A的文件加解密秘钥(假设为KeyA)的对应关系。
第一种情形,假设勒索程序B并未被登记到文件系统加密服务中申请保护,那么可以理解的是,文件系统加解密功能组件中不会存储与勒索程序B的第二标识信息对应的文件加解密秘钥。此时,基于勒索程序B的第二标识信息在文件系统加解密功能组件中查询不到与之对应的文件加解密秘钥,从而文件系统加解密功能组件直接反馈错误提示信息,不会执行相应的数据文件读取操作,使得勒索程序B无法读取到应用程序A的数据文件,从而无法进行勒索行为。
第二种情形,假设勒索程序B也被登记到文件系统加密服务中申请保护,那么可以理解的是,文件系统加解密功能组件中会存储勒索程序B的第二标识信息以及其对应的文件加解密秘钥(假设为KeyB)。此时,文件系统加解密功能组件基于勒索程序B的第二标识信息能够查询得到一个文件加解密秘钥KeyB。之后,可选地,文件系统加解密功能组件可以基于勒索程序B触发的读取请求中所指示的需要读取的数据文件的标识信息,在文件系统中确定该数据文件所对应的应用程序A的第一标识信息,进而确定与第一标识信息对应的是文件加解密秘钥KeyA,而非文件加解密秘钥KeyB,从而,文件系统加解密功能组件也会反馈错误提示信息,不会执行从物理存储介质中读取该数据文件的操作,使得勒索程序B无法读取到应用程序A的数据文件。或者,可选地,文件系统加解密功能组件可以根据上述读取请求中数据文件的标识信息,从物理存储介质中读取该数据文件,该数据文件在应用程序A存入过程中是使用文件加解密秘钥KeyA进行加密过的,因此,文件系统加解密功能组件读取的是使用文件加解密秘钥KeyA加密后的数据文件,进而再使用根据勒索程序B对应的第二标识信息查询到的文件加解密秘钥KeyB对该加密后数据文件进行解密,解密失败,从而,文件系统加解密功能组件也会反馈上述错误提示信息,使得勒索程序B无法获取到应用程序A的数据文件,从而无法进行勒索行为。
由此可知,针对在暴露于不可信网络、没有专有存储防御措施的计算设备(比如服务器等),通过在该计算设备的内核中设置一个基于文件系统层面(并非文件内容层面)的原生加解密功能组件,使得任何受到保护的数据文件在正常存储和读取时都必须经过这个功能组件,而这个带有防护作用的功能组件中所存储的文件加解密秘钥是利用计算设备自身的硬件可信根推导出的不可被破解的秘钥,且只有合法的用户应用程序才能获得这个文件加解密秘钥,勒索程序无法持有此秘钥,从而勒索程序无法正常访问获得受到保护的应用程序的数据文件,就不能进行勒索行为,从而实现了及时防止勒索的目的。
另外,在一可选实施例中,基于内核中的文件系统加解密功能组件还可以侦测出试图非法访问受保护的数据文件的应用程序,将其视为勒索程序。
具体地,以第二应用程序为例,假设第二应用程序向文件系统加解密功能组件触发访问第一应用程序的数据文件的文件读取请求,文件系统加解密功能组件基于前述实施例中介绍的处理过程在反馈错误提示信息后,还可以根据其触发的文件读取请求确定第二应用程序读取第一应用程序(这里泛指除第二应用程序自身之外的应用程序)的数据文件的统计信息,若该统计信息符合设定条件,则输出用于告警第二应用程序为勒索程序的告警信息,以便用户及时排查该第二应用程序是否为勒索程序等恶意程序。该统计信息比如是累计次数,该设定条件比如是累计次数大于设定阈值。
图4为本发明实施例提供的一种应用程序写入数据过程的示意图,如图4所示,基于图2所示防勒索系统架构,数据写入过程可以包括如下步骤:
401、用户向文件系统加密服务登记需要被保护的应用程序A的第一标识信息。
402、文件系统加密服务获取基于应用程序A的第一标识信息和硬件可信根产生的根秘钥所生成的应用程序A对应的文件加解密秘钥。
403、文件加密服务将应用程序A的第一标识信息和文件加解密秘钥发送至内核的文件系统加解密功能组件。
404、应用程序A向文件系统加解密功能组件发送文件写入请求。
405、文件系统加解密功能组件根据应用程序A的第一标识信息获取对应的文件加解密秘钥,使用该文件加解密秘钥对待写入数据文件以及待写入数据文件的文件属性信息进行加密处理。
406、文件系统加解密功能组件将待写入数据文件及其文件属性信息的加密结果存入物理存储介质中。
本实施例中,步骤401-403的执行可以参考前述实施例中的相关介绍,在此不赘述。
本实施例中,以应用程序A进行数据写过的过程为例,当应用程序A向文件系统加解密功能组件触发包含待写入数据文件的文件写入请求时,文件系统加解密功能组件基于该文件写入请求中携带的应用程序A的第一标识信息,查询已存储的文件加解密秘钥中是否存在与该第一标识信息对应的文件加解密秘钥,若存在,说明该文件加解密秘钥是与应用程序A对应的,从而使用该文件加解密秘钥进行写入过程的相关加密处理。
在本实施例中,提供的是文件系统层面的加密处理。具体地,被加密的对象不仅仅包括待写入数据文件,还包括其在文件系统中对应的文件节点,即文件属性信息。也就是说,文件系统加解密功能组件针对该待写入数据,在确定需要在文件系统中添加的文件属性信息后,使用获得的文件加解密秘钥对该文件属性信息和待写入数据文件进行加密,加密结果存入硬件层相应的物理存储介质中,其中,文件属性信息中包括在物理存储介质中对应的存储地址信息,据此实现加密结果的存入。另外,还可以使用该文件加解密秘钥对该文件属性信息进行加密,加密后的文件属性信息添加到文件系统中,也就是说,在文件系统中该文件属性信息也是加密存储的,不会透露出相关的明文信息。
通过上述文件系统层面的加密处理,可以保证用户数据文件的安全性。另外,需要说明的是,由于文件系统位于操作系统内核,所谓文件系统层面的加密处理,还是指内核中的文件系统加解密功能组件利用文件加解密秘钥进行加密处理的过程发生在内核层,正是由于在内核层进行了这样的加密处理,才为及时阻断勒索程序的勒索行为提供重要基础。因为如果是在应用层进行数据文件加密,不仅需要改进应用程序,而且也无法实现防勒索的目的。比如,应用程序A的数据文件由应用程序A进行加密之后,通过文件系统存入物理存储介质,那么勒索程序B向文件系统触发访问应用程序A的数据文件的读取请求后,文件系统获取加密后的数据文件反馈给勒索程序B,勒索程序B使用自己的秘钥再对该加密后数据文件进行一次加密,仍旧可以进行勒索行为。
另外,由于对数据文件的加解密处理发生在文件系统层面,即内核层,因此对应用程序的开发者来说,整个的文件保护过程是透明的,无需为了保护文件而引入额外的开发工作量。而用户仅需向文件系统加密服务登记需要受到保护的应用程序即可,操作方便。
上述实施例中仅以应用程序A的数据写入过程为例进行了说明。实际上,读取数据的过程也类似,简单来说,文件系统加解密功能组件若接收应用程序A发送的文件读取请求,则根据其对应的第一标识信息查询到已经存储有对应的文件加解密秘钥,则使用该文件加解密秘钥对从物理存储介质中获得的待读取数据文件进行解密,将解密出的数据文件反馈给应用程序A。
综上,被保护的应用程序的数据文件在写入文件系统时,都是在内核层面使用对应的文件加解密秘钥进行加密处理的。当一个勒索程序试图访问受保护的数据文件时,由于此时勒索程序无法获得被保护应用程序所对应的标识信息、用户标识信息,从而无法以被保护应用程序的身份查询获得内核中与该被保护应用程序对应的文件加解密秘钥,从而其触发的文件读取请求在解密环节便会被拒绝,导致勒索程序无法实际访问到被保护应用程序的数据文件,在获得内核反馈的诸如“无有效秘钥”的错误提示信息时,勒索过程被终止。但是对于由用户正常启动的,且对数据文件持有合法访问权的应用程序(即被保护应用程序)在对其数据文件进行访问时,则可以获得文件加解密秘钥,从而解密获得对应的数据文件。
为进一步提高安全性,在一可选实施例中,还提供了对用户态的文件系统加密服务进行安全监测的功能。具体地,还可以在用户态设置一安全检测代理服务,且该安全检测代理服务被配置为具有设定的高级权限,比如root权限,从而能够避免被轻易攻击,即攻击该代理服务的程序只有提升其权限为更高等级才能攻击该代理服务。该安全检测代理服务周期性检测文件系统加密服务的可执行文件是否发生变化,若发生变化,则向安全检测代理服务的管理端发出告警信息。
实际应用中,该管理端可以位于中心云等可信环境中。文件系统加密服务的可执行文件,简单来说就是提供该服务的代码。在每个检测周期,可以对该可执行文件进行哈希计算,得到对应的哈希值,如果某个检测周期得到的哈希值与此前得到的哈希值发生变化,可以认为该可执行文件发生了变化,比如被攻击修改了。当然,如果某检测周期发现无法获得该可执行文件了,则确定该文件系统加密服务被删除了。当发生这些异常情形时,该安全检测代理服务可以向管理端发出告警信息,以便管理端通知用户进行排查。
在一可选实施例中,还提供了一种可信内核认证机制,利用内核签名以及安全引导程序确保该内核的完整性,不可篡改,从而确保文件系统加解密功能组件的加解密能力的可信性。假使攻击者企图通过篡改内核的方式来利用可信密钥(即上文中的文件加解密秘钥)破坏本发明实施例提出的防勒索体系,那么基于该可信内核认证机制,内核将无法被启动,从而保证该防勒索方案的可靠实施。
具体来说,在防勒索系统中还包括安全启动引导程序,该安全启动引导程序可以运行在主板上,用于引导设备启动,包括启动内核。实际上,内核也是一个可执行文件(可以称为内核文件),在存储介质中存储,在启动内核时,安全启动引导程序需要加载内核以启动内核。
在本实施例中,与内核一起存储在存储介质中的,还包括内核的数字签名。具体地,可以预先生成内核对应的公钥和私钥,该公钥通过某种方式提供给安全启动引导程序,利用该私钥对内核进行数字签名。基于此,安全启动引导程序在启动内核的过程中,加载内核以及内核对应的数字签名,根据预先获得的内核的公钥对该数字签名进行验证,若验证通过,说明内核没有被篡改,则启动内核;否则,若验证没有通过,说明内核受到了攻击,不启动内核。
其中,所述数字签名的生成过程简单来说就是:先对内核进行哈希计算,得到第一哈希值,之后,采用内核对应的私钥对该第一哈希值进行加密,得到数字签名。
数字签名的验证过程简单来说就是:利用内核对应的公钥对获取的数字签名进行解密得到第一哈希值,对获取的内核进行哈希计算得到第二哈希值,若第一哈希值与第二哈希值相同,则确定验证通过,反之不通过。
总数,本发明实施例中充分利用了硬件可信、内核可信等可信技术,提升了安全保护等级,使得攻击者对文件加解密秘钥存储破译、内核攻击等变得困难。
图5为本发明实施例提供的一种应用程序防勒索方法的流程图,该方法可以由部署有图2所示实施例中防勒索系统的电子设备中的处理器执行,如图5所示,该方法包括如下步骤:
501、通过用户态的文件系统加密服务,获取需要保护的第一应用程序的第一标识信息。
502、通过文件系统加密服务获取第一应用程序对应的文件加解密秘钥,所述文件加解密秘钥是根据第一标识信息和硬件可信根中产生的根秘钥生成的。
503、通过文件系统加密服务将文件加解密秘钥与第一标识信息的对应关系存入内核态中的文件系统加解密功能组件。
504、响应于通过文件系统加解密功能组件接收到第二应用程序对第一应用程序的数据文件的文件读取请求,根据第二应用程序的第二标识信息以及所述对应关系确定第二应用程序是否能读取所述数据文件。
上述步骤的执行过程可以参考前述实施例中的相关说明,在此不赘述。
实际应用中,在电子设备的应用层(即用户态)中,往往会运行有多个应用程序,这些应用程序对数据读写时延的敏感度是不同的,而前述实施例提供的防勒索方案,由于加解密过程是发生在文件系统所在的内核层,而非应用层,在数据文件从应用程序流入文件系统以及从文件系统流出到应用程序的过程中会产生一定的性能损耗,主要是指IO延迟损耗。因此,可选地,可以建议用户针对读写时延不敏感的应用程序采用上述防勒索方案进行保护。当然,实际应用中,也可以通过改善加解密算法的效率,限制文件加解密秘钥的长度等方法来提升性能。
因此,在一可选实施例中,可以获取位于用户态的多个应用程序的读写时延敏感性信息,根据多个应用程序的读写时延敏感性信息,筛选出对读写时延不敏感的目标应用程序,输出目标应用程序以供用户从目标应用程序中确定需要保护的第一应用程序。
其中,对于任一应用程序,其读写时延敏感性信息可以根据该应用程序使用于的应用场景类型、所提供的功能等因素确定。
比如,防勒索系统部署在某服务器中,该服务器中运行有自动驾驶应用程序,车载摄像头等车载感知设备、路测单元等外部设备将采集的车辆行驶数据、位置数据、周围环境数据等数据上传到服务器中的该自动驾驶应用程序,该自动驾驶应用程序接收这些数据,一方面可以将这些数据存入服务器的物理存储介质中,另一方面可以对这些数据进行计算处理,计算结果也可以存入服务器的物理存储介质中。在该举例中,可以基于该自动驾驶应用程序是被应用于自动驾驶场景中的而确定该自动驾驶应用程序是对读写时延敏感的。再比如用于对设备进行安全运行控制的应用程序,也可以认为是对读写时延敏感的。
再比如,若某应用程序是提供诸如5G虚拟基站中分布式单元(Distributed Unit,简称DU)的功能的,由于DU是用于处理对实时性要求较高的一些功能的,所以可以确定该应用程序是对读写时延敏感的。
以下将详细描述本发明的一个或多个实施例的应用程序防勒索装置。本领域技术人员可以理解,这些装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图6为本发明实施例提供的一种应用程序防勒索装置的结构示意图,如图6所示,该装置包括:获取模块11、存储模块12和读写模块13。
获取模块11,用于通过用户态的文件系统加密服务,获取需要保护的第一应用程序的第一标识信息;以及,通过所述文件系统加密服务获取所述第一应用程序对应的文件加解密秘钥,所述文件加解密秘钥是根据所述第一标识信息和硬件可信根中产生的根秘钥生成的。
存储模块12,用于通过所述文件系统加密服务将所述文件加解密秘钥与所述第一标识信息的对应关系存入内核态中的文件系统加解密功能组件。
读写模块13,用于响应于通过所述文件系统加解密功能组件接收到第二应用程序对所述第一应用程序的数据文件的文件读取请求,若根据所述第二应用程序的第二标识信息以及所述对应关系确定所述第二应用程序不能读取所述数据文件,则通过所述文件系统加解密功能组件反馈错误提示信息。
可选地,所述装置还包括:推荐模块,用于获取位于用户态的多个应用程序的读写时延敏感性信息;根据多个应用程序的读写时延敏感性信息,筛选出对读写时延不敏感的目标应用程序;输出所述目标应用程序以供用户从所述目标应用程序中确定需要保护的所述第一应用程序。
可选地,所述存储模块12还用于:响应于通过所述文件系统加解密功能组件接收到所述第一应用程序的文件写入请求,使用所述文件加解密秘钥对待写入数据文件以及所述待写入数据文件的文件属性信息进行加密处理,将加密结果存入本地的物理存储介质中。
可选地,所述装置还包括:检测模块,用于通过用户态的安全检测代理服务周期性检测所述文件系统加密服务的可执行文件是否发生变化,若发生变化,则向所述安全检测代理服务的管理端发出告警信息,其中,所述安全检测代理服务被配置为具有设定的高级权限。
图6所示装置可以执行前述实施例中的步骤,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
在一个可能的设计中,上述图6所示应用程序防勒索装置的结构可实现为一电子设备。如图7所示,该电子设备可以包括:处理器21、物理存储介质22、操作系统23、硬件可信根24、通信接口25。其中,物理存储介质22上存储有可执行代码,所述可执行代码包括对应于操作系统用户态中的文件系统加密服务、多个应用程序以及对应于操作系统内核态中的文件系统加解密功能组件的代码;当所述可执行代码被处理器21执行时,使处理器21至少可以实现如前述实施例中提供的应用程序防勒索方法。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如前述实施例中提供的应用程序防勒索方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种应用程序防勒索系统,其特征在于,包括:
位于用户态的文件系统加密服务、多个应用程序,位于内核态的文件系统加解密功能组件,以及硬件可信根,所述多个应用程序包括第一应用程序和第二应用程序;
所述文件系统加密服务,用于获取需要保护的第一应用程序的第一标识信息,根据所述第一标识信息获取所述第一应用程序对应的文件加解密秘钥,将所述文件加解密秘钥以及所述第一标识信息发送至所述文件系统加解密功能组件,其中,所述文件加解密秘钥是根据所述第一标识信息和硬件可信根中产生的根秘钥生成的;
所述硬件可信根,用于产生所述根秘钥;
所述文件系统加解密功能组件,用于存储所述文件加解密秘钥与所述第一标识信息的对应关系,接收第二应用程序对所述第一应用程序的数据文件的文件读取请求;以及,根据所述第二应用程序的第二标识信息以及所述对应关系确定所述第二应用程序是否能读取所述数据文件。
2.根据权利要求1所述的系统,其特征在于,在根据所述第一标识信息获取所述第一应用程序对应的文件加解密秘钥的过程中,所述文件系统加密服务,用于将所述第一标识信息发送至所述硬件可信根;
所述硬件可信根,用于基于产生的所述根秘钥和所述第一标识信息,生成所述文件加解密秘钥,将所述文件加解密秘钥反馈至所述文件系统加密服务;
或者,在根据所述第一标识信息获取所述第一应用程序对应的文件加解密秘钥的过程中,所述文件系统加密服务,用于从所述硬件可信根获取所述根秘钥,根据所述第一标识信息和所述根秘钥生成所述文件加解密秘钥。
3.根据权利要求1所述的系统,其特征在于,所述文件系统加解密功能组件,还用于根据所述文件读取请求确定所述第二应用程序读取所述第一应用程序的数据文件的统计信息,若所述统计信息符合设定条件,则输出用于告警所述第二应用程序为勒索程序的告警信息。
4.根据权利要求1所述的系统,其特征在于,所述文件系统加解密功能组件,还用于接收所述第一应用程序的文件读写请求,所述文件读写请求中包括所述第一标识信息;以及,若确定已存储与所述第一标识信息对应的所述文件加解密秘钥,则使用所述文件加解密秘钥对所述文件读写请求所对应的待读写数据文件进行处理。
5.根据权利要求4所述的系统,其特征在于,所述文件读写请求为文件写入请求,所述文件系统加解密功能组件,用于使用所述文件加解密秘钥对待写入数据文件以及所述待写入数据文件的文件属性信息进行加密处理,将加密结果存入本地的物理存储介质中。
6.根据权利要求1至5任一项所述的系统,其特征在于,所述系统还包括:安全启动引导程序;
所述安全启动引导程序,用于在启动所述内核的过程中,加载内核以及所述内核对应的数字签名,根据预先获得的所述内核对应的公钥对所述数字签名进行验证,若验证通过,则启动所述内核;其中,所述数字签名是基于所述内核对应的私钥对所述内核进行签名得到的。
7.根据权利要求1至5任一项所述的系统,其特征在于,所述系统还包括:位于用户态的安全检测代理服务;
所述安全检测代理服务,用于周期性检测所述文件系统加密服务的可执行文件是否发生变化,若发生变化,则向所述安全检测代理服务的管理端发出告警信息。
8.一种应用程序防勒索方法,其特征在于,包括:
通过用户态的文件系统加密服务,获取需要保护的第一应用程序的第一标识信息;
通过所述文件系统加密服务获取所述第一应用程序对应的文件加解密秘钥,所述文件加解密秘钥是根据所述第一标识信息和硬件可信根中产生的根秘钥生成的;
通过所述文件系统加密服务将所述文件加解密秘钥与所述第一标识信息的对应关系存入内核态中的文件系统加解密功能组件;
响应于通过所述文件系统加解密功能组件接收到第二应用程序对所述第一应用程序的数据文件的文件读取请求,根据所述第二应用程序的第二标识信息以及所述对应关系确定所述第二应用程序是否能读取所述数据文件。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
获取位于用户态的多个应用程序的读写时延敏感性信息;
根据多个应用程序的读写时延敏感性信息,筛选出对读写时延不敏感的目标应用程序;
输出所述目标应用程序以供用户从所述目标应用程序中确定需要保护的所述第一应用程序。
10.根据权利要求8所述的方法,其特征在于,所述方法还包括:
响应于通过所述文件系统加解密功能组件接收到所述第一应用程序的文件写入请求,使用所述文件加解密秘钥对待写入数据文件以及所述待写入数据文件的文件属性信息进行加密处理,将加密结果存入本地的物理存储介质中。
11.一种电子设备,其特征在于,包括:操作系统、物理存储介质、处理器、硬件可信根、通信接口;其中,所述物理存储介质上存储有可执行代码,所述可执行代码包括对应于操作系统用户态中的文件系统加密服务、多个应用程序以及对应于操作系统内核态中的文件系统加解密功能组件的代码;当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求8至10中任一项所述的应用程序防勒索方法。
12.一种非暂时性机器可读存储介质,其特征在于,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求8至10中任一项所述的应用程序防勒索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211143833.4A CN117786683A (zh) | 2022-09-20 | 2022-09-20 | 应用程序防勒索系统、方法、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211143833.4A CN117786683A (zh) | 2022-09-20 | 2022-09-20 | 应用程序防勒索系统、方法、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117786683A true CN117786683A (zh) | 2024-03-29 |
Family
ID=90393299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211143833.4A Pending CN117786683A (zh) | 2022-09-20 | 2022-09-20 | 应用程序防勒索系统、方法、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117786683A (zh) |
-
2022
- 2022-09-20 CN CN202211143833.4A patent/CN117786683A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112074836B (zh) | 通过可信执行环境保护数据的设备和方法 | |
CN109923548B (zh) | 通过监管进程访问加密数据实现数据保护的方法、系统及计算机程序产品 | |
AU2018204262B2 (en) | Automated code lockdown to reduce attack surface for software | |
US11606211B2 (en) | Secured system operation | |
US8474032B2 (en) | Firewall+ storage apparatus, method and system | |
US7743260B2 (en) | Firewall+storage apparatus, method and system | |
US9455955B2 (en) | Customizable storage controller with integrated F+ storage firewall protection | |
JP4837985B2 (ja) | 信頼できる処理モジュールを有するコンピュータを安全にブートするためのシステムおよび方法 | |
US11469880B2 (en) | Data at rest encryption (DARE) using credential vault | |
US20230084691A1 (en) | Advanced ransomware detection | |
Liu et al. | $ LiveForen $: Ensuring Live Forensic Integrity in the Cloud | |
Alzahrani et al. | Ransomware in windows and android platforms | |
US8667278B2 (en) | Information processing apparatus and data transmission method of information processing apparatus | |
CN117786683A (zh) | 应用程序防勒索系统、方法、设备和存储介质 | |
US9177160B1 (en) | Key management in full disk and file-level encryption | |
US20170099315A1 (en) | System and method for obtaining keys to access protected information | |
Verma | A security analysis of smartphones | |
Zhao | Authentication and Data Protection under Strong Adversarial Model | |
WO2024137118A1 (en) | Protection of cloud storage devices from anomalous encryption operations | |
Durfee et al. | Posture-based data protection | |
Jackson | Gozi trojan | |
da Silveira Serafim et al. | Restraining and repairing file system damage through file integrity control | |
Bortolameotti et al. | Reliably determining data leakage in the presence of strong attackers | |
Kurmus et al. | On the Feasibility of Data Exfiltration with Storage-Device Backdoors |
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 |