一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

文件保护方法、装置、设备、存储介质和程序产品与流程

2022-03-26 06:56:42 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,尤其涉及一种文件保护方法、装置、设备、存储介质和程序产品。


背景技术:

2.计算机网络和移动互联网应用的快速发展,给社会工作和生活带来极大便利,但各种网络安全问题所造成的威胁和损失也越来越大。例如,勒索病毒会通过写操作对文件进行破坏或加密。
3.发明人在实现本发明的方案过程中发现:勒索病毒会通过硬链接的方式对文件进行写操作。因此,如何针对上述硬链接方式的写操作进行防护是本领域技术人员亟需解决的技术问题。


技术实现要素:

4.针对现有技术中的问题,本发明实施例提供一种文件保护方法、装置、设备、存储介质和程序产品。
5.具体地,本发明实施例提供了以下技术方案:
6.第一方面,本发明实施例提供了一种文件保护方法,包括:
7.若当前操作的第一文件为具有硬链接的文件,则确定所述第一文件路径对应的树结构中是否包含所述第一文件的节点;
8.若所述第一文件路径对应的树结构中包含所述第一文件的节点,则对所述当前操作进行目标处理;所述树结构中的节点均为具有硬链接的文件节点。
9.进一步地,所述确定所述第一文件路径对应的树结构中是否包含所述第一文件的节点,包括:
10.将所述第一文件的节点标识与所述第一文件路径对应的树结构中的节点的节点标识进行匹配;
11.若所述第一文件的节点标识与所述树结构中一节点的节点标识匹配,则确定所述树结构中包含所述第一文件的节点。
12.进一步地,所述确定所述第一文件的第一文件路径对应的树结构中是否包含所述第一文件的节点之前,还包括:
13.确定所述第一文件的第一文件路径是否与预设的至少一个第二文件路径匹配;
14.若存在与所述第一文件路径匹配的第二文件路径,则对所述当前操作进行目标处理;
15.若不匹配,则确定所述第一文件是否为具有硬链接的文件。
16.进一步地,所述对所述当前操作进行目标处理之前,还包括:
17.确定所述当前操作对应进程的路径是否与所述第二文件路径对应预设规则中访问主体的路径匹配;
18.若不匹配则对所述当前操作进行目标处理。
19.进一步地,所述对所述当前操作进行目标处理,包括:
20.根据预设策略对所述当前操作进行上报处理或拦截处理。
21.进一步地,所述方法还包括:
22.在第二文件的硬链接标识变化的情况下,确定所述第二文件对应的第三文件路径;
23.在所述第三文件路径对应的树结构中增加或删除所述第二文件的节点。
24.进一步地,所述在所述第三文件路径对应的树结构中增加或删除所述第二文件的节点,包括:
25.若所述第二文件的硬链接标识大于预设值,则在所述第三文件路径对应的树结构中增加所述第二文件的节点;
26.若所述第二文件的硬链接标识等于预设值,则在所述第三文件路径对应的树结构中删除所述第二文件的节点。
27.进一步地,确定所述第一文件的第一文件路径对应的树结构中是否包含所述第一文件的节点之前,所述方法还包括:
28.获取所述第一文件路径下具有硬链接的文件;
29.根据所述第一文件路径下具有硬链接的文件,建立所述第一文件路径对应的树结构。
30.第二方面,本发明实施例还提供了一种文件保护装置,包括:
31.确定模块,用于若当前操作的第一文件为具有硬链接的文件,则确定所述第一文件路径对应的树结构中是否包含所述第一文件的节点;
32.处理模块,用于若所述第一文件路径对应的树结构中包含所述第一文件的节点,则对所述当前操作进行目标处理;所述树结构中的节点均为具有硬链接的文件节点。
33.第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述文件保护方法的步骤。
34.第四方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述文件保护方法的步骤。
35.第五方面,本发明实施例还提供了一种计算机程序产品,其上存储有可执行指令,该指令被处理器执行时使处理器实现第一方面所述文件保护方法的步骤。
36.本发明实施例提供的文件保护方法、装置、设备、存储介质和程序产品,若当前操作的第一文件为具有硬链接的文件,且第一文件路径对应的树结构中包含第一文件的节点,则说明该第一文件受该第一文件路径对应的规则约束,对当前操作进行目标处理;由于树结构中的节点均为具有硬链接的文件节点,能够防止对具有硬链接的防止对第一文件进行非法修改等操作,提高文件保护的安全性。
附图说明
37.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发
明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
38.图1是本发明实施例提供的文件保护方法的流程示意图之一;
39.图2为本发明实施例中树结构示意图;
40.图3是本发明实施例提供的文件保护方法的流程示意图之二;
41.图4是本发明实施例提供的文件保护方法的流程示意图之三;
42.图5是本发明实施例提供的文件保护方法的流程示意图之四;
43.图6为本发明文件保护装置实施例结构示意图;
44.图7为本发明电子设备实施例结构示意图。
具体实施方式
45.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
46.首先,对本发明实施例涉及的部分词汇和应用场景进行介绍。
47.inode,用于记录文件属性,一个文件对应一个inode。inode相当于文件的标识id,查找文件的时候要先找到inode,然后才能读出文件的内容。
48.硬链接是多个文件都指向同一个inode,具有以下特征:
49.1、具有相同inode的多个文件互为硬链接文件,创建硬链接相当于文件实体多了入口。
50.2、对于硬链接文件,只有删除了源文件以及对应的所有硬连接文件,文件实体才会被删除。
51.3、不论修改源文件还是其中任一硬链接文件,其他文件的数据都会被改变。
52.本发明实施例的方法可以应用于安全防护场景中,特别是对文件进行防护,保证文件安全。
53.勒索防护的目标是防止关键的文件不被修改、加密,保护对象是特定的文件,而普遍使用的防护方案是在内核监控文件的打开,从而实现只向特定的主体打开受保护的文件,而对于具有硬链接的文件来说,修改其硬链接的文件,会同时修改源文件以及其他硬链接文件,因此,本发明实施例通过增加对硬链接的监控,防止不法程序修改、加密受保护的文件。
54.本发明实施例的文件保护方法中,将受保护的具有硬链接的文件,添加在树结构的节点中,若当前操作的文件属于该树结构,则对该文件进行安全防护,即对当前操作进行上报或拦截处理等,提高了文件保护的安全性。
55.下面结合图1-图5以具体的实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
56.图1是本发明实施例提供的文件保护方法的流程示意图之一。如图1所示,本实施例提供的方法,包括:
57.步骤101、若当前操作的第一文件为具有硬链接的文件,则确定第一文件的第一文件路径对应的树结构中是否包含第一文件的节点。
58.具体的,当前操作包括:文件打开操作、写操作或删除操作等。若当前操作的第一文件为具有硬链接的文件则很有可能是需要安全防护的文件。
59.可以预先将需要防护的具有硬链接的文件进行记录,例如通过树结构中的节点表示具有硬链接的文件的节点,该节点的标识可以是文件的inode,为了方便处理,可以将同一个文件路径下的具有硬链接的文件的节点记录在同一个树结构中,如图2所示为某一文件路径对应的树结构,通过第一文件的标识在该第一文件路径对应的树结构中进行查找,该树结构是否包含第一文件的节点。
60.其中,第一文件可以是源文件,也可以是硬链接文件。
61.步骤102、若第一文件路径对应的树结构中包含第一文件的节点,则对当前操作进行目标处理;树结构中的节点为具有硬链接的文件节点。
62.具体的,若该第一文件路径对应的树结构中包含第一文件的节点,则说明当前第一文件受当前安全防护规则约束,即需要对当前操作进行目标处理,例如进行上报或拦截处理。
63.可选地,可以预先针对每个文件路径,创建树结构,该树结构中的节点为具有硬链接的文件节点,且对应的文件是受保护的文件。树结构中每个节点通过通用唯一识别码(universally unique identifier,uuid)进行标识,uuid包括:inode和bdev。
64.其中,bdev文件系统,是为了建立块设备文件在外部表现与内部实现之间的关联性。bdev文件系统是一个“伪”文件系统,它只被内核使用,而无需挂载到全局的文件系统树上。
65.本实施例的方法,若当前操作的第一文件为具有硬链接的文件,且第一文件路径对应的树结构中包含第一文件的节点,则说明该第一文件受该第一文件路径对应的规则约束,对当前操作进行目标处理;由于树结构中的节点均为具有硬链接的文件节点,能够防止对具有硬链接的第一文件进行非法修改等操作,提高文件保护的安全性。
66.在一实施例中,步骤101之前还可以进行如下操作:
67.确定第一文件的第一文件路径是否与预设的至少一个第二文件路径匹配;
68.若存在与第一文件路径匹配的第二文件路径,则对当前操作进行目标处理;
69.若不匹配,则确定第一文件是否为具有硬链接的文件。
70.具体的,可以预先配置至少一个安全防护规则,每个安全防护规则可以规定需要防护的至少一个第二文件路径,即该些第二文件路径下的文件需要进行安全防护。
71.若当前操作的第一文件的第一文件路径,与某一个第二文件路径匹配,则说明该第一文件需要进行安全防护,对当前操作进行目标处理,例如上报或拦截处理。若不匹配,则说明不受当前的安全防护规则保护,可以进一步判断是否是需要进行安全防护的硬链接文件,若是,则进行目标处理。
72.为了保证效率,可以先将该第一文件的inode号与安全防护规则要保护的文件路径中包括的inode号匹配,当inode号匹配成功后,可以获取到与该第一文件匹配的文件路径。
73.例如inode中参数i_count的数值大于1,可以认为是具有硬链接的文件。
74.在一实施例中,所述对所述当前操作进行目标处理之前,还包括:
75.确定当前操作对应进程的路径是否与第二文件路径对应预设规则中访问主体的路径匹配;
76.若不匹配则对当前操作进行目标处理。
77.具体的,访问主体可以指访问当前的第一文件的进程,如果当前操作对应进程的路径,与该第二文件路径对应预设规则中访问主体的路径匹配,即是预设规则中允许访问的访问主体,则直接对当前操作进行放行,即无需对当前操作进行处理;若不匹配,则说明当前操作对应进程不是预设规则中允许访问的访问主体,则进行目标处理。
78.上述实施方式中,通过对当前操作的第一文件的第一文件路径,与预设的第二文件路径进行匹配,确定该第一文件是否是受保护的文件,可以提高文件保护的安全性。
79.示例性的,如图3所示,该方法包括如下步骤:
80.1、当前文件匹配某一规则;
81.具体的,假设当前文件为文件1,通过文件1的uuid,或uuid中包括的inode查找与该文件1匹配的某一规则,假设该规则是规则1。
82.2、常规字符匹配该规则的文件路径失败;
83.具体的,规则1中访问主体的路径是/usr/bin/vim,可以访问路径/home/aaa.wps下的文件,若对当前文件的操作触发安全防护时,先获取要打开的当前文件的文件路径,则将该文件路径与规则中规定可以访问的文件路径进行字符串匹配,若匹配成功,即文件1的文件路径为/home/aaa.wps,则检查当前操作对应进程的访问路径是否与/usr/bin/vim相同,若相同则对该当前操作放行,即无需对该文件进行安全防护,若不相同则进行目标处理,例如上报或拦截;若匹配失败,则说明该文件1不受规则1保护,需要确定是否是受保护的硬链接文件。
84.3、确定当前文件是否为硬链接文件,即inode中参数i_count的数值是否大于1,即inode-》i_count是否大于1;
85.4、若inode-》i_count》1,则根据当前文件的uuid查询该文件路径的树结构;
86.5、若树结构中存在该文件的节点,则说明当前文件受保护,即需要进行安全防护,对当前操作进行相应处理;
87.6、若不是硬链接文件,或树结构中不存在该文件的节点,则对当前操作放行。
88.在一实施例中,步骤101之前,该文件保护方法还包括:
89.获取第一文件路径下具有硬链接的文件;
90.根据第一文件路径下具有硬链接的文件,建立第一文件路径对应的树结构。
91.具体的,第一文件路径为a/b/c,假设a路径下包括的多个文件中有1个文件1为具有硬链接的文件,则该树结构的根节点为文件1的节点,该文件1的节点通过文件1的uuid表示。a/b路径下包括的多个文件中有2个文件2和文件3为具有硬链接的文件,则将文件2和文件3的节点作为该树结构的根节点的叶子节点,以此类推,形成树结构。
92.上述实施方式中,通过具有硬链接的文件的节点形成的树结构,可以确定当前操作的文件是否受某个防护规则的约束,进而对当前操作进行相应处理,安全性较高。
93.在一实施例中,步骤102具体可以通过如下步骤实现:
94.将第一文件的节点标识与第一文件路径对应的树结构中的节点的节点标识进行
匹配;
95.若第一文件的节点标识与树结构中一节点的节点标识匹配,则确定树结构中包含第一文件的节点。
96.具体的,将第一文件的节点标识uuid1与第一文件路径对应的树结构中的节点的节点标识进行匹配,若该树结构中包括某一节点的节点标识uuid1,则确定树结构中包含第一文件的节点,则说明该硬链接文件受当前第一文件路径对应的安全防护规则的约束。
97.上述实施方式中,通过第一文件的节点标识与树结构中的节点标识进行匹配,从而确定出该树结构中是否包含该第一文件的节点,实现方式简单,效率较高。
98.在一实施例中,步骤102可以通过如下方式实现:
99.根据预设策略对当前操作进行上报处理或拦截处理。
100.具体的,建立树结构(或安全防护规则)时,可以配置相应的策略,例如什么情况下进行上报,什么情况下直接拦截,例如可以根据文件类型的优先级,优先级高的文件可以直接拦截,或者不同路径可以对应相应的处理操作,即在确定当前操作的第一文件是硬链接文件,且是树结构中的节点,进行相应的处理,例如该当前第一文件的优先级较高,则直接进行拦截处理。
101.例如,对于文件路径a下的文件进行上报处理,对于文件路径b下的文件进行拦截处理等。
102.上述实施方式中,在识别到通过硬链接的方式对文件进行操作时,通过对当前操作进行上报处理或拦截处理,提高了文件保护的安全性。
103.在一实施例中,该文件保护方法还包括:
104.在第二文件的硬链接标识变化的情况下,确定所述第二文件对应的第三文件路径;
105.在所述第三文件路径对应的树结构中增加或删除所述第二文件的节点。
106.具体的,在第二文件的硬链接标识变化的情况下,确定第二文件对应的第三文件路径;硬链接标识可以是该inode的硬链接的数量,
107.在所述第三文件路径对应的树结构中增加或删除所述第二文件的节点。
108.具体的,若第二文件的硬链接标识,如inode中参数i_count发生变化,变大或变小,则说明该第二文件具有新创建的硬链接,或删除了某个硬链接,因此,对该第二文件所属的第三文件路径对应的树结构进行处理,例如新增或删除节点,使得后续在使用该树结构时能得到准确的判断,即若对该第三文件路径下的某个文件进行操作时,能准确的确定出是否对该操作进行相应处理,即上报或拦截等,提高了文件保护的安全性。
109.可选地,若所述第二文件的硬链接标识大于预设值,则在所述第三文件路径对应的树结构中增加所述第二文件的节点;
110.若所述第二文件的硬链接标识等于预设值,则在所述第三文件路径对应的树结构中删除所述第二文件的节点。
111.具体的,若第二文件的硬链接标识,如inode中参数i_count,该参数的数值大于预设值,则在第三文件路径对应的树结构中增加第二文件的节点,若第二文件的硬链接标识,inode中参数i_count,该参数的数值等于预设值,则在第二文件路径对应的树结构中删除第二文件的节点,预设值例如为1。
112.如图4所示,监控硬链接的新建,新建uuid节点插入红黑树,包括如下步骤:
113.1、确定inode中参数i_count的数值是否从1变为2,即inode-》i_count从1变成2;
114.2、若是,则说明该硬链接为新建的硬链接,遍历所有的规则对应的文件路径;
115.3、确定新建的硬链接属于哪个规则对应的文件路径;
116.4、若确定该新建的硬链接属于某个文件路径,则往该文件路径对应的树结构中新增该硬链接对应的节点。
117.如图5所示,监控硬链接的移除,从uuid红黑树中删除节点,包括如下步骤:
118.1、确定inode中参数i_count的数值是否从2变为1,即inode-》i_count从2变成1;
119.2、若是,则说明该硬链接为需要删除的硬链接,遍历所有的规则对应的文件路径;
120.3、确定该需要删除的硬链接属于哪个规则对应的文件路径;
121.4、若确定该硬链接属于某个文件路径,则从该文件路径对应的树结构中删除该硬链接对应的节点。
122.其中,上述i_count的数值也可以从其他大于2的数值变为1。
123.上述实施方式中,通过对硬链接的监控,即监控硬链接的新建和删除,防止通过硬链接的方式对文件进行非法操作,提高了文件保护的安全性
124.下面对本发明提供的文件保护装置进行描述,下文描述的文件保护装置与上文描述的文件保护方法可相互对应参照。
125.图6是本发明提供的文件保护识别装置的结构示意图。如图6所示,本实施例提供的文件保护装置,包括:
126.确定模块210,用于若当前操作的第一文件为具有硬链接的文件,则确定所述第一文件路径对应的树结构中是否包含所述第一文件的节点;
127.处理模块220,用于若所述第一文件路径对应的树结构中包含所述第一文件的节点,则对所述当前操作进行目标处理;所述树结构中的节点均为具有硬链接的文件节点。
128.可选地,处理模块220,还用于:
129.将所述第一文件的节点标识与所述第一文件路径对应的树结构中的节点标识进行匹配;
130.若所述树结构中存在与所述第一文件的节点标识匹配的节点标识,则确定所述树结构中包含所述第一文件的节点。
131.可选地,确定模块210,具体用于:
132.确定所述第一文件的第一文件路径,是否与预设的至少一个第二文件路径匹配;
133.若存在第二文件路径与所述第一文件路径匹配,则对所述当前操作进行目标处理;
134.若不匹配,则确定所述第一文件是否为具有硬链接的文件。
135.可选地,处理模块220,具体用于:
136.确定所述当前操作对应进程的路径是否与所述第二文件路径对应预设规则中访问主体的路径匹配;
137.若不匹配则对所述当前操作进行目标处理。
138.可选地,处理模块220,具体用于:
139.根据预设策略对所述当前操作进行上报处理或拦截处理。
140.可选地,处理模块220,还用于:
141.在第二文件的硬链接标识变化的情况下,确定所述第二文件对应的第三文件路径;
142.在所述第三文件路径对应的树结构中增加或删除所述第二文件的节点。
143.可选地,处理模块220,具体用于:
144.若所述第二文件的硬链接标识大于预设值,则在所述第三文件路径对应的树结构中增加所述第二文件的节点;
145.若所述第二文件的硬链接标识等于预设值,则在所述第三文件路径对应的树结构中删除所述第二文件的节点。
146.可选地,处理模块220,还用于:
147.获取所述第一文件路径下具有硬链接的文件;
148.根据所述第一文件路径下具有硬链接的文件,建立所述第一文件路径对应的树结构。
149.本发明实施例的装置,其用于执行前述任一方法实施例中的方法,其实现原理和技术效果类似,此次不再赘述。
150.举个例子如下:
151.图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)810、通信接口(communications interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行如下方法:若当前操作的第一文件为具有硬链接的文件,则从预设的至少一个文件路径中确定所述第一文件对应的第一文件路径;若所述第一文件路径对应的树结构中包含所述第一文件的节点,则对所述当前操作进行目标处理;所述树结构中的节点均为具有硬链接的文件节点。
152.此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
153.另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各实施例提供的文件保护方法,例如包括:若当前操作的第一文件为具有硬链接的文件,则从预设的至少一个文件路径中确定所述第一文件对应的第一文件路径;若所述第一文件路径对应的树结构中包含所述第一文件的节点,则对所述当前操作进行目标处理;所述树结构中的节点均为具有硬链接的文件节点。
154.另一方面,本发明实施例还提供了一种计算机程序产品,其上存储有可执行指令,该指令被处理器执行时使处理器实现上述各实施例提供的文件保护方法,例如包括:若当
前操作的第一文件为具有硬链接的文件,则从预设的至少一个文件路径中确定所述第一文件对应的第一文件路径;若所述第一文件路径对应的树结构中包含所述第一文件的节点,则对所述当前操作进行目标处理;所述树结构中的节点均为具有硬链接的文件节点。
155.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
156.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
157.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献