一种文件防篡改方法及装置

文档序号:1086814 发布日期:2020-10-20 浏览:14次 >En<

阅读说明:本技术 一种文件防篡改方法及装置 (File tamper-proofing method and device ) 是由 孙家彦 刘仙跃 王暘 于 2020-09-08 设计创作,主要内容包括:本发明实施例提供一种文件防篡改方法及装置,能够实现文件防篡改、提高数据安全性的目的。方法包括:获取受保护文件所属的第一逻辑扇区地址范围;获取当前文件操作的第二逻辑扇区地址;若所述第二逻辑扇区地址在所述第一逻辑扇区地址范围之内,则拒绝执行所述操作。(The embodiment of the invention provides a file tamper-proofing method and device, which can achieve the purposes of file tamper-proofing and data security improvement. The method comprises the following steps: acquiring a first logic sector address range to which a protected file belongs; acquiring a second logical sector address of the current file operation; and if the second logical sector address is within the first logical sector address range, refusing to execute the operation.)

一种文件防篡改方法及装置

技术领域

本发明涉及计算机技术领域,尤其涉及一种文件防篡改方法及装置。

背景技术

自现代社会进入信息化、数字化时代以来,信息化办公对人们的工作、学习和生活产生了深刻的影响,并且成为文化发展的巨大推动力量。文件作为信息化时代中信息存储记载、软件程序本身的关键部分,对其进行的读写访问、修改控制在维护系统安全生命周期中显得尤为重要。在实际应用中,安全类软件通过需要对自身目录下的数据文件、程序文件等进行读写访问限制,以防止被他人或其他程序破坏或篡改,以避免影响本身软件功能。

现有方案中文件防篡改是采用文件过滤驱动技术实现的。在使用中,需要事先设置一些安全策略,如需要被保护的文件(夹)全路径、文件内容哈希hash值、相应的控制等级等内容。假如第三方软件或程序对文件进行操作时,文件过滤驱动就能捕获到其操作动作,那么在过滤驱动中对IRP_MJ_CREATE、IRP_MJ_SET_INFORMATION等例程做处理,以获取其正在操作的文件的全路径名以及其文件内容hash值,并把他们与事先设置的策略进行匹配,假如匹配成功的话,就返回拒绝访问标识STATUS_ACCESS_DENIED,从而达到防篡改目的。

然而对于winhex之类的十六进制工具类软件,当采用这些软件进行文件操作时,现有方案是无法防篡改的,数据安全性不高。因此,如何防止此类软件对文件进行篡改,是当前急需解决的问题。

发明内容

本发明实施例提供一种文件防篡改方法及装置,用以解决现有技术中无法防止相关软件对文件进行篡改、数据安全性不高的缺陷,实现文件防篡改、提高数据安全性的目的。

本发明实施例提供一种文件防篡改方法,包括:

获取受保护文件所属的第一逻辑扇区地址范围;

获取当前文件操作的第二逻辑扇区地址;

若所述第二逻辑扇区地址在所述第一逻辑扇区地址范围之内,则拒绝执行所述操作。

根据本发明一个实施例的文件防篡改方法,所述获取受保护文件所属的第一逻辑扇区地址范围,包括:

获取受保护文件所在卷的文件系统类型;

获取所述受保护文件所在卷的分区引导扇区DBR信息;

若所述文件系统类型为Fat32,则获取所述受保护文件所占用的首簇号,并通过所述首簇号获取所述受保护文件所占用的簇编号;基于所述DBR信息、所述簇编号以及基于所述DBR信息确定的数据区起始地址获取所述受保护文件所属的第一逻辑扇区地址范围;

若所述文件系统类型为NTFS,且未成功获取所述受保护文件所占用的所述首簇号,则基于所述DBR信息以及获取到的文件记录号获取所述受保护文件所属的第一逻辑扇区地址范围;

若所述文件系统类型为NTFS,且成功获取所述受保护文件所占用的所述首簇号,则通过所述首簇号获取所述受保护文件所占用的所述簇编号;基于所述DBR信息以及所述簇编号获取所述受保护文件所属的第一逻辑扇区地址范围。

根据本发明一个实施例的文件防篡改方法,所述基于所述DBR信息、所述簇编号以及基于所述DBR信息确定的数据区起始地址获取所述受保护文件所属的第一逻辑扇区地址范围,包括:

基于所述DBR信息读取分区保留扇区数、分区Fat表数目、Fat表所占的扇区数以及扇区大小;

基于所述分区保留扇区数、分区Fat表数目、Fat表所占的扇区数以及扇区大小计算数据区起始地址;

基于所述数据区起始地址、所述簇编号以及相对应的每簇扇区数和扇区大小计算得到所述第一逻辑扇区地址范围。

根据本发明一个实施例的文件防篡改方法,所述基于所述数据区起始地址、所述簇编号以及相对应的每簇扇区数和所述扇区大小计算得到所述第一逻辑扇区地址范围,包括:

