破坏漏洞扫描的结果的制作方法

文档序号:7816012阅读:235来源:国知局
破坏漏洞扫描的结果的制作方法
【专利摘要】本发明涉及破坏漏洞扫描的结果。一种安全性设备可以从服务器设备接收对请求的响应。请求可以由攻击者设备提供并且可以包括多个输入值。安全性设备可以基于接收到响应而确定包括在请求中的多个输入值。安全性设备可以修改响应以形成被修改的响应。该响应可以修改以包括与多个输入值相关联的信息。该响应可以被修改以尝试防止攻击者设备基于正被包括在响应中的多个输入值来标识与服务器设备相关联的漏洞。安全性设备向攻击者设备提供被修改的响应。
【专利说明】
破坏漏洞扫描的结果

【背景技术】
[0001]黑客可以标识应用、程序、网络、系统等的漏洞(比如,代码的弱点、安全性的弱点,等等)。黑客可以在已经标识出弱点之后尝试利用该漏洞(比如,通过嵌入恶意内容、通过获取私人息、等等)。


【发明内容】

[0002]根据一些可能的实现,安全性设备可以包括用于进行如下的一个或者多个处理器:从服务器设备接收对请求的响应,其中该请求可以由攻击者设备提供、并且可以包括多个输入值;基于接收到该响应而确定包括在请求中的多个输入值;修改响应以形成被修改的响应,其中该响应被修改以包括与多个输入值相关联的信息,并且其中该响应可以被修改以尝试防止攻击者设备基于正被包括在响应中的多个输入值来标识与服务器设备相关联的漏洞;以及向攻击者设备提供被修改的响应。
[0003]根据一些可能的实现,计算机可读介质可以存储一个或者多个指令,当该一个或者多个指令由一个或者多个处理器执行时,使得一个或者多个处理器:从服务器设备接收与由攻击者设备提供的请求相关联的响应,其中请求可以包括输入集;获得标识被包括在请求中的输入集的信息;修改响应以包括与输入集中的多个输入相关联的信息,其中响应可以被修改以尝试防止攻击者设备接收基于正被包括在被修改响应中的输入集内的多个输入来标识与服务器设备相关联的漏洞的信息;以及向攻击者设备提供被修改的输入。
[0004]根据一些可能的实现,方法可以包括:由安全性设备接收对请求的响应,其中请求可以由攻击者设备向服务器设备提供、并且可以包括输入值,其中输入值可以由攻击者设备提供,以及其中响应可以由服务器设备提供;由安全性设备确定包括在请求中的输入值;由安全性设备修改响应以包括该输入值中的多个输入值;以及由安全性设备提供被修改的响应以尝试使得攻击者设备不能够基于正包括在响应中的多个输入值来标识与服务器设备相关联的漏洞。

【专利附图】

【附图说明】
[0005]图1A和图1B是本文所述示例实现的概要图。
[0006]图2是可以在其中实现本文所述系统和/或方法的示例环境图。
[0007]图3是图2的一个或者多个设备的示例部件图。
[0008]图4是用于接收包括一个或者多个输入值的请求并向该请求提供响应的示例处理的流程图。
[0009]图5A和图5B是涉及图4中示出的示例处理的示例实现的图。
[0010]图6是用于修改与请求相关联的响应以在请求中包括与一个或者多个输入值的每一个相关联的信息的示例处理的流程图。
[0011]图7A-图7C是涉及图6中所示示例处理的示例实现的图。

