[发明专利]动态应用的可缩放预分析在审
申请号: | 201980055768.X | 申请日: | 2019-08-23 |
公开(公告)号: | CN112639745A | 公开(公告)日: | 2021-04-09 |
发明(设计)人: | J·G·苏伊斯;R·J·奥多诺格胡;N·J·阿伦 | 申请(专利权)人: | 甲骨文国际公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 中国贸促会专利商标事务所有限公司 11038 | 代理人: | 罗亚男 |
地址: | 美国加*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 动态 应用 缩放 分析 | ||
一种方法可以包括将代码划分为可信组件和不可信组件,并且在代码的第一组件中识别动态调用。第一组件可以是不可信组件。该方法还可以包括从动态调用中提取动态信息,并且使用动态信息和描述代码的动态行为的元数据来识别动态调用的目标。目标可以与代码的第二组件对应。该方法还可以包括确定目标与动态调用匹配,并且响应于确定目标与动态调用匹配而将从动态调用到目标的边添加到从代码生成的调用图。
背景技术
大规模软件应用常常包含动态生成的内容或软件组件之间的链接。例如,可以将Servlet、Java Bean和Java Server Page(JSP)组合在一起以创建动态生成的HTML页面,其中底层程序元素可以通过调用时传递的参数来公开。在对此类应用执行静态分析时,动态特点提出了挑战。例如,在不了解应用的动态行为的情况下,无法完全生成对通过应用的执行路径进行建模的调用图(例如,当执行静态分析时)。此外,不完整的调用图会干扰安全漏洞的识别。在存在动态行为的情况下对执行路径进行建模的常规方法包括静态分析工具的自定义分析和手动配置,这会导致大量的附加工作和复杂性。
发明内容
提供本发明内容以引入概念的选择,这些概念将在下面的详细描述中进一步描述。本发明内容不旨在识别所要求保护的主题的关键或必要特征,也不旨在用于帮助限制所要求保护的主题的范围。
一般而言,在一个方面,一个或多个实施例涉及一种方法,该方法包括将代码划分为可信组件和不可信组件,并且在代码的第一组件中识别动态调用。第一组件是不可信组件之一。该方法还包括从动态调用中提取动态信息,并且使用动态信息和描述代码的动态行为的元数据来识别动态调用的目标。目标与代码的第二组件对应。该方法还包括确定目标与动态调用匹配,并且响应于确定目标与动态调用匹配而将从动态调用到目标的边添加到从代码生成的调用图。
总的来说,在一个方面,一个或多个实施例涉及一种系统,该系统包括被配置为存储代码、描述代码的动态行为的元数据和从代码生成的调用图的储存库,耦合到处理器的存储器,以及在处理器上执行并使用存储器的代码拆分器,该代码拆分器被配置为将代码划分为可信组件和不可信组件。该系统还包括静态重写器,该静态重写器在处理器上执行并使用存储器,该静态重写器被配置为识别代码的第一组件中的动态调用。第一组件是不可信组件之一。静态重写器还被配置为从动态调用中提取动态信息,并且使用动态信息和元数据来识别动态调用的目标。目标与代码的第二组件对应。静态重写器还被配置为确定目标与动态调用匹配,并且响应于确定目标与动态调用匹配而将从动态调用到目标的边添加到从代码生成的调用图。
一般而言,在一个方面,一个或多个实施例涉及一种非暂态计算机可读介质,其包括指令,所述指令在由处理器执行时执行:将代码划分为可信组件和不可信组件,并且在代码的第一组件中识别动态调用。第一组件是不可信组件之一。指令还执行:从动态调用中提取动态信息,并且使用动态信息和描述代码的动态行为的元数据来识别动态调用的目标。目标与代码的第二组件对应。指令还执行:确定目标与动态调用匹配,并且响应于确定目标与动态调用匹配而将从动态调用到目标的边添加到从代码生成的调用图。
根据以下描述和所附权利要求,本发明的其它方面将变得显而易见。
附图说明
图1示出了根据本发明的一个或多个实施例的系统。
图2和图3示出了根据本发明的一个或多个实施例的流程图。
图4A、图4B、图4C、图4D、图4E和图4F示出了根据本发明的一个或多个实施例的示例。
图5A和图5B示出了根据本发明的一个或多个实施例的计算系统。
具体实施方式
现在将参考附图详细描述本发明的具体实施例。为了一致性,各个附图中的相同元件由相同的标号表示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于甲骨文国际公司,未经甲骨文国际公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201980055768.X/2.html,转载请声明来源钻瓜专利网。