通过如下表达式计算所述第一逻辑扇区地址范围:

第一逻辑扇区地址范围=数据区起始地址+簇编号*每簇扇区数据*扇区大小。

根据本发明一个实施例的文件防篡改方法,所述基于所述DBR信息以及获取到的文件记录号获取所述受保护文件所属的第一逻辑扇区地址范围,包括:

基于所述DBR信息读取分区MFT开始簇、每簇扇区数以及扇区大小;

基于所述分区MFT开始簇、每簇扇区数、扇区大小以及获取到的文件记录号计算得到所述第一逻辑扇区地址范围。

根据本发明一个实施例的文件防篡改方法,所述基于所述分区MFT开始簇、每簇扇区数、扇区大小以及获取到的文件记录号计算得到所述第一逻辑扇区地址范围,包括:

通过如下表达式计算所述第一逻辑扇区地址范围:

第一逻辑扇区地址范围=MFT开始簇*每簇扇区数*扇区大小+文件记录号*1024。

根据本发明一个实施例的文件防篡改方法,所述基于所述DBR信息以及所述簇编号获取所述受保护文件所属的第一逻辑扇区地址范围,包括:

基于所述DBR信息读取每簇扇区数和扇区大小;

基于所述簇编号、每簇扇区数以及扇区大小计算得到所述第一逻辑扇区地址范围。

根据本发明一个实施例的文件防篡改方法,所述基于所述簇编号、每簇扇区数以及扇区大小计算得到所述第一逻辑扇区地址范围,包括:

通过如下表达式计算所述第一逻辑扇区地址范围:

第一逻辑扇区地址范围=簇编号*每簇扇区数*扇区大小。

本发明实施例还提供一种文件防篡改装置,包括:

第一获取单元,用于获取受保护文件所属的第一逻辑扇区地址范围;

第二获取单元,用于获取当前文件操作的第二逻辑扇区地址;

拒绝单元,用于若所述第二逻辑扇区地址在所述第一逻辑扇区地址范围之内,则拒绝执行所述操作。

本发明实施例提供的文件防篡改方法及装置,通过逻辑扇区匹配方式控制相关十六进制工具类软件通过逻辑扇区对文件进行读写操作,从而能够防止文件被篡改,提高了数据安全性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种文件防篡改方法的流程示意图;

图2是本发明实施例提供的一种获取受保护文件所属的第一逻辑扇区地址范围的方法流程示意图;

图3是本发明实施例提供的一种文件防篡改装置的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面结合图1和图2描述本发明实施例的文件防篡改方法进行描述,请参阅图1,本发明实施例公开了一种文件防篡改方法,包括:

101、获取受保护文件所属的第一逻辑扇区地址范围;

受保护文件,即需要被保护的文件,哪些文件需要被保护可以是用户自定义的。用户可以根据自己的实际需求,来决定哪些文件可以被随意访问修改,哪些文件不可以被随意访问修改。

逻辑扇区地址范围是操作系统定义的,与物理磁盘(如柱面、磁道、扇区)无关。

102、获取当前文件操作的第二逻辑扇区地址;

当前操作包括写操作或读操作。步骤101和步骤102没有先后执行顺序,需要说明的是,采用“第二”、“第一”表述方式是用于区分受保护文件所属的逻辑扇区地址范围和当前文件操作的逻辑扇区地址,不应理解为限定作用。

其中,当在目标机器上进行针对逻辑扇区的文件操作时,会在驱动层捕获到对应的输入输出请求包(IRP,I/O Request Package),并能直接获得此时***作文件的逻辑扇区地址(第二逻辑扇区地址)。

103、若所述第二逻辑扇区地址在所述第一逻辑扇区地址范围之内,则拒绝执行所述操作。

在获取第一逻辑扇区地址范围和第二逻辑扇区地址后,若第二逻辑扇区地址在第一逻辑扇区地址范围之内,则拒绝其继续操作。需要说明的是,若第二逻辑扇区地址不在第一逻辑扇区地址范围之内,则允许其操作。

可见,通过逻辑扇区匹配方式控制相关十六进制工具类软件通过逻辑扇区对文件进行读写操作,从而能够防止文件被篡改,提高了数据安全性。

进一步地,请参阅图2,本发明实施例公开了一种获取受保护文件所属的第一逻辑扇区地址范围的方法,包括:

201、获取受保护文件所在卷的文件系统类型;

通常,文件系统类型为Fat32或NTFS。

202、获取所述受保护文件所在卷的分区引导扇区DBR信息;

考虑到获取受保护文件所属的第一逻辑扇区地址范围需要用到分区引导扇区(DBR,Dos Boot Record)中的一些信息,该DBR信息是在对分区进行格式化时由操作系统自动产生的。由此,需要获取受保护文件所在卷的DBR信息。

