CN101779436A - 跟踪数据的来源并控制数据传输 - Google Patents
跟踪数据的来源并控制数据传输 Download PDFInfo
- Publication number
- CN101779436A CN101779436A CN200880102951A CN200880102951A CN101779436A CN 101779436 A CN101779436 A CN 101779436A CN 200880102951 A CN200880102951 A CN 200880102951A CN 200880102951 A CN200880102951 A CN 200880102951A CN 101779436 A CN101779436 A CN 101779436A
- Authority
- CN
- China
- Prior art keywords
- data
- script
- source
- data element
- indication
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 57
- 238000013515 script Methods 0.000 claims abstract description 160
- 238000000034 method Methods 0.000 claims abstract description 27
- 230000000644 propagated effect Effects 0.000 claims abstract description 8
- 238000004590 computer program Methods 0.000 claims abstract description 5
- 238000012545 processing Methods 0.000 claims description 26
- 230000004044 response Effects 0.000 claims description 14
- 238000013500 data storage Methods 0.000 claims description 4
- 230000002265 prevention Effects 0.000 claims description 4
- 210000000352 storage cell Anatomy 0.000 claims description 4
- 230000001902 propagating effect Effects 0.000 claims description 2
- 238000004321 preservation Methods 0.000 claims 1
- 230000007246 mechanism Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000006399 behavior Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000007689 inspection Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000000712 assembly Effects 0.000 description 3
- 238000000429 assembly Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2149—Restricted operating environment
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computing Systems (AREA)
- Information Transfer Between Computers (AREA)
- Storage Device Security (AREA)
- Small-Scale Networks (AREA)
Abstract
提供了一种方法、装置和计算机程序,用于跟踪数据的来源并控制数据的传输。在一个实施例中,通过响应于数据内放置的来源标签的HTTP客户端的脚本编辑引擎内的新功能,限制通过脚本操作的敏感数据的传输,以阻止传输到该敏感数据的源以外的任何网络位置。与数据输入相关联的来源标签传播到任何输出数据项,使得还可控制得到的信息的传输。
Description
技术领域
本发明涉及用于对可编辑脚本的(scriptable)客户端(如Web浏览器)跟踪数据的来源并控制敏感数据的传输的方法、数据处理装置和计算机程序。
背景技术
Web浏览器是在用户的数据处理装置上运行并提供对万维网上的信息的访问(使用超文本传输协议(HTTP)提交请求到Web服务器计算机以检索网页并浏览网页内容或与网页内容交互)的计算机程序。一些Web浏览器和类似的HTTP客户端可解释脚本语言。典型地,使用JavaScriptTM,尽管一些Web浏览器理解VBScript(Visual Basic脚本编辑),并且该机制可扩展到其他语言。通过将脚本语言指令包括在页面的文本中,当用有适当能力的浏览器观看时,作者可使得其展现任意复杂行为,以及或替代地,表现为静态文档。可直接包括这样的指令,或通过参考分开的文件而包括,在所述分开的文件中包含了所述指令。
网页中的嵌入脚本指令通过浏览器内的子系统或“脚本编辑引擎(scripting engine)”解释。该引擎自身以编程语言(典型地,如C++或JavaTM的更结构化的语言)编写。该引擎能够执行多个操作;每个脚本语言指令字面上是用于引擎执行其可用操作中的特定一个的指令。
脚本编辑引擎还访问表示浏览器内的网页自身的数据结构。某些可由该引擎执行的操作涉及从这些数据结构读取或写入这些数据结构,当在浏览器内观看时有效地编辑该页面。可在脚本操作中使用的其他数据源包括可用初始值设置或从任何其他源填充的脚本变量、以及使用已知为“XMLHttpRequest”的技术分开下载的其他数据。
与在脚本编辑引擎内严格地操作信息并与网页的内部表现交换信息一样,存在使得浏览器经由其网络连接与其他系统交互、或执行由人类用户通常命令的其他动作的一类脚本指令。典型地限制在该组中可用的指令的选择,以便减少恶意脚本可能有的影响。
重要的是,注意到因为脚本作为网页的一部分出现,并且因为脚本自身可能包含可能稍后插入到页面中的信息,所以脚本自身是数据的形式,并且本发明中的“数据元素”的所有考虑将同等地适用于构成脚本的指令列表。
作为可如何使用上述设备(facility)的示例,考虑使用AJAX(异步JavaScript和XML)技术以网页形式传递的基于Web的文档编辑应用。图形Web浏览器最初下载携带各种显示元素(如标尺、按钮和编辑文档区)并且还参照脚本指令的文件的页面。这些指令在如何响应用户的动作方面指引脚本编辑引擎。例如,如果用户要激活“黑体”按钮,则可指令脚本编辑引擎首先读取页面以便确定用户已经选择了文本区中的哪些词。该信息将由以将文本标记为黑体的方式修改页面数据结构的另一指令使用。最终,称为“呈现引擎”的浏览器的另一部分将读取那些标记,结果,将导致标记的词以黑体外观出现在页面上。
如支持JavaScript的Web浏览器的可编辑脚本的HTTP客户端传统地一次加载仅仅来自一个源位置的数据。然而,期望在Web服务环境中,能够将来自若干源位置的脚本和数据组合到一个脚本环境中。返回到基于Web的文档编辑应用的示例,用户通常需要例如通过将文档上载到提供者的服务器,将他们的文档暴露并委托给应用的提供者。
尽管大量应用程序当前正以Web服务的形式经由万维网变得可用,所述Web服务开发在Web浏览器内运行的脚本并与Web服务器通信,但是许多组织和个人不愿意接受他们的机密文档的固有暴露。这限制了可用应用的使用。
对于在客户端内以脚本编辑语言编写的此类应用,对从一个或多个不同位置获得的数据运行将是可能的。然而,一旦脚本和数据加载到脚本编辑环境中,当前没有适当的机制用于确保脚本不被恶意地或在提供如拼写检查的过程中将数据传输回到其自己的服务器。已知解决方案涉及阻止未授权的脚本访问某些文件和对象,但是这可能是过分限制性的。
例如,美国专利No.6,986,062描述了基于脚本的来源和定义的许可控制脚本访问对象的能力。客户端的访问控制数据结构中的条目包括与对象相关联的源标识符字段和许可标识符字段-脚本的源被记录并随后检查,并且阻止未授权的脚本访问某些对象。
美国专利No.6,505,300描述了对于如脚本的不受信任的内容限制执行文本。当进程尝试访问资源时,与该进程相关联的令牌与资源的安全性信息进行比较,以确定是否允许该访问。脚本的源可确定如何信任它并且可对特定资源执行什么进程。
美国专利申请No.2006/0230452公开了从外部位置获得文件并添加关于获得的文件的来源的标签信息。获得的文件的来源可用于随后的安全性策略判断,如允许还是阻止内容的执行或呈现。
发明内容
本发明的第一方面提供一种在脚本编辑环境内执行的、控制敏感数据的传输的方法,所述放包括以下步骤:将来源的指示与第一数据元素相关联;将来源的指示传播到从第一数据元素生成的数据元素;以及限制第一数据元素和所述生成的数据元素仅传输到许可的目的地,其中参照来源的指示标识所述许可的目的地。
第一数据元素可包括一组数据元素的一部分,并且潜在地非常大的一组数据,来源的指示与该数据关联。生成的数据元素还可以是一组生成的数据元素之一。
在本发明的一个实施例中,阻止第一数据元素和从第一数据元素生成的任何数据元素传输到第一数据元素的来源以外的任何来源。这可以阻止脚本编辑操作将敏感数据跨越网络传输到数据源以外的任何网络节点,同时允许脚本在限制数据传输的规则的约束内合作。
在一个实施例中,如果在脚本编辑环境内从每个具有关联的来源指示的多个数据元素生成新数据元素,则新数据元素将具有从多个数据元素得到的来源的关联指示。如果多个敏感输入数据元素具有不同来源,则限制传输的步骤可阻止输出数据传输到任何目的地;而从具有共同来源的多个输入数据元素得到的输出可传输回到共同的来源,同时阻止其传输到任何其他目的地。
在运行“不受信任的”脚本的脚本编辑环境内,限制传输的步骤是有利的。在该上下文中的“不受信任的”脚本是对其没有验证脚本或其提供者的安全性控制或信任度的任何脚本(因此,术语“不受信任的”不暗示脚本或其提供者已经被识别为具有任何恶意)。
当数据由脚本操作时,本发明提供了对敏感数据的保护,确保脚本不将该数据发送到还没有信息的任何服务器,而不需要验证脚本或其提供者的信任度。关联和传播来源的指示的步骤可由Web浏览器内的脚本编辑引擎实现,其对数据内的安全性标签响应以阻止任何脚本将标记的数据发送到数据的源位置以外的位置。根据一个实施例的“脚本编辑引擎”包括脚本解释器、标签生成器和标签传播器。
本发明的第二方面提供一种数据处理系统,包括:至少一个数据处理单元;至少一个数据存储单元;脚本解释器;用于将来源的指示与第一数据元素相关联的部件;用于将来源的指示传播到从第一数据元素生成的新数据元素的部件;以及用于限制将第一数据元素和所述生成的数据元素从数据处理系统仅传输到许可的目的地的部件,其中参考来源的指示标识所述许可的目的地。
在该第二方面的一个实施例中,脚本解释器、用于关联的部件、用于传播的部件和用于限制传输的部件全部在如Web浏览器的可编辑脚本的HTTP客户端计算机程序内实现。在一个实施例中,用于关联的部件和用于传播的部件提供为HTTP客户端程序内的改进的脚本编辑引擎的特征,可使得该脚本编辑引擎可用作记录介质上的包括计算机可读程序代码的程序产品。
附图说明
下面参照附图通过示例的方式更详细地描述本发明实施例,附图中:
图1是其中可实现本发明的网络的示意表示;
图2示出其中可实现本发明的示例客户端数据处理系统;
图3示出根据本发明实施例的脚本编辑(scripting)引擎的组件;
图4示出根据本发明实施例、在客户端和服务器之间的交互操作的序列,在本发明实施例中,生成和存储来源标签,此后将其传播到新的数据元素然后用于阻止敏感数据传输到数据来源以外的目的地;以及
图5示出根据本发明实施例的传播注释(annotation)的操作的序列。
具体实施方式
1.网络环境和示例客户端系统
图1示意性示出的分布式数据处理网络包括任何数量的客户端数据处理系统10、20、30以及经由HTTP相互通信的服务器数据处理系统40、50和60。尽管本发明无论在系统硬件方面还是操作系统环境方面都不限于特定类型的数据处理系统,但是如图2示意性示出的典型的客户端系统10可以是包括至少一个数据处理单元100、至少一个数据存储单元、内部通信单元130、输入/输出组件和网络接口190的膝上型或桌面型数据处理系统,所述至少一个数据存储单元典型地包括易失性系统存储器110和如盘存储的非易失性存储组件120,所述输入/输出组件包括设备驱动器140和用于鼠标160、键盘170和监视器180的连接接口150。在本发明的实现中使用的典型客户端系统具有其上安装的多个程序代码组件,包括操作系统软件200、Web浏览器210和多个应用程序220、230。Web浏览器210适于使用请求响应HTTP模型经由网络通信与远程Web服务器交互。Web服务器40、50和60的每个可包括一个或多个HTTP服务器70和一个或多个应用服务器80、90,其在单服务器数据处理系统上或协作以提供高可用性和吞吐量的服务器机群上运行,但是本发明不要求任何特定Web服务器架构。
在用于本发明的客户端系统中,Web浏览器210包括使得能够在下载的网页内执行脚本的脚本解释器,其包括脚本编辑引擎240的大部分组件。下面在本发明实施例的上下文中,参照图3到6描述本发明的各种组件和特征,其中若干组件实现为新颖的脚本编辑引擎的程序代码组件。如图3所示,脚本编辑引擎240包括脚本解释器250、来源标签生成器260和标签传播器270。本领域技术人员将理解,如下述用于阻止传输的部件的本发明的各种组件可同等地实现为硬件组件,如专用集成电路(ASIC)。
如下所述,生成和传播的标签由Web浏览器或其他HTTP客户端用来控制敏感数据元素的传输。
2.指示来源的标签的生成和存储
如上所述,存在多种可在脚本编辑引擎操作中使用的数据元素。所有这些元素存储在与脚本编辑引擎240自身相关联或与Web浏览器210相关联(或,在其他实现中,与其脚本编辑引擎是一部分的另一程序相关联)的数据结构中。尽管脚本编辑操作将读取和修改这些数据结构内的数据作为其内部工作的一部分,但是不存在这样的脚本编辑操作,通过其脚本可为其自己的目的检查或改变数据结构自身。
在现有脚本编辑引擎中,这些数据结构典型地包含数据元素的当前值和用于脚本编辑引擎使用的一些额外信息。这样的信息的一个示例是关于自动垃圾收集的信息。本发明涉及将来源的指示与数据元素相关联,并且对于实现本发明中涉及的数据元素的“注释”可以以与对脚本编辑引擎使用而提供的其他信息相同的方式存储在脚本编辑引擎的数据结构中。这意味着仅需要对当前的Web浏览器和其他可编辑脚本的HTTP客户端程序进行小的改变来实现本发明,并且确保对于脚本没有机制可用于干扰其自身注释。
图4示出对于一组数据元素的指示来源的标签或“注释”的初始生成中涉及的一系列步骤。所有被认为是敏感的数据在被首先用于脚本操作中之前,必须被分配来源标签。存在很多可将数据引入现代Web浏览器的方式,但是其大部分涉及HTTP协议(在W3C网络工作组的请求评论2616“超文本传输协议-HTTP/1.1”中规定,1999年6月)。对于这样的方法,适于实现本发明的Web浏览器或其他HTTP客户端在请求中可使用特殊HTTP报头,而在响应中可使用另一特殊HTTP报头。注意,HTTP规范允许使用额外报头;不实现相关功能性的系统将忽略与其有关的报头。
因此,如图4所示,根据本发明实施例的客户端-服务器交互序列以如Web浏览器的可编辑脚本的客户端发送300HTTP请求到Web服务器而开始。尽管不是所有HTTP客户端将实现本发明,但是实现本发明的客户端将典型地(在伴随数据的每个请求的许多报头中)包括指示该事实的新的报头。
当前可用的Web浏览器已经发送大量关于其支持的功能性的信息、以及甚至其用户需要的内容的种类,如可接受哪种(人类)语言。例如,请求可能看起来像这样:
GET/HTTP/1.1
Host:ibm.com
User-Agent:Mozilla/5.0(Windows;U;Windows NT 5.1;en-US;rv:1.5)
Accept:text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,
text/plain:q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1
Accept-Language:en-us,en;q=0.5
Accept-Encoding:gzip,deflate
Accept-Charset:ISO-8859-l,utf-8;q=0.7,*;q=0.7
Keep-Alive:300
Connection:keep-alive
可添加新的请求报头以标识请求者是否可提供用于“安全”内容的保护。内容类型“安全”与现有内容类别不同(因为其不是MIME类型、人类语言、编码类型或字符组)。在第一实施例中,新的请求者报头具有字段名“接受-安全性”,但是这仅是说明示例。无论字段名可以是什么,新报头字段可以是对请求客户端是否使用来源标签提供内容保护的简单指示。
请求报头“接受-安全性:来源标签”暗示如果服务器希望发送安全数据,则浏览器可保护安全数据,但是其不要求安全数据。额外报头可包括在每个HTTP请求中,尽管这不是必要的。这样的新报头允许未来的与不同种类的可选实现的安全性的扩展。例如,“接受-安全性:”请求报头和基于来源标签限制内容的传输可与另一安全性选项一起实现。
服务器访问310准备好下载到客户端的请求页,但是Web服务器可配置为在传输任何敏感数据之前检查新请求报头的存在。当对HTTP请求响应时,可对所有HTTP请求执行检查,或如果Web服务器提供有检测数据敏感性的指示的机制时,则可仅响应于Web服务器标识访问页内的敏感数据而执行检查。在一个实施例中,可在内容服务器上创建或存储数据时插入数据敏感性的指示。
对于本发明,关于在数据敏感性的检查之前还是之后检查客户端能力的具体序列不是关键的。如果Web服务器标识请求页内的敏感信息,并且Web服务器确定请求客户端没有承诺保护该数据(即,在请求中没有包括新报头),则根据本发明一个实施例的服务器通过拒绝该请求或通过提供没有敏感数据的请求页来答复320客户端。
Web服务器可编程和配置为以不同方式运行(并且一些Web服务器可不实现支持本发明的任何新功能),但是在本发明中提供的新请求报头使得服务器可能进行关于是否提供敏感数据的通知的判断。服务器然后可拒绝提供其敏感数据到没有向各个服务器通知客户端的能力和保护敏感数据的承诺的任何客户端。
注意,上述本发明实施例不包括任何这样的机制,其中,当声称保护敏感数据的HTTP客户端实际上不保护敏感数据时,阻止该HTTP客户端。在该第一实施例中,将HTTP客户端认为是人类用户的代理,并且本发明的范围仅扩展到用户相信的数据。已知的用户认证解决方案应当用于确保仅授权的用户可获得敏感数据。
如果Web服务器标识请求页中的敏感数据并且请求报头中的字段的检查确定请求客户端提供对于敏感数据的保护,则Web服务器传输330请求页和“敏感数据”标志到请求客户端。尽管与本发明无关,但是通常期望使用如安全套接字层的安全性机制来保护敏感数据的任何传输,以阻止其在运送中的窃取。
因此,在本实施例中,通过服务器提供其来执行哪个数据是敏感的确定。根据本发明,当响应于HTTP请求提供330敏感数据时,响应将携带指示其内容要被处理为敏感数据的报头。“敏感数据”报头可包括来自Web服务器的、关于特定来源信息的显式指令,以包括在来源标签中,并且该指令将仅通过来源标签生成器260起作用。如果接收340该数据的客户端是可编辑脚本的,并且该数据要放置在对于脚本操作可访问的存储器的区域中,则当保存数据时并且在执行脚本之前,客户端必须将源标签附到350数据。此后,来源标签从接收的数据元素传播360到客户端内生成的任何新数据元素(如下所述),并且来源标签用于控制标记数据元素的传输370(如下所述)。
服务器可以确定在标签中要描述来源的精度。例如,小公司可能用使得浏览器将“company.com”的来源标签应用到该数据的报头为其内联网上的所有文档服务。然后脚本可将该数据发送到公司内的任何系统,但是不发送到外部的任何地方。较大公司可能更严格地限制其某些数据,可能用使得浏览器为其标记“secretdocstore.r-and-d.company.com”或“webapps.finance.company.com”的报头。不能信任可能也驻留于此地其他应用的共享服务器上的Web应用可以服务数据,使得其标记域“apps.sharedhostingcompany.com”以及端口号“8080”和文件路径“/customers/account42/secretdocs”;这提供了基于在特定Web应用的控制下专用的位置信息的来源的指示,而相同服务器上的其他位置可能较不精确地指定。因此,在Web应用的专用控制下的位置可如下指定:
http://apps.sharedhostingcompany.com:8080/customers/account42/secretdocs/
上述标记方案因此具有能够处理共享服务器的情况的足够的精度;而当不处理共享服务器时,主机名可能就足够了。
输入到脚本对话框和页面上的文本框中的信息、以及从本地文件加载的数据没有可能对其委托敏感性问题的来源服务器。该问题可通过标记从用户获得或以其他方式从计算机获得或在计算机上生成的信息来处理,在该计算机上正运行脚本编辑引擎,其中特殊来源标签意味着“本地”。该标签广义上类似于其他来源标签,但是可以如下所述给出特殊处理。
多数浏览器还可经由HTTP以外的协议访问数据,其中文件传输协议(FTP)是广泛使用的示例。在一些情况下,这些协议还可用如上对于HTTP所述的额外报头扩展;而在其他情况下,以与使用上述“本地”来源标签的本地文件(例如,在浏览器实现SMB或NFS共享文件系统协议时)的相同方式处理数据是更适当的。即使剩下一些没有来源标记系统的深奥的协议,本发明仍然有用和有效,因为它们不可能用于将从本发明受益的Web应用的种类。
在本发明一个实施例中,增强用于生成和存储注释的上述技术,以减少注释传播所需的存储容量并允许其更快实现。在典型应用中,在任何时间将仅存在少量注释值(可能仅一个)在使用中,但是这些值可应用到大量各个数据元素。该增强考虑了该特性并利用来源值的中心表。各个注释仅需要指向表的适当行,而不需要携带其自身对该值的复本。
3.标签的传播
一旦数据项具有来源标签,相同标签就传播360到从其得到的任何其他数据。更具体地,对于具有输入和输出两者的所有脚本操作,在前者的数据结构中存在的任何来源标签将通过脚本编辑引擎240的标签传播器组件270传送到后者的对应的数据结构。例如,JavaScriptString.subString()方法是取文本串为输入并产生更短文本串作为输出的操作。如果该方法用在根据本发明的脚本编辑引擎240中来从由“example.com”安全获得的页面提取一些文本,则提取的文本也将标记有“example.com”的来源。对于该实施例,对对象执行的任何脚本编辑操作应当被认为是取该对象为输入。
如上面的背景技术部分中所表述的,脚本编辑引擎典型地以结构化语言编写并提供某些操作。这些操作由以该结构化语言编写的程序代码定义。在本实施例中,在该部分中描述的额外行为通过将标签传播功能添加到脚本编辑引擎内的程序代码来实现。在不实现本发明的脚本编辑引擎中,脚本将继续要求如其将进行的一系列操作,但是生成350来源标签然后透明地传播360到用户和脚本编程者。
当脚本操作对多于一个输入项运行、并且至少两个输入项具有不全来自相同来源的来源标签时,输出数据获取特殊标签。因为标记数据除了其来源不能发送到任何地方,并且新数据的源包围多个来源,所以在许可传输的规则内不存在可发送到的位置。因此,特殊标签指示“无处(nowhere)”,并且以此方式标记的数据不能离开脚本编辑环境。
在该具体实施例中,上述传播利用四个不断增加的限制性的来源标签类型:
无:该项没有来源标签,因为通过其获得的HTTP会话或其它手段没有指定为安全的。
本地:该项由用户输入或从本地文件加载。
来源:标准来源标签,指示从其获得数据的位置。在脚本编辑环境中可能存在同时使用的许多不同的来源。
无处:通过其获得该数据项的路径涉及标记有多于一个来源的数据。
表1中示出在两输入脚本编辑操作的情况下交互的标签的这些种类:
对于输入一个的标签类型
表1
就好像对于两个输入的操作,具有三个或更多输入元素的脚本编辑操作将对其(各)输出分配在输入中找到的最限制性的标签类型,除了如果最限制性的类型是“来源”并且存在多于一个来源位置,“无处”将用于如上所述的输出。在单个输入操作的情况下,所有输出简单地继承输入项的标签。
图5中表现了用于与脚本编辑操作的输出相关联的标签的确定的一系列步骤,尽管图5中示出的具体操作序列仅涉及本发明的一个说明性实施例。根据该实施例,当HTTP客户端从其本地存储器检索400输入数据(如检索的网页)以开始处理时,HTTP客户端以传统方式处理输入数据,直到标识脚本。HTTP客户端然后调用其脚本解释器250。在执行每个脚本指令之前,脚本解释器提取410与输入数据元素相关联的标签组,并将其传递到标签传播器270。标签传播器然后应用一组规则以确定对于脚本编辑操作的输出适当的标签。如果对输入数据存在任何来源标签的检查420确定没有与输入数据元素相关联的标签,则该处理的捷径(shortcut)是可能的。该“捷径”在图5的步骤420和步骤500之间的箭头中示出。
如果输入没有标签,则如步骤420所确定的,输出也将没有相关联的标签。然而,如果通过用户输入或从本地文件加载新数据元素,则这些输入将处理为具有标签类型“本地”,在此情况下脚本编辑引擎的处理的输出也将具有相关联的标签类型“本地”(或,如果与其他标记的输入组合,则更限制性的标签类型)。这将在下面更详细描述。
如果在步骤420的确定是肯定的,则因为存在相关输入标签,所以在以最限制性的标签类型开始的序列中实现根据本实施例的标签传播处理。即,通过标签传播器270执行的第一步骤包括确定430是否任何输入具有标签类型“无处”。如果是,则标签类型“无处”与脚本编辑引擎的输出数据元素或多个元素相关联440。
下面在跟随示例性传播序列的描述之后的题为“控制数据传输的来源的指示的使用”的部分下,更详细地描述标签如何用于控制数据传输。然而,这里通过说明提供该控制的示例。当数据元素具有相关联的标签类型“无处”时,脚本解释器将能够执行500脚本指令,除了响应于这些脚本指令的HTTP客户端的操作将经历由相关联的标签“无处”施加的限制。具体地,将阻止具有“无处”标签的数据元素传输到脚本编辑环境外。
返回到图5的传播序列,如果没有输入元素具有标签类型“无处”,则传播器确定450对于具有多个不同“来源”标签的特定脚本指令是否存在多个输入。如果是,则标签类型“无处”与输出数据元素或多个元素相关联440。
如果步骤450的确定是否定的,则传播器确定460对于当前脚本操作的输入数据元素是否具有单个“来源”类型标签(即,仅存在一个敏感数据元素,或所有敏感数据元素具有相同来源)。如果是,则相关“来源”类型标签与脚本指令的输出数据元素相关联470。
如果在步骤460的确定是否定的,则传播器确定480对当前脚本指令的任何输入是否具有相关联的“本地”标签类型(包括由用户输入或从本地文件加载的数据元素,其被认为具有“本地”标签-参见上述)。如果是,则“本地”标签与脚本操作的输出数据元素相关联490。
已经确定要与脚本编辑操作的输出相关联的标签之后,HTTP客户端内的脚本编辑引擎然后执行其处理500,经历由如下所述的标签施加的对于数据传输的限制。对于脚本内的每个脚本指令重复执行步骤410到500,并且脚本编辑引擎随着其执行而传播标签。
除了脚本编辑操作外,可以有对脚本域起作用、但不是实际的脚本操作自身的其他操作。例如,在文本框中键入的用户正创建“本地”数据,但是用户可将该“本地”数据与“来源”数据组合。在此情况下,标签传播器组件(或在HTTP客户端中其他地方运行的等效组件)期望应用规则以确定对于得到的数据适当的标签。在本实施例中,HTTP客户端调用标签传播器来确定对于标记数据的任何这种组合的适当标签。在其他实施例中,标签传播器可实现为与脚本编辑引擎分开的组件。在用户键入到文本框的示例中,典型地对于每次按键调用脚本编辑引擎,使得其可激活被登记来通知改变的脚本的任何部分,所以脚本编辑引擎的标签传播器组件容易地被调用以确定新数据的适当标签。
4.使用来源的指示以控制数据传输
某些脚本操作涉及从Web浏览器到网络上任何地方的服务器的数据传输。例如,(如RFC1866中定义的)HTML形式可以在脚本控制下提交,可使用XMLHttpRequest(如上所述),或可指令浏览器访问其“路径”、“查询”或“片段”部分已经专门构造为携带数据的手段的URL。本发明定义了在允许任何数据离开浏览器之前必须执行的额外处理。所述行为以浏览器的结构化语言程序代码实现,而不需要对在其中运行的脚本的任何改变。
使得标识为能够传输数据的任何脚本编辑操作依赖于其输入数据的标签。一个脚本指令的输入数据可以是之前脚本指令的输出,在此情况下,上述标签的传播将已经确定了用于控制数据传输的相关标签。传输控制可实现为脚本编辑引擎240的组件,或可以在浏览器内分开地实现。如果根据下面定义的规则不能传输数据,则传输操作必定不能完成。操作优选地还报告错误(不必对用户指出)。
一些传输操作可能取多输入,其可能潜在地具有不同标签。在此情况下,在允许传输规则之前,应该参照标签传播器270如上所述组合标签。
如果传输的数据没有任何类型的来源标签,则其可以自由地发出。这是不实现本发明的浏览器(除非提供替代数据保护机制)、以及处理不敏感的数据的浏览器的情况。
如果数据携带特殊“无处”标签,则不能传输到本地脚本编辑环境外。
如果数据携带类型“来源”的来源标签,则可以传输数据,但仅传输到与其标签兼容的位置。兼容位置是以下之一:
●具有相同DNS域或其子域(例如,其来源是“dev.company.com”的数据可发送到“docstore.dev.company.com”);以及
●驻留在对应于标签内指定的端口号的因特网协议端口上(如果标签指定端口号);以及
●如果标签指定路径,还存在于该路径上或其后代上(例如,其来源包括路径“/apps/expensetool”的数据可发送到“/apps/expensetool/submitform”)。
如果数据携带特殊“本地”标签,则通过浏览器可实现下述规则:
1.如果脚本编辑引擎内不存在具有“来源”或“无处”标签的数据,则浏览器可以假设不涉及敏感数据,并允许“本地”数据发送到任何地方。这具有不改变现有网页和应用的行为的优点,但是对于具有“本地”标签的数据替代的行为可能是优选的,以避免当首次创建新数据元素时的潜在安全性暴露。
2.如果引擎中的一些数据是敏感的,则浏览器可配置为阻止“本地”数据的传输,或在传输“本地”信息之前询问用户。然而,如果委托决定给用户,则必须认识到用户有时在他们不应该接受安全性暴露时接受了安全性暴露。在许多情况下,在发送具有来源标记的数据之前,由用户输入的数据将已经通过正常处理组合,所以跟随的将是对于“来源”标签的规则、而不是对于“本地”标签的规则。
3.当浏览器中的所有来源标签相同时,通过允许“本地”数据传输到该来源(同时仍然质疑其到别处的分发),可处理许多情况而不用求助用户控制。在常见情况下(如安全文档编辑应用),该解决方案平衡了安全性和可用性。
上述一组规则达成了数据安全性和用户体验的破坏之间的平衡,同时认识到浏览器可以没有这样的信息的敏感性的明确认识。
5.加密数据的扩展
上述特征提供了用于控制敏感性信息的传输的完整和有利的系统。然而,可以通过包括加密数据的概念以提供进一步可用的能力的方式扩展这些设备。注意,这与运送中的数据流的任何SSL加密是完全分开的。
该设备要求专门编写脚本以利用它,这与可用不更改的脚本和页面实现的基本发明不同。为了支持该扩展,将使得在脚本编辑引擎中可用新操作,其可使用适当公开的密码将数据转换到加密形式并从加密形式转换数据。
添加第五种来源标签:“加密”。对于加密数据的规则如下:
创建:数据可加密地到达,在此情况下,这通过携带它的传输中的适当的HTTP报头指示。当脚本编辑引擎的显式加密支持用于执行加密现有数据的脚本编辑操作时,结果也标记有该“加密”标签,无论其可能已经携带的任何之前的标签。
传播:通常,将加密数据与其他信息组合不太可能有用。然而其是可能的,在此情况下输出将获取没有加密的输入元素的标签(或如果存在多于一个,则最限制性的这样的标签),如对于上述正常传播那样。
解密:当使用脚本编辑引擎的设备解密加密数据时,输出给出“无处”的来源标签并不能传输。
传输:标记为“加密”的数据可传输到任何地方,因为其对于没有持有密钥的任何实体是无用的。
因此,本发明将来源的指示与敏感数据(无论是标记各个数据元素还是标记网页)、包含敏感数据的文件或数据库相关联,然后根据标签控制该数据的向上传输。敏感数据可由用户输入到客户端数据处理系统,或数据可保持在安全内容服务器上,如保持在存储的网页内,但是本发明可应用到被认为足够敏感以判断控制其向上传输的任何数据。在本发明的上述实施例中,大量数据将没有以此方式约束的其向上传输,因为经由因特网可用的大量数据意图公开可用,并且因为创建或编译特定条信息的个人或组织可能已经判断不需要保护。然而,还有大量经由数据处理网络可访问的私有信息,并可能通过“不信任的”脚本暴露,并且如果用户要安全和有效地利用可用Web服务和脚本而不将其信息暴露给他人,则仍需要保护该信息。
本领域技术人员将理解,在本发明范围内可以以各种方式修改或扩展上述本发明的特定实施例,因此实施例的上述详细描述应当被认为是说明性的,而非限制本发明。
例如,上述新的请求报头仅表示本发明的一种可能的实现,并且本发明的替代实施例不要求任何新请求报头。替代地,通过根据本发明实施例的修改脚本编辑引擎、并且无论何时从第三方网站获得该数据都将其标记为敏感的,释放和替代对类型XMLHttpRequest的请求的使用的安全性约束。类型XMLHttpRequest的请求当前不能由脚本用于(至少不能直接用于)自从其下载脚本的服务器以外的服务器获得数据。这阻止这样的攻击,其中恶意JavaScript利用用户的信任或在防火墙之后的用户的数据处理系统的位置,以从第三方站点读取数据到Web浏览器中,然后将该数据传输回到脚本从其起源的站点。这被称为“跨站点脚本编辑脆弱性”。使用根据本发明实施例的脚本编辑引擎内的来源标签、并且将下载数据标识为敏感的,可阻止这样的攻击而不用依赖对XMLHttpRequest的已知限制。因此,可许可从第三方站点下载数据用于有用的处理,同时将这样的数据标记为敏感的以维持安全性。
其次,不同浏览器可响应于接收到包括“敏感数据”标志的数据而实现不同用于插入来源标签的机制;并且相关数据结构内的来源标签的类别和具体表示在本发明的不同实施例之间也可变化。一旦本领域技术人员阅读了期望行为的上面的描述,就认识到如本申请说明书中定义的本发明范围内的各种实现选择。
Claims (18)
1.一种在脚本编辑环境内执行的、用于控制敏感数据的传输的方法,包括以下步骤:
将来源的指示与第一数据元素相关联;
将来源的指示传播到从第一数据元素生成的数据元素;以及
限制第一数据元素和所述生成的数据元素仅传输到许可的目的地,其中参照来源的指示标识所述许可的目的地。
2.如权利要求1所述的方法,其中将来源的指示与第一数据元素相关联的步骤响应于确定第一数据元素包括敏感数据而执行。
3.如权利要求1所述的方法,其中限制传输的步骤响应于确定所述第一数据元素包括敏感数据而执行。
4.如前述任一权利要求所述的方法,其中从远离脚本编辑环境的源数据处理系统获得第一数据元素,并且其中限制传输的步骤包括阻止第一数据元素传输到源数据处理系统以外的任何目的地。
5.如前述任一权利要求所述的方法,其中将来源的指示与第一数据元素相关联的步骤响应于确定要通过脚本编辑操作处理第一数据元素而执行。
6.如前述任一权利要求所述的方法,其中关联、传播和限制的步骤在客户端数据处理装置上执行,该客户端数据处理装置包括用于与远程服务器数据处理装置通信的网络连接接口,
其中所述方法还包括:
经由网络连接接口将请求发送到远程服务器数据处理装置,以从远程服务器数据处理装置检索第一数据元素;以及
从远程服务器数据处理装置接收数据。
7.如权利要求6所述的方法,其中发送请求的步骤包括在该请求内指定客户端数据处理装置包括用于执行限制传输的步骤的部件。
8.如权利要求6或权利要求7所述的方法,其中将来源的指示与第一数据元素相关联的步骤响应于从远程服务器数据处理装置接收数据而执行,该数据包括关于数据包括敏感数据的指示。
9.如权利要求6所述的方法,其中发送和接收的步骤通过HTTP客户端程序执行,并且其中通过HTTP客户端程序响应于HTTP请求而获得第一数据元素,该HTTP请求包括HTTP客户端程序能够提供对敏感数据的保护的指示。
10.如权利要求6到9之一所述的方法,其中关联和传播的步骤通过在客户端数据处理装置内运行的脚本编辑引擎实现。
11.如前面任一权利要求所述的方法,其中传播来源的指示的步骤包括:
标识对于脚本编辑操作的一个或多个输入组,该脚本编辑操作生成一个或多个输出;
标识与一个或多个输入相关联的任何来源的指示;
从输入的来源的指示得到来源的二次指示;以及
与一个或多个生成的输出相关联的保存来源的二次指示。
12.如前面任一权利要求所述的方法,其中从远离脚本编辑环境的数据处理系统通过脚本编辑操作检索第一数据元素。
13.一种数据处理系统,包括:
至少一个数据处理单元;
至少一个数据存储单元;
脚本解释器;
用于将来源的指示与第一数据元素相关联的部件;
用于将来源的指示传播到从第一数据元素生成的新数据元素的部件;以及
用于限制将第一数据元素和所述生成的数据元素从数据处理系统仅传输到许可的目的地的部件,其中参考来源的指示标识所述许可的目的地。
14.如权利要求13所述的数据处理系统,还包括:
用于与远程服务器数据处理装置通信的网络连接接口;
用于经由网络连接接口将请求发送到远程服务器数据处理装置、以从远程服务器数据处理装置检索第一数据元素的部件;以及
用于从远程服务器数据处理装置接收数据的部件。
15.如权利要求13或权利要求14所述的数据处理系统,其中用于关联的部件和用于传播的部件包括脚本编辑引擎的组件。
16.如权利要求13到15的任一所述的数据处理系统,其中用于关联的部件、用于传播的部件和用于限制的部件包括HTTP客户端程序的组件。
17.如权利要求13所述的数据处理系统,其中用于限制传输的部件包括专用集成电路。
18.一种计算机程序产品,包括在记录介质上记录的程序代码,用于控制数据处理装置,在该数据处理装置上运行程序代码以执行根据权利要求1到12的任一所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP07114359.8 | 2007-08-15 | ||
EP07114359 | 2007-08-15 | ||
PCT/EP2008/060289 WO2009021881A2 (en) | 2007-08-15 | 2008-08-05 | Tracking the origins of data and controlling data transmission |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101779436A true CN101779436A (zh) | 2010-07-14 |
CN101779436B CN101779436B (zh) | 2014-01-15 |
Family
ID=40351219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880102951.2A Active CN101779436B (zh) | 2007-08-15 | 2008-08-05 | 一种用于控制敏感数据传输的方法和系统 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8181260B2 (zh) |
EP (1) | EP2188969B1 (zh) |
JP (1) | JP5306348B2 (zh) |
KR (1) | KR101201003B1 (zh) |
CN (1) | CN101779436B (zh) |
CA (1) | CA2689216C (zh) |
WO (1) | WO2009021881A2 (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050420A (zh) * | 2013-03-15 | 2014-09-17 | 辉达公司 | 用于保护数据的系统和方法 |
CN104270387A (zh) * | 2014-10-22 | 2015-01-07 | 中国建设银行股份有限公司 | 信息请求及响应方法、客户端、服务器和信息处理系统 |
CN104838388A (zh) * | 2012-12-20 | 2015-08-12 | 英特尔公司 | 安全本地web应用数据管理器 |
CN105844166A (zh) * | 2015-01-12 | 2016-08-10 | 中国移动通信集团江苏有限公司 | 一种敏感数据识别方法和装置 |
CN106529317A (zh) * | 2016-11-22 | 2017-03-22 | 广州大学 | 基于Shadow DOM的Web应用加解密方法 |
CN109359277A (zh) * | 2018-10-22 | 2019-02-19 | 众安在线财产保险股份有限公司 | 数据监控方法、设备及计算机存储介质 |
CN109983464A (zh) * | 2016-09-30 | 2019-07-05 | 爱维士软件有限责任公司 | 检测恶意脚本 |
CN109997143A (zh) * | 2016-09-30 | 2019-07-09 | 迈克菲有限责任公司 | 敏感数据的安全共享 |
CN111212048A (zh) * | 2019-12-26 | 2020-05-29 | 北京安码科技有限公司 | https协议实时监控方法、系统、电子设备及存储介质 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8468120B2 (en) | 2010-08-24 | 2013-06-18 | International Business Machines Corporation | Systems and methods for tracking and reporting provenance of data used in a massively distributed analytics cloud |
US8732587B2 (en) * | 2011-03-21 | 2014-05-20 | Symantec Corporation | Systems and methods for displaying trustworthiness classifications for files as visually overlaid icons |
US8996855B2 (en) * | 2012-11-14 | 2015-03-31 | Blackberry Limited | HTTP layer countermeasures against blockwise chosen boundary attack |
IN2013CH05778A (zh) * | 2013-12-13 | 2015-06-19 | Indian Inst Technology Madras | |
CN104966019B (zh) * | 2014-06-16 | 2017-12-22 | 哈尔滨安天科技股份有限公司 | 一种启发式文档威胁检测方法及系统 |
US9584492B2 (en) * | 2014-06-23 | 2017-02-28 | Vmware, Inc. | Cryptographic proxy service |
US9892269B2 (en) | 2015-06-11 | 2018-02-13 | Qualcomm Incorporated | Techniques for data monitoring to mitigate transitive problem in object-oriented contexts |
US11256821B2 (en) | 2015-10-14 | 2022-02-22 | Minereye Ltd. | Method of identifying and tracking sensitive data and system thereof |
US20220382895A1 (en) * | 2021-06-01 | 2022-12-01 | Apple Inc. | Secure data access for electronic devices |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070107057A1 (en) * | 2005-11-10 | 2007-05-10 | Docomo Communications Laboratories Usa, Inc. | Method and apparatus for detecting and preventing unsafe behavior of javascript programs |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7454457B1 (en) * | 2000-02-07 | 2008-11-18 | Parallel Networks, Llc | Method and apparatus for dynamic data flow control using prioritization of data requests |
JP2002063061A (ja) * | 2000-08-15 | 2002-02-28 | Sony Corp | ファイル管理装置、ファイル管理方法及び記録媒体 |
JP4099049B2 (ja) * | 2002-12-16 | 2008-06-11 | 株式会社エヌ・ティ・ティ・ドコモ | 通信方法および通信システム |
WO2005043360A1 (en) * | 2003-10-21 | 2005-05-12 | Green Border Technologies | Systems and methods for secure client applications |
JP4389622B2 (ja) * | 2004-03-24 | 2009-12-24 | 日本電気株式会社 | データ監視方法、情報処理装置、プログラム及び記録媒体、並びに情報処理システム |
US10043008B2 (en) * | 2004-10-29 | 2018-08-07 | Microsoft Technology Licensing, Llc | Efficient white listing of user-modifiable files |
JP4628073B2 (ja) * | 2004-11-30 | 2011-02-09 | 株式会社エヌ・ティ・ティ・ドコモ | アクセス制御装置及びアクセス制御方法 |
US8375423B2 (en) * | 2005-09-23 | 2013-02-12 | International Business Machines Corporation | Authenticating a source of a scripted code |
US8255480B2 (en) * | 2005-11-30 | 2012-08-28 | At&T Intellectual Property I, L.P. | Substitute uniform resource locator (URL) generation |
US8291227B2 (en) * | 2007-02-02 | 2012-10-16 | Red Hat, Inc. | Method and apparatus for secure communication |
US10019570B2 (en) * | 2007-06-14 | 2018-07-10 | Microsoft Technology Licensing, Llc | Protection and communication abstractions for web browsers |
-
2008
- 2008-07-15 US US12/173,138 patent/US8181260B2/en active Active
- 2008-08-05 JP JP2010520533A patent/JP5306348B2/ja active Active
- 2008-08-05 KR KR1020107002678A patent/KR101201003B1/ko active IP Right Grant
- 2008-08-05 WO PCT/EP2008/060289 patent/WO2009021881A2/en active Application Filing
- 2008-08-05 CA CA2689216A patent/CA2689216C/en active Active
- 2008-08-05 EP EP08786897.2A patent/EP2188969B1/en active Active
- 2008-08-05 CN CN200880102951.2A patent/CN101779436B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070107057A1 (en) * | 2005-11-10 | 2007-05-10 | Docomo Communications Laboratories Usa, Inc. | Method and apparatus for detecting and preventing unsafe behavior of javascript programs |
Non-Patent Citations (1)
Title |
---|
DAVID FLANAGAN: "《JavaScript - The Definitive Guide,5th Edition》", 31 August 2006, O’REILLY * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104838388A (zh) * | 2012-12-20 | 2015-08-12 | 英特尔公司 | 安全本地web应用数据管理器 |
CN104050420B (zh) * | 2013-03-15 | 2017-08-15 | 辉达公司 | 用于保护数据的系统和方法 |
CN104050420A (zh) * | 2013-03-15 | 2014-09-17 | 辉达公司 | 用于保护数据的系统和方法 |
CN104270387A (zh) * | 2014-10-22 | 2015-01-07 | 中国建设银行股份有限公司 | 信息请求及响应方法、客户端、服务器和信息处理系统 |
CN105844166B (zh) * | 2015-01-12 | 2018-11-02 | 中国移动通信集团江苏有限公司 | 一种敏感数据识别方法和装置 |
CN105844166A (zh) * | 2015-01-12 | 2016-08-10 | 中国移动通信集团江苏有限公司 | 一种敏感数据识别方法和装置 |
CN109983464A (zh) * | 2016-09-30 | 2019-07-05 | 爱维士软件有限责任公司 | 检测恶意脚本 |
CN109997143A (zh) * | 2016-09-30 | 2019-07-09 | 迈克菲有限责任公司 | 敏感数据的安全共享 |
CN109983464B (zh) * | 2016-09-30 | 2023-03-28 | 爱维士软件有限责任公司 | 检测恶意脚本 |
CN106529317A (zh) * | 2016-11-22 | 2017-03-22 | 广州大学 | 基于Shadow DOM的Web应用加解密方法 |
CN106529317B (zh) * | 2016-11-22 | 2019-11-12 | 广州大学 | 基于Shadow DOM的Web应用加解密方法 |
CN109359277A (zh) * | 2018-10-22 | 2019-02-19 | 众安在线财产保险股份有限公司 | 数据监控方法、设备及计算机存储介质 |
CN111212048A (zh) * | 2019-12-26 | 2020-05-29 | 北京安码科技有限公司 | https协议实时监控方法、系统、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP2188969A2 (en) | 2010-05-26 |
US8181260B2 (en) | 2012-05-15 |
JP2010536107A (ja) | 2010-11-25 |
KR20100052472A (ko) | 2010-05-19 |
JP5306348B2 (ja) | 2013-10-02 |
WO2009021881A2 (en) | 2009-02-19 |
CA2689216C (en) | 2016-03-29 |
US20090049557A1 (en) | 2009-02-19 |
CN101779436B (zh) | 2014-01-15 |
CA2689216A1 (en) | 2009-02-19 |
EP2188969B1 (en) | 2015-10-21 |
WO2009021881A3 (en) | 2009-06-11 |
KR101201003B1 (ko) | 2012-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101779436B (zh) | 一种用于控制敏感数据传输的方法和系统 | |
US10721271B2 (en) | System and method for detecting phishing web pages | |
KR101389969B1 (ko) | 원격 모듈용 메시지 목록 | |
US8166003B2 (en) | Permission-based document server | |
US7730082B2 (en) | Remote module incorporation into a container document | |
US8341104B2 (en) | Method and apparatus for rule-based masking of data | |
US20150169514A1 (en) | Module Specification for a Module to be Incorporated into a Container Document | |
US20050210263A1 (en) | Electronic form routing and data capture system and method | |
US10474444B2 (en) | Method and system for securely updating a website | |
US11640409B2 (en) | Application programming interface (“APIS”) for accessing and amalgamating data from incongruent sources | |
Kellezi et al. | Towards secure open banking architecture: an evaluation with OWASP | |
CN100421376C (zh) | 用于服务资源定位符的请求的方法 | |
JP5474091B2 (ja) | ライブラリに対するガジェットアクセスを安全にする方法 | |
JP2019211849A (ja) | プログラムの実行制御方法、プログラム、記録媒体、ウェブページ、送信サーバ、クライアントおよびウェブシステム | |
US20110154455A1 (en) | Security management framework | |
CN111368231B (zh) | 一种异构冗余架构网站的测试方法及装置 | |
Khelifi et al. | Smart Visa System with Improved Security Features | |
Zaini et al. | Exploiting DOM Mutation for the Detection of Ad-injecting Browser Extension | |
Norberg | Processing User Input | |
Bernard et al. | An Empirical Study of the Usage of Checksums for Web Downloads | |
Demchenko et al. | Finding Data on the Web, Data Sets, Web Scraping, Web API | |
Tran | User-driven data portability: A user-driven data portability approach utilizing web scraping techniques to liberate data | |
Von Solms | Africa’s Contribution to Academic Research in Cybersecurity | |
Detho | Developing a system for securely timestamping and visualizing the changes made to online news content Master Thesis | |
Levi | Java 2: Web Developer Certification Study Guide: Exam 310-080 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |