CN114661540A - 测量容器 - Google Patents

测量容器 Download PDF

Info

Publication number
CN114661540A
CN114661540A CN202111210440.6A CN202111210440A CN114661540A CN 114661540 A CN114661540 A CN 114661540A CN 202111210440 A CN202111210440 A CN 202111210440A CN 114661540 A CN114661540 A CN 114661540A
Authority
CN
China
Prior art keywords
container
measurement
metadata
layer
measurements
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
CN202111210440.6A
Other languages
English (en)
Inventor
F·P·O·西尔韦拉
N·J·爱德华兹
L·E·P·N·雅坎
G·德坎波斯马加尔海斯
L·A·潘纳多斯桑脱斯
R·J·D·R·安图内斯
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
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 Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Publication of CN114661540A publication Critical patent/CN114661540A/zh
Pending legal-status Critical Current

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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开涉及与测量容器相关的方法、系统和存储介质。一种过程包括在计算机系统中获取与软件容器相对应的第一测量结果。获取所述测量结果包括所述计算机系统的硬件处理器测量与所述软件容器相对应的分层文件系统结构的多个层中的给定层。所述给定层包括多个文件,并且所述第一测量结果包括所述多个文件的测量结果。所述过程包括将所述第一测量结果存储在所述计算机系统的安全存储器中。所述安全存储器的内容用于验证所述软件容器的完整性。

Description

