提供多级密码和网络钓鱼保护的制作方法

文档序号:19799287发布日期:2020-01-31 14:47阅读:202来源:国知局
提供多级密码和网络钓鱼保护的制作方法

背景

计算机和互联网允许用户访问大量的信息。此信息中的一部分是私有的并旨在仅供指定用户使用。例如,银行信息、电子邮件、保险信息、医疗保健以及其他这些类型的私有信息通常被存储于安全服务器中。这些安全服务器通常仅可使用适当的登录凭证以及各种各样的认证方案中的一种进行访问。例如,这些认证方案可包括通过安全协议发送的数字证书。以此方式,经授权的用户能访问他们的私有信息,而未经授权的用户则不能。

简要概述

本文描述的各实施例针对防止不安全网页的开发、防止不安全网页的部署以及防止访问不安全网页。在一个实施例中,计算机系统访问包括一个或多个web元素的网页。所述计算机系统然后确定所述网页包括请求用户认证的至少一个元素,并且确定各种指定的安全协议是否已在所述网页上被实现。然后,如果所述指定的安全协议在所述网页上尚未被实现,则所述计算机系统显示指示出所述网页不安全的警告或出错。

在另一实施例中,计算机系统发起被配置成确定指定的安全协议是否已在要求认证的网页上被实现的软件应用。所述计算机系统然后用所发起的软件应用扫描各种网络暴露端点,以便确定指定的安全协议是否已在要求认证的网页上被实现。所述计算机系统根据所述扫描进一步确定安全协议在所述网络暴露端点中的至少之一上尚未被实现,并且生成指示出至少一个网络暴露端点不安全的警告。

在又一实施例中,计算机系统访问实时web流量数据,并确定至少一个所标识的网页的网页数据包括请求用户认证的元素。所述计算机系统确定各种指定的安全协议是否已在所标识的网页上被实现,并且如果所述指定的安全协议在所述网页上尚未被实现,则显示指示出所述网页不安全的警告。

提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并非旨在标识出要求保护的主题的关键特征或必要特征,亦非旨在用作辅助确定要求保护的主题的范围。

附加特征和优点将在以下描述中叙述,且其一部分根据本描述对本领域的技术人员将是显而易见的,或可通过对此处的教导的实践来获知。此处所描述的各实施例的特征和优点可通过在所附权利要求书中特别指出的工具和组合来实现和获得。通过下列描述以及所附的权利要求,此处所描述的各实施例的特征将变得更加显而易见。

附图简述

为进一步阐明此处所描述的各实施例的上述及其他特征,将参考附图呈现更具体的描述。应该理解,这些附图只描绘了此处所描述的各实施例的示例,因此不应该被视为限制其范围。将通过使用附图,利用附加特征和细节来描述和解释各实施例,在附图中:

图1示出了本文所描述的包括防止不安全网页的开发的各实施例可在其中操作的计算机架构。

图2示出了用于防止不安全网页的开发的示例方法的流程图。

图3示出了用于防止不安全网页的部署的示例方法的流程图。

图4示出了用于防止访问不安全网页的示例方法的流程图。

图5示出了可在其中防止部署和访问不安全网页的计算架构。

详细描述

本文描述的各实施例针对防止不安全网页的开发、防止不安全网页的部署以及防止访问不安全网页。在一个实施例中,计算机系统访问包括一个或多个web元素的网页。所述计算机系统然后确定所述网页包括请求用户认证的至少一个元素,并且确定各种指定的安全协议是否已在所述网页上被实现。然后,如果所述指定的安全协议在所述网页上尚未被实现,则所述计算机系统显示指示出所述网页不安全的警告或出错。

在另一实施例中,计算机系统发起被配置成确定指定的安全协议是否已在要求认证的网页上被实现的软件应用。所述计算机系统然后用所发起的软件应用扫描各种网络暴露端点,以便确定指定的安全协议是否已在要求认证的网页上被实现。所述计算机系统根据所述扫描进一步确定安全协议在所述网络暴露端点中至少之一上尚未被实现,并且生成指示出至少一个网络暴露端点不安全的警告。

