应用程序全生命周期的完整性度量方法、设备及存储介质技术

技术编号:39432133 阅读:14 留言:0更新日期:2023-11-19 16:16
本发明专利技术公开了一种应用程序全生命周期的完整性度量方法、设备及存储介质,包括:在应用程序发布时,解析ELF文件中的代码段及只读数据段,并使用软件所有者的私钥对代码段及只读数据段进行签名后写入ELF文件的section中;将代码段和只读数据段的哈希值作为应用程序从发布、启动、运行及退出整个生命周期内完整性度量的永久性基准值进行度量,该方法、设备及存储介质能够解决应用程序在整个生命周期内基准值的可信性问题。基准值的可信性问题。基准值的可信性问题。

【技术实现步骤摘要】
应用程序全生命周期的完整性度量方法、设备及存储介质


[0001]本专利技术属于信息安全
,涉及一种完整性度量方法、设备及存储介质,具体涉及一种应用程序全生命周期的完整性度量方法、设备及存储介质。

技术介绍

[0002]操作系统是计算机软硬件资源和数据的总管,担负着计算机系统庞大的资源管理,频繁的输入输出控制以及不间断的用户同操作系统之间的通讯等重要功能。系统安全已成为一个不容忽视的问题,操作系统安全问题不容忽视。目前针对操作系统的攻击手段越来越多,方式复杂多样。它们利用操作系统自身漏洞进行恶意破坏,导致资源配置被篡改,恶意程序被植入执行,关键数据被窃取等。当前应用程序的完整性问题已成为unix主机系统安全的主要特性。应用程序的完整性校验问题已成为操作系统入侵检测和完整性保护的重要手段。
[0003]传统的应用程序完整性度量分为静态度量和动态度量技术。静态度量技术是在应用程序启动时对可执行程序和依赖的动态库文件进行度量,判断静态的磁盘文件是否被篡改。动态度量技术是在应用程序运行过程中对进程的代码段和只读数据段进行度量,判断进程在内存中的代码段和只读数据段是否被篡改。
[0004]传统的应用程序完整性度量方法存在信任链不够连续和基准值易被重置和修改的问题。主要表现在度量的基准值不是在程序发布时收集的,并且难以固化,易被重置,这样带来的问题就是难以保证基准值是可信的。对于静态度量来说,基准值可能是在程序安装到目标主机只后的某个阶段收集的。对于动态度量来说,基准值可能是在进程启动以后,从内存中临时收集的。这就使得应用程序从发布,启动到运行过程中的信任链出现了断层现象,导致信任链不够连续。
[0005]目前市场上现有的基于可信计算的应用程序完整性度量技术,大多存在信任链不连续,基准值易被重置等问题。以静态度量为例,静态度量的基准值往往是在应用程序安装到目标主机之后的某个阶段收集的。假如应用程序的静态文件在安装到目标主机之后到收集静态度量基准值之前这段时间内被替换或者篡改了,用户很难感知到,这样就导致了静态度量收集的基准值为不可信的基准值。同样,对于动态度量来说,市场上现有的技术大多是在进程起来以后临时去收集内存中进程的代码段和只读数据段作为后续动态度量的基准值。假如攻击者挟持应用程序的启动过程,在收集内存中的代码段和只读数据段的基准值之前将其替换或篡改,同样导致了动态度量的基准值为不可信的基准值。

技术实现思路

