CN109155784B - 区分纵向暴力攻击与良性错误 - Google Patents
区分纵向暴力攻击与良性错误 Download PDFInfo
- Publication number
- CN109155784B CN109155784B CN201780031810.5A CN201780031810A CN109155784B CN 109155784 B CN109155784 B CN 109155784B CN 201780031810 A CN201780031810 A CN 201780031810A CN 109155784 B CN109155784 B CN 109155784B
- Authority
- CN
- China
- Prior art keywords
- key
- message
- subsequent
- series
- encrypted portion
- 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.)
- Active
Links
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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- 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/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- 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
-
- 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/123—Applying verification of the received information received data contents, e.g. message integrity
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- 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/2135—Metering
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Abstract
利用各种口令尝试对给定帐户的暴力攻击是对计算机安全的常见威胁。当对帐户的可疑暴力被检测到时,系统可以锁定帐户以防止访问,这对于用户而言是令人沮丧的,并且在误报的情况时对管理员而言是耗时的。为了减少误报的数目,在本公开内容中教导了暴力反击。暴力反击被用于获知登录尝试是更改尝试的口令并且被分类为恶意,还是在多次尝试中保持尝试的口令相同并且被分类为良性。
Description
背景技术
恶意方经常寻求通过各种手段(包括暴力攻击)获取对系统的访问。暴力攻击可以是横向的,其中恶意方试图破坏多个合法用户的帐户;暴力攻击可以是纵向的,其中恶意方试图多次破坏一个合法用户的帐户;或者暴力攻击可以包括横向和纵向攻击两者。当恶意方试图使用纵向暴力攻击获取对系统的访问时,会尝试将多个口令与用于帐户的用户名(或可疑用户名)结合使用;通常与管理员或高级用户相关联地使用。纵向暴力攻击通常由受控于恶意方的机器快速连续地进行,以快速地尝试针对用户名的几个可疑口令。
为了对抗这些攻击,系统的管理员可以设置在指定次数的登录尝试之后帐户被“锁定”并且在由管理员解锁之前不允许任何人访问该帐户的规则。不幸的是,用于帐户锁定的规则也可以由良性错误触发的。例如,用户可以将程序设置为自动地登录系统,但是忘记在口令更改后更新程序中的口令(或以其他方式提供错误口令),从而导致程序将合法用户锁定在他们自己的帐户之外。将用户锁定在他们自己的帐户之外并不会提高系统的安全性,并且如果帐户被过于频繁地锁定,则最终可能导致弱化系统的安全性,原因是用户由于挫败感和管理员时间限制而绕过安全性并且忽略良好的安全实践。
发明内容
提供本发明内容是为了以简化的形式介绍一些概念,这些概念将在下面的具体实施方式部分中被进一步描述。本发明内容并非旨在标识要求保护的主题内容的所有特征,也并非旨在限制要求保护的主题内容的范围。
本文中提供了用于支持在访问系统时对暴力攻击与良性错误的区分的系统和方法。本公开内容适用于具有已知漏洞(vulnerability)的安全协议以及没有已知漏洞的安全协议。本公开内容的系统和方法可操作以基于使用的口令来确定登录尝试是暴力攻击还是一系列良性错误的一部分,而不必知道口令本身或将尝试主动地应用于辅助或虚拟认证系统。在各个方面中,将确定是相同的尝试的口令被重复使用从而指示良性错误,还是不同的尝试的口令被串联地使用从而指示暴力攻击。
系统使用安全协议,这些安全协议使用相同的口令产生用于多次传输的不同的加密的结果以防止窃听者通过多次传输获知口令或关于系统的细节。通过添加要利用口令而被加密的时间戳或其他随机数,通过向请求机器发出质询和其他方法,用于给定口令的不同的加密的结果在不同协议中被实现。由于用于每次尝试的唯一加密,被动观察者(诸如窃听者或监测设备)通常无法确定在每次尝试中是否使用了相同的口令。然而,被动观察者可以通过对传输使用各种暴力攻击来获知传输的口令在尝试之间相同或不同,而无需获知尝试的口令实际上是什么。
在已知漏洞允许观察者从尝试的口令获知至少一个位的方面中,若干尝试被暴力强制以揭示登录尝试的散列。如果在若干揭示的散列值中揭示的(多个)易受攻击的位不同,则将确定尝试的口令在登录尝试中已经改变,并且因此尝试被确定为暴力攻击的一部分,并且帐户可以被锁定,可以选择性地禁用对敏感系统或文件的访问,或者可以标记帐户以用于由安全/管理人员进一步手动审查(被统称为“锁定”或“保护”帐户)。可以领会到,暴力强制的尝试的次数将至少为两次,从而使得可以在尝试之间进行比较,但是更确定是登录尝试是表示良性错误还是暴力攻击可以通过暴力强制更多的尝试的口令而被实现。
在没有已知漏洞被利用的方面中,使用很可能的尝试的口令的字典来向系统得到认证密钥。这些认证密钥可以预先或在攻击时被计算出,并且被用于尝试解密可疑纵向暴力攻击的前几个消息的加密的值。如果认证密钥中的一个认证密钥成功地解密一个加密的消息,而不是所有加密的消息,则将确定消息是暴力攻击的一部分,并且帐户可以被锁定。
通过向管理员提供区分暴力攻击与良性错误的能力,本公开内容解决了以计算机为中心的问题并且提高了系统本身的效率和可靠性。
在下面的附图和描述中阐述了一个或多个方面的细节。从对以下具体实施方式的阅读和对相关联的附图的回顾,其他特征和优点将是清楚的。应当理解,以下具体实施方式仅是说明性的而非限制性的;本公开内容的适当范围由权利要求限定。
附图说明
被并入在本公开内容中并且构成本公开内容的一部分的附图示出了本公开内容的各个方面。在附图中:
图1示出了由系统处置来自各种请求设备的授权请求的示例环境;
图2示出了示例认证协议执行;
图3是示出当没有消息安全性中的已知漏洞被应用时、在用于在访问系统时区分暴力攻击与良性错误的示例方法中被涉及的一般阶段的流程图;
图4是示出当消息安全性中的已知漏洞被应用时、在用于在访问系统时区分暴力攻击与良性错误的示例方法中被涉及的一般阶段的流程图;
图5是示出可以用以实践示例的计算设备的物理组件的框图;以及
图6A和图6B是可以用以实践各方面的移动计算设备的框图。
具体实施方式
以下详细描述参考附图。只要可能,在附图和以下描述中使用相同的附图标记来指代相同或相似的元素。虽然可以描述本公开内容的各方面,但是修改、适配和其他实现方式是可能的。例如,可以对附图中示出的元素进行替换、添加或修改,并且可以通过将阶段替换、重新排序或添加到所公开的方法来修改本文中描述的方法。因此,以下具体实施方式不限制本公开内容,相反,本公开内容的适当范围由所附权利要求限定。示例可以采用硬件实现方式或完全软件实现方式或组合软件和硬件方面的实现方式的形式。因此,以下具体实施方式不应当被视为具有限制意义。
纵向暴力攻击试图通过连续尝试若干不同的口令直到访问被获取来获取对由系统托管的账户的访问。很多授权授予系统包括如下安全措施,该安全措施由于错误的口令被使用而将看到这些登录尝试反复失败,并且可以在一定次数的尝试之后锁定用户的帐户(例如,阻止授予对帐户的访问,禁用由该帐户对敏感系统或文件的访问、标记该帐户以用于进一步的人工审核)以保护其免受潜在攻击。然而,恶意纵向暴力攻击和良性登录错误可能对于授权授予系统看起来是相同的。例如,当用户在程序或应用中错误地输入口令(或无法更新口令)时,良性登录错误可能发生,然后可能会尝试使用不正确的口令来重复地连接到系统。授权授予系统将看到来自程序的重复登录尝试,并且错误地将良性错误标识为纵向暴力攻击。系统中的安全措施然后可能将用户锁定在他们自己的帐户之外,同时防止恶意方试图获取对所涉及的帐户的未经授权的访问。
被锁定在他们自己的帐户之外的用户依赖于管理员解锁那些帐户或者依赖于备选的认证手段,这使用户体验降级,需要管理时间来解决,鼓励绕过安全系统(以避免潜在的降级的用户体验),并且浪费计算资源。通过为管理员提供区分暴力攻击与良性错误的能力,本公开内容解决了以计算机为中心的问题并且提高了授予和接收授权时所涉及的系统本身的效率和可靠性。
作为良好的安全实践,携带登录请求的消息不应当包含明文口令(包括文本、生物识别扫描、声纹数据和其他访问授予数据),而是作为替代通常以加密的格式携带口令。监测网络业务的安全设备可以被用于确定一系列登录尝试是在尝试之间改变口令并且因此表示恶意攻击,还是在尝试之间保持尝试的口令并且因此表示良性错误。出于安全和维护的目的,安全设备不需要知道活动口令(用户可以定期更改),也不需要尝试连接到虚拟或蜜罐网络。作为替代,由安全设备将各种离线暴力攻击应用于包括一系列登录尝试的消息,以确定口令数据是否在尝试之间改变。安全设备可以依赖于认证协议中的漏洞来获知在登录尝试中被使用的口令(例如,长度、部分组成、完整组成),或者可以依赖于攻击方案本身和由恶意方用来执行在线暴力攻击的方法,并且由此确定尝试中的口令是改变(指示恶意意图)还是保持不变(指示良性意图),而无需在潜在攻击下知道用于帐户的实际口令。
图1示出了示例环境100,其中由系统处置来自各种请求设备的授权请求。如图所示,一个或多个授权寻求设备(ASD)110尝试获取对由系统托管的账户的访问。ASD 110经由网关120连接到系统,网关120与认证服务器130和被动安全设备(PSD)140通信,认证服务器130处置登录尝试的授权或拒绝,被动安全设备(PSD)140监测ASD 110与认证服务器130之间的授权业务以确定业务是指示暴力攻击还是良性错误。尽管未示出,但是本领域技术人员将领会到,网络中的各种服务器和中介可以位于ASD 110与网关120之间以在用户与系统之间路由消息。还将领会到,尽管示例环境100的一些组件被单独示出,但是在各个方面中,可以部署这些组件的多个副本,例如,用于负载平衡目的、冗余或提供多个服务。
ASD 110示出了多种计算系统,包括但不限于台式计算机系统、有线和无线计算系统、移动计算系统(例如,移动电话、上网本、平板或板(slate)型计算机、笔记本计算机和膝上型计算机)、手持设备、多处理器系统、基于微处理器的或可编程的消费电子产品、小型计算机、打印机和大型计算机。关于图5、图6A和图6B更详细地讨论这些计算系统的硬件。在各个方面中,ASD 110在本地被访问和/或由网络访问,该网络可以包括因特网、局域网(LAN)、用于实体(例如,公司、大学、政府机构)的私有分布式网络、无线自组织网络、虚拟专用网络(VPN)或其他直接数据链路(例如,蓝牙连接、直接有线链路)。例如,恶意方可以直接或通过作为“僵尸网络”的一部分的网络经由恶意程序(例如,病毒)控制ASD 110以执行来自多个ASD 110的暴力攻击,这可以在没有设备的所有者的知情或同意的情况下被完成。在另一示例中,ASD 110可以是由寻求访问帐户的合法用户使用的计算设备,该用户可以进行访问帐户的一次或多次尝试。
网关120是诸如网络交换机的硬件设备或通过内部网络(例如,内联网)将ASD 110从外部网络(例如,因特网)链接到认证服务器130的软件服务。在各个方面中,网关设备120可以提供防火墙并且可以调节进出本地网络的通信业务流。网关120从ASD 110(以及内部网络上的其他设备)向认证服务器130转发消息,并且可以镜像端口,从而使得指向认证服务器130的消息也被转发给PSD 140。网关120也从认证服务器130向ASD 110转发消息。
认证服务器130从ASD 110接收登录请求,并且确定是否授予对由网络服务的帐户的访问。认证服务器130可以使用各种认证协议(包括但不限于PAP(口令认证协议)、CHAP(质询握手认证协议)、EAP(可扩展认证协议)、Kerberos或AAA(认证、授权、计费)架构协议),以允许用户访问网络内的一个或多个系统。根据认证协议的示例交互关于图2被更详细地讨论。取决于使用的标准、网络中的受保护系统的数目和用户帐户设置,认证参数的成功呈现将在针对相关联的用户的适当许可级别向ASD 110授予对由认证服务器130保护的一个或多个系统的访问。
PSD 140监测指向认证服务器130的网关120上的业务,以确定通信是表示暴力攻击还是良性登录错误。在一些方面中,PSD 140在与网络中的其他设备分离的、具有唯一MAC和IP地址的设备上被操作,并且接收经由远程网络监测(RMON)或交换机监控(SMON)规范、端口镜像或类似的转发方案而从网关120被转发给认证服务器130的消息的副本。在其他方面中,PSD 140用作拦截被绑定到认证服务器130的所有网络业务的设备(具有相同的MAC和IP地址或唯一地址)并且将通信转发到认证服务器130或者被动地轻敲和监听在其上向认证服务器130发送通信的传输介质。在其他方面中,PSD 140作为虚拟机或进程在提供应用服务器130的硬件设备上被操作,并且由此可以被动地共享在被寻址到应用服务器130的设备处接收的通信。
在各个方面中,PSD 140采用业务速度和量阈值作为关于通信与人发起的登录尝试相比是表示潜在暴力攻击还是良性错误的第一检查。例如,用户可以尝试手动登录到认证服务器130中并且可以在第二次尝试时成功,并且PSD 140将不会尝试基于低尝试次数来确定尝试是否是暴力攻击。类似地,与使用一个或多个ASD 110的自动登录尝试相比,使用单个设备的人可以尝试连续登录的较低速度可以被用于筛选哪一系列尝试经受尝试是否是暴力攻击的一部分的确定。用于多次尝试的确切值和尝试之间的时间可以在不同的实现方式中变化,并且可以由系统的管理员修改。
PSD 140将执行关于图3和图4被更详细地讨论的方法中的一个或多个方法,以确定一系列登录尝试是构成攻击还是错误,并且将该确定传送给认证服务器130以锁定帐户或使帐户保持未锁定(或去除现有锁定)。
图2示出了示例认证协议执行200。各种认证协议可以允许单点登录(SSO)体验,其中即使经由不同的会话(例如,关闭和重新打开被用于访问服务的程序)访问多个服务或访问单个服务,用户也仅主动地认证(即,提供口令)一次,或者每次用户尝试访问服务时可能需要重新认证。
例如,Kerberos协议允许SSO体验,其中用户提供域名、帐户名和口令以访问本地计算设备210(其也可以是ASD 110)并且随后访问一个或多个网络服务230。计算设备210将通过向密钥域控制器(KDC)220发送利用从用户的口令得到的密钥而被加密的(认证请求的当前时间的)时间戳来向KDC 220认证由用户提供的凭证。KDC 220将通过利用被存储在认证服务器130上的它的用户的口令得到密钥的副本解密消息并且验证时间戳是相关的(例如,给定潜在网络等待时间,未加密的时间是可能匹配登录请求的时间)来验证用户的身份。如果时间戳是相关的,则KDC 220将票证授予票证(TGT)传输给计算设备210,TGT是使得计算设备210能够请求对网络服务230的访问而无需重新提供用户的凭证(例如,域名、帐户名、口令)的标识符。
一旦在计算设备210上向用户授予了TGT,并且直到TGT到期,每次计算设备210尝试访问网络服务230时,它将利用TGT向域控制器221(驻留在KDC 220中)标识自己。域控制器221将通过票证授予服务222向计算设备提供用于用户试图联系的特定网络服务230的访问票证。用户然后将经由计算设备210向网络服务230提供访问票证。因为访问票证已经由票证授予服务222验证,所以网络服务230将授权用户的访问,并且在用户不需要重新输入凭证的情况下建立计算设备210与网络服务230之间的连接。
例如,NTLM(联网LAN管理)协议是另一种认证协议,其使用域名、帐户名和口令(或其单向散列)的凭证来经由质询/响应模型来支持登录。计算设备210必须执行证明其可以访问受保护的凭证的计算,而不是在计算设备210与针对其寻求访问的网络服务230之间发送用户的口令。
已知NTLM的版本一(NTLMv1)具有安全漏洞,并且大部分已经被其他认证协议替代,诸如例如NTLM的版本二(NTLMv2)。然而,在实践中,若干系统仍然依赖于NTLMv1或具有已知漏洞的其他认证协议,以在等待资源切换到更安全的协议时或者当没有更好的解决方案可用时支持向后兼容性。因此,恶意方用于执行在线暴力攻击的很多系统将试图经由易受攻击的认证协议来获取对网络服务230的访问。
在NTLMv1下,网络服务230通过向计算设备210发送作为质询的八字节随机数来认证用户。计算设备210将使用这一八字节随机数和用户的口令的散列值来执行操作。在各个方面中,用户还可以向网络服务230发起质询。用户将向网络服务230返回24字节结果(并且可选地返回其自身的质询),这将验证客户端是否已经计算出正确的结果并且因此应当被授予对网络服务230的访问。
更详细地,对NTLMv1下的质询的响应通过从用户的口令(散列)得到16字节密钥而被计算,这可以根据LM散列算法或NT散列算法而被完成,这然后被用空值填充以达到21个字节的大小。填充的散列然后被分成三个(七个字节),这被用于针对数据加密标准(DES)算法创建三个密钥。密钥中的每个密钥然后被用于经由DES(在电子口令本模式中)加密质询,这导致被连接成24字节响应的三个八字节密文。不幸的是,最后七个字节的密钥由五个字节的填充(空值)组成,这导致第三密钥只包含两个字节的未知数,实际上使它成为双字节密钥,这与七字节密钥相比对暴力攻击要容易得多,这允许攻击者至少获知NTLM散列的一部分,即,最后两个字节的值。
NTLMv2构建在NTLMv1上以提供附加的安全性并且增强NTLMv1以采用128位密钥空间。NTLMv2允许继续使用来自先前NTLMv1机制的现有域控制器。NTLMv2向响应添加附加的客户端质询,这些质询被散列并且传输给网络服务230以授予或拒绝对用户的访问。NTLMv2没有已知的加密漏洞。
如将领会到的,尽管关于图2详细讨论了Kerberos和NTLM协议,但是可以使用其他认证协议,或者可以对所呈现的协议进行变化。在图2中被讨论的协议作为非限制性示例被给出,以在本公开内容中引入在用于认证的示例方面中涉及的操作和术语。虽然Kerberos和NTLMv2在本文中被呈现为没有已知的漏洞,但是本领域普通技术人员将理解,随着时间的推移可以发现新的漏洞,并且可以根据本公开内容应用若干其他认证协议。
图3是示出当没有消息安全性中的已知漏洞被应用时在用于在访问系统时区分暴力攻击与良性错误的示例性方法300中涉及的一般阶段的流程图。方法300对可疑暴力攻击的消息应用暴力攻击以确定可疑暴力攻击是否改变尝试的口令,并且因此应当被视为恶意的。在各种设置中,这可以被称为暴力反击、暴力防御或在线暴力上的离线暴力技术。
当对给定账户的一系列登录尝试被认为是潜在的在线暴力攻击时,方法300在操作310开始。在各个方面中,当一段时间内的尝试次数超过量阈值时,当连续尝试之间的时间低于定时阈值(指示快速尝试)时,当量和定时阈值都被满足时,或者当帐户根据另一保护方案而被锁定或被标记为要被锁定时,一系列尝试被视为潜在的在线暴力攻击。操作310筛选一系列登录尝试,从而使得不是每次失败的登录尝试都经受暴力分析,只有那些具有与在线纵向暴力攻击中被使用的尝试的量和速度相关联的标记的那些。
在操作320,密钥阵列被生成。密钥阵列从恶意方在尝试对帐户进行在线纵向暴力攻击时可能会使用的流行口令的一个或多个字典而被生成。在各个方面中,密钥阵列可以在可疑攻击之前被构建,响应于可疑攻击而被构建,或者在PSD 140检查具有各种潜在口令的各种消息时被即时构建(或添加)。取决于使用的授权协议,密钥阵列中的密钥可以是口令、口令的散列、或者根据口令而被散列化的不同值的散列。
如将被理解的,攻击者经常使用流行或已知要使用的口令的词典作为应用暴力攻击的捷径。对于每次尝试(例如,00002、00012、00102、00112等),不是利用二进制递增计数填充口令字段,而是攻击者作为替代将通过字典中的条目以加速攻击,由此避免需要检查不太可能正在使用的口令的二进制表示,并且首先检查最可能的条目。例如,第一字典可能会注意到口令“12345”和“password”是两个最常用的口令,而辅助字典可能会注意到口令“opensesame”和“123abc”是两个最常用的口令,并且使用第一字典进行纵向在线暴力攻击的恶意方将使用“12345”并且然后是“口令”来开始攻击,但是如果使用第二字典,则会以“opensesame”并且然后是“123abc”来开始攻击。
由PSD 140执行的离线暴力攻击可以使用潜在攻击者将使用的相同词典。被用于构建密钥阵列的字典可以被定期更新、替换或与包括自定义字典的其他字典组合。由PSD140使用的字典可以按照与恶意方获取字典以供他们使用相同的方式而被获取(例如,从托管用于商业销售给恶意方的帐户名和口令对的网站),但是也可以利用认证服务器130的合法用户的最后使用的口令而被更新。例如,已经倍释放给恶意方的口令的字典可以由PSD140使用,并且可以用针对系统的每个用户的先前的n个口令来扩充。通过跟踪先前的口令而不是活动口令或当前口令,PSD 140可以加速它的登录尝试是良性错误的确定,而不会潜在地暴露或需要知道用户的当前口令。在另一示例中,如果认证服务器130要求使用具有某些登录标准(例如,至少n个字符、至少一个数字字符、没有特殊字符)的口令,则不满足(或违反)这些登录标准的口令可以在生成密钥阵列时从字典被过滤掉以被排除。
密钥阵列从字典选择n个条目(其中n可以是由管理员设置的任何数字),其中这n个条目被认为是良性错误或恶意攻击的最可能尝试。因为恶意方使用字典作为捷径(以首先尝试流行的口令),所以PSD 140将运用如由字典指示的n个最可能的口令(例如,那些最常用的趋势条目)。在一些方面中,可能有意义的是首先尝试用户的最新口令作为可能的尝试,以验证该系列登录不是源自尚未被更新以使用最新口令的用户控制的设备。还应当领会到,用户的先前口令的潜在暴露(其可以在以后被重复使用或者在用户稍作修改的情况下被使用)可以被认为是安全风险并且将需要对PSD 140的更频繁的管理,并且将用户的先前的口令用作自定义词典或密钥阵列的一部分因此是可选的。
在操作330,包括一系列登录尝试的消息被收集。在各个方面中,PSD 140可以收集指向认证服务器130的所有登录尝试以在登录尝试系列被认为是潜在恶意时使用,或者可以仅在根据操作310认为该系列是潜在恶意时才开始收集和高速缓存登录尝试。如将领会到的,如果在攻击开始之后PSD 140被警告潜在攻击,并且没有捕获初始尝试,则针对来自字典的最受欢迎的条目的偏移可以被应用以根据操作320构建密钥阵列。偏移可以基于当前尝试的平均速度和攻击的开始时间、在收集开始之前做出的估计的尝试次数、或者是随机的。登录尝试可以被捕获上至针对每个帐户的设定数目(例如,捕获n次尝试),或者可以在进行登录尝试时被连续地捕获。如将领会到的,为了节省存储器,PSD 140可以周期性地清除登录尝试的高速缓存(例如,在最后一次尝试之后n分钟清除高速缓存),响应于成功登录而清除高速缓存,或者在高速缓存已经被填充到针对给定帐户或系统的设定容量之后覆写登录尝试。
前进到操作340,密钥阵列被应用于在操作330被捕获的登录尝试的加密的部分。包括密钥阵列的若干密钥被串联地应用于每个加密的部分以尝试解密该部分。如果该部分被解密,如在决策350处被确定的,则方法300前进到操作370,否则方法300前进到决策360。当根据使用的认证协议通过尝试的密钥产生逻辑结果时,登录尝试被确定解密的。例如,当协议(诸如Kerberos)使用加密的时间戳时,如果解密的版本产生被格式化为时间戳的数据集,该时间戳将是可能已被发送的登录尝试的潜在时间(例如,考虑网络延迟和系统时钟同步的差异,解密的时间戳与针对消息而被接收的时间相关),则消息将被视为成功解密。在另一方面中,如果怀疑消息被正确解密,则可以将其内容与第二消息的解密的内容(来自操作370)比较,以验证解密的内容彼此一致(例如,时间戳落在给定时间段内并且进展得当,内容相同)。
在决策360处,确定是否存在尝试解密的任何附加消息或在尝试的登录使用不同的潜在口令的确定时否满足置信度阈值(统称为消息阈值)。为了说明,如果PSD 140仅收集了一百次登录尝试,则在尝试全部一百次之后消息阈值将被满足,因为没有更多登录尝试要尝试解密。备选地,如果置信度阈值要求针对密钥阵列尝试最多一百次登录尝试,则在尝试解密一百次登录尝试后消息阈值将被满足,因为管理员已经经由置信度阈值指示足够数目的检查已经被进行。当消息阈值尚未被满足时,方法300返回到操作340以将密钥阵列应用于由PSD 140保持的下一登录尝试。在各个方面中,方法300可以返回到操作340一次(即,置信度阈值是2),方法300可以多次返回到操作340,或者方法300可以不返回到操作340(即,置信度阈值是1)。当消息阈值已经被满足,并且没有消息已经被成功解密时,方法300前进到确定消息是良性的确定390。
在操作370,针对来自该系列的不同登录尝试(“第二次”登录尝试)使用来自在决策350处被认为已经成功解密了登录尝试的加密的部分(“第一次”登录尝试)的密钥阵列的密钥。不同的登录尝试可以是来自该系列的下一登录尝试、来自该系列的先前登录尝试、或者该系列中的预设位置或相对于解密的登录尝试的登录尝试。方法300然后前进到决策380,其与决策350一样操作,以确定是否还使用与最初成功解密的登录尝试相同的密钥来解密不同的登录尝试。当在决策380确定第二登录没有利用与第一登录相同的密钥而被解密时,方法300前进到确定390在此确定潜在攻击是恶意的。当在决策380确定第二登录和第一登录都利用相同的密钥而被解密时,方法300前进到确定395,在此确定潜在攻击是良性的。
作为确定390和确定395的一部分,PSD 140将联系认证服务器130以响应于该确定而锁定或解锁(或保持锁定或未锁定)帐户,并且方法300然后可以结束。在各个方面中,在到达确定390之后,认证服务器130可以向网关120信号通知停止从ASD 110转发消息(例如,临时阻止IP地址),由此节省内部网络带宽和处理资源。在各个方面中,在到达确定395之后,认证服务器130还可以联系ASD 110以提示用户录入不同的口令或停止发送自动化登录尝试,由此在内部和外部节省带宽和处理资源。
图4是示出当消息安全性中的已知漏洞被应用时在用于在访问系统时区分暴力攻击与良性错误的示例方法400中涉及的一般阶段的流程图。当在使用的密钥或口令在登录尝试之间保持相同时由认证服务器130使用的认证协议(例如,NTLMv1)中的漏洞可以可靠地产生共享输出时,方法400可以被应用。漏洞还可以允许各方通过减少必须被检查的可用密钥空间来快捷地对密钥或口令进行暴力攻击,其中术语“密钥空间”被理解为指代针对给定算法的可能有效密钥的集合。
当对给定账户的一系列登录尝试被认为是潜在的在线暴力攻击时,方法400在操作410开始。在各个方面中,当一段时间内的尝试次数超过量阈值时,当连续尝试之间的时间低于定时阈值(指示快速尝试)时,当量和定时阈值两者都被满足时,或者当帐户根据另一保护方案而被锁定或被标记为要被锁定时,一系列尝试被视为潜在的在线暴力攻击。操作410筛选一系列登录尝试,从而使得不是每次失败的登录尝试都经受暴力分析,只有那些具有与在线纵向暴力攻击中被使用的尝试的量和速度相关联的标记的那些。
在操作420,包括一系列登录尝试的消息被收集。在各个方面中,PSD 140可以收集指向认证服务器130的所有登录尝试以在登录尝试系列被认为是潜在攻击时使用,或者可以仅在根据操作410认为该系列是潜在攻击时开始收集和高速缓存登录尝试。可以针对每个帐户捕获登录尝试直到设定数目(例如,捕获n次尝试),或者可以在进行登录尝试时连续捕获登录尝试。如将领会到的,为了节省存储器,PSD140可以周期性地清除登录尝试的高速缓存(例如,在最后一次尝试之后n分钟清除高速缓存),响应于成功登录而清除高速缓存,或者在高速缓存已经被填充到针对给定帐户或系统的设定容量之后覆写登录尝试。
第一消息的加密的部分根据已知漏洞而被破解以在操作430中暴露消息的一个或多个未加密位。例如,当认证服务器130使用NTLMv1作为认证协议时,PSD 140可以尝试用于第三密钥段的所有28(256)个潜在值以经由暴力获取有关NTLM散列的知识。当使用潜在密钥作为密钥的DES算法能够解密质询字符串以产生NTLM响应的最后八个字节时(即,DESkey(质询字符串)=最后八个字节),PSD 140将知道它已经在NTLMv1下找到了正确的第三密钥段。如将领会到的,如果与具有已知漏洞的NTLMv1不同的认证协议被使用,则暴露该协议的易受攻击部分的方法将被采用。
第二消息的加密的部分根据已知的漏洞而被破解以在操作440中暴露消息的一个或多个未加密的位。第二消息与第一消息类似地受到攻击。
在决策450处,确定被暴力强制的密钥的易受攻击的位是否匹配。例如,可以通过由晶体管组成的一系列AND逻辑门对密钥的易受攻击的位进行按位AND比较,这些位将经由由晶体管组成的OR逻辑门而被聚合。当确定位不匹配时,这指示使用的密钥在尝试之间不同,方法400前进到确定潜在攻击是恶意的确定490。当确定位匹配时,方法400前进到决策460。
在决策460处,确定是否存在尝试解密的任何附加消息或在尝试的登录使用不同的潜在口令的确定时置信度阈值是否被满足(统称为消息阈值)。为了说明,如果PSD 140仅收集了一百次登录尝试,则在尝试全部一百次之后消息阈值将已经被满足,因为没有更多登录尝试以尝试解密。备选地,如果置信度阈值要求针对彼此比较上至一百次登录尝试,则在尝试解密一百次登录尝试后消息阈值将已经被满足,因为管理员已经经由置信度阈值指示足够数目的检查已经被进行。如将领会到的,取决于认证协议中易受攻击的位的数目,管理员可以改变置信度阈值。例如,两个不同的口令尝试可能会针对单个易受攻击的位(可能是0或1)产生相同的值,但是随着更多的口令尝试被比较或更多的位易受攻击,易受攻击的位针对不同口令将是相同的概率将减少,并且管理员对口令实际上相同的信心将会增加。
当消息阈值尚未被满足时,方法400返回到操作440以强制进行不同的消息尝试。当消息阈值已经被满足时,方法400前进到确定消息是良性的确定495。如将领会到的,当方法400返回到操作440时,具有相同暴露的位的消息中的任何消息可以被称为“第一”消息,并且不同的消息将被称为用于方法400的后续运行的“第二”消息。
作为确定490和确定495的一部分,PSD 140将联系认证服务器130以响应于该确定而锁定或解锁(或保持锁定或未锁定)登录请求被寻址到的账户,并且方法400然后可以结束。在各个方面中,在到达确定490之后,认证服务器130可以向网关120信号通知以停止从ASD 110转发消息(例如,临时阻止IP地址),由此节省内部网络带宽和处理资源。在各个方面中,在到达确定495之后,认证服务器130还可以联系ASD 110以提示用户录入不同的口令或停止发送自动化登录尝试,由此节省带宽和处理资源。
虽然已经在与在计算机上的操作系统上运行的应用程序一起执行的程序模块的一般上下文中描述了实现方式,但是本领域技术人员将认识到,这些方面也可以与其他程序模块一起被实现。通常,程序模块包括例程、程序、组件、数据结构和执行特定任务或实现特定抽象数据类型的其他类型的结构。
本文中描述的各方面和功能可以经由多种计算系统来操作,这些计算系统包括但不限于台式计算机系统、有线和无线计算系统、移动计算系统(例如,移动电话、上网本、平板或板(slate)型计算机、笔记本计算机和膝上型计算机)、手持设备、多处理器系统、基于微处理器的或可编程的消费电子产品、小型计算机和大型计算机。
另外,根据一个方面,本文中描述的各方面和功能在分布式系统(例如,基于云的计算系统)上操作,其中应用功能、存储器、数据存储和取回以及各种处理功能通过诸如因特网或内联网的分布式计算网络彼此远程操作。根据一个方面,用户界面和各种类型的信息经由车载计算设备显示器或经由与一个或多个计算设备相关联的远程显示单元而被显示。例如,用户界面和各种类型的信息在用户界面和各种类型的信息被投影到的墙壁表面上显示和交互。与实践实现方式的多个计算系统的交互包括击键输入、触摸屏输入、语音或其他音频输入、手势输入,其中相关联的计算设备配备有用于捕获和解释用户手势以控制计算设备等的功能的检测(例如,相机)功能。
图5、图6A和图6B和相关联的描述提供了对其中实践示例的各种操作环境的讨论。然而,关于图5、图6A和图6B而被示出和讨论的设备和系统是出于示例和说明的目的,而不是限制用于实践本文所描述的方面的大量计算设备配置。
图5是示出可以用以实践本公开内容的示例的计算设备500的物理组件(即,硬件)的框图。在基本配置中,计算设备500包括至少一个处理单元502和系统存储器504。根据一个方面,取决于计算设备的配置和类型,系统存储器504包括但不限于易失性存储装置(例如,随机存取存储器)、非易失性存储装置(例如,只读存储器)、闪存或这样的存储器的任何组合。根据一个方面,系统存储器504包括操作系统505和适合于运行软件应用550的一个或多个程序模块506。根据一个方面,系统存储器504包括用来使得软件应用550能够经由存储的指令来采用本公开内容的教导的PSD控制器。例如,操作系统505适合于控制计算设备500的操作。此外,各方面结合图形库、其他操作系统或任何其他应用程序而被实践,并且不限于任何特定应用或系统。这一基本配置在图5中由虚线508内的那些组件示出。根据一个方面,计算设备500具有附加特征或功能。例如,根据一个方面,计算设备500包括附加数据存储设备(可移除和/或不可移除),诸如例如磁盘、光盘或磁带。这样的附加存储装置在图5中由可移除存储设备509和不可移除存储设备510示出。
如上所述,根据一个方面,多个程序模块和数据文件存储在系统存储器504中。当在处理单元502上执行时,程序模块506(例如,电子邮件客户端)执行过程,这些过程包括但不限于图3和图4中所示的方法300和400的阶段中的一个或多个阶段。根据一个方面,根据示例使用其他程序模块,并且其他程序模块包括诸如电子邮件和联系人应用、文字处理应用、电子表格应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用程序等应用。
根据一个方面,计算设备500具有一个或多个输入设备512,诸如键盘、鼠标、笔、声音输入设备、触摸输入设备等。根据一个方面,还包括(多个)输出设备514,诸如显示器、扬声器、打印机等。上述设备是示例,并且可以使用其他设备。根据一个方面,计算设备500包括允许与其他计算设备518的通信的一个或多个通信接口516。合适的通信接口516的示例包括但不限于射频(RF)发射器、接收器和/或收发电路;通用串行总线(USB)端口、并行和/或串行端口和以太网端口。
本文中使用的术语计算机可读介质包括计算机存储介质装置和制品。计算机存储介质包括以用于诸如计算机可读指令、数据结构或程序模块的信息的存储的任何方法或技术而被实现的易失性和非易失性、可移除和不可移除介质。系统存储器504、可移除存储设备509和不可移除存储设备510都是计算机存储介质示例(即,存储器存储装置)。根据一个方面,计算机存储介质包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光学存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备、或者可以被用于存储信息并且可以由计算设备500访问的任何其他制品。根据一个方面,任何这样的计算机存储介质是计算设备500的一部分。计算机存储介质不包括载波或其他传播的数据信号。
根据一个方面,通信介质由计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制的调制的数据信号中的其他数据体现,并且包括任何信息递送介质。根据一个方面,术语“调制的数据信号”描述以使得能够在信号中对信息编码的方式设置或改变一个或多个特性的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接等有线介质以及诸如声学、射频(RF)、红外和其他无线介质等无线介质。
图6A和图6B示出了可以用以实践这些方面或者可以被用作ASD 110的移动计算设备600,例如,移动电话、智能电话、平板个人计算机、膝上型计算机等。参考图6A,示出了用于实现这些方面的移动计算设备600的示例。在基本配置中,移动计算设备600是具有输入元件和输出元件两者的手持式计算机。移动计算设备600通常包括显示器605和允许用户向移动计算设备600中输入信息的一个或多个输入按钮610。根据一个方面,移动计算设备600的显示器605用作输入设备(例如,触摸屏显示器)。如果被包括,则可选的侧输入元件615允许进一步的用户输入。根据一个方面,侧输入元件615是旋转开关、按钮或任何其他类型的手动输入元件。在备选示例中,移动计算设备600包括更多或更少的输入元件。例如,在一些示例中,显示器605可以不是触摸屏。在备选示例中,移动计算设备600是便携式电话系统,诸如蜂窝电话。根据一个方面,移动计算设备600包括可选的小键盘635。根据一个方面,可选的小键盘635是物理小键盘。根据另一方面,可选的小键盘635是在触摸屏显示器上被生成的“软”小键盘。在各个方面中,输出元件包括用于示出图形用户界面(GUI)的显示器605、视觉指示器620(例如,发光二极管)和/或音频换能器625(例如,扬声器)。在一些示例中,移动计算设备600并入用于向用户提供触觉反馈的振动换能器。在又一示例中,移动计算设备600并入用于向外部设备发送信号或从外部设备接收信号的外围设备端口640,诸如音频输入(例如,麦克风插孔)、音频输出(例如,耳机插孔)和视频输出(例如,HDMI端口)。
图6B是示出移动计算设备的一个示例的架构的框图。也就是说,移动计算设备600并入用来实现一些示例的系统(即,架构)602。在一个示例中,系统602被实现为能够运行一个或多个应用(例如,浏览器、电子邮件、日历、联系人管理器、消息接发客户端、游戏和媒体客户端/播放器)的“智能电话”。在一些示例中,系统602被集成为计算设备,诸如集成的个人数字助理(PDA)和无线电话。
根据一个方面,一个或多个应用程序650被加载到存储器662中并且在操作系统664上或与其相关联地运行。应用程序的示例包括电话拨号器程序、电子邮件程序、个人信息管理(PIM)程序、文字处理程序、电子表格程序、因特网浏览器程序、消息接发程序等。根据一个方面,用于访问网络的客户端被加载到存储器662中。系统602还包括存储器662内的非易失性存储区域668。非易失性存储区域668被用于存储在系统602被断电时不应当被丢失的持久性信息。应用程序650可以在非易失性存储区域668中使用和存储信息,诸如电子邮件或由电子邮件应用使用的其他消息等。同步应用(未示出)也驻留在系统602上,并且被编程为与驻留在主计算机上的对应同步应用交互,以使被存储在非易失性存储区域668中的信息与存储在主计算机处的对应信息保持同步。应当领会到,其他应用可以被加载到存储器662中并且在移动计算设备600上运行。
根据一个方面,系统602具有被实现为一个或多个电池的电源670。根据一个方面,电源670还包括对电池进行补充或再充电的外部电源,诸如AC适配器或电动对接支架。
根据一个方面,系统602包括执行传输和接收射频通信的功能的无线电672。无线电672经由通信载体或服务提供商促进系统602与“外部世界”之间的无线连接。去往和来自无线电672的传输在操作系统664的控制下被进行。换言之,由无线电672接收的通信可以经由操作系统664被传播给应用程序650,反之亦然。
根据一个方面,视觉指示器620被用于提供视觉通知,和/或音频接口674被用于经由音频换能器625产生可听通知。在所示的示例中,视觉指示器620是发光二极管(LED)并且音频换能器625是扬声器。这些设备可以被直接地耦合到电源670,从而使得当被激活时,它们保持开启持续由通知机制指示的持续时间,即使处理器660和其他组件可能关闭以节省电池电量。LED可以被编程为无限期地保持开启,直到用户采取动作来指示设备的通电状态。音频接口674被用于向用户提供可听信号以及从用户接收可听信号。例如,除了被耦合到音频换能器625之外,音频接口674还可以被耦合到麦克风以接收可听输入,诸如以促进电话交谈。根据一个方面,系统602还包括使得车载相机630的操作能够记录静止图像、视频流等的视频接口676。
根据一个方面,实现系统602的移动计算设备600具有附加特征或功能。例如,移动计算设备600包括附加数据存储设备(可移除和/或不可移除),诸如磁盘、光盘或磁带。这样的附加存储装置在图6B中由非易失性存储区域668示出。
根据一个方面,由移动计算设备600生成或捕获并且经由系统602被存储的数据/信息在本地被存储在移动计算设备600上,如上所述。根据另一方面,数据被存储在由设备经由无线电672或经由移动计算设备600与关联于移动计算设备600的单独计算设备(例如,诸如因特网的分布式计算网络中的服务器计算机)之间的有线连接可访问的任何数目的存储介质上。应当领会到,这样的数据/信息可以经由移动计算设备600经由无线电672或经由分布式计算网络而被访问。类似地,根据一个方面,根据公知的数据/信息传输和存储装置,包括电子邮件和协作数据/信息共享系统,这样的数据/信息在计算设备之间被容易地传送以用于存储和使用。
例如,以上参考根据各方面的方法、系统和计算机程序产品的框图和/或操作图示描述了实现方式。框中记录的功能/动作可以不按任何流程图所示的顺序发生。例如,连续示出的两个框实际上可以基本上同时地被执行,或者这些框有时可以按照相反的顺序被执行,这取决于涉及的功能/动作。
本申请中提供的一个或多个示例的描述和说明并非旨在以任何方式限制或约束要求保护的范围。本申请中提供的各方面、示例和细节被认为足以传达所有权并且使得其他人能够制作和使用最佳模式。实现方式不应当被解释为限于本申请中提供的任何方面、示例或细节。无论是组合地还是单独地被示出和描述,旨在选择性地包括或省略各种特征(结构和方法)以产生具有特定特征集的示例。已经提供了本申请的描述和说明,本领域技术人员可以设想落入被体现在本申请中的总体发明性概念的更广泛方面的精神内的而没有脱离本公开内容的更广泛的范围的变型、修改和备选示例。
Claims (20)
1.一种用于在一系列登录尝试中区分恶意暴力攻击与良性错误的方法,包括:
从所述一系列登录尝试收集多个消息,其中所述多个消息中的每个消息包括加密的部分;
生成包括从口令字典得到的多个密钥的密钥阵列;
将所述密钥阵列的所述密钥应用于来自所述多个消息的消息的所述加密的部分;
确定所述消息的所述加密的部分是否被解密以提供解密的消息并且注解被用于解密所述消息的所述密钥阵列的给定密钥;
当确定所述消息的所述加密的部分没有利用所述密钥阵列的所述密钥中的任何密钥被解密时:
将所述密钥阵列的所述密钥应用于后续消息;
确定所述后续消息的所述加密的部分是否被解密以提供所述解密的消息并且注解被用于解密所述后续消息的所述密钥阵列的所述给定密钥;以及
当所述解密的消息已经被提供时:
将所述给定密钥应用于来自所述多个消息的不同消息的所述加密的部分;
确定所述不同消息的所述加密的部分是否利用所述密钥阵列的所述给定密钥而被解密;
当确定所述不同消息利用所述给定密钥而被解密时,将所述一系列登录尝试视为良性的;以及
当确定所述不同消息未利用所述给定密钥而被解密时,
将所述一系列登录尝试视为恶意的。
2.根据权利要求1所述的方法,其中在将所述密钥阵列的所述密钥应用于所述消息的所述加密的部分之前,基于尝试之间的时间和包括所述一系列登录尝试的尝试量来确定所述一系列登录尝试是潜在攻击。
3.根据权利要求1所述的方法,当确定所述消息的所述加密的部分未利用所述密钥阵列的所述密钥中的任何密钥而被解密时,还包括:
确定已经被应用了所述密钥阵列的消息的数目是否已经满足消息阈值;以及
当所述消息的数目满足所述消息阈值时,将所述一系列登录尝试视为恶意的。
4.根据权利要求3所述的方法,其中所述消息阈值等于收集的包括所述一系列登录尝试的消息的数目。
5.根据权利要求3所述的方法,其中所述消息阈值被设置为一,其中在不将所述密钥阵列的所述密钥应用于所述后续消息的情况下,所述一系列登录尝试被视为恶意的。
6.根据权利要求1所述的方法,其中所述口令字典包括用于账户生成所述密钥阵列的第一密钥的最后有效口令。
7.根据权利要求1所述的方法,其中包括所述口令字典的口令被过滤以从所述口令字典排除违反登录标准的口令。
8.根据权利要求1所述的方法,还包括:
当所述一系列登录尝试被视为恶意的时,提示验证服务器锁定所述一系列登录尝试被寻址到的帐户。
9.根据权利要求1所述的方法,还包括:
当所述一系列登录尝试被视为良性的时,提示验证服务器解锁所述一系列登录尝试被寻址到的帐户。
10.根据权利要求1所述的方法,还包括:
当所述一系列登录尝试被视为良性的时,提示远程用户提供不同口令。
11.一种用于在一系列登录尝试中区分恶意暴力攻击与良性错误的被动安全设备,包括:
通信接口;
处理器;以及
存储器,所述存储器包括指令,所述指令在由所述处理器执行时,可操作以使得所述被动安全设备:
经由所述通信接口接收被寻址到认证服务器的包括所述一系列登录尝试的登录尝试,其中所述登录尝试标识访问寻求设备试图获取访问的给定帐户;
基于登录尝试次数和进行所述登录尝试的速度来确定所述一系列登录尝试是否可能攻击所述给定帐户;
当确定所述一系列登录尝试可能攻击所述给定帐户时,所述指令还可操作以使得所述被动安全设备:
确定被用于加密第一消息的加密的部分的第一密钥;
确定被用于加密后续消息的加密的部分的后续密钥;
将所述第一密钥与所述后续密钥比较以确定所述第一密钥和所述后续密钥是否相等;以及
当确定所述第一密钥和所述后续密钥不相等时,将所述一系列登录尝试视为恶意的,并且传输信号以锁定所述一系列登录尝试被寻址到的帐户。
12.根据权利要求11所述的被动安全设备,其中所述被动安全设备经由端口镜像来接收被寻址到所述认证服务器的所述登录尝试。
13.根据权利要求11所述的被动安全设备,还包括:当确定所述第一密钥和所述后续密钥相等时,所述指令还可操作以使得所述被动安全设备:
确定指示用来与所述第一密钥比较的后续密钥的数目的置信度阈值是否已经被满足;
当确定所述置信度阈值尚未被满足时,选择新消息作为所述后续消息并且将相关联的密钥确定为用于与所述第一密钥比较的所述后续密钥;以及
当确定所述置信度阈值已经被满足时,将所述一系列登录尝试认为良性的并且传输信号以保持所述一系列登录消息被寻址到的所述帐户未锁定。
14.根据权利要求11所述的被动安全设备,其中所述指令还可操作以使得所述被动安全设备:
其中为了确定被用于加密所述第一消息的所述加密的部分的所述第一密钥,所述被动安全设备应用第一暴力反击来确定用于所述第一密钥的值;
其中所述第一暴力反击针对所述第一消息的所述加密的部分使用来自授权协议的密钥空间的潜在密钥;
其中当所述授权协议中的漏洞和给定的潜在密钥被应用于所述第一消息的所述加密的部分时,基于所述漏洞被满足,用于所述第一密钥的所述值从所述给定的潜在密钥被分配;
其中为了确定被用于加密所述后续消息的所述加密的部分的所述后续密钥,所述被动安全设备应用后续暴力反击来确定用于所述后续密钥的值;
其中所述后续暴力反击针对所述后续消息的所述加密的部分使用来自所述授权协议的所述密钥空间的所述潜在密钥;
其中当所述授权协议中的所述漏洞和特定潜在密钥被应用于所述后续消息的所述加密的部分时,基于所述漏洞被满足,用于所述后续密钥的所述值从所述特定潜在密钥被分配。
15.根据权利要求11所述的被动安全设备,其中为了确定所述第一密钥,所述被动安全设备对所述第一消息的所述加密的部分应用字典攻击;并且
其中为了确定所述第一密钥和所述后续密钥是否相等,所述指令还可操作以使得所述被动安全设备:
将所述第一密钥应用于所述后续消息的所述加密的部分;
确定第一密钥是否解密了所述后续消息的所述加密的部分;以及
当确定所述第一密钥解密了所述后续消息的所述加密的部分时,确定所述后续密钥等于所述第一密钥。
16.一种用于在一系列登录尝试中区分恶意暴力攻击与良性错误的方法,包括:
从所述一系列登录尝试收集多个消息,其中所述多个消息中的每个消息包括加密的部分;
确定被用于加密第一消息的所述加密的部分的第一密钥;
确定被用于加密后续消息的所述加密的部分的后续密钥;
将所述第一密钥与所述后续密钥比较以确定所述第一密钥和所述后续密钥是否相等;以及
当确定所述第一密钥和所述后续密钥不相等时,将所述一系列登录尝试视为恶意的,并且传输信号以锁定所述一系列登录消息被寻址到的帐户。
17.根据权利要求16所述的方法,还包括:当确定所述第一密钥和所述后续密钥相等时:
确定指示用来与所述第一密钥比较的后续密钥的数目的置信度阈值是否已经被满足;
当确定所述置信度阈值尚未被满足时,选择新消息作为所述后续消息并且将相关联的密钥确定为用于与所述第一密钥比较的所述后续密钥;以及
当确定所述置信度阈值已经被满足时,将所述一系列登录尝试视为良性的并且传输信号以保持所述一系列登录消息被寻址到的所述帐户未锁定。
18.根据权利要求16所述的方法,还包括:
其中确定被用于加密所述第一消息的所述加密的部分的所述第一密钥通过应用第一暴力反击来确定用于所述第一密钥的值而被实现;
其中所述第一暴力反击针对所述第一消息的所述加密的部分使用来自授权协议的密钥空间的潜在密钥;
其中当所述授权协议中的漏洞和给定的潜在密钥被应用于所述第一消息的所述加密的部分时,基于所述漏洞被满足,用于所述第一密钥的所述值从所述给定的潜在密钥被分配;
其中确定被用于加密所述后续消息的所述加密的部分的所述后续密钥通过应用后续暴力反击来确定用于所述后续密钥的值而被实现;
其中所述后续暴力反击针对所述后续消息的所述加密的部分使用来自所述授权协议的所述密钥空间的所述潜在密钥;
其中当所述授权协议中的所述漏洞和特定潜在密钥被应用于所述后续消息的所述加密的部分时,基于所述漏洞被满足,用于所述后续密钥的所述值从所述特定潜在密钥被分配。
19.根据权利要求18所述的方法,其中所述漏洞减少所述密钥空间中的潜在密钥的数目。
20.根据权利要求16所述的方法,其中确定所述第一密钥通过对所述第一消息的所述加密的部分的字典攻击而被实现;并且
其中确定所述第一密钥和所述后续密钥是否相等还包括:
将所述第一密钥应用于所述后续消息的所述加密的部分;
确定第一密钥是否解密了所述后续消息的所述加密的部分;以及
当确定所述第一密钥解密了所述后续消息的所述加密的部分时,确定所述后续密钥等于所述第一密钥。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/163,633 | 2016-05-24 | ||
US15/163,633 US10148639B2 (en) | 2016-05-24 | 2016-05-24 | Distinguishing vertical brute force attacks from benign errors |
PCT/US2017/032995 WO2017205121A1 (en) | 2016-05-24 | 2017-05-17 | Distinguishing vertical brute force attacks from benign errors |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109155784A CN109155784A (zh) | 2019-01-04 |
CN109155784B true CN109155784B (zh) | 2021-01-15 |
Family
ID=58993204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780031810.5A Active CN109155784B (zh) | 2016-05-24 | 2017-05-17 | 区分纵向暴力攻击与良性错误 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10148639B2 (zh) |
EP (1) | EP3466024B1 (zh) |
CN (1) | CN109155784B (zh) |
WO (1) | WO2017205121A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10333906B2 (en) * | 2017-03-30 | 2019-06-25 | Bank Of America Corporation | Network communication decoder using key pattern encryption |
US10362055B2 (en) * | 2017-08-10 | 2019-07-23 | Blue Jeans Network, Inc. | System and methods for active brute force attack protection |
US10891372B1 (en) * | 2017-12-01 | 2021-01-12 | Majid Shahbazi | Systems, methods, and products for user account authentication and protection |
US10819700B1 (en) | 2018-02-12 | 2020-10-27 | EMC IP Holding Company LLC | Client-side user authentication control based on stored history of incorrect passwords |
CN108494735B (zh) * | 2018-02-13 | 2021-02-05 | 北京明朝万达科技股份有限公司 | 一种非法破解登录分析告警方法及装置 |
US10972498B2 (en) | 2018-10-08 | 2021-04-06 | International Business Machines Corporation | Dynamic protection from detected to brute force attack |
US11042629B2 (en) | 2018-10-09 | 2021-06-22 | EMC IP Holding Company LLC | Preventing malicious lockout of user accounts |
US11200313B2 (en) | 2019-03-18 | 2021-12-14 | Visa International Service Association | Defense mechanism against component wise hill climbing using synthetic face generators |
US11165817B2 (en) * | 2019-10-24 | 2021-11-02 | Arbor Networks, Inc. | Mitigation of network denial of service attacks using IP location services |
CN110995738B (zh) * | 2019-12-13 | 2022-04-01 | 北京天融信网络安全技术有限公司 | 暴力破解行为识别方法、装置、电子设备及可读存储介质 |
US11303637B2 (en) * | 2020-02-04 | 2022-04-12 | Visa International Service Association | System, method, and computer program product for controlling access to online actions |
US11336438B2 (en) * | 2020-03-31 | 2022-05-17 | EMC IP Holding Company LLC | Remote approval and execution of restricted operations |
CN111355750B (zh) * | 2020-04-23 | 2022-11-08 | 京东科技控股股份有限公司 | 用于识别暴力破解密码行为的方法和装置 |
US20230367871A1 (en) * | 2022-05-16 | 2023-11-16 | Microsoft Technology Licensing, Llc | Event-triggered forensics capture |
CN116318685B (zh) * | 2023-05-17 | 2023-07-21 | 湖南警察学院 | 一种移动存储设备数据安全交换系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101626364A (zh) * | 2008-07-08 | 2010-01-13 | 赵运磊 | 一类可基于口令、抗秘密数据泄露的认证和密钥交换方法 |
CN102831335A (zh) * | 2011-06-16 | 2012-12-19 | 中国科学院数据与通信保护研究教育中心 | 一种Windows操作系统的安全保护方法和系统 |
CN104469767A (zh) * | 2014-10-28 | 2015-03-25 | 杭州电子科技大学 | 一套移动办公系统中集成式安全防护子系统的实现方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7523499B2 (en) | 2004-03-25 | 2009-04-21 | Microsoft Corporation | Security attack detection and defense |
GB0516510D0 (en) | 2005-08-11 | 2005-09-14 | Ibm | A method, system and computer program product for access control |
US8412931B2 (en) | 2007-12-27 | 2013-04-02 | Apple Inc. | Techniques for credential strength analysis via failed intruder access attempts |
US8291472B2 (en) | 2010-01-28 | 2012-10-16 | International Business Machines Corporation | Real-time adjustments to authentication conditions |
US8707440B2 (en) | 2010-03-22 | 2014-04-22 | Tenable Network Security, Inc. | System and method for passively identifying encrypted and interactive network sessions |
US9032491B2 (en) * | 2011-08-31 | 2015-05-12 | Delfigo Corporation | Multi-factor authentication enrollment optimization method and apparatus |
JP5971038B2 (ja) | 2012-09-03 | 2016-08-17 | 富士通株式会社 | 認証装置、認証方法、及び認証プログラム |
US9363075B2 (en) * | 2013-10-18 | 2016-06-07 | International Business Machines Corporation | Polymorphic encryption key matrices |
JP6432210B2 (ja) | 2014-08-22 | 2018-12-05 | 富士通株式会社 | セキュリティシステム、セキュリティ方法、セキュリティ装置、及び、プログラム |
-
2016
- 2016-05-24 US US15/163,633 patent/US10148639B2/en active Active
-
2017
- 2017-05-17 WO PCT/US2017/032995 patent/WO2017205121A1/en unknown
- 2017-05-17 CN CN201780031810.5A patent/CN109155784B/zh active Active
- 2017-05-17 EP EP17727443.8A patent/EP3466024B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101626364A (zh) * | 2008-07-08 | 2010-01-13 | 赵运磊 | 一类可基于口令、抗秘密数据泄露的认证和密钥交换方法 |
CN102831335A (zh) * | 2011-06-16 | 2012-12-19 | 中国科学院数据与通信保护研究教育中心 | 一种Windows操作系统的安全保护方法和系统 |
CN104469767A (zh) * | 2014-10-28 | 2015-03-25 | 杭州电子科技大学 | 一套移动办公系统中集成式安全防护子系统的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
US20170346809A1 (en) | 2017-11-30 |
CN109155784A (zh) | 2019-01-04 |
US10148639B2 (en) | 2018-12-04 |
EP3466024B1 (en) | 2020-10-07 |
WO2017205121A1 (en) | 2017-11-30 |
EP3466024A1 (en) | 2019-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109155784B (zh) | 区分纵向暴力攻击与良性错误 | |
CN109417553B (zh) | 经由内部网络监视来检测使用泄漏证书的攻击 | |
US10057282B2 (en) | Detecting and reacting to malicious activity in decrypted application data | |
US8793780B2 (en) | Mitigation of application-level distributed denial-of-service attacks | |
US10063531B2 (en) | Method for key rotation | |
US20180091487A1 (en) | Electronic device, server and communication system for securely transmitting information | |
JP2004030611A (ja) | 通信パスワードをリモートで変更するための方法 | |
CN112425118A (zh) | 公钥-私钥对账户登录和密钥管理器 | |
US10122755B2 (en) | Method and apparatus for detecting that an attacker has sent one or more messages to a receiver node | |
US20170295142A1 (en) | Three-Tiered Security and Computational Architecture | |
US11962570B2 (en) | Configuration of a virtual private network server | |
US11665148B2 (en) | Systems and methods for addressing cryptoprocessor hardware scaling limitations | |
CA2762383C (en) | Mitigation of application-level distributed denial-of-service attacks | |
US20230403156A1 (en) | Optimized access in a service environment | |
Monfared et al. | BioALeg-Enabling Biometric Authentication in Legacy Web Sites |
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 |