在又一实施例中,计算机系统访问实时web流量数据,并确定至少一个所标识的网页的网页数据包括请求用户认证的元素。所述计算机系统确定各种指定的安全协议是否已在所标识的网页上被实现,并且如果所述指定的安全协议在所述网页上尚未被实现,则显示指示出所述网页不安全的警告。

下面的讨论现在涉及可被执行的多个方法和方法动作。值得注意的是,虽然可以以一定的顺序讨论或在流程图中按特定顺序发生而示出了方法动作,但是,特定顺序并非是必要的,除非特别声明,或者由于一个动作依赖于另一个动作在该动作被执行之前完成而要求。

计算系统现在越来越多地采取多种多样的形式。例如,计算系统可以是手持式设备、电器、膝上型计算机、台式计算机、大型机、分布式计算系统或甚至常规上不被认为是计算系统的设备。在本说明书以及权利要求书中,术语“计算系统”被广义地定义为包括任何设备或系统(或其组合),该设备或系统包含至少一个物理且有形的处理器以及其上能具有可由处理器执行的计算机可执行指令的物理且有形的存储器。计算系统可以分布在网络环境上,并可包括多个组分计算系统。

如图1所示,计算系统101通常包括至少一个处理单元102和存储器103。存储器103可以是物理系统存储器,该物理系统存储器可以是易失性的、非易失性的、或两者的某种组合。术语“存储器”也可在此用来指代诸如物理存储介质这样的非易失性大容量存储。如果计算系统是分布式的,则处理、存储器和/或存储能力也可以是分布式的。如本文中所使用的,术语“可执行模块”或“可执行组件”可以指可以在计算系统上执行的软件对象、例程或方法。此处所描述的不同组件、模块、引擎以及服务可以实现为在计算系统上执行的对象或进程(例如,作为分开的线程)。

在随后的描述中,参考由一个或多个计算系统执行的动作描述各实施例。如果这样的动作是以软件实现的,则执行动作的相关联计算系统的一个或多个处理器响应于已经执行了计算机可执行指令来引导计算系统的操作。例如,这样的计算机可执行指令可被收录在形成计算机程序产品的一个或多个计算机可读介质上。这样的操作的示例涉及对数据的操纵。计算机可执行指令(以及被操纵的数据)可以存储在计算系统101的存储器103中。计算系统101还可包含允许计算系统101通过有线或无线网络与其他消息处理器通信的通信信道。

在此描述的各实施例可包括或利用专用或通用计算机系统,该专用或通用计算机系统包括诸如举例来说一个或多个处理器和系统存储器等计算机硬件,如以下更详细讨论的。系统存储器可被包括在整体存储器103内。系统存储器还可被称为“主存储器”,并且包括可被至少一个处理单元102通过存储器总线寻址的存储器位置,在这种情况下地址位置被声明在存储器总线自身上。系统存储器传统上是易失性的,但本文中描述的原理还适用于其中系统存储器部分或者甚至全部是非易失性的情况。

本发明范围内的各实施例也包括用于承载或存储计算机可执行指令和/或数据结构的物理及其他计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令和/或数据结构的计算机可读介质是计算机存储介质。承载计算机可执行指令和/或数据结构的计算机可读介质是传输介质。由此,作为示例而非限制,本发明的各实施例可包括至少两种显著不同的计算机可读介质:计算机存储介质和传输介质。

存储计算机可执行指令和/或数据结构的计算机存储介质是物理硬件存储介质。物理硬件存储介质包括计算机硬件,诸如ram、rom、eeprom、固态驱动器(“ssd”)、闪存、相变存储器(“pcm”)、光盘存储、磁盘存储或其他磁存储设备、或可用于存储计算机可执行指令或数据结构形式的程序代码的任何其他硬件存储介质,其可由通用或专用计算机系统访问来实现本发明公开的功能。