[0006]本专利技术的目的在于克服上述现有技术的缺点,提供了一种应用程序全生命周期的完整性度量方法、设备及存储介质,该方法、设备及存储介质能够解决应用程序在整个生命周期内基准值的可信性问题。
[0007]为达到上述目的,本专利技术公开了一种应用程序全生命周期的完整性度量方法,包
括:
[0008]在应用程序发布时,解析ELF文件中的代码段及只读数据段,并使用软件所有者的私钥对代码段及只读数据段进行签名后写入ELF文件的section中;将代码段和只读数据段的哈希值作为应用程序从发布、启动、运行及退出整个生命周期内完整性度量的永久性基准值进行度量。
[0009]使用软件签名工具解析ELF文件中的代码段及只读数据段。
[0010]在启动阶段,利用永久性基准值进行度量的具体过程为:
[0011]加载软件所有者的公钥,在目标操作系统内核启动应用程序时,基于ELF协议格式解析得到可执行程序以及动态库中的section段中的签名值,再使用公钥校验代码段与只读数据段的签名值是否一致,当不一致时,则阻止应用程序启动,当一致时,则允许应用程序启动。
[0012]在启动阶段,还包括:将应用程序对应的可执行程序及动态库的代码段和只读数据段的哈希值存储于内存中。
[0013]在运行阶段,当读/写/执行系统资源、访问IO及连接网络的操作时,基于内存中的代码段以及只读数据段的基准值,对应用程序及动态库执行动态度量;当度量成功,则允许当前操作,当度量失败,则执行用户定义的策略。
[0014]所述用户定义的策略包括阻止当前操作、告警或者终止进程。
[0015]在退出阶段,清除内存中的代码段以及只读数据段的基准值。
[0016]本专利技术公开了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述应用程序全生命周期的完整性度量方法的步骤。
[0017]本专利技术公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述应用程序全生命周期的完整性度量方法的步骤。
[0018]本专利技术具有以下有益效果:
[0019]本专利技术所述的应用程序全生命周期的完整性度量方法、设备及存储介质在具体操作时,将代码段和只读数据段的哈希值作为应用程序从发布、启动、运行及退出整个生命周期内完整性度量的永久性基准值进行度量,以固化基准值,解决应用程序从发布、启动及运行到退出整个生命周期内信任链连续性和基准值可信性的问题,保证应用程序在整个生命周期内的可信性及可靠性。
附图说明
[0020]图1为本专利技术的流程图。
具体实施方式
[0021]为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,不是全部的实施例,而并非要限制本专利技术公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要的混淆本专利技术公开的概念。基于
本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。
[0022]在附图中示出了根据本专利技术公开实施例的结构示意图。这些图并非是按比例绘制的,其中为了清楚表达的目的,放大了某些细节,并且可能省略了某些细节。图中所示出的各种区域、层的形状及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的区域/层。
[0023]实施例一
[0024]本专利技术在应用程序发布时,使用软件签名工具解析ELF文件中的代码段及只读数据段,并使用软件所有者的私钥对代码段及只读数据段进行签名后写入ELF文件的section中;将代码段和只读数据段的哈希值作为应用程序从发布、启动、运行及退出整个生命周期内的完整性度量的永久性基准值。无论是静态度量还是动态度量均基于该永久性基准值进行度量,在实际操作时,只有掌控签名私钥的软件所有者才能够重新构建永久性基准值。
[0025]参考图1,本专利技术所述的应用程序全生命周期的完整性度量方法包括以下步骤:
[0026]1)程序发布
[0027]在软件所有者发布软件时,执行软件签名工具扫描软件中包括的可执行程序及动态库,并依据ELF协议格式分析可执行程序以及动态库中的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用程序全生命周期的完整性度量方法,其特征在于,包括:在应用程序发布时,解析ELF文件中的代码段及只读数据段,并使用软件所有者的私钥对代码段及只读数据段进行签名后写入ELF文件的section中;将代码段和只读数据段的哈希值作为应用程序从发布、启动、运行及退出整个生命周期内完整性度量的永久性基准值进行度量。2.根据权利要求1所述的应用程序全生命周期的完整性度量方法,其特征在于,使用软件签名工具解析ELF文件中的代码段及只读数据段。3.根据权利要求1所述的应用程序全生命周期的完整性度量方法,其特征在于,在启动阶段,利用永久性基准值进行度量的具体过程为:加载软件所有者的公钥,在目标操作系统内核启动应用程序时,基于ELF协议格式解析得到可执行程序以及动态库中的section段中的签名值,再使用公钥校验代码段与只读数据段的签名值是否一致,当不一致时,则阻止应用程序启动,当一致时,则允许应用程序启动。4.根据权利要求3所述的应用程序全生命周期的完整性度量方法,其特征在于,在启动阶段,还包括:将应用程序对应的可执行程序及动态库的代码段和只读数据段的哈希值存储于内存中。5...

【专利技术属性】
技术研发人员:汤福宋美艳王宾翟小君程国栋吴龙飞项涛韩培林杨柳李卓雷超钟庆尧赵阳
申请(专利权)人:大唐高鸿信安浙江信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1