CN111712817A - 用于基于系统调用的进程监视的空间和时间卷积网络 - Google Patents
用于基于系统调用的进程监视的空间和时间卷积网络 Download PDFInfo
- Publication number
- CN111712817A CN111712817A CN201880089520.0A CN201880089520A CN111712817A CN 111712817 A CN111712817 A CN 111712817A CN 201880089520 A CN201880089520 A CN 201880089520A CN 111712817 A CN111712817 A CN 111712817A
- Authority
- CN
- China
- Prior art keywords
- spatial
- temporal
- count
- output
- filters
- 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 182
- 230000008569 process Effects 0.000 title claims abstract description 166
- 230000002123 temporal effect Effects 0.000 title claims abstract description 91
- 238000012544 monitoring process Methods 0.000 title description 3
- 239000013598 vector Substances 0.000 claims abstract description 174
- 238000001514 detection method Methods 0.000 claims abstract description 52
- 238000012545 processing Methods 0.000 claims description 15
- 238000012549 training Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 23
- 238000004891 communication Methods 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
Images
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/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/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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
提供了利用计数向量来检测恶意进程的系统和方法。计数向量存储进程在可配置的时间间隔中执行的系统调用的数目和类型。计数向量被提供到时间卷积网络和空间卷积网络。时间卷积网络通过使计数向量经过识别进程的时间特征的时间过滤器来生成时间输出。空间卷积网络通过使计数向量经过识别进程的空间特征的空间过滤器来生成空间输出。时间输出和空间输出被合并成进程的概要表示。恶意软件检测系统使用概要表示来确定进程为恶意进程。
Description
相关申请的交叉引用
本申请是2017年12月18日递交的美国专利申请15/845,199号的延续案并要求其优先权,这里通过引用将该美国专利申请完全并入。
技术领域
本公开概括而言涉及检测恶意软件,更具体而言涉及通过在卷积网络中处理表示系统调用的计数向量来检测恶意软件。
背景技术
传统恶意软件检测系统通过识别由进程生成的系统调用的踪迹,然后对照已知的良性或恶意进程比较这些踪迹来检测恶意进程。这种恶意软件检测系统通常在执行该进程的同一计算设备上运行。然而,这种恶意软件检测系统在数千个进程每秒生成数百万个系统调用的网络环境中将不会起作用。另外,过滤系统调用踪迹中的一些不是一个解决方案,因为恶意软件检测系统可利用过滤的系统调用踪迹来误分类恶意进程。
附图说明
图1是其中可实现恶意软件检测系统的示范性系统。
图2是根据一实施例的向量生成器的框图。
图3A是根据一实施例的计数向量的框图。
图3B是根据一实施例的将系统调用类型映射到计数向量中的元素的计数向量的框图。
图3C-3D是根据一实施例的将系统调用的序列映射到计数向量的计数向量的框图。
图4是根据一实施例的恶意软件检测系统的框图。
图5A是根据一实施例的时间卷积网络的框图。
图5B是根据一实施例的空间卷积网络的框图。
图6是根据一实施例的合并时间卷积网络的输出和空间卷积网络的输出的合并器的框图。
图7是根据一实施例的完全连接模块的框图。
图8是根据一实施例的用于识别恶意进程的方法的流程图。
图9是根据一实施例的适用于实现图1-图8中的一个或多个组件的计算机系统的框图。
通过参考接下来的详细描述最好地理解本公开的实施例及其优点。应当明白,相似的附图标记被用于标识一幅或多幅附图中图示的相似元素,其中的展示是为了图示本公开的实施例,而不是为了对其进行限制。
具体实施方式
下面记载的详细描述结合附图打算作为对各种配置的描述,而并不打算表示可实现本文描述的构思的唯一配置。详细描述包括用于提供对各种构思的透彻理解的具体细节。然而,本领域技术人员将清楚,没有这些具体细节也可实现这些构思。在一些情况中,以框图形式示出了公知的结构和组件以避免模糊这种构思。
系统和方法提供了使用被聚集成计数向量的进程踪迹来确定恶意进程的恶意软件检测系统。进程踪迹是由在计算设备或服务器上执行的进程生成的系统调用的踪迹。系统调用是进程对在计算设备上执行的操作系统作出的对系统资源的请求。示例系统资源可以是处理器时间、存储器访问、对文件系统的访问,等等。
在一实施例中,在预定的时间间隔中由进程生成的系统调用可被聚集成计数向量。每个计数向量可包括由单个进程生成的计数向量。每个计数向量也可被划分成多个分量,使得计数向量的每个分量映射到系统调用的某个类型。另外,每个分量也可被赋予默认值。随着进程在预定的时间间隔期间生成系统调用,与系统调用的某个类型相对应的分量的值被递增一。这样,计数向量表示进程在预定的时间间隔中生成的系统调用的数目和类型。示例时间间隔可以是一秒。
在一实施例中,本文描述的恶意软件检测模块使用计数向量来确定进程是否是或者是否包括恶意软件。为了确定进程是否是或者是否包括恶意软件,恶意软件检测模块包括时间卷积网络和空间卷积网络。时间卷积网络包括时间过滤器。时间过滤器利用时间特征对计数向量过滤。空间卷积网络包括空间过滤器。空间过滤器利用空间特征对计数向量过滤。在一实施例中,恶意软件检测模块还包括合并器。合并器将时间卷积网络产生的输出和空间卷积网络产生的输出合并成进程的概要表示。恶意软件检测模块随后基于概要表示来将进程分类为恶意进程。
图1是其中可实现实施例的示范性系统100。系统100包括网络102。网络102可被实现为单个网络或者多个网络的组合。例如,在各种实施例中,网络102可包括互联网或者一个或多个内联网、陆线网络、无线网络和/或其他适当类型的网络。网络102可以是小规模通信网络,例如私有或局域网,或者更大规模的网络,例如广域网,其可被系统100的各种组件访问。
可访问网络102的各种组件可以是计算设备104和服务器106。计算设备104可以是在用户的控制下并且被配置为从服务器106发送、接收和操纵数据的便携的和非便携的电子设备。示例计算设备104包括桌面型计算机、膝上型计算机、平板设备、智能电话、可穿戴计算设备、包含计算设备的眼镜、可植入计算设备,等等。
计算设备104可包括一个或多个应用108。应用108可被预安装在计算设备104上,被利用诸如致密盘或指状储存器之类的便携式存储器存储设备安装在计算设备104上,或者被从如下所述可以是服务器106之一的服务提供商服务器下载到计算设备104。应用108可在计算设备104上被执行并且从用户、从服务器106或者从其他计算设备104接收指令和数据。
安装在计算设备104上的示例应用108可以是电子交易应用。电子交易应用可被配置为通过计算机网络在全世界进行交易。另外,应用108可为支付服务提供商、电话服务提供商、社交网络服务提供商和/或其他服务提供商所拥有或者受其控制,其中支付服务提供商例如是美国加州圣何塞的贝宝TM公司(PAYPALTM,Inc)。应用108也可以是分析应用。分析应用基于当前和历史数据执行业务逻辑、提供服务并且测量和改善在计算设备104上执行的其他应用的服务和功能的性能。在另一示例中,应用108可以是用于实现客户端侧安全性特征的安全性应用,用于通过网络102与适当的应用编程接口(application programminginterface,API)相接口的程序化客户端应用,诸如电子邮件、短消息、语音和允许用户通过网络102发送和接收电子邮件、呼叫、文本和其他通知的即时消息传递应用之类的通信应用。在另外一个实施例中,应用108可以是位置检测应用,例如地图、罗盘和/或全球定位系统(global positioning system,GPS)应用。另外,应用108可以是社交网络应用和/或商家应用。在另外一个实施例中,应用108可以是允许计算设备104的用户接收、请求和/或查看关于产品和/或服务的信息并且还允许用户购买所选的产品和/或服务的服务应用。
在一实施例中,应用108可利用计算设备104中包括的许多组件来显示、接收输入、存储数据以及与网络102通信。示例组件在图9中详细论述。
如上所述,服务器106也连接到网络102。示例服务器106可以是包括用于大规模处理的硬件和软件的计算设备。在另一示例中,服务器106可以是安装在计算设备上的计算机程序,其向安装在多个计算设备104上的应用108提供服务。在一实施例中,服务器106可由服务提供商(例如PAYPALTM、电话服务提供商、社交网络服务和/或其他服务提供商)维护。在一实施例中,服务器106也可包括应用110或者与应用110耦合。应用110可以是在计算设备104上执行的应用108的对方。应用110可接收、处理和发送从应用108发送来的内容的数据,包括交易请求。从而,应用110也可以是被配置为促进用于处理交易请求的数据(例如,用于商品和服务的支付的电子资金)的传送、管理金钱花费等等的应用。在一实施例中,应用110也可以是被配置为实现客户端侧安全性特征的安全性应用或者用于通过网络102与适当的应用编程接口(API)相接口的程序化客户端应用。在另一实施例中,应用110可以是执行电子邮件、短消息、语音和允许用户通过网络102发送和接收电子邮件、呼叫、文本和其他通知的即时消息传递功能的通信应用。在另外一个实施例中,应用110可以是位置检测应用,例如地图、罗盘和/或GPS应用。
在一实施例中,当应用108向应用110发送对不同交易的请求和/或数据时,应用110处理这些交易。交易可以采取通过网络102传输的一个或多个消息的形式。在另一实施例中,为了处理由应用108请求的交易,应用110可经由支付处理应用112来请求支付。应用112可与应用110在相同或不同服务器106上。例如,支付处理应用112可接收来自应用108和/或应用110的交易,这些交易使得支付处理应用112将使用应用108的用户的资金传送到与应用110相关联的服务提供商。
在一实施例中,支付处理应用112可由支付提供商(例如PAYPALTM)、金融服务提供商、信用卡提供商、银行或其他支付提供商来维护,它们可向用户提供用户账户服务和/或支付服务。
在一实施例中,随着应用108、110和112处理用户请求、交易等等,恶意软件可被安装在应用108、110和/或112、执行应用108、110和/或112的计算设备104和/或服务器106内。恶意软件可以是例如收集信息、获得对私有计算机资源和/或用户的敏感信息的访问的进程、应用等等。恶意软件也可通过显示不想要的广告、对文件加密并扣住解密密钥索要赎金、偷窃信息、暗中监视用户、敲诈支付、蓄意毁坏计算设备104或服务器106的功能等等来破坏计算设备104的正常功能。示例恶意软件可包括计算机病毒、计算机蠕虫、“特洛伊木马”、勒索软件、间谍软件、广告软件、恐吓性软件等等。另外,示例的已知恶意软件可包括Regin、Stuxnet、CryptoLocker等等。在一实施例中,恶意软件可使得应用108、110和/或112进行欺诈性交易、访问用户数据、将用户数据发送到未授权的第三方、损坏计算机存储器,等等。
确定恶意软件是否存在于应用108、110和/或112内或者伪装为应用108、110和/或112的一种方式是监视和分析由应用108、110和/或112生成的进程踪迹。进程踪迹可追踪由应用108、110和/或112生成的系统调用。在一实施例中,为了监视和分析系统调用,图1可包括恶意软件检测系统。恶意软件检测系统可包括向量生成器114和恶意软件检测模块116。向量生成器114可在操作应用108、110和/或112的计算设备104或服务器106上执行并且追踪由这些应用生成的系统调用。因为应用108、110和/或112每秒生成数千个系统调用,所以当向量生成器114从应用108、110和/或112接收到踪迹时,向量生成器114将踪迹格式化成计数向量并且通过网络102将计数向量发送到恶意软件检测模块116。如下文将描述的,计数向量减少否则可通过网络102发送的系统调用信息的量,同时保留了恶意软件检测模块116可用来识别恶意软件的系统调用中包括的信息。
在一实施例中,恶意软件检测模块116可在图1中的服务器106之一上操作。在一实施例中,恶意软件检测模块116通过网络102从多个计算设备104和服务器106接收计数向量并且使用计数向量来识别恶意软件。
图2是根据一实施例的向量生成器114的框图200。虽然在图2中,向量生成器114在计算设备104内执行,但这个实施例不是限制性的,而向量生成器114也可在服务器106上执行。在一实施例中,随着应用108、110和/或112在计算设备104上执行,应用产生进程202A-N(统称为进程202)。对于每个应用可以有多个进程202,或者每个应用108一个进程202A。
随着进程202执行,进程202生成系统调用204A-N(统称为系统调用204)。例如,进程202A可生成系统调用204A,进程202B可生成系统调用204B,进程202C可生成系统调用204C,等等。系统调用204可以是对在计算设备104上执行的操作系统的内核的为进程请求系统资源的请求。示例系统调用204可包括调度或发起另一进程的请求、文件管理访问请求、设备管理访问请求、操作系统和进程202之间的信息请求、通信请求,等等。一些示范性系统调用可包括“退出”、“分叉”、“读取”、“写入”、“打开”和“关闭”,虽然实现方式不限于这些实施例。因为进程202A-N的每一者每秒可生成数千个各自的系统调用204A-N,所以进程202A-N可在计算设备104上生成数百万个系统调用。
在一实施例中,图1中论述的恶意软件检测系统可使用系统调用204的进程踪迹来确定在计算设备104上操作的恶意软件。然而,因为进程202生成的系统调用204的庞大数量,需要高效地提取系统调用204中包括的信息并且不丢失或忽略检测恶意软件的信息。
因为在每个计算设备104上生成的系统调用的数量,所以恶意软件检测系统包括向量生成器114。向量生成器114可被安装在执行进程202的每个计算设备104上。在一实施例中,向量生成器114可追踪由多个进程202生成的系统调用204。从系统调用踪迹,向量生成器114可生成计数向量206A-N(统称为计数向量206)。每个计数向量206表示由进程202之一在可配置的预定时间间隔中生成的系统调用204。例如,计数向量206A表示由进程202A生成的系统调用204A,计数向量206B表示由进程202B生成的系统调用204B,计数向量206C表示由进程202C生成的系统调用204C,等等。在一实施例中,计数向量206保留在该时间间隔期间发出的系统调用204中包括的信息,但减少通过网络102在向量生成器114和恶意软件检测模块116之间传输的信息的量。
在一实施例中,计数向量206可以是以本领域普通技术人员已知的编程语言实现的数据结构。图3A是根据一实施例的计数向量的框图300A。如框图300A中所示,计数向量206包括多个分量302。在一实施例中,计数向量206中的每个分量302或者每个分量302的位置可被映射到存在于操作系统中的系统调用的一种类型。例如,如果操作系统包括六种不同类型的系统调用,则计数向量206可包括六个分量302,每种系统调用类型一个分量。也就是说,如果六种类型的系统调用是“退出”、“分叉”、“读取”、“写入”、“打开”和“关闭”,则这些系统调用的每一者将映射到计数向量206中的分量302之一。
在另一实施例中,计数向量206也可存储与系统调用有关的其他信息。例如,计数向量206中的分量可存储用于从“读取”和“写入”系统调用所请求的文件读取或者向这些文件写入的文件描述符的名称或识别符。
在一实施例中,计数向量206的大小可以是存在于操作系统中的不同类型的系统调用的总和。例如,当操作系统包括300或更多个不同类型的系统调用204时,计数向量206的大小可以是300。在另一实施例中,计数向量206的大小可以是存在于操作系统中的不同类型的系统调用和其他系统调用信息(如果有的话)的总和。在另外一个实施例中,计数向量206的大小可以是可配置的并且可随着其他类型的系统调用被添加到操作系统或者随着向量生成器114从系统调用踪迹收集额外的系统调用信息而被扩展。
图3B是根据一实施例的将系统调用类型映射到每个分量302的计数向量的框图300B。如图3B中所示,系统调用“退出”被映射到分量302_1,系统调用“分叉”被映射到分量302_2,系统调用“读取”被映射到分量302_3,系统调用“写入”被映射到分量302_4,系统调用“打开”被映射到分量302_5,并且系统调用“关闭”被映射到分量302_6。
返回到图2,在一实施例中,计数向量206跟踪在预定的时间间隔期间发生的系统调用204的数目。示例时间间隔可以是一秒、两秒、五秒等等,并且可在恶意软件检测系统内配置。该配置可基于系统流量、在计算设备104上执行的进程202的数目、由进程202发出的系统调用204的数目,等等。
为了跟踪在预定的时间间隔期间发生的系统调用的数目,每个分量302可包括计数器。计数器的值表示映射到分量302的类型的系统调用在该时间间隔期间发生的次数。该表示可以是整数或实数,虽然实现方式不限于这些实施例。在一实施例中,计数器可被设置到默认值,例如零。向量生成器114随后可在每次向量生成器114从进程202接收到映射到分量302的类型的系统调用时递增该计数器。
图3C是根据一实施例的表示图3B中所示的计数向量的状态的框图300C。此状态可发生在向量生成器114在预配置的时间段中(例如一秒)从进程接收到系统调用踪迹之后。例如,向量生成器114可为进程202生成的系统调用204接收系统调用踪迹。系统调用踪迹指示出系统调用“分叉、打开、读取、写入、读取、写入、读取、写入、读取”被进程202发出。从这个系统调用踪迹,向量生成器114可生成如图3C中所示的计数向量。图3C中的计数向量将每个系统调用映射到与系统调用类型相关联的分量302。例如,与系统调用“退出”相关联的分量302_1保持被设置为零,与系统调用“分叉”相关联的分量302_2被设置为一,与系统调用“读取”相关联的分量302_3被设置为三,与系统调用“写入”相关联的分量302_4被设置为二,与系统调用“打开”相关联的分量302_5被设置为一,并且与系统调用“关闭”相关联的分量302_6被设置为零。
在一实施例中,向量生成器114对于在每个时间间隔期间由进程202生成的系统调用204生成计数向量206。例如,在第二时间间隔期间,向量生成器114可接收包括“写入、读取、写入、关闭、退出”系统调用的由图3C的进程202生成的系统调用204的系统调用踪迹。对于此系统调用序列,向量生成器114可生成如图3D中所示将踪迹中的每个系统调用映射到计数向量206中的分量的计数向量206。例如,与“退出”相关联的分量302_1被设置为一,与“分叉”相关联的分量302_2保持被设置为零,与“读取”相关联的分量302_3被设置为一,与“写入”相关联的分量302_4被设置为二,与“打开”相关联的分量302_5保持被设置为零,并且与“关闭”相关联的分量302_6被设置为一。
返回图2,如上所述,向量生成器114在预定的时间间隔期间为每个进程202生成计数向量206。每个计数向量206存储由相应的进程202A-N对于该时间间隔生成的系统调用204的数目和类型的表示。例如,由进程202A生成的系统调用204A被映射到计数向量206A,为进程202B生成的系统调用204B被映射到计数向量206B,为进程202C生成的系统调用204C被映射到计数向量206C,等等。
在一实施例中,一旦向量生成器114生成了计数向量206,向量生成器114就将计数向量206发送到恶意软件检测模块116。
图4是根据一实施例的恶意软件检测模块的框图400。恶意软件检测模块116从多个计算设备104、服务器106等等接收计数向量206。恶意软件检测模块116可单独接收计数向量206或者接收被聚集成包括多个计数向量206的向量包的计数向量206。在一实施例中,向量生成器114可将计数向量206聚集成向量包,然后将向量包发送到恶意软件检测模块116。
在一实施例中,恶意软件检测模块116可包括使用计数向量206来检测进程202中的恶意软件或者伪装为进程202的恶意软件的机器学习体系结构。示例机器学习体系结构可包括一个或多个神经网络、神经子网络或者这些的组合。神经网络是包括从观察数据自学习的多层互连节点的计算系统,其中观察数据例如是由系统100中的已知进程202生成的计数向量206。神经网络中的第一层通常接收数据(例如计数向量206)作为输入。第一层随后将输入数据传递过互连节点的一个或多个内部层。神经网络中的最末层可生成输出数据。在一实施例中,每一层中的节点可包括作用于数据或者修改数据的函数或权重。
在一实施例中,神经网络可以是卷积神经网络,例如在图像处理中使用的那些。在一实施例中,本文描述的卷积网络探索存在于进程202生成的计数向量206中的空间和时间相关性,并且使用该相关性来识别恶意进程。
在一实施例中,卷积神经网络中的层的节点可包括一个或多个过滤器。过滤器可被包括在一层或多层中并且也跨越每一层中的多个节点。这些过滤器可基于包括已知的观察数据的训练集合被训练。在训练期间,过滤器学习对从多个计算设备104接收的计数向量206进行过滤的参数和值。数据的示例训练集合可以是由已知的非恶意进程202生成的计数向量206,并且在下文详细论述。
在一实施例中,恶意软件检测模块116中包括的卷积神经网络可以是时间卷积网络402。在另一实施例中,恶意软件检测模块中包括的卷积神经网络可以是空间卷积网络404。时间卷积网络402和空间卷积网络404两者都可接收计数向量206作为输入。
在一实施例中,时间卷积网络402可将计数向量206传递经过在时间维度上对计数向量206进行过滤的一个或多个时间过滤器,如图5A中所示。类似地,在另一实施例中,空间卷积网络404可将计数向量206传递经过空间维度上的一个或多个空间过滤器,如图5B中所述。
在一实施例中,时间卷积网络402可将计数向量206传递经过一个或多个时间过滤器并且空间卷积网络404可顺序地或者并行地将计数向量206传递经过一个或多个空间过滤器。
图5A是根据一实施例的时间卷积网络的框图500A。如图5A中所示,时间卷积网络402可包括一个或多个时间过滤器,例如时间过滤器502。时间卷积网络402中的时间过滤器502的数目可以是可配置的。另外,时间过滤器502的数目可基于计数向量206中包括的数据。在一实施例中,“n”可以是表示时间卷积网络402中的时间过滤器502的数目的整数。
在一实施例中,每个时间过滤器502可包括在图5A中由“r”和“c”指定的尺寸。在一实施例中,“r”和“c”可以是正自然数。在一实施例中,“r”是时间过滤器502中的行501的数目。因为图5A中的时间过滤器502具有十行501,所以“r”在图示的实施例中等于10。另外,时间过滤器502中的每一行501可具有由预配置的时间间隔设置的持续时间。在一些实施例中,每个时间间隔可以是一秒。这个时间间隔可对应于向量生成器114生成每个计数向量206的时间间隔。因此,每个时间过滤器502的时间深度可以是行的数目“r”乘以每一行501的预配置时间间隔。从而,如果行的数目“r”被设置为10,并且每一行具有一秒的时间间隔,则时间过滤器502的时间深度是10秒。
在一实施例中,“c”表示过滤器被应用到的系统调用204的数目。例如,如果每个系统调用204被单独过滤,则“c”等于一。从而,具有10行并且对每个系统调用204过滤的时间过滤器502具有10x 1的尺寸。
在一实施例中,“r”和“c”可在恶意软件检测模块116中配置。
另外,时间卷积网络402可被配置为包括多个时间过滤器502。在一实施例中,时间过滤器502的数目可基于计数向量206中包括的数据。另外,表示时间卷积网络402中的时间过滤器502的矩阵可具有“n”乘“r”乘“c”的尺寸。例如,如果时间卷积网络402具有64个时间过滤器502,并且每个时间过滤器502具有10x 1的尺寸,则时间卷积网络中的时间过滤器502可具有64x 10x 1的尺寸。
在一实施例中,每个时间过滤器502可检测进程202的一个或多个时间特征。时间特征是可识别进程202的信息片段,例如进程202的速度、进程202的加速度,等等。
如上所述,时间卷积网络402包括多层,例如层402A-Z。在一实施例中,如恶意软件检测模块116所配置的,在层402A-Z中可以有一个或多个时间过滤器502或者在一个或多个层402A-Z中可以没有时间过滤器502。
在一实施例中,时间卷积网络402的第一层(层402A)接收计数向量206并且将计数向量206传递经过与层402A相关联的时间过滤器502。如图5A中所示,层402A生成输出503A。时间卷积网络402随后将层402A的输出503A作为输入传递到时间卷积网络402中的第二层(层402B),依此类推。在一实施例中,输出503A可以是层402A中的一个或多个时间过滤器502的条目和计数向量206中的一些或所有分量之间的“点积”。类似地,输出503B可以是层402B中的一个或多个时间过滤器502的条目和输出503B之间的“点积”。在一实施例中,时间卷积网络402中的每一层可利用“点积”确定该层的输出。“点积”是数字的两个序列的对应条目的乘积之和。在此情况下,第一序列是时间过滤器502之一并且第二序列是计数向量206或者层402A-Z之一的输出。
在一实施例中,一旦计数向量206经过时间卷积网络402的最后一层,例如层402Z,时间卷积网络402就生成时间输出504。时间输出504可以是经过时间卷积网络402的层402A-Z的带有层的权重的计数向量206和每一层402Z处的时间过滤器502的“点积”。在一实施例中,时间卷积网络402的时间输出504可以是具有尺寸“n”乘“m”乘“c”的矩阵,其中“n”和“c”如上所述是正的自然数,并且“m”表示被表示为计数向量206中的分量的系统调用204的数目。在每个计数向量具有400个系统调用204并且时间过滤器502具有尺寸64x 10x 1(如上所述)的实施例中,时间网络402可具有尺寸为64x 400x 1的时间输出504。换言之,时间输出504可包括64个输出,每个输出具有400x 1的尺寸。
图5B是根据一实施例的空间卷积网络的框图500B。如图5B中所示,空间卷积网络404可包括一个或多个空间过滤器,例如空间过滤器506。空间卷积网络404中的空间过滤器506的数目可以是可配置的。另外,空间过滤器506的数目可基于计数向量206中包括的数据。
在一实施例中,“N”可以是表示空间卷积网络404中的空间过滤器506的数目的整数。在另一实施例中,时间卷积网络402中的时间过滤器502的数目可与空间卷积网络404中的空间过滤器506的数目相同。因此,在此实施例中,“n”=“N”。
在一实施例中,每个空间过滤器506可具有在图5B中由“r”和“m”指定的尺寸。如上所述,“r”表示行的数目并且“m”表示每个计数向量206中包括的系统调用的数目。在另一实施例中,恶意软件检测模块116可将空间过滤器506中的行的数目“r”设置为一。因此,在每个计数向量206中有400个系统调用204并且行的数目“r”等于一的实施例中,空间过滤器506的尺寸是1x 400。
在一实施例中,空间卷积网络404中的空间过滤器506的数目可以是可配置的。另外,空间过滤器506的数目可基于计数向量206中包括的数据。
在一实施例中,表示空间卷积网络404中的空间过滤器506的矩阵可以是“N”乘“r”乘“m”。这样,当空间卷积网络404具有64个空间过滤器506(N=64)并且每个空间过滤器506的尺寸是1x 400时,空间卷积网络404中的空间过滤器506的尺寸是64x 1x 400。
在一实施例中,每个空间过滤器506可检测进程的一个或多个空间特征。空间特征是可在空间维度中识别进程的信息片段。示例空间特征可以是对特定类型的系统调用204有多经常被包括在(一个或多个)计数向量206中的计数。
如上所述,空间卷积网络404包括多层,例如层404A-Z。在一实施例中,如恶意软件检测模块116所配置的,在层404A-Z中可以有一个或多个空间过滤器506或者在一个或多个层402A-Z中可以没有空间过滤器506。
如上所述,空间卷积网络404接收计数向量206作为输入。例如,空间卷积网络404的第一层(层404A)接收计数向量206并且将计数向量206传递经过与层404A相关联的空间过滤器506以生成输出505A。计数向量206以这种方式被传播经过空间卷积网络404。例如,空间卷积网络404中的第二层(层404B)接收输出505A作为输入并且生成输出505B,依此类推。在一实施例中,输出505A可以是层404A中的空间过滤器506之一的条目和计数向量206中的分量之间的“点积”。类似地,输出505B可以是层402B中的空间过滤器506之一的条目和输出505A之间的“点积”。在一实施例中,空间卷积网络404中的每一层可利用“点积”确定该层的输出。
在一实施例中,一旦计数向量206经过空间卷积网络404的最后一层,例如层404Z,空间卷积网络402就生成空间输出508。空间输出508可以是被每一层402A-Z处的空间过滤器506过滤的经过空间卷积网络404的层404A-Z的带有层的权重的计数向量206的“点积”。在一实施例中,空间卷积网络404的空间输出508可以是具有尺寸“N”乘“r”乘“t”的矩阵,其中“N”如上所述是正的自然数,并且“r”是时间卷积网络402中的行的数目,并且“t”是每一行的持续时间。在有64个空间过滤器506并且空间过滤器506具有尺寸64x 1x 400(如上所述)的实施例中,空间卷积网络404可具有尺寸为64x 10x 1的空间输出508。换言之,空间输出508可包括64个输出,其中每个输出具有10x 1的尺寸。在此情况下,10是行的数目“r”,并且一是每行的持续时间,例如在一些实施例中是1秒。
返回到图4,恶意软件检测模块116还包括合并器406。合并器406可将来自时间卷积网络402的时间输出504与来自空间卷积网络404的空间输出508合并。合并器406的输出是识别进程202之一的概要表示。
图6是根据一实施例的合并器的框图600。如图6中所示,合并器406接收时间输出504和空间输出508作为输入。时间输出504可具有尺寸“n”乘“m”乘“c”,并且空间输出508可具有尺寸“N”乘“r”乘“t”。在一实施例中,合并器406通过将时间输出504和空间输出508的维度中的分量相乘来合并时间输出504和空间输出508。
在一实施例中,合并器406生成概要表示602。概要表示602可以是进程202之一的表示。另外,概要表示602保留进程202的空间和时间特性。另外,因为每个进程202具有独特的空间和时间特性,所以概要表示602对于每个独特的进程202可以是不同的。
在一实施例中,概要表示602的尺寸可以是“n”乘“z”乘“x”。
返回图4,恶意软件检测模块116包括完全连接层(称为FC模块408)。在一实施例中,FC模块408处理从合并器406接收的概要表示602。在一实施例中,在处理由合并器406生成的概要表示602之前,可基于已知进程的概要表示来训练FC模块408。
图7是根据一实施例的FC模块408的框图。如图7中所示,FC模块408接收由合并器406生成的概要表示602。基于概要表示602,FC模块408确定进程列表702。进程列表702可包括一个或多个进程候选。进程候选是可对应于生成了计数向量206的进程202之一的进程。
返回图4,恶意软件检测模块116包括柔性最大值读出层(称为SM模块410)。在一实施例中,SM模块410从FC模块408接收进程列表702。SM模块410可向进程列表702中的每个进程候选应用概率分类器。概率分类器确定由FC模块408生成的进程列表702中的每个进程候选是生成了计数向量206的进程202的概率。
在一实施例中,SM模块410对排名的进程候选进行评估。例如,具有高排名的进程候选表示生成了计数向量206的进程202的概率较高。如果具有高排名的这些进程候选之一是已知的恶意进程,则恶意软件检测模块116可将进程202识别为恶意进程。
在一实施例中,恶意软件检测模块116还包括警告生成器412。警告生成器412在恶意软件检测模块116识别出恶意进程时生成警告。在另一实施例中,警告生成器412也可确定何时要生成警告。警告可指示出恶意进程的进程ID(如果计数向量206包括进程ID信息的话)、生成了恶意进程的计算设备104或服务器106、恶意进程的名称,等等。此外,警告生成器412还可指示出计算设备104或服务器106已被损害的其他迹象。
在一实施例中,在确定哪个进程202生成了计数向量206之前,恶意软件检测模块116可被训练。在训练期间,基于已知进程202的进程踪迹(计数向量206)训练时间卷积网络402和空间卷积网络404。这是因为当进程202是已知的时,由进程202生成的计数向量206也是已知的。在此情况下,时间卷积网络402以使得可以充分的准确度从时间输出504重建计数向量206的方式使用计数向量206来生成时间过滤器502。在一实施例中,充分高的准确度可以是高于可配置的准确度阈值的准确度。类似地,空间卷积网络404以使得可以高于可配置的准确度阈值的准确度从空间输出508重建计数向量206的方式使用计数向量206来生成空间过滤器506。
在一实施例中,在训练期间,FC模块408和SM模块410可从这些进程202的概要表示602学习对真实进程202分类。在一实施例中,训练阶段继续,直到FC模块408和SM模块410以低于预定阈值的水平误分类公知的进程为止。一旦误分类达到低于预定阈值的水平,预训练阶段就可完成。
在一实施例中,在恶意软件检测模块116被训练之后,恶意软件检测模块116可使用计数向量206来确定在系统100中执行的进程202是否是恶意进程,如上所述。在一实施例中,当进程202之一是未知或者恶意进程时,恶意软件检测模块116可生成警告并且通知系统管理员。
图8是根据一实施例的用于识别恶意进程的方法800的流程图。方法800可利用图1-图7中描述的硬件和/或软件组件来执行。注意操作中的一个或多个可酌情被删除、组合或者按不同的顺序执行。在一实施例中,方法800发生在已利用来自已知进程202的计数向量206训练恶意软件检测模块116之后。
在操作802,提供计数向量。例如,由进程202之一生成的计数向量206被提供到恶意软件检测模块116。如上所述,计数向量206包括与进程202之一在预配置的时间段期间生成的系统调用204相关联的信息。
在操作804,生成时间输出。例如,时间卷积网络402将计数向量206传递经过一个或多个时间过滤器502以生成时间输出504。在一实施例中,时间过滤器502可被包括在时间卷积网络402的多层中。
在操作806,生成空间输出。例如,空间卷积网络404将计数向量206传递经过一个或多个空间过滤器506以生成空间输出508。在一实施例中,空间过滤器506可被包括在空间卷积网络404的多层中。在一实施例中,操作804和806可被并行执行。在另一实施例中,操作804和806可被顺序执行。
在操作808,生成进程的表示。例如,合并器406合并时间输出504和空间输出508以生成与进程202之一相关联的计数向量206的概要表示602。
在操作810,确定恶意进程。例如,FC模块408和SM模块410确定概要表示602是否与被识别为已知恶意进程的进程202之一的概要表示匹配。
现在参考图9,图示了适合用于实现图1-图8中描述的系统和方法的计算机系统900的实施例。
根据本公开的各种实施例,计算机系统900(例如计算机和/或服务器)包括总线902或者用于传输信息的其他通信机制,其互连子系统和组件,例如处理组件904(例如,处理器、微控制器、数字信号处理器(digital signal processor,DSP)、图形处理单元(graphics processing unit,GPU)等等)、系统存储器组件906(例如,RAM)、静态存储组件908(例如,ROM)、盘驱动组件910(例如,磁的或者光的)、网络接口组件912(例如,调制解调器或以太网卡)、显示组件914(例如,CRT或LCD)、输入组件918(例如、键盘、小键盘或者虚拟键盘)、光标控制组件920(例如,鼠标、指示器或者轨迹球)、位置确定组件922(例如,如图所示的全球定位系统(Global Positioning System,GPS)设备、蜂窝塔三角测量设备和/或本领域中已知的各种其他位置确定设备)和/或相机组件923。在一个实现方式中,盘驱动组件910可包括具有一个或多个盘驱动组件的数据库。
根据本公开的实施例,计算机系统900通过处理器904执行存储器组件906中包含的指令的一个或多个序列来执行特定操作,例如本文中对于移动通信设备、移动设备和/或服务器描述的。这种指令可被从另一计算机可读介质(例如静态存储组件908或盘驱动组件910)读取到系统存储器组件906中。在其他实施例中,硬连线电路可取代软件指令或者与软件指令相结合以用于实现本公开。
逻辑可被编码在计算机可读介质中,计算机可读介质可以指参与向处理器904提供指令来执行的任何介质。这种介质可采取许多形式,包括但不限于非易失性介质、易失性介质和传输介质。在一个实施例中,计算机可读介质是非暂态的。在各种实施例中,非易失性介质包括光盘或磁盘,例如盘驱动组件910,易失性介质包括动态存储器,例如系统存储器组件906,并且传输介质包括同轴线缆、铜线和光纤,包括构成总线902的导线。在一个示例中,传输介质可采取声波或光波的形式,例如在无线电波和红外数据通信期间生成的那些。
计算机可读介质的一些常见形式例如包括软盘、柔性盘、硬盘、磁带、任何其他磁介质、CD-ROM、任何其他光介质、穿孔卡、纸带、任何其他具有孔图案的物理介质、RAM、PROM、EPROM、FLASH-EPROM、任何其他存储器芯片或卡匣、载波或者计算机适合于读取的任何其他介质。在一个实施例中,计算机可读介质是非暂态的。
在本公开的各种实施例中,实现本公开的指令序列的执行可由计算机系统900来执行。在本公开的各种其他实施例中,由通信链路924耦合到网络102(例如,比如LAN、WLAN、PSTN和/或各种其他有线或无线网络,包括电信、移动和蜂窝电话网络)的多个计算机系统900可执行指令序列来与彼此协调地实现本公开。
计算机系统900可通过通信链路924和网络接口组件912发送和接收消息、数据、信息和指令,包括一个或多个程序(即,应用代码)。网络接口组件912可包括分开的或者集成的天线,来使能经由通信链路924的发送和接收。接收到的程序代码可在接收时被处理器904执行和/或被存储在盘驱动组件910或者某种其他非易失性存储组件中以便执行。
在适用时,本公开提供的各种实施例可利用硬件、软件或者硬件和软件的组合来实现。另外,在适用时,本文记载的各种硬件组件和/或软件组件可被组合成包括软件、硬件和/或两者的复合组件,而不脱离本公开的范围。在适用时,本文记载的各种硬件组件和/或软件组件可被分离成包括软件、硬件或两者的子组件,而不脱离本公开的范围。此外,在适用时,设想到了软件组件可被实现为硬件组件,反之亦然。
根据本公开,软件,例如程序代码和/或数据,可被存储在一个或多个计算机可读介质上。还设想到了本文识别的软件可利用联网的和/或没有联网的一个或多个通用或专用计算机和/或计算机系统来实现。在适用时,本文描述的各种步骤的排序可被改变、被组合成复合步骤和/或被分离成子步骤以提供本文描述的特征。
前述公开并不打算将本公开限制到公开的确切形式或者特定使用领域。因此,设想到了对本公开的各种替换实施例和/或修改,无论是本文明确描述的还是暗示的,根据本公开都是可能的。在这样描述了本公开的实施例后,本领域普通技术人员将会认识到在不脱离本公开的范围的情况下可做出形式和细节上的改变。从而,本公开仅受权利要求限制。
Claims (20)
1.一种系统,包括:
存储指令的非暂态存储器;以及
一个或多个硬件处理器,该一个或多个硬件处理器耦合到所述非暂态存储器并且被配置为从所述非暂态存储器读取指令以使得所述系统执行操作,所述操作包括:
将具有多个分量的计数向量作为输入提供到时间卷积网络和空间卷积网络,其中计数向量的多个分量中的每个分量对应于由进程生成的系统调用的类型和每种类型的系统调用在可配置时间间隔中发生的次数;
利用所述时间卷积网络中的多个时间过滤器为所述多个计数向量生成时间输出;
利用所述空间卷积网络中的多个空间过滤器为所述多个计数向量生成空间输出;
将所述时间输出和所述空间输出合并成概要表示,其中所述概要表示表示生成了所述计数向量的进程;并且
利用所述概要表示来确定生成了所述计数向量的进程。
2.如权利要求1所述的系统,其中生成所述时间输出和生成所述空间输出并行发生。
3.如权利要求1所述的系统,其中所述多个时间过滤器中的时间过滤器包括多行,并且所述多行中的每一行与时间间隔相关联。
4.如权利要求1所述的系统,其中所述多个空间过滤器中的空间过滤器对应于所述计数向量中的分量的数目。
5.如权利要求1所述的系统,其中所述多个空间过滤器中的空间过滤器对应于用于生成所述多个计数向量中的计数向量的可配置时间间隔。
6.如权利要求1所述的系统,其中所述多个时间过滤器中的时间过滤器识别随着时间的流逝发生的所述进程的特征。
7.如权利要求1所述的系统,其中所述空间过滤器识别与所述进程在预配置的时间段期间生成的系统调用的数目和类型相对应的所述进程的特征。
8.如权利要求1所述的系统,其中所述概要表示保留所述进程的时间和空间特征。
9.如权利要求1所述的系统,其中所述进程是恶意进程。
10.一种方法,包括:
将具有多个分量的计数向量作为输入提供到时间卷积网络和空间卷积网络,其中所述多个计数向量中的计数向量包括表示在可配置时间间隔中由进程向操作系统作出的系统调用的数据;
通过使所述多个计数向量经过所述时间卷积网络中的多个时间过滤器来生成时间输出;
通过使所述多个计数向量经过所述空间卷积网络中的多个空间过滤器来生成空间输出;
将所述时间输出和所述空间输出合并成概要表示,其中所述概要表示表示生成了所述计数向量的所述进程;
利用所述计数向量的概要表示为所述进程确定至少一个进程候选;并且
利用所述至少一个进程候选识别生成了所述计数向量的所述进程。
11.如权利要求10所述的方法,其中所述进程是恶意进程。
12.如权利要求10所述的方法,其中生成所述时间输出和生成所述空间输出并行发生。
13.如权利要求10所述的方法,其中所述多个时间过滤器中的时间过滤器包括多行,并且所述多行中的每一行与时间间隔相关联。
14.如权利要求10所述的方法,其中所述多个空间过滤器中的空间过滤器对应于所述计数向量中的分量的数目。
15.如权利要求10所述的方法,其中所述多个空间过滤器中的空间过滤器对应于用于生成所述多个计数向量中的计数向量的可配置时间间隔。
16.如权利要求10所述的方法,其中时间过滤器识别随着时间的流逝发生的所述进程的特征。
17.如权利要求10所述的方法,其中空间过滤器识别与所述进程在所述可配置时间间隔期间生成的系统调用的数目和类型相对应的所述进程的特征。
18.如权利要求10所述的方法,其中所述概要表示保留所述进程的时间特征和空间特征。
19.一种恶意软件检测系统,包括:
存储指令的非暂态存储器;以及
一个或多个硬件处理器,该一个或多个硬件处理器耦合到所述非暂态存储器并且被配置为从所述非暂态存储器读取指令以使得所述系统执行操作,所述操作包括:
由进程生成具有多个分量的多个计数向量,其中计数向量的多个分量中的每个分量对应于由多个进程生成的系统调用的类型和每种类型的系统调用在可配置时间间隔中发生的次数;
利用时间卷积网络中的多个过滤器处理所述多个计数向量,其中所述处理生成表示所述进程的时间特征的时间输出;
利用空间卷积网络中的多个过滤器处理所述多个计数向量,其中所述处理生成表示所述进程的空间特征的空间输出;
将所述时间输出和所述空间输出合并成概要表示,其中所述概要表示表示生成了所述计数向量的所述进程;并且
利用所述概要表示确定所述进程为恶意进程。
20.如权利要求19所述的恶意软件检测系统,其中所述操作还包括基于已知的进程训练所述恶意软件检测系统以生成所述时间卷积网络中的多个过滤器和所述空间卷积网络中的多个过滤器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/845,199 | 2017-12-18 | ||
US15/845,199 US10706148B2 (en) | 2017-12-18 | 2017-12-18 | Spatial and temporal convolution networks for system calls based process monitoring |
PCT/US2018/066086 WO2019126078A1 (en) | 2017-12-18 | 2018-12-17 | Spatial and temporal convolution networks for system calls based process monitoring |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111712817A true CN111712817A (zh) | 2020-09-25 |
CN111712817B CN111712817B (zh) | 2024-01-23 |
Family
ID=66816039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880089520.0A Active CN111712817B (zh) | 2017-12-18 | 2018-12-17 | 用于基于系统调用的进程监视的空间和时间卷积网络 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10706148B2 (zh) |
EP (1) | EP3729314B1 (zh) |
CN (1) | CN111712817B (zh) |
AU (1) | AU2018390542B2 (zh) |
WO (1) | WO2019126078A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111859023B (zh) * | 2020-06-11 | 2024-05-03 | 中国科学院深圳先进技术研究院 | 视频分类方法、装置、设备及计算机可读存储介质 |
US11222232B1 (en) * | 2020-06-19 | 2022-01-11 | Nvidia Corporation | Using temporal filters for automated real-time classification |
US12056239B2 (en) * | 2020-08-18 | 2024-08-06 | Micro Focus Llc | Thread-based malware detection |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040012272A (ko) * | 2002-08-02 | 2004-02-11 | 주식회사 마크애니 | 디지털 영상 인증을 위한 디지털 워터마크의 삽입 및추출방법 |
US20040193670A1 (en) * | 2001-05-21 | 2004-09-30 | Langan John D. | Spatio-temporal filter and method |
EP1814055A2 (en) * | 2006-01-31 | 2007-08-01 | Deutsche Telekom AG | Improved method and system for detecting malicious behavioral patterns in a computer, using machine learning |
EP1978449A2 (en) * | 2007-04-06 | 2008-10-08 | Technology Properties Limited | Signal processing |
US20140317734A1 (en) * | 2012-08-15 | 2014-10-23 | Qualcomm Incorporated | Adaptive Observation of Behavioral Features on a Mobile Device |
CN104933417A (zh) * | 2015-06-26 | 2015-09-23 | 苏州大学 | 一种基于稀疏时空特征的行为识别方法 |
US20160174902A1 (en) * | 2013-10-17 | 2016-06-23 | Siemens Aktiengesellschaft | Method and System for Anatomical Object Detection Using Marginal Space Deep Neural Networks |
CN106778266A (zh) * | 2016-11-24 | 2017-05-31 | 天津大学 | 一种基于机器学习的安卓恶意软件动态检测方法 |
JP2017207904A (ja) * | 2016-05-18 | 2017-11-24 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 異常検知システム、モデル生成装置、異常検知装置、異常検知方法、モデル生成プログラム、および、異常検知プログラム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7181768B1 (en) * | 1999-10-28 | 2007-02-20 | Cigital | Computer intrusion detection system and method based on application monitoring |
US20080120720A1 (en) | 2006-11-17 | 2008-05-22 | Jinhong Guo | Intrusion detection via high dimensional vector matching |
US8620624B2 (en) * | 2008-09-30 | 2013-12-31 | Sense Networks, Inc. | Event identification in sensor analytics |
US9965627B2 (en) | 2014-09-14 | 2018-05-08 | Sophos Limited | Labeling objects on an endpoint for encryption management |
EP3227820A1 (en) | 2014-12-05 | 2017-10-11 | Permissionbit | Methods and systems for encoding computer processes for malware deteection |
US10171491B2 (en) * | 2014-12-09 | 2019-01-01 | Fortinet, Inc. | Near real-time detection of denial-of-service attacks |
-
2017
- 2017-12-18 US US15/845,199 patent/US10706148B2/en active Active
-
2018
- 2018-12-17 WO PCT/US2018/066086 patent/WO2019126078A1/en unknown
- 2018-12-17 AU AU2018390542A patent/AU2018390542B2/en active Active
- 2018-12-17 CN CN201880089520.0A patent/CN111712817B/zh active Active
- 2018-12-17 EP EP18891940.1A patent/EP3729314B1/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040193670A1 (en) * | 2001-05-21 | 2004-09-30 | Langan John D. | Spatio-temporal filter and method |
KR20040012272A (ko) * | 2002-08-02 | 2004-02-11 | 주식회사 마크애니 | 디지털 영상 인증을 위한 디지털 워터마크의 삽입 및추출방법 |
EP1814055A2 (en) * | 2006-01-31 | 2007-08-01 | Deutsche Telekom AG | Improved method and system for detecting malicious behavioral patterns in a computer, using machine learning |
EP1978449A2 (en) * | 2007-04-06 | 2008-10-08 | Technology Properties Limited | Signal processing |
US20140317734A1 (en) * | 2012-08-15 | 2014-10-23 | Qualcomm Incorporated | Adaptive Observation of Behavioral Features on a Mobile Device |
US20160174902A1 (en) * | 2013-10-17 | 2016-06-23 | Siemens Aktiengesellschaft | Method and System for Anatomical Object Detection Using Marginal Space Deep Neural Networks |
CN104933417A (zh) * | 2015-06-26 | 2015-09-23 | 苏州大学 | 一种基于稀疏时空特征的行为识别方法 |
JP2017207904A (ja) * | 2016-05-18 | 2017-11-24 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 異常検知システム、モデル生成装置、異常検知装置、異常検知方法、モデル生成プログラム、および、異常検知プログラム |
CN106778266A (zh) * | 2016-11-24 | 2017-05-31 | 天津大学 | 一种基于机器学习的安卓恶意软件动态检测方法 |
Non-Patent Citations (2)
Title |
---|
DYMSHITS: "Process monitoring on sequences of system call count vectors", 《INTERNATIONAL CARNAHAN CONFERENCE ON SECURITY TECHNOLOGY(ICCST)》 * |
TOBIYAMA: "Malware Detection with deep neural network using process behavior", 《2016 IEEE 40TH ANNUAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE(COMPSAC)》 * |
Also Published As
Publication number | Publication date |
---|---|
US20190188379A1 (en) | 2019-06-20 |
WO2019126078A1 (en) | 2019-06-27 |
US10706148B2 (en) | 2020-07-07 |
CN111712817B (zh) | 2024-01-23 |
EP3729314A4 (en) | 2021-09-08 |
AU2018390542A1 (en) | 2020-07-02 |
EP3729314A1 (en) | 2020-10-28 |
AU2018390542B2 (en) | 2022-01-20 |
EP3729314B1 (en) | 2023-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220122083A1 (en) | Machine learning engine using following link selection | |
US10943235B2 (en) | System and method of software-imitated user transactions using machine learning | |
US11677781B2 (en) | Automated device data retrieval and analysis platform | |
US20220114593A1 (en) | Probabilistic anomaly detection in streaming device data | |
US11610206B2 (en) | Analysis platform for actionable insight into user interaction data | |
US20180033010A1 (en) | System and method of identifying suspicious user behavior in a user's interaction with various banking services | |
US11539716B2 (en) | Online user behavior analysis service backed by deep learning models trained on shared digital information | |
US20200067861A1 (en) | Scam evaluation system | |
IL256305A (en) | Ensure multi-factor location | |
CN111712817B (zh) | 用于基于系统调用的进程监视的空间和时间卷积网络 | |
US11663329B2 (en) | Similarity analysis for automated disposition of security alerts | |
US10452847B2 (en) | System call vectorization | |
Alzahrani et al. | AI-based techniques for Ad click fraud detection and prevention: Review and research directions | |
US11700250B2 (en) | Voice vector framework for authenticating user interactions | |
Villalba et al. | Ransomware automatic data acquisition tool | |
Stojanović et al. | Robust financial fraud alerting system based in the cloud environment | |
Fowdur et al. | A real-time machine learning application for browser extension security monitoring | |
US11455517B2 (en) | Population anomaly detection through deep gaussianization | |
Zhang | A novel data preprocessing solution for large scale digital forensics investigation on big data | |
Hernández Dominguez et al. | Updated Analysis Of Detection Methods For Phishing Attacks | |
Pitre et al. | Blockchain and Machine Learning Based Approach to Prevent Phishing Attacks | |
US20230237492A1 (en) | Machine learning fraud cluster detection using hard and soft links and recursive clustering | |
Stojanovic et al. | Robust Financial Fraud Alerting System Based in the Cloud Environment | |
US20230315842A1 (en) | Dynamically blocking credential attacks using identity intelligence | |
Badawi | Towards Algorithmic Identification of Online Scams |
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 |