传输介质可包括可用于携带计算机可执行指令或数据结构形式的程序代码并可由通用或专用计算机系统访问的网络和/或数据链路。“网络”被定义为使得电子数据能够在计算机系统和/或模块和/或其他电子设备之间传输的一个或多个数据链路。当信息通过网络或另一个通信连接(硬连线、无线、或者硬连线或无线的组合)传输或提供给计算机系统时,该计算机系统将该连接视为传输介质。上述的组合应当也被包括在计算机可读介质的范围内。

此外,在到达各种计算机系统组件之际,计算机可执行指令或数据结构形式的程序代码可从传输介质自动传输到计算机存储介质(或反之亦然)。例如,通过网络或数据链路接收到的计算机可执行指令或数据结构可以被缓存在网络接口模块(例如,“nic”)内的ram中,然后最终被传输至计算机系统ram和/或计算机系统处的较不易失性的计算机存储介质。因而,应当理解,计算机存储介质可被包括在还利用(或甚至主要利用)传输介质的计算机系统组件中。

计算机可执行指令例如包括,当在一个或多个处理器处执行时使通用计算机系统、专用计算机系统、或专用处理设备执行某一功能或某组功能的指令和数据。计算机可执行指令可以是例如二进制代码、诸如汇编语言之类的中间格式指令、或甚至是源代码。

本领域的技术人员将理解,本文中描述的原理可以在具有许多类型的计算机系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络pc、小型计算机、大型计算机、移动电话、pda、平板、寻呼机、路由器、交换机等等。本发明也可在其中通过网络链接(或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路的组合)的本地和远程计算机系统两者都执行任务的分布式系统环境中实施。如此,在分布式系统环境中,计算机系统可包括多个组成部分计算机系统。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备二者中。

本领域技术人员还将理解本发明可在云计算环境中实践。云计算环境可以是分布式的,但这不是必须的。在分布时,云计算环境可以国际性地分布在一个组织内,和/或具有跨多个组织拥有的组件。在该说明书和下面的权利要求书中,“云计算”被定义为用于允许对可配置计算资源(例如,网络、服务器、存储、应用和服务)的共享池的按需网络访问的模型。“云计算”的定义不限于可从这样的模型(在被合适地部署时)中获得的任何其他多个优点。

更进一步,此处所描述的系统架构可包括多个独立组件,每一组件都对作为整体的系统的功能有贡献。当开始考虑平台可缩放性的问题时,此模块性允许提高灵活性,为此,提供各种优点。可以通过使用带有有限的功能范围的较小规模部件,比较轻松地管理系统复杂性和增长。通过使用这些松散耦合的模块,增强平台容错。随着业务需要规定,个体组件可以增量地增长。对于新的功能,模块化开发还转换为缩短的上市时间。可以添加或减去新功能,而不会影响核心系统。

图1示出了其中可以采用至少一个实施例的计算机架构100。计算机架构100包括计算机系统101。计算机系统101可以是任何类型的本地或分布式计算机系统,包括云计算系统。计算机系统包括用于执行各种各样的不同功能的各种模块。例如,网页访问模块106访问诸如网页111之类的网页。网页可被显示于如图1所示的集成开发环境(ide)110中,或者可被示于各种各样的不同应用中,包括互联网浏览器、移动设备应用(“app”)或其他类型的应用。网页访问模块106可访问同一计算机系统(即101,如图1所示)内的网页,或远程地访问不同计算机系统上的网页(例如,通过有线或无线连接)。

网页111本身可包括不同的元素112。web元素可包括但不限于文本、图像、表单、多媒体内容、flash内容、购物车功能、认证元素113或其他类型的web元素112。根据网页的底层代码或脚本,每个web元素被结合于网页111中。每个元素可具有它自己的一组实现文件或应用编程接口(api)。还可以特定方式引入或调用每个web元素。在一些情况下,用于调用或实现元素的方法跨互联网浏览器是标准的,以便在呈现网页时允许一致性。

在一些情况下,某些网络元素112可实现用户认证。这样的元素在本文中被称作“用户认证元素”。这些元素可实现某种类型的认证方案,以便允许用户(例如104)访问不可公开获得的信息。例如,银行web站点可提供诸如用户名和密码字段之类的用户认证元素。网页内的这些字段允许用户向银行(即银行的服务器)认证,并且一旦他们登录就访问仅由该用户可获得的私有信息。提供经由认证可访问的用户账户的可信赖的银行或其他公司通常实现安全协议。这些安全协议要在网页与后端服务器之间实现,并对传输提供安全性,例如使得不以明文传输用户的用户名和密码。