203、若所述文件系统类型为Fat32,则获取所述受保护文件所占用的首簇号,并通过所述首簇号获取所述受保护文件所占用的簇编号,再执行步骤204;

若文件系统类型为Fat32,则通过给受保护文件(受保护文件所使用的文件系统)发送IoControl码,获得受保护文件所占用的首簇号,通过首簇号能依次得到受保护文件所占用的连续或不连续的所有簇编号(每个分区都有自己的簇编号,由操作系统为每个分区定义,受保护文件被写入磁盘时确定)。

204、基于所述DBR信息、所述簇编号以及基于所述DBR信息确定的数据区起始地址获取所述受保护文件所属的第一逻辑扇区地址范围;

具体地,基于所述DBR信息读取分区保留扇区数、分区Fat表数目、Fat表所占的扇区数以及扇区大小;

基于所述分区保留扇区数、分区Fat表数目、Fat表所占的扇区数以及扇区大小计算数据区起始地址;

基于所述数据区起始地址、所述簇编号以及相对应的每簇扇区数和扇区大小计算得到所述第一逻辑扇区地址范围。

其中,所述基于所述分区保留扇区数、分区Fat表数目、Fat表所占的扇区数以及扇区大小计算数据区起始地址,包括:

通过如下表达式计算所述数据区起始地址:

数据区起始地址=(分区保留扇区数+分区Fat表数据*Fat表所占的扇区数)*扇区大小。

其中,所述基于所述数据区起始地址、所述簇编号以及相对应的每簇扇区数和所述扇区大小计算得到所述第一逻辑扇区地址范围,包括:

通过如下表达式计算所述第一逻辑扇区地址范围:

第一逻辑扇区地址范围=数据区起始地址+簇编号*每簇扇区数据*扇区大小。

通常,扇区大小一般为512字节。

205、若所述文件系统类型为NTFS,且未成功获取所述受保护文件所占用的所述首簇号,则基于所述DBR信息以及获取到的文件记录号获取所述受保护文件所属的第一逻辑扇区地址范围;

具体地,基于所述DBR信息读取分区MFT开始簇、每簇扇区数以及扇区大小;

基于所述分区MFT开始簇、每簇扇区数、扇区大小以及获取到的文件记录号计算得到所述第一逻辑扇区地址范围。

其中,所述基于所述分区MFT开始簇、每簇扇区数、扇区大小以及获取到的文件记录号计算得到所述第一逻辑扇区地址范围,包括:

通过如下表达式计算所述第一逻辑扇区地址范围:

第一逻辑扇区地址范围=MFT开始簇*每簇扇区数*扇区大小+文件记录号*1024。

应当理解,NTFS文件系统中,文件内容是作为文件的一种属性进行存储的,与文件是否是系统文件、是否隐藏等是完全一样的概念,文件类型是文件的第30号属性。每个文件在MFT表中占1K,如果文件内容很长,则会超过1K。

获取首簇号失败,错误码是STATUS_END_OF_FILE,则表明文件内容是在1K以内。

文件记录号,即MFT表中的索引,可以通过该发送FSCTL_GET_NTFS_FILE_RECORD码获取得到。

206、若所述文件系统类型为NTFS,且成功获取所述受保护文件所占用的所述首簇号,则通过所述首簇号获取所述受保护文件所占用的所述簇编号,再执行步骤207;

若获取首簇号成功,则表明受保护文件的文件内容大于1K。

207、基于所述DBR信息以及所述簇编号获取所述受保护文件所属的第一逻辑扇区地址范围。

具体地,基于所述DBR信息读取每簇扇区数和扇区大小;

基于所述簇编号、每簇扇区数以及扇区大小计算得到所述第一逻辑扇区地址范围。

其中,所述基于所述簇编号、每簇扇区数以及扇区大小计算得到所述第一逻辑扇区地址范围,包括:

通过如下表达式计算所述第一逻辑扇区地址范围:

第一逻辑扇区地址范围=簇编号*每簇扇区数*扇区大小。

下面对本发明实施例提供的文件防篡改装置进行描述,下文描述的文件防篡改装置与上文描述的文件防篡改方法可相互对应参照。

参见图3,该文件防篡改装置包括:

第一获取单元301,用于获取受保护文件所属的第一逻辑扇区地址范围;

第二获取单元302,用于获取当前文件操作的第二逻辑扇区地址;

拒绝单元303,用于若所述第二逻辑扇区地址在所述第一逻辑扇区地址范围之内,则拒绝执行所述操作。

可见,通过逻辑扇区匹配方式控制相关十六进制工具类软件通过逻辑扇区对文件进行读写操作,从而能够防止文件被篡改,提高了数据安全性。

本发明实施例的文件防篡改装置,可以用于执行前述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:烧录控制方法、系统、装置、设备及计算机可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类