测量容器
背景技术
计算机平台(例如,服务器)可能会受到安全攻击,其中,外部实体试图访问存储在计算机平台上的信息或损害计算机平台的部件。出于防止或至少抑制这种安全攻击的目的,计算机平台可以具有诸如防火墙、密码、密钥等各种机制来限制访问。此外,可以分析计算机平台的测量结果以识别和减轻安全攻击。为此,计算机平台可以定期测量其软件部件并且记录测量结果。可以将测量结果日志连同可验证的测量结果日志真实性证据一起发送到远程验证器或其他实体以进行分析。
附图说明
图1是根据示例实施方式的包括用于测量容器镜像和容器实例化的代理的计算机网络的示意图。
图2是根据示例实施方式的测量容器镜像的一个或多个层的代理的图示。
图3是根据示例实施方式的测量表示关于容器镜像的信息的元数据的代理的图示。
图4是根据示例实施方式的测量容器的覆盖文件系统(overlay file system)的一个或多个层的代理的图示。
图5是根据示例实施方式的测量表示关于实例化容器的信息的元数据的代理的图示。
图6图示了根据示例实施方式的容器相关测量的时间线以及所述测量在容器的示例生命周期内的对应触发因素。
图7是描绘了根据示例实施方式的用于获取和存储与软件容器相对应的测量结果的过程的流程图。
图8是根据示例实施方式的存储指令的非暂态机器可读存储介质的图示,所述指令用于使机器测量容器镜像的层、测量与容器相关联的覆盖文件系统并且将测量结果存储在安全存储器中。
图9是根据示例实施方式的包括处理器的系统的示意图,所述处理器用于测量与容器相对应的覆盖文件系统的上层目录和下层目录的层并且将测量结果存储在安全存储器中。
具体实施方式
计算机平台可以不时地获得其软件部件(例如,驱动器、操作系统、启动加载程序、虚拟机、容器等)的完整性测量结果(本文中也称为“测量结果”)。在该上下文中,软件部件的“完整性测量结果”(或“测量结果”)是指表示可以被分析以评估软件部件的完整性的证据的数据,即,基于该数据确定软件部件是否已经受损。通常,可以分析记录的完整性测量结果并且将其与基线参考(例如,签名、散列、值等)进行比较,以用于如评估计算机平台是否被认为是值得信赖的、确定计算机平台是否已经受到安全攻击、识别安全漏洞、识别已经受损的软件部件等目的。
软件部件的完整性测量结果可以具有许多不同的潜在形式。作为示例,完整性测量结果可以是表示软件部件的特性的明文元数据值;表示软件部件的不同特性的元数据值元组;表示由软件部件访问的文件的指纹的散列值;表示软件部件的可执行文件的指纹和到可执行文件的输入的散列值;表示由软件部件访问的特定文件序列的指纹的散列值;等等。
计算机平台的可信计算基(TCB)可以进行并记录平台的完整性测量结果。在此,“可信计算基”是指计算机平台的硬件、固件和/或软件部件的集合,其形成平台的安全核心。换句话说,TCB可以是本质上可信的软件、硬件或其某种组合。
远程证明是允许计算机平台向远程验证器(例如,服务器)证明计算机平台值得信赖的过程。更具体地,远程验证器可以用证明请求来质询计算机平台,并且响应于所述证明请求,计算机平台可以将完整性测量结果日志连同完整性测量结果日志为真实的证明(例如,测量结果散列的已签名摘要)一起发送到远程验证器。在验证完整性测量结果日志的真实性后,远程验证器或另一个实体可以分析所述完整性测量结果日志以评估计算机平台可能存在的安全问题,并且如果计算机平台已被包括,则为计算机平台推荐和/或提供对应的缓解补救措施。
计算机平台的TCB可以响应于许多不同的事件来获得计算机平台的完整性测量结果,如计算机平台的启动(start-up)或引导(boot-up);证明请求或质询;软件部件起始;文件正在被访问;等等。根据示例实施方式,计算机平台可以在计算机平台的非易失性存储器中存储一个或多个完整性测量结果日志;并且为了证明日志是真实的,计算机平台可以将从测量结果日志得到的散列存储在计算机平台的安全、可信存储器中,如可信平台模块(TPM)内的平台配置寄存器(PCR)存储器。响应于来自远程验证器的证明质询,计算机平台可以提供完整性测量结果日志并且提供存储在PCR存储器中的散列的已认证摘要,以证明完整性测量结果日志是真实的。
根据本文中描述的示例实施方式,计算机平台可以响应于某些触发事件来执行对计算机平台的软件容器的完整性测量。在该上下文中,“容器”(本文中也称为“实例化容器”、“容器实例”或“软件容器”)通常是指用于一个或多个应用程序和/或应用程序模块的虚拟运行时间环境,并且这个虚拟运行时间环境被构建为与操作系统内核接口连接。例如,给定应用程序的容器可以包含应用程序的可执行代码及其依赖项,如应用程序的系统工具、库、配置文件、可执行文件和二进制文件。根据示例实施方式,容器包含操作系统内核挂载接口,但不包括操作系统内核。如此,例如,给定的计算机平台可以包含多个容器,所述多个容器通过相应操作系统内核挂载接口共享操作系统内核。Docker容器和rkt容器是软件容器的示例。
容器是具有对应的覆盖文件系统的运行时间实体。如本文中进一步描述的,覆盖文件系统具有分层文件系统结构,所述分层文件系统结构包括对应于容器镜像的下层和用作文件系统的工作空间的上层。在加载时间从容器镜像创建实例化容器,并且可以从同一容器镜像创建多个实例化容器。
容器镜像形成容器的覆盖文件系统的不可变层。在此,容器镜像的“不可变”性质意指容器镜像和由容器镜像形成的覆盖文件系统的对应的下层应该是只读的(即,不应该被修改)。容器镜像包含目录、文件、可执行文件、库等等。容器镜像的基础层包含根文件系统(即,包含根文件目录和文件)和根文件系统的基础配置(例如,根文件系统的入口点、环境变量等)。容器镜像还可以包含基础层之上的一个或多个层(称为“中间层”)。容器镜像的层共同形成分层文件系统(本文中称为“容器镜像文件系统”)。
根据示例实施方式,容器的覆盖文件系统是联合文件系统,其允许不同文件系统的文件和目录被覆盖以形成单个一致文件系统。更具体地,容器的覆盖文件系统包括由容器镜像文件系统形成的下层目录。下层目录是只读的,这与不可变的容器镜像是一致的。容器的覆盖文件系统还包括包含可以向其读取和写入文件的容器层的上层目录。
由于联合文件系统,通常,共享相同路径的层中的文件合并在一起,其中最上层的文件版本控制文件的视图。例如,在写入时复制(copy-on-write)操作中,可以从下层目录读取文件,进行修改,并且然后以经修改的形式写入到上层目录;并且通过容器挂载看到经修改的文件,虽然下层目录中文件并没有变化。作为另一个示例,下层目录中不存在的文件可能会被创建并且存储在上层目录中;并且作为另一个示例,可以删除上层目录的文件,尽管所述文件可能存在于下层目录中。
实例化容器可以共享容器镜像层,从重用常用镜像层和节省存储资源的角度来看,这可能是有利的。例如,容器镜像基础层可以对应于特定数据库管理应用程序,如特定结构化查询语言(SQL)数据库管理应用程序。例如,用户可能想要创建具有SQL数据库管理应用程序的基本特征但使用某些统计工具进一步定制的容器。用户可以例如使用容器构建引擎或容器引擎来构造容器构建文件,所述容器构建文件指定SQL数据库管理应用的基础层为容器镜像的父基础层,并且进一步为容器镜像指定与特定统计包相对应的另一个层。具有含统计包的SQL数据库管理应用程序的容器可以例如绑定挂载到包含相同基础层的另一个容器,用于只读访问;并且因此,基础层的重用不会消耗附加的存储资源。
容器测量可以在加载时间以及运行时间进行。获得容器的完整性测量结果的一种方式是在加载时间通过计算表示整个容器镜像的散列值来测量整个容器镜像。由于容器镜像的不可变性质,计算出的散列值不应与容器镜像的预期散列值不同。
在该上下文中,“散列”(本文中也称为“散列值”)是通过将密码散列函数应用于值(例如,如镜像等输入)而产生的。“密码散列函数”可以是通过处理器(例如,一个或多个中央处理单元(CPU)、一个或多个CPU处理核等)执行机器可读指令而提供的函数。密码散列函数可以接收输入,并且密码散列函数然后可以生成十六进制字符串以匹配所述输入。例如,所述输入可以包括数据串(例如,由起始存储器地址和结束存储器地址表示的存储器中的数据结构)。在这种示例中,密码散列函数基于数据串输出十六进制字符串。进一步地,所述输入的任何微小变化都可能改变输出的十六进制字符串。在另一个示例中,密码散列函数可以是安全散列函数(SHA)、任何联邦信息处理标准(FIPS)批准的散列函数、任何国家标准与技术研究院(NIST)批准的散列函数、或任何其他密码散列函数。在一些示例中,代替十六进制格式,字符串可以使用另一种格式。
从处理资源和存储器资源两者的角度来看,通过计算整个容器镜像的散列来测量容器可能是低效的。以这种方式,多个容器可以共享基础层以及可能地中间层,并且如此,从容器镜像的整体计算散列可能涉及不必要的散列处理。
根据本文中描述的示例实施方式,计算机平台的代理执行对容器的面向层的完整性测量。在该上下文中,代理执行一个或多个“面向层的容器完整性测量”是指代理针对容器镜像的给定层(在加载时间)或容器的覆盖文件系统的给定层(在运行时间)确定一个或多个完整性测量结果。
作为面向层的容器完整性测量结果的更具体示例,根据一些实施方式,代理可以计算层的每个单独文件的散列,并且所得散列与所述层的测量结果的集合相对应。作为另一个示例,根据一些实施方式,代理可以计算文件组的散列(例如,不同子目录的散列),并且这些散列与文件组(例如,某些目录)的测量结果的集合相对应。单个文件或文件组的面向层的容器完整性测量结果对于检测文件篡改的目的可能特别有利。根据进一步实施方式,如果目标不是检测文件篡改,则代理可以计算单个散列值,其用作整个层的测量结果。
根据示例实施方式,代理可以测量容器镜像的多个层。例如,代理可以针对基础层和容器镜像的每个中间层计算一个或多个散列值(取决于是否要检测文件篡改)。由于容器镜像的层是不可变的,因此测量结果应对应于预期值。代理也可以以类似的方式测量实例化容器的覆盖文件系统的一个或多个层。实例化容器的文件系统的中间层和基础层应该对应于预期值,因为这些层是不可变的。根据示例实施方式,代理可以测量覆盖文件系统的上容器层。尽管容器层性质上是动态的,但对容器层的测量可能涉及代理针对容器层生成单独的文件和/或组测量结果,由此允许在对容器层的测量结果的分析中分析或忽略某些文件和/或目录。
根据示例实施方式,代理可以获得除了面向层的完整性测量结果之外的完整性测量结果。例如,根据一些实施方式,代理可以读取容器镜像元数据以形成对应的测量结果、读取实例化容器文件系统元数据以形成对应的测量结果、当在容器的运行时间期间被访问时测量文件等等。
如本文中进一步描述的,根据示例实施方式,代理可以响应于如容器启动请求、文件访问请求、容器捕获请求、证明请求等某些容器相关事件而获得完整性测量结果。也如本文中进一步描述的,根据示例实施方式,代理记录(log)或记录(record)完整性测量结果以创建一个或多个工作日志完整性日志;并且代理将表示记录的完整性测量结果的散列存储在计算机平台的安全模块的安全存储器中,使得远程验证器可以使用所述散列的经认证的摘要(由安全模块提供)来验证(多个)工作负荷完整性日志是值得信赖的。
参考图1,作为更具体的示例,根据一些实施方式,计算机网络100可以包括一个或多个计算机平台110;并且如图1所图示的,特定计算机平台110可以执行一个或多个容器实例化,或“容器120”。根据示例实施方式,计算机平台110可以是任何基于处理器的装置,如服务器、客户端、瘦客户端、台式计算机、便携式计算机、膝上型计算机、平板计算机、笔记本计算机、智能电话、可穿戴计算机等等。
容器120可以与“节点”相关联,该节点是指足以执行容器120的处理资源单元。节点可以是实际的或物理的节点,如由计算机平台110或其分区形成的节点;或者,根据其他示例实施方式,给定的节点可以是虚拟节点,如存在于物理计算机平台110上的虚拟机。
计算机平台110可以具有多种不同架构中的任何一种。对于图1中描绘的示例架构,计算机平台110包括一个或多个处理器124(例如,一个或多个中央处理单元(CPU)、一个或多个CPU处理核心等)。此外,计算机平台110可以具有其他相关硬件,如存储器128;网络接口146;安全模块,如可信平台模块(TPM)150;大容量存储设备142;输入/输出(I/O)设备;等等。
存储器128通常表示计算机平台110的非暂态存储介质。存储器128可以由半导体存储设备、基于忆阻器的存储设备、磁存储设备、相变存储器设备、这些存储技术中的一种或多种存储技术的设备的组合等形成。此外,存储器128可以表示易失性存储器设备和非易失性存储器设备两者的存储器的集合。
根据示例实施方式,存储器128存储表示一个或多个工作负荷完整性日志137的数据。根据一些实施方式,工作负荷完整性日志137与特定容器120相关联并且包含条目;并且工作负荷完整性日志137的每个条目与针对容器120的不同完整性测量结果相对应,并且除了存储表示完整性测量结果的数据之外,还可以包含表示以下各项中的一项或多项的数据:与完整性测量结果相关联的事件的标识符;时间戳;完整性测量结果的类型或类别的标识符;等等。根据进一步示例实施方式,工作负荷完整性日志137可以包含多个容器120的完整性测量结果。此外,根据进一步示例实施方式,工作负荷完整性日志137的给定条目可以存储容器120的多个测量结果。不管记录的完整性测量结果的特定组织如何,通常,容器的加载时间和运行时间完整性测量结果可以被记录并且存储在存储器128中。
如图1所描绘的,除了(多个)工作负荷完整性日志137之外,存储器128还可以存储其他数据136和机器可执行指令132。一个或多个处理器124可以执行机器可执行指令132,以形成本文中讨论的一个或多个软件部件,如容器引擎160、容器120、操作系统125和容器测量代理164(本文中称为“代理164”)。
对于图1中描绘的示例实施方式,计算机网络100包括一个或多个远程验证器195,所述远程验证器可以通过网络结构180与计算机平台110通信以向计算机平台110提供证明请求。作为证明的一部分,根据示例实施方式,当受到远程验证器195的质询时,计算机平台110可以提交工作负荷完整性日志137连同散列153的经认证摘要,作为工作负荷完整性日志137中完整性测量结果的真实性的证据。
通常,网络结构180可以包括与一种或多种类型的通信网络(如(作为示例)光纤通道网络、iSCSI网络、以太网上ATA(AoE)网络、HyperSCSI网络、Gen-Z结构、专用管理网络、局域网(LAN)、广域网(WAN)、全球网络(例如,因特网)、无线网络或其任何组合)相关联的部件和使用协议。
根据示例实施方式,代理164被构造成获得加载时间和运行时间容器完整性测量结果,将完整性测量结果记录在一个或多个工作负荷完整性日志137中,并且将表示完整性测量结果的散列153存储在计算机平台110的安全存储器(如平台配置寄存器(PCR)存储器151)中。如上文提到的,远程验证器195可以使用散列153的已签名摘要来证明所记录的完整性测量结果是真实的(即,用于证明所记录的完整性测量结果未受到篡改或以其他方式受损)。
对于图1的示例实施方式,PCR存储器151是作为TPM 150的一部分的可信的、安全的存储器。应当注意,TPM 150是可信安全模块的一个示例。根据许多可能的实施方式,计算机平台110可以使用多个不同可信安全模块中的任何可信安全模块。根据特定实施方式,安全模块可以是基于硬件的安全模块,如TPM;或者,根据进一步实施方式,安全模块可以是虚拟安全模块,例如经由软件实施的虚拟TPM(vTPM)。无论安全模块是在硬件、固件还是软件中实施的,安全模块都具有用于存储表示测量结果日志的散列的安全存储器。
根据其中安全模块在硬件中实施的示例实施方式,模块可以是驻留在计算机平台110的母板上并且可以与计算机平台110的处理器124分离的集成电路封装(或“芯片”)。安全模块通常是防篡改的并且根据行业标准设计,以提供安全功能,同时还抵抗篡改和恶意软件。此外,根据示例实施方式,安全模块可以包含密码处理器(例如,专用微处理器或用于执行密码操作的微处理器核心),所述密码处理器是根据行业标准设计的,以提供安全功能,同时还抵抗篡改和恶意软件。
如图1所描绘的,根据一些实施方式,安全模块可以是可从如英飞凌科技(Infineon Technologies)、新唐科技(Nuvoton)和意法半导体(STMicroelectronics)等供应商处商购获得的TPM。作为其他示例,安全模块可以是基于固件的安全协处理器,如在ARMTrustzone(可从英国剑桥的ARM公司(ARM Ltd.)获得)或Intel SGX(可从加利福尼亚州圣克拉拉的英特尔公司(Intel)获得)中实施的TPM。
PCR存储器151表示TPM 150的一个或多个平台配置寄存器(PCR)的存储器空间。例如,特定PCR可以对应于工作负荷完整性日志137并且存储散列153,所述散列应与工作负荷完整性日志137的当前状态相对应并且还与所记录的完整性测量结果被添加到工作负荷完整性日志137的顺序相对应。根据示例实施方式,代理164在工作负荷完整性日志137中记录一个或多个完整性测量结果,并且然后扩展PCR存储器151。在该上下文中,“扩展PCR存储器”通常是指修改PCR存储器151的内容,使得经修改的内容表示(多个)最新测量结果和导致所述(多个)最新测量结果的测量结果账本。
根据示例实施方式,代理164可以通过使用“PCR扩展”命令来扩展PCR存储器151用于新的完整性测量结果。PCR扩展命令的执行使得基于PCR的当前内容和(多个)新的完整性测量结果来计算散列,并且然后将该计算出的散列存储在PCR存储器151中以代替当前内容。如此,远程验证器195可以使用散列值来认证工作负荷完整性日志137,因为散列值对于工作负荷完整性日志137的当前版本以及工作负荷完整性日志137被改变以到达当前版本的序列来说是唯一的。根据示例实施方式,响应于来自远程验证器195的证明请求,TPM 150可以对PCR存储器内容进行签名以形成经认证的摘要,所述摘要连同表示工作负荷完整性日志137的当前版本的数据一起发送到验证器195。
图1的容器120表示与可以由构建文件指定的容器镜像相对应的实例化容器。构建文件可以指定镜像的由其他容器共享的一个或多个层。根据一些实施方式,在加载时间,响应于来自容器协调器190的通信,容器引擎160可以基于给定容器120的对应构建文件来启动或实例化所述给定容器。以这种方式,容器协调器190可以在一个或多个节点上启动一个或多个容器120以形成对应的节点组或集群,用于执行由用户通过容器协调器190建立的活动。
如本文所描述的,根据示例实施方式,代理164获得给定容器120的加载时间和运行时间完整性测量结果174(本文中也称为“测量结果174”);将完整性测量结果174存储在工作负荷完整性日志137中;并且根据示例实施方式,对于每个完整性测量结果174,代理164与TPM 150通信(如附图标记176所描绘的)以对应地扩展PCR存储器151。“加载时间”完整性测量结果是指在容器120被实例化之前容器镜像的测量结果,而“运行时间”完整性测量结果是指实例化容器的覆盖文件系统的测量结果。
图1图示了如下示例容器相关数据或信息,所述数据或信息可以由代理164测量以根据示例实施方式提供对应的完整性测量结果174:容器镜像层166;实例化容器的覆盖文件系统的容器层168;容器元数据170(即,描述实例化容器120的特征的元数据);以及容器镜像元数据172(即,描述容器镜像的特性的元数据)。
代理164可以响应于与容器120的启动或实例化相对应的事件而获得加载时间完整性测量结果。例如,根据示例实施方式,出于在容器120被实例化之前获得一个或多个加载时间完整性测量结果的目的,以及基于(多个)完整性测量结果174扩展PCR存储器151的目的,代理164可以“挂钩连接(hook)”到容器120的启动中。在该上下文中,“挂钩连接”到启动是指代理164干预容器120的启动以保持启动,这允许代理164在代理164释放保持之前执行测量相关动作的集合并且允许容器120的启动继续进行。根据许多可能的实施方式,挂钩连接到容器120的启动可以以多种不同的方式发生。例如,代理164可以是容器引擎160或容器协调器190的注册插件。
通常,每个实例化容器120是由具有容器镜像层166的对应的不可变容器镜像构建的。以这种方式,容器镜像包含基础镜像层和可能地一个或多个上层、中间层。此外,每个实例化容器120具有包含多个容器层168的覆盖文件系统:与容器镜像相对应并且形成覆盖文件系统的下层目录的下层不可变层;以及形成覆盖文件系统的上层目录并且与容器120的读取/写入工作空间相对应的上层容器层。
为了受益于容器镜像层共享的效率,根据示例实施方式,代理164可以响应于特定容器120的实例化来测量容器镜像层166,并且然后将测量结果重新用于共享层166的另一个容器镜像(对应于另一个容器120实例化)。根据示例实施方式,代理164可以确定给定容器镜像层166的多个测量结果。例如,代理164可以确定容器镜像层166的对应的单个文件或对应的文件组的散列。
根据进一步示例实施方式,代理164可以确定整个容器镜像层166的单个测量结果(例如,单个散列)。例如,根据一些实施方式,代理164可以确定单个文件的散列,并且然后在级联的文件散列上确定容器镜像层166的单个散列(即,测量结果)。用于层测量结果的单个散列的优点是节省了工作负荷完整性日志137中的存储空间。具有多个散列值作为容器镜像层166的测量结果的优点是提供了更精细的粒度,从而允许稍后对测量结果的分析以识别已经受损的特定文件或文件组。根据特定实施方式,代理164可以确定单个容器镜像层166(例如,基础层)的(多个)测量结果;或确定多个镜像层166中每一层的(多个)测量结果(例如,容器镜像的基础层中的每一层和特定中间层中的每一层的(多个)测量结果,或容器镜像的每一个层166的(多个)测量结果)。
除了面向层的测量结果之外,代理164可以获得加载时间测量结果。例如,加载时间测量结果可以包括容器镜像元数据172的测量结果。通常,容器镜像元数据172表示容器镜像的特性或属性。代理164可以从如容器引擎160、容器协调器190、操作系统125或另一个实体等一个或多个来源读取容器镜像元数据172。根据一些实施方式,对容器镜像元数据172的测量可以涉及代理164从一个或多个来源读取元数据172,并且然后创建形成对应测量结果的条目元组(即,每个元数据类别一个条目)。远程验证器195可以例如将元数据值与参考值进行匹配,或者可以在对包含在测量结果中的元数据值做出相对更复杂的决定时应用策略。
运行时间测量结果可以包括实例化容器的覆盖文件系统的一个或多个层168的测量结果。容器的上层目录(即,容器层)是动态的,因为所述上层目录是应用程序的工作目录,其在容器120的生命周期中可能会经受多次读取和写入。根据一些实施方式,由于容器层的动态性质,代理164可以确定容器层的单个文件的散列值,并且这些散列值可以形成容器层的对应测量结果。单个文件的测量结果允许远程验证器195灵活地应用策略,像忽略文件或目录(例如,日志或缓存目录)、验证特定文件和/或目录(例如,特定可执行文件)等等。
根据一些实施方式,运行时间测量结果可以包括实例化容器的覆盖文件系统的下层目录的一个或多个层的测量结果(即,容器层下方的不可变容器镜像衍生层)。根据特定实施方式,代理164可以针对下层目录的给定层确定单个文件的测量结果或者可以确定整个层的测量结果。此外,根据特定实施方式,代理164可以确定下层目录的基础层的(多个)测量结果,确定下层目录的所选层的(多个)测量结果,或确定下层目录的多个层中的每个层的(多个)测量结果。
除了面向层的测量结果之外,代理164可以获得实例化容器120的测量结果。例如,根据示例实施方式,运行时间完整性测量结果可以包括表示实例化容器120的特性或属性的元数据的完整性测量结果。这种元数据测量结果稍后可以由远程验证器195(通过应用值比较和策略)检查,用于确定容器120是否具有预期的层数和层顺序、容器120是否按预期表现等。
图2是根据一些实施方式的描绘代理164获得容器镜像202的一个或多个加载时间测量220的图示200。对于该示例,容器镜像202包括基础层166以及一个或多个上层166。层166是不可变的,并且如此,层166的散列以及通过组合从单个层166得到的散列而产生的散列应对应于参考散列。如上文提到的,根据一些实施方式,测量结果220可以是特定层166的散列值、可以是层166的特定组的散列值、可以是所有层166的散列值等等。此外,给定层166的散列值可以基于整个层166的二进制得到、可以基于层166的单个文件的散列得到、可以基于层的文件组的散列得到等等。
图3是根据示例实施方式的代理164获得容器镜像元数据172的测量结果312的图示300。测量结果312可以是条目元组,其对应于一个或多个容器镜像元数据172条目。图3图示了三个示例容器镜像元数据172条目:镜像清单元数据312、信任元数据308和入口点元数据304。作为示例,测量结果312可以是所有三个条目304、308和312的元组;不同于或除了条目304、308、312之外的容器镜像元数据172条目的元组;等等。对于图3中图示的特定容器镜像元数据172示例,入口点元数据304可以表示例如在容器实例化120开始或启动时执行的默认命令。信任元数据308可以表示例如与容器镜像相关联的签名和/或证书,使用如Docker Content Trust或Docker Notary等特定机制。通常,信任元数据304允许验证通过任何通道从注册表接收的所有数据的完整性和发布者两者。
镜像清单元数据312可以例如表示关于容器镜像本身和从中下载容器镜像的注册表的信息。通常,远程验证器195可以检查镜像清单元数据312以验证容器镜像是否是从特定注册表下载的。根据进一步实施方式,测量结果312可以包括来自其他和/或不同元数据类别的元数据。
图4是代理164获得实例化容器的覆盖文件系统404的一个或多个运行时间测量结果428的图示400。该示例的覆盖文件系统404包括与容器镜像层166相对应并且形成下层目录470的下层168以及与上容器层412相对应的形成上层目录480的上层168。容器层412性质上是动态的,因为层412的文件可以被写入、删除、创建等等。对于图示400,存在从与操作系统安装点相对应的合并目录408可见的四个文件430、434、436和438。尽管不是容器层412的一部分,但文件430和436是来自下层目录470的只读文件。虽然在下层目录470中文件434无法被改变,但是对于该示例,文件434是容器层412的一部分,并且如此,容器层412中的文件434的版本可以与下层目录470中的版本不同。同样如图4所描绘的,文件438存在于上层目录480中并且在下层目录470中没有对应物。
根据一些实施方式,代理164可以获得容器的覆盖文件系统404的一个或多个运行时间测量结果428。例如,代理164可以确定下层目录470的特定层168的散列或散列集合;并且(多个)散列可以与层166的(多个)测量结果相对应。根据示例实施方式,代理164可以获得下层目录470的多个或所有层168的类似的测量结果。根据示例实施方式,代理164还可以测量上层目录480的容器层412。例如,代理164可以计算容器层412的单个文件和/或目录的散列,并且这些散列可以对应于测量结果428。因此,代理164可以(作为示例)对覆盖文件系统404获得以下测量结果428中的一种或多种:下层目录470的特定层168的(多个)测量结果428;下层目录470的多个层168的(多个)测量结果428;下层目录470的所有层168的(多个)测量结果428;上层目录480的容器层412的文件的(多个)测量结果428;和/或上层目录480的容器层412的目录或文件组的(多个)测量结果428。
图5是根据示例实施方式的代理164获得实例化容器120的元数据170的测量结果550的图示500。作为示例,测量结果550可以是元数据条目的元组,所述元数据条目对应于镜像标识(ID)元数据504、层列表元数据508、开放端口元数据512、映射卷元数据516、环境变量元数据520、命令元数据524、参数元数据528、安全选项元数据532、网络设置元数据536、名称空间元数据540和特权元数据544。
镜像ID元数据504表示用作容器120的基础的镜像的标识符。标识符可以用于将镜像与已知的测得镜像相关联。层列表元数据508表示形成容器的覆盖文件系统的下层目录的层列表。开放端口元数据512表示容器120的开放端口的数量并且可以用于验证容器120没有打开比针对特定工作负荷预期的端口更多的端口。映射卷元数据516表示容器120的映射卷并且可以用于验证容器对主机文件系统的访问。
环境变量元数据520表示由容器120使用的环境变量并且可以用于验证容器对主机信息的访问。命令元数据524表示容器120使用的命令并且可以用于验证容器120是否正在以预期的应用程序执行。
参数元数据528表示由容器120使用的参数并且可以用于验证容器120是否正在以预期的参数执行。安全选项元数据532表示容器120使用的安全选项(例如,如ApparmorProfile设置等安全模块设置,或如SECComp设置等操作系统内核的安全特征设置)并且可以用于例如验证容器120是否绕过本地安全机制。
网络设置元数据536表示网络设置,如动态名称服务器(DNS)、网络类型、主机等等,并且可以用于验证容器120是否正在与预期实体进行通信。名称空间元数据540可以用于验证容器120是否正在隔离的名称空间上运行。特权元数据544可以用于验证容器120是否正在升级特权。
根据进一步示例实施方式,代理164可以从其他和/或不同的元数据类别获得实例化容器的元数据相关的测量结果。
图6描绘了可以在容器120的生命周期内与所述容器相关联的触发因素或事件602的示例时间线600,以及可以由代理164响应于事件602而采取的对应动作603。如以下进一步描述的,动作603包括代理164获得并记录测量结果,并且包括代理164扩展PCR存储器151。
参考图6,初始事件发生在容器引擎160请求启动容器120的时间604处。根据示例实施方式,该事件使代理164从时间606到时间612测量容器镜像,如附图标记608所描绘的。在该时间段期间,代理164推迟容器120的启动。如此,如本文所描述的,作为容器镜像测量的一部分,代理164可以测量容器镜像的一个或多个层并且可以测量容器镜像元数据。在时间612处,容器镜像的测量完成,并且然后代理164可以记录(多个)启动事件测量结果并且扩展PCR存储器,如附图标记614所描绘的。在扩展PCR存储器之后,代理164可以释放保持,从而允许容器120启动,如在时间620处所描绘的。
继续示例时间线600,其他事件可以触发由代理164进行的测量。例如,在时间624处,发生文件访问事件(例如,从容器文件系统读取文件或将文件写入容器文件系统),这使代理164从时间626到时间629测量文件,如在628处所描绘的;并且然后代理164记录文件访问事件测量结果并且扩展PCR存储器,如在附图标记630处所描绘的。
接下来,在示例时间线600中,捕获容器执行事件640在时间640处发生。应当注意,容器捕获执行事件可以根据时间表(例如,周期性时间表)发生。换句话说,根据示例实施方式,在某些预先指定的时间,容器捕获事件发生以使代理164测量容器120,如在附图标记646处所描绘的,并且因此获得一个或多个运行时间容器测量结果。根据进一步实施方式,捕获容器执行事件可以归因于其他原因。例如,捕获容器事件可能由于同一容器120的另一个实例的启动而出现。对容器的测量646可以涉及代理164获取容器文件系统的运行时间测量结果,所述运行时间测量结果可以包括容器层的文件的测量结果;下层目录的层的一个或多个测量结果;下层目录的每一层的一个或多个测量结果;等等,如本文所描述的。代理164然后可以记录(多个)容器捕获事件测量结果并且扩展PCR存储器,如在附图标记649处所描绘的。
图6进一步描绘了时间660处的示例验证请求事件。例如,验证请求可能会作为远程证明的一部分出现。响应于验证请求,根据示例实施方式,代理164可以从时间664到时间668测量(如在附图标记666处所描绘的)容器镜像(例如,容器镜像层测量和容器镜像元数据测量)以及测量容器文件系统(例如,容器层文件测量和下层目录层测量)。代理164然后可以记录验证请求测量结果并且扩展PCR存储器,如在附图标记669处所描绘的。
在时间670处,用于示例时间线600的容器120结束。根据示例实施方式,响应于容器结束事件,代理164可以执行若干动作,如在工作负荷完整性日志137和/或系统日志中记录事件(即,记录容器的终止);在对最终PCR值进行签名后重置PCR存储器;将日志归档;等等。应当注意,图6的代理164的动作603和触发事件602仅仅是示例,因为给定容器120可以具有不同的、更少或更多的触发事件。通常,出于测量容器120的运行时间活动(如访问文件(如上所述)、安装、访问网络等等)的目的,代理164可以响应多个不同事件中的任何事件,如操作系统、系统调用。通常,这些事件触发由代理164基于配置的策略进行容器运行时间测量。此外,也如以上通过示例所阐述的,动作603可以由执行运行时间测量的显式请求触发,如来自远程验证器、用户、捕获容器事件请求的请求或者通常来自任何授权的实体的请求。这允许在相对复杂的系统中灵活地执行定期和/或按需测量,其中,测量容器的所有方面可能不切实际。
参考图7,根据示例实施方式,过程700包括在计算机系统中获取(框704)与软件容器相对应的第一测量结果。获取所述测量结果包括所述计算机系统的硬件处理器测量与所述软件容器相对应的分层文件系统结构的多个层中的给定层。所述给定层包括多个文件,并且所述第一测量结果包括所述多个文件的测量结果。过程700包括将第一测量结果存储(框708)在计算机系统的安全存储器中。所述安全存储器的内容用于验证所述软件容器的完整性。
参考图8,根据示例实施方式,机器可读存储介质800存储指令804。当由机器执行时,指令804使机器结合容器的加载时间来测量容器镜像的多个层中的每一层以提供多个第一测量结果;并且将所述多个第一测量结果存储在安全存储器中。安全存储器的内容用于验证容器的完整性。当由机器执行时,指令804进一步使机器结合容器的运行时间来测量覆盖文件系统以提供第二测量结果;并且将所述第二测量结果存储在安全存储器中,使得内容包括所述多个第一测量结果和所述第二测量结果。
参考图9,根据示例实施方式,系统900包括硬件安全模块904、处理器912和存储器916。硬件安全模块904包括用于存储用于验证容器完整性的内容的安全存储器908。存储器916存储指令918,所述指令在由处理器912执行时使处理器912测量与容器相对应的覆盖文件系统的下层目录的多个层中的每一层以提供多个第一测量结果;并且测量覆盖文件系统的上层目录的容器层以提供第二测量结果。指令918当由处理器912执行时进一步使处理器912将第一测量结果和第二测量结果存储在安全存储器908中。
根据示例实施方式,第一测量结果对应于容器的镜像,并且给定层对应于多个层中的基础层。特别的优点是可以重复使用由多个容器镜像使用的基础层的测量结果。
根据示例实施方式,与容器相关联的元数据被测量以提供第二测量结果,并且所述第二测量结果被存储在安全存储器中,使得内容包括第一测量结果和第二测量结果。特别的优点是元数据可以用于确定容器镜像的结构是否已改变或确定实例化容器是否按预期表现。
根据示例实施方式,元数据可以与容器的镜像相关联。特别的优点是元数据可以用于确认容器镜像的特定层结构以验证层是否已被省略、是否已添加层、是否已改变层顺序等等。
根据示例实施方式,元数据可以包括表示以下各项中的至少一项的数据:与启动容器的实例化的请求相对应的入口点命令、与镜像相对应的签名、与镜像相对应的证书或镜像的清单。特别的优点是除了容器的特定层的测量结果之外的数据也可以用于验证容器镜像。
根据示例实施方式,元数据可以与容器的实例化相关联。特别的优点是元数据可以用于验证容器是否按预期表现。
根据示例实施方式,可以响应于启动容器的另一个实例化的请求来执行对元数据的测量。特别的优点是可以在容器实例化之间验证容器的动态方面和静态方面。
尽管已经关于有限数量的实施方式描述了本公开,但受益于本公开的本领域技术人员将了解本公开的许多修改和变化。所附权利要求旨在覆盖所有这样的修改和变化。

