CN109583194A - 用于基于事件的卷积的普及度检测异常事件的系统和方法 - Google Patents
用于基于事件的卷积的普及度检测异常事件的系统和方法 Download PDFInfo
- Publication number
- CN109583194A CN109583194A CN201810750538.2A CN201810750538A CN109583194A CN 109583194 A CN109583194 A CN 109583194A CN 201810750538 A CN201810750538 A CN 201810750538A CN 109583194 A CN109583194 A CN 109583194A
- Authority
- CN
- China
- Prior art keywords
- event
- convolution
- context
- client
- popularization degree
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 230000002547 anomalous effect Effects 0.000 title claims abstract description 23
- 238000001514 detection method Methods 0.000 title claims abstract description 17
- 230000008569 process Effects 0.000 claims abstract description 39
- 230000006870 function Effects 0.000 claims description 17
- 230000002159 abnormal effect Effects 0.000 claims description 13
- 238000006243 chemical reaction Methods 0.000 claims description 11
- 238000012360 testing method Methods 0.000 claims description 8
- 238000010606 normalization Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims 4
- 230000015572 biosynthetic process Effects 0.000 abstract description 7
- 238000005516 engineering process Methods 0.000 description 8
- 238000009434 installation Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 208000024891 symptom Diseases 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000000246 remedial effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000012536 storage buffer Substances 0.000 description 1
- 210000000225 synapse Anatomy 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000005612 types of electricity Effects 0.000 description 1
Classifications
-
- 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
-
- 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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- 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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/54—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
-
- 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/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- 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/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/561—Virus type analysis
-
- 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/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- 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/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- 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/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- 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
-
- 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
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/12—Detection or prevention of fraud
- H04W12/128—Anti-malware arrangements, e.g. protection against SMS fraud or mobile malware
-
- 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/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
-
- 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/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种用于基于事件的卷积的普及度检测异常事件的系统和方法。示例性的方法包括:在执行软件进程期间,检测在计算设备的操作系统中发生的事件。此外,该方法包括:确定检测到的事件的上下文并基于所确定的检测到的事件的上下文的选择的特征形成检测到的事件的卷积。另外,该方法包括:通过轮询包含与在网络中的客户端设备中发生的检测到的事件的频率相关的数据的数据库来确定所形成的卷积的普及度,其中,客户端设备的检测到的事件对应于计算设备中的检测到的事件。如果所确定的普及度小于阈值,则该方法确定检测到的事件是异常事件。
Description
技术领域
本发明总体涉及计算机安全领域,更具体地,涉及一种用于保护计算机设备免受利用设备软件中存在的漏洞的系统和方法。
背景技术
随着软件应用程序在当今技术领域的目前的广泛使用和变化,使用恶意软件渗透计算机设备的最广泛的方法之一涉及利用安装在特定设备上的软件中存在的漏洞。
为了防止漏洞的利用,公司和/或个人会使用消除漏洞本身的形式的被动方法和检测漏洞的实际利用的形式的主动方法两者。被动方法用于已知的漏洞,而主动方法用于已知的漏洞和未知的漏洞两者。
实际上,现有的检测技术能够检测利用已知的技术和机制的漏洞的实际利用,但不幸的是,这些方法无法检测和防止利用漏洞的新技术,这些新技术采用新的利用原理和利用机制。例如,为了不能执行溢出代码(即,用作利用软件漏洞的有效载荷的一小段代码),已经开发了防止在堆栈中执行的技术,但是在它们的角度出现了面向返回的编程技术。一般来说,面向返回的编程是计算机安全开发技术,其允许攻击者在存在诸如不可执行内存和代码签名等安全防御的情况下执行代码。
已经证明现有的防御性技术对于面向返回的编程是无能为力的。因此,例如如美国专利公开号2006/0196428所述,已经开发了新的解决方案以防止这些攻击。鉴于这些新的解决方案,仍然需要检测计算机系统的功能与正常操作的偏差,这可能表明系统已经被利用软件中的漏洞的技术所攻击。这个问题的解决将有可能摆脱那些利用正在发生变化和改进的漏洞本身的技术,以将重点放在攻击的外部症状上,当技术变化时,这些外部症状保持不变。
发明内容
因此,如本文所公开的,提供示例性的系统和方法来检测在计算设备的操作系统中发生的异常事件。特别地,所公开的系统和方法提供用于在执行设备的软件进程期间检测在客户端设备的操作系统中发生的异常事件。
因此,根据示例性方面,提供了用于检测在计算设备的操作系统中发生的异常事件的方法。在该方面中,该方法包括:在执行软件进程期间,检测在所述计算设备的所述操作系统中发生的至少一个事件;确定在执行所述软件进程期间检测到的在所述操作系统中发生的所述至少一个事件的上下文;基于所确定的检测到的所述至少一个事件的所述上下文的选择的特征,形成检测到的所述至少一个事件的卷积;通过轮询包含与在多个客户端设备中发生的多个检测到的事件的频率相关的数据的数据库,确定所形成的检测到的所述至少一个事件的所述卷积的普及度,所述多个检测到的事件与检测到的所述至少一个事件相对应;以及如果所确定的所述普及度小于阈值,则确定检测到的所述至少一个事件是异常事件。
在示例性方法的另一方面,确定检测到的所述至少一个事件的上下文包括:确定在检测到的所述至少一个事件发生时刻的调用堆栈,其中,所述调用堆栈提供以下至少一者:在所述时刻正在执行的程序和正在执行的函数的列表、包含所述程序和所述函数的模块的列表、以及正在传输至所述模块的所有参数的数据类型和所有参数的值。
在示例性方法的另一方面,确定检测到的所述至少一个事件的上下文包括确定以下至少一者:包含在检测到的所述至少一个事件发生的时刻正在执行的代码的所述软件进程的地址空间的转储、与从至少最后分支记录和分支轨迹存储的跳转相关的数据、以及在检测到的所述至少一个事件发生之前在所述软件进程中加载的模块的列表。
在示例性方法的另一方面,形成检测到的所述至少一个事件的所述卷积包括以下至少一者:量化所确定的所述上下文的选择的所述特征、对所确定的所述上下文的选择的所述特征进行排序、合并所确定的所述上下文的选择的所述特征、对所确定的所述上下文的选择的所述特征进行分组、配置所确定的所述上下文的选择的所述特征的数据集、对所确定的所述上下文的选择的所述特征的值进行表格化、计算所确定的所述上下文的选择的所述特征的值、对所确定的所述上下文的选择的所述特征进行数据编码、以及归一化所确定的所述上下文的选择的所述特征。
在另一示例性方面,所述方法包括:通过将所确定的所述上下文的选择的所述特征卷积成字符串来生成散列值,以形成检测到的所述至少一个事件的所述卷积;以及通过将生成的所述散列值与所述数据库中的散列值列表进行比较以确定在所述多个客户端设备中发生的所述多个检测到的事件的所述频率,来确定所形成的所述卷积的所述普及度。
在另一示例性方面,所述方法包括:通过将所确定的所述上下文的选择的所述特征卷积成坐标值来生成向量,以形成检测到的所述至少一个事件的所述卷积;以及通过将生成的向量值与所述数据库中的向量列表进行比较以确定在所述多个客户端设备中发生的所述多个检测到的事件的所述频率,来确定所形成的所述卷积的所述普及度。
在另一示例性方面,所述方法包括:将所形成的检测到的所述至少一个事件的所述卷积与先前形成的安全事件的卷积的列表进行比较;以及如果所形成的检测到的所述至少一个事件的所述卷积不在所述先前形成的安全事件的卷积的列表上,则确定检测到的所述至少一个事件为异常事件。
在该方法的另一示例性方面,所述多个检测到的事件的所述频率包括以下至少一者:在检测到所述至少一个事件的当前时刻的所述多个检测到的事件的总数、以及在所述当前时刻各自经历检测到的所述至少一个事件的客户端设备的总数。
在该方法的另一示例性方面,轮询所述数据库包括以下至少一者:轮询与在所有可访问的子网内的第一多个客户端设备相关联的全局数据库,以及轮询与在设备的单个子网内的第二多个客户端设备相关联的局部数据。
在另一示例性方面,所述方法包括:当检测到的所述至少一个事件被确定为是异常事件时,删除和/或隔离所述软件进程。
在一个示例性方面,提供了用于检测在计算设备的操作系统中发生的异常事件的系统。根据示例性方面,所述系统包括:数据库,所述数据库包含与在多个客户端设备中发生的多个检测到的事件的频率相关的数据;以及软件代理,所述软件代理在由计算机处理器执行时被配置成:在执行软件进程期间,检测在所述计算设备的所述操作系统中发生的至少一个事件;确定在执行所述软件进程期间检测到的在所述操作系统中发生的所述至少一个事件的上下文;基于所确定的检测到的所述至少一个事件的所述上下文的选择的特征,形成检测到的所述至少一个事件的卷积;通过轮询包含与在所述多个客户端设备中发生的所述多个检测到的事件的所述频率相关的数据的所述数据库,确定所形成的检测到的所述至少一个事件的所述卷积的普及度,所述多个检测到的事件与检测到的所述至少一个事件相对应;以及如果所确定的所述普及度小于阈值,则确定检测到的所述至少一个事件是异常事件。
在另一示例性方面,提供了用于检测在计算设备中发生的异常事件的方法。在该方面,所述方法包括:检测在安全的计算设备的操作系统中发生的至少一个安全事件;确定检测到的在安全的计算设备的操作系统中发生的至少一个安全事件的上下文;基于所确定的检测到的至少一个安全事件的上下文的选择的特征,形成检测到的至少一个安全事件的至少一个卷积;在至少一个数据库中存储所形成的检测到的至少一个安全事件的至少一个卷积;在执行软件进程期间,检测在计算设备的操作系统中发生的至少一个未分类事件;确定在执行软件进程期间检测到的在操作系统中发生的至少一个未分类事件的上下文;基于所确定的检测到的至少一个未分类事件的上下文的选择的特征,形成检测到的至少一个未分类事件的卷积;以及通过将所形成的检测到的至少一个未分类事件的卷积与在至少一个数据库中存储的所形成的检测到的至少一个安全事件的至少一个卷积进行比较,来确定检测到的至少一个未分类事件是否是异常事件。
在另一示例性方面,公开了一种用于检测在计算设备中发生的异常事件的系统。在该方面,所述系统包括:至少一个数据库,以及第一软件代理,所述第一软件代理在由计算机处理器执行时被配置成:检测在安全的计算设备的操作系统中发生的至少一个安全事件;确定检测到的在安全的计算设备的操作系统中发生的至少一个安全事件的上下文;基于所确定的检测到的至少一个安全事件的上下文的选择的特征,形成检测到的至少一个安全事件的至少一个卷积;在至少一个数据库中存储所形成的检测到的至少一个安全事件的至少一个卷积。此外,所述系统还包括第二软件代理,所述第二软件代理在由计算机处理器执行时被配置成:在执行软件进程期间,检测在计算设备的操作系统中发生的至少一个未分类事件;确定在执行软件进程期间检测到的在操作系统中发生的至少一个未分类事件的上下文;基于所确定的检测到的至少一个未分类事件的上下文的选择的特征,形成检测到的至少一个未分类事件的卷积;以及通过将所形成的检测到的至少一个未分类事件的卷积与在至少一个数据库中存储的所形成的检测到的至少一个安全事件的至少一个卷积进行比较,来确定检测到的至少一个未分类事件是否是异常事件。
以上对示例性方面的简要概述用于提供对本发明的基本理解。该概述不是对所有预期方面的广泛综述,并且既不旨在标识所有方面的关键要素或主要要素,也不旨在描绘本发明的任何方面或所有方面的范围。该概述的唯一目的是以简化的形式呈现一个或多个方面,作为随后的对本发明的更详细的描述的前奏。为了实现前述内容,本发明的一个或多个方面包括在权利要求中所描述的且示例性指出的特征。
附图说明
并入本说明书中并构成本说明书的一部分的附图示出了本发明的一个或多个示例性方面,以及连同详细的描述一起用来阐述这些示例性方面的原理和实现方式。
图1示出根据示例性方面的监控安装在客户端上的软件的执行的系统的框图;
图2示出根据示例性方面的基于对事件的卷积的普及度的评估来检测异常事件的方法的流程图;
图3示出根据示例性方面的形成安全事件的卷积的集合的方法的流程图;
图4示出根据示例性方面的基于安全事件的卷积的集合检测异常事件的方法的流程图;
图5示出根据示例性方面,其上可以实施所公开的系统和方法的通用计算机系统(其可以是个人计算机或服务器)的示例。
具体实施方式
现在参考附图描述各个方面,其中在全文中相同的附图标记始终用于指代相同的元件。在下面的描述中,为了解释的目的,阐述了许多具体细节以促进对一个或多个方面的透彻理解。然而,在一些或所有实例中可以显而易见的是,可以在不采用下面描述的具体设计细节的情况下实践下面描述的任一方面。在其它实例中,以框图形式示出了众所周知的结构和设备,以便于描述一个或多个方面。以下呈现一个或多个方面的简要概述,以便提供对这些方面的基本理解。该概述不是对所有预期方面的广泛概述,并且不旨在标识所有方面的关键的或决定性的要素,也不描绘任何或所有方面的范围。
如本文所述,“模块”(或程序模块)可以被认为是这样的程序对象:其包含扩展已经发起的进程的功能的代码,诸如操作系统内核模块或动态库。
如本文所述,“卷积”可以被视为,例如,事件的特征在其中被卷积成字符串的智能散列,或者也可以是事件的特征在其中被卷积成坐标的向量,等等。一般而言,其是事件的特征(以下称为“特征”)可以卷积成的任何对象,用于对其进行数学和逻辑运算。例如,特征的卷积是将特征任意转换为字符串表示、向量表示、或者字符串表示和向量表示的组合。
本文所描述的“事件”可以是操作系统、服务或网络的特定条件的识别表现。关于事件的信息可以包含在例如来自操作系统(或其一部分)的软件消息中,用于指示发生了什么。换句话说,来自操作系统的事件包括可以影响程序表现的位于程序“外部”的任何事物。应当理解,这些事件可以在程序运行时在任一时刻、以几乎任何顺序发生。此外,根据示例性方面,系统中通常可以有许多种类和许多类型的事件,例如,启动进程、加载模块、文件操作、注册表操作等等。此外,在示例性方面中,事件的上下文是事件发生时操作系统的状态的总体,操作系统的状态直接影响事件的发生。上下文内容的示例将在下面显示。
此外,一般而言,“异常”事件是操作系统、服务或网络的特定条件的指示先前未知的情况的发生的识别表现。在特定情况下,异常事件是安全事件——系统、服务或网络的特定条件的指示可能违反信息安全策略或者防御措施失败的识别表现,或者指示可能与安全性有关的先前未知的状态发生的识别表现。
图1示出根据示例性方面的监控安装在客户端上的软件的执行的系统的框图。如图所示,软件代理110(即,“代理”)安装在客户端100侧。此外,在客户端100的操作系统中,可以安装连接到代理110的一个或多个拦截器120。在特定方面中,如本领域技术人员所已知的,Windows事件追踪(event tracing for Windows,“ETW”)120a可用作拦截器。拦截器120被提供用于检测在操作系统中发生的事件并将该检测结果传达给代理110,例如通过直接向代理110发送通知将该检测结果传达给代理110,和/或通过代理110能够访问的事件日志(图1中未示出,但存储在本地数据库160中)中的条目将该检测结果传达给代理110。
此外,代理110可以接收关于系统中可以由拦截器120检测的所有可能事件的通知,或者仅关于一种关注事件(诸如仅启动进程)的通知。代理110可以包括收集模块130,该收集模块130在代理注册由拦截器120检测的关注事件之后使用。收集模块130获得注册的事件的上下文。在特定情况下,事件的上下文包括事件发生之前的调用堆栈,以及包含在事件发生时正在执行的代码的存储器部分的转储。使用调用堆栈,可以获得以下一者或多者:至少在给定时刻正在执行的程序和正在执行的函数的列表、包含那些程序和函数的模块的列表、以及例如在调用由模块输出的函数时,传输至模块的所有参数的类型和所有参数的值。此外,上下文可以包括关于从至少最后分支记录(Last Branch Record,“LBR”)和分支轨迹存储(Branch Trace Store,“BTS”)(如在Microarchitecture CodenameNehalem Performance Monitoring Unit Programming Guide中所述,其内容通过引用并入本文)——存储缓冲器和寄存器跳转的信息。在这方面,LBR和BTS包含关于程序执行的信息,即跳转的地址、执行分支等(否则保留给定的轨迹)。在特定方面,拦截器120在检测到事件时保留其上下文,该上下文然后将由代理110的收集模块130获得(例如,传送至收集模块130或由收集模块130请求),在这种情况下,收集模块130不需要独立地接收整个所需的上下文或其某一部分。
根据示例性方面,客户端110和服务器200中的一者或两者还可以包括卷积形成模块140。在这方面,由收集模块130获得的上下文被发送到卷积形成模块140。在一种情况下,该上下文可以被发送到存在于客户端100处的卷积形成模块140,在另一种情况下,该上下文可以被发送到服务器200。卷积形成模块140从接收的上下文提取特征(特征的示例在以下描述)并且形成/生成卷积。同样,卷积形成模块140转换事件的上下文(见下文)。如所陈述的,根据示例性方面的卷积采用其最广泛的含义,不仅针对特定散列(其中特征被卷积成字符串)并且针对向量(其中特征被卷积成坐标)以及其它——换句话说,是指事件的特征可以被卷积成的任何对象,以便对其进行数学和逻辑运算。可以使用针对任一给定算法的事件的卷积的形成,其中,例如,如俄罗斯专利公开号RU 2,580,036中所描述的,文件的散列由获得的特征形成,或者,如俄罗斯专利公开号RU 2,614,557中所描述的,可以针对文件形成向量,或针对HTML页面形成向量。俄罗斯专利公开号RU 2,580,036的内容和俄罗斯专利公开号RU 2,614,557的内容通过引用而整体并入本文。
此外,根据示例性方面,比较模块150可以位于服务器200处和/或位于客户端100处。该比较模块150被配置成确定所得到的事件的卷积的普及度,并且将所得到的卷积与其它卷积进行比较,所述其他卷积诸如包含在保存在本地数据库160或远程数据库170中的安全卷积的集合中的卷积,该远程数据库170还与服务器200进行交互。本地数据库160还保存先前检测到的事件(特别是将模块加载到进程中的事件)的事件日志以及上下文。
上述系统用于监控安装在客户端100上的软件的执行。作为这种监控的结果,在操作系统中检测到异常事件,该异常事件可能是利用安装在客户端100上的软件的漏洞的结果。应当注意,本公开中的术语“客户端”100被用在客户端-服务器范例中,即,它是计算架构的元件,而不是网络元件。在本公开中,客户端100是指网络中的任何计算设备,客户端100通过代理110请求由服务器200的接口提供的服务,而服务器200是指客户端100的所述代理110与其交互的任何计算设备,服务器200从代理110获得收集的数据并向代理110发送消息和命令(从而向客户端100提供服务)。接下来,描述可以通过所公开的用于监控安装在客户端100上的软件的执行的系统实现的方法。
图2示出了根据示例性方面的基于对事件的卷积的普及度的评估来检测异常事件的方法的流程图。如图所示,在步骤210中,在客户端100侧的操作系统中启动代理110,该代理110在执行进程期间注册发生在客户端100的操作系统中的事件。接下来,在步骤220中,安装在客户端100的操作系统中且连接至代理110的拦截器120检测在操作系统中发生的事件并将该事件报告给代理110,在步骤230中,代理110注册发生的事件,并且借助于收集模块130接收该事件的上下文。
根据示例性方面,上下文可以包括例如至少在事件发生时的调用堆栈,其中,从该调用堆栈获得至少在给定时刻正在执行的程序和正在执行的函数的列表、包含那些程序和函数的模块的列表、以及传输至模块的所有参数的数据类型和所有参数的值。此外,调用堆栈可以例如包括:包含在事件发生时正在执行的代码的进程的存储器部分(地址空间)的转储、关于从至少LBR和BTS跳转的信息、和/或在事件发生之前加载至进程中的模块的列表,关于该事件发生的信息可例如在本地数据库160中保存的事件日志中访问。
在已经获得上下文之后,在步骤240中,卷积形成模块140从该上下文选择特征,用于根据这些特征形成事件的卷积。在特定情况下,在选择特征之前,需要转换获得的上下文。上下文的转换是一种复杂的方法和算法,其旨在从正在解决的问题和分析的目标的角度优化数据的表示和格式。上下文的转换并未为其设定改变包含上下文的数据的信息内容的目标。执行转换以便以这样一种形式呈现上下文:数据可以最有效地被利用(以下将给出转换的示例)。
根据示例性方面,用于执行卷积的数据的转换例如可以为:量化、排序、合并(粘贴)、分组、数据集配置、数值表格化、可计算的数值、数据编码、归一化(缩放)。
例如,调用堆栈(对于转储也是如此,以下提供了转储的一个示例)以下面的方式进行转换:针对参与调用堆栈的模块获得调试符号;通过使用调试符号对调用堆栈进行归一化。在将调试符号应用于转储的拆分结果之前:
在应用调试符号之后:
借助于拆分和仿真,获得用于获得的转储的一组特征(存在/不存在间接调用,位置独立代码,自修改代码等)。在转换之后,选择特征并形成卷积。如所指出的,使用的特征是:加载的模块的名称及其加载顺序(从事件日志获取)、在给定的时间实现的程序和函数的名称、在调用由模块输出的程序和函数之前传输至这些模块的参数的值(从调用堆栈获取)、跳转信息(从转储、LBR、BTS获取)、存在/不存在间接调用、位置独立代码,自修改代码(转储)。卷积可以由现有技术中已知的任何方法形成。上下文的转换以及卷积的形成既可以在客户端100侧完成,也可以在服务器200侧完成(这对于由监控软件的执行的系统所执行的所有方法都是如此),为了在服务器200侧执行这些操作,客户端100首先将上下文(用于转换)和特征(用于形成卷积)发送到服务器200。在步骤250中,确定在给定时刻的事件的卷积的普及度。根据示例性方面,通过轮询数据库(本地数据库160或远程数据库170)来确定普及度。
此外,根据示例性方面,普及度被视为由特定方法计算的以下项:在正在被确定卷积普及度的当前时刻的事件的检测总数,和/或不管客户端上的检测次数如何,在当前时刻已经检测了在其上正在确定给定事件的卷积普及度的客户端100的数量。换句话说,例如,普及度可以被视为与检测的客户端设备100的事件相对应的多个检测到的事件的频率,以确定事件在多个设备的集合中发生的频率。应当理解,当前时刻可以被认为是某个时间点以及在给定的时间段内(例如,1微秒、1秒等)。
普及度也可以是全局的(在所有可访问的子网内)或局部的(仅在某个子网内的普及度),例如在检测到被调查的事件的子网内。因此,可被访问以确定事件的卷积的普及度的数据库160和数据库170保存了特定号码,在特定情况下该特定号码由服务器200来计算。在步骤260中,如果在当前时刻检测到的事件的卷积的普及度低于阈值,则将在客户端100上检测到的事件判断为异常的。例如,可以由客户端设备100上的代理(例如,比较模块150)和/或服务器200上的比较模块150来执行该确定。如果在步骤260中确定普及度大于阈值,则在步骤270将该事件确定为安全的。否则,如果普及度小于阈值,则在步骤280该事件被认为是异常的。如本文进一步描述的,客户端100可以基于确定检测到的事件是否异常而采取适当的动作。
根据示例性方面,可以存在多种用于确定检测到的事件是否异常的技术。例如,如果事件的卷积的局部普及度低于阈值、事件的卷积的全局普及度低于阈值、和/或事件的卷积的局部和全局普及度低于阈值,则可以将检测到的事件确定为是异常的。
针对事件的卷积的全局普及度和子网(局部)中的普及度的阈值被独立地分配。被判断为异常的事件将在稍后进一步调查,并且如果必要的话,它们将在客户端100上被代理110阻止。例如,如果检测到的事件被确定为是异常的,则客户端设备100(和/或代理110)可以被配置成执行补救动作,例如,删除执行异常事件的软件进程、隔离该软件进程和/或警告客户端设备100的用户该软件进程可能是恶意的。
用于监控软件的执行的系统还用于形成安全事件的卷积(因此,该系统可用于获得任何给定事件的卷积)和安全事件的卷积的集合。该集合可以已经存在,并且之后在执行该方法时仅进行补充,或者该集合也可以不存在,其在执行该方法的过程中被创建并且将开始被填充。
图3示出了根据示例性方面的形成安全事件的卷积的集合的方法的流程图。如本文所使用的,“安全事件”可以被认为是“安全”的事件,其发生不是利用漏洞的结果或执行恶意软件的结果。在步骤300中,在已知安全的至少一个客户端100(安全的客户端是不包含恶意软件且在实施所述方法的过程中无法被利用漏洞所攻击的客户端)侧的操作系统中启动代理110(例如,第一软件代理),该代理110注册在客户端100的操作系统中发生的至少一种事件,其中,事件的种类可以是以下的一个或多个:启动进程、加载模块、文件操作、注册表操作等等。
在步骤310中,安装在客户端100的操作系统中并连接至代理110的拦截器120检测在操作系统中发生的事件。接下来,在步骤320,代理110注册发生的事件,并且通过代理110的收集模块130获得该事件的上下文,上面已经呈现了上下文的一种可能的构成。在步骤330中,卷积形成模块140从上下文选择特征,并且卷积形成模块140基于选择的特征形成事件的卷积,然后在步骤340,卷积形成模块140将事件的卷积添加至安全事件的卷积的集合。在特定情况下,步骤330至步骤340在服务器200上执行(为此,在步骤320中从客户端100获得的上下文以“原始”的形式或已经转换的形式被转发到服务器),并且,安全事件的卷积的集合保存在远程数据库170中,并且之后可以被加载到任何给定的客户端100上,或者客户端100可以组织对数据库170的轮询,而不必将整个集合加载到本地数据库160中。
安全事件的卷积的集合用于检测客户端100上的异常事件。该集合本身可以本地存储在数据库160中或远程存储在远程数据库170中,该远程数据库170可以被客户端100访问。
图4示出了根据示例性方面的基于安全事件的卷积的集合检测异常事件的方法的流程图。类似地,如在所有其它方法中一样,在步骤400中,在客户端100侧的操作系统中启动另一代理110(例如,第二软件代理),该代理110注册在客户端100的操作系统中发生的事件,在步骤410中,安装在操作系统中并连接到代理110的拦截器120检测在操作系统中发生的事件。例如,在示例性方面中,这些新事件可以被认为是“未分类的”,因为尚未确定它们是异常的还是安全的。接下来,在步骤420,代理110注册发生的未分类事件,并获得该事件的上下文,上面已经呈现了上下文的一种可能的构成。在步骤430中,从上下文选择特征,并且基于选择的特征,形成未分类事件的卷积。在步骤440中,将获得的未分类事件的卷积与先前形成的来自由上述方法形成的集合的安全事件的卷积的群组进行比较。接下来,在步骤450,如果通过比较,检测到的事件的形成的卷积不与来自所指示的安全事件的集合的事件的卷积的群组中任何事件的卷积匹配,则将该未分类事件判定为是异常的。否则,例如,如步骤460所示,认为该未分类事件是安全的。在一个方面中,如果该未分类事件被确定为是异常的,则可以从客户端设备删除或隔离与该未分类事件相关联的软件进程。
通常,在本公开中,可以通过使用例如以下项来实现代理110、拦截器120、收集模块130、卷积形成模块140和比较模块150:实际设备、系统、部件、利用诸如集成微电路(专用集成电路(application-specific integrated circuits,ASIC))或现场可编程门阵列(field-programmable gate arrays,FPGA)的硬件或者例如以软件和硬件结合的形式(诸如微处理器系统和程序指令集)实现的一组部件、以及在神经突触芯片上的一组部件。代理110、拦截器120、收集模块130、卷积形成模块140和比较模块150的功能可以完全由硬件实现,也可以以硬件和软件组合的形式实现,其中一些功能通过软件实现,而一些功能通过硬件实现。在一些变型方面中,代理110、拦截器120、收集模块130、卷积形成模块140和比较模块150的一部分可以在通用计算机(诸如图5所示和以下描述的通用计算机)的处理器上实现,这也适用于客户端100和服务器200。
特别地,图5示出了通用计算机系统(其可以是个人计算机或服务器)的示例,根据示例性方面,所公开的系统和方法可以在该通用计算机系统上实现。如图所示,该计算机系统20包括中央处理单元21、系统存储器22和连接各种系统部件的系统总线23,各种系统部件包括与中央处理单元21相关联的存储器。系统总线23像现有技术已知的任何总线结构一样来实现,该总线结构依次包括总线存储器或总线存储器控制器、外围总线和本地总线,系统总线23能够与任何其它总线架构交互。系统存储器包括只读存储器(ROM)24和随机存取存储器(RAM)25。基本输入/输出系统(basic input/output system,BIOS)26包括确保在个人计算机20的元件之间的信息传输的基本程序,例如在使用ROM 24加载操作系统时的那些基本程序。
然后,个人计算机20包括用于数据的读取和写入的硬盘27、用于在可移动磁盘29上读取和写入的磁盘驱动器28和用于在可移动光盘31(例如CD-ROM、DVD-ROM和其它的光学信息介质)上读取和写入的光盘驱动器30。硬盘27、磁盘驱动器28、和光盘驱动器30分别经过硬盘接口32、磁盘接口33和光盘驱动器接口34而连接到系统总线23。驱动器和对应的计算机信息介质为用于存储个人计算机20的计算机指令、数据结构、程序模块和其它数据的电源独立的模块。
本发明提供了使用硬盘27、可移动磁盘29和可移动光盘31的系统的实现方式,但是应当理解的是,可以采用能够以计算机可读的形式存储数据的其它类型的计算机信息介质56(固态驱动器、闪存卡、数字盘、随机存取存储器(RAM)等),该其它类型的计算机信息介质56经由控制器55连接到系统总线23。
计算机20具有保存记录的操作系统35的文件系统36、以及另外的程序应用37、其它的程序模块38和程序数据39。用户能够通过使用输入设备(键盘40、鼠标42)将命令和信息输入到个人计算机20中。可以使用其它的输入设备(未示出):麦克风、操纵杆、游戏控制器、扫描器等等。这样的输入设备通常通过串行端口46而插接到计算机系统20中,该串行端口46转而连接至系统总线,但这样的输入设备可以以其它方式(例如借助于并行端口、游戏端口或通用串行总线(USB))被连接。监控器47或其它类型的显示设备也经过接口(诸如视频适配器48)连接至系统总线23。除了监控器47外,个人计算机还可以配备有其它的外围输出设备(未示出),诸如扬声器、打印机等。
个人计算机20能够使用与一个或多个远程计算机49的网络连接,在网络环境中操作。一个或多个远程计算机49也是个人计算机或服务器,其具有在描述个人计算机20的性质时使用的上述元件中的大多数元件或全部元件。其它的设备也可以存在于计算机网络中,例如路由器、网站、对等设备或其它的网络节点。
网络连接可以形成计算机局域网(Local-Area Network,LAN)50(诸如有线和/或无线网络)和计算机广域网(Wide-Area Network,WAN)。这种网络用在企业计算机网络和公司内部网络中,并且它们通常有权访问因特网。在LAN或WAN网络中,个人计算机20通过网络适配器或网络接口51连接到局域网50。当使用网络时,个人计算机20可以采用调制解调器54或其它模块,用于提供与计算机广域网(例如因特网)的通信。作为内部设备或外部设备的调制解调器54通过串行端口46连接至系统总线23。应当注意的是,网络连接仅仅是示例并且不需要描述网络的准确配置,即实际上具有通过技术通信模块(诸如蓝牙)建立一个计算机到另一个计算机的连接的其它方式。
在各个方面中,本文中所描述的系统和方法可以以硬件、软件、固件或它们的任何组合来实施。如果以软件来实施,则上述方法可以作为一个或多个指令或代码而被存储在非暂时性计算机可读介质上。计算机可读介质包括数据存储器。以示例性而非限制性的方式,这种计算机可读介质可以包括RAM,ROM,EEPROM,CD-ROM,闪存或其它类型的电存储介质、磁存储介质或光存储介质,或可用来携带或存储所期望的指令或数据结构形式的程序代码并可以被通用计算机的处理器访问的任何其它介质。
为了清楚起见,本文中没有公开各个方面的所有例程特征。应当领会的是,在本发明的任何实际的实现方式的开发中,必须做出许多特定实现方式的决定,以便实现开发者的特定目标,并且这些特定目标将对于不同的实现方式和不同的开发者变化。应当领会的是,这种开发努力会是复杂的且费时的,但对于了解本发明的优点的本领域的普通技术人员来说仍然是工程的例行任务。
此外,应当理解的是,本文中所使用的措辞或术语出于描述而非限制的目的,从而本说明书的术语或措辞应当由本领域技术人员根据本文中所提出的教导和指导结合相关领域技术人员的知识来解释。此外,不旨在将本说明书或权利要求中的任何术语归于不常见的或特定的含义,除非明确如此阐述。
本文中所公开的各个方面包括本文中以说明性方式所引用的已知模块的现在和未来知道的等同物。此外,尽管已经示出并描述了各个方面和应用,但是对于了解本发明的优点的本领域技术人员将显而易见的是,在不脱离本文中所公开的发明构思的情况下,相比于上文所提及的内容而言的更多修改是可行的。
Claims (25)
1.一种用于检测计算设备的操作系统中的异常事件的方法,所述方法包括:
通过至少一个拦截器检测在所述操作系统中发生的与软件进程的执行相关的事件;
通过代理注册检测到的所述事件以及获得与所述软件进程的执行相关的所述事件的上下文;
基于所述事件的一个或多个识别特征,生成所述事件的卷积;
使用比较模块确定生成的所述事件的所述卷积的普及度;以及
响应于确定所生成的所述卷积的所述普及度小于阈值,将检测到的所述事件分类为异常的。
2.根据权利要求1所述的方法,其中,所述事件的所述上下文包括在所述事件发生时直接影响所述事件的发生的所述操作系统的状态的总体,其中,所述事件于在所述操作系统中执行软件进程时发生。
3.根据权利要求1所述的方法,其中,所述事件的所述上下文包括在所述事件发生时调用的堆栈。
4.根据权利要求3所述的方法,还包括:
从所述调用的堆栈获得在给定时刻正在执行的程序和正在执行的函数的列表、包含所述程序和所述函数的模块的列表、以及正在所述模块中传输的所有参数的数据类型和所有参数的值。
5.根据权利要求3所述的方法,其中,所述事件的所述上下文还包括在所述事件发生之前加载至所述软件进程中的模块的列表。
6.根据权利要求5所述的方法,其中,来自所述模块的列表的至少一个模块是包含扩展已经发起的进程的功能的代码的软件对象。
7.根据权利要求5所述的方法,其中,所述模块的列表包括所述操作系统的内核的模块和动态库。
8.根据权利要求1所述的方法,其中,所述事件的所述上下文包括所述软件进程的存储器部分的转储,所述软件进程包含在所述事件发生时执行的代码。
9.根据权利要求8所述的方法,还包括:
将从所述软件进程的所述存储器部分的所述转储获得的一个或多个特征作为所述事件的所述识别特征,所述一个或多个特征包括存在间接调用、不存在间接调用、位置独立代码以及自修改代码。
10.根据权利要求1所述的方法,其中,所述事件的所述上下文包括关于从最后分支记录设备和分支轨迹存储中的至少一者跳转的信息。
11.根据权利要求1所述的方法,其中,所述拦截器包括至少一个事件追踪模块。
12.根据权利要求1所述的方法,其中,所述通过代理注册检测到的所述事件以及获得与所述软件进程的执行相关的所述事件的上下文还包括:
执行所获得的所述上下文的转换,所述转换以允许识别所述事件的所述特征的形式表现所述上下文。
13.根据权利要求12所述的方法,其中,所述转换包括以下至少一者:量化所选择的特征、对所选择的特征进行排序、合并所选择的特征、粘贴所选择的特征、对所选择的特征进行分组、配置所选择的特征的数据集、数值的表格替换、计算所选择的特征的值、数据编码所选择的特征、以及归一化所选择的特征。
14.根据权利要求12所述的方法,其中,所述转换包括归一化所选择的特征,以及在归一化所选择的特征中,获得关于针对参与调用的堆栈的模块的调试符号以及与所述软件进程相关的存储器部分的转储的信息以用于归一化。
15.根据权利要求12所述的方法,其中,使用拆分和仿真转换所述上下文。
16.根据权利要求15所述的方法,其中,所述识别特征包括以下至少一者:存在间接调用、不存在间接调用、位置独立代码以及自修改代码。
17.根据权利要求1所述的方法,其中,在检测到所述事件的所述计算设备所位于的子网的环境中确定所述卷积的所述普及度。
18.根据权利要求1所述的方法,还包括确定所述事件的所述卷积的全局普及度。
19.根据权利要求1所述的方法,其中,确定所述事件的所述卷积的所述普及度包括:
查询包含关于事件的所述卷积的所述普及度的信息的数据库,
响应于确定所述数据库中不存在关于所述普及度的信息,从网络中收集关于检测到的事件的数目以及当前正在进行所述收集的客户端的总数的信息,之后计算所述普及度。
20.根据权利要求1所述的方法,其中,步骤(a)检测在所述操作系统中发生的与所述软件进程的执行相关的事件,以及步骤(b)注册检测到的所述事件以及获得与所述软件进程的执行相关的所述事件的所述上下文,由作为客户端-服务器系统中的客户端的所述计算设备执行;其中,步骤(c)基于所述事件的一个或多个识别特征,生成所述事件的所述卷积,步骤(d)使用所述比较模块确定生成的所述事件的所述卷积的所述普及度,以及步骤(e)响应于确定生成的所述卷积的所述普及度小于阈值,将检测到的所述事件分类为异常的,由所述客户端-服务器系统中的服务器执行,
其中,基于所述事件的一个或多个识别特征,生成所述事件的所述卷积还包括:通过所述服务器从所述客户端上的所述代理获得所述事件的所述上下文。
21.根据权利要求1所述的方法,其中,步骤(a)检测在所述操作系统中发生的与所述软件进程的执行相关的事件,以及步骤(b)注册检测到的所述事件以及获得与所述软件进程的执行相关的所述事件的所述上下文,以及步骤(c)基于所述事件的一个或多个识别特征,生成所述事件的所述卷积,由作为客户端-服务器系统中的客户端的所述计算设备执行,
其中,步骤(d)使用所述比较模块确定生成的所述事件的所述卷积的所述普及度,以及步骤(e)响应于确定生成的所述卷积的所述普及度小于阈值,将检测到的所述事件分类为异常的,由所述客户端-服务器系统中的服务器执行,
以及其中,通过所述服务器从所述客户端上的所述代理获得生成的所述卷积。
22.根据权利要求1所述的方法,其中,所述卷积包括所述事件的散列和所述事件在欧几里得空间中的向量中的至少一者。
23.一种用于检测计算设备的操作系统中的异常事件的系统,所述系统包括:
客户端设备,所述客户端设备包括安装在所述操作系统中的代理以及至少一个拦截器,其中,所述客户端设备被配置为:
通过所述至少一个拦截器检测在所述操作系统中发生的与软件进程的执行相关的事件,以及
通过所述代理注册检测到的所述事件以及获得与所述软件进程的执行相关的所述事件的上下文;和
服务器,所述服务器被配置为:
获得基于所述事件的一个或多个识别特征生成的所述事件的卷积,
使用比较模块确定生成的所述事件的所述卷积的普及度,以及
响应于确定生成的所述卷积的所述普及度小于阈值,将检测到的所述事件分类为异常的。
24.根据权利要求23所述的系统,其中,所述事件的所述卷积通过所述客户端设备基于所述事件的一个或多个识别特征生成以及使用所述代理从所述客户端设备获得。
25.根据权利要求23所述的系统,其中,所述事件的所述卷积通过所述服务器基于所述事件的一个或多个识别特征生成,其中,所述事件的所述上下文通过所述服务器从所述客户端设备上的所述代理获得。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2017121120A RU2651196C1 (ru) | 2017-06-16 | 2017-06-16 | Способ обнаружения аномальных событий по популярности свертки события |
US15/720,334 | 2017-09-29 | ||
US15/720,334 US10489586B2 (en) | 2017-06-16 | 2017-09-29 | System and method of detecting anomalous events |
US16/015,654 US10558801B2 (en) | 2017-06-16 | 2018-06-22 | System and method for detection of anomalous events based on popularity of their convolutions |
US16/015,654 | 2018-06-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109583194A true CN109583194A (zh) | 2019-04-05 |
CN109583194B CN109583194B (zh) | 2023-08-22 |
Family
ID=61976793
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710979748.4A Active CN109145592B (zh) | 2017-06-16 | 2017-10-19 | 检测异常事件的系统和方法 |
CN201810750538.2A Active CN109583194B (zh) | 2017-06-16 | 2018-07-10 | 用于基于事件的卷积的普及度检测异常事件的系统和方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710979748.4A Active CN109145592B (zh) | 2017-06-16 | 2017-10-19 | 检测异常事件的系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (5) | US10489586B2 (zh) |
EP (1) | EP3416083B1 (zh) |
JP (2) | JP6698056B2 (zh) |
CN (2) | CN109145592B (zh) |
RU (1) | RU2651196C1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2574209B (en) * | 2018-05-30 | 2020-12-16 | F Secure Corp | Controlling Threats on a Computer System by Searching for Matching Events on other Endpoints |
WO2019236088A1 (en) * | 2018-06-07 | 2019-12-12 | Hewlett-Packard Development Company, L.P. | Comparing a generated event with a received record |
US10911479B2 (en) | 2018-08-06 | 2021-02-02 | Microsoft Technology Licensing, Llc | Real-time mitigations for unfamiliar threat scenarios |
US10826756B2 (en) * | 2018-08-06 | 2020-11-03 | Microsoft Technology Licensing, Llc | Automatic generation of threat remediation steps by crowd sourcing security solutions |
CN109886016B (zh) * | 2018-12-27 | 2021-01-12 | 慧安金科(北京)科技有限公司 | 用于检测异常数据的方法、设备和计算机可读存储介质 |
US11055405B1 (en) * | 2019-04-30 | 2021-07-06 | Splunk Inc. | Anomaly event detection using frequent patterns |
WO2021144978A1 (ja) * | 2020-01-17 | 2021-07-22 | 三菱電機株式会社 | 攻撃推定装置、攻撃推定方法及び攻撃推定プログラム |
CN112364284B (zh) * | 2020-11-23 | 2024-01-30 | 北京八分量信息科技有限公司 | 基于上下文进行异常侦测的方法、装置及相关产品 |
US12039017B2 (en) | 2021-10-20 | 2024-07-16 | Palo Alto Networks (Israel Analytics) Ltd. | User entity normalization and association |
US20230269256A1 (en) * | 2022-02-21 | 2023-08-24 | Palo Alto Networks (Israel Analytics) Ltd. | Agent prevention augmentation based on organizational learning |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090300761A1 (en) * | 2008-05-28 | 2009-12-03 | John Park | Intelligent Hashes for Centralized Malware Detection |
US20130263206A1 (en) * | 2012-03-30 | 2013-10-03 | Nokia Corporation | Method and apparatus for policy adaption based on application policy compliance analysis |
US8839435B1 (en) * | 2011-11-04 | 2014-09-16 | Cisco Technology, Inc. | Event-based attack detection |
US9166997B1 (en) * | 2013-09-19 | 2015-10-20 | Symantec Corporation | Systems and methods for reducing false positives when using event-correlation graphs to detect attacks on computing systems |
US20170124319A1 (en) * | 2015-10-29 | 2017-05-04 | International Business Machines Corporation | Using call stack snapshots to detect anomalous computer behavior |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5023341A (en) * | 1989-09-19 | 1991-06-11 | Allergan, Inc. | Compounds having a disubstituted acetylene moiety and retinoic acid-like biological activity |
US7448084B1 (en) * | 2002-01-25 | 2008-11-04 | The Trustees Of Columbia University In The City Of New York | System and methods for detecting intrusions in a computer system by monitoring operating system registry accesses |
US7246156B2 (en) * | 2003-06-09 | 2007-07-17 | Industrial Defender, Inc. | Method and computer program product for monitoring an industrial network |
US8549638B2 (en) * | 2004-06-14 | 2013-10-01 | Fireeye, Inc. | System and method of containing computer worms |
WO2008055156A2 (en) * | 2006-10-30 | 2008-05-08 | The Trustees Of Columbia University In The City Of New York | Methods, media, and systems for detecting an anomalous sequence of function calls |
JP5081480B2 (ja) | 2007-03-28 | 2012-11-28 | 株式会社エヌ・ティ・ティ・ドコモ | ソフトウェア挙動モデル化装置、ソフトウェア挙動モデル化方法、ソフトウェア挙動検証装置及びソフトウェア挙動検証方法 |
US8566943B2 (en) * | 2009-10-01 | 2013-10-22 | Kaspersky Lab, Zao | Asynchronous processing of events for malware detection |
US9298910B2 (en) | 2011-06-08 | 2016-03-29 | Mcafee, Inc. | System and method for virtual partition monitoring |
US8584235B2 (en) * | 2011-11-02 | 2013-11-12 | Bitdefender IPR Management Ltd. | Fuzzy whitelisting anti-malware systems and methods |
CN107103238A (zh) * | 2012-02-29 | 2017-08-29 | 卡巴斯基实验室封闭式股份公司 | 用于保护计算机系统免遭恶意对象活动侵害的系统和方法 |
CA2809516C (en) | 2013-03-13 | 2016-11-08 | Khalid Nawaf Alharbi | Preventing stack buffer overflow attacks |
US9355247B1 (en) | 2013-03-13 | 2016-05-31 | Fireeye, Inc. | File extraction from memory dump for malicious content analysis |
RU2580036C2 (ru) | 2013-06-28 | 2016-04-10 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ создания гибкой свертки для обнаружения вредоносных программ |
US9652362B2 (en) * | 2013-12-06 | 2017-05-16 | Qualcomm Incorporated | Methods and systems of using application-specific and application-type-specific models for the efficient classification of mobile device behaviors |
US10284591B2 (en) | 2014-01-27 | 2019-05-07 | Webroot Inc. | Detecting and preventing execution of software exploits |
US9977897B2 (en) | 2014-07-16 | 2018-05-22 | Leviathan Security Group, Inc. | System and method for detecting stack pivot programming exploit |
US9710648B2 (en) * | 2014-08-11 | 2017-07-18 | Sentinel Labs Israel Ltd. | Method of malware detection and system thereof |
RU2614557C2 (ru) * | 2015-06-30 | 2017-03-28 | Закрытое акционерное общество "Лаборатория Касперского" | Система и способ обнаружения вредоносных файлов на мобильных устройствах |
RU2634173C1 (ru) | 2016-06-24 | 2017-10-24 | Акционерное общество "Лаборатория Касперского" | Система и способ обнаружения приложения удалённого администрирования |
-
2017
- 2017-06-16 RU RU2017121120A patent/RU2651196C1/ru active
- 2017-09-29 US US15/720,334 patent/US10489586B2/en active Active
- 2017-10-05 US US15/725,693 patent/US10528727B2/en active Active
- 2017-10-13 JP JP2017198983A patent/JP6698056B2/ja active Active
- 2017-10-13 EP EP17196437.2A patent/EP3416083B1/en active Active
- 2017-10-19 CN CN201710979748.4A patent/CN109145592B/zh active Active
-
2018
- 2018-06-22 US US16/015,654 patent/US10558801B2/en active Active
- 2018-07-10 CN CN201810750538.2A patent/CN109583194B/zh active Active
- 2018-07-11 JP JP2018131263A patent/JP6726706B2/ja active Active
-
2019
- 2019-12-03 US US16/701,556 patent/US11216555B2/en active Active
- 2019-12-17 US US16/717,045 patent/US11366896B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090300761A1 (en) * | 2008-05-28 | 2009-12-03 | John Park | Intelligent Hashes for Centralized Malware Detection |
US8839435B1 (en) * | 2011-11-04 | 2014-09-16 | Cisco Technology, Inc. | Event-based attack detection |
US20130263206A1 (en) * | 2012-03-30 | 2013-10-03 | Nokia Corporation | Method and apparatus for policy adaption based on application policy compliance analysis |
US9166997B1 (en) * | 2013-09-19 | 2015-10-20 | Symantec Corporation | Systems and methods for reducing false positives when using event-correlation graphs to detect attacks on computing systems |
US20170124319A1 (en) * | 2015-10-29 | 2017-05-04 | International Business Machines Corporation | Using call stack snapshots to detect anomalous computer behavior |
Also Published As
Publication number | Publication date |
---|---|
JP6698056B2 (ja) | 2020-05-27 |
JP6726706B2 (ja) | 2020-07-22 |
US20200104487A1 (en) | 2020-04-02 |
JP2019079492A (ja) | 2019-05-23 |
CN109583194B (zh) | 2023-08-22 |
EP3416083B1 (en) | 2020-01-15 |
EP3416083A1 (en) | 2018-12-19 |
CN109145592B (zh) | 2022-09-13 |
US10489586B2 (en) | 2019-11-26 |
US20180365419A1 (en) | 2018-12-20 |
US10528727B2 (en) | 2020-01-07 |
JP2019003598A (ja) | 2019-01-10 |
RU2651196C1 (ru) | 2018-04-18 |
US11366896B2 (en) | 2022-06-21 |
US20180365415A1 (en) | 2018-12-20 |
US20180365416A1 (en) | 2018-12-20 |
US10558801B2 (en) | 2020-02-11 |
CN109145592A (zh) | 2019-01-04 |
US20200125726A1 (en) | 2020-04-23 |
US11216555B2 (en) | 2022-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109583194A (zh) | 用于基于事件的卷积的普及度检测异常事件的系统和方法 | |
Aggarwal et al. | Black box fairness testing of machine learning models | |
Tang et al. | Nodemerge: Template based efficient data reduction for big-data causality analysis | |
US10701091B1 (en) | System and method for verifying a cyberthreat | |
US11218510B2 (en) | Advanced cybersecurity threat mitigation using software supply chain analysis | |
US11263071B2 (en) | Enabling symptom verification | |
US9237161B2 (en) | Malware detection and identification | |
US20100192222A1 (en) | Malware detection using multiple classifiers | |
CN104303189B (zh) | 用于确定应用程序漏洞的系统及方法 | |
Yerima et al. | Longitudinal performance analysis of machine learning based Android malware detectors | |
Zhao et al. | Attack tree based android malware detection with hybrid analysis | |
CN113168472A (zh) | 基于利用的网络安全漏洞修复方法及系统 | |
WO2021045846A1 (en) | Cybersecurity vulnerability classification and remediation based on installation base | |
US20170126530A1 (en) | Mechanism for analysing correlation during performance degradation of an application chain | |
Chen et al. | Invariants based failure diagnosis in distributed computing systems | |
CN113162794A (zh) | 下一步攻击事件预测方法及相关设备 | |
CN109409089A (zh) | 一种基于虚拟机自省的Windows加密型勒索软件检测方法 | |
Anand et al. | HiPeR-Early detection of a ransomware attack using hardware performance counters | |
Gantikow et al. | Container anomaly detection using neural networks analyzing system calls | |
CN108427882B (zh) | 基于行为特征抽取的安卓软件动态分析检测法 | |
CN112367336B (zh) | webshell拦截检测方法、装置、设备及可读存储介质 | |
Jiang et al. | Mrdroid: A multi-act classification model for android malware risk assessment | |
Qiu et al. | Keep calm and know where to focus: Measuring and predicting the impact of android malware | |
CN116232686B (zh) | 网络攻击防御模型建立方法、装置、电子设备及存储介质 | |
US20230104673A1 (en) | Machine learning outputs with high confidence explanations |
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 |