【技术实现步骤摘要】
一种容器完整性校验方法
本专利技术涉及Linux系统运行完整性度量领域,更具体地说,本专利技术涉及一种容器完整性校验方法。
技术介绍
完整性度量是指将文件内容和文件的属性/扩展属性,通过加密哈希生成对应的IMA/EVM串完整性度量值,以扩展属性方式保存在文件系统节点中;系统运行时在文件被访问前,内核IMA/EVM模块通过校验文件的完整性度量值,判断文件是否被离线非法篡改过;如果有,返回非法结果给系统,从而阻止访问或运行该文件。docker创建容器时,其挂载目录是动态确定的,无法静态生成容器中可执行文件的完整性度量值,导致这些文件在运行时无法通过完整性度量从而被判断为非法,从而不能正常运行。现有的技术方案:目前并没有相关方面的技术方案,我们之前想到的一个方案是,通过修改内核完整性度量模块,使其在校验文件前,判断文件所属的namespace,从namespace判断其是否是docker进程,若是,则不对其进行完整性校验,直接判定为合法文件,规避系统完整性度量,但这有可能对系统进行破坏,使得没有通过完整性度量的容器应用运行
【技术保护点】
1.一种容器完整性校验方法,其特征在于:所述校验方法包括:/nS1:建立钩子函数监控mount系统调用;/nS2:启动docker服务,调用docker create或docker run创建容器;/nS3:容器被创建过程中挂载容器文件系统时,mount系统调用将被调用;/nS4:钩子函数运行,分析其参数,获得容器文件系统挂载目录,执行mount系统调用原功能;/nS5:遍历容器挂载目录,找出可执行文件、so文件和ko文件,根据文件内容和文件路径,计算出文件完整性度量值并保存在该文件的扩展属性里;/nS6:在容器中运行可执行文件、so文件和ko文件时,会启动系统的完整性度量 ...
【技术特征摘要】
1.一种容器完整性校验方法,其特征在于:所述校验方法包括:
S1:建立钩子函数监控mount系统调用;
S2:启动docker服务,调用dockercreate或dockerrun创建容器;
S3:容器被创建过程中挂载容器文件系统时,mount系统调用将被调用;
S4:钩子函数运行,分析其参数,获得容器文件系统挂载目录,执行mount系统调用原功能;
S5:遍历容器挂载目录,找出可执行文件、so文件和ko文件,根据文件内容和文件路径,计算出文件完整性度量值并保存在该文件的扩展属性里;
S6:在容器中运行可执行文件、so文件和ko文件时,会启动系统的完整性度量功能,判断文件能否通过度量,通过校验则执行,否则报错;
S7:停止docker服务,执行完毕之后容器被终止。
2.根据权利要求1所述的一种容器完整性校验方法,其特征在于:建立钩子函数监控mount系统调用ksys_mount,该钩子函数形式与ksys_mount函数完全一致,可通过该函数获得mount系统调用各个参数值。
3.根据权利要求1所述的一种容器完整性校验方法,其特征在于:启动docker系统服务,使用dockerrun命令来启动容器,docker在后台运行的标准操作包括:检查...
【专利技术属性】
技术研发人员:郭亮,侯玮玮,逯璐,
申请(专利权)人:中科方德软件有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。