诸如安全套接字层(ssl)或传输层安全(tls)之类的安全协议(114)是将数据加密并安全地从一个节点传输至另一节点的密码协议。实现这些安全协议增加了数据传输的处理开销,因为必须在传输之前和之后分别加密和解密数据。此外,在一些情况下,不法web站点所有者可能建立看起来是通常似乎由知名公司所拥有的合法网页上的有效登录字段的东西(这通常被称为网络钓鱼)。如此,请求或要求用户认证的网页可被建立,但不实现安全协议114。在这样的情况下,如果用户提供了认证信息,则可以明文截取并读取该信息。

计算机系统101的确定模块107可因此针对所访问的网页111确定是否在没有实现安全协议114的情况下已实现了任何用户认证元素113(可能有多个)。确定模块107可使用各种各样的不同的方法来确定某一web元素中是否已实现了安全协议,如以下将被进一步解释的。一旦确定已关于用户认证元素113实现了不安全协议(诸如标准的超文本传输协议(http)),则警告生成模块108可生成警告消息109。警告消息109可被显示给正在开发包含不安全的用户认证元素的网页的开发者、正在浏览包含不安全的用户认证元素的web站点的终端用户、或者正在实现诸如用于根据实况web流量数据确定用户是否正在访问包含不安全的用户认证元素的web站点的安全扫描器之类的应用的用户。下面将分别参考图2、3以及4的方法200和300和400来进一步解释这些概念。

鉴于上文所描述的系统和架构,参考图2、3以及4的流程图,将更好地理解可以根据所公开的主题实现的方法。为了简洁起见,作为一系列框示出和描述了方法。然而,应了解和明白,所要求保护的主题不受方框的顺序的限制,因为某些方框可以按不同的顺序进行,和/或与此处所描绘和描述的其他方框同时进行。此外,并非所有的所示出的方框都是实现下面所描述的方法所必需的。

图2示出了用于防止不安全网页的开发的方法200的流程图。现在将频繁地参考计算机架构100的组件以及数据来描述方法200。

方法200包括访问包括一个或多个web元素的网页的动作(动作210)。例如,网页访问模块106可访问网页111,该网页111本身可在集成开发环境(ide)110中当前被开发。ide可以是从极简类型到全功能的商业ide的任何类型的开发环境。网页访问模块可以是ide的一部分,或可与ide分开(如图1所示)。此外,应当注意,图1中示出的任何模块可位于单个计算机系统上,或分布于多个不同的计算机系统。网页包括一个或多个不同的web元素112,其中一些web元素可以是用户认证元素113。用户认证元素可被设计用于提示用户输入登录凭证。登录凭证可包括用户名和密码、个人标识号(pin)、生物测定数据(包括指纹、虹膜扫描等)、预选问题的答案、各种形式的令牌或其他类型的凭证。

方法200进一步包括确定网页包括请求用户认证的至少一个元素的动作(动作220)。确定模块107可基于页面111的各种特性确定web元素112中的至少一个是用户认证元素113。确定模块107可查看网页的底层代码和/或脚本以便确定用户认证元素是否在使用中。例如,网页可在该网页的一个或多个部分中包括认证字段。确定模块107可通过在代码中搜索代码中所使用的调用认证字段的特定指定词来检测这些认证字段。这些词可包括“认证”、“密码”、“用户名”、“标识”、“凭证”、或可指示出网页的至少一个元素正在请求用户认证的其他词。其他实施例可包括在网页的底层代码中搜索指定的指示符,以便检测网页中的认证字段。指示符可包括图像、函数调用、验证码(captcha)、包括特定代码元素或代码类型、对第三方认证或用户验证服务的引用、或其他指示符。可更新指示符或指定词的列表,以便不断包括新术语或指示符。因此,当不法web站点所有者改变策略以便说服用户在不安全网页上提供登录凭证时,查找尚未实现安全协议114的用户认证元素113的存在的web浏览器、ide、或其他软件应用将能够检测新词或其他指示符。

