[发明专利]全局偏移表度量方法、动态度量方法及相关装置、设备有效
申请号: | 201910707930.3 | 申请日: | 2019-08-01 |
公开(公告)号: | CN110598378B | 公开(公告)日: | 2023-07-18 |
发明(设计)人: | 梁观超;杜小强 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12;G06F21/64 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王仲凯 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 全局 偏移 度量 方法 动态 相关 装置 设备 | ||
本申请实施例公开了一种GOT表度量方法,该方法在进程运行的过程中,获取GOT表的起始地址和长度,以便根据上述GOT表的起始地址和长度确定出完整的需要度量的GOT表,该GOT表具体包括进程的GOT表和进程所依赖的动态库的GOT表;进而,通过对所确定的GOT表中每个元素进行完整性度量,或者通过对该GOT表整体进行完整性度量,实现对于GOT表的完整性度量。由此在对软件完整性进行动态度量的过程中增加了对于GOT表的完整性度量。
技术领域
本申请涉及高级持续性威胁防御技术领域,具体涉及一种全局偏移表度量方法、动态度量方法及相关装置、设备。
背景技术
高级可持续威胁攻击(advanced persistent threat,APT)又被称为定向威胁攻击,是指某组织针对特定对象展开的持续有效的攻击活动。目前,APT攻击日益盛行,攻击者可以通过植入恶意软件或者篡改系统软件等方式,达到窃听隐私、非法获取利益等目的,对网络安全带来了极大的挑战。
目前,很多机构和企业主要利用软件完整性保护技术防御APT攻击,软件完整性技术可以通过对软件整个生命周期的各个阶段进行保护,达到防御APT攻击的目的。如图1所示,软件完整性保护技术在软件的开发发布阶段,通过对软件进行数字签名来保证软件的完整性;在软件启动、加载和升级阶段,通过数字签名验证、可信启动及远程证明技术等保证软件的完整性;在软件运行的过程中,通过动态度量方法对可执行程序运行时的完整性进行度量。
基于现有的动态度量方法对可执行程序的完整性进行度量时,主要关注需要度量的程序对应的代码段的完整性,以及该程序所依赖的动态库代码段的完整性,上述二者的完整性校验通过,即可认为该程序未被篡改。然而,经发明人研究发现,这种动态度量方法并未全面地考虑程序运行过程中各个需要度量的因素,在一些情况下,这种动态度量方法仍存在防御漏洞,无法达到最佳的防御效果。
发明内容
本申请实施例提供了一种全局偏移表度量方法、动态度量方法及相关装置、设备,在对软件进行动态度量的过程中,额外增加了对全局偏移表(global offset table,GOT)的完整性度量,保证对程序运行过程中涉及的相关因素进行更全面的度量,从而达到更好的防御效果。
有鉴于此,本申请第一方面提供了一种GOT表度量方法,该方法在进程运行的过程中,获取GOT表的起始地址和长度,以便根据上述GOT表的起始地址和长度确定出完整的需要度量的GOT表,该GOT表具体包括进程的GOT表和进程所依赖的动态库的GOT表;进而,通过对所确定的GOT表中每个元素进行完整性度量,或者通过对该GOT表整体进行完整性度量,实现对于GOT表的完整性度量。本申请考虑到GOT表在程序运行的过程中起着极为重要的作用,因此,在对软件完整性进行动态度量的过程中增加了对于GOT表的完整性度量,并且相应地提出了一套适用于度量GOT表完整性的机制,基于该机制实现对于GOT表完整性的准确度量。
在本申请实施例第一方面的第一种实现方式中,可以通过以下方式获取GOT表的起始地址和长度:基于进程的进程描述符查找程序头,并根据该程序头确定动态段的偏移地址;然后根据程序头对应的文件类型以及动态段的偏移地址,确定动态段的实际地址;进而,基于动态段的实际地址对该动态段进行访问,并从该动态段中获取参考元素;最终,基于该参考元素确定GOT表的起始地址和长度。由此,可以通过上述获取GOT表的起始地址和长度的方式,准确地定位所要度量的GOT表,即准确地获取到待度量的GOT表。
在本申请实施例第一方面的第二种实现方式中,可以进一步通过以下方式确定动态段的偏移地址:根据进程描述符查找进程运行时依赖的虚拟地址空间;并基于该虚拟地址空间中用于指示程序头的内存位置的元素,查找程序头;最终根据程序头中用于指示动态段的偏移地址的元素,确定动态段的偏移地址。由此,可以通过上述确定动态段的偏移地址的方式,准确地定位动态段的偏移地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910707930.3/2.html,转载请声明来源钻瓜专利网。