CN105940409A - 网络服务沙箱系统 - Google Patents

网络服务沙箱系统 Download PDF

Info

Publication number
CN105940409A
CN105940409A CN201580006007.7A CN201580006007A CN105940409A CN 105940409 A CN105940409 A CN 105940409A CN 201580006007 A CN201580006007 A CN 201580006007A CN 105940409 A CN105940409 A CN 105940409A
Authority
CN
China
Prior art keywords
sandbox
service
user agent
message
network service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201580006007.7A
Other languages
English (en)
Other versions
CN105940409B (zh
Inventor
杜斌
吴涛
华祥约
梁若莹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN105940409A publication Critical patent/CN105940409A/zh
Application granted granted Critical
Publication of CN105940409B publication Critical patent/CN105940409B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2564NAT traversal for a higher-layer protocol, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer

Abstract

一种网络服务沙箱系统。该网络服务沙箱系统提供对托管用户代理的起始域具有很小风险以至于没有风险安全机制,其针对用户代理从在另一域中托管的潜在非安全的网络服务中取回内容,并且该安全机制使用JSONP来绕开同源策略的限制。用户代理向充当用户代理网络会话和网络服务之间的中介的沙箱服务的单独网络隔离网络会话发布命令消息。沙箱服务对来自网络服务的响应进行实际调用并且进行解析。来自响应的脚本仅在沙箱服务的隔离网络会话中执行。将由沙箱服务从网络服务中获得的结果“安全”内容返回至可以对该内容进行呈现的用户代理。

Description

网络服务沙箱系统
背景技术
通常存在第一域中运行的网络应用从第二域中请求信息的需要。这被称作跨域请求。由于安全性担忧,几乎所有的客户端侧脚本语言(例如,)都具有同源策略。可用于各种编程语言以进行请求并接收响应的XMLHttpRequest(XHR)应用程序接口(API)也实现同源策略。同源策略防止起始域(originating domain)向不同的域发出请求并接收响应。更加具体而言,只有在目标(即,目的地)资源与起始资源具有相同的主机域、协议和端口号时,同源策略才允许对资源(例如,网页或网络服务)的文档对象模型(DOM)的自由访问,并且防止对与起始资源托管在不同域(即,具有不同的主机、协议、或端口)中的目的地资源的DOM的访问。
用于避免由同源策略所施加的限制的多个技术是可用的。跨源资源共享(CORS)是一种草案标准,其利用允许目的地资源明确地指定可以对服务器进行请求的起始域的新的报头来扩展HTTP。尽管所提出的标准允许在指定起始域时使用通配符来允许来自任意域的访问,但这也引入了在一些情况下不可接受的其它限制。例如,使用接受任何域的通配符值“*”不允许请求提供凭证(即,安全套阶层(SSL)证书)或信息记录程序(cookies)。
具有填充的JavaScript对象注释(JSONP)允许跨域请求,而不需要由目的地资源对起始域进行明确地授权。JSONP响应通常是JavaScript代码,其调用关于JavaScript对象注释(JSON)数据的函数调用。换句话说,JSONP响应是在JSON数据周围的包装器(wrapper)。这是通过在JSONP响应中包含这样的脚本元素而实现的,所述脚本元素被动态地注入到超文本标记语言(HTML)文档中,并且当在起始域中执行时从目的地资源加载JSON数据。然而,使用JSONP使得起始域处于风险中。如果目的地资源具有允许脚本代码注入的任何漏洞,则目的地资源将会受到损害(例如,通过恶意脚本代码)。当执行响应中的脚本元素时,起始域遭受来自恶意代码的攻击。
已经关于这些和其它考量而产生了本发明。虽然已经讨论了相对具体的问题,但应该理解的是,在本文所公开的实施例不应该限于解决在背景技术中所标识出的具体的问题。
发明内容
提供了该发明内容以用简化的形式介绍在下文的具体实施方式部分中所进一步描述的概念的选择。该发明内容不旨在排他性地标识所要求保护的主题的关键特征或本质特征,也不旨在用于帮助确定所要求保护的主题的范围。
网络服务沙箱系统的实施例向用户代理提供了用于从在另一域中托管的网络服务中取回内容的安全机制,该安全机制使用JSONP编码来绕开同源策略的限制,并且该同源策略的安全性不能保证对托管用户代理的起始域具有很小风险以至于没有风险。用户代理包括事件处理器(即,事件监听器)、消息发布器、消息监听器、以及框架元素,例如,内联框架元素(例如,iFrame元素)。事件监听器检测涉及对所支持的网络服务进行请求的用户动作。当事件监听器确定已经发起与所支持的网络服务的交互时,事件监听器调用消息发布器并传递事件变元,例如但不限于:动作、搜索词、以及目的地网络服务。消息发布器向沙箱服务发布具有适当的变元的消息。在各种实施例中,消息发布器使用PostMessage,其提供受控机制以安全地避开同源的限制,并且安全地启用跨源/跨文档通信。
在沙箱设备上运行的沙箱服务充当用户代理和网络服务之间的中介。沙箱服务包括消息监听器、消息发布器、请求器、以及JSONP响应解析器。沙箱服务消息监听器接收并处理由用户代理所发布的消息,并且利用来自所接收到的消息的适当信息来调用请求器。请求器接着对网络服务进行网络服务调用。响应解析器处理来自网络服务的JSONP。在各种实施例中,在安全环境中解译脚本元素。没有脚本元素的响应的内容由响应解析器来封装或重新编码,并且沙箱消息发布器被调用。可以将内容重新编码为JSON数据。沙箱服务可以包括框架元素,例如内联框架元素。
与用户代理相关联的网络会话和与沙箱服务相关联的网络会话分离。换句话说,在沙箱服务网络会话中执行的脚本不能够访问并且不能够影响用户代理会话。沙箱服务网络会话充当用户代理和网络服务之间的缓冲器。如果网络服务受到损害,则恶意和/或有害脚本可以获取对沙箱服务网络会话的访问,但是用户代理网络会话和用户的系统保持安全,这是因为沙箱服务限制将脚本元素传递回用户代理。
附图说明
通过参考以下附图将更好地理解本公开的进一步的特征、方面和优点,其中,元素并不按照比例绘制以便更清楚地示出细节,并且其中,在几个视图通篇中,相同的附图标记表示相同的元素:
图1示出了在适当的计算环境中实现的网络服务沙箱系统的一个实施例;
图2是示出了用户代理、沙箱服务、与网络服务之间的交互的网络服务沙箱系统的一个实施例的流程图;
图3是由网络服务沙箱系统所执行的沙箱方法的一个实施例的高级流程图;
图4示出了在用户代理中显示的、来自网络服务的响应的内容;
图5是示出了利用其可以实践本发明实施例的计算设备的物理组件的一个实施例的框图;
图6A和6B是利用其可以实践本发明的实施例的移动计算设备的简化框图;以及
图7是其中可以实践本发明的实施例的分布式计算系统的简化框图。
具体实施方式
以下将参考形成了实施例的一部分并且示出了具体的实施例的附图而更加充分地描述各种实施例。然而,可以以许多不同的形式实现实施例,并且其不应该被解释为对在本文中所阐述的实施例进行限制;相反,提供了这些实施例以使得本公开更加充分和完整,并且其将实施例的范围完全传达给本领域技术人员。可以将实施例实践为方法、系统或设备。从而,实施例可以采用硬件实现的形式、全部软件实现的形式、或者将软件和硬件方面进行组合的实现的形式。因此,以下的详细描述将不被认为是限制性的意义。
在本文中描述并在附图中示出了网络服务沙箱系统的实施例。网络服务沙箱系统提供对托管用户代理的起始域具有很小风险以至于没有风险的安全机制,该安全机制针对用户代理从在另一域中托管的潜在非安全的网络服务中取回内容,并且该安全机制使用JSONP来绕开同源策略的限制。用户代理向充当用户代理网络会话与网络服务之间的中介的沙箱服务的单独的网络会话发布命令消息。沙箱服务对网络服务进行实际调用并解析来自网络服务的响应。来自响应的脚本仅仅在沙箱服务的隔离网络会话中执行。将通过沙箱服务而从网络服务中获得的结果“安全”内容返回至可以呈现该内容的用户代理。
图1示出了在适当的计算环境中所实现的网络服务沙箱系统的一个实施例。网络服务沙箱系统100包括在客户端设备104上执行的用户代理102。用户代理是提供用户界面106的客户端应用,所述用户界面106允许用户108从在目的地设备112上运行的网络服务110(即,目的地资源)中取回信息。用户代理可以是独立应用。在一些实施例中,用户代理可以是另一应用的组件。例如,用户代理可以是能够由相关联的应用114调用的服务或插件。适当的相关联的应用的示例包括但不限于:文字处理、电子表格、数据库、幻灯片演示、电子邮件、绘画、网络浏览器、媒体播放器和游戏应用。
所示出的实施例示出了作为相关联的文字处理应用116的插件来运行的用户代理的一个非限制性示例。在各种实施例中,用户代理包括HTML页面,并且可选地包括提供用户界面的脚本。示例性用户界面在用户代理中提供搜索框118和搜索按钮120,其可以用于发起最终针对网络服务所执行的用户动作。用户界面可以取决于多个因素而改变,所述因素例如但不限于:用户代理和相关联的应用。用户界面还可以允许从相关联的应用来发起针对网络服务的用户动作。例如,用户界面可以许可用户突出显示文档124中的词122,并从菜单126(例如但不限于:相关联的应用菜单栏、使用鼠标来访问的右击菜单、或者通过触摸手势(例如,长按)来访问的径向菜单)中选择搜索动作。
网络服务可以是并且通常是由第三方运行的。网络服务事务通过以计算机可读格式描述的接口,所述计算机可读格式例如是定义了网络服务或应用程序接口(API)的访问点、方法、和其它规范的网络服务定义语言(WSDL)。可以由用户代理访问的网络服务的一个非限制性示例是通过API来访问的网络服务。网络服务接口接受指定输入变元(例如,动作)的消息,并且返回可以由进行请求的客户端来使用的响应(例如,内容)。所述消息是使用以下数据交换格式来编写的,例如但不限于:可扩展标记语言(XML)、JavaScript对象注释(JSON)、以及具有填充的JavaScript注释(JSONP)。通常使用例如但不限于超文本传输协议(HTTP)和超文本传输安全协议(HTTPS)的传输协议来通过互联网发送消息。网络服务可以是具有统一方法集的代表性状态转移(REST)兼容服务或者具有任意方法集的任意的服务。
在客户端设备130上运行的沙箱服务128充当用户代理和网络服务之间的中介。在各种实施例中,沙箱服务在来自用户代理的HTML页面的框架元素(例如,内联框架)中运行,并且包括用于处理从用户代理处所接收到的请求和从网络服务中所接收到的响应的HTML页面和脚本。用户代理、沙箱服务、以及网络服务分别托管在以下不同的域中:起始域132、中间域134、以及目的地域136。因此,中间域以及由沙箱服务所处理的任意潜在有害的脚本不能访问起始域的数据和资源,例如,登入令牌、高速缓存、以及个人信息。使用跨域调用将由用户代理进行的、针对来自所支持的网络服务的信息的初始请求发送给沙箱服务。适当的跨域调用的一个示例是PostMessage函数。沙箱服务基于初始请求来调用网络服务,并且从网络服务中接收响应。沙箱服务接着处理响应,并且生成包含被发送至用户代理的实质内容的新消息。由沙箱返回至用户代理的消息没有任何潜在的恶意元素。
客户端设备和目的地设备经由至少一个计算机网络138通过沙箱服务来进行通信,所述计算机网络例如但不限于:互联网、内联网、局域网、或广域网。客户端设备和目的地设备都是计算设备。用于实现客户端设备的适当的计算设备的示例包括但不限于:台式计算机、膝上型计算机、平板或平面计算机、智能电话、以及智能家电。用户代理和沙箱服务可以在不同处理空间中的同样的计算设备上执行。
图2是示出了用户代理102、沙箱服务128、与网络服务之间的交互的网络服务沙箱系统的一个实施例的流程图。网络服务沙箱系统的起始域132可以是客户端设备的本地域或公共托管域(例如,oaspapps.com)。在各种实施例中,起始域至少托管用户代理,并且还可以托管一个或多个额外应用,例如相关联的应用和其它各种应用202。在各种实施例中,起始域对应于开放系统互连(OSI)服务器的应用层。用户代理可以利用软件库、框架和API,例如但不限于:针对通信功能的.NET框架和XMLHttpRequest API。
用户代理包括事件处理器204(即,事件监听器)、处理与沙箱服务128的通信的沙箱交互组件206、以及用户界面渲染器208。沙箱交互组件包括消息发布器210和消息监听器212。事件监听器检测涉及对所支持的网络服务进行请求的用户动作。用户界面渲染器负责显示用户界面,该用户界面允许用户对所支持的网络服务进行请求,并且显示来自网络服务的响应。调用用户动作的方式可以基于用户代理、相关联的应用、以及用户界面的类型而改变。例如,用户可以在搜索框中输入搜索词,并通过激活搜索按钮来发起搜索。可替代地,用户可以突出显示文档中的词,并通过右击动作或触摸手势来选择搜索选项。消息监听者可以可选地与相关联的应用共享消息,以允许相关联的应用消耗并使用响应。例如,相关联的应用可以将从网络服务中所接收到的内容直接粘贴到利用相关联的应用所创建的文档中。
如由数据流箭头A所表示的,当已经发起与所支持的网络服务110的交互时,事件监听器调用消息发布器,并提供事件变元,例如但不限于:动作、搜索词、以及目的地网络服务。如由数据流箭头B所表示的,消息发布器向沙箱服务发布具有适当变元的消息。消息可以是网络服务可理解的格式,或者消息可以是将由沙箱服务所理解的、并且被转换成与网络服务一起使用的适当的请求格式的中间格式。例如,消息可以是用于从网络服务取回数据的参数化统一资源定位符(URL),或者消息可以是一个或多个参数,例如,命令(如,“callService”)和对应的变元(例如,服务名称、服务地址、或搜索词)。在各种实施例中,消息发布器使用由Java、JavaScript、或网络API所提供的PostMessage函数。PostMessage方法提供受控机制以安全地避开同源的限制,并安全地启用跨源/跨文档通信。
沙箱服务包括用户代理交互组件212和网络服务交互组件214。用户代理交互组件与沙箱交互组件合作以在用户代理102和沙箱服务128之间提供双向通信。用户代理交互组件包括消息监听器216和消息发布器218。网络服务交互组件与沙箱交互组件合作以提供在沙箱服务和网络服务之间的双向通信。网络服务交互组件包括消息监听器216和响应解析器222。在各种实施例中,响应解析器是JSONP解析器和解译器。
沙箱服务消息监听器216接收并处理由用户代理所发布的消息,并且利用来自所接收到的消息的适当信息而对网络服务进行网络服务调用,如由数据流箭头C所表示的。例如,沙箱服务消息监听器可以生成参数化统一资源定位符(URL)以用于从网络服务中取回数据。响应解析器从网络服务中接收响应,如由数据流箭头D所表示的。响应解析器解析数据元素,并且解译任何脚本元素。在各种实施例中,脚本元素是在诸如隔离的网络会话(即,沙箱)之类的安全环境中被解译的。一旦已经从网络服务中获得了内容并且已经在沙箱中执行了所有的脚本元素,则由响应解析器来对没有任何脚本元素的内容进行封装或重新编码,并且调用沙箱消息发布器。可以将所述内容重新编码成JSON数据。消息发布器将消息重新定向至用户代理,如由数据流箭头E所表示的。在各种实施例中,沙箱消息发布器使用PostMEssage函数来返回包含从网络服务中取回的数据(即,内容)的序列化的JSON数据。用户代理消息监听器可以可选地解析消息(例如,序列化的JSON数据)而不对其进行评估或解译,并且仅允许呈现非脚本元素以提供额外的防护层。因为对沙箱服务的访问是受限的并且响应是在可用于用户代理之前由沙箱服务来处理的,所以可以将能够威胁起始域132的完整性的恶意内容的风险最小化到不存在。
与用户代理相关联的网络会话和与沙箱服务相关联的网络会话是分离的。换句话说,在沙箱服务网络会话中执行的脚本不能访问并且不能影响用户代理会话。沙箱服务网络会话充当用户代理与网络服务之间的缓冲器。在网络服务已经被损害的事件中,恶意的和/或有害的脚本可以获取沙对箱服务网络会话的访问,但是用户代理网络会话和用户的系统保持安全,这是因为沙箱服务限制将脚本元素传递回用户代理。
图3是由网络服务沙箱系统所执行的沙箱方法的一个实施例的高级流程图。沙箱方法300开始于事件检测操作302。例如,事件检测用户可以对用户在用户代理中执行关键词搜索做出响应。沙箱发布操作304向沙箱服务发布消息,该消息包含指示沙箱服务从网络服务中请求数据的命令。
消息接收操作306在沙箱服务端点(即,沙箱服务消息监听器)处接收消息,并且对消息进行处理。在各种实施例中,沙箱服务消息监听器基于经批准的域的白名单来对消息进行过滤。将消息或来自消息的相关信息(例如,诸如正在搜索的关键词之类的参数)传递给请求者。网络服务请求操作308对网络服务进行实际的请求。这可以涉及将由用户代理所发布的消息定址到网络服务端点、将消息重新格式化为网络服务可接受的、或者基于由用户代理所发布的消息来生成新的请求。因为沙箱服务被托管于与网络服务不同的域中,所以同源策略的限制约束了沙箱服务和网络服务之间的交互。在各种实施例中,网络服务提供JSONP响应,以允许自身发起的跨域通信或由于请求指定了针对响应的JSONP的跨域通信。
响应解析操作310解析并解译来自网络服务的响应。在各种实施例中,网络服务利用JSONP响应而进行响应。可以将脚本元素动态地插入到由沙箱服务编译并在网络服务处针对JSON执行的文档中,以便绕开同源策略的限制。由于与使用JSONP相关联的潜在安全风险,威胁减轻操作312致力于消除那些潜在的安全风险。最终,威胁减轻操作通过解译和执行JSONP响应的脚本元素而从网络服务中获得内容(例如,经JSON编码的数据)。接着对没有任何脚本元素的“安全的”内容(即,非脚本内容)进行重新编码以用于传输至用户代理。例如,可以将非脚本HTML元素重新编码为序列化的JSON有效载荷,其使用PostMessage函数而被返回并由用户代理来呈现。响应解析操作的最终输出是从网络服务中所接收到的、非脚本HTML元素中的内容,该内容在由用户代理呈现时不会产生恶意代码执行的任何风险。
在响应发布操作314中,响应解析器将来自包含沙箱服务的框架元素(例如,内联框架)中的消息发布至上级HTML页面(即,用户代理),其中所述沙箱服务包含经编码的数据。响应接收操作316在用户代理消息监听器处从沙箱服务中接收消息,并且根据需要来处理响应消息。例如,用户代理端点可以执行对经编码的数据进行解析以提取内容而不解译或执行经编码的数据。在各种实施例中,沙箱服务消息监听器基于经批准的域的白名单来过滤消息。呈现操作318在用户代理中呈现内容以供用户查看。
不像会被恶意代码感染的持续和公开可用的网络服务,对沙箱服务的访问是受限的。此外,如果沙箱服务使用虚拟机,则当虚拟机未被实例化时丢弃恶意代码。虚拟机刷新地越频繁,潜在威胁的风险越降低。此外,由沙箱服务器所提供的内容几乎不包含(如果有的话)脚本元素。
图4示出了在用户代理中显示的来自网络服务的响应的内容。在图示实施例中,相关联的应用是电子表单应用400。在框架元素404中显示内容402。
该申请的主题可以在诸如系统、设备、和其它制品或方法之类的多种实施例中实践。实施例可以被实现为硬件、软件、计算机可读介质、或其组合。可以经由多种计算系统来运行在本文中所描述的实施例和功能,所述计算系统包括但不限于:台式计算机系统、有线和无线计算系统、移动计算系统104(例如,移动电话、上网本、平板或平板类计算机、笔记本计算机、以及膝上型计算机)、手持设备、多处理器系统、基于微处理器的或可编程的消费型电子产品、迷你计算机、以及大型计算机。
可以经由板载计算设备显示器或者经由与一个或多个计算设备104相关联的远程显示器单元来显示用户界面和各种类型的信息。例如,可以在其上投影有用户界面和各种类型的信息的墙面上来显示用户界面和各种类型的信息,并与其进行交互。与利用其可以实践本发明的实施例的多种计算系统的交互包括:击键输入、触摸屏输入、语音或其他音频输入、手势输入(在相关联的计算设备装备有用于捕获和解译用于控制计算设备的功能的用户手势的检测(例如,相机)功能的情况下)等。
图5和图6及相关联的说明提供了对其中可以实践本发明实施例的多种操作环境的讨论。然而,示出并讨论的设备和系统是出于示例和说明的目的的,而不限制可以用于实践上文中所描述的本发明的实施例的大量的计算设备配置。
图5是示出了利用其可以实践本发明实施例的计算设备500的物理组件(即,硬件)的框图。在下文中所描述的计算设备组件可以适用于实施计算设备,包括但不限于:个人计算机、平板计算机、平面计算机、以及智能电话、或者在本文中所讨论的任何其它计算设备。在基本配置中,计算设备500可以包括至少一个处理单元502和系统存储器504。取决于计算设备的配置和类型,系统存储器504可以包括但不限于:易失性存储设备(例如,随机存取存储器)、非易失性存储设备(例如,只读存储器)、闪速存储器、或者这样的存储器的任何组合。系统存储器504可以包括操作系统505以及一个或多个程序模块506,其适用于运行诸如用户代理102和相关联的应用114之类的软件应用520。例如,操作系统505可以适用于控制计算设备500的操作。此外,可以结合图形库、其它操作系统、或任意其它应用程序来实践本发明的实施例,并且所述实施例不限于任何特定的应用或系统。该基本配置是由虚线508内的那些组件所示出的。计算设备500可以具有额外的特征或功能。例如,计算设备500还可以包括额外的数据存储设备(可移动的和/或不可移动的),例如,磁盘、光盘、或磁带。这样的额外的存储设备是由可移动存储设备509和不可移动存储设备510所示出的。
如上所述,可以将多个程序模块和数据文件存储在系统存储器504中。当在处理单元502上执行时,软件应用520可以执行过程,包括但不限于沙箱方法300中的一个或多个步骤。可以根据本发明的实施例来使用的其它程序模块可以包括电子邮件和联系人应用、文字处理应用、电子表格应用、数据库应用、幻灯片演示应用、绘画或计算机辅助应用程序等。
此外,可以在包括分立电子元件、包含逻辑门的封装的或集成的电子芯片、利用微处理器的电路、或包含电子元件或微处理器的单个芯片的电路中实践本发明的实施例。例如,可以经由片上系统(SOC)来实践本发明的实施例,其中,所示出的组件中的每个或多个可以集成到单个集成电路上。这样的SOC设备可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元、以及全都作为单个集成电路集成(或“烧制”)到芯片衬底上的各种应用功能。当经由SOC操作时,在本文中关于软件应用520所描述的功能可以经由与单个集成电路(芯片)上的计算设备500的其它组件一起集成的专用逻辑来操作。还可以使用能够执行逻辑运算(例如,与、或、非)的其它技术来实践本发明的实施例,所述技术包括但不限于:机械、光学、流体、和量子技术。另外,可以在通用计算机中或者在任何其它电路或系统中实践本发明的实施例。
计算设备500还可以具有一个或多个输入设备512,例如,键盘、鼠标、笔、声音输入设备、触摸输入设备等。还可以包括诸如显示器、扬声器、打印机等之类的输出设备514。前述设备是示例并且可以使用其它设备。计算设备500可以包括允许与其它计算设备518进行通信的一个或多个通信连接516。适当的通信连接516的示例包括但不限于:RF发射机、接收机、和/或收发机电路;通用串行总线(USB)、并行、和/或串行端口。
如在本文中所使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块之类的信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动的介质。系统存储器504、可移动存储设备509、和不可移动存储设备510全都是计算机存储介质的示例(即,存储器存储)。计算机存储介质可以包括:随机存取存储器(RAM)、只读存储器(ROM)、电可擦除只读存储器(EEPROM)、闪速存储器或其他存储器技术、压缩盘只读存储器(CD-ROM)、数字通用盘(DVD)或其他光存储、盒式磁带、磁带、磁盘存储器或其他磁存储设备、或者可以用于存储信息并且可以由计算设备500所访问的任何其他制造物。任何这样的计算机存储介质都可以是计算设备500的一部分。
图6A和6B示出了可以利用其实践本发明的实施例的移动计算设备600。适当的移动计算设备的示例包括但不限于:移动电话、智能电话、平板计算机、以及膝上型计算机。在基本配置中,移动计算设备600是既具有输入元件又具有输出元件的手持式计算机。移动计算设备600通常包括显示器605以及允许用户将信息输入到移动计算设备600中的一个或多个输入按钮610。移动计算设备600的显示器605也可以充当输入设备(例如,触摸屏显示器)。如果被包括,则可选的侧输入元件615允许进一步的用户输入。侧输入元件615可以是旋转开关、按钮或任何其他类型的手动输入元件。在可替代的实施例中,移动计算设备600可以包含更多或更少的输入元件。例如,在一些实施例中,显示器605可以不是触摸屏。在另一个可替代的实施例中,移动计算设备600是便携式电话系统,例如蜂窝电话。移动计算设备600还可以包括可选的小键盘635。可选的小键盘635可以是物理小键盘或者在触摸屏显示器上生成的“软”小键盘。在各种实施例中,输出元件包括用于示出图形用户界面(GUI)的显示器605、视觉指示器620(例如,发光二极管)、和/或音频换能器625(例如,扬声器)。在一些实施例中,移动计算设备600包含用于给用户提供触觉反馈的振动换能器。在另一个实施例中,移动计算设备600包含用于向外部设备发送信号或从外部设备中接收信号的输入和/或输出端口,例如音频输入(例如,麦克风插孔)、音频输出(例如,耳机插孔)、和视频输出(例如,HDMI端口)。
图6B是示出了移动计算设备的一个实施例的架构的框图。即,移动计算设备600可以包括用于实现一些实施例的系统(即,架构)602。在一个实施例中,系统602被实现为能够运行一个或多个应用(例如,浏览器、电子邮件、记事本、联系人管理器、消息发送客户端、游戏、和媒体客户端/播放器)的智能电话。在一些实施例中,系统602被集成为计算设备,例如集成的个人数字助理(PDA)和无线电话。
一个或多个应用程序665可以被载入到存储器662中,并且在操作系统664上运行或者与操作系统664相关联地运行。应用程序的示例包括:电话拨号程序、电子邮件程序、个人信息管理(PIM)程序、文字处理程序、电子表格程序、互联网浏览器程序、消息发送程序等。系统602还包括存储器662内的非易失性存储区域668。非易失性存储区域668可以用于存储在系统602断电时不应丢失的永久信息。应用程序665可以使用信息并将信息存储在非易失性存储区域668中,例如电子邮件应用程序所使用的电子邮件或其他消息等。同步应用(未示出)也驻留在系统602上,并且被编程为与驻留在主机计算机上的对应的同步应用进行交互,以将存储在非易失性存储区域668中的信息与存储在主机计算机上的对应的信息保持同步。应当理解的是,包括在本文中所描述的软件应用520的其他应用可以被加载到存储器662中并且在移动计算设备600上运行。
系统602具有电源670,其可以被实现为一个或多个电池。电源670还可以包括外部电源,例如,AC适配器或者对电池供电或充电的加电对接托架。
系统602还可以包括执行发送和接收射频通信的功能的无线电设备672。无线电设备672可以经由通信运营商或服务提供商来促成系统602和外部世界之间的无线连通性。到无线电设备672和来自无线电设备672的传输是在操作系统664的控制下进行的。换句话说,由无线电设备672所接收到的通信可以经由操作系统664散播至应用程序665,反之亦然。
视觉指示器620可以用于提供视觉通知,并且/或音频接口674可以用于经由音频换能器625来产生可听见的通知。在所示出的实施例中,视觉指示器620是发光二极管(LED),而音频换能器625是扬声器。这些设备可以直接耦合至电源670,使得当被激活时,即使为了保存电池电量可以关闭处理器660和其他组件,它们也在由通知机制所规定的期间内保持通电。LED可以被编程为保持无限期地通电以指示设备的通电状态,直到用户采取动作为止。音频接口674用于向用户提供可听见的信号并从用户处接收可听见的信号。例如,除了耦合至音频换能器625之外,音频接口674还可以耦合至麦克风以接收可听见的输入,从而例如促成电话交谈。根据本发明的实施例,麦克风也可以充当音频传感器以促进对通知的控制,如将在下文中所描述的。系统602还可以包括使能够操作板载相机630来记录静止的图像、视频流等的视频接口676。
实现系统602的移动计算设备600可以具有额外的特征或功能。例如,移动计算设备600还可以包括额外的数据存储设备(可移动的和/或不可移动的),例如,磁盘、光盘、或磁带。由非易失性存储区域668示出了这样额外的存储。
由移动计算设备600所生成或捕获的、并且经由系统602所存储的数据/信息可以本地地存储在移动计算设备600上,如上所述,或者所述数据可以存储在可以由设备通过无线电设备672或者经由移动计算设备600和与移动计算设备600相关联的分离的计算设备之间的有线连接来访问的任何数量的存储介质中,例如,分布式计算网络(例如,互联网)中的服务器计算机。应当理解的是,这样的数据/信息可以通过移动计算设备600经由无线电设备672或者经由分布式计算网络来访问。类似地,这样的数据/信息可以根据公知的数据/信息传输和存储单元(包括电子邮件和协作数据/信息共享系统)容易地在计算设备之间进行存储和使用。
图7示出了用于向一个或多个客户端设备提供网络服务沙箱系统功能的架构的一个实施例,如上所述。与软件应用520相关联地开发、交互、或编辑的内容可以存储在不同的通信信道中或其他存储器类型中。例如,可以使用目录服务722、门户网站724、邮箱服务726、即时消息存储728、或社交网站730来存储各种文件。如在本文中所描述的,软件应用520可以使用这些类型的系统中的任何一种等来启用数据利用。服务器720可以将软件应用520提供至客户端。作为一个示例,服务器720可以是通过网络提供软件应用520的网络服务器。服务器720可以通过网络将软件应用520提供至客户端。作为示例,客户端计算设备可以被实现为计算设备500,并且在个人计算机702a、平板计算机702b、和/或移动计算设备702c(例如,智能电话)中实施。客户端设备102的这些实施例中的任何一个都可以从存储716中获得内容。
在该申请中所提供的对一个或多个实施例的描述和说明旨在向本领域技术人员提供对主题的完整范围的完全彻底和完整的公开,而不旨在以任何方式限制或约束本发明的范围。在该申请中所提供的实施例、示例、和细节被认为足以表达所有权,并且使得本领域技术人员能够实践所要求保护的发明的最佳模式。被认为是本领域技术人员所公知的对结构、资源、操作、和动作的描述可以是简短的或者被省略,以避免使得该申请的主题的较少人知道的方面或独特的方面难以理解。除非在本文中明确地指出,否则,所要求保护的发明都不应该被解释为限于在该申请中所提供的任何实施例、示例、或细节。无论是组合还是单独地被示出和描述,各种特征(包括结构和方法)都旨在被选择性地包括或省略,以产生具有一组特定特征的实施例。此外,任何或所有示出或描述的功能和动作可以以任意顺序或同时执行。在已经提供了本申请的描述和说明之后,本领域技术人员可设想变型、修改和替代实施例,其落入到在该申请中所实施的总体构思的更宽泛的方面的精神内,而不脱离所要求保护的发明的更宽泛的范围。

Claims (10)

1.一种从网络服务响应中移除潜在有害的脚本元素以保护用户的系统的方法,所述方法包括以下操作:
检测与对由用户代理从所述网络服务中获得信息的请求相对应的用户动作;
将与来自在第一域中托管的所述用户代理中的上级HTML页面的所述用户动作相对应的命令发送至在所述上级HTML页面的内联框架中运行的沙箱服务,所述沙箱服务是在第二域中托管的;
基于所述命令,从沙箱服务调用第三域中的网络服务;
在所述沙箱服务处从所述网络服务接收包含脚本元素的响应;
由所述沙箱服务来解析所述响应,以获得没有脚本元素的网络服务数据;
将所述没有脚本元素的网络服务数据发送至所述用户代理;以及
在所述用户代理中呈现所述没有脚本元素的网络服务数据。
2.根据权利要求1所述的方法,其中,将与来自在第一域中托管的所述用户代理中的上级HTML页面的所述用户动作相对应的命令发送至在所述上级HTML页面的内联框架中运行的沙箱服务的操作还包括:向所述沙箱服务发布包含所述命令的跨文档消息的操作。
3.根据权利要求1所述的方法,其中,由所述沙箱服务来解析所述响应以获得没有脚本元素的网络服务数据的操作还包括:在与所述沙箱服务相关联的第一网络会话中执行所述脚本元素的操作,其中,所述第一网络会话和与所述用户代理相关联的第二网络会话是分离的。
4.根据权利要求1所述的方法,其中,将所述没有脚本元素的网络服务数据发送至所述用户代理的操作还包括以下操作:
由所述沙箱服务将从所述网络服务中所获得的非脚本元素编码为序列化的JSON数据;以及
从所述沙箱服务向所述用户代理发布包含所述序列化的JSON数据的跨文档消息。
5.根据权利要求1所述的方法,其中,来自所述网络服务的所述响应是JSONP响应。
6.一种从网络服务响应中移除潜在有害的脚本元素的系统,所述系统包括:
第一计算设备,其具有处理器、存储器、网络连接、以及显示屏;
用户代理,其在所述第一计算设备上运行并且在第一域中托管,所述用户代理包括上级HTML页面;以及
沙箱服务,其在第二域中托管并且在所述上级HTML页面的内联框架中运行,所述沙箱能够操作以从所述用户代理接收指示待从在第三域中托管的网络服务所请求的内容的消息、代表所述用户代理针对所述内容而对网络服务进行请求、从网络服务响应中产生移除了潜在有害的元素的沙箱输出、并且将所述沙箱输出发送至所述用户代理,其中,所述第一域、所述第二域、和所述第三域彼此不同。
7.根据权利要求6所述的系统:
其中,所述用户代理包括:
事件监听器,其能够操作以检测从网络服务请求信息的用户动作;以及
与所述上级HTML页面相关联的用户代理消息发布器,所述用户代理消息发布器能够操作以将与由所述事件监听器所发布的用户动作相对应的第一消息重新定向至所述沙箱服务;并且
其中,所述沙箱服务包括:
与所述沙箱服务相关联的沙箱消息监听器,所述沙箱消息监听器能够操作以接收所述第一消息;
与所述沙箱服务相关联的网络服务请求器,所述网络服务请求器能够操作以向所述网络服务发送对应于所述第一消息的请求;
与所述沙箱服务相关联的响应解析器,所述响应解析器能够操作以接收并解析来自所述网络服务的响应,并产生移除了潜在有害的元素的所述沙箱输出;以及
沙箱消息发布器,其能够操作以向所述用户代理发送对应于所述响应解析器的输出的第二消息。
8.根据权利要求7所述的系统,其中,所述用户代理还包括与所述上级HTML页面相关联的用户代理消息监听器,所述用户代理消息监听器能够操作以接收并呈现所述第二消息的内容。
9.根据权利要求7所述的系统,其中,所述用户代理还包括与所述用户代理相关联的用户界面渲染器,所述用户界面渲染器能够操作以在所述第一计算设备的所述显示屏上显示所述上级HTML页面的内容。
10.一种包含计算机可执行指令的计算机可读介质,当由计算机执行时,所述指令执行保护从网络服务请求信息的系统免受潜在有害的内容的损害的方法,所述方法包括以下操作:
在第一域中托管用户代理;
在所述用户代理中提供内联框架;
在所述内联框架中运行沙箱服务,并且在第二域中托管所述沙箱服务;
从所述用户代理向所述沙箱服务发送请求消息;
基于所述消息,对第三域中的网络服务进行调用;
在所述沙箱服务处接收对所述调用的JSONP响应,该响应能够携带潜在有害的内容;
由所述沙箱服务来处理所述JSONP响应以移除所述潜在有害的内容并获得无害的内容;以及
将所述无害的内容发送至所述用户代理。
CN201580006007.7A 2014-01-27 2015-01-21 网络服务沙箱系统 Active CN105940409B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/165,321 2014-01-27
US14/165,321 US9349000B2 (en) 2014-01-27 2014-01-27 Web service sandbox system
PCT/US2015/012113 WO2015112519A1 (en) 2014-01-27 2015-01-21 Web service sandbox system

Publications (2)

Publication Number Publication Date
CN105940409A true CN105940409A (zh) 2016-09-14
CN105940409B CN105940409B (zh) 2018-12-04

Family

ID=52463164

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580006007.7A Active CN105940409B (zh) 2014-01-27 2015-01-21 网络服务沙箱系统

Country Status (4)

Country Link
US (1) US9349000B2 (zh)
EP (1) EP3100200B1 (zh)
CN (1) CN105940409B (zh)
WO (1) WO2015112519A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108234526A (zh) * 2018-04-12 2018-06-29 厦门安胜网络科技有限公司 一种在沙箱中获取https数据的方法、装置、设备及可读介质
JP2019532384A (ja) * 2017-06-16 2019-11-07 グーグル エルエルシー 制限されたコンピュータ環境におけるクロスオリジン通信
CN111356985A (zh) * 2017-08-29 2020-06-30 赛门铁克公司 用于阻止恶意应用程序利用应用程序服务的系统和方法
CN114417323A (zh) * 2022-01-21 2022-04-29 北京飞书科技有限公司 数据引用方法、装置、设备及介质

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9532222B2 (en) 2010-03-03 2016-12-27 Duo Security, Inc. System and method of notifying mobile devices to complete transactions after additional agent verification
US9544143B2 (en) 2010-03-03 2017-01-10 Duo Security, Inc. System and method of notifying mobile devices to complete transactions
US9547626B2 (en) 2011-01-29 2017-01-17 Sdl Plc Systems, methods, and media for managing ambient adaptability of web applications and web services
US10657540B2 (en) 2011-01-29 2020-05-19 Sdl Netherlands B.V. Systems, methods, and media for web content management
US10580015B2 (en) 2011-02-25 2020-03-03 Sdl Netherlands B.V. Systems, methods, and media for executing and optimizing online marketing initiatives
US9467463B2 (en) 2011-09-02 2016-10-11 Duo Security, Inc. System and method for assessing vulnerability of a mobile device
US9773270B2 (en) 2012-05-11 2017-09-26 Fredhopper B.V. Method and system for recommending products based on a ranking cocktail
US10452740B2 (en) 2012-09-14 2019-10-22 Sdl Netherlands B.V. External content libraries
US11386186B2 (en) 2012-09-14 2022-07-12 Sdl Netherlands B.V. External content library connector systems and methods
US11308528B2 (en) 2012-09-14 2022-04-19 Sdl Netherlands B.V. Blueprinting of multimedia assets
CN105630757B (zh) * 2014-11-07 2019-11-26 珠海金山办公软件有限公司 一种数据编辑方法及装置
US10187446B2 (en) * 2015-03-23 2019-01-22 Sonicwall Inc. Firewall multi-level security dynamic host-based sandbox generation for embedded URL links
US9608959B2 (en) 2015-03-23 2017-03-28 Quest Software Inc. Non RFC-compliant protocol classification based on real use
US9652269B2 (en) * 2015-04-03 2017-05-16 Oracle International Corporation System and method for supporting representational state transfer services natively in a service bus runtime
US9977700B2 (en) 2015-04-03 2018-05-22 Oracle International Corporation System and method for providing an application programming interface for deploying a service bus artifact from a local development environment to a cloud environment
US10091086B2 (en) 2015-04-03 2018-10-02 Oracle International Corporation System and method for providing an application programming interface manager for use with a service bus runtime
US10313451B2 (en) 2015-04-03 2019-06-04 Oracle International Corporation System and method for providing a configuration wizard for use in creating representational state transfer services for execution in a service bus runtime
US10671565B2 (en) 2015-04-24 2020-06-02 Quest Software Inc. Partitioning target data to improve data replication performance
US9658794B2 (en) 2015-05-08 2017-05-23 Sonicwall Inc. Two stage memory allocation using a cache
US10567395B2 (en) * 2015-05-10 2020-02-18 Check Point Advanced Threat Prevention Ltd Detection of potentially malicious web content by emulating user behavior and user environment
US9485231B1 (en) 2015-05-26 2016-11-01 Dell Software Inc. Securing internet of things communications across multiple vendors
ES2758755T3 (es) 2015-06-01 2020-05-06 Duo Security Inc Método para aplicar normas de salud de punto final
US9888011B2 (en) 2015-07-31 2018-02-06 Sonicwall Inc. Social media login and interaction management
US10614167B2 (en) * 2015-10-30 2020-04-07 Sdl Plc Translation review workflow systems and methods
US10768975B2 (en) * 2016-03-04 2020-09-08 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method
US10135840B2 (en) * 2016-07-15 2018-11-20 Dell Products L.P. System and method for speed dialing information handling system configuration changes
CN106375144B (zh) * 2016-08-29 2019-07-30 北京知道未来信息技术有限公司 一种基于jsonp跨域获取信息的网络溯源方法
US10623358B2 (en) * 2017-02-14 2020-04-14 International Business Machines Corporation Facilitating message processing at a target endpoint
US10749894B2 (en) * 2017-02-15 2020-08-18 Cisco Technology, Inc. Prefetch intrusion detection system
US10733376B2 (en) * 2017-03-01 2020-08-04 Google Llc Delivering auto-play media content element from cross origin resources
US10419377B2 (en) * 2017-05-31 2019-09-17 Apple Inc. Method and system for categorizing instant messages
CN109299117B (zh) * 2017-07-25 2022-07-29 北京国双科技有限公司 数据请求的处理方法和装置、存储介质、处理器
US10412113B2 (en) 2017-12-08 2019-09-10 Duo Security, Inc. Systems and methods for intelligently configuring computer security
CN111221626B (zh) * 2020-01-03 2023-06-30 北京字节跳动网络技术有限公司 一种沙盒系统环境的创建方法、装置、介质和电子设备
US11755720B2 (en) * 2020-01-31 2023-09-12 Salesforce, Inc. Secure membranes and cross namespace communication
US11323545B1 (en) * 2021-05-04 2022-05-03 Microsoft Technology Licensing, Llc Resilient and data-oriented approach for application data processing
CN114697381A (zh) * 2022-03-24 2022-07-01 京东科技控股股份有限公司 业务运行方法、装置、存储介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050091536A1 (en) * 2003-10-28 2005-04-28 Ray Whitmer Securing resources from untrusted scripts behind firewalls
US20070226773A1 (en) * 2006-03-21 2007-09-27 Novell, Inc. System and method for using sandboxes in a managed shell
CN102289628A (zh) * 2011-07-21 2011-12-21 浙江大学城市学院 基于沙箱技术的shell脚本安全运行方法及系统
CN102436508A (zh) * 2011-12-28 2012-05-02 奇智软件(北京)有限公司 基于沙箱技术浏览网页的方法及装置
CN103336774A (zh) * 2012-04-27 2013-10-02 微软公司 通过沙箱从网站检索内容

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070156871A1 (en) 2005-12-30 2007-07-05 Michael Braun Secure dynamic HTML pages
US8250082B2 (en) 2006-06-23 2012-08-21 Microsoft Corporation Cross domain communication
US20090271690A1 (en) 2008-04-28 2009-10-29 Yahoo! Inc. Handling cross-domain web service calls
US8291475B2 (en) 2008-04-30 2012-10-16 Microsoft Corporation Secure cross-domain communication for web mashups
US8869024B2 (en) 2009-07-20 2014-10-21 Facebook, Inc. Monitoring a background process in a web browser and providing status of same
US9514024B2 (en) * 2009-09-29 2016-12-06 Oracle International Corporation Agentless data collection
US8438640B1 (en) 2010-12-21 2013-05-07 Adobe Systems Incorporated Method and apparatus for reverse patching of application programming interface calls in a sandbox environment
US20120317238A1 (en) 2011-06-09 2012-12-13 Salesforce.Com, Inc. Secure cross-domain communication

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050091536A1 (en) * 2003-10-28 2005-04-28 Ray Whitmer Securing resources from untrusted scripts behind firewalls
US20070226773A1 (en) * 2006-03-21 2007-09-27 Novell, Inc. System and method for using sandboxes in a managed shell
CN102289628A (zh) * 2011-07-21 2011-12-21 浙江大学城市学院 基于沙箱技术的shell脚本安全运行方法及系统
CN102436508A (zh) * 2011-12-28 2012-05-02 奇智软件(北京)有限公司 基于沙箱技术浏览网页的方法及装置
CN103336774A (zh) * 2012-04-27 2013-10-02 微软公司 通过沙箱从网站检索内容

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019532384A (ja) * 2017-06-16 2019-11-07 グーグル エルエルシー 制限されたコンピュータ環境におけるクロスオリジン通信
JP2021015635A (ja) * 2017-06-16 2021-02-12 グーグル エルエルシーGoogle LLC 制限されたコンピュータ環境におけるクロスオリジン通信
US11171993B2 (en) 2017-06-16 2021-11-09 Google Llc Cross-origin communication in restricted computer environments
JP7125461B2 (ja) 2017-06-16 2022-08-24 グーグル エルエルシー 制限されたコンピュータ環境におけるクロスオリジン通信
CN111356985A (zh) * 2017-08-29 2020-06-30 赛门铁克公司 用于阻止恶意应用程序利用应用程序服务的系统和方法
CN108234526A (zh) * 2018-04-12 2018-06-29 厦门安胜网络科技有限公司 一种在沙箱中获取https数据的方法、装置、设备及可读介质
CN108234526B (zh) * 2018-04-12 2020-06-26 厦门安胜网络科技有限公司 一种在沙箱中获取https数据的方法、装置、设备及可读介质
CN114417323A (zh) * 2022-01-21 2022-04-29 北京飞书科技有限公司 数据引用方法、装置、设备及介质

Also Published As

Publication number Publication date
CN105940409B (zh) 2018-12-04
US20150213259A1 (en) 2015-07-30
WO2015112519A1 (en) 2015-07-30
EP3100200B1 (en) 2017-12-27
EP3100200A1 (en) 2016-12-07
US9349000B2 (en) 2016-05-24

Similar Documents

Publication Publication Date Title
CN105940409A (zh) 网络服务沙箱系统
US10642904B2 (en) Infrastructure enabling intelligent execution and crawling of a web application
US9954893B1 (en) Techniques for combating man-in-the-browser attacks
CN105940654B (zh) 特权静态被托管的web应用
CN103336774B (zh) 通过沙箱从网站检索内容
CN106030528B (zh) 数据代理服务
US8650481B1 (en) Stable and secure use of content scripts in browser extensions
CN102473171B (zh) 将有关本地机器的信息传达给浏览器应用
CN104903860B (zh) 第三方应用脚本能力
US10306023B2 (en) Pre-formed instructions for a mobile cloud service
US10579442B2 (en) Inversion-of-control component service models for virtual environments
KR101542335B1 (ko) 정보 흐름들을 캡쳐하기 위한 값들에서의 라벨들의 인코딩
CN105243407B (zh) 读写智能卡的方法及装置
TW200945096A (en) Secure browser-based applications
CN103970760B (zh) 一种网页请求处理方法及装置
US9826017B1 (en) Securely serving results of dynamic user-provided code over the web
CN107862091A (zh) 实现网页访问的控制方法及装置
US9350738B2 (en) Template representation of security resources
CN109040339A (zh) 基于ajax的跨域请求处理方法、装置及设备
Stirparo et al. In-memory credentials robbery on android phones
US20140283080A1 (en) Identifying stored vulnerabilities in a web service
Nauman et al. Realization of a user‐centric, privacy preserving permission framework for Android
CN112346774A (zh) 一种应用安装包的生成方法和装置
CN113726855A (zh) 服务聚合方法、装置、电子设备以及计算机可读存储介质
Cheng et al. Context-aware web services orchestration for multimedia conference process management

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant