[发明专利]一种应用程序完整性验证方法有效
申请号: | 201510179575.9 | 申请日: | 2015-04-16 |
公开(公告)号: | CN104778410B | 公开(公告)日: | 2017-07-11 |
发明(设计)人: | 杨霞;桑楠;雷林;石鹏;刘志伟;孙超群;孙海泳;任飞;吴开均;刘维飞;武琼;袁艺;杨姗;李昊星;唐伟文 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 电子科技大学专利中心51203 | 代理人: | 邹裕蓉 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用程序 完整性 验证 方法 | ||
技术领域
本发明涉及计算机安全技术。
背景技术
随着物联网、移动互联网和云计算等新型技术的快速发展,信息技术已深刻影响到人们的生活方式,无处不在的信息已经成为国家、企业和个人的重要资产。随着网络安全威胁种类日益多样化,这些重要的信息资产将暴露在越来越多的威胁中。比如恶意软件的非法篡改:恶意软件常常通过篡改正常程序的代码和数据,并植入恶意代码来完成自身想要到达的目的。一旦被篡改程序被执行,从而威胁到系统的安全,可能给用户带来巨大的损失和灾难性的打击。因此,只要能在恶意软件或代码执行前发现并阻止其运行,就可以保证应用程序的安全。
现有的软件完整性验证与保护技术通常需要额外的硬件支持。一方面增加了硬件成本开销;另一方面,由于引入了硬件处理,增加了与硬件的交互,带来了额外的性能开销。
发明内容
本发明所要解决的技术问题是,提供一种不需要硬件开销的应用程序完整性验证方法。
本发明为解决上述技术问题所采用的技术方案是,一种应用程序完整性验证方法,包括以下步骤:
1)设置步骤:
1-1)应用层接收对应用程序完整性验证进行设置的请求,触发应用层中的标识设置模块;
1-2)标识设置模块判断请求类型,当请求类型为添加完整性验证时,则计算该应用程序的完整性校验值,在该应用程序的扩展属性中添加完整性扩展属性,并将完整性校验值作为该完整性扩展属性的值;当请求类型为取消完整性验证时,则删除该应用程序的完整性扩展属性值;
2)验证步骤:
2-1)内核层捕获打开文件系统调用后,触发内核层中的验证代理模块;
2-2)验证代理模块获取当前应用程序的文件描述符,通过该文件描述符查看应用程序,判断应用程序是否有完整性扩展属性值,如是,进入步骤2-3),如否,进入步骤2-5);
2-3)验证代理模块获取应用程序为完整性验证所添加的扩展属性值,计算当前打开应用程序的完整性校验值,再与获取的扩展属性值进行比较,当比较结果相同则进入步骤2-5),否则进入步骤2-4);
2-4)验证代理模块返回打开文件系统调用一个无用的文件描述符,同时提示应用程序被破坏;
2-5)验证代理模块返回打开文件系统调用正确的文件描述符。
本发明的有益效果是,本发明属于加载期的验证方法,与文件系统完整性验证方法相比减少了验证开销;通过使用文件系统自带的扩展属性存完整性扩展属性值,不需要辅助硬件的存储支持,降低了成本、提高了性能、增加了灵活性。
附图说明
图1应用程序完整性验证框架图;
图2应用程序完整性验证流程图;
图3内核验证代理执行过程图;
图4标识设置程序执行过程图。
具体实施方式
接下来依次结合附图1、附图2、附图3以及附图4对本发明申请的技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细地阐述。
图1为具有应用程序完整性验证功能的操作系统100,在原有操作系统上修改两个部分,分别是应用层101中添加标识设置程序103以及在内核102中添加验证代理104。标识设置程序103为方便用户对有权限的应用程序设置是否需要完整性验证,验证代理104用于对需要完整性验证的应用程序进行验证。
其中标识设置程序103所包含的构成元素有:
Hash计算模块105,根据可信计算中完整性验证的方法,优选使用Hash算法对应用程序进行完整性验证。该模块用于计算应用程序预期的完整性度量值。其中的Hash函数包括MD4、MD5、SHA1、SHA2等。
扩展属性添加模块107,该模块用于标记需要完整性验证的应用程序,通过添加扩展属性的方法,扩展属性的值为Hash计算模块105的计算结果。
扩展属性删除模块109,该模块用于取消应用程序的完整性验证标记,通过删除为完整性验证所添加的扩展属性。
其中验证代理104所包含的构成元素有:
Hash计算模块106:该模块是和Hash计算模块105相同,只是该模块位于内核层,完成对需要完整性验证的应用程序进行Hash计算。
文件扩展属性获取模块108:该模块用于获取应用程序的扩展属性值,此扩展属性值是为完整性验证而添加的扩展属性值。
比较模块110:该模块用于比较Hash计算模块106和文件扩展属性获取模块108所获得的两值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510179575.9/2.html,转载请声明来源钻瓜专利网。