更进一步,web浏览器、ide和其他软件应用可被配置成搜索指定的应用编程接口(api)或api调用。这些api调用可指示出用户认证元素113存在于网页中。api或api调用可以是调用方法或软件功能的其他部分的任何类型的软件代码或脚本。例如,api调用可调用用户认证元素113。如果此web元素没有使用安全协议114实现,则可生成警告消息。类似地,确定模块107可执行测试以便确定是否在没有安全协议的情况下正在网页上实现用户认证元素。确定模块107可尝试加载网页,并进一步加载或发起作为网页111的一部分的web元素。如果网页呈现指示出访问被拒绝(和/或需要认证)的通知,则确定模块可以进一步确定指定的安全协议是否已在网页上实现(动作230)。

如果所指定的安全协议在网页上尚未实现,则计算机系统101可显示指示出网页不安全的警告或出错(动作240)。可在集成开发环境(例如ide110)中向正在ide内创建网页的开发者显示此警告。此警告还可以被显示于web浏览器、安全扫描软件应用或其他应用中。此警告可警告用户该网页不安全,并可采取进一步的预防措施,诸如防止用户将他们的登录凭证输入到字段中或提交已输入的凭证。

此外或作为替代,可结合工作流的执行来显示该警告消息。例如,如果一网页由于在没有安全协议的情况下使用用户认证元素而被确定为是不安全的,则可发起被配置为获得数字证书的工作流。此数字证书可由第三方提供者提供,或可作为发起的工作流的结果被生成。可由计算机系统101或另一计算机系统生成该证书。随后可由计算机系统101在生成或从第三方提供者接收该数字证书之际使用该数字证书。在数字证书由计算机系统101生成的情况下,该数字证书可基于来自用户104的订阅数据(例如,在输入数据105中)生成。例如,计算机系统101可从订阅了由计算机系统101托管的web站点的用户处获得订阅信息。当创建证书时,计算机系统可使用用户的姓名和/或其他凭证。

更进一步,除了生成将被显示于ide、浏览器或其他应用中的警告消息109之外,警告生成模块108可生成通知网页管理员该网页不安全的消息。例如,如果网页已由用户(104)提供,可落实网页管理员来监视来自该用户和/或其他用户的网页。因此,可通知此管理员用户104已经提交了用于托管的包括用户认证元素113但没有实现安全协议114的网页。

在另一实施例中,网页111可与指令一起被发送至web服务器,所述指令指示服务器要确定该网页是否包括请求用户认证的web元素。如果web服务器确定网页不包括这样的用户认证元素,则该web服务器可进一步确定在该网页上是否已实现了任何安全协议114。如果还未实现,则web服务器可指示出该网页是不安全的且不应该被暴露给终端用户。因此,web服务器或计算机系统101可被用于确定处于开发阶段或在互联网上使用的网页是否正在没有实现安全协议的情况下提供用户认证元素。以此方式,终端用户和开发者可被通知该不安全的网页,并且避免它或修复它。

现在转向图3,示出了用于防止不安全网页的部署的方法300的流程图。现在将频繁地参考图5的环境500的组件以及数据来描述方法300。

方法300包括发起被配置成确定指定的安全协议是否已在要求认证的网页上实现的软件应用的动作(动作310)。例如,可实现应用发起模块502以便确定安全协议510是否已在要求认证的网页512上实现。这些网页可由希望计算机系统501托管他们的网页的用户或承租人(508)提交。因此,至少在一些实施例中,计算机系统501可表示云规模的、分布式计算机系统。其中的每个模块可因此位于不同的物理计算机系统上,或位于相同的系统上。应用发起模块502发起的软件应用503可被配置为实现扫描模块504,以便扫描网络暴露端点509来确定指定的安全协议是否已在要求认证的网页上实现(动作320)。