【具体实施方式】
[0012]示例实现的如下详细描述参照附图。不同图中的同一参考标号可以标识相同或者类似的元件。
[0013]黑客可能希望标识在应用中可能允许黑客出于恶意目的(例如,为了获得与另一用户相关联的登录信息,与其他用户相关联的会话cookie)从事恶意行为(例如,嵌入恶意内容、注入代码,等等)的漏洞(例如,跨站点脚本(“XSS”)漏洞,结构化查询语言(“SQL”)注入漏洞,等等)。
[0014]可以允许黑客标识漏洞的一种方法是确定(例如,利用漏洞扫描器,等等)与对服务器设备(例如,与该应用相关联的服务器设备)的请求相关联的输入是否反映在由服务器设备生成的响应中(例如,反映的输入可以表示应用中的漏洞)。本文所述的实现可以允许与服务器设备相关联的安全性设备修改响应以包括与由黑客(例如,经由攻击者设备)提供的一个或者多个输入值的每一个相关联的信息。以这种方式,安全性设备可以指示与由黑客提供的每个输入相关联的漏洞,并且黑客可能不容易标识实际漏洞(例如,因为该响应将包括与一个或者多个输入值相关联的一个或者多个误报)。
[0015]图1A和IB是本文所述示例实现100的概要图。出于示例实现100的目的,假设黑客希望标识(例如,使用在攻击者设备上执行的漏洞扫描器)由服务器设备托管的应用中的漏洞。如所示出的那样,假设黑客希望基于与该应用相关联的一个或者多个输入值来标识漏洞(例如,所反映的输入可以指示漏洞)。
[0016]如在图1A中所示,攻击者设备可以提供与多个字段(例如,字段I到字段N)相关联的多个输入值(例如,输入I到输入N(N>1))。如进一步所示,攻击者设备可以向服务器设备发送请求,该请求包括标识N个输入值的每一个值的信息,并且包括与该请求相关联的其他信息(未示出)。如进一步所示,服务器设备可以接收该请求并可以生成对该请求的响应。如所示出的那样,响应可以包括标识输入2(例如,输入2被反映在响应中)的信息和与该响应相关联的其他信息(未示出)。
[0017]如在图1B中所示,服务器设备可以向(例如,与服务器设备相关联的)安全性设备提供响应(例如,包括标识输入2的信息)。如所示出的那样,安全性设备可以(例如,基于从服务器设备接收的信息或者包括在请求中的信息)确定标识N个输入值的每个输入值的信息,并且可以基于标识N个输入值的每个输入值的信息来修改请求(例如,以使得N个输入值的每个输入值被反映在修改的响应中)。
[0018]如进一步所示,安全性设备可以向攻击者设备提供修改的响应。如所示出的那样,攻击者设备可以(例如,向黑客)提供信息,该信息标识N个输入值的每个输入值被反映在响应中。如所示出的那样,黑客可能不能标识出与服务器设备相关联的漏洞(例如,因为响应包括与N个输入值的一个或者多个输入值相关联的误报)。
[0019]以这种方式,与服务器设备相关联的安全性设备可以修改与由攻击者设备提供的请求相关联的响应以包括信息,该信息标识包括在请求中的一个或者多个输入值。这可以防止与攻击者设备相关联的黑客标识与服务器设备相关联的漏洞。
[0020]图2是可以在其中实现本文所述系统和/或方法的示例环境200的图。如图2中所示,环境200可以包括攻击者设备210、网络220、服务器设备230、以及安全性设备240。
[0021]攻击者设备210可以包括能够经由网络(例如,网络220)与其他设备(例如,服务器设备230)通信和/或能够接收由另一设备(例如,服务器设备230)提供的信息的一个或者多个设备。例如,攻击者设备210可以包括计算设备,诸如笔记本计算机、平板计算机、手持计算机、台式计算机、移动电话(例如,智能电话,无线电电话,等等)、个人数字助理、或者类似设备。在一些实现中,攻击者设备210可以能够生成并(例如,向服务器设备230)发送请求(例如,与由服务器设备230托管的应用相关联的请求),并接收与该请求相关联的响应。此外,或者作为备选方案,攻击者设备210可以能够标识(例如,通过执行漏洞扫描器,等等)与服务器设备230相关联的漏洞(例如,与由服务器设备230托管的应用相关联的漏洞,等等)。
[0022]网络220可以包括一个或者多个有线和/或无线网络。例如,网络220可以包括无线局域网(WLAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网(例如,公共交换电话网(PSTN))、蜂窝网、公共陆地移动网(PLMN)、ad hoc网、内联网、互联网、基于光纤的网络、或者这些货其他类型网络的组合。在一些实现中,网络220可以允许设备间的通信,设备诸如攻击者设备210、服务器设备230、和/或安全性设备240。
[0023]服务器设备230可以包括能够接收、提供、生成、存储、和/或处理接收的或经由网络(例如,网络220)和/或另一设备(例如,安全性设备240)提供的信息。例如,服务器设备230可以包括计算设备,诸如服务器(例如,应用服务器、内容服务器、主机服务器、web服务器,等等)。在一些实现中,服务器设备230可以(例如,经由网络220和/或安全性设备240)从攻击者设备210接收信息和/或向攻击者设备210提供信息。此外,或者作为备选方案,服务器设备230可以能够生成对从另一设备(例如,攻击者设备210)接收的请求的响应。
[0024]安全性设备240可以包括能够接收、提供、生成、存储和/或处理经由网络(例如,网络220)和/或另一设备(例如,服务器设备230)接收的或提供的信息的一个或多个设备。例如,安全性设备240可以包括计算设备,诸如服务器。在一些实现中,安全性设备240可以(例如,经由网络220)从攻击者设备210和/或服务器设备230接收信息和/或(例如,经由网络220)向攻击者设备210和/或服务器设备230提供信息。此外,或者作为备选方案,安全性设备240可以包括能够处理和/或传送攻击者设备210与服务器设备230之间的通信(例如,请求、响应,等等)的一个或者多个设备。例如,安全性设备240可以包括网络设备,诸如反向代理、服务器(例如,代理服务器)、业务传送设备、防火墙、路由器、负载均衡器等。
[0025]在一些实现中,安全性设备240可以能够确定与由另一设备(例如,攻击者设备210)提供的请求相关联的一个或者多个输入值。此外,或者作为备选方案,安全性设备240可以能够基于与请求相关联的一个或者多个输入值修改与由另一设备(例如,服务器设备230)提供的请求相关联的响应。
[0026]安全性设备240可以用在与单个服务器设备230或者一组服务器设备230 (例如,数据中心)的连接中。通信可以通过安全性设备240路由到达一个或者多个服务器设备230.例如,安全性设备240可以作为向包括一个或者多个服务器设备230的私有网络的网关而定位于网络内。
[0027]出于解释的目的提供了图2中所示的设备和网络的数目。在实践中,可以有额外设备和/或网络、更少设备和/或网络、不同设备和/或网络、或者与图2中所示的那些布置不同的设备和/或网络。此外,图2中所示的两个或者多个设备可以在单个设备内实现,或者图2中所示的单个设备可以作为多个、分布的设备实现。此外,环境200的一个或者多个设备可以执行被描述为由环境200的另外一个或者多个设备执行的一个或者多个功能。环境200的设备可以经由有线连接、无线连接、或者有线连接和无线连接的组合互联。
[0028]图3是设备300的不例部件图。设备300可以对应于攻击者设备210、服务设备230、和/或安全性设备240。此外,或者作为备选方案,攻击者设备210、服务器设备230、和/或安全性设备240中的每一个可以包括一个或者多个设备300和/或设备300的一个或者多个部件。如图3所示,设备300可以包括总线310、处理器320、存储器330、输入部件340、输出部件350、和通信接口 360。
[0029]总线310可以包括允许设备300的部件间通信的路径。处理器320可以包括解释和/或执行指令的处理器、微处理器、和/或任何处理部件(现场可编程门阵列(“FPGA”)、专用集成电路(“八51(:”),等等)。在一些实现中,处理器320可以包括一个或者多个处理器核。存储器330可以包括随机访问存储器(“RAM”)、只读存储器(“ROM”)、和/或存储用于处理器320使用的信息和/或指令的任何类型的动态或者静态存储设备(例如,闪存、磁存储器、光存储器,等等)。
[0030]输入部件340可以包括允许用户向设备300输入信息的任何部件(例如,键盘、小键盘、鼠标、按钮、开关,等等)。输出部件350可以包括从设备300输出信息的任何部件(例如,显示器、扬声器、一个或者多个发光二极管(“1^0”),等等)。
[0031]通信接口 360可以包括能够使设备300诸如经由有线连接、无线连接、或者有线连接与无线连接的组合与其他设备和/或系统通信的任何类似收发机的部件,诸如收发机和/或分离的接收机和发射机。例如,通信接口 360可以包括用于经由网络与另一设备和/或系统通信的部件。此外,或者作为备选方案,通信接口 360可以包括有助于从另一设备或者向另一设备的数据传输的具有输入与输出端口、输入与输出系统、和/或其他输入与输出部件的逻辑部件,诸如以太网接口、光接口、同轴电缆接口、红外线接口、射频接口( “RF”)、通用串行总线(“USB”)接口,等等。
[0032]设备300可以执行本文所述各种操作。响应于处理器320执行包括在计算机可读介质,诸如存储器330中的软件指令,设备300可以执行这些操作。计算机可读介质可以被定义为非瞬态存储器设备。存储器设备可以包括遍布多个物理存储设备的单个物理存储设备或者存储器空间内的存储器空间。
[0033]软件指令可以经由通信接口 360从另一计算机可读介质或者从另一设备读入存储器330。当存储器330中存储的软件指令被执行时,可以使得处理器320执行本文所述的一个或者多个处理。此外,或者作为备选方案,硬件电路系统可以用于代替软件指令或者与软件指令结合用以执行本文所述一个或者多个处理。因此,本文所述的实现不限定于硬件电路系统和软件的任何特定组合。
[0034]为了解释的目的提供了图3所示的部件的数目。在实践中,设备300可以包括额外部件、更少部件、不同部件、或者与图3中所示的那些布置不同的部件。
[0035]图4是用于接收包括一个或者多个输入值的请求并对请求提供响应的示例处理400的流程图。在一些实现中,图4的一个或者多个处理框可以由服务器设备230执行。在一些实现中,图4的一个或者多个处理框可以由与服务器设备230分开或包括服务器230的另一设备或者一组设备(诸如安全性设备240)实现,。
[0036]如图4所示,处理400可以包括从攻击者设备接收包括一个或者多个输入值的请求(框410)。例如,服务器设备230可以从攻击者设备210接收包括一个或者多个输入值的请求。在一些实现中,当攻击者设备经由网络220发送请求时,服务器设备230可以从攻击者设备210接收请求。在一些实现中,服务器设备230可以经由另一设备(例如,安全性设备240)接收请求。
[0037]请求可以包括有自攻击者设备210向服务器设备230发送的(例如,经由安全性设备240和/网络220)与资源(例如,超文本标记语言(“HTML”)文件、图像文件、视频文件、音频文件,等等)相关联的消息,该资源与攻击者设备210希望从服务器设备230接收的应用(例如,web应用)相关联。
[0038]在一些实现中,请求可以包括标识由攻击者设备210提供的、与攻击者设备210希望从服务器设备230接收的资源相关联的一个或者多个输入值的信息。例如,请求可以包括由攻击者设备210提供的、与由服务器设备230托管的应用(例如,web应用)相关联的一个或者多个输入值(例如,经由包括在网站上的一个或者多个输入字段提供的输入值)。在一些实现中,攻击者设备210可以提供输入值,以基于由服务器设备230提供的资源尝试标识漏洞(例如,XSS漏洞、SQL注入漏洞、代码弱点,等等)。例如,攻击者设备210可以提供用于(例如,包括在网站内的)一个或者多个字段的输入值,并且可以向服务器设备230发送包括一个或者多个输入值的请求(例如,提供HTML文件的请求)。攻击者设备210可以基于与被包括在对请求的响应中的输入值相关联的信息来确定漏洞(例如,XSS漏洞)是否存在(例如,反映在对请求的响应中的输入值可以指示XSS漏洞存在)。在一些实现中,攻击者设备210可以生成包括在请求中的输入值(例如,使用漏洞扫描器)。此外,或者作为备选方案,攻击者设备210的用户(例如,黑客)可以提供输入值(例如,经由攻击者设备 210)。
[0039]在一些实现中,请求可以包括标识攻击者设备210的信息(例如,标识攻击者设备210的字符串、与攻击者设备210相关联的网络地址、与攻击者设备210相关联的端口号,等等)。此外,或者作为备选方案,请求可以包括标识服务器设备230的信息(例如,标识攻击者设备230的字符串、与攻击者设备230相关联的网络地址、与攻击者设备230相关联的端口号、标识由服务器设备230托管的应用的信息,等等)。
[0040]在一些实现中,服务器设备230可以基于包括在请求中的信息接收请求。例如,月艮务器设备230可以基于包括在请求中的(例如,标识服务器设备230的)网络地址来接收请求。作为附加示例,服务器设备230可以基于包括在请求中的、与由服务器230托管的应用(例如,web应用)相关联的信息(例如,web地址、统一资源定位符(“URL”),等等)来接收请求。
[0041]如在图4中进一步所示,处理400可以包括生成对请求的响应(框420)。例如,月艮务器设备230可以生成对从攻击者设备210接收的请求的响应。在一些实现中,当服务器设备230从攻击者设备210接收请求时,服务器设备230可以生成响应。此外,或者作为备选方案,当服务器设备230从另一设备(例如,安全性设备240)接收指示服务器设备230可以生成响应的信息时,服务器设备230可以生成响应。
[0042]响应可以包括由服务器设备230提供的消息,该消息包括由攻击者设备210请求的资源(例如,HTML文件、图像文件、视频文件、音频文件,等等)和/或其他信息。例如,服务器设备230可以发送对针对由服务器设备230托管的web应用相关联的HTML文件的请求的响应,该响应包括HTML文件和/或与向攻击者设备210提供HTML文件相关联的其他信息。
[0043]在一些实现中,响应可以包括与和请求相关联的一个或者多个输入值相关联的信息。例如,攻击者设备210可以提供输入值(例如,经由包括在网站中的输入字段),并且服务器设备230可以生成包括信息的响应(例如,与网站相关联的HTML文件),该信息标识由攻击者设备210提供的一个或者多个输入值(例如,HTML文件可以反映一个或者多个输入值、HTML文件可以包括标识一个或者多个输入值的信息,等等)。
[0044]在一些实现中,响应可以包括标识攻击者设备210的信息,诸如与攻击者设备210相关联的网络地址、与攻击者设备210相关联的端口号,等等。此外,或者作为备选方案,响应可以包括标识服务器设备230的信息,诸如与服务器设备230相关联的网络地址、与服务器设备230相关联的端口号,等等。此外,或者作为备选方案,响应可以包括与向攻击者设备210提供在请求中标识出的资源相关联的其他信息。
[0045]如在图4中进一步所示,处理400可以包括向安全性设备提供响应(框430)。例如,服务器设备230可以向安全性设备240提供响应。在一些实现中,当服务器设备230生成响应时,服务器设备230可以向安全性设备240提供响应。此外,或者作为备选方案,当服务器设备从另一设备(例如,安全性设备240)接收信息时,服务器设备230可以向安全性设备240提供响应,该信息指示服务器设备230可以提供响应。在一些实现中,服务器设备230可以经由网络220向安全性设备240提供响应。
[0046]尽管图4示出了在一些实现中的处理400的示例框,处理400可以包括额外框、不同框、更少框、或者与图4中的所示那些布置不同的框。此外,或者作为备选方案,处理400的一个或者多个框可以并行执行。
[0047]图5A和图5B是涉及图4中所示示例处理400的示例实现500的图。出于示例实现500的目的,假设黑客希望(例如,经由被标识为ADl的攻击者设备)标识包括在与每日时报评论版相关联的网站中的漏洞。另外,假设攻击者设备被配置为执行程序(例如,VScan)以基于与对每日时报服务器的请求相关联的输入值是否被反映在接收自每日时报服务器的响应中来标识漏洞。
[0048]如在图5A中所示,ADl可以(例如,经由互联网)访问与每日时报评论版相关联的网址。如所示出的那样,每日时报评论版可以包括与键入评论相关联的输入字段(例如,“添加评论”)、与键入用户名相关联的输入字段(例如,“用户名”)、和与键入密码相关联的输入字段(例如,“密码”)。如所示出的那样,ADl可以执行VScan,并且VScan可以使得ADl在添加评论字段、用户名字段、以及密码字段中键入输入值。如所示出的那样,每个输入值(例如,“〈script>alert ( ‘VI’)〈/script〉”、“〈script>alert ( ‘V2’)〈/script〉”、和“<script>alert ( ‘V3’)〈/script〉”)可以包括与运行脚本(例如,VScan可以基于HTML代码是否被反映在来自每日时报服务器的响应中来标识XSS漏洞)相关联的HTML代码。如进一步所示,ADl可以向每日时报服务器发送(例如,通过选择“发布评论”按钮)请求(例如,用于接收与发布评论相关联的HTML文件的请求)。如所示出的那样,请求可以包括标识由ADl提供的输入值的信息,以及与请求相关联的其他信息(未示出)。
[0049]如在图5B中所示,每日时报服务器可以基于从ADl接收响应,生成包括HTML文件的响应。如所示出的那样,响应可以包括与由每日时报服务器生成的HTML文档相关联的信息,并且可以包括标识在请求中包括的输入值(例如,“〈script>alert ( ‘V2’)〈/script〉”)的信息。换句话说,如所示出的那样,响应可以反映由ADl在用户名字段键入的输入值(例如,其可以指示与用户名字段相关联的漏洞)。如所示出的那样,每日时报服务器可以向每日时报安全性设备提供响应。
[0050]如上所指示的,图5A和5B仅仅作为示例提供。其他示例是可能的并可以与相对于图5A和5B所描述的不同。
[0051]图6是修改与请求相关联的响应的示例处理600的流程图,该请求包括与包括在请求中的一个或者多个输入值的每一个相关联的信息。在一些实现中,图6的一个或者多个处理框可以由安全性设备240执行。在一些实现中,图6的一个或者多个处理框可以由另一设备或者与安全性设备240分离或包括安全性设备240的一组设备(诸如服务器设备230执行)。
[0052]如图6中所示,处理400可以包括从服务器设备接收对由攻击者设备提供的请求的响应(框610)。例如,安全性设备240可以从服务器设备230接收对由攻击者设备210提供的请求(例如,与web应用相关联的请求)的响应。在一些实现中,当服务器设备230发送响应时,安全性设备240可以接收响应。在一些实现中,安全性设备240可以经由网络220接收响应。
[0053]如在图6中进一步所示,处理400可以包括基于接收到响应,确定与请求相关联的一个或者多个输入值(框620)。例如,安全性设备240可以基于(例如,从服务器设备230)接收到响应来确定与请求(例如,由攻击者设备210提供的请求)相关联的一个或者多个输入值。在一些实现中,当安全性设备240从服务器设备230接收到响应时,安全性设备240可以确定与请求相关联的一个或者多个输入值。此外,或者作为备选方案,当安全性设备240从另一设备(例如,服务器设备230)接收信息时,该信息指示安全性设备240可以基于一个或者多个输入值修改响应,安全性设备240可以确定一个或者多个输入值。
[0054]在一些实现中,安全性设备240可以基于包括在请求中的信息确定一个或者多个输入值。例如,安全性设备240可以从攻击者设备210接收请求(例如,当安全性设备240被定位为接收请求并向服务器设备230转发请求时)、可以存储一个或者多个输入值(例如在与安全性设备240相关联的存储器位置中)、以及当安全性设备240从服务器设备230接收响应时可以确定输入值(例如,从存储器位置读取一个或者多个输入值)。
[0055]在一些实现中,安全性设备240可以基于包括在由服务器设备230生成的响应中的信息,确定一个或者多个输入值。例如,响应可以包括标识与请求相关联的一个或者多个输入值的信息,并且安全性设备240可以基于包括在响应中的信息来确定一个或者多个输入值。在一些实现中,(例如,当响应反映了由攻击者设备210提供的输入值时)响应可以包括由攻击者设备210提供的一个或者多个输入值,并且安全性设备240可以基于包括在响应中的输入值确定输入值。此外,或者作为备选方案,(例如,当响应包括一个或者多个输入值的修改版本时)响应可以包括与一个或者多个输入值相关联的信息,并且安全性设备240可以基于与一个或者多个输入值相关联的信息来确定输入值。在一些实现中,安全性设备240可以基于从服务器设备230接收的其他信息,确定一个或者多个输入值。例如,安全性设备240可以向服务器设备230发送请求一个或者多个输入值的查询,并且安全性设备240可以基于从服务器230接收的结果,确定与该查询相关联的一个或者多个输入值。
[0056]在一些实现中,安全性设备240可以通过执行操作(例如,执行程序代码,等等)来确定一个或者多个输入值,该操作被配置为确定输入值。例如,安全性设备240可以执行程序代码,该程序代码被配置为标识一个或者多个参数(例如,包括在与请求和/或响应相关联的URL中),并且(例如,当一个或者多个参数可以包括标识一个或者多个输入值的信息时)安全性设备240可以基于与执行程序代码相关联的结果,确定一个或者多个输入值。
[0057]如在图6中进一步所示,处理400可以包括修改响应以包括与一个或者多个输入值相关联的信息(框630)。例如,安全性设备240可以修改从服务器设备230接收的响应,以包括与一个或者多个输入值相关联的信息,一个或者多个输入值由安全性设备240确定。在一些实现中,当安全性设备240确定与请求相关联的一个或者多个输入值时,安全性设备240可以修改响应。此外,或者作为备选方案,当安全性设备240从另一设备(例如,服务器设备230)接收信息时,该信息指示安全性设备240可以修改响应。
[0058]在一些实现中,安全性设备240可以通过向响应添加信息修改响应,该信息标识一个或者多个输入值。例如,安全性设备240可以接收包括与请求相关联的资源(例如,HTML文件)的响应,并且安全性设备240可以向资源添加标识一个或者多个输入值中的每一个输入值的信息(例如,一个或者多个文本串)(例如,HTML文件将包括标识一个或者多个输入值的文本)。
[0059]在一些实现中,安全性设备240可以添加标识由安全性设备240确定的一个或者多个输入值的每一个输入值的信息。此外,安全性设备240可以添加标识一个或者输入值的一部分输入值的信息(例如,安全性设备240可以添加标识一个或者多个输入值中的第一输入值集合的信息,并且可以不添加标识一个或者多个输入值中的第二输入值集合的信息)。
[0060]在一些实现中,安全性设备240可以修改响应以包括以随机方式标识一个或者多个输入值的信息。例如,安全性设备240可以随机选择第一位置(例如,包括在HTML文件中的第一位置),并且可以基于随机选择的第一位置,添加与第一输入值相关联的信息。在该示例中,安全性设备240可以随机选择第二位置(例如,包括在HTML文件中的第二位置),并且可以基于随机计算的第二位置,添加与第二输入值相关联的信息。此外,或者作为备选方案,安全性设备240可以修改响应以包括以确切方式标识一个或者多个输入值的信息(例如,当安全性设备240存储指示与HTML文件相关联的位置信息时,该一个或者多个输入值将在该位置被添加,等等)。
[0061]在一些实现中,安全性设备240可以通过添加匹配输入值的信息来修改响应以包括标识一个或者多个输入值的信息(例如,安全性设备240可以添加由攻击者设备210提供的一个或者多个输入值)。
[0062]在一些实现中,安全性设备240可以通过添加不与输入值匹配的信息而修改响应以包括标识一个或者多个输入值的信息。例如,安全性设备240可以确定输入值(例如,与嵌在HTML文件内的脚本相关联的输入值),并且可以修改响应以包括标识输入值(例如,标识与嵌入HTML文件中的脚本相关联的输入值的信息)但是不与输入值匹配(例如,通过去掉与执行脚本相关联的一个或者多个字符、通过字符互换,等等)的信息。以这种方式,安全性设备240可以修改响应以包括标识一个或者多个输入值的信息,但是可以不允许攻击者设备210利用反映的输入值(例如,安全性设备240可以防止攻击者设备210嵌入脚本)。
[0063]在一些实现中,安全性设备240可以修改响应以包括标识一个或者多个输入值的清洁(sanitized)信息(例如,不能被攻击者设备210利用的信息)(例如,安全性设备240可以通过执行配置为清洁标识一个或者多个输入值的信息的操作,生成被清洁的信息)。例如,安全性设备240可以执行被配置为从一个或者多个输入值去掉一个或者多个字符(例如,〈,>,“等)的程序代码,并且安全性设备240可以修改响应以包括与一个或者多个输入值相关联的被清洁信息。作为另一示例,安全性设备240可以通过在HTML标签(例如,多行文本标签、预格式化文本标签、评论标签,等等)中包裹输入值,清洁被注入的输入值(例如,包括脚本的输入值),该HTML标签可以不允许输入值被攻击者210利用(例如,当在HTML标签内部包裹脚本时,不允许脚本执行,等等)。
[0064]如在图6中进一步所示,处理400可以包括提供修改的响应(框640)。例如,安全性设备240可以向攻击者设备210提供修改的响应。在一些实现中,当安全性设备修改响应以包括与和请求相关联的一个或者多个输入值相关联的信息时,安全性设备240可以提供修改的响应。此外,或者作为备选方案,当安全性设备240从另一设备(例如,服务设备230,攻击者设备210,等等)接收到信息时,该信息指示安全性设备240可以提供响应。
[0065]在一些实现中,安全性设备240可以经由网络220向攻击者设备210提供修改的响应。在一些实现中,安全性设备240可以提供修改的响应,而不提供指示安全性设备240已经修改了响应的信息(例如,可能不让攻击者设备210意识到响应已被修改)。
[0066]在一些实现中,安全性设备240可以向攻击者设备210提供修改的响应,并且攻击者设备210可以不能标识与服务器设备230相关联的漏洞(例如,因为响应被修改以包括标识一个或者多个输入值的信息,攻击者设备210可以不能确定包括在被修改的响应中的一个或者多个输入值哪个标识实际漏洞)。
[0067]尽管图6示出了处理600的示例框,在一些实现中,处理600可以包括额外框、不同框、更少框、或者与图6所描绘的那些布置不同的框。此外,或者作为备选方案,处理600的一个或者多个框可以并行执行。
[0068]图7A-图7C是涉及图6中所示的示例处理600的示例实现700的图。出于示例实现700的目的,假设每日时报服务器已经生成了对请求的响应,该响应与粘贴评论到每日时报评论板相关联,并且该响应反映了包括在由攻击者设备(例如,ADl)提供的请求内的输入值(例如,<script>alert ( ‘V2’)〈/script〉),攻击者设备希望标识与每日时报服务器相关联的一个或者多个漏洞。进一步,假设每日时报安全性设备被配置为修改由每日时报服务器生成的响应。
[0069]如图7A所示,每日时报安全性设备可以从每日时报服务器接收与ADl提供的请求相关联的响应。如进一步所示,假设每日时报安全性设备也接收标识与ADl提供的请求相关联的输入值的信息。如所示出的那样,输入值可以包括:“〈Script>alert( ‘Vl’)〈/script〉”、“〈script>alert( ‘V2, )〈/script〉”、和“〈script>alert( ‘V3, )〈/script〉”。如进一步所示出的那样,每日时报安全性设备可以基于接收到识别来自ADl的输入值的信息,确定输入值。
[0070]如图7B所示,每日时报安全性设备可以通过注入被清洁的输入值到包括在响应中的HTML文档中,修改从每日时报服务器接收的响应。如所示出的那样,修改的响应可以包括与攻击者设备提供的输入值中的每个输入值相关联的信息。在该示例中,每日时报安全性设备可以以随机方式在HTML代码体(例如,“<script>alert ( ‘VI’)〈/script>”、“〈script>alert ( ‘V2’)〈/script〉”、和“〈script>alert ( ‘V3,)〈/script〉”)中注入与三个输入值中的每个输入值相关联的信息。
[0071]如所示出的那样,每日时报安全性设备可以通过在HTML标签内部包裹第一输入值来清洁被注入的输入值(“<script>alert ( ‘VI’)〈/script〉”),这使得第一输入值(例如,HTML脚本)变成被设置为不被显示的文本串(例如,“〈textarea style = ‘display:none ; ’Xscript>alert(‘Vl’)〈/scriptX/textarea>”),。类似地,每日时报安全性设备可以通过在HTML标签内部包裹第二输入值来清洁被注入的输入值(“<script>alert( ‘V2’)〈/script〉”),这使得第二输入值(例如,HTML脚本)变成不被显示的评论(例如,“〈! 一<script>alert ( ‘V2’)〈/script〉一>”)。最后,每日时报安全性设备可以通过在HTML标签内部包裹第三输入值来清洁被注入的输入值(“<script>alert( ‘V3’ ) </script〉”),这使得第三输入值(例如,HTML脚本)变成不被显示的与格式化的文本块(例如,“〈pre style = ^display:none ; J ><script>alert ( ‘V3,)</script>〈/pre>”)。以这种方式,每日时报安全性设备可以以反映的输入值可以不被ADl利用这一方式而在响应中注入与三个输入值中的每一个输入值相关联的信息。如进一步所不,每日时报安全性设备可以向ADl提供修改的响应。
[0072]如图7C所示,ADl可以接收修改的响应,并且ADl (例如,VScan)可以显示指示三个输入值中的每一个输入值的信息,三个输入值与每日时报评论板相关联并且被反映在从每日时报服务器接收的响应中。如进一步所示,与ADl相关联的黑客可以不能标识包括在每日时报评论板内的实际漏洞(例如,因为黑客将不知道哪个反映的输入值指示误报)。
[0073]如上面所指示的,图7A-图7C仅仅作为示例被提供。其他示例是可能的并且可以与相对于图7A-图7C所述不同。
[0074]本文所描述的实现可以允许与服务器设备相关联的安全性设备修改响应,以包括与攻击者设备所提供的一个或者多个输入值的每一个输入值相关联的信息。以这种方式,安全性设备可以指示与攻击者设备提供的每个输入值相关联的漏洞,并且(例如,与攻击者设备相关联的)黑客可以不能标识实际漏洞(例如,因为响应将包括与一个或者多个输入值相关联的一个或者多个误报)。
[0075]上述公开内容提供了解释和描述,但是并不旨在排除或者限定实现为所公开的精确形式。根据上面公开的内容修改和变化是可能的,或者可以从实现的实际中获得。
[0076]如本文所用,术语部件旨在被广泛地解释为硬件、固件、或者硬件与软件的组合。
[0077]将是显而易见的,本文所述的系统和方法可以以图中所示的实现中的软件、固件和硬件的许多不同形式被实现。被用于实现这些系统和/或方法的实际软件代码或者专用控制硬件不限制实现。因此,系统和/或方法的操作和行为未参照特定软件代码进行描述——其被理解为软件和控制硬件可能被设计为基于本文的描述实现系统和方法。
[0078]即使特征的特定组合在权利要求书中记载和/或在说明书中公开,这些组合不旨在限定可能实现的公开。事实上,许多这些特征可以以未在权利要求书中特别记载和/或在说明书中公开的方式进行组合。尽管下面所列的每个从属权利要求可以只直接从属于一个权利要求,但可能实现的公开内容包括将每个从属权利要求与权利要求集中的各个权利要求结合。
[0079] 除非这样明确描述,否则本文所用的元件、行为、或者指令不应该解释为关键的或者必不可少的。也如本文所用,冠词“一”和“一个”旨在包括一个或者多个项目,并且可以与“一个或者多个”互换使用。其中只包括一个项目时,使用术语“一个”或者类似的语言。进一步,除非另外明确说明,否则短语“基于”旨在意味着“至少部分基于”。
【权利要求】
1.一种用于防止攻击者设备标识与服务器设备相关联的漏洞的安全性设备,包括: 一个或者多个处理器,被配置为: 从所述服务器设备接收对请求的响应, 其中所述请求由所述攻击者设备提供,并且包括多个输入值; 基于接收到所述响应,确定包括在所述请求中的所述多个输入值; 修改所述响应以形成被修改的响应, 其中所述响应被修改以包括与所述多个输入值相关联的信息, 其中所述响应被修改以尝试防止所述攻击者设备基于正被包括在所述响应中的所述多个输入值来标识与所述服务器设备相关联的所述漏洞;以及向所述攻击者设备提供所述被修改的响应。
2.根据权利要求1所述的安全性设备,其中当修改所述响应时,所述一个或者多个处理器被进一步配置为: 通过添加标识所述多个输入值中的第一输入值的信息来修改所述响应的第一部分;以及 通过添加标识所述多个输入值中的第二输入值的信息来修改所述响应的第二部分。
3.根据权利要求1所述的安全性设备,其中当修改所述响应时,所述一个或者多个处理器被进一步配置为: 向所述响应添加与至少一个输入值相关联的信息,从而所述响应标识所述多个输入值中的每一个输入值。
4.根据权利要求1所述的安全性设备,其中当修改所述响应时,所述一个或者多个处理器被进一步配置为: 选择所述多个输入值中的输入值; 在所述响应内随机选择位置;以及 在所述响应内随机选择的所述位置处插入标识被选择的所述输入值的信息。
5.根据权利要求1所述的安全性设备,其中当修改所述响应时,所述一个或者多个处理器被进一步配置为: 选择所述多个输入值中的输入值; 基于与被选择的所述输入值相关联的信息,在所述响应内选择位置; 在所述响应内被选择的所述位置处,插入标识被选择的所述输入值的信息。
6.根据权利要求1所述的安全性设备,其中所述一个或者多个处理器被进一步配置为: 确定与由所述攻击者设备提供的所述多个输入值中的输入值匹配的信息;并且 其中,当修改所述响应时,所述一个或者多个处理器进一步用于: 通过添加与所述输入值匹配的所述信息来修改所述响应。
7.根据权利要求1所述的安全性设备,其中与多个输入值相关联的所述信息包括: 第一部分信息和第二部分信息;并且 其中所述一个或者多个处理器进一步用于: 确定所述第一部分信息将不被包括在所述响应中; 确定所述第二部分信息将被包括在所述响应中;以及 将所述第二部分信息添加到所述响应。
8.一种用于防止攻击者设备标识与服务器设备相关联的漏洞的系统,所述系统包括: 用于从所述服务器设备接收与由所述攻击者设备提供的请求相关联的响应的装置, 其中所述请求包括输入集; 用于获取标识包括在所述请求中的所述输入集的信息的装置; 用于修改所述响应以包括与所述输入集中的多个输入相关联的信息的装置, 其中所述响应被修改以尝试防止所述攻击者设备接收基于正被包括在被修改的所述响应中的所述输入集中的所述多个输入来标识与所述服务器设备相关联的所述漏洞的信息;以及 用于向所述攻击者设备提供被修改的所述响应的装置。
9.根据权利要求8所述的系统,其中所述用于修改所述响应的装置包括: 用于通过添加标识包括在所述输入集中的第一输入的信息来修改所述响应的第一部分的装置;以及 用于通过添加标识包括在所述输入集中的第二输入的信息来修改所述响应的第二部分的装置。
10.根据权利要求8所述的系统,其中所述用于修改所述响应的装置包括: 用于修改所述响应以包括标识包括在所述输入集中的每一个输入的信息的装置。
11.根据权利要求8所述的系统,其中所述用于修改所述响应的装置包括: 用于选择包括在所述输入集中的具体输入的装置; 用于在所述响应内随机选择位置的装置;以及 用于在所述响应内随机选择的所述位置处插入标识所述具体输入的信息的装置。
12.根据权利要求8所述的系统,其中所述用于修改所述响应的装置包括: 用于选择包括在所述输入集中的具体输入的装置; 用于基于与被选择的所述输入相关联的信息,在所述响应内选择位置的装置; 用于在所述响应内被选择的所述位置处插入标识所述具体输入的信息的装置。
13.根据权利要求8所述的系统,进一步包括: 用于确定与包括在由所述攻击者设备提供的所述输入集中的具体输入匹配的信息的装置;并且 其中,所述用于修改所述响应的装置包括: 用于通过添加与所述具体输入匹配的所述信息来修改所述响应的装置。
14.根据权利要求8所述的系统,其中与所述多个输入相关联的所述信息包括: 第一部分信息和第二部分信息;并且 其中所述系统进一步包括: 用于确定所述第一部分信息将不被包括在所述响应中的装置; 用于确定所述第二部分信息将被包括在所述响应中的装置;以及 用于向所述响应添加所述第二部分信息的装置。
15.一种用于防止攻击者设备标识与服务器设备相关联的漏洞的方法,包括: 由安全性设备接收对请求的响应, 其中所述请求由所述攻击者设备向所述服务器设备提供并且包括输入值, 其中所述输入值由所述攻击者设备提供, 其中所述响应由所述服务器设备提供; 由所述安全性设备确定包括在所述请求中的所述输入值; 由所述安全性设备修改所述响应以包括所述输入值中的多个输入值;以及由所述安全性设备提供被修改的所述响应,以尝试使得所述攻击者设备不能基于正被包括在所述响应中的所述输入值中的所述多个输入值来标识与所述服务器设备相关联的所述漏洞。
16.根据权利要求15所述的方法,其中修改所述响应进一步包括: 通过添加标识所述输入值的第一输入值的信息来修改所述响应的第一部分;以及 通过添加标识所述输入值的第二输入值的信息来修改所述响应的第二部分。
17.根据权利要求15所述的方法,其中修改所述响应进一步包括: 选择所述输入值中的输入值; 在所述响应内随机选择位置;以及 在所述响应内随机选择的所述位置处,插入标识被选择的所述输入值的信息。
18.根据权利要求15所述的方法,其中修改所述响应进一步包括: 选择所述输入值中的输入值; 基于与被选择的所述输入值相关联的信息,在所述响应内选择位置;以及 在所述响应内被选择的所述位置处,插入标识被选择的所述输入值的信息。
19.根据权利要求15所述的方法,进一步包括: 确定与由所述攻击者设备提供的所述输入值中的输入值匹配的信息;并且 其中修改所述响应进一步包括: 通过添加与所述输入值匹配的所述信息来修改所述响应。
20.根据权利要求15所述的方法,其中所述多个输入值包括: 第一部分信息和第二部分信息;并且 其中所述方法进一步包括: 确定所述第一部分信息将不被包括在所述响应中; 确定所述第二部分信息将被包括在所述响应中;以及 向所述响应添加所述第二部分信息。
【文档编号】H04L29/06GK104519045SQ201410514476
【公开日】2015年4月15日 申请日期:2014年9月29日 优先权日:2013年9月30日
【发明者】K·亚当斯 申请人:瞻博网络公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1