用于呈现超链接数据的系统和方法
技术领域
在本发明的一些实施例中,本发明涉及web浏览器技术,更具体地但不排他地,涉及用于允许web浏览器自动地呈现超链接数据的方法和系统。为简洁起见,web浏览器表示允许用户使用超链接导航到web文档的任意软件或者固件,诸如ChromeTM、InternetExplorerTM、可移植文档格式(PDF)阅读器、email客户端、演示和文字处理器。
背景技术
在过去的几年中,恶意网页成为用户的主要风险。例如,GoogleTM每天发现约9500个新的恶意网站。这些网站中的一些被设计为或者收集你的信息(这能够导致失去隐私或者非法利用)或者获得对系统资源的未授权访问。恶意网页可以包含恶意代码或脚本,诸如病毒、蠕虫、特洛伊软件、间谍软件和/或其它工具,所述工具可以影响web浏览器客户端(诸如笔记本、台式机、智能电话和平板)的使用或者获得web浏览器客户端的用户的个人细节。
通常通过引导用户激活(例如触摸和/或点击)到这些恶意网页的超链接来完成欺骗用户浏览到恶意网页。这可以通过显示包括已知网站的有效地址(例如www.ibm.com)的超链接的标签来完成,其中所述超链接的目标资源定位符(例如统一资源定位符(URL))被设置为将浏览器指引到恶意网站。此安全漏洞允许攻击者利用很多用户不探测超链接的结构的事实,例如不在显示标签字段中的字符串(可以包括用于呈现的URL的文本)和目标字段中的字符串(即,href值)之间匹配,所述目标字段中的字符串包括由浏览器实际用于浏览关联内容的URL。
发明内容
根据本发明的一些实施例,提供了一种呈现超链接数据的方法。所述方法包括:识别在web浏览器客户端上运行的web浏览器何时响应于提交给目标服务器的web文档数据请求而检索用于显示包括超链接的第一web文档的第一web文档数据,所述超链接具有用于显示的标签和定义第二web文档的地址的目标目的地;评价来自所述第二web文档的内容的风险;由所述web浏览器产生所述风险的参考评价指示;以及由所述web浏览器处理所述web文档数据和所述参考评价指示,用于在所述客户端终端上产生呈现,所述呈现组合所述第一web文档数据和所述参考评价指示使得由所述web浏览器在呈现所述标签时呈现所述参考评价指示。
可选地,所述地址是统一资源标识符(URI)。
更可选地,所述评价包括识别指示web文档的另外的地址的第一字符串和所述第二web文档的地址之间的差异。
更可选地,所述评价包括将所述地址与包括多个地址的列表匹配并且相应地确定所述风险。
可选地,所述方法还包括记录多个不同用户在所述第二web文档上执行的多个浏览行为;其中根据对所述多个浏览行为的统计分析执行所述评价。
可选地,所述呈现包括当用户手动选择所述标签时所述参考评价指示的可听呈现。
可选地,所述呈现包括当用户手动选择所述标签时所述参考评价指示的可视呈现。
可选地,所述评价指示是覆盖所述标签的至少一些的覆盖物。
可选地,所述评价指示是所述标签的至少一些的编辑性质的改变。
更可选地,所述评价指示是所述标签的至少一些的编辑性质的改变。
可选地,所述web浏览器客户端是移动装置。
根据本发明的一些实施例,提供了一种呈现超链接数据的系统。所述系统包括:处理器;web浏览器模块,所述web浏览器模块安装在容纳web浏览器的客户端终端上,所述web浏览器检索用于显示包括超链接的第一web文档的第一web文档数据,所述超链接具有用于显示的标签和定义第二web文档的地址的目标目的地;以及恶意超链接模块,所述恶意超链接模块利用所述处理器评价来自所述第二web文档的内容的风险。所述web浏览器模块产生所述风险的参考评价指示并且在所述客户端终端上处理所述web文档数据和所述参考评价指示,用于产生呈现,所述呈现组合所述第一web文档数据和所述参考评价指示使得由所述web浏览器在呈现所述标签时呈现所述参考评价指示。
可选地,所述恶意超链接模块被安装在经由网络与所述web浏览器模块通信的中央单元上。
可选地,所述web浏览器模块被安装为所述web浏览器的附加件。
可选地,所述web浏览器模块被集成在所述web浏览器中。
可选地,所述地址是统一资源标识符(URI)。
可选地,所述恶意超链接模块在所述评价期间识别指示web文档的另外的地址的第一字符串和所述第二web文档的地址之间的差异。
更可选地,所述恶意超链接模块在所述评价期间将所述地址与包括多个地址的列表匹配并且相应地确定所述风险。
可选地,根据对在所述第二web文档上执行的多个浏览行为的统计分析执行所述评价。
除非另有定义,此处使用的所有技术和/或科技术语具有与本发明所属领域的普通技术人员通常理解的含义相同的含义。虽然与此处描述的方法和材料类似或等同的方法和材料能够用在本发明的实施例的测试或实践中,但是下面描述示例性方法和/或材料。在冲突的情况下,专利说明书(包括定义)将优先。此外,材料、方法和例子只是说明性的并且不被视为必要的限制。
附图说明
本发明的一些实施例在此处通过参考附图仅以例子的方式被描述。现在通过详细地具体参考附图,强调所示出的详情是以例子的方式并且是为了本发明的实施例的说明性讨论。关于这一点,用附图进行的描述使得对本领域技术人员来说本发明的实施例可以怎样被实践变得明显。
在附图中:
图1是根据本发明的一些实施例的使由web浏览器客户端上的web文档的呈现中的超链接带来的风险可视化或者以其它方式呈现该风险的方法的流程图;
图2是根据本发明的一些实施例的使由web浏览器客户端上的web文档的呈现中的超链接带来的风险可视化或者以其它方式呈现该风险的系统的示意图;以及
图3A和3B描绘了根据本发明的一些实施例的形成栅栏形状的“x”字符的阵列怎样被显示为在作为超链接的标签的URL之上的覆盖物,指示所述超链接被估计为给web浏览器客户端带来风险。
图3C描绘了根据本发明的一些实施例与参考评价指示关联地呈现风险解释。
具体实施方式
在本发明的一些实施例中,本发明涉及web浏览器技术,更具体地但不排他地,涉及用于允许web浏览器自动地呈现超链接数据的方法和系统。
根据本发明的一些实施例,提供了向浏览用户指示web文档中呈现给浏览用户的超链接指向恶意和/或不可信内容(诸如病毒、特洛伊木马和/或蠕虫的代码和钓鱼网站等)的方法和系统。所述方法和系统基于浏览器模块(附加件、集成的、浏览器代码或者脚本),所述浏览器模块产生参考评价指示(指示请求的web文档中的超链接中的全部或者一些带来的风险)并且将这些超链接的标签与评价指示组合,使得浏览用户不会轻易地被标签的内容误导。
以上允许防止通过使用超链接哄骗用户按下到恶意和/或不可信站点的超链接,所述超链接将web浏览器引导到恶意和/或不可信内容,即使它们包括展示有效和普通URL(例如www.cnn.com)的标签。
在详细解释本发明的至少一个实施例之前,要理解本发明在它的应用中不必限于例子和/或图中说明的和/或下面描述中说明的方法和/或部件的布置和结构的细节。本发明能够有其它实施例或者以各种方式执行或者实践。
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
计算机程序指令也可被加载到计算机、其它可编程数据处理设备或其它装置上,以使得在计算机、其它可编程设备或其它装置上执行一系列的操作步骤以产生计算机实现的过程,从而在计算机或其它可编程设备上执行的指令提供用于实现流程图和/或方框图的一个或多个方框中规定的功能/动作的过程。
现在参考图1,图1是根据本发明的一些实施例的使由web浏览器客户端上的web文档的呈现中的超链接带来的风险可视化或者以其它方式呈现该风险的方法的流程图。基于对加载的web文档中的超链接的分析,所述呈现被可选地在浏览器级别管理。web文档可以是网页、WORD文档、可移植文档格式(PDF)文档、excel电子表格文档、可扩展标记语言(XML)页面、超文本标记语言(HTML)页面、互联网页面、或者可以经由通信网络访问的任意其它内容文件。所述方法可以由web浏览器或者web浏览器扩展(例如附加件,例如工具栏)实现。
还参考图2,图2是根据本发明的一些实施例的使由web浏览器客户端上的web文档的呈现中的超链接带来的风险可视化或者以其它方式呈现该风险的系统200的示意图。系统200可以用于实现方法100。系统200包括web浏览器模块201,所述web浏览器模块201是安装在连接到网络205的web浏览器客户端202中的web浏览器的扩展或者集成部分。web浏览器客户端可以是笔记本、台式机、智能电话、平板或者容纳和执行web浏览器的任意客户端装置。
根据本发明的一些实施例,系统200包括中央单元204,所述中央单元204用于例如当检索的(即,上载的)web文档的web文档数据被web浏览器请求时,响应于发送给中央单元204的请求,关于恶意和/或不可信超链接更新浏览器模块201。如208所示,中央单元204可选地基于处理器。如此处使用的,恶意内容表示安全风险内容(诸如病毒、蠕虫、特洛伊软件、间谍软件和/或其它工具,所述工具可以影响web浏览器客户端的使用)、具有恶意故意和/或年龄敏感内容的特性的媒体内容(例如文本、视频、音频)(例如色情内容)、欺诈的媒体内容和/或任意其它误导内容。
中央单元204(例如网络节点,诸如基于处理器的服务器)容纳恶意超链接模块206。中央单元204可以连接到包括经由计算机网络205(例如互联网)可访问的记录恶意超链接的恶意超链接储存库207。
系统200提供基础设施以允许呈现web文档的web浏览器识别由web文档中的超链接带来的风险,并且调整web文档的呈现以指示与超链接的呈现关联的风险。
在使用中,安装在web浏览器客户端202上的web浏览器用于向目标服务器210提交web文档数据请求,例如根据超文本传输协议(HTTP)协议提交GET请求,例如如RFC 2616中描述的。
如102所示,web浏览器模块201增强响应于上面的web文档数据请求执行的用于显示请求的web文档的web文档数据的检索。
如103所示,例如由web浏览器模块201分析web文档数据,以识别被设置为与web文档一起呈现的一个或多个超链接,例如具有包括要呈现的文本的标签字段。
现在,如104所示,对于在web文档数据中记录的每个超链接,根据对其目标目的地(例如目标字段中的统一资源标识符(URI),例如超文本传输协议(HTTP)/XX中的链接目标、MediaWiki中的实际链接、HREF属性(也称为链接目的地)等)的分析,评价来自其目标字段中指向的web文档的风险。
可选地,如图2所示,由安装在中央单元204中的恶意超链接模块206执行评价。这样的恶意超链接模块可以提前执行评价,例如周期性地为一批web文档和/或响应于来自加载请求的web文档的web浏览器的请求(例如响应于来自web浏览器和/或web浏览器模块201的请求消息),执行评价。此外或者替代地,由安装在客户端终端中的恶意超链接模块(例如作为web浏览器模块的子模块)执行评价。
可选地,所述风险是根据目标字段中的地址计算或选择的风险等级或风险水平。可选地,所述风险是根据目标字段中的地址选择的二元值(例如恶意或非恶意、安全风险或无安全风险)。
可选地,当例如由web浏览器模块201在本地识别出标签字段中的链接或引用(例如包括URI的字符串)和目标字段中的链接或引用(例如包括不同URI的另一个字符串)之间的差异时识别出风险。标签字段的例子可以是锚文本、链接标签、链接文本、链接标题或者任意其它可视、可点击的文本。可以通过简单的字符串匹配和/或通过从所述字段中提取词并且匹配它们来识别这样的差异。
这样的差异指示试图欺骗浏览用户,使得他或她相信他或她将浏览到具有呈现给他的资源定位符(例如URI)的网页,然而实际上浏览器被指示浏览到具有不同资源定位符(例如URI)的另一网页。
可选地,通过将超链接的目标目的地(例如来自目标字段)与资源定位符(诸如URI)的黑名单和/或白名单的记录匹配来识别风险。可选地,由恶意超链接模块206执行所述匹配,所述恶意超链接模块206例如从浏览器模块201接收具有目标目的地的消息,并且相应地检查恶意超链接储存库207中的记录。
可选地,通过例如使用安装在访问所请求的web文档的多个用户的客户端终端202中的浏览器模块201,分析他们的用户行为来识别风险。在这样的实施例中,监视和统计分析用户行为(诸如站点访问时间、网页访问时间、书签标记、浏览器故障、下载、取消下载、安装附加件、取消安装附加件、浏览行为等)以评价相应的web文档。可选地记录和统计分析用户行为以评价风险和/或用户兴趣。
现在,如105所示,例如由浏览器模块201产生指示请求的web文档中的超链接中的全部或者一些带来的风险的参考评价指示。
可选地,用指向的目标可视地呈现参考评价指示,和/或当超链接被选择(例如点击、用光标标记(有或没有另外的动作)和/或触摸)时,要求来自选择用户的验证。例如,超链接的参考评价指示是要呈现在来自超链接的标签字段的内容之上的覆盖物。可选地,参考评价指示是文本编辑性质的改变,例如呈现超链接的颜色和/或字体和/或文本大小和/或风格的改变。可选地,不同文本编辑性质可以指示不同水平的风险。例如,绿、橙和红可以指示不同风险水平。
可选地,与超链接的呈现一起和/或在浏览到超链接中指向的目标之前可听地播放参考评价指示。例如,参考评价指示是独特的声音、口头警告和/或其组合。可选地,只有当所述评价指示高于阈值的风险和/或恶意内容时才播放参考评价指示。
如106所示,当请求的web文档被呈现时,由web浏览器通过与相应的超链接关联地呈现这些参考评价指示,使由超链接带来的风险可视化,或者以其它方式呈现。可选地,可视化确保在没有参考评价指示的情况下不呈现标签字段的内容,例如当标签字段中的内容被呈现时在所述内容之上放置参考评价指示。例如,参考评价指示包括穿过呈现的超链接的标签的字符放置线条或者标记。例如,图3A和3B描绘了形成栅栏形状的“x”字符(小写字母或大写字母)的阵列怎样被显示为在超链接的标签字段的内容(即,URL)之上的覆盖物,指示所述超链接被估计为给web浏览器客户端带来风险。通过在超链接的标签之上放置参考评价指示,确保不管呈现标签的分辨率和/或显示器的尺寸(例如,在移动装置显示器上、在增强现实显示器中、在诸如手表的可穿戴装置显示器中)如何,在浏览用户决定使用相应的超链接之前向她提供相关的参考评价指示。
当web文档数据与参考评价指示组合时由web浏览器客户端上的web浏览器201提供可视化,使得呈现的超链接的标签与参考评价指示在视觉上关联。
可选地,根据本发明的一些实施例,例如如图3C所示,例如在文本框中,与参考评价指示关联地呈现风险解释(诸如文字解释)。可以从恶意超链接储存库207(例如从与相应的资源定位符关联的记录)获取文字解释。文字解释可以指示对响应于浏览所请求的web文档而执行的用户行为的统计分析。
上述方法被用在集成电路芯片的制造中。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
为了说明的目的已经呈现了本发明的各种实施例的描述,但是本发明的各种实施例不是要穷举或者限于公开的实施例。在不偏离描述的实施例的范围和精神的情况下,对本领域普通技术人员来说很多修改和改变将是显然的。选择此处使用的术语以最佳地解释在市场中发现的技术之上的技术改进、实际应用或实施例的原理,或者使得本领域其他普通技术人员理解此处公开的实施例。
预计在从本申请走向成熟的专利的有效期间,很多相关方法和系统将被开发,并且术语单元、系统、网络和模块的范围应先验地包括所有这些新技术。
如此处使用的术语“约”表示±10%。
术语“包括”、“包含”、“具有”以及他们的变化表示“包括但不限于”。此术语包含术语“由……组成”和“基本由……组成”。
短语“基本由……组成”表示组分或方法可以包括另外的成分和/或步骤,但前提是另外的成分和/或步骤不实质改变要求保护的组分或方法的基本和新颖特性。
如此处使用的,单数形式包括多个引用,除非上下文另有清楚说明。例如,术语“化合物”或者“至少一种化合物”可以包括多种化合物,包括其混合物。
词语“示例性”在此处被用于表示“用作例子、实例或说明”。被描述为“示例性”的任意实施例不必被解释为对于其它实施例是优选的或者有优势的,和/或排除包含来自其它实施例的特征。
词语“可选的”在此处被用于表示“在一些实施例中提供,在其它实施例中不提供”。本发明的任意特定实施例可以包括多个“可选的”特征,除非这些特征冲突。
遍及本申请,可以以范围格式呈现本发明的各种实施例。应当理解,范围格式的描述只是为了方便和简洁,并且不应当被解释为对本发明的范围的僵硬限制。因此,范围的描述应当被视为已经具体公开了所有可能的子范围,以及此范围内的个体数值。例如,对诸如从1至6的范围的描述应当被视为已经具体公开了诸如从1至3、从1至4、从1至5、从2至4、从2至6、从3至6等的子范围,以及此范围内的个体数值,例如1、2、3、4、5和6。不管范围的宽度如何这都适用。
每当此处指示数值范围时,该数值范围表示包括所指示的范围内的任意引用的数值(分数或整数)。短语第一指示数字和第二指示数字“之间的范围”,以及“从”第一指示数字“至”第二指示数字“的范围”在此处被可互换地使用,并且表示包括第一和第二指示数字以及其间的所有分数和整数。
应当理解,为了清楚起见而在不同实施例的上下文中描述的本发明的特定特征还可以在单个实施例中被组合地提供。相反地,为了简洁起见而在单个实施例的上下文中描述的本发明的各种特征还可以被分离地提供,或者以任意合适的子组合形式提供或者适合在任意其它描述的本发明的实施例中提供。各种实施例的上下文中描述的特定特征不被视为这些实施例的基本特征,除非没有这些元素所述实施例就不工作。
虽然已经结合本发明的具体实施例描述了本发明,显而易见的是对本领域技术人员来说很多替代、修改和改变将是显然的。因此,打算包括所有这些落入所附权利要求的精神和宽泛范围内的替代、修改和改变。
本说明书中提到的所有公开出版物、专利和专利申请的全部内容在此通过引用被并入本说明书,如同特意地并单独地指出每个单独的公开出版物、专利或专利申请在此通过引用被合并。此外,本申请中对任意参考文献的引用或者识别不应当被解释为承认这样的参考文献可作为本发明的现有技术。就使用章节标题的范围而言,它们不应当被解释为必要的限制。