网络暴露端点509可被连接到互联网511或其他网络。这些网络可具有或提供可由终端用户访问的网页。如此,网络暴露端点509至少对那些包括用户认证元素的网页应该提供实现安全协议510的网页。因此,软件应用503的扫描模块504可扫描计算节点、路由器、网关、防火墙或其他网络暴露端点,以便在端点级确定是否在没有实现安全协议510的情况下正在提供要求认证的网页。

方法300进一步包括根据扫描确定安全协议在至少一个网络暴露端点上尚未实现的动作(动作330)。当确定模块505根据扫描确定安全协议510还未被实现在网络暴露端点509中的至少之一上时,警告生成模块506生成指示出该网络暴露端点不安全的警告507(动作340)。此警告可以被发送给网络管理员、网页管理员和/或网页的终端用户(例如,508)。警告507可防止与提供不安全网页的网络暴露端点进行通信,或可导致其他功能(诸如路由器、网关、个体网卡或端口)被禁用或部分地禁用。以此方式,防止用户将有效登录凭证输入到不安全的网页。

由应用发起模块502发起的软件应用503可以是基本上任何类型的软件应用,包括在终端用户的计算机系统上运行的客户机侧应用。例如,应用503可以是互联网浏览器。至少在一些实施例中,互联网浏览器可能是过时的较旧版本。即使在这样的浏览器应用中,也可执行扫描以便确定安全协议是否在使用中。

在其他情况下,软件应用可以是安全扫描器。安全扫描器可被设计成扫描网络暴露端点509(包括暴露于互联网511的那些),以及查找词、指示符、api、特定代码部分、脚本或关于用户认证web元素正被使用的其他指示。如果计算机系统501的确定模块505确定没有关于这些用户认证web元素正在实现安全协议,则警告生成模块506可生成向终端用户和/或管理员或网页管理员通知不安全网页的警告消息507。更进一步,与上述实施例一样,web服务器可被用于向网络暴露端点作出认证调用。认证调用可请求认证凭证,并且如果在没有使用安全协议的情况下提供了登录页,则将生成警告消息507。

现在转向图4,示出了用于防止访问不安全网页的方法400的流程图。现在将频繁地参考图5的环境500的组件以及数据来描述方法400。

方法400包括访问实时web流量数据的动作(动作410)。计算机系统501或网络暴露端点509本身可在从互联网511或其他网络接收到实时web流量数据时扫描实时web流量数据。实时web流量数据可包括所有种类的web数据,包括文本、图像、视频或其他多媒体内容。可针对作为网页的一部分的用户认证元素来监控实时web流量数据。确定模块505确定至少一个所标识的网页的网页数据是否包括用户认证元素(动作420)。对于包括用户认证元素(以上述各种方式发现)的那些网页,确定模块505确定是否已实现了安全协议(动作430)。

如果安全协议在这些网页中至少之一上尚未实现,则将显示指示出该网页不安全的警告507(动作440)。可在浏览器或其他应用中向终端用户(例如508)显示此警告消息。还可向网页的所有者发送此警告消息。警告消息507不仅可指示出网页是不安全的,而且还可防止访问该页面。实际上,警告消息可防止用户将凭证输入到网页的字段中,或可防止用户提交已输入的凭证,或可防止网页完全加载。

在一些实施例中,除了生成警告消息507之外,警告生成模块506将进一步发起被配置成确定如何可使不安全网页安全的工作流。该工作流可确定可被采取来在该网页上实现安全协议的一个或多个步骤。一旦工作流确定了要采取的使网页安全的适当步骤,该工作流或计算机系统101或用户(例如508)可执行所确定的步骤以便使网页安全。通过使用安全协议510使得网页安全之后,可解除警告,并且可授权用户访问该页面。因此,以此方式,不仅可检测还可校正不安全网页。相应地,提供了防止不安全网页的开发的方法、系统和计算机程序产品。此外,提供了防止不安全网页的部署和防止访问不安全网页的方法、系统和计算机程序产品。

此处所描述的概念和特征可以以其他特定形式实现,而不背离其精神或描述性的特征。所描述的实施例在所有方面都应被认为仅是说明性而非限制性的。从而,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变应被权利要求书的范围所涵盖。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1