CN113508381B - 用于嵌入式软件应用的基于机器学习的异常检测 - Google Patents
用于嵌入式软件应用的基于机器学习的异常检测 Download PDFInfo
- Publication number
- CN113508381B CN113508381B CN201980093409.3A CN201980093409A CN113508381B CN 113508381 B CN113508381 B CN 113508381B CN 201980093409 A CN201980093409 A CN 201980093409A CN 113508381 B CN113508381 B CN 113508381B
- Authority
- CN
- China
- Prior art keywords
- embedded software
- anomaly detection
- application
- software application
- anomaly
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 210
- 238000010801 machine learning Methods 0.000 title claims abstract description 35
- 238000012549 training Methods 0.000 claims abstract description 149
- 230000000694 effects Effects 0.000 claims abstract description 122
- 230000006399 behavior Effects 0.000 claims abstract description 52
- 230000002547 anomalous effect Effects 0.000 claims abstract description 29
- 238000000034 method Methods 0.000 claims abstract description 24
- 238000005070 sampling Methods 0.000 claims description 109
- 206010000117 Abnormal behaviour Diseases 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 11
- 230000003068 static effect Effects 0.000 claims description 3
- 230000015654 memory Effects 0.000 description 17
- 230000002159 abnormal effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000012512 characterization method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000001066 destructive effect Effects 0.000 description 3
- 238000012706 support-vector machine Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012546 transfer Methods 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/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/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/76—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- 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/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2135—Metering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Debugging And Monitoring (AREA)
Abstract
系统、方法、逻辑和设备,可以支持用于嵌入式软件应用的基于机器学习的异常检测。在学习阶段,异常模型训练引擎可以构建异常检测模型,并且异常检测模型被配置成基于活动度量输入和应用参数输入来确定嵌入式软件应用是否呈现异常行为。在运行时阶段,异常检测引擎可以对嵌入式软件应用进行采样,以获得在运行时执行期间的活动度量和应用参数,并且提供在运行时执行期间采样的活动度量和采样的应用参数,作为到异常检测模型的输入。异常检测引擎还可以基于针对所提供的输入的来自异常检测模型的输出来确定嵌入式软件应用是否呈现异常行为。
Description
技术领域
本申请通常涉及嵌入式软件应用,特别涉及用于嵌入式软件应用的基于机器学习的异常检测。
背景技术
随着技术的不断改进,软件应用变得越来越普遍。嵌入式软件应用可以控制物理系统中的机器或设备,例如汽车、安全系统、家用电器、玩具、数字手表、生物设备等。包括嵌入式软件的嵌入式系统可能成为通过恶意软件、病毒、间谍软件等进行安全攻击的目标。
发明内容
根据本发明的一个方面,提供了一种系统,所述系统包括异常模型训练引擎和异常检测引擎,所述异常模型训练引擎被配置成:在给定采样点处对嵌入式软件应用进行采样,以获得:所述嵌入式软件应用的自先前采样点以来的活动度量;以及在所述给定采样点处的用于所述嵌入式软件应用的应用参数;基于针对所述给定采样点获得的所述活动度量和所述应用参数来生成训练数据;利用所述训练数据来构建异常检测模型,所述异常检测模型被配置成基于活动度量输入和应用参数输入来确定所述嵌入式软件应用是否呈现异常行为;所述异常检测引擎被配置成:在所述嵌入式软件应用的运行时执行期间在所述给定采样点处对所述嵌入式软件应用进行采样,以获得在所述运行时执行期间的活动度量和应用参数;提供在所述运行时执行期间采样的所述活动度量和采样的所述应用参数,作为到所述异常检测模型的输入;以及基于针对所提供输入的来自所述异常检测模型的输出来确定所述嵌入式软件应用是否呈现异常行为。
根据本发明的另一个方面,提供了一种方法,所述方法包括,通过嵌入式系统:在嵌入式软件应用的运行时执行期间在给定采样点处对所述嵌入式软件应用进行采样,以获得在所述运行时执行期间的活动度量和应用参数;在所述运行时执行期间确定所述嵌入式软件应用进入非活动执行时段,并且作为响应:访问异常检测模型,所述异常检测模型被配置成基于活动度量输入和应用参数输入来确定所述嵌入式软件应用是否呈现异常行为;提供在所述运行时执行期间针对所述给定采样点采样的所述活动度量和所述应用参数,作为到所述异常检测模型的输入;以及基于针对所提供的输入的来自所述异常检测模型的输出来确定所述嵌入式软件应用是否呈现异常行为。
根据本发明的又一个方面,提供了一种包括指令的非瞬时性机器可读介质,当所述指令由处理器执行时使得嵌入式系统:在嵌入式软件应用的运行时执行期间在给定采样点处对所述嵌入式软件应用进行采样,以获得在所述运行时执行期间的活动度量和应用参数;在所述运行时执行期间确定所述嵌入式软件应用进入非活动执行时段,并且作为响应:访问异常检测模型,所述异常检测模型被配置成基于活动度量输入和应用参数输入来确定所述嵌入式软件应用是否呈现异常行为;提供在所述运行时执行期间采样的所述活动度量和所述应用参数,作为到所述异常检测模型的输入;以及基于针对所提供的输入的来自所述异常检测模型的输出来确定所述嵌入式软件应用是否呈现异常行为。
附图说明
在下面的详细描述中并参考附图描述了某些示例。
图1示出了系统的示例,该系统支持用于嵌入式软件应用的基于机器学习的异常检测。
图2示出了异常检测模型训练的示例,该异常检测模型训练通过异常模型训练引擎经由机器学习来进行。
图3示出了通过异常模型训练引擎进行的任务特定的异常检测模型的示例性训练。
图4示出了通过异常检测引擎进行的嵌入式应用行为的示例性运行时(run-time)特性。
图5示出了逻辑的示例,其中系统可以实施该逻辑以支持异常检测模型的学习阶段训练。
图6示出了逻辑的示例,其中系统可以实施该逻辑以支持在嵌入式软件的运行时执行期间的异常检测。
图7示出了系统的示例,该系统支持用于嵌入式软件应用的基于机器学习的异常检测。
具体实施方式
下面的讨论涉及嵌入式软件应用(application),该嵌入式软件应用也可以被称为嵌入式软件或嵌入式应用。如本文所使用的,嵌入式软件应用可以指在除了台式计算机或膝上型计算机以外的物理系统上执行的软件。这种物理系统也可以被称为嵌入式系统,并且通常受限于计算和存储器能力。在许多情况下,嵌入式软件应用可以与嵌入式系统的机器或其它物理元件交互,并且嵌入式应用因此可以用于监视或控制车辆、电话、调制解调器、机器人、电器设备、安全系统等中的机器或设备。
本公开可以提供这样的系统、方法、设备和逻辑,其支持经由机器学习来进行的用于嵌入式软件应用的异常检测。如下文更详细地描述的,本文公开的基于机器学习的异常检测特征可以考虑影响嵌入式软件应用的活动(例如,执行时间)的特定应用参数。可以特别地考虑应用参数来对异常检测模型进行训练,并且机器学习模型可以将应用参数与执行活动相关联(例如,如通过指令计数或执行周期测量的那样),以表征正常应用行为和异常应用行为。通过特别地考虑模型训练中的应用参数,本文呈现的基于机器学习的异常检测特征可以提供资源高效机制来跟踪应用行为并识别异常,通过考虑应用上下文影响执行活动的方式来这样做。
本文更详细地描述所公开的基于机器学习的异常检测特征的这些和其它益处。
图1示出了系统100的示例,该系统100支持用于嵌入式软件应用的基于机器学习的异常检测。系统100可以采取各种形式,并且可以包括单个或多个计算设备,例如应用服务器、计算节点、台式计算机或膝上型计算机、智能电话或其它移动设备、平板设备、嵌入式控制器、或包括嵌入式软件的任何硬件部件或物理系统。系统100可以采取具有计算能力的系统的任何形式,其中通过所述计算能力可以训练、使用或以其它方式应用用于嵌入式软件应用的异常检测模型。
如本文更详细描述的,系统100可以支持在学习阶段、运行时阶段或这两者中的基于机器学习的异常检测。在学习阶段,系统100可以根据影响执行活动的不同应用参数使用机器学习来表征嵌入式软件应用的活动。经由机器学习和包含有采样的应用参数和测量的应用活动的训练集,系统100可以构建异常检测模型以检测嵌入式软件应用的异常行为。在运行时阶段,系统100可以访问经训练的异常检测模型,以基于针对采样的运行时应用参数的嵌入式软件应用的经测量的运行时活动来检测异常。因此,系统100可以支持通过经由机器学习构建的异常检测模型来进行的嵌入式软件应用中的异常检测。
可以以各种方式实施系统100以提供本文描述的任何基于机器学习的异常检测特征。作为示例性的实施方式,图1中示出的系统100包括异常模型训练引擎110和异常检测引擎112。系统100可以以各种方式(例如通过硬件和编程方式)来实施引擎110和引擎112(及其部件)。针对引擎110和引擎112的编程可以采用存储在非瞬时性机器可读存储介质上的处理器可执行指令的形式,并且针对引擎110和引擎112的硬件可以包括用于执行这些指令的处理器。处理器可以采用单处理器或多处理器系统的形式,并且在一些示例中,系统100使用相同的计算系统特征或硬件部件(例如,公共处理器或公共存储介质)来实施多个引擎。
在操作中,异常模型训练引擎110可以基于嵌入式软件应用的应用行为利用机器学习来训练异常检测模型。例如,异常模型训练引擎110可以被配置成在给定采样点处对嵌入式软件应用进行采样,以获得(i)嵌入式软件应用的自先前采样点以来的活动度量,和(ii)在给定采样点处的用于嵌入式软件应用的应用参数。异常模型训练引擎110还可以被配置成基于针对给定采样点获得的所述活动度量和应用参数来生成训练数据,并且利用训练数据构建异常检测模型。异常检测模型可以被配置成基于活动度量输入和应用参数输入来确定嵌入式软件应用是否呈现异常行为。
在操作中,异常检测引擎112可以访问异常检测模型,以在嵌入式软件应用的运行时执行期间提供实时的异常检测能力。这种运行时的执行可以指或包括物理系统中的嵌入式软件应用的执行,其中嵌入式软件应用被设计成在该物理系统(例如,医疗设备、飞机控制器、防抱死制动系统等)中操作。在一些实施方式中,异常检测引擎112可以被配置成在嵌入式软件应用的运行时执行期间在采样点处对嵌入式软件应用进行采样,以获得在运行时执行期间的活动度量和应用参数。异常检测引擎112还可以被配置成提供在运行时执行期间采样的活动度量和采样的应用参数,作为到异常检测模型的输入,并且基于针对所提供输入的来自异常检测模型的输出来确定嵌入式软件应用是否呈现异常行为。
下面更详细地描述根据本公开的这些和其它基于机器学习的异常检测特征。特别地,结合图2和图3描述了关于在学习阶段中训练异常检测模型的示例性特征。结合图4描述了关于在运行时阶段中使用异常检测模型来检测异常应用行为的示例性特性。
图2示出了异常检测模型训练的示例,该异常检测模型训练通过异常模型训练引擎110经由机器学习来进行。在学习阶段期间,异常模型训练引擎110可以跟踪嵌入式软件应用的行为并且将跟踪的应用行为处理成训练数据,以训练异常检测模型。
作为例示的示例,图2描绘了嵌入式系统210。嵌入式系统210可以是实施或包括嵌入式软件的任何系统,该嵌入式软件例如包括图2所示的嵌入式软件应用212。在不同的嵌入式系统实施方式中,嵌入式软件应用212的执行可以由不同的计算资源来执行。在一些实例中,嵌入式软件应用212可以通过固件(例如,作为微控制器的部件、片上系统(system-on-a-chip,SoC)或其它硬件的部件)多次实现,其具有有限的存储器或处理器能力。在其它实例中,可以利用仿真或模拟系统来执行嵌入式软件应用212,这在学习阶段期间可能是有利的,因为与实际运行时实施相比,在学习阶段期间嵌入式软件应用212的执行不需要受限于有限的存储器或处理能力。在图2所示的示例中,嵌入式系统210包括仿真器214,该仿真器214可以在用于训练异常检测模型的学习阶段期间实行嵌入式软件应用212的执行。
如本文更详细描述的,异常模型训练引擎110可以经由机器学习来构建异常检测模型。异常检测模型可以将应用行为表征为正常的或异常的。为了训练异常检测模型,异常模型训练引擎110可以在学习阶段在嵌入式软件应用212的执行期间收集应用数据。然后,异常模型训练引擎110可以利用由在嵌入式软件应用212的执行期间采样的应用数据组成的训练数据来训练异常检测模型。
根据本公开,异常模型训练引擎110可以对所选类型的应用数据进行采样以训练异常检测模型。具体地,异常模型训练引擎110可以获得在嵌入式软件应用212的执行期间在各个采样点处的(i)活动度量和(ii)应用参数。
活动度量可以指用于嵌入式软件应用212的活动的可测量量,例如指令计数。为了确定指令计数,异常模型训练引擎110可以通过系统硬件(例如,性能监视器单元)、系统软件(例如,操作系统函数、API等)或这两者的组合来访问所跟踪的指令执行。获得的用于嵌入式软件应用212的指令计数可用作活动指示符,因为指令计数可忽略存储器访问成本和高速缓存(cache)命中率/未命中率,该高速缓存命中率/未命中率将在活动度量中引入随机变化并降低经训练的异常检测模型的准确性。异常模型训练引擎110可以获得的另一示例性活动度量是应用执行时间。为了测量执行时间,异常模型训练引擎110可以访问CPU内核的周期计数器或利用系统驱动器来提取嵌入式软件应用212的不同执行点之间的周期数据。
通过确定不同执行点处的活动度量,异常模型训练引擎110可以获得正常行为(即,不受恶意软件入侵影响的执行)期间的嵌入式软件应用212的应用活动的定量测量。然而,执行时间、指令计数和仅仅是定量活动度量可能展现嵌入式软件执行的不完整图片。执行活动可以根据嵌入式软件应用212的执行上下文而增加或减少,并且相同的软件操作、任务或执行线程可以基于在执行期间可应用的应用参数而具有(明显)不同的执行时间。可能影响采样的活动度量的示例性应用参数包括存储器条件、输入数据大小、输入数据内容(例如,高分辨率数据与低分辨率数据)、应用控制参数(例如,高精度和低精度操作模式)、系统功率约束等。
为了考虑这些变化,异常模型训练引擎110还可以针对可应用于采样的活动度量的应用参数对嵌入式软件应用212进行采样。应用参数可以指影响嵌入式软件应用212的执行的任何系统、应用或全局参数。异常模型训练引擎110可以以各种方式对嵌入式软件应用212的应用参数进行采样。例如,异常模型训练引擎110可以访问分配给应用任务或线程的静态存储器,以获得用于嵌入式软件应用212的特定应用任务或线程的存储参数。附加地或可替代地,异常模型检测可以访问存储在全局存储器中的全局变量,或者获得可应用于嵌入式系统210、嵌入式软件应用212或这两者的组合的长期状态值。
在一些实施方式中,异常模型训练引擎110可以实施参数访问函数,通过该参数访问函数,嵌入式软件应用212本身可以在采样期间提供可应用的应用参数。实施的参数访问函数可以采用API的形式,以非侵入式或非破坏性的方式提取应用参数。为了说明,嵌入式系统可以将输入数据或操作参数(例如,如由嵌入式软件应用212接收的输入通信帧中指定的那样)存储在通信控制器存储器、系统寄存器或先进先出(FIFO)队列中。对这种存储器结构的存储器读取访问将是破坏性操作和/或在没有驱动器级别优先级的情况下不可访问的。因此,由异常模型训练引擎110提供的参数访问函数可以在嵌入式软件应用212的执行期间提供非破坏性机制来对相关应用参数进行采样。
作为另一实施方式特征,异常模型训练引擎110可以对提供给嵌入式软件应用212的输入数据进行预处理,以提取可应用的应用参数。例如,异常模型训练引擎110可以以图像或视频文件的形式对输入进行预处理,以将异常模型训练引擎110可以获得的文件指示符、数据模式或多媒体特性确定为在所选采样点处的用于嵌入式软件应用212的采样的应用参数。
在本文描述的各种方式中,异常模型训练引擎110可以在嵌入式软件应用212的执行期间对活动度量和应用参数进行采样。可以由异常模型训练引擎110预先选择对活动度量和应用参数进行采样的特定执行点。为了帮助解释这些特征,在图2中示出了执行时间线220以例示不同的采样点,其中在所述不同的采样点处异常模型训练引擎110可以在嵌入式软件应用212的仿真执行期间对应用数据进行采样。如执行时间线220中所示,异常模型训练引擎110可选择采样点s1、s2、s3和s4,其中在采样点s1、s2、s3和s4处对嵌入式软件应用212进行采样以获得活动度量和应用参数。
在每个所选择的采样点s1、s2、s3和s4处,异常模型训练引擎110可以获得活动度量(例如,自先前采样点以来的应用活动的指示)以及可应用于该采样点的应用参数。因此,在采样点s2处,异常模型训练引擎110可以确定自先前采样点s1以来的活动度量(例如,嵌入式软件应用212的执行指令计数)以及在采样点s2处的有效应用参数。在图2中,异常模型训练引擎110获得在所描绘的采样点s1、s2、s3和s4处从嵌入式软件应用212采样的活动度量231和应用参数232的集合。
在一些实施方式中,异常模型训练引擎110为嵌入式软件应用212选择采样点,以覆盖嵌入式软件应用212的活动执行时段。图2中的执行时间线220示出了嵌入式软件应用212处于活动状态(active)的不同时间,其被描绘为沿着执行时间线220的利用对角线图案化的部分(其也可以被称为活动执行时段)。当嵌入式系统的一些或全部计算资源被活动地用于执行嵌入式软件应用212时,可以将嵌入式软件应用212称为活动的。当计算嵌入式系统的资源或未被使用或空闲时,可以将嵌入式软件应用212称为非活动(或空闲)的。
在许多嵌入式系统中,嵌入式软件被设计成接收输入、处理该输入并且生成输出。嵌入式软件应用通常用于物理系统中以监视系统部件,并且所监视的输入可能出现在这种物理系统的操作期间(例如,感测特定信号、接收要处理的数据文件等)。嵌入式软件的有效执行时段可以包括接收到输入之后的时间以及处理输入直到生成对应输出的时段。在生成输出之后,嵌入式软件可以变为非活动状态,直到接收到后续输入。
在图2的执行时间线220中例示了嵌入式软件应用212的活动执行时段和非活动执行时段的示例性序列。在采样点s1,嵌入式软件应用212可以响应于接收到输入而变为活动的(或者换句话说,进入活动执行时段)。当生成输出(未示出)时,嵌入式软件应用212可保持活动的直到采样点s2。从采样点s2至采样点s3,嵌入式软件应用212可以处于非活动执行时段,并且从采样点s3至采样点s4恢复成活动执行,以处理在采样点s3处接收的输入。
异常模型训练引擎110可以响应于嵌入式软件应用212变为活动的、非活动的或这两者来确定对嵌入式软件应用212进行采样。换句话说,异常模型训练引擎110可以选择采样点,使得响应于接收的输入、生成的输出或这两者的组合对嵌入式软件应用212进行采样。换句话说,异常模型训练引擎110可以以获得针对给定活动执行周期的活动度量以及获得针对每个给定活动执行周期的可应用的应用参数的方式对嵌入式软件应用212进行采样。(异常模型训练引擎110还可以在任务特定的基础上对嵌入式软件应用212进行采样,如下面关于图3更详细描述的那样)。以这种方式,异常模型训练引擎110可以选择采样点,其中在该采样点处对嵌入式软件应用212进行采样以获得活动度量和应用参数。
根据采样的活动度量和采样的应用参数,异常模型训练引擎110可以构建训练数据,以训练异常检测模型。在图2中,异常模型训练引擎110生成训练数据240,异常模型训练引擎110可构建为包括从嵌入式软件应用212采样的活动度量231和应用参数232中的一些或全部。在一些实例中,异常模型训练引擎110可以过滤经采样的应用参数232,以确定相关应用参数(例如,最影响嵌入式软件的应用活动的应用参数)的选定子集。实际上,异常模型训练引擎110可以执行参数选择处理过程以选择相关的机器学习特征来训练异常检测模型。在执行参数选择处理的过程中,异常模型训练引擎110可以采用统计相关技术、一致性校验或这两者的组合来确定表征应用活动的应用参数的特定子集。
异常模型训练引擎110可以利用准备的训练数据240来构建异常检测模型。在图2中,异常模型训练引擎110提供训练数据240作为训练集以训练异常检测模型250。为了训练异常检测模型250,异常模型训练引擎110可以利用任意数量的机器学习技术。例如,异常检测模型250可以实施任意数量的监督的、半监督的、非监督的或增强的学习模型,以基于采样的活动度量和采样的应用参数来表征嵌入式软件应用的行为。异常检测模型250可以包括支持向量机、马尔可夫链(Markov chain)、上下文树、神经网络、贝叶斯网络(Bayesiannetwork)或各种其它机器学习组件。
具体地,异常模型训练引擎110可以构建异常检测模型250,以基于活动度量输入和应用参数输入来确定嵌入式软件应用是否呈现异常行为。在一些实施方式中,异常检测模型250可以采取支持向量机(SVM)的形式,并且针对活动度量输入和应用参数输入提供异常确定。
由异常检测模型250提供的输出可以是指示异常检测模型250是否已识别嵌入式软件应用212的异常行为的二进制值。在其它示例中,异常检测模型250可以提供所提供的活动度量输入和应用参数输入指示异常应用行为的概率值。作为又一示例,异常模型训练引擎110可以提供用于应用参数输入的预测活动度量,通过该预测活动度量,可以基于与从嵌入式软件采样的运行时活动度量的比较来检测异常应用行为。可以经由异常检测模型250来设想任何这种异常检测技术,并且在下面关于图4进一步讨论。
如上所述,异常模型训练引擎110可以根据从嵌入式软件应用212采样的应用数据来构建异常检测模型250。在图2的示例中,异常模型训练引擎110利用在执行期间采样的活动度量和应用参数来训练异常检测模型250。在一些实施方式中,异常模型训练引擎110可以以比一般应用行为更精细的粒度来对应用数据(具体地,活动度量和应用参数)进行采样并训练异常检测模型。例如,异常模型训练引擎110可以采样并将任务特定的行为表征为正常的或异常的。下面将针对图3讨论这些特征。
图3示出了通过异常模型训练引擎110进行的任务特定的异常检测模型的示例性训练。应用任务(也称为任务、执行线程或应用线程)可以指用于执行任务特定或由嵌入式软件的实例产生的其它任务的嵌入式软件的任何执行序列(例如初始化线程)。应用任务还可以指可由调度器或其它操作系统逻辑管理的编程的指令序列。嵌入式软件的执行可包括多个活动任务执行,其可以涉及上下文切换、抢占(preemption)和不同应用任务的执行序列之间的其它中断。异常模型训练引擎110可在任务特定的基础上训练异常检测模型,这可以支持在任务特定的基础上的正常或异常嵌入式应用行为的表征。
为了说明,图3描绘了图2中描述的嵌入式系统210,该嵌入式系统210包括嵌入式软件应用212和在学习阶段期间用于仿真的应用执行的仿真器214。同样如图3所示,执行时间线320的示例描绘了被执行为嵌入式软件应用212的一部分的多个不同任务。在执行时间线320中,标记为任务A的应用任务被示出为在沿着执行时间线320的利用对角线图案化的部分(也称为针对任务A有效的执行时段)中有效。在执行时间线320中也示出了标记为任务B的另一应用任务,该应用任务被示出为在沿着执行时间线320的利用竖直线图案化的部分中有效。
异常模型训练引擎110可以在足够的采样点处对嵌入式软件应用212进行采样,以针对给定应用任务确定从任务开始到任务完成的活动度量和应用参数,即使当给定应用任务的执行被其它应用任务抢占时也是如此。为此,异常模型训练引擎110可以在给定应用任务开始、暂停(例如,由于抢占或上下文切换)或完成的执行点处对嵌入式软件应用212进行采样。在图3所示的示例中,执行时间线320描绘了采样点s1、s2、s3、s4、s5、s6和s7,其中在这些采样点处,异常模型训练引擎110对嵌入式软件应用212进行采样以获得任务A和任务B的活动度量和应用参数。
在图3所示的示例中,响应于接收到特定于任务A的应用输入(在执行时间线320中标记为输入(A)),开始执行任务A。同样在该示例中,嵌入式软件应用的任务B在优先级上更高,并且抢占任务A的执行。响应于由嵌入式软件应用212接收到特定于任务B的输入(在执行时间线320中标记为输入(B)),开始执行任务B。因此,从采样点s1(当响应于输入(A)开始执行任务A时)到采样点s6(当任务A的执行完成时),任务B的两个执行实例抢占任务A的执行。如图3中所示,异常模型训练引擎110可以在以下特定执行点处对嵌入式软件应用212进行采样:当任务A开始时(采样点s1和s7)、当任务B开始时(采样点s2和s4)、任务A被抢占时(也是采样点s2和s4)、当任务B完成时(采样点s3和s5)、当任务A恢复(也是采样点s3和s5)时、以及当任务A完成(采样点s6)时。
通过在不同的任务开始点、暂停点或停止点对嵌入式软件应用212进行采样,异常模型训练引擎110可以确定用于整个任务A的活动度量,即使任务A在多个执行点处被任务B的执行实例抢占。在图3中,异常模型训练引擎110在执行时间线320期间从嵌入式软件应用212对活动度量331和应用参数332进行采样。采样的活动度量331可以包括针对任务B的至少两个活动度量,一个针对从采样点s2到s3执行的任务B的实例,一个针对从采样点s4到s5执行的任务B的实例。采样的应用参数332可以包括用于任务B的至少两组应用参数,一组应用参数可应用于任务B的每个执行实例。此外,异常模型训练引擎110可以获得针对在采样点s1开始并在s6完成的任务A的执行实例的活动度量,其中异常模型训练引擎110可将该活动度量确定为从s1到s2、从s3到s4和从s5到s6采样的活动度量的总和。以类似的方式,异常模型训练引擎110可以针对活动度量总和确定可应用于任务A的特定应用参数。
因此,异常模型训练引擎110可以在基于任务特定的不同的执行点处对嵌入式软件应用212进行采样。这样做时,异常模型训练引擎110可以识别由嵌入式软件应用212在给定采样点(例如,任务A直到采样点s2之前一直是活动的)处执行的给定应用任务。在采样期间的“活动的”应用任务的识别可能涉及访问指示当前线程、当前任务、当前进程或其它系统指示符的OS系统参数。
异常模型训练引擎110还可以具体地构建训练集,该训练集在针对不同应用任务进行采样的应用数据之间进行区分。在图3中,异常模型训练引擎110根据采样的活动度量331和采样的应用参数332来准备训练数据340。可以生成训练数据340以包括在任务特定的基础上区分的多个不同训练集。在这方面,训练数据340可以包括用于嵌入式软件应用212的任务A和任务B的不同训练集。
异常模型训练引擎110可以构建异常检测模型250以包括多个任务特定的异常检测模型,诸如图3中示出为模型351和352的针对任务A和任务B的任务特定的异常检测模型。在这方面,异常模型训练引擎110可提供给定的任务特定的训练数据集合,以训练给定的任务特定的异常检测模式,并且多个任务特定的异常检测模型的训练可支持基于任务特定的异常应用行为的表征。在一些实施方式中,异常模型训练引擎110可以将异常检测模型250构建为多个任务特定的异常检测模型,例如,用于由嵌入式软件应用212支持的一些或所有应用任务中的每一个的不同模型。
为了进一步说明,任务特定的异常检测模型351和352可以提供应用行为的任务特定的表征。例如,任务A异常检测模型351可以提供特定于嵌入式软件应用212的任务A的异常行为确定,基于特定于任务A的活动度量输入和应用参数输入来这样做。以类似的方式,任务B异常检测模型352可以提供特定于嵌入式软件应用212的任务B的异常行为确定。由于通过异常模型训练引擎110训练的给定的任务特定的异常检测模型可以利用应用于给定任务的应用参数进行具体地训练,因此可以针对在任务特定的基础上影响嵌入式软件应用212的执行活动的任务特定上下文,对经训练的任务特定的异常检测模型进行具体地定制。
在上述任意的方式中,异常模型训练引擎110可以支持异常检测模型在学习阶段的训练。具体地,异常模型训练引擎110可以使用机器学习来训练被配置为表征嵌入式应用行为的异常检测模型,这样做考虑了在嵌入式软件执行期间可应用的特定应用参数。可以在运行时阶段访问并使用经训练的异常检测模型,以检测嵌入式软件应用的异常行为,如下面关于图4所描述的。
图4示出了通过异常检测引擎112进行的嵌入式应用行为的示例性运行时特性。在图4中,嵌入式系统410的示例被实施为物理系统的一部分,例如为罐式车的制动部件。尽管分开例示,但异常检测引擎112和异常检测模型250也可以是嵌入式系统410的一部分,例如共享公共计算资源(例如存储器或一个或多个处理器)。
嵌入式系统410可以包括嵌入到硬件部件412(例如,嵌入式控制器)中的嵌入式软件应用212。在图4中,硬件部件412与罐式车的防抱死制动传感器414通信,然而设想在物理系统中几乎无限制的其它应用。在图4所示的示例中,硬件部件412可以执行嵌入式软件应用212以监视由防抱死制动传感器414感测到的制动状况(到嵌入式软件应用212的输入),并基于感测到的状况生成输出。罐式车中的这种实际操作可以被表征为嵌入式软件应用212(例如,在物理系统内,嵌入式软件应用212被设计成在其中操作)的运行时执行。
同样如图4所示,异常检测引擎112可以在运行时执行期间监视嵌入式软件应用212的行为。为此,异常检测引擎112可以在学习阶段期间(例如,如上所述)访问针对嵌入式软件应用212训练的异常检测模型250。异常检测引擎112可以在选定的采样点处对嵌入式软件应用212进行采样,以获得活动度量和应用参数,包括基于任务特定的活动度量和应用参数。异常检测引擎112可以以与异常模型训练引擎110一致的方式对嵌入式软件应用212进行采样,包括根据本文(例如,在图2和图3中)描述的任何采样点选择特征。可以将采样的活动度量和采样的应用参数作为输入提供给异常检测模型250,通过异常检测模型250可以产生异常行为确定。
为了通过图4进行说明,示出了在嵌入式软件应用212的运行时执行期间的示例性执行时间线420。在执行时间线420中,嵌入式软件应用212的任务A在沿着执行时间线420的利用对角线图案化的部分中被示出为活动的。还在执行时间线420中通过沿着执行时间线420的利用竖直线图案化的部分示出任务B的活动执行时段。异常检测引擎112可以在运行时执行期间在多个采样点处对嵌入式软件应用进行采样,包括在应用任务开始、暂停(例如,被抢占)或完成的任何执行点处。如图4所示,异常检测引擎112在执行时间线420的采样点s1、s2、s3和s4处对嵌入式软件应用212进行采样。
异常检测引擎112可以获得针对嵌入式软件应用212的特定于对嵌入式软件应用212进行采样的执行点的活动度量431和应用参数432。采样的活动度量431和采样的应用参数432可以是任务特定的,例如包括用于任务B的从采样点s2到s3的指令计数或其它活动度量以及任务B特定的从采样点s2到s3的应用参数。以一致的方式,采样的活动度量431可以包括针对任务A的从采样点s1到s2和s3到s4的总活动度量以及在任务A的该活动执行时段期间有效的应用参数。
在一些实施方式中,异常检测引擎112对嵌入式软件应用212进行采样,以获得与用于训练异常检测模型250的特征一致的应用参数。这样做,异常检测引擎112可以对由嵌入式软件应用212或对应的应用任务使用的应用参数的选定子集进行采样。由异常检测引擎112采样的应用参数的选定子集可以与由异常模型训练引擎110从参数选择处理过程确定的应用参数的选定子集相同(其可以在任务特定的基础上执行)。换句话说,异常检测引擎112可以对用于训练异常检测模型250、351或352的应用参数的特定子集(例如,任务特定的)进行采样,而不必对未用于训练这些模型的其它应用参数进行采样。
异常检测引擎112可以提供采样的活动度量431和采样的应用参数432作为到异常检测模型250的输入,以表征嵌入式软件应用212的应用行为。对于任务特定的特性,异常检测引擎112可以在多个任务特定的异常检测模型(例如,351和352)中进行选择以用于在采样点s1至s2和s3至s4处的采样的活动度量431和采样的应用参数432。异常检测引擎112可以基于由嵌入式软件应用212在多个采样点处执行的给定应用任务来这样做,例如,通过提供用于任务A的采样的活动度量和采样的应用参数作为对任务A异常检测模型351的输入,并将用于任务B的采样的活动度量和采样的应用参数提供给任务B异常检测模型352来进行。
异常检测模型250可以提供根据输入活动度量431和应用参数432生成的异常行为确定460。异常行为确定460可以采取由异常检测模型250(包括任务特定的异常检测模型351和352)支持的任意类型的输出的形式。示例性输出包括指示正常或异常应用行为、异常概率等的二进制值输出,其中任何一者可以是任务特定于。因此,异常行为确定460可以包括任务特定的输出,每个任务特定的输出可以表征嵌入式软件应用212的任务特定行为是否异常,并且基于具体采样的应用参数来这样做。在图4的示例中,异常行为确定460可提供关于任务A和任务B的采样应用行为是否被表征为异常的单独指示。
在一些实施方式中,异常检测引擎112可以在嵌入式软件应用212的非活动执行时段期间访问异常检测模型250。嵌入式系统410可以具有有限的计算/存储器资源或者受到精确的时序约束。为了减少用于异常检测的定时干扰或资源开销,异常检测引擎112可以在运行时执行期间确定嵌入式软件应用212(例如,在采样点s4处)进入非活动执行时段。响应于该确定,异常检测引擎112可以向异常检测模型250提供采样的输入(例如,采样的活动度量431和采样的应用参数432),并且确定嵌入式软件应用212在非活动执行时段期间(例如,在采样点s4之后)是否呈现嵌入式软件应用212的异常行为。
异常检测引擎112可以基于异常行为确定260来确定嵌入式软件应用212呈现异常行为,异常行为确定260可以包括识别具有异常活动的一个或多个特定应用任务。一旦检测到异常行为,异常检测引擎112可以例如向物理系统的中央监控系统、系统操作系统或被配置为监视物理系统支持的嵌入式软件应用212的操作的其它逻辑实体提供异常警报。因此,异常检测引擎112可以支持在嵌入式软件的运行时执行期间检测异常应用活动。
如本文所述,可以在学习阶段和运行时间阶段中提供基于机器学习的异常检测特征。通过特别地利用活动度量和应用参数两者对模型进行采样和训练,本文描述的基于机器学习的异常检测特征可以提供有效和准确的机制,通过该机制可以识别嵌入式软件中的异常活动。通过学习基于这些采样的方面的应用行为,异常模型训练引擎110和异常检测引擎112可以识别与恶意软件如何渗透系统无关的异常行为(例如,不需要识别入侵的形式),并且可以进一步支持对未识别的或先前未知的恶意软件的检测。由于活动度量与应用参数相关,因此本文描述的基于机器学习的异常检测特征不需要具有恶意软件的特定攻击模式或特性的先验知识。因此,本文描述的特征可以提供具有提高的有效性和鲁棒性的应用安全性。此外,任务特定的异常经由任务特定的模型来支持,这可以在识别恶意软件入侵时提供更大的粒度和灵活性。
图5示出了逻辑500的示例,其中系统可以实施该逻辑以支持异常检测模型的学习阶段训练。例如,系统100可以将逻辑500实施为硬件、存储在机器可读介质上的可执行指令或这两者的组合。系统100可以经由异常模型训练引擎110来实施逻辑500,系统100可通过异常模型训练引擎110来执行或进行逻辑500,作为使用机器学习来训练用于嵌入式软件应用的异常检测模型的方法。利用异常模型训练引擎110作为实施示例来提供逻辑500的以下描述。然而,系统100的各种其它实施选项也是可行的。
在实施逻辑500时,异常模型训练引擎110可以在选定的采样点处对嵌入式软件应用进行采样,以获得嵌入式软件应用的活动度量和应用参数(502)。异常模型训练引擎110还可以基于针对选定的采样点获得的活动度量和应用参数来生成训练数据(504),并且利用训练数据来构建异常检测模型(506)。异常模型训练引擎110可以以本文描述的各种方式中的任意一者(包括基于任务特定的方式)来执行所描述的步骤502、步骤504和步骤506。以这种方式,异常模型训练引擎110可以训练异常检测模型,其中该异常检测模型被配置成基于活动度量输入和应用参数输入来确定嵌入式软件应用是否呈现异常行为。
图6示出了逻辑600的示例,其中系统可以实施该逻辑以支持在嵌入式软件的运行时执行期间的异常检测。例如,系统100可以将逻辑600实现为硬件、存储在机器可读介质上的可执行指令或这两者的组合。系统100可以经由异常检测引擎112实施逻辑600,系统100可以通过异常检测引擎112来执行或进行逻辑600,作为在嵌入式软件应用的运行时执行期间检测异常行为的方法。利用异常检测引擎112作为实施示例来提供逻辑600的以下描述。然而,系统100的各种其它实施选项也是可行的。
在实施逻辑600时,异常检测引擎112可以在嵌入式软件应用的运行时执行期间在采样点处对嵌入式软件应用进行采样(602)。这样做,异常检测引擎112可以获得在运行时执行期间的活动度量和应用参数。然后,异常检测引擎112可以在运行时执行期间确定嵌入式软件应用进入非活动执行时段(604),例如通过确定嵌入式软件应用完成调度的应用任务的执行或者通过识别嵌入式系统的计算资源已经空闲或非活动来确定嵌入式软件应用进入非活动执行时段。
响应于确定嵌入式软件应用已进入非活动执行时段,异常检测引擎112可以访问针对嵌入式软件训练的异常检测模型(606),并且提供在运行时执行期间采样的活动度量和采样的应用参数,作为到异常检测模型的输入(608)。异常检测引擎112还可以基于针对所提供的输入的来自异常检测模型的输出来确定嵌入式软件应用是否呈现异常行为(610)。
异常检测引擎112可以以本文描述的各种方式中的任意一者(包括基于任务特定的方式)来执行所描述的步骤602、步骤604、步骤606、步骤608和步骤610。以这种方式,异常检测引擎112可以在嵌入式软件应用的运行时执行期间检测异常应用行为。
图5和图6所示的逻辑提供了系统可以通过该逻辑支持用于嵌入式软件应用的基于机器学习的异常检测的示例。本文设想在逻辑500和/或逻辑600中具附加的或可替代的步骤,包括根据本文中描述的用于异常模型训练引擎110、异常检测引擎112或这两者的组合的任何特征。
图7示出了支持用于嵌入式软件应用的基于机器学习的异常检测的系统700的示例。系统700可以包括处理器710,处理器710可以采用单个或多个处理器的形式。一个或多个处理器710可以包括中央处理单元、微处理器或适合于执行存储在机器可读介质上的指令的任何硬件设备。系统700可以包括机器可读介质720。机器可读介质720可以采用存储可执行指令的任何非瞬时性电子、磁性、光学或其它物理存储设备的形式,所述可执行指令诸如图7中所示的异常模型训练指令722和异常检测指令724。因此,机器可读介质720可以是例如随机存取存储器(RAM)(诸如动态随机存取存储器(DRAM))、闪存、自旋转移转矩存储器、电可擦除可编程只读存储器(EEPROM)、存储驱动器、光盘等。
系统700可以通过处理器710执行存储在机器可读介质720上的指令。执行指令(例如,异常模型训练指令722和异常检测指令724)可以使系统700执行本文描述的任何基于机器学习的异常检测特征,包括根据关于异常模型训练引擎110、异常检测引擎112或这两者的组合的任何特征。
例如,通过处理器710执行异常模型训练指令722可以使得系统700在给定采样点处对嵌入式软件应用进行采样,以获得嵌入式软件应用的自先前采样点以来的活动度量以及在给定采样点处的用于嵌入式软件应用的应用参数。通过处理器710执行异常模型训练指令722还可使得系统700基于针对给定采样点获得的活动度量和应用参数来生成训练数据,并且利用训练数据来构建异常检测模型。所构建的异常检测模型可以被配置成基于活动度量输入和应用参数输入来确定嵌入式软件应用是否呈现异常行为。
通过处理器710执行异常检测指令724可以使得系统700在嵌入式软件应用的运行时执行期间在给定采样点处对嵌入式软件应用进行采样,以获得在运行时执行期间的活动度量和应用参数,并且在运行时执行期间确定嵌入式软件应用进入非活动执行时段。通过处理器710执行异常检测指令724,作为响应还可以使得系统700:访问异常检测模型,所述异常检测模型被配置成基于活动度量输入和应用参数输入来确定嵌入式软件应用是否呈现异常行为;提供在运行时执行期间采样的活动度量和采样的应用参数,作为到异常检测模型的输入;以及基于针对所提供的输入的来自异常检测模型的输出来确定嵌入式软件应用是否呈现异常行为。
可以经由异常模型训练指令722、异常检测指令724或这两者的组合来实施如本文所述的任何附加的或可替代的特征。
上述的系统、方法、设备和逻辑,包括异常模型训练引擎110和异常检测引擎112,可以以多种不同的方式以多种不同的硬件、逻辑、电路以及存储在机器可读介质上的可执行指令的组合来实施。例如,异常模型训练引擎110、异常检测引擎112或其组合可以包括控制器、微处理器或专用集成电路(ASIC)中的电路,或者可以用分立逻辑或组件来实施,或者可以用组合在单个集成电路上或分布在多个集成电路之间的其它类型的模拟或数字电路的组合来实施。诸如计算机程序产品之类的产品可以包括存储介质和存储在该介质上的机器可读指令,当在端点、计算机系统或其它设备中执行时,该存储介质和机器可读指令使得该设备执行根据以上描述中的任一者(包括根据异常模型训练引擎110、异常检测引擎112或其组合的任何特征)来执行操作。
本文描述的系统、设备和引擎(包括异常模型训练引擎110和异常检测引擎112)的处理能力,可以分布在多个系统部件之间,例如在多个处理器和存储器之间,可选地包括多个分布式处理系统或云端/网络元件。参数、数据库和其它数据结构可以被分开存储和管理,可以被合并到单个存储器或数据库中,可以以许多不同的方式被逻辑地和物理地组织,并且可以以包括有数据结构(例如链表)、哈希表或者隐式存储机制的多种方式来实施。程序可以是单个程序的组成部分(例如子例程)、分开的程序,分布在多个存储器和处理器上,或以多种不同的方式(例如库(例如共享库))来实施。
尽管上面已经描述了各个示例,但是更多的实施方式也是可行的。
Claims (15)
1.一种用于嵌入式软件应用的基于机器学习的异常检测的系统(100),包括:
异常模型训练引擎(110),其被配置成:
在给定采样点处对嵌入式软件应用(212)进行采样,以获得:
所述嵌入式软件应用(212)的自先前采样点以来的活动度量(231,331,431);以及
在所述给定采样点处的用于所述嵌入式软件应用(212)的应用参数(232,332,432);
基于针对所述给定采样点获得的所述活动度量(231,331,431)和所述应用参数(232,332,432)来生成训练数据(240,340);
利用所述训练数据(240,340)来构建异常检测模型(250),所述异常检测模型(250)被配置成基于活动度量输入和应用参数输入来确定(460)所述嵌入式软件应用(212)是否呈现异常行为;以及
异常检测引擎(112),其被配置成:
在所述嵌入式软件应用(212)的运行时执行期间在所述给定采样点处对所述嵌入式软件应用(212)进行采样,以获得在所述运行时执行期间的活动度量(231,331,431)和应用参数(232,332,432);
提供在所述运行时执行期间采样的所述活动度量(231,331,431)和采样的所述应用参数(232,332,432),作为到所述异常检测模型(250)的输入;以及
基于针对所提供输入的来自所述异常检测模型(250)的输出来确定所述嵌入式软件应用(212)是否呈现异常行为。
2.根据权利要求1所述的系统,其中,
所述异常模型训练引擎(110)被配置成在学习阶段期间对所述嵌入式软件应用(212)进行采样,其中在所述学习阶段期间通过仿真器(214)实行所述嵌入式软件应用(212)的执行;以及
所述异常检测引擎(112)被配置成在所述运行时执行期间对所述嵌入式软件应用(212)进行采样,其中在所述运行时执行期间通过其中嵌入所述嵌入式软件应用(212)的硬件部件(412)来实行所述嵌入式软件应用(212)的执行。
3.根据权利要求1所述的系统,其中,所述异常模型训练引擎(110)还被配置成:
识别由所述嵌入式软件应用(212)在所述给定采样点处执行的给定应用任务;以及
构建所述异常检测模型(250)以包括多个任务特定的异常检测模型(351,352),所述多个任务特定的异常检测模型包括针对所述给定应用任务的任务特定的异常检测模型(351,352)。
4.根据权利要求3所述的系统,其中,所述异常检测引擎(112)还被配置成:
在所述运行时执行期间在多个采样点处对所述嵌入式软件应用(212)进行采样;以及
基于由所述嵌入式软件应用(212)在所述多个采样点处执行的给定应用任务,在所述多个任务特定的异常检测模型(351,352)中进行选择以用于在所述多个采样点处采样的活动度量(231,331,431)和采样的应用参数(232,332,432)。
5.根据权利要求1所述的系统,其中,所述活动度量(231,331,431)包括自所述先前采样点以来执行的指令计数、自所述先前采样点以来的执行时间、或者这两者的组合。
6.根据权利要求1所述的系统,其中,所述异常模型训练引擎被配置成在所述给定采样点处从由所述嵌入式软件应用(212)存储的全局变量或静态变量中获得用于所述嵌入式软件应用(212)的所述应用参数(232,332,432)。
7.根据权利要求1所述的系统,其中,所述异常模型训练引擎被配置成通过执行参数选择处理过程以确定所获得的应用参数(232,332,432)的选定子集包括在所述训练数据(240,340)中来进一步生成所述训练数据(240,340)。
8.根据权利要求7所述的系统,其中,所述异常模型训练引擎被配置成经由统计相关性、一致性校验、或者这两者的组合来执行所述参数选择处理过程。
9.根据权利要求1所述的系统,其中,所述异常检测引擎还被配置成:
在所述运行时执行期间确定所述嵌入式软件应用(212)进入非活动执行时段;以及
向所述异常检测模型(250)提供所述输入,并且在所述嵌入式软件应用(212)处于所述非活动执行时段时利用所述异常检测模型(250)确定所述嵌入式软件应用(212)是否呈现异常行为。
10.一种用于嵌入式软件应用的基于机器学习的异常检测的方法,包括:
通过嵌入式系统(210,410):
在嵌入式软件应用(212)的运行时执行期间在给定采样点处对所述嵌入式软件应用(212)进行采样(602),以获得在所述运行时执行期间的活动度量(231,331,431)和应用参数(232,332,432);
在所述运行时执行期间确定(604)所述嵌入式软件应用(212)进入非活动执行时段,并且作为响应:
访问(606)异常检测模型(250),所述异常检测模型(250)被配置成基于活动度量(231,331,431)输入和应用参数输入来确定(460)所述嵌入式软件应用(212)是否呈现异常行为;
提供(608)在所述运行时执行期间针对所述给定采样点采样的所述活动度量(231,331,431)和所述应用参数(232,332,432),作为到所述异常检测模型(250)的输入;以及
基于针对所提供的输入的来自所述异常检测模型(250)的输出来确定(610)所述嵌入式软件应用(212)是否呈现异常行为。
11.根据权利要求10所述的方法,其中,所述活动度量(231,331,431)包括自先前采样点以来执行的指令计数、自所述先前采样点以来的执行时间、或者这两者的组合。
12.根据权利要求10所述的方法,其中,所述异常检测模型(250)包括多个任务特定的异常检测模型(351,352),所述多个任务特定的异常检测模型包括针对不同的应用任务的不同的任务特定的异常检测模型(351,352),并且还包括:
在所述运行时执行期间在多个采样点处对所述嵌入式软件应用(212)进行采样;以及
基于由所述嵌入式软件应用(212)在所述多个采样点处执行的给定应用任务,在所述多个任务特定的异常检测模型(351,352)中进行选择以用于在所述多个采样点处采样的活动度量(231,331,431)和采样的应用参数(232,332,432)。
13.根据权利要求10所述的方法,其中,所述采样包括在所述给定采样点处从由所述嵌入式软件应用(212)存储的全局变量或静态变量中获得用于所述嵌入式软件应用(212)的所述应用参数(232,332,432)。
14.根据权利要求10所述的方法,还包括,在学习阶段期间通过以下步骤来训练所述异常检测模型(250):
在所述给定采样点处对所述嵌入式软件应用(212)进行采样(502),以获得:
所述嵌入式软件应用(212)的自先前采样点以来的活动度量(231,331,431);以及
在所述给定采样点处的用于所述嵌入式软件应用(212)的应用参数(232,332,432);
基于针对所述给定采样点获得的所述活动度量(231,331,431)和所述应用参数(232,332,432)来生成(504)训练数据(240,340);以及
利用所述训练数据(240,340)来构建(506)所述异常检测模型(250)。
15.一种包括指令(722,724)的非瞬时性机器可读介质(700),当所述指令由处理器(710)执行时使得嵌入式系统(210,410):
在嵌入式软件应用(212)的运行时执行期间在给定采样点处对所述嵌入式软件应用(212)进行采样,以获得在所述运行时执行期间的活动度量(231,331,431)和应用参数(232,332,432);
在所述运行时执行期间确定所述嵌入式软件应用(212)进入非活动执行时段,并且作为响应:
访问异常检测模型(250),所述异常检测模型(250)被配置成基于活动度量(231,331,431)输入和应用参数输入来确定(460)所述嵌入式软件应用(212)是否呈现异常行为;
提供在所述运行时执行期间采样的所述活动度量(231,331,431)和所述应用参数(232,332,432),作为到所述异常检测模型(250)的输入;以及
基于针对所提供的输入的来自所述异常检测模型(250)的输出来确定所述嵌入式软件应用(212)是否呈现异常行为。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2019/020701 WO2020180300A1 (en) | 2019-03-05 | 2019-03-05 | Machine learning-based anomaly detections for embedded software applications |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113508381A CN113508381A (zh) | 2021-10-15 |
CN113508381B true CN113508381B (zh) | 2024-03-01 |
Family
ID=65818632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980093409.3A Active CN113508381B (zh) | 2019-03-05 | 2019-03-05 | 用于嵌入式软件应用的基于机器学习的异常检测 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220147614A1 (zh) |
EP (1) | EP3918500B1 (zh) |
JP (1) | JP7282195B2 (zh) |
CN (1) | CN113508381B (zh) |
WO (1) | WO2020180300A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112019006821B4 (de) * | 2019-03-06 | 2023-02-09 | Mitsubishi Electric Corporation | Angriffserfassungseinrichtung und angriffserfassungsprogramm |
US11449711B2 (en) * | 2020-01-02 | 2022-09-20 | Applied Materials Isreal Ltd. | Machine learning-based defect detection of a specimen |
CN112764969A (zh) * | 2020-12-31 | 2021-05-07 | 未鲲(上海)科技服务有限公司 | 应用软件的异常处理方法及相关设备 |
CN114327916B (zh) * | 2022-03-10 | 2022-06-17 | 中国科学院自动化研究所 | 一种资源分配系统的训练方法、装置及设备 |
CN115408696B (zh) * | 2022-11-02 | 2023-04-07 | 荣耀终端有限公司 | 应用识别方法及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107392025A (zh) * | 2017-08-28 | 2017-11-24 | 刘龙 | 基于深度学习的恶意安卓应用程序检测方法 |
CN109246072A (zh) * | 2017-07-11 | 2019-01-18 | 波音公司 | 具有自适应机器学习特征的网络安全系统 |
Family Cites Families (168)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6671811B1 (en) * | 1999-10-25 | 2003-12-30 | Visa Internation Service Association | Features generation for use in computer network intrusion detection |
US6519703B1 (en) * | 2000-04-14 | 2003-02-11 | James B. Joyce | Methods and apparatus for heuristic firewall |
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 |
US7752665B1 (en) * | 2002-07-12 | 2010-07-06 | TCS Commercial, Inc. | Detecting probes and scans over high-bandwidth, long-term, incomplete network traffic information using limited memory |
US7424489B1 (en) * | 2004-01-23 | 2008-09-09 | At&T Corp. | Methods and apparatus for space efficient adaptive detection of multidimensional hierarchical heavy hitters |
US20050229250A1 (en) * | 2004-02-26 | 2005-10-13 | Ring Sandra E | Methodology, system, computer readable medium, and product providing a security software suite for handling operating system exploitations |
FR2888071A1 (fr) * | 2005-06-30 | 2007-01-05 | France Telecom | Module et systeme de communication pour la mise en oeuvre d'un systeme de gestion a distance d'equipements |
US20070030842A1 (en) * | 2005-07-18 | 2007-02-08 | Walter Borden | System for the analysis and monitoring of ip communications |
CA2531410A1 (en) * | 2005-12-23 | 2007-06-23 | Snipe Network Security Corporation | Behavioural-based network anomaly detection based on user and group profiling |
US20070289013A1 (en) * | 2006-06-08 | 2007-12-13 | Keng Leng Albert Lim | Method and system for anomaly detection using a collective set of unsupervised machine-learning algorithms |
US8171545B1 (en) * | 2007-02-14 | 2012-05-01 | Symantec Corporation | Process profiling for behavioral anomaly detection |
US8015133B1 (en) * | 2007-02-20 | 2011-09-06 | Sas Institute Inc. | Computer-implemented modeling systems and methods for analyzing and predicting computer network intrusions |
IL195081A0 (en) * | 2008-11-03 | 2011-08-01 | Deutche Telekom Ag | Acquisition of malicious code using active learning |
US8516590B1 (en) * | 2009-04-25 | 2013-08-20 | Dasient, Inc. | Malicious advertisement detection and remediation |
JP5431235B2 (ja) | 2009-08-28 | 2014-03-05 | 株式会社日立製作所 | 設備状態監視方法およびその装置 |
US8549643B1 (en) * | 2010-04-02 | 2013-10-01 | Symantec Corporation | Using decoys by a data loss prevention system to protect against unscripted activity |
US20110295672A1 (en) * | 2010-05-25 | 2011-12-01 | Dimitriadis Christos K | Methods and a system for detecting fraud in betting and lottery games |
US9094291B1 (en) * | 2010-12-14 | 2015-07-28 | Symantec Corporation | Partial risk score calculation for a data object |
US8863256B1 (en) * | 2011-01-14 | 2014-10-14 | Cisco Technology, Inc. | System and method for enabling secure transactions using flexible identity management in a vehicular environment |
TWI534658B (zh) * | 2011-03-25 | 2016-05-21 | 義守大學 | 資料輸入異常之警示方法 |
US8418249B1 (en) * | 2011-11-10 | 2013-04-09 | Narus, Inc. | Class discovery for automated discovery, attribution, analysis, and risk assessment of security threats |
JP5756412B2 (ja) | 2012-01-12 | 2015-07-29 | 株式会社日立製作所 | 監視方法および監視システム |
CN103679022B (zh) | 2012-09-20 | 2016-04-20 | 腾讯科技(深圳)有限公司 | 病毒扫描方法和装置 |
US20140114442A1 (en) * | 2012-10-22 | 2014-04-24 | The Boeing Company | Real time control system management |
CN104335196B (zh) * | 2012-10-22 | 2017-10-13 | 英特尔公司 | 用于传送数据的方法、装置和系统 |
US9141791B2 (en) * | 2012-11-19 | 2015-09-22 | Hewlett-Packard Development Company, L.P. | Monitoring for anomalies in a computing environment |
US20140157405A1 (en) * | 2012-12-04 | 2014-06-05 | Bill Joll | Cyber Behavior Analysis and Detection Method, System and Architecture |
JP6643085B2 (ja) * | 2012-12-06 | 2020-02-12 | ザ・ボーイング・カンパニーThe Boeing Company | 脅威検出のためのコンテキスト・アウェア・ネットワーク・セキュリティ・モニタリング |
US9378361B1 (en) * | 2012-12-31 | 2016-06-28 | Emc Corporation | Anomaly sensor framework for detecting advanced persistent threat attacks |
KR20150119895A (ko) * | 2013-02-15 | 2015-10-26 | 퀄컴 인코포레이티드 | 다수의 분석기 모델 제공자들을 갖는 이동 디바이스에서의 온-라인 거동 분석 엔진 |
US9159035B1 (en) * | 2013-02-23 | 2015-10-13 | Fireeye, Inc. | Framework for computer application analysis of sensitive information tracking |
US9509688B1 (en) * | 2013-03-13 | 2016-11-29 | EMC IP Holding Company LLC | Providing malicious identity profiles from failed authentication attempts involving biometrics |
US8850597B1 (en) * | 2013-03-14 | 2014-09-30 | Ca, Inc. | Automated message transmission prevention based on environment |
US9208326B1 (en) * | 2013-03-14 | 2015-12-08 | Ca, Inc. | Managing and predicting privacy preferences based on automated detection of physical reaction |
US9055071B1 (en) * | 2013-03-14 | 2015-06-09 | Ca, Inc. | Automated false statement alerts |
US9047253B1 (en) * | 2013-03-14 | 2015-06-02 | Ca, Inc. | Detecting false statement using multiple modalities |
US8887300B1 (en) * | 2013-03-14 | 2014-11-11 | Ca, Inc. | Automated message transmission prevention based on a physical reaction |
US9256748B1 (en) * | 2013-03-14 | 2016-02-09 | Ca, Inc. | Visual based malicious activity detection |
WO2014149827A1 (en) * | 2013-03-15 | 2014-09-25 | REMTCS Inc. | Artificial neural network interface and methods of training the same for various use cases |
WO2014144857A2 (en) * | 2013-03-15 | 2014-09-18 | Power Fingerprinting Inc. | Systems, methods, and apparatus to enhance the integrity assessment when using power fingerprinting systems for computer-based systems |
KR101794116B1 (ko) * | 2013-03-18 | 2017-11-06 | 더 트러스티스 오브 컬럼비아 유니버시티 인 더 시티 오브 뉴욕 | 하드웨어 특징들을 사용한 이상 프로세스들의 비감시된 검출 |
US9652617B1 (en) * | 2013-06-25 | 2017-05-16 | Amazon Technologies, Inc. | Analyzing security of applications |
US9166993B1 (en) * | 2013-07-25 | 2015-10-20 | Symantec Corporation | Anomaly detection based on profile history and peer history |
US20150067853A1 (en) * | 2013-08-27 | 2015-03-05 | Georgia Tech Research Corporation | Systems and methods for detecting malicious mobile webpages |
CN104517094A (zh) * | 2013-09-30 | 2015-04-15 | 阿里巴巴集团控股有限公司 | 一种身份验证方法和身份验证装置 |
US9870465B1 (en) * | 2013-12-04 | 2018-01-16 | Plentyoffish Media Ulc | Apparatus, method and article to facilitate automatic detection and removal of fraudulent user information in a network environment |
US9747446B1 (en) * | 2013-12-26 | 2017-08-29 | Fireeye, Inc. | System and method for run-time object classification |
CN103761481A (zh) * | 2014-01-23 | 2014-04-30 | 北京奇虎科技有限公司 | 一种恶意代码样本自动处理的方法及装置 |
US10129288B1 (en) * | 2014-02-11 | 2018-11-13 | DataVisor Inc. | Using IP address data to detect malicious activities |
CN103825888A (zh) * | 2014-02-17 | 2014-05-28 | 北京奇虎科技有限公司 | 网络威胁处理方法及设备 |
US8997226B1 (en) * | 2014-04-17 | 2015-03-31 | Shape Security, Inc. | Detection of client-side malware activity |
US9942254B1 (en) * | 2014-07-10 | 2018-04-10 | ThetaRay Ltd. | Measure based anomaly detection |
EP2975873A1 (en) * | 2014-07-17 | 2016-01-20 | Telefonica Digital España, S.L.U. | A computer implemented method for classifying mobile applications and computer programs thereof |
US20160057159A1 (en) * | 2014-08-22 | 2016-02-25 | Syracuse University | Semantics-aware android malware classification |
US9773112B1 (en) * | 2014-09-29 | 2017-09-26 | Fireeye, Inc. | Exploit detection of malware and malware families |
US10027689B1 (en) * | 2014-09-29 | 2018-07-17 | Fireeye, Inc. | Interactive infection visualization for improved exploit detection and signature generation for malware and malware families |
US20160191549A1 (en) * | 2014-10-09 | 2016-06-30 | Glimmerglass Networks, Inc. | Rich metadata-based network security monitoring and analysis |
US9483742B1 (en) * | 2014-10-27 | 2016-11-01 | Amazon Technologies, Inc. | Intelligent traffic analysis to detect malicious activity |
US9985984B1 (en) * | 2014-10-27 | 2018-05-29 | National Technology & Engineering Solutions Of Sandia, Llc | Dynamic defense and network randomization for computer systems |
US20160182542A1 (en) * | 2014-12-18 | 2016-06-23 | Stuart Staniford | Denial of service and other resource exhaustion defense and mitigation using transition tracking |
US9690933B1 (en) * | 2014-12-22 | 2017-06-27 | Fireeye, Inc. | Framework for classifying an object as malicious with machine learning for deploying updated predictive models |
KR20160099160A (ko) * | 2015-02-11 | 2016-08-22 | 한국전자통신연구원 | 명령어 집합의 행위 패턴을 엔-그램 방식으로 모델링하는 방법, 그 방법으로 동작하는 컴퓨팅 장치, 및 그 방법을 컴퓨팅 장치에서 실행하도록 구성되는 기록 매체에 저장된 프로그램 |
LU92657B1 (en) * | 2015-02-16 | 2016-08-17 | Universität des Saarlandes | Mining sandboxes |
EP3262815B1 (en) * | 2015-02-24 | 2020-10-14 | Cisco Technology, Inc. | System and method for securing an enterprise computing environment |
US20160306971A1 (en) * | 2015-04-15 | 2016-10-20 | Los Alamos National Security, Llc | Automated identification and reverse engineering of malware |
US10015175B2 (en) * | 2015-04-16 | 2018-07-03 | Los Alamos National Security, Llc | Detecting anomalous behavior via user authentication graphs |
US9594904B1 (en) * | 2015-04-23 | 2017-03-14 | Fireeye, Inc. | Detecting malware based on reflection |
WO2017014823A2 (en) * | 2015-05-04 | 2017-01-26 | Hasan Syed Kamran | Method and device for managing security in a computer network |
US10122740B1 (en) * | 2015-05-05 | 2018-11-06 | F5 Networks, Inc. | Methods for establishing anomaly detection configurations and identifying anomalous network traffic and devices thereof |
US20160359695A1 (en) * | 2015-06-04 | 2016-12-08 | Cisco Technology, Inc. | Network behavior data collection and analytics for anomaly detection |
US20160379136A1 (en) * | 2015-06-26 | 2016-12-29 | Qualcomm Incorporated | Methods and Systems for Automatic Extraction of Behavioral Features from Mobile Applications |
CN105095756A (zh) * | 2015-07-06 | 2015-11-25 | 北京金山安全软件有限公司 | 可移植文档格式文档的检测方法和装置 |
US9992211B1 (en) * | 2015-08-27 | 2018-06-05 | Symantec Corporation | Systems and methods for improving the classification accuracy of trustworthiness classifiers |
GB201515394D0 (en) * | 2015-08-28 | 2015-10-14 | Status Today Ltd | Predictive activity detection on a computer network |
WO2017037444A1 (en) * | 2015-08-28 | 2017-03-09 | Statustoday Ltd | Malicious activity detection on a computer network and network metadata normalisation |
US20170061126A1 (en) * | 2015-09-02 | 2017-03-02 | Nehemiah Security | Process Launch, Monitoring and Execution Control |
US9641544B1 (en) * | 2015-09-18 | 2017-05-02 | Palo Alto Networks, Inc. | Automated insider threat prevention |
CN105335655A (zh) * | 2015-09-22 | 2016-02-17 | 南京大学 | 一种基于敏感行为识别的安卓应用安全性分析方法 |
US10033747B1 (en) * | 2015-09-29 | 2018-07-24 | Fireeye, Inc. | System and method for detecting interpreter-based exploit attacks |
CN105320887A (zh) * | 2015-10-12 | 2016-02-10 | 湖南大学 | 一种基于静态特征提取和选择的Android恶意应用检测方法 |
CN105205396A (zh) * | 2015-10-15 | 2015-12-30 | 上海交通大学 | 一种基于深度学习的安卓恶意代码检测系统及其方法 |
US20170134405A1 (en) * | 2015-11-09 | 2017-05-11 | Qualcomm Incorporated | Dynamic Honeypot System |
CN105468977A (zh) * | 2015-12-14 | 2016-04-06 | 厦门安胜网络科技有限公司 | 一种基于朴素贝叶斯的Android恶意软件分类方法和装置 |
CN105468995A (zh) * | 2015-12-15 | 2016-04-06 | 吉林大学 | 以Oracle为核心的基于数据挖掘入侵检测系统 |
US9985982B1 (en) * | 2015-12-21 | 2018-05-29 | Cisco Technology, Inc. | Method and apparatus for aggregating indicators of compromise for use in network security |
CN106911637A (zh) * | 2015-12-23 | 2017-06-30 | 北京奇虎科技有限公司 | 网络威胁处理方法和装置 |
CN106911640A (zh) * | 2015-12-23 | 2017-06-30 | 北京奇虎科技有限公司 | 网络威胁处理方法和装置 |
CN109313541A (zh) * | 2016-03-23 | 2019-02-05 | 戴特威瑟公司 | 用于显示和比较攻击遥测资源的用户界面 |
US9998484B1 (en) * | 2016-03-28 | 2018-06-12 | EMC IP Holding Company LLC | Classifying potentially malicious and benign software modules through similarity analysis |
US9838407B1 (en) * | 2016-03-30 | 2017-12-05 | EMC IP Holding Company LLC | Detection of malicious web activity in enterprise computer networks |
US9998487B2 (en) | 2016-04-25 | 2018-06-12 | General Electric Company | Domain level threat detection for industrial asset control system |
WO2017193036A1 (en) * | 2016-05-05 | 2017-11-09 | Cylance Inc. | Machine learning model for malware dynamic analysis |
US20170331844A1 (en) * | 2016-05-13 | 2017-11-16 | Sikorsky Aircraft Corporation | Systems and methods for assessing airframe health |
US20170337372A1 (en) * | 2016-05-18 | 2017-11-23 | Trustlook Inc. | Maliciousness Categorization of Application Packages Based on Dynamic Analysis |
JP6675608B2 (ja) | 2016-06-06 | 2020-04-01 | 日本電信電話株式会社 | 異常検出装置、異常検出方法及び異常検出プログラム |
US20170359376A1 (en) * | 2016-06-14 | 2017-12-14 | Cymmetria, Inc. | Automated threat validation for improved incident response |
US20170366562A1 (en) * | 2016-06-15 | 2017-12-21 | Trustlook Inc. | On-Device Maliciousness Categorization of Application Programs for Mobile Devices |
GB201610883D0 (en) * | 2016-06-22 | 2016-08-03 | Microsoft Technology Licensing Llc | Privacy-preserving machine learning |
US20180020024A1 (en) * | 2016-07-14 | 2018-01-18 | Qualcomm Incorporated | Methods and Systems for Using Self-learning Techniques to Protect a Web Application |
US20180018459A1 (en) * | 2016-07-15 | 2018-01-18 | Trustlook Inc. | Notification of Maliciousness Categorization of Application Programs for Mobile Devices |
US10045218B1 (en) * | 2016-07-27 | 2018-08-07 | Argyle Data, Inc. | Anomaly detection in streaming telephone network data |
US20180039779A1 (en) * | 2016-08-04 | 2018-02-08 | Qualcomm Incorporated | Predictive Behavioral Analysis for Malware Detection |
DE202017007517U1 (de) * | 2016-08-11 | 2022-05-03 | Twitter, Inc. | Aggregatmerkmale für maschinelles Lernen |
CN106339628A (zh) * | 2016-08-16 | 2017-01-18 | 天津大学 | 基于微体系结构级别的硬件反病毒装置 |
US20180054449A1 (en) * | 2016-08-18 | 2018-02-22 | Qualcomm Incorporated | Methods and Systems for Protecting Computing Devices from Non-Benign Software Applications via Collaborative Application Detonation |
EP3293937A1 (en) * | 2016-09-12 | 2018-03-14 | Vectra Networks, Inc. | Method and system for detecting malicious payloads |
CN106503552A (zh) * | 2016-09-19 | 2017-03-15 | 南京邮电大学 | 基于签名与数据流模式挖掘的Android恶意软件检测系统及方法 |
US10484411B1 (en) * | 2016-10-07 | 2019-11-19 | Hrl Laboratories, Llc | System for anomaly detection on CAN bus data with sparse and low rank decomposition of transfer entropy matrix |
US20180137401A1 (en) * | 2016-11-16 | 2018-05-17 | Microsoft Technology Licensing, Llc | Security systems and methods using an automated bot with a natural language interface for improving response times for security alert response and mediation |
CN106709332A (zh) * | 2016-12-13 | 2017-05-24 | 江苏通付盾科技有限公司 | 应用检测的方法及装置 |
CN108229153A (zh) * | 2016-12-21 | 2018-06-29 | 青岛祥智电子技术有限公司 | 一种高级持续性威胁攻击的判别方法 |
US9774726B1 (en) * | 2016-12-22 | 2017-09-26 | Microsoft Technology Licensing, Llc | Detecting and preventing fraud and abuse in real time |
CN106874760A (zh) * | 2016-12-23 | 2017-06-20 | 浙江工业大学 | 一种基于层次式SimHash的Android恶意代码分类方法 |
CN106874761A (zh) * | 2016-12-30 | 2017-06-20 | 北京邮电大学 | 一种安卓系统恶意应用检测方法及系统 |
KR20180081444A (ko) * | 2017-01-06 | 2018-07-16 | 삼성전자주식회사 | 콘텐츠를 처리하는 장치 및 방법 |
WO2018128403A1 (en) * | 2017-01-06 | 2018-07-12 | Samsung Electronics Co., Ltd. | Apparatus and method for processing content |
CN108287992A (zh) * | 2017-01-07 | 2018-07-17 | 长沙有干货网络技术有限公司 | 一种基于安卓的计算器学习的恶意程序检测系统 |
US20180198812A1 (en) * | 2017-01-11 | 2018-07-12 | Qualcomm Incorporated | Context-Based Detection of Anomalous Behavior in Network Traffic Patterns |
CN106612289A (zh) * | 2017-01-18 | 2017-05-03 | 中山大学 | 一种基于sdn的网络协同异常检测方法 |
US10931694B2 (en) * | 2017-02-24 | 2021-02-23 | LogRhythm Inc. | Processing pipeline for monitoring information systems |
CN107103235A (zh) * | 2017-02-27 | 2017-08-29 | 广东工业大学 | 一种基于卷积神经网络的Android恶意软件检测方法 |
CN106845240A (zh) * | 2017-03-10 | 2017-06-13 | 西京学院 | 一种基于随机森林的Android恶意软件静态检测方法 |
CN106951782A (zh) * | 2017-03-22 | 2017-07-14 | 中南大学 | 一种面向安卓应用的恶意代码检测方法 |
US11783046B2 (en) * | 2017-04-26 | 2023-10-10 | Elasticsearch B.V. | Anomaly and causation detection in computing environments |
CN107104973A (zh) * | 2017-05-09 | 2017-08-29 | 北京潘达互娱科技有限公司 | 用户行为的校验方法及装置 |
CN107169351A (zh) * | 2017-05-11 | 2017-09-15 | 北京理工大学 | 结合动态行为特征的Android未知恶意软件检测方法 |
CN107330326A (zh) * | 2017-05-12 | 2017-11-07 | 中国科学院信息工程研究所 | 一种恶意木马检测处理方法及装置 |
US9882918B1 (en) * | 2017-05-15 | 2018-01-30 | Forcepoint, LLC | User behavior profile in a blockchain |
US20180337935A1 (en) * | 2017-05-16 | 2018-11-22 | Entit Software Llc | Anomalous entity determinations |
CN107181745A (zh) * | 2017-05-16 | 2017-09-19 | 阿里巴巴集团控股有限公司 | 恶意消息识别方法、装置、设备和计算机存储介质 |
CN107273747A (zh) * | 2017-05-22 | 2017-10-20 | 中国人民公安大学 | 勒索软件检测的方法 |
EP3407235A1 (en) * | 2017-05-22 | 2018-11-28 | Leap in Value S.L. | A computer-implemented method, a system and a computer program for identifying malicious uri data items |
CN107222472A (zh) * | 2017-05-26 | 2017-09-29 | 电子科技大学 | 一种Hadoop集群下的用户行为异常检测方法 |
JP2019003349A (ja) | 2017-06-13 | 2019-01-10 | ロゴヴィスタ株式会社 | 個別命令の処理時間計測によるウィルスの監視方法 |
EP3425866A1 (en) * | 2017-07-06 | 2019-01-09 | Siemens Aktiengesellschaft | Detecting an undefined action in an industrial system |
CN107392016A (zh) * | 2017-07-07 | 2017-11-24 | 四川大学 | 一种基于代理的Web数据库攻击行为检测系统 |
RU2673708C1 (ru) * | 2017-07-17 | 2018-11-29 | Акционерное общество "Лаборатория Касперского" | Система и способ машинного обучения модели обнаружения вредоносных файлов |
US9978067B1 (en) * | 2017-07-17 | 2018-05-22 | Sift Science, Inc. | System and methods for dynamic digital threat mitigation |
RU2654151C1 (ru) * | 2017-08-10 | 2018-05-16 | Акционерное общество "Лаборатория Касперского" | Система и способ обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов |
KR101930293B1 (ko) * | 2017-09-12 | 2018-12-18 | 연세대학교 산학협력단 | 정적 분석과 동적 분석을 이용하여 변종 악성코드를 식별하는 장치 및 방법 |
CN107832610A (zh) * | 2017-09-25 | 2018-03-23 | 暨南大学 | 基于组合特征模式的Android恶意软件检测方法 |
US10706155B1 (en) * | 2017-09-28 | 2020-07-07 | Amazon Technologies, Inc. | Provision and execution of customized security assessments of resources in a computing environment |
RU2661533C1 (ru) * | 2017-09-29 | 2018-07-17 | Акционерное общество "Лаборатория Касперского" | Система и способ обнаружения признаков компьютерной атаки |
KR101880628B1 (ko) * | 2017-11-27 | 2018-08-16 | 한국인터넷진흥원 | 기계 학습 데이터셋에 대한 레이블링 방법 및 그 장치 |
KR101839747B1 (ko) * | 2017-11-27 | 2018-03-19 | 한국인터넷진흥원 | 악성코드 정보의 시각화 장치 및 그 방법 |
CN108090356A (zh) * | 2017-12-08 | 2018-05-29 | 湖南大学 | 一种基于图像纹理和bp神经网络的恶意文件检测方法 |
CN107944274A (zh) * | 2017-12-18 | 2018-04-20 | 华中科技大学 | 一种基于宽度学习的Android平台恶意应用离线检测方法 |
CN108234462A (zh) * | 2017-12-22 | 2018-06-29 | 杭州安恒信息技术有限公司 | 一种基于云防护的智能拦截威胁ip的方法 |
CN108200030A (zh) * | 2017-12-27 | 2018-06-22 | 深信服科技股份有限公司 | 恶意流量的检测方法、系统、装置及计算机可读存储介质 |
CN108345794A (zh) * | 2017-12-29 | 2018-07-31 | 北京物资学院 | 恶意软件的检测方法及装置 |
CN108460277A (zh) * | 2018-02-10 | 2018-08-28 | 北京工业大学 | 一种自动化恶意代码变种检测方法 |
CN108616498A (zh) * | 2018-02-24 | 2018-10-02 | 国家计算机网络与信息安全管理中心 | 一种web访问异常检测方法和装置 |
KR101880686B1 (ko) * | 2018-02-28 | 2018-07-20 | 에스지에이솔루션즈 주식회사 | Ai 딥러닝 기반의 악성코드 탐지 시스템 |
CN108647518A (zh) * | 2018-03-16 | 2018-10-12 | 广东工业大学 | 一种基于深度学习的Android平台恶意软件检测方法 |
CN108734469A (zh) * | 2018-03-22 | 2018-11-02 | 阿里巴巴集团控股有限公司 | 确定待定用户风险标签的方法和装置 |
CN108681671A (zh) * | 2018-05-21 | 2018-10-19 | 中国科学技术大学 | 一种Android移动攻击溯源方法 |
CN108710800A (zh) * | 2018-05-22 | 2018-10-26 | 国家计算机网络与信息安全管理中心 | 一种安卓应用程序的加壳识别方法 |
CN108712427A (zh) * | 2018-05-23 | 2018-10-26 | 北京国信安服信息安全科技有限公司 | 一种动态主动防御的网络安全方法及系统 |
CN108959924A (zh) * | 2018-06-12 | 2018-12-07 | 浙江工业大学 | 一种基于词向量和深度神经网络的Android恶意代码检测方法 |
US10685159B2 (en) * | 2018-06-27 | 2020-06-16 | Intel Corporation | Analog functional safety with anomaly detection |
CN108846284A (zh) * | 2018-06-29 | 2018-11-20 | 浙江工业大学 | 一种基于字节码图像和深度学习的Android恶意应用检测方法 |
CN108712448A (zh) * | 2018-07-09 | 2018-10-26 | 四川大学 | 一种基于动态污点分析的注入式攻击检测模型 |
CN109190371A (zh) * | 2018-07-09 | 2019-01-11 | 四川大学 | 一种基于行为图的Android恶意软件检测方法和技术 |
US20190050564A1 (en) * | 2018-07-12 | 2019-02-14 | Intel Corporation | Protection for inference engine against model retrieval attack |
CN109033839A (zh) * | 2018-08-10 | 2018-12-18 | 天津理工大学 | 一种基于动态多特征的恶意软件检测方法 |
CN109213857A (zh) * | 2018-08-29 | 2019-01-15 | 阿里巴巴集团控股有限公司 | 一种欺诈行为识别方法和装置 |
CN109284631A (zh) * | 2018-10-26 | 2019-01-29 | 中国电子科技网络信息安全有限公司 | 一种基于大数据的文档脱敏系统及方法 |
CN109240807A (zh) * | 2018-11-15 | 2019-01-18 | 成都网域复兴科技有限公司 | 一种基于vmi的恶意程序检测系统和方法 |
-
2019
- 2019-03-05 JP JP2021551570A patent/JP7282195B2/ja active Active
- 2019-03-05 EP EP19712363.1A patent/EP3918500B1/en active Active
- 2019-03-05 WO PCT/US2019/020701 patent/WO2020180300A1/en unknown
- 2019-03-05 CN CN201980093409.3A patent/CN113508381B/zh active Active
- 2019-03-05 US US17/433,492 patent/US20220147614A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109246072A (zh) * | 2017-07-11 | 2019-01-18 | 波音公司 | 具有自适应机器学习特征的网络安全系统 |
CN107392025A (zh) * | 2017-08-28 | 2017-11-24 | 刘龙 | 基于深度学习的恶意安卓应用程序检测方法 |
Also Published As
Publication number | Publication date |
---|---|
JP7282195B2 (ja) | 2023-05-26 |
EP3918500B1 (en) | 2024-04-24 |
WO2020180300A1 (en) | 2020-09-10 |
US20220147614A1 (en) | 2022-05-12 |
EP3918500A1 (en) | 2021-12-08 |
CN113508381A (zh) | 2021-10-15 |
JP2022522474A (ja) | 2022-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113508381B (zh) | 用于嵌入式软件应用的基于机器学习的异常检测 | |
Dean et al. | Ubl: Unsupervised behavior learning for predicting performance anomalies in virtualized cloud systems | |
Jones et al. | VMM-based hidden process detection and identification using Lycosid | |
US10691571B2 (en) | Obtaining application performance data for different performance events via a unified channel | |
US10733077B2 (en) | Techniques for monitoring errors and system performance using debug trace information | |
US20180204002A1 (en) | Determining an aspect of behavior of an embedded device such as, for example, detecting unauthorized modifications of the code and/or behavior of an embedded device | |
US9454424B2 (en) | Methods and apparatus for detecting software inteference | |
US20180129970A1 (en) | Forward-looking machine learning for decision systems | |
US8286192B2 (en) | Kernel subsystem for handling performance counters and events | |
EP3245588A1 (en) | Root cause analysis of non-deterministic tests | |
TWI656453B (zh) | 檢測系統及檢測方法 | |
CN112035839A (zh) | 一种竞态条件漏洞利用的检测方法及装置 | |
US20140324409A1 (en) | Stochastic based determination | |
US11361077B2 (en) | Kernel-based proactive engine for malware detection | |
CN114327963A (zh) | 一种异常检测方法及装置 | |
Zhang et al. | Which is the best real-time operating system for drones? Evaluation of the real-time characteristics of NuttX and ChibiOS | |
KR20170093121A (ko) | 컴퓨팅 디바이스에서의 동기화 | |
Lurbe et al. | DeepP: deep learning multi-program prefetch configuration for the IBM POWER 8 | |
US10802901B2 (en) | Obtaining state information of threads of a device | |
CN110795231B (zh) | 一种虚拟cpu的处理方法及装置 | |
Biswas et al. | Control Flow Integrity in IoT Devices with Performance Counters and DWT | |
US20120144171A1 (en) | Mechanism for Detection and Measurement of Hardware-Based Processor Latency | |
US20080147353A1 (en) | System and Method of Generically Detecting the Presence of Emulated Environments | |
Friebe et al. | Work-in-Progress: Validation of Probabilistic Timing Models of a Periodic Task with Interference-A Case Study | |
Gupta | Assessing hardware performance counters for malware detection |
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 |