CN117763626A - 文件的完整性度量方法、装置、设备及存储介质 - Google Patents

文件的完整性度量方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN117763626A
CN117763626A CN202311701851.4A CN202311701851A CN117763626A CN 117763626 A CN117763626 A CN 117763626A CN 202311701851 A CN202311701851 A CN 202311701851A CN 117763626 A CN117763626 A CN 117763626A
Authority
CN
China
Prior art keywords
file
container
determining
information
measured
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
Application number
CN202311701851.4A
Other languages
English (en)
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.)
Siwei Shijing Technology Beijing Co ltd
Original Assignee
Siwei Shijing Technology Beijing 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 Siwei Shijing Technology Beijing Co ltd filed Critical Siwei Shijing Technology Beijing Co ltd
Priority to CN202311701851.4A priority Critical patent/CN117763626A/zh
Publication of CN117763626A publication Critical patent/CN117763626A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提出一种文件的完整性度量方法、装置、设备及存储介质,文件的完整性度量方法包括:构建带有被度量文件的第一容器;根据第一容器,确定第一容器的第一顶层镜像信息;根据第一顶层镜像信息,确定被度量文件的第一元数据信息;根据第一容器,构建第二容器;根据第二容器,确定第二容器的第二顶层镜像信息;根据第二顶层镜像信息,确定被度量文件的第二元数据信息,第二元数据信息为在容器运行的某个时间点被度量文件的元数据信息;在第一元数据信息和第二元数据信息相匹配的情况下,则确定被度量文件未被篡改。从而降低完整性度量所需要的数据量和算法的复杂度,有效提高了完整性度量的效率。

Description

