CN107665303A - 通过沙箱从网站检索内容 - Google Patents

通过沙箱从网站检索内容 Download PDF

Info

Publication number
CN107665303A
CN107665303A CN201711002707.6A CN201711002707A CN107665303A CN 107665303 A CN107665303 A CN 107665303A CN 201711002707 A CN201711002707 A CN 201711002707A CN 107665303 A CN107665303 A CN 107665303A
Authority
CN
China
Prior art keywords
sandbox
script
content
webpage
loaded
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
CN201711002707.6A
Other languages
English (en)
Other versions
CN107665303B (zh
Inventor
Z·拉加比
T·霍珀
O·郑
M·伍德
P·康兰
R·加夫丽拉
E·布罗贝格
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 CN107665303A publication Critical patent/CN107665303A/zh
Application granted granted Critical
Publication of CN107665303B publication Critical patent/CN107665303B/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/54Monitoring 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 adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • 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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2119Authenticating web pages, e.g. with suspicious links

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了通过沙箱从网站检索内容。客户机系统可以与沙箱环境交互,以便将web浏览器控件主存在沙箱内。网页URL、到要被注入到网页的脚本文件的URL、要被调用的脚本方法的名称、以及要寻找的用于触发脚本方法的事件被从客户机中发送到沙箱环境。沙箱环境使用脚本URL从云中下载脚本文件,并且用指定的网页URL来加载渲染引擎。所指定的脚本文件随后被注入到沙箱环境处的所加载的网页中。在所指定的事件被激发之后,沙箱环境触发所指定的脚本方法,并且将结果存储在可由客户机系统访问的结果阵列中。

Description

通过沙箱从网站检索内容
本申请是申请日为2013年4月26日、申请号为201310151412.0的同名专利申请的分案申请。
技术领域
本发明涉及网络技术,尤其涉及内容检索技术。
背景技术
web应用通过网络向用户提供各种各样的服务和数据。数据被收集、处理和存储在不同位置。web应用检索该数据,对它格式化以供渲染,并且将它提供给客户机设备上的浏览应用以渲染网站。某些网站可以是静态的,其中该数据是非交互式的。其它网页可通过链接或基于web模块的激活来提供诸如附加信息等某种交互性。然而,一般而言,网站以系统根据组织要求所生成的格式和量、或基于用户输入和格式化的定制构建来渲染数据。
网站内容以各种形式出现。内容可包括文本、音频、视频、图像、图示、图表等。可以怀疑许多网站中内容的有效性和可靠性。另外,内容中所嵌入的恶意代码存在有根据的危险性。现代解决方案通过尝试向最终用户提供经安全解析的内容来满足对网站内容交互的需求。经解析的内容解决方案包括客户机和服务器系统。许多需要大量更新以保持与网站构建中所利用的技术的同步性。然而,大多数解析方案面对频繁的网站更新时都是失败的。某些网站的动态本质使得几乎不可能具备解析来自网站的内容的高成功率的安全解析方案。另外,为适合网站的可变性而定制也可能在导致维护和主存用于解析来自网站的内容的数据库解决方案的问题。
发明内容
提供本发明内容是为了以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在专门标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
各实施例针对通过沙箱(sandbox)从网站检索内容。客户机系统可以与沙箱环境交互,以便将web浏览器控件主存在该沙箱内。
网页URL、到要被注入到网页的脚本文件的URL、要被调用的脚本方法的名称、以及要寻找的用于触发脚本方法的事件可以在沙箱环境处从客户机接收。沙箱环境可以使用脚本URL从云中下载脚本文件,并且使用指定的网页URL来加载渲染引擎。所指定的脚本文件可被注入到沙箱环境处的所加载的网页中。在所指定的事件被激发之后,沙箱环境可以触发所指定的脚本方法,并且将结果存储在结果阵列中,该结果阵列可由客户机系统访问。
通过阅读下面的详细描述并参考相关联的附图,这些及其他特点和优点将变得显而易见。可以理解,前述一般描述和以下的详细描述都是说明性的,并且不限制所要求保护的各方面。
附图说明
图1示出了根据某些实施例的其中应用可通过沙箱从网站检索内容的示例网络图;
图2示出了根据某些实施例的通过沙箱从网站检索内容的应用的组件图;
图3示出了根据某些实施例的通过沙箱从网站检索内容的示例提取机制;
图4示出了根据某些实施例的刷新脚本以便通过沙箱从网站检索内容的示例更新机制;
图5是其中可实现根据各实施例的系统的联网环境;
图6是其中可实现各实施例的示例计算操作环境的框图;以及
图7示出了根据各实施例的通过沙箱从网站检索内容的过程的逻辑流程图。
具体实施方式
如上文简述的,应用可通过沙箱从网站检索内容。该应用可通过使用从云源检索到的脚本来隔离对沙箱中的内容的提取和准备。可以进一步通过云源处的更新机制将该客户机与脚本管理隔离。
在下面的详细描述中,将参考构成本发明的一部分的附图,在附图中,通过例图,示出了特定实施例或示例。可组合这些方面,可利用其他方面,并且可以做出结构上的改变而不背离本发明的精神或范围。因此,下面的具体实施方式不应以限制性的意义来理解,而是本公开的范围是由所附权利要求及其等效方案来定义的。
尽管在结合在计算设备上的操作系统上运行的应用程序执行的程序模块的一般上下文中描述了各实施例,但是本领域的技术人员会认识到各方面也可以结合其它程序模块实现。
一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其它类型的结构。此外,本领域的技术人员可以明白,各实施例可以用其他计算机系统配置来实施,包括手持式设备、多处理器系统、基于微处理器或可编程消费电子产品、小型计算机、大型计算机以及类似计算设备。各实施例还能在任务由通过通信网络链接的远程处理设备来执行的分布式计算环境中实现。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两者中。
各实施例可被实现为计算机实现的过程(方法)、计算系统、或者诸如计算机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读并且编码包括用于使计算机或计算系统执行示例过程的指令的计算机程序的计算机存储介质。计算机可读存储介质是非瞬态的计算机可读存储器设备。例如,计算机可读存储介质可经由易失性计算机存储器、非易失性存储器、硬盘驱动器、闪存驱动器、软盘或紧致盘和类似介质中的一个或多个来实现。
根据各实施例,沙箱可以是屏蔽外部应用和设备处理其中的内容的受保护环境。脚本可以是在执行时实现多个动作的指令集。云源可以是作为统一实体提供服务的任何联网应用/设备。
贯穿本说明书,术语“平台”可以是用于通过沙箱从网站检索内容的软件和硬件组件的组合。平台的示例包括但不限于,在多个服务器上执行的托管服务、在单个计算设备上执行的应用、以及类似系统。术语“服务器”一般指通常在联网环境中执行一个或多个软件程序的计算设备。然而,服务器还可以被实现为在被视作网络上的服务器的一个或多个计算设备上执行的虚拟服务器(软件程序)。在下面将提供关于这些技术和示例操作的详细细节。
参考图1,图100示出了根据某些实施例的其中应用可通过沙箱从网站检索内容的示例网络图。图100中示出的组件和环境是出于说明目的。可以在各种本地计算环境、联网计算环境、基于云的计算环境和采用各种计算设备和系统、硬件和软件的类似计算环境中实现各实施例。
在图100所示的示例环境中,一个或多个服务器102和104可以提供网站以供消费。网站可以主存格式化的文本和媒体,诸如音频、视频、图像、图表、图示、表格等等。网站可以用诸如超文本标记语言(HTML)等标准格式来格式化。客户机应用内的沙箱环境106可以处理来自web服务器1(102)和web服务器2(104)的网站,以便依请求通过网络108向客户机设备110上的客户机应用提供与网站相关联的内容。网络108可以是通过有线或无线技术提供对沙箱环境106的访问的任何网络架构。
客户机服务110可以提供诸如下列多种硬件:台式计算机112、膝上型计算机114、诸如平板之类的平板设备116、以及智能电话118。客户机设备110可以通过沙箱环境106向网站请求内容。内容可包括网站的组件,诸如图像、文本组件、媒体或各组合。通过采用沙箱环境106,客户机设备110可以针对网页中可能嵌入的恶意软件而受到保护。通过预定义的通信协议,客户机设备110可被允许与沙箱环境106进行通信,从而使其能够响应于触发事件将基于云的脚本注入沙箱环境106中,并且检索沙箱环境外部的可执行脚本的结果。通过将脚本主存在云中,逻辑电路可在客户机外部更新。
图2示出了根据某些实施例的通过沙箱从网站检索内容的应用的组件图。图200显示主存沙箱204环境以便处理网站的示例应用。
根据某些实施例,客户机应用202可将对来自网站的内容的请求216传送给主存沙箱204的应用。请求可包括与网站以及如何检索内容有关的指令。该应用可以检索网页内容210并且使用沙箱204内的渲染引擎(例如,HTML渲染引擎206)来渲染该网页内容。该应用还可以从云源212检索脚本214以便提取内容。该应用可以将脚本214注入网站内容,并且响应于来自客户机应用202的请求216所定义的触发事件来执行脚本方法。应用可以将脚本214的执行结果加载到结果阵列208上,以便提供给作出请求的客户机应用202。也可存储阵列中的结果以供将来访问。
根据其他实施例,主机应用可以在沙箱内隔离所加载的网页。与渲染有关的过程可包含在沙箱内。由此,主机应用可以在沙箱内隔离脚本的执行和内容的提取。在某些实现中,基于云的脚本214可用于从网站中提取内容,并且将该内容作为新闻馈源或类似的馈源项来提供。例如,主导图像、标题、内容、图标或类似项可以从新闻网站中提取,并且作为具有新闻馈源的预告(teaser)或与网站相关联的搜索结果来提供。所提取的项可以基于HTML属性、试探法、或类似方法来选择。例如,图像的高、宽、高宽比、垂直/水平位置等可以用于从网页中选择图像。类似地,可以在沙箱204中提取网页的图标、标题或其他元素。
根据又一些实施例,应用可以通过通信协议与客户机应用进行通信。通信协议可以是诸如超文本传输协议(HTTP)等标准化通信协议、诸如安全http(HTTPS)等加密通信、或其他。
根据再一些实施例,应用可以根据指定的事件触发一机制,以便将脚本注入沙箱内所加载的网页中。客户机可以通过初始请求来提供指定的事件。指定的事件可以包括用户自定义事件或系统定义的事件。另外,用于注入脚本的机制可以包括对恶意软件屏蔽所加载的网页和该注入得到的内容。在示例场景中,客户机应用可以提交对仅包括来自网页的图像数据的内容的请求。应用可以在沙箱中渲染网页。应用可以从云源中检索脚本,以便从网站中提取图像数据。并且,应用可以将脚本注入所加载的网页,以便提取图像数据。经提取的图像数据可被加载到阵列以供传输给客户机应用。
根据其他实施例,应用可以触发一机制将内容传送到沙箱外部的客户机。应用可以根据脚本中的指令将内容加载到阵列。在示例场景中,应用可以根据客户机应用所期望的传输协议来准备阵列。另外,应用可以接收根据客户机的规定来定制阵列的指令。在示例场景中,应用可以根据客户机应用的排序架构对阵列进行排序。
图3示出了根据某些实施例的通过沙箱从网站检索内容的示例提取机制。图300显示了移动设备(诸如智能电话302)请求来自网站的内容。主存沙箱环境306的应用可以渲染并且提取来自所请求的网站的内容。
根据某些实施例,智能电话302的用户可以通过激活请求304的触摸控件来发起该请求304。应用可以接收请求304并且检索网页308以供在沙箱环境306内渲染。应用可以根据从云源检索到的脚本来处理网页,并且将所提取的内容310加载到阵列。所提取的内容可以包括来自网站的各个分量,诸如图像或其他图形、以及诸如标题等文本内容。应用可以将所提取的内容传输给智能电话302,而智能电话可以显示所提取的内容312。
根据其他实施例,应用可以从云源检索脚本,该云源提供用于更新脚本的接口。云源可以允许经授权的外部实体更新和刷新脚本。脚本可以被刷新以便优化提取,以适合网站的动态本质。应用还可以将客户机与对脚本的更新相隔离。应用可以变更行为以便另选地管理对该请求未指定的脚本组件的执行。应用可以选择不执行未指定的脚本组件。
根据其他实施例,应用可以用HTML渲染引擎来渲染网页。应用可以动态地更新渲染引擎的组件以便提供附加功能,诸如对其他网站构建语言和技术的支持。另外,在所加载的网页上检测到指定的事件之后,应用可以执行与指定事件相匹配的脚本的组件。示例可以包括在网页内检测到音频内容时,执行脚本的组件以调对用来自网页的所有音频内容的提取。
图4示出了根据某些实施例的刷新脚本以便通过沙箱从网站检索内容的示例更新机制。图400可以显示用于刷新云源内的脚本的更新机制。
根据某些实施例,主存沙箱404的应用可以处理网站,并且为客户机设备(诸如平板设备402)上运行的客户机应用提取内容。沙箱可以检索客户机向云源406请求的脚本410。云源可以提供用于更新412和刷新脚本410的接口。授权的用户可以通过另一客户机设备(诸如授权的台式计算机408)来更新(412)脚本410。云源406可以限制对组织实体的更新访问,或者通过其他访问授权方案来限制更新访问。
根据其他实施例,应用可以检测该请求,该请求可以包括网页的统一资源定位符(URL)、脚本的URL、与指定的事件相匹配的脚本的组件、以及指定的事件。类似于上述示例场景,指定的事件可以是对网页的特定内容类型(诸如视频)的识别,以及执行脚本的组件以便从网页中提取视频。
根据其他实施例,应用可以将复杂的数据结构存储在阵列的元素中,该阵列存储内容的属性。在示例场景中,应用可以采用散列结构作为内容阵列元素。另外,应用可以根据所执行的脚本的组件来定制内容的属性。在示例场景中,应用可以格式化这些属性,以便适应客户机应用和设备的带宽分配。一示例可以包括降低图像大小和来自网站的图像的密度,以便适应移动网络带宽限制。
根据又一些实施例,用户可以通过启用触摸的设备(诸如平板、智能电话等)请求来自沙箱的内容。用户可以将触摸和姿势组合提供给启用触摸的设备的显示表面,以便发送对内容的请求。客户机设备可以检索内容阵列并且格式化内容阵列,以便适合基于触摸的设备的显示表面。用户可以通过触摸和姿势输入与所显示的用户进行交互。
图2至4中的示例性场景和方案是以特定组件、数据类型和配置示出的。各实施例不仅限于根据这些示例配置的系统。通过沙箱检索从网站中检索内容可以在应用和用户界面中采用更少或其他组件的配置中实现。此外,图2至4中所示的示例方案和组件及其子组件可以使用在此所述的原理通过类似方式以其他值来实现。
图5是可实现根据各实施例的系统的联网环境。本地和远程资源可以由诸如托管服务之类的一个或多个服务器514或者单个服务器(例如web服务器)516来提供。应用可以通过网络510与诸如下列各个计算设备上的客户机接口通信:膝上型计算机511、平板设备512或者智能电话513(“客户机设备”)。
如上文简述的,应用可通过沙箱从网页检索内容。应用可以通过在沙箱内加载网页并将脚本注入网页中来隔离从网页中的内容提取。脚本可以由云源提供和管理,以便更新和刷新脚本以获得最优网页提取。如之前所讨论的,客户机设备511-513可允许访问在远程服务器(例如,服务器514中的一个)上执行的应用。服务器可直接地或通过数据库服务器518来从数据存储519中检索或向数据存储519存储相关的数据。
网络510可包括服务器、客户机、因特网服务供应商以及通信介质的任何拓扑结构。根据各实施例的系统可以具有静态或动态拓扑结构。网络510可包括诸如企业网络等安全网络、诸如无线开放网络等非安全网络、或因特网。网络510还通过诸如公共交换电话网络(PSTN)或蜂窝网络等其他网络来协调通信。此外,网络510可包括诸如蓝牙或类似网络等短程无线网络。网络510提供此处描述的节点之间的通信。作为示例而非限制,网络510可以包括例诸如声学、RF、红外线和其它无线介质等无线介质。
可以采用计算设备、应用、数据源和数据分发系统的许多其它配置来通过沙箱从网站中检索内容。此外,图5中所讨论的联网环境仅用于说明目的。各实施例不仅限于示例应用、模块或过程。
图6及相关联讨论旨在提供对其中可实现各实施例的合适计算环境的简要概括描述。参考图6,该图示出了诸如计算设备600之类的根据各实施例的应用的示例计算操作环境的框图。在基本配置中,计算设备600可包括至少一个处理单元602和系统存储器604。计算设备600还可以包括在执行程序时相互协作的多个处理单元。取决于计算设备的确切配置和类型,系统存储器604可以是易失性的(诸如RAM)、非易失性的(诸如ROM、闪存等)或是两者的某种组合。系统存储器604通常包括适于控制平台的操作的操作系统605,例如来自华盛顿州雷蒙德市的微软公司的操作系统。系统存储器604还可包括一个或多个软件应用,诸如程序模块606、主存沙箱的应用622和HTML渲染引擎624。
根据各实施例,应用可以通过沙箱622隔离网站与注入到网页脚本。HTML渲染引擎624可以根据用于构建网页的技术来渲染网页并且格式化网页。该基本配置在图6中由虚线608内的那些组件示出。
计算设备600可以具有附加特征或功能。例如,计算设备600还可包括附加数据存储设备(可移动和/或不可移动),诸如,例如磁盘、光盘或磁带。在图6中通过可移动存储609和不可移动存储610示出这样的附加存储。计算机可读存储介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机可读存储介质是非瞬态的计算机可读存储器设备。系统存储器604、可移动存储609和不可移动存储610都是计算机可读存储介质的示例。计算机可读存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术,CD-ROM、数字多功能盘(DVD)或其它光学存储,磁带盒、磁带、磁盘存储或其它磁存储设备,或能用于存储所需信息且能够由计算设备600访问的任何其它介质。任何这样的计算机可读存储介质都可以是计算设备600的一部分。计算设备600也可具有输入设备612,诸如键盘、鼠标、笔、语音输入设备、触摸输入设备和类似输入设备。还可以包括输出设备614,诸如显示器、扬声器、打印机和其它类型的输出设备。这些设备在本领域中公知且无需在此处详细讨论。
计算设备600还可以包含允许该设备与其他设备616通信的通信连接618,诸如通过分布式计算环境中的无线网络、卫星链路、蜂窝链路和类似机制。其他设备618可包括执行通信应用的计算机设备、存储服务器和类似设备。一个或多个通信连接616是通信介质的一个示例。通信介质可以包括计算机可读指令、数据结构、程序模块、或者诸如载波或其它传输机制等的已调制数据信号中的其它数据,并且包括任何信息传递介质。术语“已调制数据信号”指其一个或多个特征以这样的方式设置或改变以便在信号中对信息进行编码的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。
各示例实施例还包括各种方法。这些方法可以用任何数量的方式,包括本文中所描述的结构来实现。一种此类方式是通过本文中描述的类型的设备的机器操作。
另一可任选方式是结合一个或多个人类操作者执行该方法的各个操作中的某一些来执行该方法的一个或多个操作。这些人类操作者无需彼此同在一处,而是其每一个可以仅与执行程序的一部分的机器同在一处。
图7示出了根据实施例的通过沙箱从网站中检索内容的过程的逻辑流程图。在某些示例中,过程700可以由在一些示例中作为其功能的一部分而充当沙箱的应用或主存沙箱的应用来实现。
过程700可以以操作710开始,其中应用可以检测来自客户机的对内容的请求。请求可以包括网页和脚本地址,以及特定事件和与该事件相关联的脚本的组件。在操作720处,应用可以在沙箱内加载与请求相关联的网页。应用可以通过使用沙箱来隔离加载/渲染操作。接着,在操作730处,应用可以从云源中检索脚本。在操作740处,应用可以将脚本注入所加载的网页中,以便在沙箱内提取内容。内容可包括文本、音频、视频、图像、图示、图标等。随后,在操作750处,应用可以将内容加载到阵列以供客户机访问。所提取的内容可以是网页的缩略图。
某些实施例可在包括通信模块、存储器和处理器的计算设备中实现,其中处理器结合存储在存储器中的指令执行如上所述的方法或类似方法。其它实施例可被实现为其上存储有用于执行如上所述的方法或类似方法的指令的计算机可读存储介质。
过程700中包括的操作只是为了说明。根据各实施例的通过沙箱从网站检索内容可以使用此处所述的各原理通过具有更少或更多步骤的相似过程、以及不同的操作次序来实现。
以上说明书、示例和数据提供了对各实施例的组成的制造和使用的全面描述。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求和各实施方式的示例形式而公开的。

Claims (20)

1.一种在计算设备上执行的用于通过沙箱从网站检索内容的方法,所述方法包括:
检测客户机对所述内容的请求,其中,所述请求包括网页的统一资源定位符(URL)、脚本的URL、要执行的脚本方法的名称、以及系统定义的触发事件;
在所述沙箱内加载与所述请求相关联的网页;
从云源检索所述脚本;
根据所述系统定义的触发事件,触发将所述脚本注入所加载的网页中以在所述沙箱内提取所述内容的机制;以及
响应于检测到所述系统定义的触发事件,执行所述脚本方法。
2.如权利要求1所述的方法,其中,注入所述脚本的所述机制包括对恶意软件屏蔽所加载的网页和所提取的内容。
3.如权利要求1所述的方法,还包括:
将所述脚本注入所加载的网页中以在所述沙箱内提取所述内容。
4.如权利要求1所述的方法,还包括:
在所述沙箱内隔离所加载的网页。
5.如权利要求1所述的方法,还包括:
在所述沙箱内隔离对所述脚本方法的执行和对所述内容的提取。
6.如权利要求1所述的方法,其中,所提取的内容包括来自由以下构成的集合的至少一个:图像、图标、文本内容、以及图形内容。
7.如权利要求6所述的方法,其中,所述文本内容包括以下中的一个或多个:标题、头部、以及正文文本。
8.如权利要求1所述的方法,还包括:
触发将所述内容传输到所述沙箱外部的所述客户机的机制。
9.如权利要求1所述的方法,还包括:
将脚本执行的结果加载到结果阵列中以供客户机访问。
10.如权利要求9所述的方法,还包括:
根据所述脚本中的指令将所述内容加载到所述结果阵列中;以及
根据所述客户机的规定来定制所述阵列。
11.如权利要求1所述的方法,还包括:
采用超文本传输协议(HTTP)和安全HTTP(HTTPS)其中之一来与所述客户机进行通信。
12.一种用于通过沙箱从网站检索内容的计算设备,所述计算设备包括:
存储器,其被配置为存储指令;以及
处理器,其耦合到所述存储器,所述处理器结合在所述存储器中存储的指令来执行沙箱主存应用,其中所述沙箱主存应用被配置为:
检测客户机对所述内容的请求,其中,所述请求包括网页的统一资源定位符(URL)、脚本的URL、要执行的脚本方法的名称、以及系统定义的触发事件;
在所述沙箱内加载与所述请求相关联的网页;
从云源检索所述脚本;
根据所述系统定义的触发事件,触发将所述脚本注入所加载的网页中以在所述沙箱内提取所述内容的机制;
响应于检测到所述系统定义的触发事件,执行所述脚本方法;以及
在所述沙箱内隔离所加载的网页。
13.如权利要求12所述的计算设备,其中,所述沙箱主存应用还被配置为:
在所加载的网页上检测到所述系统定义的触发事件之后,执行与指定的事件相匹配的所述脚本的组件;以及
向所述客户机提供所提取的内容以便结合馈源和预览其中之一来显示,其中,所提取的内容表示所加载的网页。
14.如权利要求12所述的计算设备,其中,所述沙箱主存应用还被配置为:
用所述沙箱内的超文本标记语言(HTML)渲染引擎来渲染所加载的网页,其中,所述HTML渲染引擎的一个或多个组件是动态更新的。
15.如权利要求12所述的计算设备,其中,所述沙箱主存应用还被配置为:
通过允许所述脚本的更新和刷新中的一个或多个的接口,从所述云源检索所述脚本。
16.如权利要求12所述的计算设备,其中,所述沙箱主存应用还被配置为:
在所述客户机外部更新所述沙箱内的提取逻辑。
17.一种计算机可读存储器设备,其上存储有用于通过沙箱从网站检索内容的指令,所述指令包括:
检测客户机对所述内容的请求,其中,所述请求包括网页的统一资源定位符(URL)、脚本的URL、要执行的脚本方法的名称、以及系统定义的触发事件;
在所述沙箱内加载与所述请求相关联的网页;
从云源检索所述脚本;
根据所述系统定义的触发事件,触发将所述脚本注入所加载的网页中以在所述沙箱内提取所述内容的机制;
响应于检测到所述系统定义的触发事件,执行所述脚本方法;以及
在所述沙箱内隔离所加载的网页。
18.如权利要求17所述的计算机可读存储器设备,其中,所述指令还包括:
将脚本执行的结果加载到结果阵列中以供所述客户机访问;
根据所述脚本中的指令将所提取的内容加载到所述结果阵列中;以及
根据所述客户机的规定来定制所述结果阵列。
19.如权利要求17所述的计算机可读存储器设备,其中,所述指令还包括:
在所述沙箱内隔离对所述脚本方法的执行和对所述内容的提取。
20.如权利要求17所述的计算机可读存储器设备,其中,所提取的内容是所加载的网页的缩略图。
CN201711002707.6A 2012-04-27 2013-04-26 通过沙箱从网站检索内容 Active CN107665303B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/458,126 2012-04-27
US13/458,126 US9256733B2 (en) 2012-04-27 2012-04-27 Retrieving content from website through sandbox
CN201310151412.0A CN103336774B (zh) 2012-04-27 2013-04-26 通过沙箱从网站检索内容

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201310151412.0A Division CN103336774B (zh) 2012-04-27 2013-04-26 通过沙箱从网站检索内容

Publications (2)

Publication Number Publication Date
CN107665303A true CN107665303A (zh) 2018-02-06
CN107665303B CN107665303B (zh) 2020-11-17

Family

ID=48464075

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201711002707.6A Active CN107665303B (zh) 2012-04-27 2013-04-26 通过沙箱从网站检索内容
CN201310151412.0A Active CN103336774B (zh) 2012-04-27 2013-04-26 通过沙箱从网站检索内容

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201310151412.0A Active CN103336774B (zh) 2012-04-27 2013-04-26 通过沙箱从网站检索内容

Country Status (4)

Country Link
US (2) US9256733B2 (zh)
EP (1) EP2842072B1 (zh)
CN (2) CN107665303B (zh)
WO (1) WO2013163487A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109558217A (zh) * 2018-12-19 2019-04-02 北京恒泰实达科技股份有限公司 数据处理脚本程序运行方法以及数据处理容器

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9158857B2 (en) * 2012-06-05 2015-10-13 Google Inc. Identifying landing pages for images
US9727534B1 (en) 2012-06-18 2017-08-08 Bromium, Inc. Synchronizing cookie data using a virtualized browser
US10095662B1 (en) 2012-06-18 2018-10-09 Bromium, Inc. Synchronizing resources of a virtualized browser
US9734131B1 (en) * 2012-06-18 2017-08-15 Bromium, Inc. Synchronizing history data across a virtualized web browser
WO2014151061A2 (en) 2013-03-15 2014-09-25 Authentic8, Inc. Secure web container for a secure online user environment
JP5606599B1 (ja) * 2013-07-29 2014-10-15 デジタルア−ツ株式会社 情報処理装置、プログラム及び情報処理方法
US9349000B2 (en) 2014-01-27 2016-05-24 Microsoft Technology Licensing, Llc Web service sandbox system
WO2015124192A1 (de) * 2014-02-20 2015-08-27 Siemens Aktiengesellschaft System zur anzeige und bearbeitung von daten einer medizinischen einrichtung
US10032027B2 (en) * 2014-07-29 2018-07-24 Digital Arts Inc. Information processing apparatus and program for executing an electronic data in an execution environment
US10542031B2 (en) 2015-02-20 2020-01-21 Authentic8, Inc. Secure application for accessing web resources
US10027700B2 (en) 2015-02-20 2018-07-17 Authentic8, Inc. Secure analysis application for accessing web resources via URL forwarding
WO2016134346A1 (en) * 2015-02-20 2016-08-25 Authentic8, Inc. Secure analysis application for accessing web resources
US11032309B2 (en) 2015-02-20 2021-06-08 Authentic8, Inc. Secure application for accessing web resources
US11356411B2 (en) 2015-02-20 2022-06-07 Authentic8, Inc. Secure analysis application for accessing web resources
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
US9477837B1 (en) * 2015-03-31 2016-10-25 Juniper Networks, Inc. Configuring a sandbox environment for malware testing
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
US9485231B1 (en) 2015-05-26 2016-11-01 Dell Software Inc. Securing internet of things communications across multiple vendors
US9888011B2 (en) 2015-07-31 2018-02-06 Sonicwall Inc. Social media login and interaction management
US9912651B2 (en) 2015-10-13 2018-03-06 Dropbox, Inc. Authenticated server views
CN107358095B (zh) * 2016-05-10 2019-10-25 华为技术有限公司 一种威胁检测方法、装置及网络系统
WO2018165602A1 (en) * 2017-03-09 2018-09-13 Authentic8, Inc. Secure analysis application for accessing web resources via url forwarding
US20190138712A1 (en) * 2017-05-31 2019-05-09 Adnomus, Inc. Systems and methods for real-time data processing analytics engine with adaptive component services
US11914700B2 (en) * 2017-08-22 2024-02-27 Google Llc Reducing remote procedure calls for multimedia content delivery
US11095667B2 (en) 2019-02-14 2021-08-17 Forcepoint Llc Session-based recording of association of activities

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983348A (en) * 1997-09-10 1999-11-09 Trend Micro Incorporated Computer network malicious code scanner
US20030090295A1 (en) * 2001-11-13 2003-05-15 Andersen John E. Self test method and device for dynamic voltage screen functionality improvement
US20070016949A1 (en) * 2005-07-15 2007-01-18 Microsoft Corporation Browser Protection Module
US20100017880A1 (en) * 2008-07-21 2010-01-21 F-Secure Oyj Website content regulation
US20110016169A1 (en) * 2009-07-20 2011-01-20 Matthew Cahill Rendering a web page using content communicated to a browser application from a process running on a client
CN102160048A (zh) * 2008-09-22 2011-08-17 微软公司 收集和分析恶意软件数据

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6732102B1 (en) 1999-11-18 2004-05-04 Instaknow.Com Inc. Automated data extraction and reformatting
TW482964B (en) 2000-11-02 2002-04-11 Way Tech Dev Inc Method and system for conducting web page segmentation with automatic web page program code analysis
GB2371125A (en) * 2001-01-13 2002-07-17 Secr Defence Computer protection system
CA2500573A1 (en) 2005-03-14 2006-09-14 Oculus Info Inc. Advances in nspace - system and method for information analysis
US20070033532A1 (en) 2005-08-05 2007-02-08 Lemelson Gregory M Method and apparatus for generating web content
US10019570B2 (en) * 2007-06-14 2018-07-10 Microsoft Technology Licensing, Llc Protection and communication abstractions for web browsers
US7912924B1 (en) * 2007-11-06 2011-03-22 Adobe Systems Incorporated Adding functionality with respect to one or more web pages
US8935609B2 (en) * 2007-12-18 2015-01-13 International Business Machines Corporation Method and system to secure the display of advertisements on web browsers
US7958397B2 (en) * 2008-06-20 2011-06-07 Lsi Corporation System for automatically configuring a storage array
US20100192224A1 (en) * 2009-01-26 2010-07-29 International Business Machines Corporation Sandbox web navigation
US8626802B2 (en) * 2009-07-24 2014-01-07 Apple Inc. Dynamic media content previews
US9185064B2 (en) * 2010-01-15 2015-11-10 Microsoft Technology Licensing, Llc Interactive email
US8813232B2 (en) * 2010-03-04 2014-08-19 Mcafee Inc. Systems and methods for risk rating and pro-actively detecting malicious online ads
US20110252302A1 (en) 2010-04-12 2011-10-13 Microsoft Corporation Fitting network content onto a reduced-size screen
US8914879B2 (en) * 2010-06-11 2014-12-16 Trustwave Holdings, Inc. System and method for improving coverage for web code
US9459913B2 (en) * 2011-04-25 2016-10-04 Hewlett-Packard Development Company, L.P. System and method for providing print ready content to a printing device
US9524531B2 (en) * 2011-05-09 2016-12-20 Microsoft Technology Licensing, Llc Extensibility features for electronic communications

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983348A (en) * 1997-09-10 1999-11-09 Trend Micro Incorporated Computer network malicious code scanner
US20030090295A1 (en) * 2001-11-13 2003-05-15 Andersen John E. Self test method and device for dynamic voltage screen functionality improvement
US20070016949A1 (en) * 2005-07-15 2007-01-18 Microsoft Corporation Browser Protection Module
US20100017880A1 (en) * 2008-07-21 2010-01-21 F-Secure Oyj Website content regulation
CN102160048A (zh) * 2008-09-22 2011-08-17 微软公司 收集和分析恶意软件数据
US20110016169A1 (en) * 2009-07-20 2011-01-20 Matthew Cahill Rendering a web page using content communicated to a browser application from a process running on a client

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
范宇: "基于DOM建模的网页木马检测的分类器设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109558217A (zh) * 2018-12-19 2019-04-02 北京恒泰实达科技股份有限公司 数据处理脚本程序运行方法以及数据处理容器

Also Published As

Publication number Publication date
US9411902B2 (en) 2016-08-09
US20160110470A1 (en) 2016-04-21
CN103336774A (zh) 2013-10-02
CN107665303B (zh) 2020-11-17
CN103336774B (zh) 2017-11-28
EP2842072B1 (en) 2020-07-15
US20130290404A1 (en) 2013-10-31
WO2013163487A1 (en) 2013-10-31
EP2842072A1 (en) 2015-03-04
US9256733B2 (en) 2016-02-09

Similar Documents

Publication Publication Date Title
CN103336774B (zh) 通过沙箱从网站检索内容
US20220247833A1 (en) Installable web applications
US10102306B2 (en) Patching base document object model (DOM) with DOM-differentials to generate high fidelity replay of webpage user interactions
US20200412793A1 (en) Link file sharing and synchronization
US9027097B2 (en) Client application assisted automatic user log in
JP6608453B2 (ja) 記憶されたデータに対するリモートアクセス制御
US10282522B2 (en) Cross-application authentication on a content management system
CN104216700B (zh) 基于云计算的html5应用的打包、安装、卸载、运行方法的系统
JP2019012529A (ja) ドキュメント管理及びコラボレーション・システム
EP2706724A2 (en) Systems and methods for secure file portability between mobile applications on a mobile device
US20140136957A1 (en) Supporting Scalable Fonts
EP2849086A2 (en) Font management for editing electronic documents
WO2013144358A2 (en) Systems, methods, and media for managing editable previews of webpages
WO2014088853A1 (en) Network based font management for imaging devices
JP2014524603A (ja) ローカルに記憶されたデータファイルに関連付けられたトランザクションデータの収集
CN111010364B (zh) 用于基于离线对象的存储和模拟rest响应的系统
WO2016100541A1 (en) Network based static font subset management
US9350735B1 (en) Context-based dynamic information rights management
CN111552897A (zh) web内容的客户端侧定制和渲染
US20160269446A1 (en) Template representation of security resources
CN114282233A (zh) Web性能优化方法、装置、计算机设备和存储介质
CN103412704A (zh) 用于通过姿势或触摸控制用户界面的优化方案
US11449186B2 (en) System and method for optimized generation of a single page application for multi-page applications
JP2017516191A (ja) 持続的なブックマークレット認可
US20210006634A1 (en) Secure and private web browsing system and method

Legal Events

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