CN115168908B - 文件保护方法、装置、设备及存储介质 - Google Patents

文件保护方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115168908B
CN115168908B CN202211075907.5A CN202211075907A CN115168908B CN 115168908 B CN115168908 B CN 115168908B CN 202211075907 A CN202211075907 A CN 202211075907A CN 115168908 B CN115168908 B CN 115168908B
Authority
CN
China
Prior art keywords
file
time
access request
request
time difference
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
Application number
CN202211075907.5A
Other languages
English (en)
Other versions
CN115168908A (zh
Inventor
程方全
唐亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Clerware Technology Co ltd
Original Assignee
Shenzhen Clerware Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Clerware Technology Co ltd filed Critical Shenzhen Clerware Technology Co ltd
Priority to CN202211075907.5A priority Critical patent/CN115168908B/zh
Publication of CN115168908A publication Critical patent/CN115168908A/zh
Application granted granted Critical
Publication of CN115168908B publication Critical patent/CN115168908B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明属于文件安全技术领域,公开了一种文件保护方法、装置、设备及存储介质。本发明通过对业务系统中的文件访问请求的访问对象、访问权限、最后修改时间与当前时间之间的时间差的绝对值、以及是否会修改访问对象中的已有数据来确定该文件访问请求是否具有文件风险,对有文件风险的文件访问请求及时拦截,从而有效阻止勒索病毒破坏行为,提高了业务系统的文件安全性。

Description

文件保护方法、装置、设备及存储介质
技术领域
本发明涉及文件安全技术领域,尤其涉及一种文件保护方法、装置、设备及存储介质。
背景技术
随着互联网技术的发展,文件存储广泛应用于生产、办公、管理和经营等各个环节的业务系统中,而业务系统中的文件安全对于用户而言,也越来越重要。
自从勒索病毒出现之后,用户的文件被加密的情况就层出不穷,导致业务中断,损失惨重。由于勒索病毒的读写行为和业务系统的行为很接近,目前很难找到应对勒索病毒加密的通用、有效方法。
发明内容
本发明的主要目的在于提供一种文件保护方法、装置、设备及存储介质,旨在解决现有技术中不能有效阻止勒索病毒破坏行为的技术问题。
为实现上述目的,本发明提供一种文件保护方法,所述文件保护方法包括以下步骤:
捕获对业务系统中的文件访问请求;
在所述文件访问请求的访问对象为已有文件,且所述文件访问请求的访问权限包括写权限时,获取所述访问对象的最后修改时间;
判断所述最后修改时间与当前时间之间的时间差的绝对值是否超过预设时间差值;
在所述时间差的绝对值超过预设时间差值时,判断所述文件访问请求是否会修改访问对象中的已有数据;
当所述文件访问请求会修改文件中的已有数据时,对所述文件访问请求进行拦截。
可选地,所述判断所述最后修改时间与当前时间之间的时间差的绝对值是否超过预设时间差值之后,还包括:
在所述时间差的绝对值未超过预设时间差值时,为所述文件访问请求设置修改写标识,并对所述文件访问请求进行放行;
在接收到写操作请求时,判断所述写操作请求的上下文是否具有修改写标识;
在具有修改写标识时,对所述写操作请求进行放行。
可选地,所述判断所述文件访问请求是否会修改访问对象中的已有数据之后,还包括:
当所述文件访问请求不会修改文件中的已有数据时,为所述文件访问请求设置追加写标识,并对所述文件访问请求进行放行;
在接收到写操作请求时,判断所述写操作请求的上下文是否具有追加写标识;
在具有追加写标识时,对所述写操作请求进行放行。
可选地,所述捕获对业务系统中的文件访问请求之后,还包括:
在所述文件访问请求的访问对象不为已有文件时,为所述文件访问请求设置新建标识,并对所述文件访问请求进行放行;
在接收到写操作请求时,判断所述写操作请求的上下文是否具有新建标识;
在具有新建标识时,对所述写操作请求进行放行。
可选地,所述获取所述访问对象的最后修改时间之前,还包括:
判断是否禁用修改功能;
当禁用修改功能时,将所述文件访问请求的访问权限调整为只读权限,并对调整访问权限后的文件访问请求进行放行;
当未禁用修改功能时,执行所述获取所述访问对象的最后修改时间的步骤。
可选地,所述判断是否禁用修改功能之前,还包括:
在操作系统启动时获取启动时间,并注册一个定时器;
当所述定时器每到达预设时间间隔时,通过所述预设时间间隔和启动时间计算理论时间信息,并获取所述操作系统当前的实际时间信息;
若所述理论时间信息和实际时间信息之间差值的绝对值是否超过有预设时间阈值,则将时间篡改行为的数量加1;
在所述时间篡改行为的数量超过预设数量时,开启禁用修改功能。
可选地,所述判断所述最后修改时间与当前时间之间的时间差的绝对值是否超过预设时间差值之前,还包括:
枚举所述业务系统中的各文件,获得各文件的创建时间及最后一次写入时间;
计算各文件的最后一次写入时间与创建时间之间的时间差;
去除各文件的最后一次写入时间与创建时间之间的时间差为负数的部分;
统计剩余各文件的最后一次写入时间与创建时间之间的时间差的平均值或最大值;
将所述平均值或最大值作为预设时间差值。
此外,为实现上述目的,本发明还提供一种文件保护设备,所述文件保护设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的文件保护程序,所述文件保护程序配置为实现如上所述的文件保护方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有文件保护程序,所述文件保护程序被处理器执行时实现如上所述的文件保护方法的步骤。
此外,为实现上述目的,本发明还提供一种文件保护装置,所述文件保护装置包括:
请求捕获模块,用于捕获对业务系统中的文件访问请求;
时间获取模块,用于在所述文件访问请求的访问对象为已有文件,且所述文件访问请求的访问权限包括写权限时,获取所述访问对象的最后修改时间;
时差判断模块,用于判断所述最后修改时间与当前时间之间的时间差的绝对值是否超过预设时间差值;
修改判断模块,用于在所述时间差的绝对值超过预设时间差值时,判断所述文件访问请求是否会修改访问对象中的已有数据;
请求拦截模块,用于当所述文件访问请求会修改文件中的已有数据时,对所述文件访问请求进行拦截。
本发明通过对业务系统中的文件访问请求的访问对象、访问权限、最后修改时间与当前时间之间的时间差的绝对值、以及是否会修改访问对象中的已有数据来确定该文件访问请求是否具有文件风险,对有文件风险的文件访问请求及时拦截,从而有效阻止勒索病毒破坏行为,提高了业务系统的文件安全性。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的文件保护设备结构示意图;
图2为本发明文件保护设备方法第一实施例的流程示意图;
图3为本发明文件保护设备方法第二实施例的流程示意图;
图4为本发明文件保护设备方法第三实施例的流程示意图;
图5为本发明文件保护设备方法第四实施例的流程示意图;
图6为本发明文件保护设备装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,该文件保护设备可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对文件保护设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及文件保护程序。
在图1所示的文件保护设备中,网络接口1004主要用于与外部网络进行数据通信;用户接口1003主要用于接收用户的输入指令;所述文件保护设备通过处理器1001调用存储器1005中存储的文件保护程序,并执行以下操作:
捕获对业务系统中的文件访问请求;
在所述文件访问请求的访问对象为已有文件,且所述文件访问请求的访问权限包括写权限时,获取所述访问对象的最后修改时间;
判断所述最后修改时间与当前时间之间的时间差的绝对值是否超过预设时间差值;
在所述时间差的绝对值超过预设时间差值时,判断所述文件访问请求是否会修改访问对象中的已有数据;
当所述文件访问请求会修改文件中的已有数据时,对所述文件访问请求进行拦截。
进一步地,处理器1001可以调用存储器1005中存储的文件保护程序,还执行以下操作:
在所述时间差的绝对值未超过预设时间差值时,为所述文件访问请求设置修改写标识,并对所述文件访问请求进行放行;
在接收到写操作请求时,判断所述写操作请求的上下文是否具有修改写标识;
在具有修改写标识时,对所述写操作请求进行放行。
进一步地,处理器1001可以调用存储器1005中存储的文件保护程序,还执行以下操作:
当所述文件访问请求不会修改文件中的已有数据时,为所述文件访问请求设置追加写标识,并对所述文件访问请求进行放行;
在接收到写操作请求时,判断所述写操作请求的上下文是否具有追加写标识;
在具有追加写标识时,对所述写操作请求进行放行。
进一步地,处理器1001可以调用存储器1005中存储的文件保护程序,还执行以下操作:
在所述文件访问请求的访问对象不为已有文件时,为所述文件访问请求设置新建标识,并对所述文件访问请求进行放行;
在接收到写操作请求时,判断所述写操作请求的上下文是否具有新建标识;
在具有新建标识时,对所述写操作请求进行放行。
进一步地,处理器1001可以调用存储器1005中存储的文件保护程序,还执行以下操作:
判断是否禁用修改功能;
当禁用修改功能时,将所述文件访问请求的访问权限调整为只读权限,并对调整访问权限后的文件访问请求进行放行;
当未禁用修改功能时,执行所述获取所述访问对象的最后修改时间的步骤。
进一步地,处理器1001可以调用存储器1005中存储的文件保护程序,还执行以下操作:
在操作系统启动时获取启动时间,并注册一个定时器;
当所述定时器每到达预设时间间隔时,通过所述预设时间间隔和启动时间计算理论时间信息,并获取所述操作系统当前的实际时间信息;
若所述理论时间信息和实际时间信息之间差值的绝对值是否超过有预设时间阈值,则将时间篡改行为的数量加1;
在所述时间篡改行为的数量超过预设数量时,开启禁用修改功能。
进一步地,处理器1001可以调用存储器1005中存储的文件保护程序,还执行以下操作:
枚举所述业务系统中的各文件,获得各文件的创建时间及最后一次写入时间;
计算各文件的最后一次写入时间与创建时间之间的时间差;
去除各文件的最后一次写入时间与创建时间之间的时间差为负数的部分;
统计剩余各文件的最后一次写入时间与创建时间之间的时间差的平均值或最大值;
将所述平均值或最大值作为预设时间差值。
本实施例通过对业务系统中的文件访问请求的访问对象、访问权限、最后修改时间与当前时间之间的时间差的绝对值、以及是否会修改访问对象中的已有数据来确定该文件访问请求是否具有文件风险,对有文件风险的文件访问请求及时拦截,从而有效阻止勒索病毒破坏行为,提高了业务系统的文件安全性。
基于上述硬件结构,提出本发明文件保护方法实施例。
参照图2,图2为本发明文件保护方法第一实施例的流程示意图。
在第一实施例中,所述文件保护方法包括以下步骤:
S10:捕获对业务系统中的文件访问请求。
需要说明的是,不管是业务系统还是勒索病毒程序在访问、修改业务系统的文件时,都是通过操作系统的系统调用来实现。当应用程序调用系统调用的时候,操作系统会把这些系统调用转换成文件系统的IO请求,实现数据的访问,所以通过HOOK操作系统的系统调用,或者通过文件系统过滤驱动,都可以捕获到应用程序对文件的访问请求,进行拦截,以实现对业务数据的保护。
可理解的是,本实施例以通过文件过滤驱动进行捕获为例,当然,也不排除可通过HOOK操作系统的系统调用进行捕获,或者是通过其他方式进行捕获。
S20:在所述文件访问请求的访问对象为已有文件,且所述文件访问请求的访问权限包括写权限时,获取所述访问对象的最后修改时间。
通常情况下,业务系统的数据都是存在特定的目录下,一个或者多个,为了保护业务系统的数据不被破坏,需要配置好业务系统的目录信息,并把这些配置信息下发给文件过滤驱动,以进行文件保护。
在具体实现中,应用程序在访问文件之前需要先执行文件打开操作,然后对文件进行访问(或者读,或者写,或者同时读和写),访问完毕之后还要执行文件关闭操作。
执行打开操作的时候可以指定以下选项和权限:a、创建新的的文件进行读写操作;b、打开已有的文件进行只读操作;c、打开已有的文件进行读写操作;d、打开已有的文件并清空数据,再进行读写操作。
如前面所述,为了保护业务系统的文件安全,文件过滤只需要关注打开已有文件执行读写操作的场景(也就是c和d),对于创建新的文件、打开已有文件进行只读操作的场景无需关注(也就是a和b),可直接放行该请求,这样业务系统可以正常的创建业务数据文件、写入数据,以及后续正常的读取业务数据文件。
因此,在所述文件访问请求的访问对象为已有文件,且所述文件访问请求的访问权限包括写权限时,才需要获取所述访问对象的最后修改时间,并进行后续判断处理,而对于所述文件访问请求的访问对象不为已有文件,或者是所述文件访问请求的访问权限不包括写权限时,可直接对所述文件访问请求进行放行。
为了避免勒索病毒反复修改时间,以对其他的文件进行破坏,需要定时监控系统时间是否被反复调整,如果是频繁反复被大范围调整,那么则需要禁用修改功能,也就是说,在获取所述访问对象的最后修改时间之前,可先判断是否禁用修改功能,当禁用修改功能时,将所述文件访问请求的访问权限调整为只读权限,并对调整访问权限后的文件访问请求进行放行;当未禁用修改功能时,执行所述获取所述访问对象的最后修改时间的步骤。
可理解的是,禁用修改功能是指在操作系统中对文件访问请求的修改功能进行禁用,也就是说,在禁用修改功能时,无论文件访问请求的访问权限属于何种类型,都会直接调整为只读权限,并对调整访问权限后的文件访问请求进行放行,后续应用程序只能对该文件执行读操作,执行写操作时底层文件系统会返回错误,保证文件不被破坏。
为了监控系统时间是否被勒索病毒反复调整,可在操作系统启动的时候获取系统当前时间(假设是2022年1月1日 11点0分0秒)作为参考时间,并注册一个定时器,每达到预设时间间隔做一次时间检查(假设每30分钟检查一次)。所以在系统启动之后的10分钟之后做系统时间检查的时候,理论的系统时间应该是2022年1月1日 11点10分0秒,如果这个时候获取操作系统当前的实际时间信息和理论时间信息的相差的绝对值小于预设时间阈值(比如是15秒),那么认为是正常的时间修正,如果超过了预设时间阈值(超出了15秒),那么就认为是时间篡改行为,将时间篡改行为的数量加1。检查完毕之后需要把当前系统时间作为新的参考时间,然后在30分钟之后再次系统时间检查,如此循环。如果发现一段考察周期内(比如2个小时)系统时间篡改行为的数量超过预设数量,则开启禁用修改功能,保证业务系统数据不被破坏。
S30:判断所述最后修改时间与当前时间之间的时间差的绝对值是否超过预设时间差值。
可理解的是,由于某些业务系统可能会存在以下业务行为:在生成业务系统数据之后的一段时间内还会对该文件执行修改写操作;
为了支持这种业务场景,需要对以上的实现方式进行优化,具体实现如下:先获取该文件的最后一次写入时间(即最后修改时间),然后计算最后一次写入时间和当前时间(即当前的系统时间)之间的时间差的绝对值;
如果时间差的绝对值超过预设时间差值,则可认定其存在一定风险,需要进一步进行后续判断。
需要说明的是,之所以要计算时间差绝对值的原因是:勒索病毒可能会先把系统时间改到历史的某一个时刻,再做数据加密,那么最后一次文件写入时间在该时刻之后的文件都将得不到保护,可以被肆意执行写操作,但使用时间差的绝对值,文件则还是会被保护起来。
由于不同的业务系统,这个预设时间可能不一样,有些是1分钟,有些可能是1小时,纯属业务系统自身的行为,只有开发人员清楚,管理员很难判断。为了能够帮助管理员找到一个合理的预设时间范围,本实施例通过以下方式计算出一个合理的时间范围,再由管理员来选择。
具体的计算方式是:先枚举所述业务系统中预设目录下各文件(也就是已经存在的业务系统文件),获得这些文件的创建时间以及最后一次写入时间,然后计算各文件的最后一次写入时间(最后修改时间)与创建时间之间的时间差(即最后修改时间-创建文件时间)。然后对这些文件的时间差进行统计处理,首先去掉负数的部分(这部分是不合理的,理论上不会出现的),然后统计剩下部分的平均值,以及最大值,然后把这2个值视为最大保护配置时间、最佳兼容性配置时间,管理员在配置预设时间范围时可以根据这2个配置,设定一个合理的时间范围,以适配他们的业务系统,即将所述平均值或最大值作为预设时间差值。
S40:在所述时间差的绝对值超过预设时间差值时,判断所述文件访问请求是否会修改访问对象中的已有数据。
可理解的是,修改访问对象中的已有数据是指对访问对象中的已有数据进行更改,本质上来说,这种更改通常具有两种方式:
第一种为对已有文件的内容进行修改,即对已有文件中的数据内容进行调整,例如:一个已有文件的大小为10MB,此时,如果文件访问请求需要更改或删除10MB之前的区域,此时必然会导致已有文件的数据被更改。
第二种为对已有文件的属性进行修改,即对已有文件的属性信息进行调整,例如:一个已有文件名称为data,表征格式的后缀为.txt,此时如果文件访问请求需要更改文件名称,或者是更改文件的格式,又或者是修改文件的最近写入时间,还或者是删除该文件,均可理解为已有文件的数据被更改,都属于文件修改、破坏的范畴。
S50:当所述文件访问请求会修改文件中的已有数据时,对所述文件访问请求进行拦截。
在具体实现中,在对所述文件访问请求进行拦截后,会让所述文件访问请求返回访问失败的响应。
本实施例通过对业务系统中的文件访问请求的访问对象、访问权限、最后修改时间与当前时间之间的时间差的绝对值、以及是否会修改访问对象中的已有数据来确定该文件访问请求是否具有文件风险,对有文件风险的文件访问请求及时拦截,从而有效阻止勒索病毒破坏行为,提高了业务系统的文件安全性。
参照图3,图3为本发明文件保护方法第二实施例的流程示意图,基于上述图2所示的实施例,提出本发明文件保护方法的第二实施例。
在第二实施例中,步骤S30之后,还包括:
S311:在所述时间差的绝对值未超过预设时间差值时,为所述文件访问请求设置修改写标识,并对所述文件访问请求进行放行。
需要说明的是,如果时间差的绝对值未超过预设时间差值,则认为是常规的业务系统的修改写行为,可对文件访问请求进行放行,同时为所述文件访问请求设置修改写标识,从而提供了对所述文件执行修改写操作的场景进行支持,从而保证用户的合理业务需求能够得到支持。
S312:在接收到写操作请求时,判断所述写操作请求的上下文是否具有修改写标识。
可理解的是,由于应用程序在访问文件之前需要先执行文件打开操作,然后对文件进行访问(或者读,或者写,或者同时读和写),访问完毕之后还要执行文件关闭操作,而这些操作都需要以请求的形式来体现,而这些请求之间会存在先后顺序来体现,故而,在接收文件访问请求后,还会再接收写操作请求,但这些请求是属于一个对文件的完整操作,而这些请求之间会以上下文(一种数据结构,可以用来追踪文件的整个操作过程)形式来体现,假设对文件访问请求设置了修改写标识,与该文件访问请求具有上下文关系的写操作请求也会具有修改写标识,因此,在接收到写操作请求时,可判断所述写操作请求的上下文是否具有修改写标识。
S313:在具有修改写标识时,对所述写操作请求进行放行。
在具体实现中,若具有修改写标识,即可理解为与所述写操作请求的上下文的文件访问请求是被设置有修改写标识的,此时,可直接对所述写操作请求进行放行。
参照图4,图4为本发明文件保护方法第三实施例的流程示意图,基于上述图2所示的实施例,提出本发明文件保护方法的第三实施例。
在第三实施例中,步骤S40之后,还包括:
S411:当所述文件访问请求不会修改文件中的已有数据时,为所述文件访问请求设置追加写标识,并对所述文件访问请求进行放行。
需要说明的是,某些业务系统有可能在超过预设时间差值的情况下对文件进行文件追加操作,这个追加操作不会破坏已有的业务数据,所以为了进一步提升文件保护装置的兼容性,需要增加针对追加写操作的支持。
在具体实现中,追加写操作对于所述文件访问请求不会修改访问对象中的已有数据,说明并不会对已有数据进行调整,例如:一个已有文件的大小为10MB,此时,在后续对该文件进行写操作的时候,只允许写10MB以后的区域,例如:在文件尾追加了1MB的数据,然后关闭文件。当业务系统再次打开该文件时,查询到文件的大小就是11MB,这个情况下业务系统后续只能写该文件的11MB以后的区域,写11MB之前的区域的话,会返回失败,也就是说,这里的写操作属于在文件中增加新数据,并不会修改文件中的已有数据,故而,能保证业务系统中的文件不被破坏。
S412:在接收到写操作请求时,判断所述写操作请求的上下文是否具有追加写标识。
可理解的是,由于应用程序在访问文件之前需要先执行文件打开操作,然后对文件进行访问(或者读,或者写,或者同时读和写),访问完毕之后还要执行文件关闭操作,而这些操作都需要以请求的形式来体现,而这些请求之间会存在先后顺序来体现,故而,在接收文件访问请求后,还会再接收写操作请求,但这些请求是属于一个对文件的完整操作,而这些请求之间会以上下文形式来体现,假设对文件访问请求设置了追加写标识,与该文件访问请求具有上下文关系的写操作请求也会具有追加写标识,因此,在接收到写操作请求时,可判断所述写操作请求的上下文是否具有追加写标识。
S413:在具有追加写标识时,对所述写操作请求进行放行。
在具体实现中,若具有追加写标识,即可理解为与所述写操作请求的上下文的文件访问请求是被设置有追加写标识的,此时,可直接对所述写操作请求进行放行。
由于追加写操作会触发业务系统自动更新文件的最后写入时间,下次再打开文件的时候,程序会走修改写的判断流程,有权限执行数据破坏操作。为了避免这个时间发生修改,在完成追加写操作之后,需要对文件最后写入时间进行修正,修正为在通过文件访问请求打开该文件时查询得到的“最后修改时间”,防止后续可以出现“修改写”的漏洞。
参照图5,图5为本发明文件保护方法第四实施例的流程示意图,基于上述图2所示的实施例,提出本发明文件保护方法的第四实施例。
在第四实施例中,步骤S10之后,还包括:
S111:在所述文件访问请求的访问对象不为已有文件时,为所述文件访问请求设置新建标识,并对所述文件访问请求进行放行。
需要说明的是,假设所述文件访问请求的访问对象不为已有文件,此时,业务需求通常来说是需要建立新的文件,而建立新的文件除了执行文件访问请求外,还需要有后续的写操作请求,故而,直接放行所述文件访问请求,还不足以支持后续的写操作请求,为了保证建立新的文件能够顺利实现,本实施例中,除了对所述文件访问请求进行放行,还会为所述文件访问请求设置新建标识。
S112:在接收到写操作请求时,判断所述写操作请求的上下文是否具有新建标识。
可理解的是,由于应用程序在访问文件之前需要先执行文件打开操作,然后对文件进行访问(或者读,或者写,或者同时读和写),访问完毕之后还要执行文件关闭操作,而这些操作都需要以请求的形式来体现,而这些请求之间会存在先后顺序来体现,故而,在接收文件访问请求后,还会再接收写操作请求,但这些请求是属于一个对文件的完整操作,而这些请求之间会以上下文形式来体现,假设对文件访问请求设置了新建标识,与该文件访问请求具有上下文关系的写操作请求也会具有新建标识,因此,在接收到写操作请求时,可判断所述写操作请求的上下文是否具有新建标识。
S113:在具有新建标识时,对所述写操作请求进行放行。
在具体实现中,若具有新建标识,即可理解为与所述写操作请求的上下文的文件访问请求是被设置有新建标识的,此时,可直接对所述写操作请求进行放行。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有文件保护程序,所述文件保护程序被处理器执行时实现如下操作:
捕获对业务系统中的文件访问请求;
在所述文件访问请求的访问对象为已有文件,且所述文件访问请求的访问权限包括写权限时,获取所述访问对象的最后修改时间;
判断所述最后修改时间与当前时间之间的时间差的绝对值是否超过预设时间差值;
在所述时间差的绝对值超过预设时间差值时,判断所述文件访问请求是否会修改访问对象中的已有数据;
当所述文件访问请求会修改文件中的已有数据时,对所述文件访问请求进行拦截。
此外,本发明实施例还提出一种文件保护装置,参照图6,所述装置包括:
请求捕获模块601,用于捕获对业务系统中的文件访问请求;
时间获取模块602,用于在所述文件访问请求的访问对象为已有文件,且所述文件访问请求的访问权限包括写权限时,获取所述访问对象的最后修改时间;
时差判断模块603,用于判断所述最后修改时间与当前时间之间的时间差的绝对值是否超过预设时间差值;
修改判断模块604,用于在所述时间差超过预设时间差值时,判断所述文件访问请求是否会修改访问对象中的已有数据;
请求拦截模块605,用于当所述文件访问请求会修改文件中的已有数据时,对所述文件访问请求进行拦截。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种文件保护方法,其特征在于,所述文件保护方法包括以下步骤:
捕获对业务系统中的文件访问请求;
在所述文件访问请求的访问对象为已有文件,且所述文件访问请求的访问权限包括写权限时,获取所述访问对象的最后修改时间;
判断所述最后修改时间与当前时间之间的时间差的绝对值是否超过预设时间差值;
在所述时间差的绝对值超过预设时间差值时,判断所述文件访问请求是否会修改访问对象中的已有数据;
当所述文件访问请求会修改文件中的已有数据时,对所述文件访问请求进行拦截。
2.如权利要求1所述的文件保护方法,其特征在于,所述判断所述最后修改时间与当前时间之间的时间差的绝对值是否超过预设时间差值之后,还包括:
在所述时间差的绝对值未超过预设时间差值时,为所述文件访问请求设置修改写标识,并对所述文件访问请求进行放行;
在接收到写操作请求时,判断所述写操作请求的上下文是否具有修改写标识;
在具有修改写标识时,对所述写操作请求进行放行。
3.如权利要求1所述的文件保护方法,其特征在于,所述判断所述文件访问请求是否会修改访问对象中的已有数据之后,还包括:
当所述文件访问请求不会修改文件中的已有数据时,为所述文件访问请求设置追加写标识,并对所述文件访问请求进行放行;
在接收到写操作请求时,判断所述写操作请求的上下文是否具有追加写标识;
在具有追加写标识时,对所述写操作请求进行放行。
4.如权利要求1所述的文件保护方法,其特征在于,所述捕获对业务系统中的文件访问请求之后,还包括:
在所述文件访问请求的访问对象不为已有文件时,为所述文件访问请求设置新建标识,并对所述文件访问请求进行放行;
在接收到写操作请求时,判断所述写操作请求的上下文是否具有新建标识;
在具有新建标识时,对所述写操作请求进行放行。
5.如权利要求1~4中任一项所述的文件保护方法,其特征在于,所述获取所述访问对象的最后修改时间之前,还包括:
判断是否禁用修改功能;
当禁用修改功能时,将所述文件访问请求的访问权限调整为只读权限,并对调整访问权限后的文件访问请求进行放行;
当未禁用修改功能时,执行所述获取所述访问对象的最后修改时间的步骤。
6.如权利要求5所述的文件保护方法,其特征在于,所述判断是否禁用修改功能之前,还包括:
在操作系统启动时获取启动时间,并注册一个定时器;
当所述定时器每到达预设时间间隔时,通过所述预设时间间隔和启动时间计算理论时间信息,并获取所述操作系统当前的实际时间信息;
若所述理论时间信息和实际时间信息之间差值的绝对值超过有预设时间阈值,则将时间篡改行为的数量加1;
在所述时间篡改行为的数量超过预设数量时,开启禁用修改功能。
7.如权利要求1~4中任一项所述的文件保护方法,其特征在于,所述判断所述最后修改时间与当前时间之间的时间差的绝对值是否超过预设时间差值之前,还包括:
枚举所述业务系统中的各文件,获得各文件的创建时间及最后一次写入时间;
计算各文件的最后一次写入时间与创建时间之间的时间差;
去除各文件的最后一次写入时间与创建时间之间的时间差为负数的部分;
统计剩余各文件的最后一次写入时间与创建时间之间的时间差的平均值或最大值;
将所述平均值或最大值作为预设时间差值。
8.一种文件保护设备,其特征在于,所述文件保护设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的文件保护程序,所述文件保护程序配置为实现如权利要求1至7中任一项所述的文件保护方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有文件保护程序,所述文件保护程序被处理器执行时实现如权利要求1至7中任一项所述的文件保护方法的步骤。
10.一种文件保护装置,其特征在于,所述文件保护装置包括:
请求捕获模块,用于捕获对业务系统中的文件访问请求;
时间获取模块,用于在所述文件访问请求的访问对象为已有文件,且所述文件访问请求的访问权限包括写权限时,获取所述访问对象的最后修改时间;
时差判断模块,用于判断所述最后修改时间与当前时间之间的时间差的绝对值是否超过预设时间差值;
修改判断模块,用于在所述时间差超过预设时间差值时,判断所述文件访问请求是否会修改访问对象中的已有数据;
请求拦截模块,用于当所述文件访问请求会修改文件中的已有数据时,对所述文件访问请求进行拦截。
CN202211075907.5A 2022-09-05 2022-09-05 文件保护方法、装置、设备及存储介质 Active CN115168908B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211075907.5A CN115168908B (zh) 2022-09-05 2022-09-05 文件保护方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211075907.5A CN115168908B (zh) 2022-09-05 2022-09-05 文件保护方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN115168908A CN115168908A (zh) 2022-10-11
CN115168908B true CN115168908B (zh) 2022-12-06

Family

ID=83481666

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211075907.5A Active CN115168908B (zh) 2022-09-05 2022-09-05 文件保护方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115168908B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107871089A (zh) * 2017-12-04 2018-04-03 杭州安恒信息技术有限公司 文件防护方法及装置
CN108009445A (zh) * 2017-11-30 2018-05-08 成都蓝海贝信息技术有限公司 一种半中心化的可信数据管理系统
CN112261007A (zh) * 2020-09-27 2021-01-22 北京六方云信息技术有限公司 基于机器学习的https恶意加密流量检测方法及系统
CN113449327A (zh) * 2021-08-31 2021-09-28 统信软件技术有限公司 一种文件访问控制系统、方法及计算设备
CN114707145A (zh) * 2022-03-31 2022-07-05 和安科技创新有限公司 一种基于Fanotify机制的勒索软件检测方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101286142B (zh) * 2008-05-19 2010-12-08 成都市华为赛门铁克科技有限公司 一种磁盘操作的保护方法及磁盘控制器
JP5393286B2 (ja) * 2009-06-22 2014-01-22 日本電信電話株式会社 アクセス制御システム、アクセス制御装置及びアクセス制御方法
US8516022B1 (en) * 2012-01-11 2013-08-20 Emc Corporation Automatically committing files to be write-once-read-many in a file system
CN104424429A (zh) * 2013-08-22 2015-03-18 安一恒通(北京)科技有限公司 一种文件行为的监控方法及用户设备
WO2017168016A1 (es) * 2016-04-01 2017-10-05 Telefonica Digital España, S.L.U. Método y sistema para proteger un archivo informático ante un eventual cifrado realizado por código malicioso
CN107563199A (zh) * 2017-09-04 2018-01-09 郑州云海信息技术有限公司 一种基于文件请求监控的勒索软件实时检测与防御方法
CN109145602B (zh) * 2018-07-06 2020-06-02 成都亚信网络安全产业技术研究院有限公司 一种勒索软件攻击的防护方法及装置
CN109492425B (zh) * 2018-09-30 2021-12-28 南京中铁信息工程有限公司 一种在分布式文件系统上的worm一写多读技术应用方法
US11366920B1 (en) * 2021-08-26 2022-06-21 Snowflake Inc. Fine-grained access control via database roles
CN114968967A (zh) * 2022-06-15 2022-08-30 北京百度网讯科技有限公司 文件管理方法、装置、设备和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108009445A (zh) * 2017-11-30 2018-05-08 成都蓝海贝信息技术有限公司 一种半中心化的可信数据管理系统
CN107871089A (zh) * 2017-12-04 2018-04-03 杭州安恒信息技术有限公司 文件防护方法及装置
CN112261007A (zh) * 2020-09-27 2021-01-22 北京六方云信息技术有限公司 基于机器学习的https恶意加密流量检测方法及系统
CN113449327A (zh) * 2021-08-31 2021-09-28 统信软件技术有限公司 一种文件访问控制系统、方法及计算设备
CN114707145A (zh) * 2022-03-31 2022-07-05 和安科技创新有限公司 一种基于Fanotify机制的勒索软件检测方法

Also Published As

Publication number Publication date
CN115168908A (zh) 2022-10-11

Similar Documents

Publication Publication Date Title
EP3479280B1 (en) Ransomware protection for cloud file storage
US8732827B1 (en) Smartphone security system
CN103403669B (zh) 使app变得安全的方法和防止app损坏设备的方法
WO2015096695A1 (zh) 一种应用程序的安装控制方法、系统及装置
US20130333039A1 (en) Evaluating Whether to Block or Allow Installation of a Software Application
CN103632107B (zh) 一种移动终端信息安全防护系统和方法
CN103647784A (zh) 一种公私隔离的方法和装置
RU2581559C2 (ru) Система и способ применения политик безопасности к накопителю в сети
CN110688653A (zh) 客户端的安全防护方法及装置、终端设备
WO2006137657A1 (en) Method for intercepting malicious code in computer system and system therefor
CN111131221A (zh) 接口校验的装置、方法及存储介质
CN104978543A (zh) 一种移动终端信息安全防护系统和方法
US9792444B2 (en) Inoculator and antibody for computer security
CN109241783B (zh) 移动终端管控策略的实施方法及装置
CN115168908B (zh) 文件保护方法、装置、设备及存储介质
CN111400674A (zh) 一种基于Hook技术的安全软件自我防护方法及装置
US11151274B2 (en) Enhanced computer objects security
CN105631357A (zh) 一种移动终端信息安全防护系统和方法
CN106446682A (zh) 安全防护方法及装置
CN110990873A (zh) 一种违规操作的监控方法、计算机设备及存储介质
CN109783156B (zh) 一种应用的启动控制方法及装置
CN109800580B (zh) 系统进程的权限控制方法及装置、存储介质、计算机设备
US20130263278A1 (en) Method and apparatus for controlling operations performed by a mobile co
US20240097917A1 (en) User data management method and related device
CN109784037B (zh) 文档文件的安全防护方法及装置、存储介质、计算机设备

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