CN110659516B - 检测关于证书库的未授权更改的系统和方法 - Google Patents

检测关于证书库的未授权更改的系统和方法 Download PDF

Info

Publication number
CN110659516B
CN110659516B CN201910467357.3A CN201910467357A CN110659516B CN 110659516 B CN110659516 B CN 110659516B CN 201910467357 A CN201910467357 A CN 201910467357A CN 110659516 B CN110659516 B CN 110659516B
Authority
CN
China
Prior art keywords
certificate
change
information
certificates
comparison
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
Application number
CN201910467357.3A
Other languages
English (en)
Other versions
CN110659516A (zh
Inventor
弗拉迪斯拉夫·I·奥夫查里克
奥列格·G·贝科夫
纳塔利娅·S·西多罗娃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kaspersky Lab AO
Original Assignee
Kaspersky Lab AO
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Kaspersky Lab AO filed Critical Kaspersky Lab AO
Publication of CN110659516A publication Critical patent/CN110659516A/zh
Application granted granted Critical
Publication of CN110659516B publication Critical patent/CN110659516B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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 digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3263Cryptographic 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/3268Cryptographic 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/106Enforcing content protection by specific content processing
    • G06F21/1062Editing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Data Mining & Analysis (AREA)
  • Virology (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了检测关于证书库的未授权更改的系统和方法。在一个方面中,一种示例性方法包括:跟踪设备的操作系统的文件系统或系统注册表中的关于证书库的更改;检测关于证书的更改或试图更改,并将关于所述更改或试图更改的信息发送至分析模块;获取关于至少一个证书的信息,所述至少一个证书与所述文件系统或所述系统注册表中的关于所述证书库的更改相关联;并确定所述更改的类别,其中,所述更改的类别是根据相应的所述系统注册表或所述文件系统的发生所述更改的部分以及与所述更改相关联的动作确定的;以及将获取的所述信息与关于已知证书的类似信息进行比较。

Description

检测关于证书库的未授权更改的系统和方法
技术领域
本发明涉及检测对计算机系统或网络的未授权访问或对其未授权控制的实例的领域,更具体地涉及检测关于证书库的未授权更改的系统和方法。
背景技术
目前,对于提供数据安全性的需求正在增加。数字签名的使用已经成为控制数据的完整性和签署文件的实体的认证的可靠方法。数字签名是确认数字数据(诸如电子邮件通信、宏或电子文档)的真实性的电子加密印章。该签名确认数据是由对其进行签署的作者所提交的并且未被更改的。为了创建数字签名,需要用于验证实体的签名证书。将证书与公钥以及由数字签名验证的宏或文档一起发送。该证书由认证中心签发,并且可以被吊销。通常,证书有效期为一年,之后签署方必须延长证书有效期或获得新证书以验证其身份。
数字签名一直是黑客的严重障碍。包括网络钓鱼在内的习惯性攻击实施起来变得更加复杂。因此,已经开发出对电子数字签名和本地证书库的攻击方法。一种这种示例性攻击为CertLock攻击(来自认证锁)。该攻击能够阻断本地证书库中的已验证证书。由于阻断了已验证的证书,因此无法根据操作系统的策略启动由证书签发者签名的文件。另一示例是中间人(Man In The Middle,MITM)对传输层安全协议(Transport Layer Security,TLS)的攻击。为了实施攻击,黑客(攻击者)需要在受害者的本地库中安装专门准备的客户端安全套接层(Secure Sockets Layer,SSL)证书,该安全套接层证书的密钥是攻击者已知的。这使得之后可以“说服”客户端软件其正在与可信服务器交互,而实际上通信是利用黑客的网络资源进行的。因此,使用这种方法检测攻击花费太多时间。此外,这种方法也不适用于反击。
因此,需要对如何检测到如下实例进行改进,所述实例为对计算机系统或网络的未授权访问、或对这种计算机系统或网络的未授权控制的实例。
发明内容
本发明的各方面涉及计算机安全领域,更具体地涉及检测关于证书库的未授权更改的系统和方法。
在一个示例性方面中,在包括硬件处理器的计算机中实现一种用于检测关于证书库的未授权更改的方法,所述方法包括:跟踪设备的操作系统的文件系统或系统注册表中的关于证书库的更改;检测关于证书的更改或试图更改,并在发生所述更改或试图更改时,将关于所述更改或试图更改的信息发送至分析模块;获取关于至少一个证书的信息,所述至少一个证书与所述文件系统或所述系统注册表中的关于所述证书库的更改相关联;并确定所述更改的类别,其中,所述更改的类别是根据相应的所述系统注册表或所述文件系统的发生所述更改的部分以及与所述更改相关联的动作确定的;以及将获取的关于所述至少一个证书的所述信息与关于已知证书的类似信息进行比较。
根据本发明的一个方面,提供了一种用于检测关于证书库的未授权更改的系统,所述系统包括硬件处理器,所述处理器被配置为:跟踪设备的操作系统的文件系统或系统注册表中的关于证书库的更改;检测关于证书的更改或试图更改,并在发生所述更改或试图更改时,将关于所述更改或试图更改的信息发送至分析模块;获取关于至少一个证书的信息,所述至少一个证书与所述文件系统或所述系统注册表中的关于所述证书库的更改相关联;并确定所述更改的类别,其中,所述更改的类别是根据相应的所述系统注册表或所述文件系统的发生所述更改的部分以及与所述更改相关联的动作确定的;以及将获取的关于所述至少一个证书的所述信息与关于已知证书的类似信息进行比较。
在一个示例性方面中,提供了一种非暂时性计算机可读介质,所述非暂时性计算机可读介质上存储有用于检测关于证书库的未授权更改的指令集,所述指令集包括用于执行如下操作的指令:跟踪设备的操作系统的文件系统或系统注册表中的关于证书库的更改;检测关于证书的更改或试图更改,并在发生所述更改或试图更改时,将关于所述更改或试图更改的信息发送至分析模块;获取关于至少一个证书的信息,所述至少一个证书与所述文件系统或所述系统注册表中的关于所述证书库的更改相关联;并确定所述更改的类别,其中,所述更改的类别是根据相应的所述系统注册表或所述文件系统的发生所述更改的部分以及与所述更改相关联的动作确定的;以及将获取的关于所述至少一个证书的所述信息与关于已知证书的类似信息进行比较。
在一个方面中,所述方法还包括将所述比较的结果发送至所述分析模块,其中,所述比较的结果是所述证书的状态。
在一个方面中,所述证书的状态包括从如下选择的状态:所述证书是可信的、所述证书是不可信的、所述证书是吊销的、所述证书与可信的证书类似、所述证书与不可信的证书类似、所述证书与吊销的证书类似、以及所述证书是未知的。
在一个方面中,与所述更改相关联的动作是如下中的至少一者:所述至少一个证书的安装、所述至少一个证书的阻断、以及所述至少一个证书的删除。
在一个方面中,在与远程库连接的设备上安装特定证书并为该特定证书构建信任链之后,将关于所述特定证书的信息添加到已知证书数据库。
在一个方面中,所述证书的比较基于由获取的所述信息形成的所述证书的散列或N维向量的比较。
在一个方面中,基于所述证书的属性集合从获取的所述信息形成所述N维向量,所述属性包括如下中的一者或多者:所述证书的有效期的起始日期和时间及结束日期和时间、具有签名密钥的所述证书的所有者、公钥、认证中心的名称和详细信息、加密算法的指定、关于签名的限制使用的信息、所述证书签发国家的象征、所述证书的符号的频率特性;以及所述证书的行偏移及其长度。
根据本发明的教导的检测关于证书库的未授权更改提高了计算机安全性。该提高是通过如下操作实现的:跟踪设备的操作系统的文件系统或系统注册表中的关于证书库的更改;检测关于证书的更改或试图更改,并在发生所述更改或试图更改时,将关于所述更改或试图更改的信息发送至分析模块;获取关于至少一个证书的信息,所述至少一个证书与所述文件系统或所述系统注册表中的关于所述证书库的更改相关联;并确定所述更改的类别,其中,所述更改的类别是根据相应的所述系统注册表或所述文件系统的发生所述更改的部分以及与所述更改相关联的动作确定的;以及将获取的关于所述至少一个证书的所述信息与关于已知证书的类似信息进行比较。
附图说明
并入本说明书中并构成本说明书的一部分的附图示出了本发明的一个或多个示例性方面,所述附图连同详细的描述一起用来阐述这些示例性方面的原理和实现方式。
图1为根据本发明的各方面的用于检测关于设备的证书库的未授权更改的示例性系统的框图。
图1a为证书和信任链的示例。
图2为根据本发明的可用于转换关于证书内容的信息的二维空间的示例。
图3为示出用于检测关于证书库的未授权更改的示例性方法的流程图。
图4示出了可以在其上实现本发明的各方面的通用计算机系统的示例。
具体实施方式
本文在用于检测关于证书库的未授权更改的系统、方法和计算机程序的上下文中描述示例性方面。本领域的普通技术人员将认识到,以下描述仅仅是示例性的,而不旨在以任何方式进行限制。其它方面将很容易将其自身暗示给了解本发明的优点的本领域的技术人员。现在将详细地参考如附图中所示的示例性方面的实现方式。贯穿附图和以下描述将尽可能地使用相同的附图标记来指代相同或类似的项目。
图1为示出根据本发明的各方面的用于检测关于设备的证书库的未授权更改的示例性系统100的框图。
系统100至少包括监控模块、分析模块、比较模块以及已知证书数据库。监控模块被设计为跟踪文件系统和/或注册表中的关于计算机设备(个人计算机、移动电话、平板电脑等,以下简称设备)上的证书库的更改。在一个方面中,监控模块跟踪注册表和文件系统中的与证书库相关的记录。监控模块向分析模块发送与关于设备上的证书库的任何更改有关的信息。分析模块被设计为确定更改的性质(即,分类)。在一个方面中,分析模块将关于证书库的更改分解为如下类别:
·证书的安装;
·证书的删除;或者
·证书的阻断。
在一个方面中,分析模块还获取关于与证书库的更改相关联的一证书的信息,并将该信息发送到比较模块。比较模块被设计为将与证书库的更改相关联的该证书与来自系统100的已知证书数据库的已知证书进行比较,已知证书数据库中包含可信证书、不可信证书和吊销证书。证书比较的目的是确定与更改相关联的证书的状态(可信、不可信、吊销、未知)。比较可以导致确定与已知证书的相同性(identity)(即,精确匹配)或与已知证书的类似性。相同的证书是那些完全匹配(100%匹配)的证书。类似的证书是那些匹配度小于100%的证书。相同评估与类似评估是基于所有属性的总和进行的,但是,对于某些属性匹配可以是100%匹配。因此,比较的结果可以为如下所示:
·证书是:
-可信的;
-不可信的;或者
-吊销的;
·证书与如下的证书类似:
-可信的;
-不可信的;或者
-吊销的;
·证书是未知的,其中,如果证书在已知证书数据库中不存在(与已知证书不同和/或与已知证书不类似),则认为该证书是未知的。
可以通过如下操作进行比较:根据证书的散列(指纹)确定相同性、通过证书的N维向量确定类似性。比较的结果由比较模块发送到分析模块。
分析模块将证书的状态(由系统100的比较模块比较证书的结果)与关于证书库实施的更改的类别进行比较,至少在如下情况下,检测到关于设备上的证书库的未授权的更改:
·已安装不可信的证书;
·已安装未知的证书;
·已阻断可信证书;或者
·已删除可信证书。
系统100的已知证书数据库被设计为存储已知证书和/或已知证书的属性、簇(cluster)和规则。该证书可以单独(不相关)地保存或者以列表保存,其中,列表是由任何属性(诸如证书的所有者)组成的证书集合。在一个方面中,列表为簇。簇不存储证书本身,而是存储证书的映射——N维向量。因此,已知证书数据库可以存储:禁用证书本身、列表上的禁用证书、禁用证书的映射(例如,以与公共属性相关联的规则的形式或以N维向量的形式)、簇中的禁用证书的映射。在数据库中存储N维向量和/或簇的形式的禁用证书的映射的情况下,应该理解数据库存储了禁用证书的N维空间的模型。
在将证书安装在与远程已知证书数据库相关联的设备之一上之后,将该证书添加到已知证书数据库(包括由系统100的分析模块进行添加)。如果针对证书构建了信任链,则系统100的分析模块将该证书添加到数据库。在一个方面中,该证书也必须类似于已知的可信证书。例如,图1a示出了安装在系统100中并由系统100的监控模块检测到的证书和信任链110的示例。然而,证书110是通过系统100的比较模块执行的比较结果所发现的。换句话说,即使未知(即,证书不存在于已知证书数据库中),然而该证书类似于来自已知证书数据库的可信证书,该证书也被发现。在检查证书的有效性(例如,已经构建了信任链120)之后,系统100的分析模块将该证书添加到具有可信状态的已知证书数据库中。在本发明的各个方面中,指定给证书的状态(可信、不可信、吊销)是由与给定证书类似的证书的状态确定的。
证书的N维向量是n个实数的有序集合,其中,数字为该向量的坐标。向量的坐标的数量被称为向量的维度。坐标确定N维空间中相同类型的资源(诸如TOR网络,该TOR网络为用于匿名通信的网络)的相应证书或证书组的位置。
图2为根据本发明的可用于转换关于证书内容的信息的二维空间的示例。换句话说,图2示出了当N等于2时的N维空间的示例。向量是通过转换关于证书或证书组的内容的信息生成的。向量映射关于证书或证书组的内容的信息。在一个方面中,每个坐标映射证书的一个特性。例如,一个坐标可以表征证书中心,另一个坐标可以表征证书的所有者。这些数字还可以映射证书的字符串参数的字典顺序(lexicographical order)或证书的不同元素的字符串参数之间的莱文斯坦距离(Levenshtein distance)。例如,在图2中示出了向量、特别是具有坐标(1666,1889)和(1686,1789)的二维向量的示例。
簇为证书的一组N维向量。如果从拦截的证书的N维向量到特定簇的中心的距离小于该簇在N维向量的方向上的半径,则将系统100的监控模块所拦截的该证书指定给该簇。返回图2,该图示出了簇的示例。在一个方面中,如果从证书的N维向量到特定簇的元素的最近的N维向量的距离(图2中的d’)的值小于最大允许值(距离[d’]的阈值),或者如果从证书的N维向量到该簇的中心的距离(图2中的d)的值小于该簇的半径,则将该元素指定给该簇。例如,从向量(1666,1889)到簇的中心的距离小于簇的半径,因此,内容由该向量(1666,1889)映射的证书或证书组属于该簇。相反,如果从向量(1686,1789)到簇的中心的距离大于簇的半径,并且到最近的N维向量的距离大于阈值,则内容由该向量映射的证书或证书组的不属于该簇。在一个方面中,用于评估邻近度的距离从如下中选择:
·线性距离;
·欧式距离(Euclidean distance);
·欧式距离的平方;
·闵可夫斯基(Minkowski)的广义功率距离;
·切比雪夫(Chebyshev)距离;或者
·曼哈坦距离(Manhattan distance)。
邻近度(类似度、类似度系数)的测量值是用于确定证书类似性的无量纲参数。距离的类型和邻近度的测量值为距离度量。为了确定邻近度的测量值,从如下测量中选择一种测量:
·Ohaai;
·Jacquard;
·Sokal-Sneath;
·Kulczinsky;或者
·对称Dyce。
簇的中心(形心)是N维空间中N维向量的平均几何轨迹。对于包含单个向量的簇,该向量为簇的中心。
簇的半径(图2中的R)是簇的中心距构成该簇的N维向量的最大距离。
图3为示出用于检测关于证书库的未授权更改的示例性方法300的流程图。图1中示出的系统100用于实现用于检测关于设备的证书库的未授权更改的方法300。
在步骤310中,由监控系统跟踪设备的操作系统的文件系统或系统注册表中的关于证书库的更改。
在步骤320中,由监控模块检测关于证书的更改或试图更改,并在发生更改或试图更改时,将关于更改或试图更改的信息发送至分析模块。
在步骤330中,所述方法通过分析模块获取关于至少一个证书(文件系统或系统注册表中的关于证书库的更改与该至少一个证书相关联)的信息,并确定更改的类别,其中,更改的类别是根据相应的系统注册表或文件系统的发生更改的部分以及与更改相关联的动作确定的。与更改相关联的动作包括更改的实质,例如,数据的写入、数据的删除、数据的重写等。将由系统100的分析模块获取的关于证书的消息发送到比较模块。
在步骤340中,所述方法通过比较模块将获取的关于所述至少一个证书的信息与关于已知证书的类似信息进行比较。在一个方面,在步骤340中,比较模块不仅建立被分析证书与已知证书的相同性,而且确定该证书与已知证书的类似性。
在一个方面中,证书的比较是基于证书的散列的比较。在一个方面中,证书的比较基于由从分析模块获取的信息形成的N维向量。在一个方面中,比较模块基于证书的属性集合,根据由分析模块获取的信息形成N维向量。在一个方面中,证书的属性包括如下中的一者或多者:
·证书的有效期的起始日期和时间及结束日期和时间;
·具有签名密钥的证书的所有者;
·公钥;
·认证中心的名称和详细信息;
·加密算法的指定;
·关于签名的限制使用的信息;
·证书签发国家的象征;
·证书的符号的频率特性;以及
·证书的行偏移及其长度,等等。
将获取的N维向量与已知证书的N维向量进行比较。在一个方面中,当在N维空间中构造向量时,可以对每个属性使用不同的权重来计算坐标。在一个方面中,权重是由证书中给定属性的出现频率确定的(例如,频率越低,权重越大)。在一个方面中,借助于神经网络(例如,通过使用后向误差传播方法和梯度下降方法)来计算权重。当确定相同性时,将获取的N维向量与已知证书的N维向量进行比较,并且在获取的N维向量与N维空间中的已知证书的N维向量匹配时,将证书识别为已知的。当确定类似性时,将获取的向量与已知证书的簇进行比较(例如,通过确定所获取的向量与簇的中心之间的相互距离)。
在一个方面中,基于比较的结果,拦截的证书在以下情况被识别为与已知证书类似:
·在N维空间中,证书的N维向量与数据库中的至少一个簇的中心之间的距离小于该簇的半径;或者
·在N维空间中,元素的N维向量与至少一个簇的中心之间的邻近度的测量值小于阈值。
系统100的比较模块将比较结果发送到分析模块,其中,比较结果为证书的状态。即:
·证书是:
-可信的;
-不可信的;或者
-吊销的;
·证书与如下的证书类似:
-可信的;
-不可信的;或者
-吊销的;
·证书是未知的。
在步骤350中,分析模块将在步骤330中确定的文件系统和/或系统注册表中的更改的类别与来自步骤340的比较结果进行比较,并检测关于设备上的证书库的未授权更改,其中,在下列情况下,更改可以被视为未授权的:
·已经安装了不可信证书;
·已经安装了未知证书;
·已经阻断了可信证书;
·已经阻断了与可信证书类似的证书;
·已经删除了可信证书;
·已经删除了与可信证书类似的证书;
·未阻断不可信证书;
·未阻断吊销的证书;或者
·在设备上未阻断与不可信证书类似的证书。
下面给出所述方法的实现的示例。监控模块在设备上正在运行,该监控模块跟踪注册表和文件系统中的与证书库有关的更改。在检查的过程中,监控模块检测对注册表分支(例如:HKLM\SOFTWARE\Microsoft\SystemCertificates\Dis-allowed\Certificates\)的访问,以及在访问的注册表分支处写入特定数据,该数据为:D1 DB DD 61 15 20 D2 C48F 51 05 A5 4F 02 08 1E 5E 52 E0 C7。
将数据发送到分析模块,其中,分析模块根据该分支(该分支存储阻断的证书)的目的,确定检测到的更改属于阻断证书的更改的类别,并且确定写入的数据对应于证书的散列。然后,将证书的散列发送到比较模块,该比较模块将获取的散列与已知证书的指纹进行比较。作为比较的结果,比较模块发现可信证书“KasperskyLabsEnterpriseCA”的相同散列。
然后,将获取的信息发送到分析模块,该分析模块形成状态,该状态将证书的状态(“阻断”(更改的类别)-可信证书(证书的状态))指定到检测到的更改类别。然后,将获取的状态与规则进行比较,其中,未授权的更改包括阻断可信证书,因此,检测到关于设备上的证书库的未授权更改。
有必要针对在已知证书数据库中没有的证书建立类似性,以避免可信证书被识别为未知或不可信证书识别为未知时出错。因此,在已经针对证书(该证书不存在于已知证书中)构建信任链的情况下,如上所述,建立证书的类似性。如果该证书被证明与(构建了信任链的)可信且有效的证书类似,则将该证书识别为可信的,并将该证书添加到已知证书数据库中。
在一个方面中,本发明的监控模块、比较模块和分析模块包括真实的设备、系统、部件、和部件组,这些设备、系统、部件、和部件组利用硬件(诸如集成微电路(专用集成电路(Application-Specific Integrated Circuit,ASIC))或现场可编程门阵列(Field-Programmable Gate Array,FPGA))或例如以软件和硬件的组合(诸如微处理器系统和程序指令集)的形式、以及基于神经突触芯片实现。所述模块的功能可以仅由硬件实现,也可以以组合的形式实现,其中一些功能由软件实现,一些功能由硬件实现。在本发明的特定方面中,各个模块可以在通用计算机(诸如在图4中所示的通用计算机)的处理器上实现。数据库可以通过现有技术中已知的各种标准方法实现,并且可以包含在位于本地或远程的单个物理介质或不同的物理介质上。
如上所述,本发明的结果和主要优点是确保实时检测关于设备上的证书库的未授权更改。通过执行实时检测关于设备上的证书库的未授权更改的方法来完成检测,其中,在设备的OS中监控关于证书库的更改。在监控的过程中,发现关于设备上的证书库的更改。然后获取关于至少一个证书(关于证书库的更改与该至少一个证书相关联)的信息,并将获取的关于该证书的信息与关于已知证书的类似信息进行比较。作为比较的结果,检测到关于设备上的证书库的未授权更改。
当执行上述方法时,在实时操作期间监控OS中关于证书库的更改。可以通过系统注册表或文件系统来跟踪设备的OS中关于证书库的更改。
在一个方面中,OS中关于证书库的更改可以与如下中的至少一者相关联:证书的安装、证书的阻断、以及证书的删除。也就是说,与更改相关联的动作是如下中的至少一者:至少一个证书的安装、所述至少一个证书的阻断、以及所述至少一个证书的删除。
在一个方面中,关于证书的信息为证书的散列,其中,获取证书的散列并将其与已知的可信证书和不可信证书的散列进行比较。
在另一方面中,将关于证书的信息转换成N维向量,计算通过转换关于证书的信息获取的N维向量与已知的可信证书和不可信证书的N维向量之间的距离,并基于计算出的获取的N维向量与已知的可信证书和不可信证书的N维向量之间的距离进行比较。
在一个方面中,至少在如下情况下,更改被认为是未授权的:已经安装了不可信证书、已经安装了未知证书(如果证书在已知证书中不存在,则认为该证书是未知的)、已经阻断了可信证书、或者已经在设备上删除了可信证书。
在一个方面中,可以将关于已知证书的信息保存在本地库和远程库中。在一个方面中,在与远程库连接的其中一个设备上安装特定证书并为该特定证书构建信任链之后,将关于该特定证书的信息添加到已知证书数据库。
图4为示出根据示例性方面的计算机系统20的框图,在所述计算机系统20上可实施用于检测关于证书库的未授权更改的系统和方法的各方面。应当注意,计算机系统20可以对应于例如前文所描述的检测设备。计算机系统20可以为多个计算设备的形式、或为单一计算设备的形式,例如:台式电脑、笔记本电脑、手提电脑、移动计算设备、智能手机、平板电脑、服务器、主机、嵌入式设备和其它形式的计算设备。
如图所示,计算机系统20包括中央处理单元(Central Processing Unit,CPU)21、系统存储器22和连接各种系统部件的系统总线23,各种系统部件包括与中央处理单元21相关联的存储器。系统总线23可以包括总线存储器或总线存储器控制器、外围总线、以及能够与任何其它的总线架构交互的本地总线。总线的示例可以包括PCI、ISA、串行总线(PCI-Express)、超传输TM(HyperTransport TM)、无限带宽TM(InfiniBand TM)、串行ATA、I2C、和其它合适的互连。中央处理单元21(也称为处理器)可以包括单组或多组具有单核或多核的处理器。处理器21可以执行实现本发明的技术的一种或多种计算机可执行代码。系统存储器22可以为用于存储本文中所使用的数据和/或可由处理器21执行的计算机程序的任何存储器。系统存储器22可以包括易失性存储器(诸如随机存取存储器(Random Access Memory,RAM)25)和非易失性存储器(诸如只读存储器(Read-Only Memory,ROM)24、闪存等)或其任意组合。基本输入/输出系统(Basic Input/Output System,BIOS)26可以存储用于在计算机系统20的元件之间传输信息的基本程序,例如在使用ROM 24加载操作系统时的那些基本程序。
计算机系统20可以包括一个或多个存储设备,诸如一个或多个可移除存储设备27、一个或多个不可移除存储设备28、或其组合。所述一个或多个可移除存储设备27和一个或多个不可移除存储设备28借助存储器接口32连接到系统总线23。在一个方面中,存储设备和相应的计算机可读存储介质为用于存储计算机系统20的计算机指令、数据结构、程序模块、和其它数据的电源独立的模块。系统存储器22、可移除存储设备27和不可移除存储设备28可以使用各种各样的计算机可读存储介质。计算机可读存储介质的示例包括:机器存储器,诸如缓存、SRAM、DRAM、零电容RAM、双晶体管RAM、eDRAM、EDO RAM、DDR RAM、EEPROM、NRAM、RRAM、SONOS、PRAM;闪存或其它存储技术,诸如在固态驱动器(Solid State Drive,SSD)或闪盘驱动器中;磁带盒、磁带、和磁盘存储器,诸如在硬盘驱动器或软盘驱动器中;光学存储器,诸如在光盘(CD-ROM)或数字通用光盘(Digital Versatile Disk,DVD)中;以及可用于存储期望数据且可被计算机系统20访问的任何其它介质。
计算机系统20的系统存储器22、可移除存储设备27和不可移除存储设备28可以用于存储操作系统35、附加程序应用37、其它程序模块38和程序数据39。计算机系统20可以包括用于传送来自输入设备40的数据的外围接口46,该输入设备40诸如键盘、鼠标、光笔、游戏控制器、语音输入设备、触摸输入设备、或其它外围设备,诸如借助一个或多个I/O端口的打印机或扫描仪,该一个或多个I/O端口诸如串行端口、并行端口、通用串行总线(Universal SerialBus,USB)、或其它外围接口。显示设备47(诸如一个或多个监控器、投影仪或集成显示器)也可以通过输出接口48(诸如视频适配器)连接到系统总线23。除了显示设备47之外,计算机系统20还可以装配有其它外围输出设备(未示出),诸如扬声器和其它视听设备。
计算机系统20可以使用与一个或多个远程计算机49的网络连接而在网络环境中工作。一个或多个远程计算机49可以为本地计算机工作站或服务器,其包括在描述计算机系统20的性质时所述的上述元件中的大多数元件或全部元件。其它设备也可以存在于计算机网络中,诸如但不限于路由器、网站、对等设备或其它的网络节点。计算机系统20可以包括用于经由一个或多个网络而与远程计算机49通信的一个或多个网络接口51或网络适配器,该一个或多个网络诸如局域计算机网络(Local-Area computer Network,LAN)50、广域计算机网络(Wide-Area computer Network,WAN)、内联网、和因特网。网络接口51的示例可以包括以太网接口、帧中继接口、同步光纤网(SONET)接口、和无线接口。
本发明的各个方面可以为系统、方法和/或计算机程序产品。计算机程序产品可以包括一种或多种计算机可读存储介质,该计算机可读存储介质上具有用于使处理器执行本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以为有形设备,该有形设备可以保留且存储指令或数据结构的形式的程序代码,该程序代码可以被计算设备(诸如计算系统20)的处理器访问。计算机可读存储介质可以为电子存储设备、磁性存储设备、光存储设备、电磁存储设备、半导体存储设备、或其任意合适的组合。通过示例方式,这类计算机可读存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦可编程只读存储器(EEPROM)、便携式光盘只读存储器(CD-ROM)、数字通用光盘(DVD)、闪存、硬盘、便携式电脑磁盘、记忆棒、软盘、或甚至机械编码设备,诸如在其上记录有指令的凹槽中的穿孔卡或凸起结构。如在本文中所使用的,计算机可读存储介质不应被视为暂时信号本身,诸如无线电波或其它自由传播的电磁波、通过波导或传输介质传播的电磁波、或通过电线传输的电信号。
可以将本文中所描述的计算机可读程序指令从计算机可读存储介质下载到相应的计算设备、或经由网络(例如,因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。该网络可以包括铜传输线缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。在每个计算设备中的网络接口从网络接收计算机可读程序指令并转发该计算机可读程序指令,用以存储在相应计算设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以为汇编指令、指令集架构(Instruction-Set-Architecture,ISA)指令、机器指令、与机器有关的指令、微代码、固件指令、状态设置数据、或以一种或多种编程语言(包括面向对象的编程语言和传统程序化编程语言)的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全地在用户的计算机上、部分地在用户的计算机上(作为独立的软件包)、部分地在用户的计算机上且部分地在远程计算机上、或完全地在远程计算机或服务器上执行。在后一种场景中,远程计算机可以通过任何类型的网络(包括LAN或WAN)连接到用户的计算机,或可以(例如通过因特网)进行与外部计算机的连接。在一些实施方式中,电子电路(包括例如可编程逻辑电路、现场可编程门阵列(FPGA)、或可编程门阵列(ProgrammableLogic Array,PLA))可以通过利用计算机可读程序指令的状态信息使该电子电路个性化而执行计算机可读程序指令,从而执行本发明的各个方面。
在各个方面中,本发明中所描述的系统和方法可以按照模块来处理。本文中所使用的术语“模块”指的是例如现实世界的设备、部件、或使用硬件(例如通过专用集成电路(ASIC)或FPGA)实现的部件的布置,或者指的是硬件和软件的组合,例如通过微处理器系统和实现模块功能的指令集(该指令集在被执行时将微处理器系统转换成专用设备)来实现这样的组合。一个模块还可以被实施为两个模块的组合,其中单独地通过硬件促进某些功能,并且通过硬件和软件的组合促进其它功能。在某些实现方式中,模块的至少一部分(以及在一些情况下,模块的全部)可以在计算机系统(例如上文在图4中更详细描述的计算机系统)的处理器上执行。因此,每个模块可以以各种适合的配置来实现,而不应受限于本文中所例示的任何特定的实现方式。
为了清楚起见,本文中没有公开各个方面的所有例程特征。应当领会的是,在本发明的任何实际的实现方式的开发中,必须做出许多特定实现方式的决定,以便实现开发者的特定目标,并且这些特定目标将对于不同的实现方式和不同的开发者变化。应当理解的是,这种开发努力会是复杂的且费时的,但对于了解本发明的优点的本领域的普通技术人员来说仍然是工程的例行任务。
此外,应当理解的是,本文中所使用的措辞或术语出于描述而非限制的目的,从而本说明书的术语或措辞应当由本领域技术人员根据本文中所提出的教导和指导结合(一个或多个)相关领域的技术人员的知识来解释。此外,不旨在将本说明书或权利要求中的任何术语归于不常见的或特定的含义,除非明确如此阐述。
本文中所公开的各个方面包括本文中以说明性方式所引用的已知模块的现在和未来已知的等同物。此外,尽管已经示出并描述了各个方面和应用,但是对于了解本发明的优点的本领域技术人员将显而易见的是,在不脱离本文中所公开的发明构思的前提下,相比于上文所提及的内容而言的更多修改是可行的。

Claims (17)

1.一种用于检测关于证书库的未授权更改的方法,所述方法包括:
跟踪设备的操作系统的文件系统或系统注册表中的关于证书库的更改;
检测关于证书的更改或试图更改,并在发生所述更改或试图更改时,将关于所述更改或试图更改的信息发送至分析模块;
获取关于至少一个证书的信息,所述至少一个证书与所述文件系统或所述系统注册表中的关于所述证书库的更改相关联;并确定所述更改的类别,其中,所述更改的类别是根据相应的所述系统注册表或所述文件系统的发生所述更改的部分以及与所述更改相关联的动作确定的;
由获取的所述信息形成N维向量;
将获取的关于所述至少一个证书的所述信息与关于已知证书的对应信息进行比较,其中,所述比较至少通过比较由获取的所述信息形成的所述N维向量来执行;以及
将所述比较的结果发送至所述分析模块,其中,所述比较的结果是所述证书的状态。
2.如权利要求1所述的方法,其中,所述证书的状态包括从如下选择的状态:
所述证书是可信的;
所述证书是不可信的;
所述证书是吊销的;
所述证书与可信的证书类似;
所述证书与不可信的证书类似;
所述证书与吊销的证书类似;以及
所述证书是未知的。
3.如权利要求1所述的方法,其中,与所述更改相关联的所述动作是如下中的至少一者:所述至少一个证书的安装、所述至少一个证书的阻断、以及所述至少一个证书的删除。
4.如权利要求1所述的方法,其中,在与远程库连接的设备上安装一证书并为该证书构建信任链之后,将关于该证书的信息添加到已知证书数据库。
5.如权利要求1所述的方法,其中,所述证书的所述比较还基于所述证书的散列的比较。
6.如权利要求1所述的方法,其中,基于所述证书的属性集合由获取的所述信息形成所述N维向量,所述属性包括如下中的一者或多者:
所述证书的有效期的起始日期和时间及结束日期和时间;
具有签名密钥的所述证书的所有者;
公钥;
认证中心的名称和详细信息;
加密算法的指定;
关于签名的限制使用的信息;
所述证书的签发国家的象征;
所述证书的符号的频率特性;以及
所述证书的行偏移及其长度。
7.一种用于检测关于证书库的未授权更改的系统,包括:
至少一个硬件处理器,所述至少一个硬件处理器被配置为:
跟踪设备的操作系统的文件系统或系统注册表中的关于证书库的更改;
检测关于证书的更改或试图更改,并在发生所述更改或试图更改时,将关于所述更改或试图更改的信息发送至分析模块;
获取关于至少一个证书的信息,所述至少一个证书与所述文件系统或所述系统注册表中的关于所述证书库的更改相关联;并确定所述更改的类别,其中,所述更改的类别是根据相应的所述系统注册表或所述文件系统的发生所述更改的部分以及与所述更改相关联的动作确定的;
由获取的所述信息形成N维向量;
将获取的关于所述至少一个证书的所述信息与关于已知证书的对应信息进行比较,其中,所述比较至少通过比较由获取的所述信息形成的所述N维向量来执行;以及
将所述比较的结果发送至所述分析模块,其中,所述比较的结果是所述证书的状态。
8.如权利要求7所述的系统,其中,所述证书的状态包括从如下选择的状态:
所述证书是可信的;
所述证书是不可信的;
所述证书是吊销的;
所述证书与可信的证书类似;
所述证书与不可信的证书类似;
所述证书与吊销的证书类似;以及
所述证书是未知的。
9.如权利要求7所述的系统,其中,与所述更改相关联的所述动作是如下中的至少一者:所述至少一个证书的安装、所述至少一个证书的阻断、以及所述至少一个证书的删除。
10.如权利要求7所述的系统,其中,在与远程库连接的设备上安装一证书并为该证书构建信任链之后,将关于该证书的信息添加到已知证书数据库。
11.如权利要求7所述的系统,其中,所述证书的所述比较还基于所述证书的散列的比较。
12.如权利要求7所述的系统,其中,基于所述证书的属性集合由获取的所述信息形成所述N维向量,所述属性包括如下中的一者或多者:
所述证书的有效期的起始日期和时间及结束日期和时间;
具有签名密钥的所述证书的所有者;
公钥;
认证中心的名称和详细信息;
加密算法的指定;
关于签名的限制使用的信息;
所述证书的签发国家的象征;
所述证书的符号的频率特性;以及
所述证书的行偏移及其长度。
13.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质上存储有用于检测关于证书库的未授权更改的计算机可执行指令,所述计算机可执行指令包括用于执行如下操作的指令:
跟踪设备的操作系统的文件系统或系统注册表中的关于证书库的更改;
检测关于证书的更改或试图更改,并在发生所述更改或试图更改时,将关于所述更改或试图更改的信息发送至分析模块;
获取关于至少一个证书的信息,所述至少一个证书与所述文件系统或所述系统注册表中的关于所述证书库的更改相关联;并确定所述更改的类别,其中,所述更改的类别是根据相应的所述系统注册表或所述文件系统的发生所述更改的部分以及与所述更改相关联的动作确定的;
由获取的所述信息形成N维向量;
将获取的关于所述至少一个证书的所述信息与关于已知证书的对应信息进行比较,其中,所述比较至少通过比较由获取的所述信息形成的所述N维向量来执行;以及
将所述比较的结果发送至所述分析模块,其中,所述比较的结果是所述证书的状态。
14.如权利要求13所述的非暂时性计算机可读介质,其中,所述证书的状态包括从如下选择的状态:
所述证书是可信的;
所述证书是不可信的;
所述证书是吊销的;
所述证书与可信的证书类似;
所述证书与不可信的证书类似;
所述证书与吊销的证书类似;以及
所述证书是未知的。
15.如权利要求13所述的非暂时性计算机可读介质,其中,与所述更改相关联的所述动作是如下中的至少一者:所述至少一个证书的安装、所述至少一个证书的阻断、以及所述至少一个证书的删除。
16.如权利要求13所述的非暂时性计算机可读介质,其中,在与远程库连接的设备上安装一证书并为该证书构建信任链之后,将关于该证书的信息添加到已知证书数据库。
17.如权利要求13所述的非暂时性计算机可读介质,其中,所述证书的所述比较还基于所述证书的散列的比较。
CN201910467357.3A 2018-06-29 2019-05-31 检测关于证书库的未授权更改的系统和方法 Active CN110659516B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
RU2018123690A RU2715027C2 (ru) 2018-06-29 2018-06-29 Способ обнаружения несанкционированного изменения в отношении хранилища сертификатов
RU2018123690 2018-06-29
US16/359,223 US11176263B2 (en) 2018-06-29 2019-03-20 System and method of detecting an unauthorized alteration in regards to a certificate store
US16/359,223 2019-03-20

Publications (2)

Publication Number Publication Date
CN110659516A CN110659516A (zh) 2020-01-07
CN110659516B true CN110659516B (zh) 2023-04-18

Family

ID=69008192

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910467357.3A Active CN110659516B (zh) 2018-06-29 2019-05-31 检测关于证书库的未授权更改的系统和方法

Country Status (4)

Country Link
US (1) US11176263B2 (zh)
EP (1) EP3712796B1 (zh)
CN (1) CN110659516B (zh)
RU (1) RU2715027C2 (zh)

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1163566A1 (en) * 1999-03-08 2001-12-19 Spyrus, Inc. Method and system for enforcing access to a computing resource using a licensing certificate
US9729321B2 (en) * 2015-04-29 2017-08-08 Citrix Systems, Inc. Autonomous private key recovery
EP1594316A1 (en) * 2004-05-03 2005-11-09 Thomson Licensing Certificate validity checking
US7490354B2 (en) * 2004-06-10 2009-02-10 International Business Machines Corporation Virus detection in a network
US7546454B2 (en) * 2004-06-30 2009-06-09 At&T Intellectual Property I, L.P. Automated digital certificate discovery and management
US7949771B1 (en) 2007-09-05 2011-05-24 Trend Micro Incorporated Authentication of unknown parties in secure computer communications
US9282092B1 (en) * 2012-03-30 2016-03-08 Google Inc. Systems and methods for determining trust when interacting with online resources
RU2514138C1 (ru) * 2012-09-28 2014-04-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ верификации сертификата открытого ключа с целью противодействия атакам типа "человек посередине"
US8966659B2 (en) * 2013-03-14 2015-02-24 Microsoft Technology Licensing, Llc Automatic fraudulent digital certificate detection
WO2017058186A1 (en) * 2015-09-30 2017-04-06 Hewlett-Packard Development Company, L.P. Certificate analysis
CN107766716B (zh) * 2016-08-16 2021-08-31 阿里巴巴集团控股有限公司 证书检测方法及装置、电子设备
US10530816B2 (en) 2017-05-18 2020-01-07 Nio Usa, Inc. Method for detecting the use of unauthorized security credentials in connected vehicles

Also Published As

Publication number Publication date
US20200004979A1 (en) 2020-01-02
EP3712796A1 (en) 2020-09-23
RU2018123690A3 (zh) 2019-12-30
CN110659516A (zh) 2020-01-07
RU2715027C2 (ru) 2020-02-21
RU2018123690A (ru) 2019-12-30
EP3712796B1 (en) 2023-11-08
US11176263B2 (en) 2021-11-16

Similar Documents

Publication Publication Date Title
US10104061B2 (en) Method and system for distinguishing humans from machines and for controlling access to network services
JP7545419B2 (ja) 統合された隔離されたアプリケーションにおけるランサムウェアの被害の軽減
KR101755995B1 (ko) 동형 암호를 이용한 특성벡터 기반 원격 바이오 인증 방법 및 시스템
US20190007428A1 (en) Detecting Compromised Credentials in a Credential Stuffing Attack
CN110825401B (zh) 认证固件设定输入文档的方法与装置
US11960590B2 (en) Enforcing trusted application settings for shared code libraries
US8856918B1 (en) Host validation mechanism for preserving integrity of portable storage data
US20160127332A1 (en) Off-host authentication system
US20200257811A1 (en) System and method for performing a task based on access rights determined from a danger level of the task
US11640450B2 (en) Authentication using features extracted based on cursor locations
US11258819B1 (en) Security scoring based on multi domain telemetry data
CN111382422A (zh) 在非法访问用户数据的威胁下更改账户记录的密码的系统和方法
KR101659226B1 (ko) 완전 동형 암호를 이용한 원격 바이오 인증 방법 및 시스템
CN110659516B (zh) 检测关于证书库的未授权更改的系统和方法
CN111753304A (zh) 用于基于访问权在计算设备上执行任务的系统和方法
CN110661769B (zh) 阻断网络连接的系统和方法
CN110661770B (zh) 阻断与禁用类别的资源的网络连接的系统和方法
US12126631B2 (en) Detecting compromised credentials in a credential stuffing attack

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