使用运行时和静态代码分析来确定动态安全扫描的覆盖率的利记博彩app

文档序号:9240062阅读:1113来源:国知局
使用运行时和静态代码分析来确定动态安全扫描的覆盖率的利记博彩app
【专利说明】
【背景技术】
[0001]动态安全扫描被执行来识别web应用程序的安全漏洞。例如,动态安全扫描可确定漏洞的类型和数量、漏洞的位置以及繁殖漏洞的步骤。一般,动态安全扫描作为对源代码不具有访问权的黑盒测试被执行。在这种情况下,动态安全扫描通过对web应用程序执行实际攻击来识别安全漏洞。
【附图说明】
[0002]下面的详细描述参考附图,其中:
[0003]图1是用于使用运行时和静态代码分析来确定动态安全扫描的覆盖率的示例系统的方框图;
[0004]图2是包括用于执行使用运行时和静态代码分析来确定动态安全扫描的覆盖率的方面的模块的示例服务器计算设备的方框图;
[0005]图3是由服务器计算设备执行的、使用运行时和静态代码分析来确定动态安全扫描的覆盖率的示例方法的流程图;
[0006]图4是由服务器计算设备执行的、使用运行时和静态代码分析来提供动态安全扫描的覆盖率的迭代确定的示例方法的流程图;
[0007]图5是由服务器计算设备执行的、使用运行时和静态代码分析针对web应用程序的多个版本确定动态安全扫描的覆盖率的示例方法的流程图;以及
[0008]图6A-6D是在使用运行时和静态代码分析来确定动态安全扫描的覆盖率的各种阶段的示例源代码的方框图。
【具体实施方式】
[0009]如上面讨论的,对web应用程序执行动态安全扫描以识别安全漏洞。例如,动态安全扫描可通过对web应用程序执行实际攻击例如缓冲区溢出攻击或结构化查询语言(SQL)注入攻击并记录结果来识别安全漏洞。然而,动态安全扫描是不知道web应用程序的基础源代码的黑盒测试过程。相应地,一般基于扫描的速度和被识别出的漏洞的数量来确定动态安全扫描的有效性。
[0010]有效性的一般确定可能不客观地评估动态安全扫描,因为所识别的漏洞的数量可更多地取决于web应用程序的质量而不是扫描的质量。例如,高质量web应用程序可具有在扫描中要识别的几个安全漏洞,这通常会导致动态安全扫描被识别为差质量扫描。类似地,低质量web应用程序可具有在扫描中要识别的过多的安全漏洞,这可允许差质量扫描呈现为高度有效的,即使它只能够识别一小部分漏洞。
[0011]本文公开的示例实施例使用运行时分析和静态代码分析来确定动态安全扫描的覆盖率。例如在一些实施例中,系统执行web应用程序的静态代码分析以识别web应用程序的源代码的数据输入点,其中数据输入点用于确定web应用程序的攻击表面尺寸。在这个阶段,系统可针对web应用程序的执行的动态安全扫描发起运行时监控。当在数据输入点中的一个数据输入点处的语句被调用时,运行时监控可检测并记录调用作为包括调用参数和时间戳的调用条目。基于调用条目和攻击表面尺寸,可确定动态安全扫描的攻击表面覆盖率以评估扫描的质量。
[0012]以这种方式,本文公开的示例实施例允许动态安全扫描基于扫描覆盖的攻击表面的部分客观地被评估。具体地,通过执行web应用程序的源代码的组合运行时分析和静态代码分析,攻击表面的尺寸可被确定并然后用于确定攻击表面覆盖率。攻击表面覆盖率允许用户确定web应用程序是否实际上没有安全漏洞以及动态安全扫描是否被适当地配置。
[0013]现在参考附图,图1是用于使用运行时分析和静态代码分析来确定动态安全扫描的覆盖率的示例系统的方框图。示例系统可被实现为服务器计算设备100,例如机架服务器、笔记本计算机、桌上型计算机、全合一系统、平板计算设备或适合于确定动态安全扫描的覆盖率的任何其它电子设备。在图1的实施例中,服务器计算设备100包括处理器110、接口 115和机器可读存储介质120。
[0014]处理器110可以是一个或多个中央处理单元(CPU)、微处理器和/或适合于获取和执行存储在机器可读存储介质120上的指令的其它硬件设备。处理器110取出、解码并执行指令122、124、126、128以能够使用运行时分析和静态代码分析来确定动态安全扫描的覆盖率。作为可选方案或除了获取和执行指令以外,处理器110还可包括一个或多个电子电路,该一个或多个电子电路包括用于执行一个或多个指令122、124、126、128的功能的多个电子部件。
[0015]接口 115可包括用于与客户端设备通信的多个电子部件。例如,接口 115可以是以太网接口、通用串行总线(USB)接口、IEEE 1394(火线)接口、外部串行高级技术附件(eSATA)接口或适合于与客户端设备通信的任何其它物理连接接口。可选地,接口 115可以是无线接口,例如无线局域网(WLAN)接口或近场通信(NFC)接口。在操作中,如下面详述,接口 115可用于向客户端设备的对应接口发送数据以及从客户端设备的对应接口接收数据,所述数据例如web应用程序数据。
[0016]机器可读存储介质120可以是存储可执行指令的任何电子、磁性、光学或其它物理存储设备。因此,机器可读存储介质120可以是例如随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、存储驱动器、光盘等。如下面更详细描述的,可使用用于使用运行时分析和静态代码分析来确定动态安全扫描的覆盖率的可执行指令来对机器可读存储介质120编码。
[0017]静态代码分析指令122可对web应用程序的源代码执行静态代码分析。具体地,可对源代码执行静态代码分析以识别web应用程序的数据输入点并将源代码的部分分类为可达的或不可达的。Web应用程序的数据输入点的示例可包括但不限于同一资源定位符(URL)参数、超文本标记语言(HTML)参数、客户端侧脚本参数和web服务器接口。在一些情况下,可基于在源代码中的关键字来识别数据输入点,其中关键字根据源代码的编程语言而改变。在其它情况下,可基于在例如描述预期参数和输出的可扩展标记语言(SML)消息中的元数据来识别数据输入点。可基于web应用程序的数据输入点的总数来确定web应用程序的攻击表面的尺寸。换句话说,web应用程序的攻击表面可由web应用程序的数据输入点形成。
[0018]可达代码可包括从客户端侧可达的web应用程序的源代码的部分。客户端侧可以指在与服务器计算设备100交互的客户端设备上执行的任何操作。在这种情况下,如果源代码可响应于起源于客户端设备的客户端侧操作被调用,则web应用程序的源代码是从客户端侧可达的。服务器侧可以指在服务器计算设备100上执行的任何操作。不可达代码可包括从客户端侧完全不可达的源代码的部分。换句话说,不可达代码不会响应于从客户端侧可访问的任何数据输入点而被调用。
[0019]Web应用程序可以是由服务器计算设备100通过网络(例如互联网、内联网等)经由接口 115提供到客户端设备的应用程序或服务。例如,web应用程序可由在服务器计算设备100上执行的web服务器执行以向客户端设备的web浏览器提供网页。在另一示例中,web应用程序可以是响应于来自客户端设备的请求通过网络提供功能的web服务。
[0020]运行时监控指令124可在动态安全扫描期间发起正执行的web应用程序的运行时监控。具体地,运行时监控指令124可配置有用于发起动态安全扫描的监控的操作参数。例如,操作参数可包括运行时监控的时间和持续时间、与动态安全扫描关联的过程、互联网协议(IP)地址(动态安全扫描将起源于该地址)等。在一些情况下,运行时监控可监控由如上面讨论的静态代码分析指令122识别的数据输入点。
[0021]语句调用检测指令126可检测并记录从动态安全扫描接
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1