CN115486030A - 流氓证书检测 - Google Patents
流氓证书检测 Download PDFInfo
- Publication number
- CN115486030A CN115486030A CN202180031132.9A CN202180031132A CN115486030A CN 115486030 A CN115486030 A CN 115486030A CN 202180031132 A CN202180031132 A CN 202180031132A CN 115486030 A CN115486030 A CN 115486030A
- Authority
- CN
- China
- Prior art keywords
- authentication
- network
- unique identifier
- baseline profile
- certificate
- 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.)
- Pending
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/14—Network architectures or network communication protocols for network security for detecting or protecting 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3265—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
用户凭证的未经授权使用在实现认证协议的网络中被检测。在网络中观察到的认证证书被唯一地标识和监测。认证证书的基线简档被生成。对于访问网络中资源的新请求,生成用于被提交的认证证书的唯一标识符。如果标识符是新的:将被提交的认证证书与基线简档进行比较,并在与基线简档的差异超过阈值时生成警报。如果用于被提交的认证证书的唯一标识符先前已经被标识并且未被包括在基线简档中,则当在到初始源的连接链中未找到与唯一标识符关联的源计算机时生成警报。
Description
背景技术
计算机网络不断受到恶意方寻求未经授权访问其上托管的系统的威胁。恶意方用于攻击网络的策略和网络管理员用于防御攻击的策略随着策略的更新而不断发展。新的漏洞被添加到恶意方的库中,无效的漏洞被丢弃。然而,实现反措施通常是被动的,其中网络管理员必须等待标识最新的漏洞,然后再部署反措施,并在不再使用相应的漏洞时确定何时停止部署反措施。正确预测、标识和阻止新的漏洞利用对于维护网络安全至关重要。
正是关于这些考虑因素和其他考虑因素,才呈现本文所公开的内容。
发明内容
所公开的实施例描述了用于保护计算系统免受攻击向量的技术,其中攻击者利用私钥访问证书并使用该证书来获得对资源的未经授权访问,即使在密码改变时也是如此。用于检测来自先前未标识的来源的证书的使用的各种实施例被公开。这可以允许网络和数据中心提供改进的安全性,更有效地遵守操作目标,并提高操作效率。
在一个实施例中,可以将功能添加到使用诸如Kerberos之类的认证协议的网络中的域控制器。该功能可以添加为在域控制器上运行的应用或代理(本文中被称为“检测应用”)。检测应用可以配置为解析Kerberos认证服务器(AS)请求(包含证书的请求)并哈希证书以生成证书的唯一标识符。
然后,检测应用可以从域中的计算机跟踪和学习证书唯一标识符的使用。学习到的行为可以用于生成唯一证书标识符和使用证书的计算机的字典。
检测应用还可以学习每个证书认证机构的每个证书的以下属性,诸如签名算法、签名哈希算法、证书有效的时间段、公钥大小、主题格式、和证书模板。检测应用可以解析Kerberos票据授予服务(TGS)请求(该请求包含资源和协议)并且存储指示用于被请求的计算机到所需计算机的远程桌面连接的使用的数据。在一个示例中,远程桌面连接可以使用TERMSRV协议。
在学习期之后,检测应用可以确定证书唯一标识符并执行以下操作:
如果证书唯一标识符是新的:
·如果证书属性与先前观察到的属性不同,则标记证书唯一标识符并生成警报。
·如果证书属性与先前观察到的属性没有不同,则向字典添加标识符,并且检测应用继续监测网络。
如果证书唯一标识符已知:
·如果与标识符关联的源计算机在字典中,则检测应用继续监测网络。
·如果与标识符关联的源计算机不在字典中,则检测应用检查是否存在任何指向与标识符关联的源计算机的远程桌面连接的链。
a.如果发现指向与标识符相关联的源计算机的远程桌面连接的链,则检测应用继续监测网络;
b.如果未找到指向与标识符关联的源计算机的远程桌面连接的链,则生成警报。
通过提供这种用于标识证书的潜在滥用的机制,可以避免或减轻数据和服务的丢失,减少停机时间和对最终用户的影响,并为计算网络和服务提供商提供改进的安全性和操作效率。
提供本发明内容以用简化形式介绍概念的选择,这些概念将在下面的具体实施方式中进一步描述。本发明内容并非旨在标识所要求保护的技术方案的关键特征或基本特征,也不旨在使用本发明内容来限制所要求保护的技术方案的范围。此外,要求保护的技术方案不限于解决在本公开的任何部分中指出的任何或所有缺点的实现。
附图说明
参考附图描述了具体实施方式。在本文详述的描述中,参考了构成该描述的一部分的附图,并且这些附图通过图示的方式示出了具体实施例或示例。本文的附图不是按比例绘制的。在数个附图中,相同的数字表示相同的元素。
图1是图示根据本公开的实现认证协议的示例系统的图;
图2是图示根据本公开的实现认证协议的示例系统的图;
图3是图示根据本公开的数据中心的图;
图4是描绘根据本公开的用于在实现认证协议的网络中检测用户凭证的未经授权使用的示例过程的流程图;
图5是描绘根据本公开的用于在实现认证协议的网络中检测用户凭证的未经授权使用的示例过程的流程图;
图6是根据本公开的示例计算设备。
具体实施方式
用于在计算环境中提供认证的两种广泛使用的方法包括Kerberos和NT(新技术)LAN管理器(NTLM)。NTLM是由一台机器使用以向另一台机器验证自身身份的协议。域控制器验证用户和所提供的密码。Kerberos是一种认证协议,其中希望访问资源或执行任何登录的每个用户都必须向域控制器提供认证并获取验证用户身份的票据。在获得该身份的证明后,用于访问资源的请求将被提供给域控制器,域控制器处理请求并提供附加的票据以访问所需的资源。
尽管Kerberos认证保护域控制器上的用户密码,但密码在用户终端上仍然不受保护,并且可能会被猜到。已知有许多攻击试图获取用户秘密并冒充用户,包括“Pass TheHash”、“Over Pass The Hash”和“Pass The Ticket”。
Kerberos协议提供了允许用户利用证书而不是密码进行认证的扩展。这种机制使得猜测和窃取密码变得更加困难,因为每个证书都使用比密码或哈希更难猜测的私钥。只要组织中有受域控制器信任的证书认证机构服务器,组织中的每个用户都可以请求用于登录的证书。即使用户改变他们的密码,证书私钥也保持不变。此外,如果证书未被吊销或超出其有效时间范围,则证书保持有效。因此,检测和减少对证书(也被称为“票据”)的未经授权的访问和使用非常重要。
以下具体实施方式描述了通过检测新的攻击向量来保护用户凭证的技术,其中攻击者利用其关联的私钥访问用户的认证证书,并使用该证书从远程位置获得未经授权的访问,即使用户改变密码也是如此。用于通过检测来自无法识别的来源的使用来检测未授票据书的使用的技术被描述。
如本文所使用的,域可以被定义为对应于安全边界的管理单元。域中的计算机可以共享局域网(LAN)上的物理邻近性,也可以位于世界的不同地理区域并在各种类型的物理连接(包括ISDN、光纤、以太网、令牌环、帧中继、卫星、和租用线路等)上进行通信。域管理员通常为域内的每个用户创建一个用户帐户,并且用户登录到域,而不是重复登录到域中的各种单独资源。此外,域控制器可以控制域的各个方面,诸如域上资源的单独使用。用户可以根据用户权限、特权、和系统范围的策略访问域中的资源。可能存在具有分配的用户权限集的预定义(内置)用户组,域管理员可以通过向其中一个预定义的用户组添加用户帐户或通过创建新组并向该用户组分配具体用户权限来分配用户权限。随后添加到用户组的用户可以自动获得分配给该用户组的所有用户权限。
在实施例中,代理或应用(本文中被称为“检测应用”)可以安装在域或其他计算资源组中的域控制器上。检测应用可以配置为解析网络流量,诸如Kerberos流量,并确定用于证书的基线简档及其使用。基于基线简档,检测应用可以标识证书的潜在滥用并生成警报以采取响应行动。
在一个实施例中,检测应用可以被配置为解析Kerberos认证服务器(AS)请求(包含证书的请求)并对证书进行哈希以生成针对证书的唯一标识符。检测应用可以基于观察到的域中计算机的行为来跟踪和学习证书唯一标识符的使用。学习到的行为可以用于生成证书唯一标识符和使用证书的计算机的字典。
检测应用还可以学习每个证书认证机构的每个证书的以下属性:
签名算法
签名哈希算法
证书有效的时间段(对属性有效-从属性有效)
公钥大小
主体格式
证书模板
检测应用可以解析Kerberos票据授予服务(TGS)请求(该请求包含资源和协议)并存储指示用于被请求的计算机到所需计算机的远程桌面连接的使用的数据。在一个示例中,远程桌面连接可以使用TERMSRV协议。
检测应用可以从域中的各种来源接收和跟踪与证书的使用有关的信息。例如,可以在时间窗口期间跟踪证书的使用次数和请求的来源。在学习期之后,检测应用可以确定证书唯一标识符并执行以下操作:
如果证书唯一标识符是新的:
·如果证书属性与先前观察到的属性不同,则标记证书唯一标识符并生成警报
·如果证书属性与先前观察到的属性没有不同,则向字典添加标识符,并且检测应用继续监测网络。
如果证书唯一标识符已知:
·如果与标识符关联的源计算机在字典中,则检测应用继续监测网络
·如果与标识符关联的源计算机不在字典中,则检测应用检查是否存在任何指向与标识符关联的源计算机的远程桌面连接的链。
a.如果发现指向与标识符相关联的源计算机的远程桌面连
接的链,则检测应用继续监测网络;
b.如果未找到指向与标识符关联的源计算机的远程桌面连接的链,则生成警报。
在一些实施例中,当证书用于交互式登录时,检测应用可以将某些证书排除在生成警报之外。例如,可以从Windows上下文中登录类型2的Windows事件4624或从发送到服务“HOST”的Kerberos TGS请求中检测到交互式登录尝试。
在一个实施例中,被跟踪的主要信息是与源计算机有关的信息。在其他实施例中,可以用诸如访问的资源、访问的频率和其他因素的补充信息来扩充主要信息。
所描述的技术可以用于通过收集数据并学习域中使用的用于每个证书的基线或正常使用活动和属性来检测和标识未经授权的证书使用。由于域中的其他机器可以使用每个有效证书,因此所描述的技术可以最小化与远程桌面连接相关联的有效操作和活动的误报。
所描述的技术还可以用于检测来自多个操作系统的未授票据书的使用。此外,所描述的技术可以用于检测对多种证书类型的未经授权的使用,包括Windows Hello企业版、由认证机构生成的证书、物理智能卡、虚拟智能卡等。
在一些实施例中,检测应用可以安装在能够侦听密码应用编程接口(CryptoAPI)调用或类似API的计算机上。此类API可以被配置为使用数字证书基于认证提供各种公钥和对称密钥。当调用导出证书时,检测应用可以在计算机上输出所有证书唯一标识符的日志。该日志可以与上述技术相关,包括已经被导出的证书唯一标识符,并且该证书唯一标识符可以用作未经授权的证书。
可以生成特征简档以确定与诸如证书的一个或多个凭证相关联的简档。可以基于统计信息来确定简档,统计信息可以包括请求计算机的直方图、置信度得分、方差度量、集中趋势值、概率分布函数等的任何组合。简档也可以基于时间分布的数据来确定。
在一些实施例中,可以实现机器学习模型以检测凭证的未经授权的使用。在一些配置中,机器学习模型可以被配置为利用被监督的、无监督的、或强化学习技术来生成相关性。例如,机器学习模型可以通过对收集的凭证数据进行训练来利用被监督的机器学习技术。在一些实施例中,机器学习模型还可以或备选地利用无监督机器学习技术来确定相关性,包括但不限于基于聚类的模型、基于预测的模型、基于平滑的模型、或其他类型无监督机器学习模型。在一些实施例中,机器学习模型还可以或备选地利用强化学习技术来生成结果。例如,模型可以使用输入数据被训练,并且基于反馈,模型可以基于其输出被奖励。
学习证书使用行为和确定基线简档的时间段可以基于时间阈值或基线简档稳定时确定。
参考附图,其中相同的数字在数个图片中表示相同的元素,将描述用于检测未授权证书的各种技术的方面。在以下详细描述中,参考了构成其一部分的附图,并且这些附图通过图示具体配置或示例的方式示出。
图1图示了示例环境100,其中授权请求由来自各种请求设备的系统处理。如图所示,正在寻求授权的一个或多个设备110可以尝试获取到网络170内托管的账户175或物理/虚拟机177的访问。设备110可以经由网关120连接到网络170,网关120与认证服务器130通信。
认证服务器130可以被配置为处理认证流量中携带的登录尝试的授权或拒绝。尽管未图示,但本领域技术人员将理解,分布式网络中的各种服务器和中介可以在设备110和网关120之间实现以在用户和网络170之间路由消息。还将理解,尽管示例环境100的一些组件被单个图示,但是在各个方面可以部署这些组件的多个副本,例如用于负载平衡目的、冗余、或提供多种服务。
设备110说明各种计算系统,包括但不限于台式计算机系统、有线和无线计算系统、移动计算系统(例如,移动电话、上网本、平板或板型计算机、笔记本计算机、以及膝上型计算机)、手持设备、多处理器系统、基于微处理器或可编程的消费电子产品、小型计算机、打印机、以及大型计算机。这些计算系统的硬件将参考图6进行更详细的讨论。
设备110可以在本地和/或通过网络访问,该网络可以包括互联网、局域网(LAN)、用于实体(例如,公司、大学、政府机构)的私有分布式网络、无线自组织网络、虚拟专用网络(VPN)、或其他直接数据链路(例如,蓝牙连接、直接有线链路)。例如,恶意方可能会尝试获取用于访问受限资源的证书,这可能在设备所有者不知情或不同意的情况下完成。在另一示例中,设备110可以是寻求访问帐户的合法用户使用的计算设备,合法用户可以进行一次或多次访问该帐户的尝试。
网关120可以是硬件设备,诸如网络交换机,或者是在网络170(例如,内联网)上将设备110从外部网络(例如,互联网)链接到认证服务器130的软件服务。在各个方面,网关设备120可以提供防火墙并且可以调节进出本地网络170的通信流量。网关120可以被配置为将消息从设备110(以及内部网络上的其他设备)转发到身份验证服务器130。
认证服务器130可以接收来自设备110的授权请求并且确定是否授权访问由网络170服务的账户。认证服务器130可以是处理针对网络170的认证请求并充当域控制器的物理机或虚拟机。认证服务器130可以使用各种认证协议,包括但不限于PAP(密码认证协议)、CHAP(质询握手认证协议)、EAP(可扩展认证协议)、Kerberos、或AAA(认证、授权、审计)架构协议,以允许用户访问网络170中的一个或多个系统。取决于所使用的标准、网络170中受保护系统的数目以及用户帐户设置,验证参数的成功呈现将授予设备110访问由认证服务器130保护的一个或多个系统,并在相关用户的适当许可级别下访问。
在实施例中,认证服务器130可以执行检测应用180,该检测应用180被配置为访问网络流量以监测在网关120上的认证流量,该流量以认证服务器130为目的地,以确定用于被使用的凭证的简档,并确定是否有任何通信表示用户凭证的未经授权的使用。在一些实施例中,检测应用180可以在具有来自网络170中的其他设备的唯一MAC和IP地址的单独设备上执行并且接收从网关120经由远程网络监测(RMON)或交换机监测(SMON)规范、端口镜像、或类似的转发协议转发到认证服务器130的消息的副本。在其他方面,检测应用180可以拦截所有发往认证服务器130的网络流量(具有相同的MAC和IP地址或唯一的地址)或被动地窃听和侦听通信在其上被发送到认证服务器130的传输介质。在其他方面,检测应用180可以在虚拟机上执行或作为认证服务器130上的过程执行,从而可以被动地共享在应用程序服务器130处接收到的通信。
图2图示了示例认证协议系统200。各种认证协议可以允许单点登录(SSO)体验,其中即使用户访问多个服务或经由不同会话访问单个服务(例如,关闭和重新打开用于访问服务的程序),用户也仅主动认证一次(即提供密码),或者可能在用户每次尝试访问服务时都要求重新认证。
例如,Kerberos协议允许SSO体验,其中用户提供域名、帐户名、和密码以访问本地计算设备210和随后的一个或多个网络服务230(例如,电子邮件服务、文档管理系统、虚拟机等)。计算设备210可以通过向密钥域控制器220发送(认证请求的当前时间的)时间戳来认证用户利用密钥域控制器提供的凭证,该时间戳用从用户密码派生的密钥进行加密。密钥域控制器220可以通过使用存储在认证服务器130上的用户密码派生密钥的副本解密消息,并通过验证时间戳是否相关(例如,考虑到潜在的网络延迟,用于匹配登录请求的时间的未加密的时间是可能的)。如果时间戳是相关的,则密钥域控制器220可以向计算设备210传输票据授予票据(TGT),该票据授予票据是使计算设备210能够请求访问网络服务230的标识符而不必重新提供用户的凭证(例如,域名、帐户名、密码)。
一旦在计算设备210上向用户授予了TGT,直到TGT过期,每次计算设备210尝试访问网络服务230时,计算设备210都可以利用TGT向域控制器221(驻留密钥域控制器220)标识自己。域控制器221可以通过票据授予服务222向计算设备提供用于用户正试图联系的特定网络服务230的访问票据。然后,用户可以经由计算设备210向网络服务230提供访问票据。网络服务230,因为访问票据已经由票据授予服务222验证,可以授权用户的访问,并且可以建立计算设备210和网络服务230之间的连接,而不需要用户重新输入凭证。
NTLM(网络LAN管理)协议是另一种认证协议,它使用域名、帐户名、和密码(或其单向哈希)的凭证来经由质询/响应模型启用登录。计算设备210不是在计算设备210与寻求访问的网络服务230之间发送用户密码,而是必须执行证明它可以访问安全凭证的计算。
在NTLM版本一(NTLMvl)下,网络服务230通过向计算设备210发送八字节随机数作为质询来认证用户。计算设备210可以使用该八字节随机数和用户密码的哈希来执行操作。在各个方面,用户还可以向网络服务230发起质询。用户可以向网络服务230返回24字节的结果(以及可选地它自己的质询),网络服务230可以验证客户端是否已经计算出正确的结果并因此应该授权对网络服务230的访问。
更详细地说,在NTLMvl下对质询的响应是通过从用户的密码派生一个16字节的密钥(哈希)来计算的,这可以根据LM哈希算法或NT哈希算法完成,然后用空值填充该哈希以达到21个字节的大小。然后,填充的哈希可以分成三份(七字节),这三份用于创建三个用于数据加密标准(DES)算法的密钥。然后,每个密钥都可以经由DES(电子码本模式)对质询进行加密,加密的结果是三个八字节的密文,这三个八字节的密文被连接到24字节的响应中。
NTLM版本二(NTLMv2)在NTLMvl上构建,以提供附加的安全性并采用128位密钥空间加强NTLMvl,其中术语“密钥空间”被理解为指的是协议使用的给定加密算法的可能有效密钥集。NTLMv2允许继续使用先前的NTLMvl机制中的现有域控制器。NTLMv2向响应添加附加的客户端质询,响应被哈希并向网络服务230传输以授权或拒绝用户访问。
如将理解的,尽管关于图2详细讨论了Kerberos和NTLM协议。可以使用其他认证协议,或者可以对所呈现的协议做出变体。图2中讨论的协议作为非限制性示例给出,以介绍在本公开中用于检测未经授权使用凭证的示例方面中涉及的操作和术语。在不脱离本公开的精神和范围的情况下,使用各种加密算法的其他协议可以被使用。
如上所述,图2进一步图示了检测应用180可以在域控制器221上或在能够访问信息的另一个计算环境中运行。如本文所述,检测应用180可以被配置为访问网络流量,以监测认证流量,以确定针对正在被使用的凭证的简档,并且确定任何通信是否表示用户凭证的未经授权使用。
图3图示了示例计算环境,其中可以实现本文描述的实施例。图3图示了数据中心300,数据中心300被配置为经由通信网络330、经由用户计算机302a、300b、和300c(在本文中其单数可以被称为“用户300”或以复数形式称为“用户300”)向用户300a、302b、和302c提供计算资源。数据中心300提供的计算资源可以包括各种类型的资源,例如计算资源、数据存储资源、数据通信资源等。每种类型的计算资源可以是通用的,也可以在许多具体配置中可用。例如,计算资源可以作为虚拟机使用。虚拟机可以被配置为执行应用,包括网络服务器、应用服务器、媒体服务器、数据库服务器等。数据存储资源可以包括文件存储设备、块存储设备等。每种类型或配置的计算资源可以在不同的配置中可用,诸如处理器的数目,以及存储器和/或存储容量的大小。在一些实施例中,资源可以在称为实例的单元中提供给客户端,诸如虚拟机实例或存储实例。虚拟计算实例可以被称为虚拟机,并且可以例如包括具有指定计算能力的(可以通过指示CPU的类型和数目、主存储器大小等来指定)和指定软件堆栈(例如,操作系统的特定版本,它可以反过来在管理程序之上运行)的一个或多个服务器。
数据中心300可以包括服务器316a、316b、和316c(在本文中其单数可以被称为“服务器316”或以复数形式称为“服务器316”),它们提供可用作虚拟机318a和318b(在本文中其单数可以被称为“虚拟机318”或以复数形式称为“虚拟机318”)的计算资源。虚拟机318可以被配置为执行诸如网络服务器、应用服务器、媒体服务器、数据库服务器等的应用。可以提供的其他资源包括数据存储资源(图3上未示出)并且可以包括文件存储设备、块存储设备等。服务器316还可以执行管理和控制数据中心中资源分配的功能,诸如控制器315。控制器315可以是结构控制器或被配置为管理服务器316上的虚拟机分配的另一类型的程序。
参考图3,通信网络330例如可以是链接网络的公共可访问网络并且可以由诸如因特网之类的各种实体操作。在其他实施例中,通信网络330可以是私有网络,诸如公众完全或部分无法访问的公司网络。
通信网络330可以提供对计算机302的访问。计算机302可以是用户300利用的计算机。计算机302a、302b、或302c可以是服务器、台式或膝上型个人计算机、平板计算机、智能手机、机顶盒、或能够访问数据中心300的任何其他计算设备。用户计算机302a或302b可以直接连接到互联网(例如,经由电缆调制解调器)。用户计算机302c可以在数据中心300内部并且可以经由内部网络直接连接到数据中心300中的资源。尽管仅描绘了三个用户计算机302a、302b、和302c,但是应该理解可以存在多个用户计算机。
计算机302还可以用于配置数据中心300提供的计算资源的各方面。例如,数据中心300可以提供网络界面,通过该网络界面,其操作的各方面可以通过在用户计算机302上执行的网络浏览器的使用来配置。备选地,在用户计算机302上执行的独立应用程序可以用于访问由数据中心300公开的用于执行配置操作的应用编程接口(API)。
服务器316可以被配置为提供上述计算资源。一个或多个服务器316可以被配置为执行被配置为执行虚拟机的管理器320a或320b(在本文中其单数可以被称为“管理器320”或以复数形式称为“管理器320”)。例如,管理器320可以是虚拟机监测器(VMM)、结构控制器或被配置为实现在服务器316的虚拟机318的执行的另一类型的程序。
应当理解,尽管以上公开的实施例是在虚拟机的上下文中讨论的,但是其他类型的实现可以与本文公开的概念和技术一起使用。
在图3所示的示例数据中心300中。可以利用网络设备311来互连服务器316a和316b。网络设备311可以包括一个或多个交换机、路由器、或其他网络设备。网络设备311还可以连接到网关340,网关340连接到通信网络330。网络设备311可以促进数据中心300中的网络内的通信,例如,通过基于这种通信的特性(例如,标头信息,包括源和/或目标地址、协议标识符等)和/或私有网络的特性(例如,基于网络拓扑的路由等)适当地转发分组或其他数据通信。应当理解,为了简单起见,本示例的计算系统和其他设备的各个方面在没有示出某些常规细节的情况下被图示。附加计算系统和其他设备可以在其他实施例中互连并且可以以不同方式互连。
应当理解,图3中图示的网络拓扑已经被极大地简化,并且可以使用更多的网络和联网设备来互连本文所公开的各种计算系统。这些网络拓扑和设备对于本领域技术人员来说应该是明显的。
还应该理解的是,图3中描述的数据中心300只是说明性的,并且可以利用其他实现。此外,应当理解,本文所公开的功能可以在软件、硬件、或软件和硬件的组合中实现。其他实现对于本领域技术人员来说应该是明显的。还应当理解,服务器、网关、或其他计算设备可以包括能够交互和执行所描述的功能类型的硬件或软件的任何组合,包括但不限于台式或其他计算机、数据库服务器、网络存储设备和其他网络设备、PDA、平板电脑、智能手机、互联网设备、基于电视的系统(例如,使用机顶盒和/或个人/数字录像机)以及包括适当通信能力的各种其他消费产品。此外,图示模块提供的功能在一些实施例中可以组合在更少的模块中或分布在附加的模块中。类似地,在一些实施例中,可能不提供一些图示模块的功能和/或其他附加功能可能是可行的。
现在转到图4,其图示了根据本公开的用于检测凭证的未经授权使用的示例操作过程。该操作过程可以在包括一个或多个计算设备的系统中实现。
本领域普通技术人员应当理解,本文所公开的方法的操作不必以任何特定顺序呈现,并且以备选的(多个)顺序的一些或所有操作的执行是可能,并且已考虑到这一点。为了便于描述和图示,操作已按演示顺序呈现。在不脱离所附权利要求的范围的情况下,可以添加、省略、一起执行、和/或同时执行操作。
还应该理解,所图示的方法可以在任何时候结束并且不需要全部执行。如本文所定义的,可以通过执行包括在计算机存储介质上的计算机可读指令来执行这些方法的一些或所有操作,和/或基本上等效的操作。如在描述和权利要求中使用的术语“计算机可读指令”及其变体在本文中广泛使用以包括例程、应用、应用模块、程序模块、程序、组件、数据结构、算法等。计算机可读指令可以在各种系统配置上实现,包括单处理器或多处理器系统、微计算机、大型计算机、个人计算机、手持计算设备、基于微处理器的可编程消费电子产品、它们的组合等。尽管下面描述的示例例程在计算设备上运行,但是可以理解,该例程可以在任何计算系统上执行,该计算系统可以包括协同工作以执行本文公开的操作的多个计算机。
因此,应当理解,本文描述的逻辑操作被实现为(1)作为在诸如本文所描述的那些在计算系统上运行的计算机实现的动作或程序模块的序列和/或(2)作为计算系统内的互连的机器逻辑电路或电路模块。实现是取决于计算系统的性能和其他要求的选择问题。因此,逻辑操作可以用软件、固件、专用数字逻辑、以及它们的任何组合来实现。
参照图4,操作401图示了唯一地标识在网络中观察到的认证证书。
操作401之后可以是操作403。操作403图示了监测网络中被标识的认证证书的使用。
操作403之后可以是操作405。操作405图示了基于被标识的认证证书的所监测到的使用和属性,确定被标识的认证证书的基线简档。
操作405之后可以是操作407。操作407图示了访问用于访问网络中资源的请求,该请求包括被提交的认证证书。
操作407之后可以是操作409。操作409图示了生成用于被提交的认证证书的唯一标识符。
操作409之后可以是操作411。操作411图示了响应于确定用于被提交的认证证书的唯一标识符是新的,将被提交的认证证书与基线简档进行比较,当该比较指示与基线简档的差异超过阈值时,生成警报,以及当与基线简档的差异在阈值内时,向基线简档添加被提交的认证证书。
操作409之后可以是操作411。操作411图示了响应于确定用于被提交的认证证书的唯一标识符是新的,将被提交的认证证书与基线简档进行比较,当该比较指示与基线简档的差异超过阈值时,生成警报,以及当与基线简档的差异在阈值内时,向基线简档添加被提交的认证证书。
操作411之后可以是操作413。操作413图示了响应于确定用于被提交的认证证书的唯一标识符先前已经被标识并且未被包括在基线简档中,标识与唯一标识符相关联的连接链,以及当该标识指示在连接链中未找到与唯一标识符相关联的源计算机时,生成警报。
在实施例中,该方法由在网络的域控制器中运行的应用或代理执行。
在实施例中,唯一标识符基于证书的哈希而被生成。
在实施例中,属性包括以下一项或多项:签名算法、签名哈希算法、证书有效的时间段、公钥大小、主题格式、以及证书模板。
在实施例中,该方法还包括:当用于被提交的认证证书的唯一标识符先前已经被标识并且与唯一标识符相关联的源计算机在基线简档中时,继续监测网络。
在实施例中,基线简档是使用机器学习被生成的。
在实施例中,认证协议是Kerberos,并且请求是Kerberos认证服务器(AS)请求。
在实施例中,认证协议是Kerberos,并且基线简档基于经解析的Kerberos票据授予服务(TGS)请求和指示用于被请求的计算机到所需的计算机的远程桌面连接的使用的数据而被生成。
在实施例中,基线简档基于被标识的认证证书的使用次数而被生成。
在实施例中,基线简档基于在时间窗期间监测网络中被标识的认证证书的使用而被生成。
在实施例中,监测被配置为使用数字证书提供基于密钥的认证的API。
在实施例中,输出唯一标识符的日志。
现在转到图5,其图示了根据本公开的用于检测凭证的未经授权使用的示例操作过程。该操作过程可以在包括一个或多个计算设备的系统中实现。参考图5,操作501图示了解析Kerberos流量并使用被标识的认证证书的哈希唯一地标识在网络中观察到的认证证书。
操作501之后可以是操作503。操作503图示了监测网络中被标识的认证证书的使用。
操作503之后可以是操作505。操作505图示了基于被标识的认证证书的所监测到的使用和属性,创建被标识的认证证书的字典。
操作505之后可以是操作507。操作507图示了接收用于访问网络中资源的请求,该请求包括被提交的认证证书。
操作507之后可以是操作509。操作509图示了生成用于被提交的认证证书的唯一标识符。
操作509之后可以是操作511。操作511图示了响应于确定用于被提交的认证证书的唯一标识符是新的,将被提交的认证证书与字典进行比较;当该比较指示与字典的差异超过阈值时,生成警报;以及当与字典的差异在阈值内时,向字典添加被提交的认证证书。
操作509之后可以是操作511。操作511图示了响应于确定用于被提交的认证证书的唯一标识符是新的,将被提交的认证证书与字典进行比较;当该比较指示与字典的差异超过阈值时,生成警报;以及当与字典的差异在阈值内时,向字典添加被提交的认证证书。
操作511之后可以是操作513。操作513图示了响应于确定用于被提交的认证证书的唯一标识符先前已经被标识并且未被包括在字典中,标识与唯一标识符相关联的远程桌面连接链;以及当该标识指示在远程桌面连接链中未找到与唯一标识符相关联的源计算机时,生成警报。
本文针对某些示例和实施例描述了本公开的各个方面,这些示例和实施例旨在说明而不是限制本公开。应当理解,本文提出的技术方案可以实现为计算机过程、计算机控制的装置、或计算系统、或制品,例如计算机可读存储介质。尽管本文描述的技术方案是在一个或多个计算设备上执行的程序模块的一般上下文中呈现的,但是本领域技术人员将认识到可以结合其他类型的程序模块来执行其他实现。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。
本领域技术人员还将理解,本文描述的技术方案可以在本文描述之外的其他计算机系统配置上或结合其他计算机系统配置来实践,包括多处理器系统。本文描述的实施例也可以在分布式计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于本地和远程内存存储设备中。
由用户或代表用户建立以向一组分布式客户端提供可经由互联网和/或其他网络访问的一个或多个服务(诸如各种类型的基于云的计算或存储)的网络可以称为服务提供者。这种网络可以包括一个或多个数据中心,诸如图3中图示的数据中心300,其被配置为主机物理和/或虚拟化计算机服务器、存储设备、网络设备等,其可以用于实现和分发由服务提供商提供的基础设施和服务。
在一些实施例中,实现本文描述的一种或多种技术的一部分或全部的计算设备,包括实现在实现认证协议的网络中实现对用户凭证的未经授权使用的检测的技术,可以包括通用计算机系统,该通用计算机系统包括或被配置为访问一个或多个计算机可访问介质图6图示了这样的通用计算设备600。在图示的实施例中,计算设备600包括一个或多个处理器610a、610b、和/或610n(在本文中其单数可以被称为“处理器610”或以复数形式称为“处理器610”)经由输入/输出(I/O)接口630耦合到系统存储器620。计算设备600还包括耦合到I/O接口630的网络接口640。
在各种实施例中,计算设备600可以是包括一个处理器610的单处理器系统或包括几个处理器610(例如,两个、四个、八个或另一合适的数目)的多处理器系统。处理器610可以是能够执行指令的任何合适的处理器。例如,在各种实施例中,处理器610可以是通用或嵌入式处理器,其实现多种指令集架构(ISA)中的任何一种,诸如x66、PowerPC、SPARC或MIPS IS As,或任何其他合适的ISA。在多处理器系统中,处理器610中的每一个可以共同(但不必然)实现相同的ISA。
系统存储器620可以被配置为存储可由(多个)处理器610访问的指令和数据。在各种实施例中,系统存储器620可以使用任何合适的存储器技术来实现,例如静态随机存取存储器(SRAM)、同步动态RAM(SDRAM))、非易失性/闪存型存储器或任何其他类型的存储器。在所示实施例中,实现一个或多个所需功能的程序指令和数据,例如上述那些方法、技术和数据,被示出作为代码625和数据626存储在系统存储器620中。
在一个实施例中,I/O接口630可以被配置为协调处理器610、系统存储器620和设备中的任何外围设备之间的I/O流量,包括网络接口640或其他外围接口。在一些实施例中,I/O接口630可以执行任何必要的协议、计时或其他数据转换,以将来自一个组件(例如,系统存储器620)的数据信号转换成适合由另一个组件(例如,处理器610)使用的格式。在一些实施例中,I/O接口630可以包括对通过各种类型的外围总线连接的设备的支持,诸如外围组件互连(PCI)总线标准或通用串行总线(USB)标准的变体。在一些实施例中,I/O接口630的功能可以分成两个或更多个单独的组件。此外,在一些实施例中,I/O接口630的一些或全部功能,诸如到系统存储器620的接口,可以直接并入处理器610中。
网络接口640可以被配置为允许在计算设备600和附接到一个或(多个)网络650的其他设备或设备680之间交换数据,诸如图1到图4图示的其他计算机系统或设备。在各种实施例中,网络接口640可以支持经由任何合适的有线或无线通用数据网络的通信,诸如以太网类型。此外,网络接口640可以支持经由诸如模拟语音网络或数字光纤通信网络的电信/电话网络、经由诸如光纤通道SAN的存储区域网络或经由任何其他合适类型的网络和/或协议的通信。
在一些实施例中,系统存储器620可以是被配置为存储程序指令和数据的计算机可访问介质的一个实施例,如上文针对图1-图5所描述的,用于实现相应方法和装置的实施例。然而,在其他实施例中,可以在不同类型的计算机可访问介质上接收、发送、或存储程序指令和/或数据。计算机可访问介质可以包括非临时存储介质或存储器介质,诸如磁或光学介质,例如,通过I/O接口630耦合到计算设备600的磁盘或DVD/CD。非临时计算机可访问存储介质还可以包括任何易失性或非易失性介质,诸如RAM(例如SDRAM、DDR SDRAM、RDRAM、SRAM等)、ROM等,它们可以作为系统存储器620包括在计算设备600的一些实施例中或其他类型的内存。此外,计算机可访问介质可以包括传输介质或信号,诸如电、电磁或数字信号,通过诸如网络和/或无线链路之类的通信介质传送,诸如可以通过网络接口640实现。多个计算设备的部分或全部,诸如图6所示的那些,可以用于在各种实施例中实现所描述的功能;例如,运行在各种不同设备和服务器上的软件组件可以协作提供功能。在一些实施例中,除了使用通用计算机系统实现之外或代替使用通用计算机系统实现,所描述的功能的部分还可以使用存储设备、网络设备或专用计算机系统。如本文所用,术语“计算设备”至少指所有这些类型的设备,且不限于这些类型的设备。
各种存储设备及其相关联的计算机可读介质为本文描述的计算设备提供非易失性存储。如本文所讨论的计算机可读介质可以指大容量存储设备,诸如固态驱动器、硬盘或CD-ROM驱动器。然而,本领域技术人员应当理解,计算机可读介质可以是任何可用的计算机存储介质,其可以被计算设备访问。
示例性地而非限制性地,计算机存储介质可以包括以用于存储信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质,例如计算机可读指令、数据结构、程序模块或其他数据。例如,计算机介质包括但不限于RAM、ROM、EPROM、EEPROM、闪存或其他固态存储技术、CD-ROM、数字多功能磁盘(“DVD”)、HD-DVD、BLU-RAY或其他光学存储器、磁带盒、磁带、磁盘存储器或其他磁存储设备,或可以用于存储所需信息并且可由本文讨论的计算设备访问的任何其他介质。出于权利要求的目的,短语“计算机存储介质”、“计算机可读存储介质”及其变体本身不包括波、信号和/或其他暂态和/或无形通信介质。
对本文呈现的软件模块进行编码还可以转换本文呈现的计算机可读介质的物理结构。在本描述的不同实现中,物理结构的具体变换可能取决于各种因素。这样的因素的示例可以包括但不限于用于实现计算机可读介质的技术、计算机可读介质是否被表征为初级或次级存储等。例如,如果计算机可读介质被实现为基于半导体的存储器,则本文公开的软件可以通过转换半导体存储器的物理状态而被编码在计算机可读介质上。例如,软件可以转换构成半导体存储器的晶体管、电容器或其他分立电路元件的状态。该软件还可以转换这些组件的物理状态,以便在其上存储数据。
作为另一示例,本文公开的计算机可读介质可以使用磁性或光学技术来实现。在这样的实现中,当软件被编码在其中时,本文呈现的软件可以变换磁性或光学介质的物理状态。这些变换可以包括改变给定磁介质内特定位置的磁特性。这些变换还可以包括改变给定光学介质内特定位置的物理特征或特性,以改变那些位置的光学特性。在不背离本描述的范围和精神的情况下,物理介质的其他变换是可能的,提供前述示例只是为了便于讨论。
鉴于以上内容,应当理解,许多类型的物理变换发生在所公开的计算设备中,以便存储和执行本文呈现的软件组件和/或功能。还可以设想所公开的计算设备可能不包括图6中图示的所有组件。可以包括图6中未明确示出的其他组件,或者可以使用与图6中所示的架构完全不同的架构。
尽管已经以特定于结构特征和/或方法行为的语言描述了各种配置,但是应当理解,在所附表示中定义的技术方案不一定限于所描述的具体特征或动作。相反,具体特征和动作被公开为实现要求保护的技术方案的示例形式。
本文使用的条件语言,诸如“可”、“可以”、“可能”、“例如”等,除非另有明确说明,或在所使用的上下文中以其他方式理解,通常旨在传达某些实施例包括,而其他实施例不包括某些特征、元素和/或步骤。因此,这种条件性语言通常不旨在暗示一个或多个实施例以任何方式需要特征、元素、和/或步骤,或者一个或多个实施例必须包括用于在有或没有作者输入或提示的情况下做出决定的逻辑,这些特征、元素、和/或步骤是否被包括或将在任何特定实施例中执行。术语“包括”、“包含”、“具有”等是同义词,并且以开放式方式包容性地使用,并且不排除附加元素、特征、动作、操作等。此外,术语“或”以其包容性(而非排他性)使用,例如,当用于连接元素列表时,术语“或”表示其中的一个、部分或全部列表中的元素。
尽管已经描述了某些示例实施例,但这些实施例仅作为示例而呈现,并且不旨在限制本文所公开的发明的范围。因此,前述描述中的任何内容均不旨在暗示任何特定特征、特性、步骤、模块或块是必要的或必不可少的。实际上,本文所述的新颖方法和系统可以多种其他形式体现;此外,在不背离本文公开的本发明的精神的情况下,可以对本文所述的方法和系统的形式进行各种省略、替换和改变。所附权利要求及其等同物旨在覆盖落入本文所公开的某些发明的范围和精神内的此类形式或修改。
应当理解,在描述中对“第一”、“第二”等术语和/或抽象概念的任何引用并不旨在也不应被解释为必然对应于权利要求的元素的“第一”、“第二”、等的任何引用。特别地,在本发明内容和/或下面的具体实施方式中,项目和/或抽象概念,诸如单独的计算设备和/或计算集群的操作状态,可以通过数字标记来区分,而这样的标记无需与权利要求书或发明内容和/或具体实施方式的其他段落相对应。例如,在本公开的段落内对计算集群的“第一操作状态”和“第二操作状态”的任何指定仅用于区分该具体段落——不是任何其他段落,特别不是权利要求书——内的计算集群的两种不同操作状态。
最后,虽然各种技术已经以具体于结构特征和/或方法动作的语言进行了描述,但应理解,在所附陈述中定义的技术方案不必然限于所描述的特定特征或动作。相反,具体特征和动作被公开为实现要求保护的技术方案的示例形式。
Claims (15)
1.一种用于在实现认证协议的网络中检测用户凭证的未经授权使用的方法,所述方法包括:
唯一地标识在所述网络中观察到的认证证书;
监测所述网络中被标识的所述认证证书的使用;
基于被标识的所述认证证书的所监测到的所述使用和属性,确定被标识的所述认证证书的基线简档;
访问用于访问所述网络中资源的请求,所述请求包括被提交的认证证书;
生成用于被提交的所述认证证书的唯一标识符;
响应于确定用于被提交的所述认证证书的所述唯一标识符是新的:
将被提交的所述认证证书与所述基线简档进行比较;
当所述比较指示与所述基线简档的差异超过阈值时,生成警报;以及
当与所述基线简档的所述差异在所述阈值内时,向所述基线简档添加被提交的所述认证证书;
响应于确定用于被提交的所述认证证书的所述唯一标识符先前已经被标识并且未被包括在所述基线简档中:
标识与所述唯一标识符相关联的连接链;以及
当所述标识指示在所述连接链中未找到与所述唯一标识符相关联的源计算机时,生成警报。
2.根据权利要求1所述的方法,其中所述认证协议是Kerberos。
3.根据权利要求1所述的方法,其中所述方法由在所述网络的域控制器中运行的应用或代理执行。
4.根据权利要求1所述的方法,其中所述唯一标识符基于所述证书的哈希而被生成。
5.根据权利要求1所述的方法,其中所述属性包括以下一项或多项:签名算法、签名哈希算法、所述证书有效的时间段、公钥大小、主题格式、以及证书模板。
6.根据权利要求1所述的方法,还包括:当用于被提交的所述认证证书的所述唯一标识符先前已经被标识并且与所述唯一标识符相关联的源计算机在所述基线简档中时,继续监测所述网络。
7.一种计算设备,所述计算设备被配置为在实现认证协议的网络中检测用户凭证的未经授权使用,所述计算设备包括:
处理器;
存储设备,被耦合到所述处理器;
应用,被存储在所述存储设备中,其中所述处理器对所述应用的执行将所述计算设备配置为执行动作,所述动作包括:
唯一地标识在所述网络中观察到的认证证书;
监测所述网络中被标识的所述认证证书的使用;
基于被标识的所述认证证书的所监测到的所述使用和属性,确定被标识的所述认证证书的基线简档;
访问用于访问所述网络中资源的请求,所述请求包括被提交的认证证书;
生成用于被提交的所述认证证书的唯一标识符;
响应于确定用于被提交的所述认证证书的所述唯一标识符是新的:
将被提交的所述认证证书与所述基线简档进行比较;
当所述比较指示与所述基线简档的差异超过阈值时,生成警报;以及
当与所述基线简档的所述差异在所述阈值内时,向所述基线简档添加被提交的所述认证证书;
响应于确定用于被提交的所述认证证书的所述唯一标识符先前已经被标识并且未被包括在所述基线简档中:
标识与所述唯一标识符相关联的连接链;以及
当所述标识指示在所述连接链中未找到与所述唯一标识符相关联的源计算机时,生成警报。
8.根据权利要求7所述的计算设备,其中所述基线简档是使用机器学习被生成的。
9.根据权利要求7所述的计算设备,其中所述认证协议是Kerberos,并且所述请求是Kerberos认证服务器(AS)请求。
10.根据权利要求7所述的计算设备,其中所述认证协议是Kerberos,并且所述基线简档基于经解析的Kerberos票据授予服务(TGS)请求和指示用于被请求的计算机到所需的计算机的远程桌面连接的使用的数据而被生成。
11.根据权利要求7所述的计算设备,其中所述基线简档基于被标识的所述认证证书的使用次数而被生成。
12.根据权利要求7所述的计算设备,其中所述基线简档基于在时间窗期间监测所述网络中被标识的所述认证证书的使用而被生成。
13.一种计算机可读介质,其上存储有指令的多个序列,所述指令的多个序列在由处理器执行时使所述处理器执行方法,所述方法包括:
唯一地标识在实现认证协议的网络中观察到的认证证书;
监测所述网络中被标识的所述认证证书的使用;
基于被标识的所述认证证书的所监测到的所述使用和属性,确定被标识的所述认证证书的基线简档;
访问用于访问所述网络中资源的请求,所述请求包括被提交的认证证书;
生成用于被提交的所述认证证书的唯一标识符;
响应于确定用于被提交的所述认证证书的所述唯一标识符是新的:
将被提交的所述认证证书与所述基线简档进行比较;
当所述比较指示与所述基线简档的差异超过阈值时,生成警报;以及
当与所述基线简档的所述差异在所述阈值内时,向所述基线简档添加被提交的所述认证证书;
响应于确定用于被提交的所述认证证书的所述唯一标识符先前已经被标识并且未被包括在所述基线简档中:
标识与所述唯一标识符相关联的连接链;以及
当所述标识指示在所述连接链中未找到与所述唯一标识符相关联的源计算机时,生成警报。
14.根据权利要求13所述的计算机可读介质,还包括指令,所述指令在由所述处理器执行时使所述处理器:
监测被配置为使用数字证书提供基于密钥的认证的API;以及
输出唯一标识符的日志。
15.根据权利要求13所述的计算机可读介质,还包括指令,所述指令在由所述处理器执行时使所述处理器:当用于被提交的所述认证证书的所述唯一标识符先前已经被标识并且与所述唯一标识符相关联的源计算机在所述基线简档中时,监测所述网络。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/859,970 US20210336947A1 (en) | 2020-04-27 | 2020-04-27 | Rogue certificate detection |
US16/859,970 | 2020-04-27 | ||
PCT/US2021/022263 WO2021221800A1 (en) | 2020-04-27 | 2021-03-15 | Rogue certificate detection |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115486030A true CN115486030A (zh) | 2022-12-16 |
Family
ID=75660298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180031132.9A Pending CN115486030A (zh) | 2020-04-27 | 2021-03-15 | 流氓证书检测 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210336947A1 (zh) |
EP (1) | EP4144062A1 (zh) |
CN (1) | CN115486030A (zh) |
WO (1) | WO2021221800A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023200904A1 (en) * | 2022-04-14 | 2023-10-19 | Emory University | Devices, systems and methods for securing communication integrity |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8484460B1 (en) * | 2010-12-29 | 2013-07-09 | Amazon Technologies, Inc. | Post attack man-in-the-middle detection |
US20120173874A1 (en) * | 2011-01-04 | 2012-07-05 | Qualcomm Incorporated | Method And Apparatus For Protecting Against A Rogue Certificate |
AU2013272215B2 (en) * | 2012-03-22 | 2017-10-12 | Imperial Innovations Limited | Anomaly detection to identify coordinated group attacks in computer networks |
US9407644B1 (en) * | 2013-11-26 | 2016-08-02 | Symantec Corporation | Systems and methods for detecting malicious use of digital certificates |
US9729538B2 (en) * | 2014-09-01 | 2017-08-08 | Microsoft Israel Research And Development (2002) Ltd | System, method and process for detecting advanced and targeted attacks with the recoupling of kerberos authentication and authorization |
US10129239B2 (en) * | 2015-05-08 | 2018-11-13 | Citrix Systems, Inc. | Systems and methods for performing targeted scanning of a target range of IP addresses to verify security certificates |
US10193699B2 (en) * | 2015-05-15 | 2019-01-29 | Microsoft Technology Licensing, Llc | Probabilistic classifiers for certificates |
US10771260B2 (en) * | 2015-06-16 | 2020-09-08 | Vellitas Llc | Systems and methods for digital certificate security |
US9686081B2 (en) * | 2015-07-01 | 2017-06-20 | Cisco Technology, Inc. | Detecting compromised certificate authority |
US10284542B2 (en) * | 2015-08-21 | 2019-05-07 | International Business Machines Corporation | Intelligent certificate discovery in physical and virtualized networks |
US20180294978A1 (en) * | 2015-10-18 | 2018-10-11 | Indiana University Research And Technology Corporation | Systems and methods for identifying certificates |
US20180204215A1 (en) * | 2017-01-17 | 2018-07-19 | Hung-Tzaw Hu | Detecting electronic intruders via updatable data structures |
US20190044950A1 (en) * | 2017-08-02 | 2019-02-07 | Qualcomm Incorporated | Detection of Compromised Access Points |
US11032294B2 (en) * | 2017-08-15 | 2021-06-08 | Gigamon Inc. | Dynamic decryption of suspicious network traffic based on certificate validation |
US11017076B2 (en) * | 2018-08-08 | 2021-05-25 | Microsoft Technology Licensing, Llc | Enhancing security using anomaly detection |
EP3644549A1 (en) * | 2018-10-23 | 2020-04-29 | Siemens Aktiengesellschaft | Issuing device and method for issuing and requesting device and method for requesting a digital certificate |
US11363051B2 (en) * | 2019-04-01 | 2022-06-14 | Armis Security Ltd. | System and method for mitigating cyber security threats by devices using risk factors |
US11522877B2 (en) * | 2019-12-16 | 2022-12-06 | Secureworks Corp. | Systems and methods for identifying malicious actors or activities |
US11381598B2 (en) * | 2019-12-27 | 2022-07-05 | Paypal, Inc. | Phishing detection using certificates associated with uniform resource locators |
-
2020
- 2020-04-27 US US16/859,970 patent/US20210336947A1/en not_active Abandoned
-
2021
- 2021-03-15 CN CN202180031132.9A patent/CN115486030A/zh active Pending
- 2021-03-15 WO PCT/US2021/022263 patent/WO2021221800A1/en unknown
- 2021-03-15 EP EP21721242.2A patent/EP4144062A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20210336947A1 (en) | 2021-10-28 |
WO2021221800A1 (en) | 2021-11-04 |
EP4144062A1 (en) | 2023-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11647003B2 (en) | Concealing internal applications that are accessed over a network | |
US7752320B2 (en) | Method and apparatus for content based authentication for network access | |
US10764264B2 (en) | Technique for authenticating network users | |
JP6875482B2 (ja) | レガシー統合のためのコンピュータ読み取り可能な記憶媒体ならびにそれを使用するための方法およびシステム | |
US11792008B2 (en) | Actively monitoring encrypted traffic by inspecting logs | |
US20160014077A1 (en) | System, Method and Process for Mitigating Advanced and Targeted Attacks with Authentication Error Injection | |
Khan et al. | A brief review on cloud computing authentication frameworks | |
US11784993B2 (en) | Cross site request forgery (CSRF) protection for web browsers | |
US11296878B2 (en) | Private key updating | |
US20170295142A1 (en) | Three-Tiered Security and Computational Architecture | |
CN115486030A (zh) | 流氓证书检测 | |
US11177958B2 (en) | Protection of authentication tokens | |
Ahmed | Balancing security and usability in Web Single Sign-On | |
Maidine et al. | Cloud Identity Management Mechanisms and Issues | |
CN114915534A (zh) | 面向信任增强的网络部署架构及其网络访问方法 | |
Alroobaea et al. | Research Article IoT Devices, User Authentication, and Data Management in a Secure, Validated Manner through the Blockchain System |
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 |