[发明专利]使用散列对动态代码的完整性进行验证的方法在审
申请号: | 201480056604.6 | 申请日: | 2014-08-11 |
公开(公告)号: | CN105637516A | 公开(公告)日: | 2016-06-01 |
发明(设计)人: | 南在玟;朴正根;洪晙豪;吴埈硕;金正洙 | 申请(专利权)人: | INKA安特沃客有限公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12;G06F11/36 |
代理公司: | 北京信慧永光知识产权代理有限责任公司 11290 | 代理人: | 陈桂香;曹正建 |
地址: | 韩国*** | 国省代码: | 韩国;KR |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 动态 代码 完整性 进行 验证 方法 | ||
技术领域
本发明涉及使用散列对动态代码的完整性进行验证的方法。
背景技术
需要指出的是,下面所说明的内容仅提供与本发明各实施例有关的 背景信息,而并非构成现有技术。
最近,频繁地发生了如下这样的案例:通过侵入他人的计算机而使 信息外泄;使用反向工程技术(reverseengineeringtechnique)来修改计 算机程序的二进制代码,以致这些计算机程序执行与它们的原本预期达 到的功能不同的功能;使用诸如调试器(debugger)等工具在计算机程序 的执行过程中修改二进制代码,然后滥用这些计算机程序。例如,如果 通过对参加在线游戏的用户个人电脑中所运行的客户端程序实施反向工 程来修改客户端程序以使得它自动被执行,那么修改程序的人还可以以 异常的方式获得游戏物品。因为计算机程序是否被修改在直到该计算机 程序被执行之前是很难查出的,并且即使被查出,也难以处理这样的情 形,所以有必要在计算机程序的执行过程中检查该计算机程序是否被修 改且然后对此采取措施。
以二进制形式存储于辅助存储器单元中的计算机程序被加载到主存 储器中以便被执行。被加载到主存储器中的二进制必须一直保持它的原 始状态。然而,如果二进制被反向工程修改后再被执行或者如果在计算 机程序的执行过程中通过使用诸如调试器等工具而修改了二进制,那么 该二进制将不能保持它的原始状态。
在现有技术中,为了解决上述问题,当计算机程序的二进制代码以 文件的形式被存储在辅助存储器单元中时,通过获得该整个文件的散列 来验证二进制的完整性以检查该文件是否被修改,或者通过获得被加载 到主存储器中的二进制的全体部分或一部分的散列来验证该二进制的完 整性以周期性地检查该二进制是否被修改。前者被称为文件散列检查方 法(依据文件散列),并且后者被称为存储器散列检查方法(依据存储器 散列)。依据存储器散列的测试方法是仅仅当以固定的时间间隔迭代地执 行检查时才可以实现预期目的的方法。因此,依据存储器散列的检查方 法可能成为导致程序执行性能劣化以及导致实施散列的系统的性能劣化 的因素。
于是,如果传统的存储器散列被用在对二进制代码的完整性进行验 证的方法中,那么存在着这样的问题:依据存储器散列的该方法很难应 用于对计算机程序的执行性能或系统性能比较敏感的情况中。
发明内容
要解决的技术问题
本发明的主要目的是提供一种能够防止由于完整性验证而导致的程 序执行性能劣化的方法,该方法不是通过周期性地或迭代地验证二进制 的全体部分或一部分的完整性而实现的,而是通过仅当应用了安全标签 的函数被调用时才验证该函数单元中的完整性而实现的。
解决技术问题的方案
根据本发明实施例的一个方面,提供了一种生成在使用散列对动态 代码的完整性进行验证时所用的散列注册表的方法,所述方法包括:仅 针对作为程序的一部分且要求安全性的特定函数而设定安全标签的步 骤;二进制生成步骤,其通过编译源代码来生成二进制,所述源代码包 括至少一个应用了所述安全标签的函数;散列码提取步骤,在该步骤中, 如果搜索所述二进制且发现所述安全标签,那么提取针对包括所述安全 标签的所述特定函数的代码块的散列码;以及散列注册表生成步骤,其 用于生成散列注册表,所述散列注册表包括在所述散列码提取步骤中生 成的针对至少一个函数的散列码。
此外,根据本发明实施例的另一个方面,提供了一种使用散列对动 态代码的完整性进行验证的方法,所述方法包括:将包括至少一个应用 了安全标签的函数的二进制加载到主存储器中的步骤;散列码提取步骤, 在该步骤中,如果包括所述安全标签的特定函数被调用且所述安全标签 在所述主存储器中的所述二进制的执行过程中被发现,那么提取针对所 述函数的代码块的散列码;函数修改判定步骤,用于确认所提取的所述 散列码是否与存储于散列注册表中的包括针对至少一个函数的散列码的 散列码表的任一散列码一致,以判定所述特定函数是否被修改;以及当 作为所述函数修改判定步骤的结果而判定了所述特定函数被修改时停止 所述二进制的执行的步骤。
本发明的效果
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于INKA安特沃客有限公司,未经INKA安特沃客有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480056604.6/2.html,转载请声明来源钻瓜专利网。