Claims (20)

1.一种方法,包括:
在计算机系统中,获取与软件容器相对应的第一测量结果,其中,获取所述测量结果包括所述计算机系统的硬件处理器测量与所述软件容器相对应的分层文件系统结构的多个层中的给定层,所述给定层包括多个文件,并且所述第一测量结果包括所述多个文件的测量结果;以及
将所述第一测量结果存储在所述计算机系统的安全存储器中,其中,所述安全存储器的内容用于验证所述软件容器的完整性。
2.如权利要求1所述的方法,其中:
所述第一测量结果与所述容器的镜像相对应;并且
所述给定层与所述多个层中的基础层相对应。
3.如权利要求1所述的方法,进一步包括:
响应于启动所述软件容器的实例化的请求而发起对所述给定层的测量。
4.如权利要求1所述的方法,进一步包括:
测量与所述容器相关联的元数据以提供第二测量结果;以及
将所述第二测量结果存储在所述安全存储器中,使得所述内容包括所述第一测量结果和所述第二测量结果。
5.如权利要求4所述的方法,其中:
所述元数据与所述容器的镜像相关联。
6.如权利要求5所述的方法,其中,所述元数据包括表示以下各项中的至少一项的数据:与启动所述容器的实例化的请求相对应的入口点命令、与所述镜像相对应的签名、与所述镜像相对应的证书、或所述镜像的清单。
7.如权利要求4所述的方法,进一步包括:
响应于验证请求而执行对所述元数据的测量和对所述给定层的测量。
8.如权利要求4所述的方法,其中:
所述元数据与所述容器的实例化相关联。
9.如权利要求8所述的方法,其中,所述元数据包括表示以下各项中的至少一项的数据:所述多个层中的基础层的镜像标识符、所述多个层的列表、开放端口号、映射卷标识符、环境变量、命令、参数、安全选项、网络设置、名称空间或特权。
10.如权利要求8所述的方法,进一步包括:
在与所述容器的实例化相对应的所述容器的运行时间期间执行对所述元数据的测量;以及
在所述容器的实例化之前执行对所述给定层的测量。
11.如权利要求8所述的方法,进一步包括:
响应于启动所述容器的另一个实例化的请求而执行对所述元数据的测量。
12.一种机器可读存储介质,所述机器可读存储介质存储指令,所述指令在由机器执行时使所述机器进行以下操作:
结合容器的加载时间来测量容器镜像的多个层中的每一层以提供多个第一测量结果;
将所述多个第一测量结果存储在安全存储器中,其中,所述安全存储器的内容用于验证所述容器的完整性;
结合所述容器的运行时间来测量覆盖文件系统以提供第二测量结果;以及
将所述第二测量结果存储在所述安全存储器中,使得所述内容包括所述多个第一测量结果和所述第二测量结果。
13.如权利要求12所述的存储介质,其中,所述指令在由所述机器执行时进一步使所述机器测量与所述镜像相对应的所述覆盖文件系统的多个层,并且测量所述覆盖文件系统的容器层。
14.如权利要求12所述的存储介质,其中,所述指令在由所述机器执行时进一步使所述机器测量表示所述覆盖文件系统的元数据。
15.如权利要求14所述的存储介质,其中,所述元数据包括表示以下各项中的至少一项的数据:所述多个层中的基础层的镜像标识符、所述多个层的列表、开放端口号、映射卷标识符、环境变量、命令、参数、安全选项、网络设置、名称空间或特权。
16.一种系统,包括:
硬件安全模块,所述硬件安全模块包括用于存储用于验证容器完整性的内容的安全存储器;
处理器;以及
存储器,所述存储器用于存储指令,所述指令在由所述处理器执行时使所述处理器进行以下操作:
测量与所述容器相对应的覆盖文件系统的下层目录的多个层中的每一层以提供多个第一测量结果;
测量所述覆盖文件系统的上层目录的容器层以提供第二测量结果;以及
将所述多个第一测量结果和所述第二测量结果存储在所述安全存储器中。
17.如权利要求16所述的系统,其中,所述指令在由所述处理器执行时进一步使所述处理器进行以下操作:
测量表示关于所述容器的信息的第一元数据以提供第三测量结果;
测量表示关于所述容器的实例化的信息的第二元数据以提供第四测量结果;以及
将所述第三测量结果和所述第二测量结果存储在所述安全存储器中。
18.如权利要求17所述的系统,其中,所述指令在由所述处理器执行时进一步使所述处理器进行以下操作:
响应于启动所述容器的实例化的命令而测量所述第一元数据;以及
响应于预定事件而测量所述第二元数据。
19.如权利要求18所述的系统,其中,所述预定事件包括以周期性间隔发起的事件,或用于启动所述容器的另一个实例化的事件。
20.如权利要求16所述的系统,其中,所述指令在由所述处理器执行时进一步使所述处理器响应于文件访问请求而测量所述容器的实例化的文件以提供第三测量结果,以及将所述第三测量结果存储在所述安全存储器中。
CN202111210440.6A 2020-12-07 2021-10-18 测量容器 Pending CN114661540A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/113,161 2020-12-07
US17/113,161 US11874926B2 (en) 2020-12-07 2020-12-07 Measuring containers

