(19)国家知识产权局
(12)发明 专利
(10)授权公告 号
(45)授权公告日
(21)申请 号 202210745293.0
(22)申请日 2022.06.29
(65)同一申请的已公布的文献号
申请公布号 CN 114818012 A
(43)申请公布日 2022.07.29
(73)专利权人 麒麟软件有限公司
地址 300450 天津市滨 海新区塘沽海 洋科
技园信安创业广场3号楼6 -8层
(72)发明人 宁超举
(74)专利代理 机构 北京汇智英财专利代理事务
所(普通合伙) 11301
专利代理师 吴玉环
(51)Int.Cl.
G06F 21/64(2013.01)
G06F 21/62(2013.01)G06F 21/56(2013.01)
(56)对比文件
CN 10237595 6 A,2012.0 3.14
CN 10161616 5 A,2009.12.30
CN 112257059 A,2021.01.2 2
CN 113242214 A,2021.08.10
US 2006095971 A1,20 06.05.04
汪锋等.白名单主动防御系统的设计与实
现. 《计算机 工程与设计》 .201 1,(第07期),
审查员 甄红欣
(54)发明名称
基于白名单列表的Linux文件完整性度量方
法
(57)摘要
本发明涉及基于白名单列表的Linux文件完
整性度量方法, 包括如下步骤: 系统启动早期, 将
所有用户空间白名单列表加载到内核空间白名
单列表中; 系统运行阶段, 针对新安装的软件包,
将软件包与其所对应的系统包 白名单列表同时
导入内核空间, 将系统包白名单列表加载到内核
空间白名单列表中; 系统关闭后, 内核空间白名
单列表释放; 系统再次启动时, 再次将所有用户
空间白名单列表加载到内核白名单列表中, 所注
册的系统包 白名单列表存在于用户空间白名单
列表中。 本发 明使用内核空间白名单列表记录系
统保护文件的可信哈希值, 取代使用文件扩展属
性记录系统保护文件的可信哈希 值, 提高了系统
完整性度量功能的易用性。
权利要求书1页 说明书5页 附图1页
CN 114818012 B
2022.10.21
CN 114818012 B
1.基于白名单列表的L inux文件完整性度量方法, 其特 征在于: 包括如下步骤:
步骤S1: 系统启动早期, 将所有用户空间白名单列表加载到内核空间白名单列表中;
步骤S2: 系统运行阶段, 针对新安装的软件包, 将软件包与其所对应的系统包白名单列
表同时导入内核空间, 将系统包白名单列 表加载到内核空间白名单列表中; 或者, 将管理员
定制的白名单列表加载到内核空间白名单列表中;
步骤S3: 系统关闭后, 内核空间白名单列表释放;
步骤S4: 系统再次启动时, 再次将所有用户空间白名单列表加载到内核白名单列表中,
其中, 步骤S2中所注 册的系统包白名单列表存在于用户空间白名单列表中;
所述步骤S1中, 在将用户空间白名单列表加载到内核空间白名单列表之前, 内核加载
白名单钩子使用安全芯片中证书的公钥对加载进来的用户空间白名单列 表进行验签, 验签
通过再加载; 验签失败后返回错 误信息给白名单加载器;
所述步骤S2中, 在将系统包白名单列表加载到内核空间白名单列表之前, 内核加载白
名单钩子使用安全芯片中证书的公钥对加载进来的系统包白名单列 表进行验签, 验签通过
再加载; 验签失败后返回错 误信息给白名单加载器;
所述步骤S2中, 在将管理员 定制的白名单列表加载到内核空间白名单列表之前, 使用
管理员自己的证书公钥对加载进来的定制的白名单列表进行验签, 验签通过再加载; 验签
失败后返回错 误信息给白名单加载器。
2.如权利要求1所述的基于白名单列表的L inux文件完整性度量方法, 其特 征在于:
所述步骤S 1中, 用户空间白名单列表为整个系统要保护的所有的软件包中文件的摘要
值列表;
所述步骤S2中, 系统包白名单列表为 新安装的软件 包中文件的摘要值列表。
3.如权利要求1所述的基于白名单列表的Linux文件完整性度量方法, 其特征在于: 在
系统运行阶段, 若用户空间需要对内核空间系统进行调用, 则将用户空间文件的参考值与
内核空间白名单列表中的参考值进行比对, 比对存在的情况下允许用户空间执行系统调
用, 比对不存在的情况 下拒绝用户空间执 行系统调用。
4.如权利要求3所述的基于白名单列表的Linux文件完整性度量方法, 其特征在于: 所
述用户空间文件的参考值为需要进行系统调用的所有文件的摘要值列表; 内核空间白名单
列表的参 考值为待调用的软件 包中需要度量的所有 文件的摘要值列表。
5.如权利要求3所述的基于白名单列表的Linux文件完整性度量方法, 其特征在于: 通
过内核空间的内核完整性钩子函数完成用户空间文件的参考值与内核空间白名单列表中
的参考值的比对。权 利 要 求 书 1/1 页
2
CN 114818012 B
2基于白名单列表的Lin ux文件完整性度量方 法
技术领域
[0001]本发明涉及信息安全技术领域, 具体涉及基于白名单列表的Linux文件完整性度
量方法。
背景技术
[0002]可信计算是一种非常有效的信息安全技术, 其中文件完整性度量是可信计算的基
础。 通过IMA完整性度量,可以检测出加载至平台的执行部件以及运行于平台的应用程序,
配置文件, 动态库是否被篡改,从而保证整个平台的安全性。
[0003]在内核IMA 保护之下的每个文件都需要把它的摘要数值跟文件存储在一起, 这通
常是利用了文件系统中的扩展属性来完成的。 IMA 可以配置成在访问每个文件之前都先检
查它的摘要是否仍然与之前存下来的值相匹配。 如果不在 匹配了就马上拒绝访问。 在文件
被评估的时候, 它们的摘要可以被提交给 TPM 来扩展一个 Platform Configuration
Register (PCR) , 得出的最终数值可以跟此时被测量的文件 数据有关, 但它同时也会根据访
问顺序不同而受到影响。
[0004]现在是把度量基准值存储在扩展属性 security.ima 当中, 如果 security.ima
被篡改了, 它和文件内容一起篡改 的话, 不就 实现了对文件本身的篡改并且不被系统发现,
为了解决这个问题, 我们引入了 EVM 模块来防止这种事情的发生。
[0005]EVM 是扩展验证模块, 它的作用就是将系统当中某个文件的安全扩展属性, 包括
security.i ma 、 security.selinux 等合起来计算一个哈希值, 然后使用 TPM 中存的密钥
对其进行对称签名, 签名之后的值存在 security.evm 中, 这个签名后的值是不能被篡改
的, 如果被篡改, 再次访问的时候 就会验签失败。
[0006]总而言之, EVM 的作用就是通过对安全扩展属性计算 HMAC 值并将其存储在
security.evm 中, 提供对安装扩展属性的离线保护。 其中security.ima存储文件内容的哈
希值; security.evm存储文件扩展属性的哈希 值签名。 访问受保护文件时, 将会触发内核中
的钩子, 依次验证文件扩展属性和内容的完整性: 使用内核 keyring 中的公钥对文件
security.evm 扩展属性中的签名值验签, 与当前文件扩展属性的哈希 值比较, 如果匹配就
证明文件的扩展属性是完整的 (包括 security.ima) 。 在文件扩展属性完整的前提下, 将文
件 security.ima 扩展属性的内容与当前文件内容的摘要值比较, 如果匹配就 允许对文件
的访问。
[0007]然而, 上述完整性度量方法存在 如下缺陷:
[0008]1、 原生 IMA 会在系统初次部署的时候进入一个 fix 模式, 在该模式下对系统中
的所有文件去计算一个参考值, 然后进入到 enforce 模式中, 用初次部署时计算出来的基
准值和系统当前的文件摘要值进 行对比, 如果两者不符合, 就拒绝对文件的访问。 但这种方
式存在一个问题, 它的信任链并不完整, 因为在启动系统之后, 在现 网环境下预先生成并标
记文件扩展属性, 访问文件时将文件扩展属性作为参考值, 要通过人为对系统重 新设定基
准值, 在设定基准 值之前, 这个文件是有可能被篡改的。说 明 书 1/5 页
3
CN 114818012 B
3
专利 基于白名单列表的Linux文件完整性度量方法
文档预览
中文文档
8 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共8页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-18 22:35:10上传分享