用于通过拦截函数调用识别应用程序的漏洞的系统和方法技术方案

技术编号:22418337 阅读:55 留言:0更新日期:2019-10-30 02:04
本发明专利技术公开了用于通过拦截函数调用识别应用程序的漏洞的系统和方法。一种示例性方法包括:根据用于修改函数的至少一个规则来识别所述应用程序的可执行代码中的至少一个函数;在启动所述应用程序时将拦截代码添加到所述应用程序的所述可执行代码;执行具有添加的所述拦截代码的所述应用程序;通过所述拦截代码收集与由所述应用程序在执行期间执行的函数调用有关的数据;基于用于安全执行应用程序的标准分析收集的所述数据,其中,所述标准包括被拦截的函数调用的自变量的允许值的范围;以及识别被分析的所述数据与用于应用程序的安全执行的所述标准之间的不一致性,其中,所述不一致性指示所述应用程序中的漏洞。

【技术实现步骤摘要】
用于通过拦截函数调用识别应用程序的漏洞的系统和方法
本专利技术总体涉及用于测试应用程序的漏洞的方案,更具体地涉及通过拦截函数调用识别应用程序的漏洞的系统和方法。
技术介绍
目前,在计算机和移动设备上实施的应用程序的数量稳步上升。具有许多定期更新的应用程序,这些应用程序的开发拖延多年,在一个操作系统之下开始且基于IT行业的发展而继续向前(在不同版本的操作系统之下或在完全不同的操作系统之下继续)。其它应用程序是“从零开始”开发的,但时常速度加快,以免落后于竞争对手。由于漫长的、快速的以及习惯性的开发过程,漏洞出现在这些应用程序中。通过利用应用程序中的漏洞(诸如漏洞利用),罪犯可导致应用程序的不正确工作,因此罪犯可以获得对用户数据的非法访问权限且从而对用户造成伤害或材料损失。已知不同类型的漏洞,诸如缓冲区溢出-在应用程序将数据写在存储器中分配的缓冲区的边界之外时出现的漏洞,这经常导致恶意代码的执行。同样地,通过操作系统的应用程序编程接口(ApplicationProgrammingInterface,API)的不正确使用将相当大量的漏洞引入应用程序中。此外,在不访问这些应用程序模块的源代码本文档来自技高网...

【技术保护点】
1.一种识别应用程序的漏洞的方法,所述方法包括:由硬件处理器根据用于修改函数的至少一个规则来识别所述应用程序的可执行代码中的至少一个函数,所述至少一个规则至少包含所述函数的原型和对于所述函数的调用约定;在启动所述应用程序时,将拦截代码添加到所述应用程序的所述可执行代码,其中,所述拦截代码被配置成拦截由所述应用程序进行的对函数的调用;由所述硬件处理器执行具有添加的所述拦截代码的所述应用程序;通过所述拦截代码收集与由所述应用程序在执行期间执行的函数调用有关的数据;基于用于安全执行所述应用程序的标准,分析收集的所述数据,其中,所述标准包括被拦截的函数调用的自变量的允许值的范围;以及识别被分析的所述数...

【技术特征摘要】
2018.04.19 RU 2018114429;2018.09.06 US 16/122,9631.一种识别应用程序的漏洞的方法,所述方法包括:由硬件处理器根据用于修改函数的至少一个规则来识别所述应用程序的可执行代码中的至少一个函数,所述至少一个规则至少包含所述函数的原型和对于所述函数的调用约定;在启动所述应用程序时,将拦截代码添加到所述应用程序的所述可执行代码,其中,所述拦截代码被配置成拦截由所述应用程序进行的对函数的调用;由所述硬件处理器执行具有添加的所述拦截代码的所述应用程序;通过所述拦截代码收集与由所述应用程序在执行期间执行的函数调用有关的数据;基于用于安全执行所述应用程序的标准,分析收集的所述数据,其中,所述标准包括被拦截的函数调用的自变量的允许值的范围;以及识别被分析的所述数据与用于安全执行应用程序的所述标准之间的不一致性,其中,所述不一致性指示所述应用程序中的漏洞。2.如权利要求1所述的方法,其中,所述被拦截的函数包括如下项中的至少一者:操作系统的函数或编程语言的标准库的函数。3.如权利要求1所述的方法,其中,所述拦截代码通过利用与被拦截的函数匹配的应用程序二进制接口调用所述拦截代码中的函数来修改所述应用程序的功能,以及其中,所述拦截代码建立对与所述应用程序相关联的进程的控制。4.如权利要求3所述的方法,其中,用于修改的所述规则指定所述拦截代码在执行期间执行的动作的集合。5.如权利要求4所述的方法,其中,所述动作包括如下项中的一者或多者:将所述函数的自变量保存在日志文件中、生成系统事件、不执行被拦截的函数、以及改变自变量的值。6.如权利要求5所述的方法,其中,用于修改的所述规则还指定针对改变被拦截的函数的自变量的值的有效性的条件。7.如权利要求1所述的方法,还包括:使用自动测试执行所述应用程序。8.如权利要求1所述的方法,其中,所述数据包括所述被拦截的函数的自变量的值。9.如权利要求1所述的方法,还包括:识别在所述标准中包含的临界度;以及当所述临界度超过预定阈值时,中断所述应用程序的执行。10.如权利要求1所述的方法,还包括:识别在所述标准中包含的临界度;以及当所述临界度超过预定阈值时,创建关于至少一个漏洞的日志条目。11.一种识别应用程序的漏洞的系统,所述系统包括:硬件处理器,所述硬件处理器被配置成:根据用于修改函数的至少一个规则来识别所述应用程序的可执行代码中的至少一个函数,所述至少一个规则至少包含所述函数的原型和对于所述函数的调用约定;在启动所述应用程序时,将拦截代码添加到所述应用程序的所述可执行代码,其中,所述拦截代码被配置成拦截由所述应用程序进行的对函数的调用;执行具有添加的所述拦截代码的所述应用程序;通过所述拦截代码收集与由所述应用程序在执行期间执行的函数调用有关的数据;基于用于...

【专利技术属性】
技术研发人员:亚历山大·V·卡里宁谢尔盖·A·鲁姆耶特塞夫伊戈尔·Y·库马金
申请(专利权)人:卡巴斯基实验室股份制公司
类型:发明
国别省市:俄罗斯,RU

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

1