Web浏览器中的可执行代码验证的制作方法

文档序号:6359975阅读:171来源:国知局
专利名称:Web浏览器中的可执行代码验证的制作方法
Web浏览器中的可执行代码验证
背景技术
可执行代码是运行web服务的服务器设备上或运行web浏览器的客户机设备上的恶意攻击的潜在攻击向量。一种形式的这种攻击可以是跨站点脚本或XSS攻击。根据一个源,XSS攻击大约占2007年记录的全部安全漏洞的70%。

发明内容
活动过滤器监视web浏览器会话以标识该会话中传输的可执行代码。可以分析该可执行代码以确定该代码是否经数字签名。当代码是由web服务器或由另一个受信源数字签名时,可以执行该代码。当代码未由二者数字签名或当源不是可信的时,可以拒绝并且不执行该代码。过滤器可被实现为web浏览器组件或插件、以及网关设备、代理、或其他服务。 还可在服务器侧实现过滤器以拒绝可能包括未经认证的代码的传入数据。提供本发明内容以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。附图
简沭在附图中图I是示出监视和验证系统可在其中操作的环境的实施例的图示。图2是示出用于监视并验证可执行代码的方法的实施例的流程图示。图3是示出用于监视并处置可执行代码时的客户机操作的方法的实施例的流程图示。图4是示出用于使用经标记的可执行代码时的客户机操作的方法的实施例的流程图示。
具体实施例方式可以监视并分析在web服务器与客户机之间任意方向上传递的可执行代码,以确定是否存在可能的可执行代码。在执行代码之前,可作出判定以验证该可执行代码是经签名的或经认证的。如果该代码未经正确地认证,则可以移除该代码、将其标记为可疑的、或以其他方式处置。可在若干不同的架构中实现监视和验证过程。在客户机侧,监视服务或监视应用可在客户机上操作,并且可以截取和分析传入和传出的可执行代码。在另一个客户机侧实施例中,web浏览器或其他应用可具有与该应用一同运行的插件或其他模块,其中该插件或该其他模块可执行监视和验证。在服务器侧,监视系统可监视并验证来自客户机的传入数据。可在服务器与客户机之间的网关设备、代理、或其他设备中实现其他实施例。监视和验证过程可通过若干方式解决跨站点脚本(XSS)攻击、常见的安全漏洞。当监视到服务器的传入数据流时,可以阻止可能从客户机上传到服务器的恶意代码到达该服务器。类似地,对传入到客户机的数据的监视可以阻止不想要的或恶意可执行代码到达客户机。在本说明书全文中,在对附图的整个描述中,相同的附图标记表示相同的元素。当元素被称为被“连接”或“耦合”时,这些元素可被直接连接或耦合在一起,或者也可存在一个或多个中间元素。相反,当元素被称为被“直接连接”或“直接耦合”时,不存在中间元素。本主题可体现为设备、系统、方法、和/或计算机程序产品。因此,本发明主题的部分或全部可以用硬件和/或软件(包括固件、常驻软件、微码、状态机、门阵列等)来具体化。此外,本发明主题可以采用其上嵌入有供指令执行系统使用或结合其使用的计算机可使用或计算机可读的程序代码的计算机可使用或计算机可读的存储介质上的计算机程序产品的形式。在本文献的上下文中,计算机可使用或计算机可读介质可以是可包含、储存、通信、传播、或传输程序以供指令执行系统、装置或设备使用或结合其使用的任何介质。计算机可使用或计算机可读介质可以是,例如,但不限于,电、磁、光、电磁、红外、 或半导体系统、装置、设备或传播介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据这样的信息的任意方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPR0M、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD )或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或可用于储存所需信息且可由指令执行系统访问的任何其他介质。注意,计算机可使用或计算机可读介质可以是其上打印有程序的纸张或其他合适的介质,因为程序可经由例如对纸张或其他合适的介质的光学扫描来电子地捕获,随后如有必要被编译、解释,或以其他合适的方式处理,并且随后储存在计算机存储器中。通信介质通常以诸如载波或其他传输机构之类的已调制数据信号来具体化计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传送介质。术语“已调制数据信号”可被定义为其一个或多个特性以对信号中的信息编码的方式设置或改变的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上述的任何组合也应包含在计算机可读介质的范围内。当本主题在计算机可执行指令的一般上下文中具体化时,该实施例可包括由一个或多个系统、计算机、或其他设备执行的程序模块。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,程序模块的功能可在各个实施例中按需进行组合或分布。图I是示出可在其中部署监视和验证系统以阻碍XSS攻击的网络环境的实施例100的图示。实施例100是其中在执行可执行代码之前监视、标识并验证可执行代码的网络环境的简化示例。图I的图示出了系统的功能组件。在一些情况下,组件可以是硬件组件、软件组件、或者硬件和软件的组合。一些组件可以是应用级软件,而其他组件可以是操作系统级组件。在一些情况下,一个组件到另一组件的连接可以是紧密连接,其中两个或更多个组件在单个硬件平台上操作。在其他情况下,连接可通过跨长距离的网络连接来进行。每个实施例都可使用不同的硬件、软件、以及互连架构来实现所描述的功能。web客户机与web服务器之间的通信可包括若干不同形式的可执行代码。所传输的数据可包括在HTTP请求和HTTP响应中的、以及嵌入到文档中或web客户机与web服务器之间传输的数据文件中的嵌入脚本或其他可执行代码。在某些情形中,可以监视客户机与服务器之间的其他通信。XSS攻击可被分类为两种主要类型已存储的XSS攻击和已反映的XSS攻击。已存储的XSS攻击包括将恶意可执行代码注射到web服务器中,其中该恶意可执行代码可被存储。攻击受害者可下载该恶意可执行代码并感染客户机设备。恶意可执行代码可被上传到web服务数据库、消息论坛、访问者日志、评论字段、或其他机制。已反射的XSS攻击可以是可使恶意可执行代码反射离开web服务器的那些攻击。可将已反射的攻击通过诸如电子邮件消息的另一条路线或在某个其他web服务器上递送给受害者。当用户被哄骗点击恶意链接或提交专门制作的表格时,恶意可执行代码可行进至web服务器,该web服务器随后将该攻击反射回到客户机设备。当恶意代码看起来传输 自服务器并且客户机执行该恶意代码时,攻击可能成功。监视和验证操作可通过若干不通的方式来解决XSS攻击。当在web服务上可操作时或当监视客户机到服务器的通信时,可在接收通信之前标识并验证潜在可执行代码。对传输自客户机的信息的验证过程可以允许由受信方签名的可执行数据,该受信方可能是客户机或另一个第三方。这种验证过程可阻止恶意可执行代码进入服务器,并且可以是阻止已存储的XSS攻击的第一步。当监视和验证操作监视服务器到客户机的通信时,当可执行代码未由web服务器或受信第三方签名时,可以拒绝来自服务器的任何入站可执行代码。这种验证过程可阻止客户机接收已存储的XSS攻击或已反射的XSS攻击。监视操作可以标识超文本传输协议(HTTP)通信。这种通信通常由web浏览器或客户机设备上的其他应用用来与服务器设备上的web服务通信。在一些实施例中,也可以监视其他通信协议。客户机设备102可与服务器158通信。客户机设备102可执行web浏览器或与服务器158提供的web服务进行通信的其他应用。可以在客户机设备102与服务器158之间的通信路径中的许多不同位置上执行监视和验证操作,以标识并验证潜在可执行代码。客户机设备102可表示具有一组硬件组件104和软件组件106的常规计算设备。一个典型的实施例可以是台式个人计算机,但其他实施例可以是使用任意协议或任意类型的网络连接与服务器158通信的任意类型的设备。客户机设备102的架构可以是个人计算机、服务器计算机、游戏控制台、网络设备、交互式自助服务终端(kiosk)、或其他设备。在一些情形中,客户机设备102可以是移动设备,诸如膝上型或上网本计算机、移动电话、个人数字助理、或用户通过其浏览因特网或以其他方式与服务器158交互的任何其他设备。硬件组件104可包括可以使用随机存取存储器110和非易失性存储112的处理器108。硬件组件104还可以包括网络接口 114以及用户接口 116。软件组件106可以包括若干应用可在其上执行的操作系统118。web浏览器120可以是这种应用的一个示例。许多其他应用也可与服务器158通信。例如,记账应用可与服务器158通信以接收要显示的网页、下载财务数据、或检索记账应用的更新。在本说明书和权利要求书中,可引用web浏览器作为可对其执行监视和验证操作的示例应用。这种引用意为包括性的,对web浏览器应用的任何引用g在应用于任意类型的应用。在客户机设备102上执行的监视和验证操作可主要被定向到客户机设备102从服务器158接收的监视和验证数据。在一些实施例中,监视和验证操作可对由客户机设备102传输到服务器158的数据执行操作。监视操作可以标识在客户机设备102上执行的应用与诸如服务器158的远程服务器之间的通信。在一些实施例中,这种功能可由应用本身来执行,诸如用浏览器120的监视插件122所示的。在另ー个实施例中,単独的监视应用124可监视浏览器120与由网络栈128表示的网络之间的通信。在又一个实施例中,监视服务130可被包括在网络栈128中。
当监视操作被实现为単独的监视应用124或网络栈128上的监视服务130吋,该监视操作可以保护在客户机设备102上执行的任何应用。由此,监视操作可以保护任意应用与服务器158之间的全部通信,并且可以是被包括作为安全监视和保护应用的一部分的实施例,该安全监视和保护应用可提供其他安全功能,诸如恶意软件扫描、防火墙服务、和其他功能。在这个实施例中,可通过若干不同的方式来处置未经验证的可执行代码。在ー种方式中,可从数据中移除未经验证的可执行代码。应用随后可接收具有可执行代码缺失的部分数据集,这可阻止可执行代码被执行。在另ー种方式中,可以标识并标记未经验证的可执行代码。标记可由被配置成接收标记的应用来处理,或者当应用未被配置成处理标记时该标记可被应用忽略。当监视操作在诸如浏览器120中插件122的应用内实现,或该监视操作被实现作为该应用内的集成功能吋,该监视操作可以能够通过不同的方式来处置问题可执行代码。除了上面描述的从数据中移除可执行代码的方式以外,浏览器或具有集成监视的其他应用可通过向用户呈现用户界面来处理可执行代码,用户可通过该用户界面来决定是否执行该代码。在另ー个实施例中,应用可以能够以受控或规定的方式来执行代码,诸如,在“沙箱”模式或具有可限制可执行代码可能具有的任何效果的严格控制的其他模式中。被设计为容纳被置于可执行代码上的标记的应用也可在“沙箱”或受限模式中执行经标记的可执行代码。监视操作可以检测已在客户机102与服务器158之间配置了会话,并且随后可监视该会话以得到通过该会话传递的任何数据。可以分析该数据以标识任何潜在可执行代码。检测机制可分析HTML文档或其他数据以标识潜在可执行代码。这种分析可包括标识包括在通信中的附件或其他文件,标识脚本,或任何其他分析。一旦发现潜在可执行代码,诸如验证器126的验证器可尝试确定可执行代码的数字签名。在一个示例中,可使用从签名的签署者检索到的公钥对数字签名进行解码。数字签名可以是对代码执行散列函数的结果。其他实施例可以使用用于验证数字签名的不同方法。在验证之后,可以许可可执行代码被执行。
为了阻碍XSS攻击,验证器可以允许由诸如web服务器158的web服务器签名的代码。这种签名可使用自签署证书,该证书没有其他验证或者不可追溯到任何其他源。由于XSS攻击是对来自服务器的恶意代码的递送,其中恶意攻击者将可执行代码插入到服务器中,因此自签署证书可能足以阻止XSS攻击。只要web服务器158使用自签署证书,就可使用监视和验证系统来阻碍常规的XSS攻击。自签署证书可以是不具有来自受信第三方的出处或验证的安全证书。一个示例可以是X.509证书。出于其他认证目的,自签署证书通常是不可信的。自签署证书通常用于内部域或其他功能,其中设备中断言证书的信任是靠网络连接的物理位置的,诸如公司场所以内。在XSS攻击的情形中,web服务可以为任何可执行代码使用自签署证书,使得客户机或其他设备可以能够区分在web服务上起源的可执行代码与稍后可能已被插入到web服务中的其他可执行代码。在这种用途中,自签署证书可能足以正确地检测XSS攻击。 一些实施例可以验证由其他方数字签名的代码。在这些情形中,web服务器158可为web服务器158供应的可执行代码提供受信第三方列表,并且可批准与该列表匹配的数字签名中的任ー个。使用该列表,验证器可检索受信证书174之一来验证数字签名。在这个实施例中,可将由不在受信第三方列表上的第三方签名的可执行代码作为未经签名的代码来对待。在一些实施例中,验证器可使用信誉服务176来确定是否信任数字签名。信誉服务176可以是对网站进行评级或分类的服务,并且也可为网站提供安全信息。在一些情形中,信誉服务176可以指示域的可执行代码的可信度以及其他指示符。例如,验证器可以查询信誉服务来确定是否预期特定的web服务为全部可执行代码提供数字签名。验证器可向信誉服务发送网站的统ー资源定位符(URL),并接收回该URL的分类,该分类可包括该URL是否将为任意可执行代码提供数字签名的指示符。如果是,则可以分析来自该URL的数据以得到经签名的可执行代码。在另ー个示例中,来自信誉服务的响应可指示来自特定URL的可执行代码的数字签名的受信源。在这个示例中,大公司可能具有若干网站,每个网站具有不同的URL域。然而,主公司域可包括用于对全部其他域所提供的全部可执行代码进行数字签名的数字证书。在这个示例中,信誉服务可为可信任其数字签名的受信域提供链接或地址。一些实施例可在HTML文档中包括可指示web服务器供应的任何可执行代码被假设为经过数字签名的參数、标记或设置。当监视器检测到这种设置时,该监视器随后可执行对数据的分析以检测可执行代码。这些实施例可以不分析不具有这种參数、标记或设置的HTML文档。其它实施例可以分析每ー个文档以检测可执行代码,并且当数字签名丢失或不正确时限制对可执行代码的访问。在一个实施例中,网关设备132可具有网络连接134,该网络连接134可在设备102可连接其上的局域网与到网络140的广域网连接之间进行桥接。网关设备可被用作执行诸如防火墙、网络地址转换(NAT)和其他安全功能等功能的安全设备。网关设备132可具有连接到网络连接134的监视器136和验证器138。监视器136可分析客户机设备102与服务器158之间的网络连接,并且可检测会话,监视可执行数据的会话,并基于来自验证器138的输入来处置可执行数据。
类似地,代理设备142可具有网络连接144,并且也可包括监视器146和验证器148。代理设备142可以是担当客户机与其他设备之间的中介的系统。代理通常用于过滤通信,诸如以基于例如安全策略来允许或不允许访问站点。代理还可监视两个设备之间的通信,并且验证经正确地数字签名的可执行代码。web网关150可提供与网关132类似的功能,但可用于保护服务器158远离网络140。在一些情形中,网络140可以表示因特网。web网关150可以监视传入数据流。以与网关132类似的方式,web网关150可具有可监视从客户机设备102接收的数据的监视器154和验证器156。web网关150可通过标识并验证可能被包括在传入数据中的任何可执行代码来保护web服务器158免受已存储的XSS攻击。在许多社交联网站点、web应用、博客、和其他交互式网站中,用户可上传可包含隐式或显式可执行代码的许多不同类型的文档,监视器154因此可检测并处置这些可执行代码。服务器158可以表示具有ー组硬件组件160、操作系统162和各种应用的典型的服 务器设备。在一些实例中,服务器158可以是云服务、虚拟机、或其他架构。服务器158可具有响应于客户机请求向客户机设备提供数据的web服务164。web服务通常用于使用HTML通过HTTP向浏览器提供网页,但ー些web服务可使用应用编程接ロ(API)或其他机制来操作。在web服务164与到客户机170的连接之间,监视器166和验证器168可监视来自客户机的传入数据流。以与为实施例100中所示的其他监视器所描述的类似的方式,监视器166和验证器168可监视数据流,标识任何可执行代码,并在允许可执行代码被执行之前验证该可执行代码。图2是示出用于监视并验证可执行代码的方法的实施例200的流程图示。实施例200是可由网关设备、代理设备、或监视应用(诸如,实施例100中所示的网关设备132、代理设备142、或监视应用124)执行的监视和验证活动的简化示例。其他实施例可使用不同的排序、附加或更少的步骤、以及不同的命名或术语来完成类似功能。在一些实施例中,各个操作或操作集合可与其他操作以同步或异步方式并行地执行。此处所选的步骤是为了以简化的形式示出ー些操作原理而选择的。实施例200示出可由位于客户机与服务器之间的应用或设备执行的方法。在ー些情形中,执行实施例200的应用可以是监视特定设备的安全的各个方面的安全应用,该特定设备可以是客户机/服务器通信中的客户机或服务器设备。在框202,检测通信会话。典型实施例可检测web浏览通信会话。这种会话通常通过使用经由特定端ロ的特定协议经由该端ロ通信来执行。在框204,可监视会话。当在框206中没有接收到数据时,过程可循环回到框204。当在框206中接收到数据时,在框208,分析可确定数据是否包括可执行代码。如果在框208中未检测到可执行代码,则过程可循环回到框204。当在框208中发现可执行代码,在框210,分析可以确定是否存在数字签名。如果没有,则在框212,可对信誉服务进行查询以确定服务器是否具有坏信誉。在框212,如果服务器具有坏信誉,则在框214,可从传输移除可执行代码,并且过程可返回到框204。这种情况可阻止具有坏信誉的任何可执行代码到达其预期目标。
在框212,如果服务器具有好信誉,则在框216,可标记该可执行代码。经标记的可执行代码可随通信会话被传输,并由接收设备来处理。可在本说明书稍后呈现的实施例400中找到设备如何处理经标记的可执行代码的示例。在框210,如果代码具有签名,并且在框218它经源服务器签名,或者在框222它经已知的受信源 签名,则在框220,该可执行代码可作为可以执行来对待。在许多实施例中,未经标记的可执行代码可作为可以执行来对待。在框218,如果可执行代码经数字签名,但在框222,未由已知的受信源签名,则在框224,作出源是否是已知的坏源的判定。在框224,如果源不是已知的坏源,则在框228,可标记该可执行代码。在框224,如果源是已知的坏源,则在框226,可移除该可执行代码。图3是示出用于监视并验证如可由客户机应用执行的可执行代码的方法的实施例300的流程图示。实施例300是可由诸如实施例100的web浏览器120的web浏览器执行的监视和验证活动的简化示例。其他实施例可使用不同的排序、附加或更少的步骤、以及不同的命名或术语来完成类似功能。在一些实施例中,各个操作或操作集合可与其他操作以同步或异步方式并行地执行。此处所选的步骤是为了以简化的形式示出ー些操作原理而选择的。实施例300是可由web浏览器或可从远程服务器接收web服务或其他通信的其他应用执行的过程的示例。在一些实施例中,实施例300的操作可被构建并集成到应用中。在其他实施例中,插件应用或其他模块组件可被添加到应用,以执行实施例300的过程中的ー些。在框302,可与服务器建立通信会话。在框304,可以监视数据流。直到在框306中检测到可执行代码,过程可循环回到框304。当在框306中检测到可执行代码时,在框308,对数据的检查可掲示可执行代码是否经数字签名或以其他方式认证。在框308,如果可执行代码未经认证,则在框314,可以查询信誉服务。基于信誉服务的结果,可在框316中确定可执行代码是可信或不可信的。在框316,如果可执行代码是不可信的,则在框318,可阻止执行该代码。在框316,如果可执行代码是可信的,则在框320,可在“沙箱”或受限模式中执行可执行代码。沙箱模式或受限模式可执行代码,但是可以阻止代码执行可能威胁主机系统的某些活动。当在框308中可执行代码是经认证的,且在框310由源服务器或受信源之ー签名时,在框312,可以执行可执行代码。在框312,可在沙箱模式或不在沙箱模式下运行可执行代码。该过程可返回至框304。如果在框308中可执行代码是经认证的,但在框310未由源服务器或受信源签名,则在框322,可以呈现用户界面以允许用户选择许可或拒绝执行。在一些实施例中,安全策略可在没有用户交互的情况下确定答案。在框324,如果用户选择许可执行,则在框320,可在沙箱或受限模式中执行可执行代码。在框324,如果用户选择拒绝执行,则在框318,可以不执行可执行代码。在任一事件中,过程可返回到框304。图4是示出用于处理可能已经由另ー个设备或应用监视并标记的数据流的方法的实施例400的流程图示。实施例400是可由接收诸如实施例200的过程的输出的客户机执行的过程的简化示例。
其他实施例可使用不同的排序、附加或更少的步骤、以及不同的命名或术语来完成类似功能。在一些实施例中,各个操作或操作集合可与其他操作以同步或异步方式并行地执行。此处所选的步骤是为了以简化的形式示出ー些操作原理而选择的。实施例400示出可由客户机设备或应用在接收已经是监视和验证操作的经分析的上行流的数据流时可执行的过程。在实施例100的示例中,当监视和验证操作由监视应用124、网关设备132、或代理设备142中的ー个执行时,实施例400执行的过程可由浏览器120来执行。在框402,启动与服务器的会话。在框404,监视数据流。直到在框404中发现可执行代码,过程可循环回到框404。当在框406中检测到可执行代码时,并且当在框408中未标记可执行代码时,在框410,可以执行可执行代码。
在框408,如果可执行代码被标记,则在框412,可以显示用户界面以接收许可或拒绝执行的用户输入。在框414,如果许可执行,则在框418,可在“沙箱”或受限模式中执行代码。在框414,如果不许可执行,则在框416,不执行代码。该过程可返回至框404。实施例400与实施例300区别于实施例400中可逆流执行验证操作。通常,这种逆流处理可由単独的设备或与消费数据流的客户机应用位于同一设备上的単独的过程来执行。未被标记的可执行代码可以是经认证的可执行代码,而被标记的可执行代码可以是可疑的代码。在示出逆流过程的实施例200的操作中,可从数据流中消除已知为坏的可执行代码,而可以标记未知的或可疑的可执行代码。对本发明的上述描述是出于图示和描述的目的而呈现的。它不g在穷举本主题或将本主题限于所公开的精确形式,并且鉴于上述教导其他修改和变型都是可能的。选择并描述实施例来最好地解释本发明的原理及其实践应用,由此使本领域的其他技术人员能够在各种实施例和各种适于所构想的特定用途的修改中最好地利用本发明。所附权利要求书旨在被解释为包括除受现有技术所限的范围以外的其他替换实施例。
权利要求
1.一种在计算机处理器上执行的方法,所述方法包括 检测客户机与web服务器之间的web浏览器会话; 监视所述web浏览器会话以标识从所述web服务器传递到所述客户机的第一数据; 分析所述第一数据以标识所述第一数据内的第一可执行代码; 标识所述第一可执行代码的第一数字签名; 验证所述第一可执行代码的第一数字签名;以及 基于所述验证来许可执行所述第一可执行代码。
2.如权利要求I所述的方法,其特征在于,还包括 标识从所述web服务器传递到所述客户机的第二数据; 标识所述第二可执行代码的第二数字签名; 尝试验证所述第二数字签名;以及 未能验证所述第二数字签名。
3.如权利要求2所述的方法,其特征在于,还包括 将所述第二数字代码标记为未经验证的。
4.如权利要求2所述的方法,其特征在于,还包括 擦除所述第二可执行代码的至少一部分。
5.如权利要求4所述的方法,其特征在于,所述至少一部分包括所述第二数据的全部。
6.如权利要求I所述的方法,其特征在于,还包括 标识从所述web服务器传递到所述客户机的第二数据; 尝试定位所述第二可执行代码的第二数字签名;以及 未能定位所述第二数字签名。
7.如权利要求6所述的方法,其特征在于,还包括 使得呈现带有警告的用户界面。
8.如权利要求6所述的方法,其特征在于,还包括 擦除所述第二数据的至少一部分。
9.如权利要求I所述的方法,其特征在于,所述第一数字签名由所述web服务器来签署,所述web服务器具有数字证书。
10.如权利要求9所述的方法,其特征在于,所述数字证书是自签署证书。
11.一种系统,包括 网络连接; 会话监视器,所述会话监视器 检测客户机与web服务器之间的web浏览器会话; 监视所述web浏览器会话以标识从所述web服务器传递到所述客户机的第一数据;以及 分析所述第一数据以标识所述第一数据中的第一可执行代码; 验证器(I26),所述验证器 标识所述第一可执行代码的数字签名; 验证所述数字签名;以及 许可所述第一可执行代码被传输到所述客户机。
12.如权利要求11所述的系统,其特征在于,所述系统被包括在操作于所述客户机上的web浏览器中。
13.如权利要求12所述的系统,其特征在于,所述系统是所述web浏览器的插件。
14.如权利要求11所述的系统,其特征在于,所述系统被包括在除所述客户机和所述web浏览器以外的设备中。
15.如权利要求14所述的系统,其特征在于,所述系统是防火墙设备。
全文摘要
活动过滤器监视web浏览器会话以标识该会话中传输的可执行代码。可以分析该可执行代码以确定该代码是否经数字签名。当代码是由web服务器或由另一个受信源数字签名时,可以执行该代码。当代码未由二者数字签名或当源不是可信的时,可以拒绝并且不执行该代码。过滤器可被实现为web浏览器组件或插件、以及网关设备、代理、或其他服务。还可在服务器侧实现过滤器以拒绝可能包括未经认证的代码的传入数据。
文档编号G06F17/00GK102844750SQ201180015229
公开日2012年12月26日 申请日期2011年3月18日 优先权日2010年3月24日
发明者D·B·克罗斯, K·拉丁斯凯 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1