Publications (1)

Publication Number Publication Date
CN114661540A true CN114661540A (zh) 2022-06-24

Family

ID=81655289

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111210440.6A Pending CN114661540A (zh) 2020-12-07 2021-10-18 测量容器

Country Status (3)

Country Link
US (2) US11874926B2 (zh)
CN (1) CN114661540A (zh)
DE (1) DE102021127237A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11494330B2 (en) * 2021-06-22 2022-11-08 Intel Corporation Fuse recipe update mechanism
US20230053322A1 (en) * 2021-08-06 2023-02-16 Google Llc Script Classification on Computing Platform

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100810358B1 (ko) 2007-01-30 2008-03-04 삼성전자주식회사 컨테이너의 무결성을 확인하는 방법 및 그 dvb―h 단말
US8532383B1 (en) * 2010-09-16 2013-09-10 Pixia Corp. Method of processing a viewport within large format imagery
CN105069353B (zh) 2015-08-11 2017-10-24 武汉大学 一种基于Docker的可信容器安全加固方法
US10586042B2 (en) 2015-10-01 2020-03-10 Twistlock, Ltd. Profiling of container images and enforcing security policies respective thereof
US10055578B1 (en) * 2016-05-17 2018-08-21 Sprint Communications Company L.P. Secure software containers
KR20170133120A (ko) 2016-05-25 2017-12-05 삼성에스디에스 주식회사 컨테이너 이미지 관리 시스템 및 방법
US20190034617A1 (en) * 2017-07-31 2019-01-31 Intel Corporation Flexible container attestation
US10956563B2 (en) * 2017-11-22 2021-03-23 Aqua Security Software, Ltd. System for securing software containers with embedded agent
US10853090B2 (en) 2018-01-22 2020-12-01 Hewlett Packard Enterprise Development Lp Integrity verification of an entity
US11475138B2 (en) * 2019-02-06 2022-10-18 International Business Machines Corporation Creation and execution of secure containers

