[发明专利]用于通过拦截函数调用识别应用程序的漏洞的系统和方法有效
申请号: | 201811359062.6 | 申请日: | 2018-11-15 |
公开(公告)号: | CN110390200B | 公开(公告)日: | 2023-08-11 |
发明(设计)人: | 亚历山大·V·卡里宁;谢尔盖·A·鲁姆耶特塞夫;伊戈尔·Y·库马金 | 申请(专利权)人: | 卡巴斯基实验室股份制公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 黄志华;何月华 |
地址: | 俄罗斯*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 通过 拦截 函数 调用 识别 应用程序 漏洞 系统 方法 | ||
本发明公开了用于通过拦截函数调用识别应用程序的漏洞的系统和方法。一种示例性方法包括:根据用于修改函数的至少一个规则来识别所述应用程序的可执行代码中的至少一个函数;在启动所述应用程序时将拦截代码添加到所述应用程序的所述可执行代码;执行具有添加的所述拦截代码的所述应用程序;通过所述拦截代码收集与由所述应用程序在执行期间执行的函数调用有关的数据;基于用于安全执行应用程序的标准分析收集的所述数据,其中,所述标准包括被拦截的函数调用的自变量的允许值的范围;以及识别被分析的所述数据与用于应用程序的安全执行的所述标准之间的不一致性,其中,所述不一致性指示所述应用程序中的漏洞。
技术领域
本发明总体涉及用于测试应用程序的漏洞的方案,更具体地涉及通过拦截函数调用识别应用程序的漏洞的系统和方法。
背景技术
目前,在计算机和移动设备上实施的应用程序的数量稳步上升。具有许多定期更新的应用程序,这些应用程序的开发拖延多年,在一个操作系统之下开始且基于IT行业的发展而继续向前(在不同版本的操作系统之下或在完全不同的操作系统之下继续)。其它应用程序是“从零开始”开发的,但时常速度加快,以免落后于竞争对手。
由于漫长的、快速的以及习惯性的开发过程,漏洞出现在这些应用程序中。通过利用应用程序中的漏洞(诸如漏洞利用),罪犯可导致应用程序的不正确工作,因此罪犯可以获得对用户数据的非法访问权限且从而对用户造成伤害或材料损失。
已知不同类型的漏洞,诸如缓冲区溢出-在应用程序将数据写在存储器中分配的缓冲区的边界之外时出现的漏洞,这经常导致恶意代码的执行。同样地,通过操作系统的应用程序编程接口(Application Programming Interface,API)的不正确使用将相当大量的漏洞引入应用程序中。此外,在不访问这些应用程序模块的源代码的情况下,难以检查这些漏洞在应用程序的模块中的存在。
在操作系统的级别上无法解决具有漏洞的应用程序的问题,因为操作系统提供保证反向兼容性的充足可能(几年前创建的且在更新之前使用操作系统的API函数的应用程序可以在更新之后在操作系统上被启动)、以及不断重复的安全需求仍处于推荐级别。换言之,存在描述如何合适地且以什么顺序调用操作系统的函数的推荐,以便确保应用程序的安全执行,以及如何在特定操作系统之下创建安全应用程序,但是在创建应用程序时,这些推荐不是强制性的。
漏洞不仅由于代码中的错误、而且还在不正确使用API函数的情况下出现。提出的用于识别漏洞的系统使得可以在应用程序启动之后使用API函数调用的拦截和在拦截中获得的数据的分析来识别该应用程序对API函数的不正确使用。
发明内容
公开了用于通过拦截函数调用识别应用程序中的漏洞的系统和方法。在一个示例性方面中,提供一种用于通过拦截函数调用识别应用程序的漏洞的方法。
所述方法可以包括:由硬件处理器根据用于修改函数的至少一个规则来识别所述应用程序的可执行代码中的至少一个函数,所述至少一个规则至少包含所述函数的原型和对于所述函数的调用约定;在启动所述应用程序时将拦截代码添加到所述应用程序的所述可执行代码,其中,所述拦截代码被配置成拦截由所述应用程序进行的对函数的调用;由所述硬件处理器执行具有添加的所述拦截代码的所述应用程序;通过所述拦截代码收集与由所述应用程序在执行期间执行的函数调用有关的数据;基于用于安全执行应用程序的标准分析收集的所述数据,其中,所述标准包括被拦截的函数调用的自变量的允许值的范围;以及识别被分析的所述数据与用于安全执行应用程序的所述标准之间的不一致性,其中,所述不一致性指示所述应用程序中的漏洞。
在另一方面中,所述被拦截函数包括如下项中的至少一者:操作系统的函数或编程语言的标准库的函数。
在另一方面中,所述拦截代码通过利用与被拦截的函数匹配的应用程序二进制接口(Application Binary Interface,ABI)调用所述拦截代码中的函数来修改所述应用程序的功能,以及其中,所述拦截代码建立对与所述应用程序相关联的进程的控制。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于卡巴斯基实验室股份制公司,未经卡巴斯基实验室股份制公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811359062.6/2.html,转载请声明来源钻瓜专利网。