[发明专利]JAVASCRIPT安全测试在审
申请号: | 201710685720.X | 申请日: | 2017-08-11 |
公开(公告)号: | CN107784229A | 公开(公告)日: | 2018-03-09 |
发明(设计)人: | K·A·威廉姆斯;B·C·金;S·A·米勒 | 申请(专利权)人: | 安提特软件有限责任公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F21/57;G06F11/36 |
代理公司: | 北京德琦知识产权代理有限公司11018 | 代理人: | 梁洪源,康泉 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | javascript 安全 测试 | ||
背景技术
可对网页页面/应用程序进行测试以确保可开发的漏洞源的安全性。这些漏洞的其中一个源可为可执行的基于对象和事件驱动的客户端脚本语言(以下简称为JavaScript)代码。由于这些应用程序通常较大、较复杂并且与网页服务互相关联,可执行JavaScript分析以暴露出可攻击的进入点。
附图说明
以下详细说明参照了附图,附图中:
图1是用于JavaScript安全测试的示例性系统的框图;
图2是用于JavaScript安全测试的示例性方法的流程图;
图3A是用于JavaScript安全测试的另一示例性方法的流程图;
图3B是用于识别漏洞的示例性方法的流程图;以及
图4是用于JavaScript安全测试的示例性系统的框图。
具体实施方式
用于JavaScript安全测试的系统和方法结合了寻找安全漏洞的两种不同技术的各方面:静态分析和动态分析。静态分析可直接分析源代码本身。动态分析可在网页页面/应用程序展开时运行网页页面/应用程序,并且可通过检查来自目标攻击(开发)的HTTP响应而推断安全缺口的存在。在此讨论的组合方案考虑到了用于客户端漏洞的、进化的文件对象模型(DOM)状态,比如基于DOM的跨站脚本(XSS)。用于JavaScript安全测试的系统和方法可将自定义规则集合应用于给定的代码库,并且这些规则适于在混合DOM分析器中运行。
通过创建无界面浏览器以及在动态分析扫描器中运行的JavaScript执行引擎,由动态网页页面的脚本内容生成的字节代码可被打包并且在该网页的JavaScript运行周期中发送给静态规则。这使得能够分析客户端源代码(初始状态以及转换后的代码状态流)。静态规则可在此字节代码上运行,该字节代码包含在网页页面的实际加载内动态地创建的任何内容。在此使用的网页页面和页面可指任意类型的、利用HTML的网页内容,包括网页页面、网页应用等等。如果这些规则中的任一规则标识了由此易受攻击的数据流,则动态引擎可继续核实:注入向量(injection vector)也未经过滤从而防止此类攻击。
在此讨论的混合方案可通过检测因用户输入而在DOM中动态出现的、恶意的、可执行的JavaScript来减少假正值(false-positive)。如果用户输入引起可执行的DOM突变(mutation),则该混合分析器可识别该DOM突变为漏洞,这是因为该可执行的字节代码此时成为DOM的一部分并且可被检测到。
用于JavaScript安全测试的示例性方法可包括:由处理器接收初始文件对象模型(DOM),该初始DOM与包括多个可执行JavaScript代码的HTML页面结构对应;以及由处理器模拟与属于该HTML页面结构中的多个可执行JavaScript代码的一可执行JavaScript代码进行的用户交互。该方法可包括:由处理器基于所模拟的用户交互调整该初始DOM;由处理器生成与调整后DOM对应的字节代码;以及利用静态规则集合、由处理器分析该字节代码。
图1是可使用JavaScript安全测试的示例性环境100的框图。环境100可包括具有文件对象模型(DOM)104的堆栈102、执行引擎106以及浏览器108。文件对象模型(DOM)是超文本标记语言(HTML)页面结构的内部表征,即:其为镜像了该网页页面的树结构。初始页面可能来自网页服务器,并且可在浏览器中被渲染为HTML和可在HTML页面加载之后运行的其他代码,比如JavaScript(JS)代码。一旦被渲染,可与该页面交互(通过,例如,点击、按键响应和计时器事件等等)以引起对页面的修改。这些交互可引起对DOM的修改,该修改的形式可为:对DOM的添加、从DOM的删除、DOM的变更等等。对DOM的这些修改可被称为“DOM突变”。
执行引擎106可执行来自HTML页面结构的代码。例如,执行引擎106可为运行JavaScript代码的JavaScript引擎。浏览器108可用于解译HTML页面结构和由DOM104表示的可执行代码。在一些方面,浏览器可为“无界面浏览器”,其模拟人类操作员并且也固有地追踪DOM状态的修改。无界面浏览器可利用非同步的JavaScript和XML协议(AJAX)调用服务器。无界面浏览器可模拟传统浏览器如何动作、但不渲染图形用户界面(GUI)。通过不渲染GUI,系统100可提高安全扫描/分析的速度。浏览器108还可访问被传统浏览器禁止或隐藏的特定值和活动。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安提特软件有限责任公司,未经安提特软件有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710685720.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种化纤面料防霉抗菌剂
- 下一篇:毛绒布的处理方法