文件的完整性度量方法、装置、设备及存储介质
技术领域
本申请涉及文件的完整性度量的技术领域,尤其涉及一种文件的完整性度量方法、装置、设备及存储介质。
背景技术
文件完整性度量是一种有效的安全检测方法,也是可信计算的核心技术。与防火墙、入侵检测系统和防病毒软件不同,文件完整性度量不需要复杂的策略、软件行为监控和庞大的恶意病毒库,仅需要检测文件是否被篡改,具有通用性强、可靠性高、管理简单等优点。
传统的完整性检测技术,都基于信息摘要算法,通过对比基础信息摘要与另外任意时间点生成的新的信息摘要是否相同,判别文件是否被篡改。如果信息摘要不同,则文件被篡改;否则文件完整。现有的完整性检测方法的问题主要源于信息摘要算法,信息摘要算法以文件的整个内容为输入,导致使用的数据量大,造成效率较低。
发明内容
本申请实施例提供一种文件的完整性度量方法、装置、设备及存储介质,以解决相关技术存在的问题,技术方案如下:
第一方面,本申请实施例提供了一种文件的完整性度量方法,包括:
构建带有被度量文件的第一容器;
根据所述第一容器,确定第一容器的第一顶层镜像信息;
根据所述第一顶层镜像信息,确定被度量文件的第一元数据信息;
根据所述第一容器,构建第二容器;
根据第二容器,确定第二容器的第二顶层镜像信息;
根据第二顶层镜像信息,确定被度量文件的第二元数据信息,所述第二元数据信息为在容器运行的某个时间点被度量文件的元数据信息;
在所述第一元数据信息和所述第二元数据信息相匹配的情况下,则确定所述被度量文件未被篡改。
在一种实施方式中,还包括:
在所述第一元数据信息和所述第二元数据信息不匹配的情况下,则确定所述被度量文件被篡改。
在一种实施方式中,所述第一元数据信息包括第一文件头部信息、第一编号列表和文件使用的第一数据块数量,所述第一元数据信息包括第一文件头部信息、第一编号列表和文件使用的第一数据块数量,所述在所述第一元数据信息和所述第二元数据信息相匹配的情况下,则确定所述被度量文件未被篡改包括:
判断所述第一文件头部信息的文件索引的内容与所述第二头部信息的文件索引的内容是否相同,得到第一比对结果;
判断所述第一数据块数量和所述第二数据块的数量是否相同,得到第二比对结果;
依次读取所述第一编号列表和所述第二编号列表中的数据,并比较所述第一编号列表和所述第二编号列表对应位置的生成编号是否相同,得到第三比对结果;
在所述第一比对结果为所述第一文件头部信息的文件索引的内容与所述第二头部信息的文件索引的内容相同、所述第二比对结果为所述第一数据块数量和所述第二数据块的数量相同和所述第三比对结果为所述第一编号列表和所述第二编号列表对应位置的生成编号相同的情况下,则确定所述被度量文件未被篡改。
在一种实施方式中,所述在所述第一元数据信息和所述第二元数据信息不匹配的情况下,则确定所述被度量文件被篡改包括:
在所述第一比对结果为所述第一文件头部信息的文件索引的内容与所述第二头部信息的文件索引的内容不相同、所述第二比对结果为所述第一数据块数量和所述第二数据块的数量不相同或所述第三比对结果为所述第一编号列表和所述第二编号列表对应位置的生成编号不相同的情况下,则确定所述被度量文件被篡改。
在一种实施方式中,所述构建带有被度量文件的第一容器包括:
配置容器管理系统,并将容器使用的文件系统设置为Btrfs文件系统;
在所述Btrfs文件系统上创建第一容器,并设置第一容器名称;
将被度量文件存储在第一容器中,并记录被度量文件在第一容器中的第一存储路径。
在一种实施方式中,所述第一容器包括第一容器名称和所述被度量文件在第一容器中的第一存储路径,所述根据所述第一容器,确定第一容器的第一顶层镜像信息包括:
根据所述第一容器名称,确定第一容器的基本信息,所述第一容器的基本信息包括第一容器的第一配置存储位置和第一编号;
根据所述第一配置存储位置和第一编号,得到第一容器当前使用的第一可写子卷路径;
根据所述第一可写子卷路径和所述第一存储路径,得到被度量文件在Btrfs文件系统中的第二存储路径。
在一种实施方式中,所述第一顶层镜像信息包括被度量文件在Btrfs文件系统中的第二存储路径,所述根据所述第一顶层镜像信息,确定被度量文件的第一元数据信息包括:
根据被度量文件在Btrfs文件系统中的第二存储路径在Btrfs文件系统中,按顺序记录保存第一文件头部信息以及按顺序保存文件内容使用的第一数据块中的生成编号,生成第一编号列表;
根据文件内容使用的第一数据块,确定记录文件内容使用的第一数据块的数量。
第二方面,本申请实施例提供了一种文件的完整性度量装置,包括:
第一构建模块,用于构建带有被度量文件的第一容器;
第一确定模块,用于根据所述第一容器,确定第一容器的第一顶层镜像信息;
第二确定模块,用于根据所述第一顶层镜像信息,确定被度量文件的第一元数据信息;
第二构建模块,用于根据所述第一容器,构建第二容器;
第三确定模块,用于根据第二容器,确定第二容器的第二顶层镜像信息;
第四确定模块,用于根据第二顶层镜像信息,确定被度量文件的第二元数据信息,所述第二元数据信息为在容器运行的某个时间点被度量文件的元数据信息;
第一匹配模块,用于在所述第一元数据信息和所述第二元数据信息相匹配的情况下,则确定所述被度量文件未被篡改。
第三方面,本申请实施例提供了一种电子设备,该设备包括:存储器和处理器。其中,该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且当该处理器执行该存储器存储的指令时,使得该处理器执行上述各方面任一种实施方式中的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储计算机程序,当计算机程序在计算机上运行时,上述各方面任一种实施方式中的方法被执行。
上述技术方案中的优点或有益效果至少包括:
本公开实施例的技术方案,在容器使用Btrfs文件系统的情况下,首先构建带有被度量文件的第一容器,其次根据所述第一容器,确定第一容器的第一顶层镜像信息;根据所述第一顶层镜像信息,确定被度量文件的第一元数据信息,再次根据所述第一容器,构建第二容器;根据第二容器,确定第二容器的第二顶层镜像信息;根据第二顶层镜像信息,确定被度量文件的第二元数据信息,所述第二元数据信息为在容器运行的某个时间点被度量文件的元数据信息;最后检测文件是否被篡改,在所述第一元数据信息和所述第二元数据信息相匹配的情况下,则确定所述被度量文件未被篡改。该方法利用容器内文件在Btrfs文件系统中的元数据信息,降低完整性度量所需要的数据量和算法的复杂度,有效提高了完整性度量的效率。
本实施例的方法,减少检测需要的数据量:基于信息摘要算法的文件完整性检测方法需要在初始阶段和检验阶段获取信息摘要。信息摘要算法以文件内容作为输入,使用的数据量较大。在本实施例的方法中,仅需要检查该文件在btrfs文件系统中的元数据。减少算法需要的复杂度:基于信息摘要算法的文件完整性检方法为了实现不同的文件内容得到不同的信息摘要,需要经过大量复杂的计算过程,包括矩阵乘法、矩阵转置等。本实施例的方法中,判断文件是否被篡改仅仅需要比较原有文件在btrfs文件系统中的元数据是否与当前文件在btrfs文件系统中的元数据相同。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本申请进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请公开的一些实施方式,而不应将其视为是对本申请范围的限制。
图1为本申请一实施例的容器镜像逻辑图;
图2为本申请一实施例的容器镜像与Btrfs文件系统的关系图;
图3为本申请一实施例的文件的完整性度量方法的流程图
图4示出根据本发明一实施例的文件的完整性度量装置的结构框图;
图5示出根据本发明一实施例的电子设备的结构框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本申请的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
在相关技术中,容器是一种轻量级的虚拟化技术,可以将应用程序及其运行依赖环境打包封装到标准化、强移植的镜像中,通过容器引擎提供进程隔离、资源限制的运行环境,实现应用与操作系统平台及底层硬件的解耦。由于容器支持多平台,如Windows、Linux、MacOS等主流操作系统,现已广泛应用于DevOps、PaaS、IoT等领域,并且数以万计的容器运行在WAS、Azure、阿里巴巴和腾讯云上,部署于企业、军队、国防等关键部门。由于计算、存储和网络资源有限,在容器中部署安全软硬件比较困难,容器中的应用程序和数据容易受到攻击。一旦容器被攻破,攻击者可能会破坏数据、应用程序和主机,然后通过网络入侵云系统。
容器镜像采用分层逻辑结构,如图1所示。最顶层是可写的,用于存储其他层改变的文件和新文件;低层是只读的,可以被多个容器共享。容器镜像支持多种文件系统,Btrfs就是其中之一。Btrfs是一种现代的、开源的文件系统,其名称来源于使用B-trees存储内部文件结构。Btrfs文件系统支持快照、数据压缩、在线扩展、在线校验和等高级功能,能够更好地保护数据的安全性和可靠性。Btrfs可以在任意目录上创建子卷并为子卷创建快照。快照可以逐层进行。一开始,子卷和快照共享相同的块。当下层快照中的文件被修改时,上层快照只保存改变的块。每个快照和子卷都有一个初始生成编号、一个当前生成编号和一个独立的结构树。如果快照或子卷中的文件发生更改,“当前生成编号”将增加,并且独立结构树将更改以索引更改的块。容器利用Btrfs将子卷和快照整合为一张镜像,容器与Btrfs的关系如图2所示。视图层和可写层均使用Btrfs的可写快照。只读层是只读快照和子卷。
文件完整性度量是一种有效的安全检测方法,也是可信计算的核心技术。与防火墙、入侵检测系统和防病毒软件不同,文件完整性度量不需要复杂的策略、软件行为监控和庞大的恶意病毒库,仅需要检测文件是否被篡改,具有通用性强、可靠性高、管理简单等优点。
传统的完整性检测技术,都基于信息摘要算法,通过对比基础信息摘要与另外任意时间点生成的新的信息摘要是否相同,判别文件是否被篡改。如果信息摘要不同,则文件被篡改;否则文件完整。现有的完整性检测方法的问题主要源于信息摘要算法,问题主要包括:
1、文件完整性度量的效率较低:由于信息摘要算法以文件的整个内容为输入,导致使用的数据量大,造成文件完整性度量的效率较低;
2、算法的复杂度高:为了实现不同的文件内容得到不同的信息摘要,需要经过大量复杂的计算过程,包括矩阵乘法和矩阵转置等,算法的复杂度非常高。
图3示出根据本申请一实施例的文件的完整性度量方法的流程图。如图3所示,一种文件的完整性度量方法,该文件的完整性度量方法可以包括:
S110:构建带有被度量文件的第一容器;
S120:根据所述第一容器,确定第一容器的第一顶层镜像信息;
S130:根据所述第一顶层镜像信息,确定被度量文件的第一元数据信息;
S140:根据所述第一容器,构建第二容器;
S150:根据第二容器,确定第二容器的第二顶层镜像信息;
S160:根据第二顶层镜像信息,确定被度量文件的第二元数据信息,所述第二元数据信息为在容器运行的某个时间点被度量文件的元数据信息;
S170:在所述第一元数据信息和所述第二元数据信息相匹配的情况下,则确定所述被度量文件未被篡改。
本实施例的方法可以执行于在PC主机上执行或在云计算服务端上执行。
本公开实施例的技术方案,在容器使用Btrfs文件系统的情况下,首先构建带有被度量文件的第一容器,其次根据所述第一容器,确定第一容器的第一顶层镜像信息;根据所述第一顶层镜像信息,确定被度量文件的第一元数据信息,再次根据所述第一容器,构建第二容器;根据第二容器,确定第二容器的第二顶层镜像信息;根据第二顶层镜像信息,确定被度量文件的第二元数据信息,所述第二元数据信息为在容器运行的某个时间点被度量文件的元数据信息;最后检测文件是否被篡改,在所述第一元数据信息和所述第二元数据信息相匹配的情况下,则确定所述被度量文件未被篡改。该方法利用容器内文件在Btrfs文件系统中的元数据信息,降低完整性度量所需要的数据量和算法的复杂度,有效提高了完整性度量的效率。
本实施例的方法,减少检测需要的数据量:基于信息摘要算法的文件完整性检测方法需要在初始阶段和检验阶段获取信息摘要。信息摘要算法以文件内容作为输入,使用的数据量较大。在本实施例的方法中,仅需要检查该文件在btrfs文件系统中的元数据。减少算法需要的复杂度:基于信息摘要算法的文件完整性检方法为了实现不同的文件内容得到不同的信息摘要,需要经过大量复杂的计算过程,包括矩阵乘法、矩阵转置等。本实施例的方法中,判断文件是否被篡改仅仅需要比较原有文件在btrfs文件系统中的元数据是否与当前文件在btrfs文件系统中的元数据相同。
在步骤S110中,构建带有被度量文件的第一容器。
安装容器管理系统,并在容器管理系统内将容器使用的文件系统设置为Btrfs文件系统。
在容器管理系统上创建第一容器,并设置第一容器名称(Container_original=container1)。
将被度量文件存储在第一容器中,并记录被度量文件文件在第一容器中的存储路径(File_path=/home/test/temp)。
在步骤S120中,根据所述第一容器,确定第一容器的第一顶层镜像信息。
根据第一容器名称(Container_original=container1)获取第一容器的基本信息,包括第一容器的配置存储位置(config_original_dir=/var/lib/docker/image/btrfs/layerdb/mounts/)、第一编号(container_original_id=20)。
根据第一容器的第一配置存储位置和第一编号(/var/lib/docker/image/btrfs/layerdb/mounts/20),查询第一容器当前使用的第一可写子卷路径(Container_write_layer_original=/var/image/container1)。
根据第一可写子卷路径和被度量文件在容器中的第一存储路径,得到被度量文件在Btrfs文件系统中的第二存储路径(file_path_original_system=/var/image/container1/home/test/temp)。
在步骤S130中,根据所述第一顶层镜像信息,确定被度量文件的第一元数据信息。
在Btrfs文件系统中,按顺序记录用于保存第一文件头部信息<inode_data_original>,以及按顺序保存被度量文件内容使用的第一数据块(btrfs_file_extent_item)中的生成编号(generation number),生成第一编号列表(generation_number_list_original=[40,40,40,40]。
记录被度量文件内容使用的第一数据块的数量(block_number_original=4)。
在步骤S140中,根据所述第一容器,构建第二容器。
在本实施例中,以第一容器(Container_original=container1)为基础构建新的第二容器(Container_current=container2)。
在步骤S150中,根据第二容器,确定第二容器的第二顶层镜像信息。
根据第二容器名称(Container_current=container2)得到容器的基本信息,包括第二容器的第二配置存储位置(config_current_dir=/var/lib/docker/image/btrfs/layerdb/mounts/)、第二编号(container_current_id=21)。
根据第二容器的第二配置存储位置和第二编号(/var/lib/docker/image/btrfs/layerdb/mounts/21),查询第二容器当前使用的第二可写子卷路径(Container_write_layer_current=/var/image/container2)。
根据第二可写子卷路径和被度量文件在第二容器中的第二存储路径,得到被度量文件在Btrfs文件系统中的第二存储路径。(file_path_current_system=/var/image/container2/home/test/temp)。
在步骤S160中,根据第二顶层镜像信息,确定被度量文件的第二元数据信息,所述第二元数据信息为在容器运行的某个时间点被度量文件的元数据信息。
(1)在Btrfs文件系统中,按顺序记录用于保存第二文件头部信息(inode_data_current),以及按顺序保存文件内容使用的第二数据块(btrfs_file_extent_item)中的生成编号(generation number),生成第二编号列表(generation_number_list_current=[41,41,41,41])。
记录文件内容使用的第二数据块的数量(block_number_current=4)。
在步骤S170中,在所述第一元数据信息和所述第二元数据信息相匹配的情况下,则确定所述被度量文件未被篡改。
在一种实施方式中,还包括:
在所述第一元数据信息和所述第二元数据信息不匹配的情况下,则确定所述被度量文件被篡改。
在一种实施方式中,所述第一元数据信息包括第一文件头部信息、第一编号列表和文件使用的第一数据块数量,所述第一元数据信息包括第一文件头部信息、第一编号列表和文件使用的第一数据块数量,所述在所述第一元数据信息和所述第二元数据信息相匹配的情况下,则确定所述被度量文件未被篡改包括:
判断所述第一文件头部信息的文件索引的内容与所述第二头部信息的文件索引的内容是否相同,得到第一比对结果;
判断所述第一数据块数量和所述第二数据块的数量是否相同,得到第二比对结果;
依次读取所述第一编号列表和所述第二编号列表中的数据,并比较所述第一编号列表和所述第二编号列表对应位置的生成编号是否相同,得到第三比对结果;
在所述第一比对结果为所述第一文件头部信息的文件索引的内容与所述第二头部信息的文件索引的内容相同、所述第二比对结果为所述第一数据块数量和所述第二数据块的数量相同和所述第三比对结果为所述第一编号列表和所述第二编号列表对应位置的生成编号相同的情况下,则确定所述被度量文件未被篡改。
在一种实施方式中,所述在所述第一元数据信息和所述第二元数据信息不匹配的情况下,则确定所述被度量文件被篡改包括:
在所述第一比对结果为所述第一文件头部信息的文件索引的内容与所述第二头部信息的文件索引的内容不相同、所述第二比对结果为所述第一数据块数量和所述第二数据块的数量不相同或所述第三比对结果为所述第一编号列表和所述第二编号列表对应位置的生成编号不相同的情况下,则确定所述被度量文件被篡改。
在一种实施方式中,所述构建带有被度量文件的第一容器包括:
配置容器管理系统,并将容器使用的文件系统设置为Btrfs文件系统;
在所述Btrfs文件系统上创建第一容器,并设置第一容器名称;
将被度量文件存储在第一容器中,并记录被度量文件在第一容器中的第一存储路径。
在一种实施方式中,所述第一容器包括第一容器名称和所述被度量文件在第一容器中的第一存储路径,所述根据所述第一容器,确定第一容器的第一顶层镜像信息包括:
根据所述第一容器名称,确定第一容器的基本信息,所述第一容器的基本信息包括第一容器的第一配置存储位置和第一编号;
根据所述第一配置存储位置和第一编号,得到第一容器当前使用的第一可写子卷路径;
根据所述第一可写子卷路径和所述第一存储路径,得到被度量文件在Btrfs文件系统中的第二存储路径。
在一种实施方式中,所述第一顶层镜像信息包括被度量文件在Btrfs文件系统中的第二存储路径,所述根据所述第一顶层镜像信息,确定被度量文件的第一元数据信息包括:
根据被度量文件在Btrfs文件系统中的第二存储路径在Btrfs文件系统中,按顺序记录保存第一文件头部信息以及按顺序保存文件内容使用的第一数据块中的生成编号,生成第一编号列表;
根据文件内容使用的第一数据块,确定记录文件内容使用的第一数据块的数量。
图4示出根据本发明一实施例的文件的完整性度量装置的结构框图。如图4所示,第二方面,本申请实施例提供了一种文件的完整性度量装置,该装置可以包括:
第一构建模块401,用于构建带有被度量文件的第一容器;
第一确定模块402,用于根据所述第一容器,确定第一容器的第一顶层镜像信息;
第二确定模块403,用于根据所述第一顶层镜像信息,确定被度量文件的第一元数据信息;
第二构建模块404,用于根据所述第一容器,构建第二容器;
第三确定模块405,用于根据第二容器,确定第二容器的第二顶层镜像信息;
第四确定模块406,用于根据第二顶层镜像信息,确定被度量文件的第二元数据信息,所述第二元数据信息为在容器运行的某个时间点被度量文件的元数据信息;
第一匹配模块407,用于在所述第一元数据信息和所述第二元数据信息相匹配的情况下,则确定所述被度量文件未被篡改。
本公开实施例的技术方案,在容器使用Btrfs文件系统的情况下,首先构建带有被度量文件的第一容器,其次根据所述第一容器,确定第一容器的第一顶层镜像信息;根据所述第一顶层镜像信息,确定被度量文件的第一元数据信息,再次根据所述第一容器,构建第二容器;根据第二容器,确定第二容器的第二顶层镜像信息;根据第二顶层镜像信息,确定被度量文件的第二元数据信息,所述第二元数据信息为在容器运行的某个时间点被度量文件的元数据信息;最后检测文件是否被篡改,在所述第一元数据信息和所述第二元数据信息相匹配的情况下,则确定所述被度量文件未被篡改。该方法利用容器内文件在Btrfs文件系统中的元数据信息,降低完整性度量所需要的数据量和算法的复杂度,有效提高了完整性度量的效率。
本实施例的装置,减少检测需要的数据量:基于信息摘要算法的文件完整性检方法需要在初始阶段和检验阶段获取信息摘要。信息摘要算法以文件内容作为输入,使用的数据量较大。在本实施例的方法中,仅需要检查该文件在btrfs文件系统中的元数据。减少算法需要的复杂度:基于信息摘要算法的文件完整性检方法为了实现不同的文件内容得到不同的信息摘要,需要经过大量复杂的计算过程,包括矩阵乘法、矩阵转置等。本实施例的装置中,判断文件是否被篡改仅仅需要比较原有文件在btrfs文件系统中的元数据是否与当前文件在btrfs文件系统中的元数据相同。
在一种实施方式中,还包括:
第二匹配模块,用于在所述第一元数据信息和所述第二元数据信息不匹配的情况下,则确定所述被度量文件被篡改。
在一种实施方式中,所述第一元数据信息包括第一文件头部信息、第一编号列表和文件使用的第一数据块数量,所述第一元数据信息包括第一文件头部信息、第一编号列表和文件使用的第一数据块数量,所述第一匹配模块包括:
判断所述第一文件头部信息的文件索引的内容与所述第二头部信息的文件索引的内容是否相同,得到第一比对结果;
判断所述第一数据块数量和所述第二数据块的数量是否相同,得到第二比对结果;
依次读取所述第一编号列表和所述第二编号列表中的数据,并比较所述第一编号列表和所述第二编号列表对应位置的生成编号是否相同,得到第三比对结果;
在所述第一比对结果为所述第一文件头部信息的文件索引的内容与所述第二头部信息的文件索引的内容相同、所述第二比对结果为所述第一数据块数量和所述第二数据块的数量相同和所述第三比对结果为所述第一编号列表和所述第二编号列表对应位置的生成编号相同的情况下,则确定所述被度量文件未被篡改。
在一种实施方式中,所述第二匹配模块包括:
在所述第一比对结果为所述第一文件头部信息的文件索引的内容与所述第二头部信息的文件索引的内容不相同、所述第二比对结果为所述第一数据块数量和所述第二数据块的数量不相同或所述第三比对结果为所述第一编号列表和所述第二编号列表对应位置的生成编号不相同的情况下,则确定所述被度量文件被篡改。
在一种实施方式中,所述第一构建模块包括:
配置容器管理系统,并将容器使用的文件系统设置为Btrfs文件系统;
在所述Btrfs文件系统上创建第一容器,并设置第一容器名称;
将被度量文件存储在第一容器中,并记录被度量文件在第一容器中的第一存储路径。
在一种实施方式中,所述第一容器包括第一容器名称和所述被度量文件在第一容器中的第一存储路径,所述根第一确定模块包括:
根据所述第一容器名称,确定第一容器的基本信息,所述第一容器的基本信息包括第一容器的第一配置存储位置和第一编号;
根据所述第一配置存储位置和第一编号,得到第一容器当前使用的第一可写子卷路径;
根据所述第一可写子卷路径和所述第一存储路径,得到被度量文件在Btrfs文件系统中的第二存储路径。
在一种实施方式中,所述第一顶层镜像信息包括被度量文件在Btrfs文件系统中的第二存储路径,所述第二确定模块包括:
根据被度量文件在Btrfs文件系统中的第二存储路径在Btrfs文件系统中,按顺序记录保存第一文件头部信息以及按顺序保存文件内容使用的第一数据块中的生成编号,生成第一编号列表;
根据文件内容使用的第一数据块,确定记录文件内容使用的第一数据块的数量。
本发明实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
图5示出根据本发明一实施例的电子设备的结构框图。如图5所示,该电子设备包括:存储器910和处理器920,存储器910内存储有可在处理器920上运行的计算机程序。处理器920执行该计算机程序时实现上述实施例中的文件的完整性度量方法。存储器910和处理器920的数量可以为一个或多个。
该电子设备/终端/服务器还包括:
通信接口930,用于与外界设备进行通信,进行数据交互传输。
如果存储器910、处理器920和通信接口930独立实现,则存储器910、处理器920和通信接口930可以通过总线相互连接并完成相互间的通信。该总线可以是工业标准体系结构(Industry StandardArchitecture,ISA)总线、外部设备互连(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准体系结构(Extended IndustryStandardArchitecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器910、处理器920及通信接口930集成在一块芯片上,则存储器910、处理器920及通信接口930可以通过内部接口完成相互间的通信。
本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现本申请实施例中提供的方法。
本申请实施例还提供了一种芯片,该芯片包括,包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行本申请实施例提供的方法。
本申请实施例还提供了一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行申请实施例提供的方法。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammablegate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced RISC machines,ARM)架构的处理器。
进一步地,可选的,上述存储器可以包括只读存储器和随机存取存储器,还可以包括非易失性随机存取存储器。该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以包括只读存储器(read-onlymemory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以包括随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(doubledata date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhancedSDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
应理解的是,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种文件的完整性度量方法,其特征在于,包括:
构建带有被度量文件的第一容器;
根据所述第一容器,确定第一容器的第一顶层镜像信息;
根据所述第一顶层镜像信息,确定被度量文件的第一元数据信息;
根据所述第一容器,构建第二容器;
根据第二容器,确定第二容器的第二顶层镜像信息;
根据第二顶层镜像信息,确定被度量文件的第二元数据信息,所述第二元数据信息为在容器运行的某个时间点被度量文件的元数据信息;
在所述第一元数据信息和所述第二元数据信息相匹配的情况下,则确定所述被度量文件未被篡改。
2.根据权利要求1所述文件的完整性度量方法,其特征在于,还包括:
在所述第一元数据信息和所述第二元数据信息不匹配的情况下,则确定所述被度量文件被篡改。
3.根据权利要求2所述文件的完整性度量方法,其特征在于,所述第一元数据信息包括第一文件头部信息、第一编号列表和文件使用的第一数据块数量,所述第一元数据信息包括第一文件头部信息、第一编号列表和文件使用的第一数据块数量,所述在所述第一元数据信息和所述第二元数据信息相匹配的情况下,则确定所述被度量文件未被篡改包括:
判断所述第一文件头部信息的文件索引的内容与所述第二头部信息的文件索引的内容是否相同,得到第一比对结果;
判断所述第一数据块数量和所述第二数据块的数量是否相同,得到第二比对结果;
依次读取所述第一编号列表和所述第二编号列表中的数据,并比较所述第一编号列表和所述第二编号列表对应位置的生成编号是否相同,得到第三比对结果;
在所述第一比对结果为所述第一文件头部信息的文件索引的内容与所述第二头部信息的文件索引的内容相同、所述第二比对结果为所述第一数据块数量和所述第二数据块的数量相同和所述第三比对结果为所述第一编号列表和所述第二编号列表对应位置的生成编号相同的情况下,则确定所述被度量文件未被篡改。
4.根据权利要求3所述文件的完整性度量方法,其特征在于,所述在所述第一元数据信息和所述第二元数据信息不匹配的情况下,则确定所述被度量文件被篡改包括:
在所述第一比对结果为所述第一文件头部信息的文件索引的内容与所述第二头部信息的文件索引的内容不相同、所述第二比对结果为所述第一数据块数量和所述第二数据块的数量不相同或所述第三比对结果为所述第一编号列表和所述第二编号列表对应位置的生成编号不相同的情况下,则确定所述被度量文件被篡改。
5.根据权利要求1所述文件的完整性度量方法,其特征在于,所述构建带有被度量文件的第一容器包括:
配置容器管理系统,并将容器使用的文件系统设置为Btrfs文件系统;
在所述Btrfs文件系统上创建第一容器,并设置第一容器名称;
将被度量文件存储在第一容器中,并记录被度量文件在第一容器中的第一存储路径。
6.根据权利要求5所述文件的完整性度量方法,其特征在于,所述第一容器包括第一容器名称和所述被度量文件在第一容器中的第一存储路径,所述根据所述第一容器,确定第一容器的第一顶层镜像信息包括:
根据所述第一容器名称,确定第一容器的基本信息,所述第一容器的基本信息包括第一容器的第一配置存储位置和第一编号;
根据所述第一配置存储位置和第一编号,得到第一容器当前使用的第一可写子卷路径;
根据所述第一可写子卷路径和所述第一存储路径,得到被度量文件在Btrfs文件系统中的第二存储路径。
7.根据权利要求6所述文件的完整性度量方法,其特征在于,所述第一顶层镜像信息包括被度量文件在Btrfs文件系统中的第二存储路径,所述根据所述第一顶层镜像信息,确定被度量文件的第一元数据信息包括:
根据被度量文件在Btrfs文件系统中的第二存储路径在Btrfs文件系统中,按顺序记录保存第一文件头部信息以及按顺序保存文件内容使用的第一数据块中的生成编号,生成第一编号列表;
根据文件内容使用的第一数据块,确定记录文件内容使用的第一数据块的数量。
8.一种文件的完整性度量装置,其特征在于,包括:
第一构建模块,用于构建带有被度量文件的第一容器;
第一确定模块,用于根据所述第一容器,确定第一容器的第一顶层镜像信息;
第二确定模块,用于根据所述第一顶层镜像信息,确定被度量文件的第一元数据信息;
第二构建模块,用于根据所述第一容器,构建第二容器;
第三确定模块,用于根据第二容器,确定第二容器的第二顶层镜像信息;
第四确定模块,用于根据第二顶层镜像信息,确定被度量文件的第二元数据信息,所述第二元数据信息为在容器运行的某个时间点被度量文件的元数据信息;
第一匹配模块,用于在所述第一元数据信息和所述第二元数据信息相匹配的情况下,则确定所述被度量文件未被篡改。
9.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器中存储指令,所述指令由处理器加载并执行,以实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
CN202311701851.4A 2023-12-12 2023-12-12 文件的完整性度量方法、装置、设备及存储介质 Pending CN117763626A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311701851.4A CN117763626A (zh) 2023-12-12 2023-12-12 文件的完整性度量方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311701851.4A CN117763626A (zh) 2023-12-12 2023-12-12 文件的完整性度量方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN117763626A true CN117763626A (zh) 2024-03-26

Family

ID=90313554

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311701851.4A Pending CN117763626A (zh) 2023-12-12 2023-12-12 文件的完整性度量方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117763626A (zh)

Similar Documents

Publication Publication Date Title
US7904278B2 (en) Methods and system for program execution integrity measurement
US7836299B2 (en) Virtualization of software configuration registers of the TPM cryptographic processor
CN108399338B (zh) 基于进程行为的平台完整性状态信息度量方法
US9336018B2 (en) Mechanism for class data sharing using extension and application class-loaders
CN101515316B (zh) 一种可信计算终端及可信计算方法
JP5551130B2 (ja) サーバ管理コプロセッササブシステム内部のtcpaによる信頼性の高いプラットフォームモジュール機能のカプセル化
US9652616B1 (en) Techniques for classifying non-process threats
CN110647750B (zh) 文件完整性度量方法、装置、终端及安全管理中心
US20200327227A1 (en) Method of speeding up a full antivirus scan of files on a mobile device
US11775649B2 (en) Perform verification check in response to change in page table base register
CN112818307A (zh) 用户操作处理方法、系统、设备及计算机可读存储介质
CN111859372B (zh) 堆内存攻击的检测方法、装置和电子设备
WO2023165257A1 (zh) 一种代码段动态度量方法、装置及电子设备
US12010139B2 (en) Detecting malware infection path in a cloud computing environment utilizing a security graph
US20230208862A1 (en) Detecting malware infection path in a cloud computing environment utilizing a security graph
CN117763626A (zh) 文件的完整性度量方法、装置、设备及存储介质
CN112989343A (zh) 一种检测超融合平台网络安全性的方法、电子设备及介质
CN110543759A (zh) 恶意文件检测方法、装置、计算机设备和存储介质
KR102309695B1 (ko) 호스트 침입 탐지를 위한 파일 기반 제어방법 및 장치
US20240289475A1 (en) Fingerprinting techniques to support file hash generation
CN113127148B (zh) 一种虚拟化环境主动动态度量方法和系统
US20240289303A1 (en) Namespace mapping to support file hash generation
US12008109B2 (en) Cloud based boot integrity
US20240086524A1 (en) System and method for agentless host configuration detection in a computing environment
US20240104222A1 (en) System and method for agentless host configuration detection of an image in a virtualized environment

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