Also Published As

Publication number Publication date
US11874926B2 (en) 2024-01-16
DE102021127237A1 (de) 2022-06-09
US20220179959A1 (en) 2022-06-09
US20240126883A1 (en) 2024-04-18

Similar Documents

Publication Publication Date Title
De Benedictis et al. Integrity verification of Docker containers for a lightweight cloud environment
US20210165876A1 (en) System for securing software containers with embedded agent
US7836299B2 (en) Virtualization of software configuration registers of the TPM cryptographic processor
US10038558B2 (en) Cryptographically verified repeatable virtualized computing
Sailer et al. Design and implementation of a TCG-based integrity measurement architecture.
US11714910B2 (en) Measuring integrity of computing system
US7752465B2 (en) Reliability platform configuration measurement, authentication, attestation and disclosure
US7644287B2 (en) Portion-level in-memory module authentication
US8151262B2 (en) System and method for reporting the trusted state of a virtual machine
US10412191B1 (en) Hardware validation
US20240126883A1 (en) Measuring containers
US20070180509A1 (en) Practical platform for high risk applications
WO2016127516A1 (zh) 操作系统的文件签名方法、文件校验方法及装置
US20150135311A1 (en) Virtual machine validation
US20060026418A1 (en) Method, apparatus, and product for providing a multi-tiered trust architecture
CN112800429B (zh) 一种基于基础性的uefi bios固件系统中驱动程序保护的方法
CN110069316B (zh) 实体的完整性验证
TWI627554B (zh) 阻擋非授權應用程式方法以及使用該方法的裝置
TW201500960A (zh) 在配有適用統一可延伸韌體介面(uefi)之韌體之計算裝置中的安全性變數變化檢測技術
CN107704308B (zh) 虚拟平台vTPM管理系统、信任链构建方法及装置、存储介质
KR20220090537A (ko) 정책 적용을 위한 가상 환경 유형 검증
Sailer et al. The role of TPM in enterprise security
KR100949024B1 (ko) 리소스 획득 방법 및 컴퓨터 판독 가능 매체
CN113515779A (zh) 文件的完整性校验方法、装置、设备及存储介质
KR102369874B1 (ko) 무결성 검증 대상 디바이스에 대한 os 및 무결성 정보의 통합 업데이트 방법 및 원격 검증 시스템, os 배포 서버 및 무결성 검증 대상 디바이스

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