CN114662094A - 标识硬件性能计数器事件的方法和装置 - Google Patents

标识硬件性能计数器事件的方法和装置 Download PDF

Info

Publication number
CN114662094A
CN114662094A CN202111393995.9A CN202111393995A CN114662094A CN 114662094 A CN114662094 A CN 114662094A CN 202111393995 A CN202111393995 A CN 202111393995A CN 114662094 A CN114662094 A CN 114662094A
Authority
CN
China
Prior art keywords
hpc
event
events
malware
combinations
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111393995.9A
Other languages
English (en)
Inventor
D·K·米什拉
P·艾比利拉金德兰
T·恩
R·高希
P·卡尔森
张征
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN114662094A publication Critical patent/CN114662094A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/564Static detection by virus signature recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Physiology (AREA)
  • Genetics & Genomics (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种方法,包括:生成基于单独硬件性能计数器(HPC)事件用于剖析恶意软件类的能力排名的第一HPC事件集合;生成基于至少两个联合HPC事件的集合用于剖析恶意软件类的能力排名的第二HPC事件组合集合;生成第三扩展HPC事件组合集合;剖析一个或多个恶意软件事件和一个或多个善意应用,以获得用于每个恶意软件事件的检测准确度参数,应用机器学习模型,以基于恶意软件检测准确度对所述第三HPC事件组合集合进行排名,以及将遗传算法应用于所述第三HPC事件组合集合,以标识待用于恶意软件检测和分类的所述第三扩展HPC事件组合集合的子集。

Description

标识硬件性能计数器事件的方法和装置
技术领域
本公开总体涉及计算机技术领域,更具体地说,涉及用于使用人工智能标识用于对恶意软件或工作负载进行检测和分类的硬件性能计数器事件的方法和装置。
背景技术
恶意软件检测是持续的猫鼠游戏,其中,恶意软件作者设计出避开安全软件在二进制、文件系统和存储器中隐藏或混淆其代码的新的且更复杂的方式。纵然裸金属硬件——尤其是CPU——是隐藏停止(hiding stop)和CPU遥测可以揭示最低等级的恶意代码的执行模式的一个地方。存在数百或数千个事件(例如,比如,现代处理器上可用的硬件性能计数器(HPC)事件),并且一次仅可以配置它们中的小子集“n”(n可以是4至8)以用于同时监控。标识最佳硬件遥测事件集合以检测恶意软件类是复杂的问题,因为恶意软件可能展现多样的行为。因此,一起监控多个事件将具有最好的机会以剖析它。通过示例的方式,应用暴力以从500个事件之中找到最佳的四事件组合将需要测试500Cn=4(超过25亿)个组合,并且在合理的时间帧中实际上是不可行的。因此,安全研究人员研究恶意软件和事件文档,并使用试错将它们关联以找到有关事件。此过程需要人力资源和大量时间,并且仍可能无法产生最佳事件集合。要求在于找到优化的“n”事件集合以剖析所给定的恶意软件类。
选择最佳“n”HPC事件组合以剖析恶意软件/工作负载的先前方法需要人工分析和显著试错以标识有关HPC事件。可观的数据科学努力需要应用于所选择的事件集合,以生成优化机器学习模型以检测恶意软件/工作负载,并且在逻辑上是静态的。恶意软件可以通过更改部署跳过检测。
附图说明
在附图中通过示例的方式而非限制的方式示出本文描述的概念。为了图示的简单性和清楚性,图中所示的要素不一定按比例绘制。在认为适当的情况下,在各图之间已经重复参考标记以指示对应或类似要素。
图1-图3是示出根据实施例的用于使用人工智能标识硬件性能计数器事件以对恶意软件进行检测并且分类的方法中的操作的高级流程图。
图4-图6是示出根据实施例的使用人工智能标识硬件性能计数器事件以对恶意软件进行检测并且分类的方法中的操作的更详细的流程图。
图7-图8是示出根据实施例的硬件性能计数器频率随着时间的图线。
图9是示出根据实施例的硬件性能计数器事件的三事件组合的善意和恶意分布的三维图线。
图10是示出根据实施例的作为遗传算法的代的数量的函数的检测准确度的图线。
图11是示出杂交和变异算子应用于事件组合的过程1100的图。
图12是示出根据实施例的可以适于提供用于使用对抗性挑战选择的安全的基于PUF的认证的方法的计算架构的框图。
具体实施方式
虽然本公开的概念易受各种修改和替选形式,但是其特定实施例已经通过示例的方式在附图中示出并且将在本文中详细描述。然而,应理解,并非意图将本公开的概念限制于所公开的特定形式,而是相反,意图在于涵盖与本公开和所附权利要求一致的所有修改、等同物和替选。
说明书中对“一个实施例”、“实施例”、“说明性实施例”等的引用指示所描述的实施例可以包括特定特征、结构或特性,但是每个实施例可以或可以不一定包括该特定特征、结构或特性。此外,这些短语不一定指代同一实施例。此外,当结合实施例描述特定特征、结构或特性时,认为其处于本领域技术人员的知识内,以与其他实施例结合实行这种特征、结构或特性,而无论是否明确描述。附加地,应理解,呈“至少一个A、B和C”的形式的列表中包括的项可以表示(A);(B);(C);(A和B);(A和C);(B和C);或(A、B和C)。相似地,呈“A、B或C中的至少一个”的形式列出的项可以表示(A);(B);(C);(A和B);(A和C);(B和C);或(A、B和C)。
在一些情况下,所公开的实施例可以实现于硬件、固件、软件或其任何组合中。所公开的实施例也可以实现为由瞬时或非瞬时机器可读(例如,计算机可读)存储介质承载或其上所存储的指令,其可以由一个或多个处理器读取和执行。机器可读存储介质可以体现为用于存储或发送呈可由机器读取的形式的信息的任何存储设备、机构或其他物理结构(例如,易失性或非易失性存储器、介质盘或其他介质设备)。
在附图中,可以按特定布置和/或顺序示出一些结构或方法特征。然而,应理解,可以无需这些特定布置和/或顺序。相反,在一些实施例中,可以按与说明性附图中所示的方式和/或顺序不同的方式和/或顺序布置这些特征。附加地,在特定附图中包括结构或方法特征并非意指暗示该特征在所有实施例中是需要的,并且在一些实施例中,可以不被包括或可以与其他特征组合。
如上所述,选择最佳“n”HPC事件组合以剖析恶意软件/工作负载的先前方法需要人工分析和显著试错以标识有关HPC事件。可观的数据科学努力需要应用于所选择的事件集合,以生成优化机器学习模型以检测恶意软件/工作负载,并且在逻辑上是静态的。恶意软件可以通过更改部署跳过检测。
为了解决这些和其他问题,本文所描述的是用于使标识最佳“n”HPC事件(在大多数处理器上,n可以是4至8)以从任何给定平台上所支持的整个“N”HPC事件集合(N可以是数百至数千)之中剖析恶意软件的类的过程自动化的技术。
图1-图3是示出根据实施例的用于使用人工智能标识硬件性能计数器事件以对恶意软件进行检测并且分类的方法中的操作的高级流程图。首先参照图1,在一些示例中,用于标识最佳事件集合以剖析恶意软件的类的三部分过程100包括单独事件选择过程110、联合事件选择过程120和深度事件选择过程130。
参照图2,在一些示例200中,单独事件选举过程110接收包括数百或甚至数千有关硬件性能计数器(HPC)事件的输入112。过程110执行特征分析114,其包括:评估恶意软件针对基准工作负载的事件率和/或信息增益分析。过程110基于单独HPC事件用于剖析恶意软件类的能力例如通过信息增益实现排名技术116。过程110然后通过选择例如最高排名的百分之二十(20%)的单独事件产生精简事件集合118。
在一些示例中,联合事件选择过程120接收包括由过程110生成的精简事件集合118的输入122。联合事件选择过程120执行机器学习(ML)分析124,以基于至少两个联合HPC事件的集合用于剖析恶意软件类的能力标识有潜质的事件组合。联合事件选择过程120然后实现排名技术126,以通过随机森林分类器(RFC)检测准确度或联合信息增益对事件组合进行排名。过程120然后通过选择例如最高排名的百分之二十(20%)的事件组合产生精简事件集合128。
在一些示例中,深度事件选择过程130接收包括由过程120生成的精简事件集合128的输入132。输入可以关于性能受过滤,并且可以用以仿真实时工作负载。深度事件选择过程130执行机器学习(ML)分析134,可以包括遗传算法(GA),以导出最佳事件组合的和RFC机器学习流水线。深度事件选择过程130然后实现排名技术136,以通过RFC检测准确度和假阳性/假阴性(FP/FN)率对事件组合进行排名。过程120然后产生最佳事件集合138和机器学习(ML)模型。
参照图3,在一些示例中,单独事件选举过程300开始于输入305,其包括数百甚至数千有关硬件性能计数器(HPC)事件和一个或多个恶意软件样本。在块310,实现单独事件选择过程,以产生按信息增益评分排序的事件列表。块320描绘联合事件选择和深度事件选择过程,其产生按检测能力排序的联合事件列表。过程开始于组合中的两个事件,并且可以通过重复330阶段进一步得以扩展。在块340,调谐用于最高组合的机器学习(ML)模型。
图4-图6是示出根据实施例的使用人工智能标识硬件性能计数器事件以对恶意软件进行检测并且分类的方法中的操作的更详细的流程图。图4示出单独事件选择过程400中的操作。参照图4,在一些示例中,单独事件选择过程400接收包括一个或多个HPC事件和恶意软件样本的输入。过程400然后发起循环410,据此,对于在操作405中接收的每个HPC事件,针对漏洞利用(即,恶意软件)和善意过程实现数据收集过程412,并且在操作414,执行信息增益分析,以生成用于HPC事件的单独计数器分数。在操作418,过程生成按操作414中所生成的分数排名的有序单独列表。
图5示出联合/深度事件选择过程500中的操作。参照图5,在操作505,联合/深度选择过程500接收包括图4中所描绘的单独事件选择过程400中所排名的最高排名(例如,最高20%)的事件的输入。在操作510,过程500从在操作505中接收的事件集合构建初始事件组合集合。在操作520,过程500对于每个组合发起循环。在循环中,在操作522,针对漏洞利用(即,恶意软件)和善意过程实现数据收集过程522,在操作524,使用机器学习分类器测量检测分数,和/或执行信息增益分析以生成用于组合的联合信息增益参数,并且在操作526,通过用于给定组合的检测分数更新数据库。可以对于期望数量的组合或所有事件组合重复循环520中的操作。
在一些示例中,过程500应用遗传算法,以获得事件组合并且遍历各种事件组合,以得到具有期望检测准确度的组合。在操作530,确定遗传算法是否收敛。如果在操作530,遗传算法不收敛,则控制传递到操作540,并且从数据库选择最高候选,在操作542,杂交算子或变异算子中的一个或多个应用于遗传算法,以在操作544创建可能是更好的组合。控制然后传递回到循环的顶部520,其用操作544中所生成的新组合得以发起。
通过对比,如果在操作530,遗传算法确实收敛,则控制传递到操作550,并且基于操作526中所确定的检测分数从数据库选择最高候选。在操作552,如果需要,则用扩展事件组合重复过程。在操作560,对于由过程500生成的最高组合调谐机器语言。
图6示出联合/深度事件选择过程600中的数据结构和操作。参照图6,HPC事件610接收包括图4中描绘的单独事件选择过程400中所排名的最高排名(例如,最高20%)的事件的输入。过程600使用每个HPC事件剖析恶意软件,并基于用于从善意应用检测恶意软件类的事件的相应能力对它们进行排名,以生成按信息增益参数排序的排名事件集合620。过程600从排名事件集合620选择最高排名的事件并创建至少两个事件组合集合620,然后使用来自事件组合集合640的事件组合剖析恶意软件和善意应用,创建用于每个组合的机器学习模型,并基于检测准确度对组合进行排名,以产生排名的组合集合630。
接下来,过程600进入循环,其中,它首先应用遗传算法,以得到用于下一代分析的事件组合集合650。过程600然后使用事件组合剖析恶意软件,并得到检测准确度,以构建按检测准确度排名的事件组合集合660。过程600然后组合来自所有代的事件,并基于它们的适合度(即,评级的准确度)对它们进行排名,以构建所排名的来自所有代的事件组合集合670。如果遗传算法不收敛,则过程600应用遗传算法,以得到用于下一代的事件组合集合650。可以重复该循环,直到遗传算法收敛,此时,过程基于组合的准确度选择最佳事件组合集合680。
图7-图8是示出根据实施例的硬件性能计数器频率随着时间的图线。参照图7,直方图700示出HPC事件(EVENT 1)如何能够从善意应用剖析密式挖掘恶意软件。参照图,直方图800示出HPC事件(EVENT2)与善意应用之间的清晰分离。针对EVENT2事件的剖析示出恶意软件与善意应用计数器值之间存在较大重叠,因此关于该事件的信息增益将是更低的。
在一些示例中,一旦根据硬件事件的信息增益值对它们进行排名,就选择最高排名的事件的子集以用于联合信息增益分析,其测量多个事件的信息增益。这可由等式(1)指示如下:
等式1:IG(Y,X1,X2,…,Xn)=H(Y)–H(Y|X1,X2,…,Xn)
X1、X2、..Xn:n个HPC事件
IG(Y,X1,X2,…,Xn):用于使用X1、X2、...Xn对恶意软件与善意进行分类的信息增益
H(Y):用于恶意软件与善意的数据的熵
H(Y|X1,X2,..Xn):在X1、X2、..Xn的信息的情况下用于恶意软件与善意的数据的熵
其中,X1、X2、...、Xn表示n个HPC事件的集合。在一些示例中,以下搜索算法用以迭代地找到提供最高信息增益的计数器组合。首先,创建最高阶段1事件的候选双事件组合集合。其次,收集用于每个候选组合的善意和恶意类的数据记录。第三,测量用于每个组合的联合信息增益。第四,基于联合信息增益对事件组合进行排名。
图9示出三事件组合的样本善意和恶意分布。如图9所示,善意和恶意数据点900在更高维度空间中变得比在每个单独维度中更加分离。
在一些示例中,可以使用遗传算法(GA)实现深度事件选择过程。例如,一旦HPC事件如上所述按其相应信息增益加以排名,就选择最高排名的事件的子集,以用于下一步骤:创建扩展的事件组合。每个事件组合被配置为剖析恶意软件连同有关善意应用。在ML流水线中处理所生成的数据,并创建ML模型以区分恶意软件与善意应用,并且测量检测准确度。这些组合使用其对应ML模型的检测准确度加以排名。遗传算法(GA)用以创建下一组合集合,以智能地找到优化事件组合。
在一些示例中,使用多代的遗传算法。GA可以用以使用来自现有结果的最高排名的事件创建下一代的可能良好的事件组合。通过经历完整ML流水线(例如,数据收集、数据处理、ML模型创建和推理)测量事件组合的检测准确度。在多代的GA之后,一旦找到带有期望检测准确度的组合,就可以停止GA的执行,并且给出最佳组合连同ML模型作为基础设施的输出。图10示出最高事件组合1000的平均检测准确度如何通过多代的GA而收敛。
在一些示例中,GA使用杂交和变异算子以用于创建新的可能更好的组合。杂交是选择具有最高检测准确度的多于一个的组合以创建一个或多个后代的机制。后代将具有两方事件组合(父母)的遗传物质。变异是用以维持从种群的一代到下一代的遗传多样性以使得达到全局最优解而非局部最优解的遗传算子。图11是示出杂交和变异算子应用于事件组合的过程1100的图。
在一些示例中,基于用于事件组合的所收集的数据创建ML模型。例如,关于恶意软件和善意应用标记对于每个事件组合生成的数据,并创建ML模型。新的未见过的数据集合用于ML模型的推理。用于恶意软件类的模型的检测准确度用以对事件组合进行排名。用于找到事件组合的检测准确度的ML分类器的示例包括但不限于随机森林分类器和/或XGBoost分类器。
示例性计算架构
图12是示出根据一些示例的可以适用于使用许可表(例如,HPT135或HPT 260)并基于请求设备的上下文实现安全地址转译服务的计算架构的框图。实施例可以包括支持以下中的一项或多项的计算架构:(i)在允许存储器操作进行之前,验证对于所转译的请求的存取许可;(ii)响应转译请求,预取HPT的页面许可条目;以及(iii)如上所述,通过系统软件促进HPT页面许可的动态构建。
在各种实施例中,计算架构1200可以包括或实现为电子设备的部分。在一些实施例中,计算架构1200可以表示例如实现上述操作环境的一个或多个组件的计算机系统。在一些实施例中,计算架构1200可以表示支持实现本文描述的一种或多种技术的安全地址转换服务的一个或多个部分或组件。
如本申请中所使用的那样,术语“系统”和“组件”和“模块”旨在指代计算机有关实体(硬件、硬件和软件的组合、软件或执行中的软件),其示例由示例性系统1200提供。例如,组件可以是但不限于处理器上运行的进程、处理器、硬盘驱动器或固态驱动器(SSD)、(光和/或磁存储介质的)多个存储驱动器、对象、可执行文件、执行线程、程序和/或计算机。通过说明的方式,服务器上运行的应用和服务器二者可以是组件。一个或多个组件可以驻留在进程和/或执行线程内,并且组件可以位于一台计算机上和/或分布在两台或更多台计算机之间。此外,组件可以通过各种类型的通信介质以通信方式耦合到彼此,以协调操作。协调可以涉及信息的单向或双向交换。例如,组件可以通过经过通信介质传递的信号的形式传递信息。信息可以实现为分配给各种信号线的信号。在这样的分配中,每个消息是信号。然而,其他实施例可替代地采用数据消息。可以跨越各种连接发送这些数据消息。示例性连接包括并行接口、串行接口和总线接口。
计算架构1200包括各种常见计算元件(例如,一个或多个处理器、多核处理器、协处理器、存储器单元、芯片集、控制器、外围设备、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(I/O)组件、电源等)。然而,实施例不限于通过通信架构1200的实现方式。
如图12所示,计算架构1200包括一个或多个处理器1202和一个或多个图形处理器1208,并且可以是单处理器桌面系统、多处理器工作站系统或具有大数量的处理器1202或处理器内核1207的服务器系统。在一个实施例中,系统1200是合并于用于移动、手持或嵌入式设备中使用的片上系统(SoC或SOC)集成电路内的处理平台。
系统1200的实施例可以包括基于服务器的游戏平台、游戏控制台(包括游戏和媒体控制台、移动游戏控制台、手持游戏控制台或在线游戏控制台),或并入其内。在一些实施例中,系统1200是移动电话、智能电话、平板计算设备或移动互联网设备。数据处理系统1200可以还包括可穿戴设备(例如,智能手表可穿戴设备、智能眼镜设备、增强现实设备或虚拟现实设备),与之耦合,或集成在其内。在一些实施例中,数据处理系统1200是电视或机顶盒设备,其具有一个或多个处理器1202和由一个或多个图形处理器1208生成的图形接口。
在一些实施例中,一个或多个处理器1202均包括一个或多个处理器内核1207以处理指令,其当执行时执行用于系统和用户软件的操作。在一些实施例中,一个或多个处理器内核1207中的每一个被配置为处理特定指令集1214。在一些实施例中,指令集1209可以促进复杂指令集计算(CISC)、精简指令集计算(RISC)或经由超长指令字(VLIW)的计算。多个处理器内核1207可以均处理不同的指令集1209,其可以包括用于促进其他指令集的仿拟的指令。处理器内核1207可以还包括其他处理设备(例如,数字信号处理器(DSP))。
在一些实施例中,处理器1202包括缓存存储器1204。取决于架构,处理器1202可以具有单个内部缓存或多级内部缓存。在一些实施例中,在处理器1202的各个组件之间共享缓存存储器。在一些实施例中,处理器1202还使用外部缓存(例如,3级(L3)缓存或末级缓存(LLC))(未示出),其可以使用已知的缓存一致性技术在处理器内核1207之间加以共享。寄存器文件1206附加地包括于处理器1202中,其可以包括用于存储不同类型数据的不同类型的寄存器(例如,整数寄存器、浮点寄存器、状态寄存器和指令指针寄存器)。一些寄存器可以是通用寄存器,而其他寄存器可以专用于处理器1202的设计。
在一些实施例中,一个或多个处理器1202与一个或多个接口总线1210耦合,以在处理器1202与系统中的其他组件之间发送通信信号(例如,地址、数据或控制信号)。在一个实施例中,接口总线1210可以是处理器总线(例如,直接媒体接口(DMI)总线的版本)。然而,处理器总线不限于DMI总线,并且可以包括一个或多个外围组件互连总线(例如,PCI、PCI高速)、存储器总线或其他类型的接口总线。在一个实施例中,处理器1202包括集成存储器控制器1216和平台控制器中枢1230。存储器控制器1216促进存储器设备与系统1200的其他组件之间的通信,而平台控制器中枢(PCH)1230提供经由本地I/O总线对I/O设备的连接。
存储器设备1220可以是动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备、闪存设备、相变存储器设备或具有合适性能以充当进程存储器的某其他存储器设备。在一个实施例中,存储器设备1220可以操作为用于系统1200的系统存储器,以存储数据1222和指令1221,以用于当一个或多个处理器1202执行应用或进程时使用。存储器控制器中枢1216还与可选外部图形处理器1212耦合,可选外部图形处理器1212可以与处理器1202中的一个或多个图形处理器1208进行通信以执行图形和媒体操作。在一些实施例中,显示设备1211可以连接到处理器1202。显示设备1211可以是如在移动电子设备或膝上型设备中的内部显示设备或经由显示接口(例如,DisplayPort等)附接的外部显示设备中的一个或多个。在一个实施例中,显示设备1211可以是头戴式显示器(HMD)(例如,用于虚拟现实(VR)应用或增强现实(AR)应用中使用的立体显示设备)。
在一些实施例中,平台控制器中枢1230赋能外围设备以经由高速I/O总线连接到存储器设备1220和处理器1202。I/O外围设备包括但不限于音频控制器1246、网络控制器1234、固件接口1228、无线收发机1226、触摸传感器1225、数据存储设备1224(例如,硬盘驱动器、闪存存储器等)。数据存储设备1224可以经由存储接口(例如,SATA)或经由外围总线(例如,外围组件互连总线(例如,PCI、PCI高速))进行连接。触摸传感器1225可以包括触摸屏传感器、压力传感器或指纹传感器。无线收发机1226可以是Wi-Fi收发机、蓝牙收发机或移动网络收发机(例如,3G、4G、长期演进(LTE)或5G收发机)。固件接口1228赋能与系统固件的通信,并且可以是例如统一可扩展固件接口(UEFI)。网络控制器1234可以赋能对有线网络的网络连接。在一些实施例中,高性能网络控制器(未示出)与接口总线1210耦合。在一个实施例中,音频控制器1246是多通道高清音频控制器。在一个实施例中,系统1200包括可选遗留I/O控制器1240,以用于将遗留(例如,个人系统2(PS/2))设备耦合到系统。平台控制器中枢1230也可以连接到一个或多个通用串行总线(USB)控制器1242连接输入设备(例如,键盘和鼠标1243组合、相机1244或其他USB输入设备)。
以下条款和/或示例涉及进一步的实施例或示例。示例中的细节可以用在一个或多个实施例中的任何地方。不同实施例或示例的各种特征可以与所包括的一些特征和所排除的其他特征各样地组合以适合各种不同的应用。示例可以包括诸如以下之类的主题:方法;部件,其用于执行方法的动作;至少一种机器可读介质,其包括指令,所述指令当由机器执行时使机器执行方法的动作;或装置或系统,其用于促进根据本文描述的实施例和示例的混合通信。
示例1是一种方法,包括:生成基于单独硬件性能计数器(HPC)事件用于剖析恶意软件类的能力排名的第一HPC事件集合;从所述第一HPC事件集合的子集生成基于至少两个联合HPC事件的集合用于剖析恶意软件类的能力排名的第二HPC事件组合集合;从所述第二HPC事件组合集合的子集生成第三扩展HPC事件组合集合;剖析一个或多个恶意软件事件和一个或多个善意应用,以获得用于所述一个或多个恶意软件事件中的每个恶意软件事件的检测准确度参数;应用使用所述第三HPC事件组合集合的机器学习(ML)模型,以基于恶意软件检测准确度对所述第三HPC事件组合集合进行排名;以及将遗传算法应用于所述第三HPC事件组合集合,以标识待用于恶意软件检测和分类的所述第三扩展HPC事件组合集合的子集。
示例2包括:如示例1所述的主题,还包括:应用信息增益分析,以确定所述单独HPC事件用于剖析恶意软件类的能力。
示例3包括:如示例1-2所述的主题,还包括:从所述第一HPC事件集合的所述子集创建候选双事件HPC事件组合集合;关于所述候选双事件HPC事件组合集合收集善意类和恶意类的数据记录;应用信息增益分析,以测量所述候选双事件HPC事件组合集合的联合信息增益;以及基于所述联合信息增益对所述候选双事件HPC事件组合集合进行排名。
示例4包括:如示例1-3所述的主题,还包括:应用使用所述第二HPC事件组合集合的机器学习(ML)模型,以基于恶意软件检测准确度对所述第二HPC事件组合集合进行排名。
示例5包括:如示例1-4所述的主题,还包括:将遗传算法应用于所述第二HPC事件组合集合,以从所述第一HPC事件集合的所述子集创建候选双事件HPC事件组合集合。
示例6包括:如示例1-5所述的主题,其中,所述遗传算法应用一个或多个杂交算子和一个或多个变异算子,以从所述第一HPC事件集合的所述子集创建候选双事件HPC事件组合集合。
示例7包括:如示例1-6所述的主题,还包括:从所述第三扩展HPC事件组合集合的所述子集选择待用于恶意软件检测和分类的单个HPC事件组合。
示例8是一种装置,包括:处理器;和计算机可读存储器,其包括指令,所述指令当由所述处理器执行时使所述处理器:生成基于单独硬件性能计数器(HPC)事件用于剖析恶意软件类的能力排名的第一HPC事件集合;从所述第一HPC事件集合的子集生成基于至少两个联合HPC事件的集合用于剖析恶意软件类的能力排名的第二HPC事件组合集合;从所述第二HPC事件组合集合的子集生成第三扩展HPC事件组合集合;剖析一个或多个恶意软件事件和一个或多个善意应用,以获得用于所述一个或多个恶意软件事件中的每个恶意软件事件的检测准确度参数;应用使用所述第三HPC事件组合集合的机器学习(ML)模型,以基于恶意软件检测准确度对所述第三HPC事件组合集合进行排名;以及将遗传算法应用于所述第三HPC事件组合集合,以标识待用于恶意软件检测和分类的所述第三扩展HPC事件组合集合的子集。
示例9包括:如示例8所述的主题,还包括指令,所述指令当由所述处理器执行时使所述处理器:应用信息增益分析,以确定所述单独HPC事件用于剖析恶意软件类的能力。
示例10包括:如示例8-9所述的主题,所述计算机可读存储器包括指令,所述指令当由所述处理器执行时使所述处理器迭代地:从所述第一HPC事件集合的所述子集创建候选双事件HPC事件组合集合;关于所述候选双事件HPC事件组合集合收集善意类和恶意类数据记录;应用信息增益分析,以测量所述候选双事件HPC事件组合集合的联合信息增益;以及基于所述联合信息增益对所述候选双事件HPC事件组合集合进行排名。
示例11包括:如示例8-10所述的主题,所述计算机可读存储器包括指令,所述指令当由所述处理器执行时使所述处理器:应用使用所述第二HPC事件组合集合的机器学习(ML)模型,以基于恶意软件检测准确度对所述第二HPC事件组合集合进行排名。
示例12包括:如示例8-11所述的主题,还包括指令,所述指令当由所述处理器执行时使所述处理器:将遗传算法应用于所述第二HPC事件组合集合,以从所述第一HPC事件集合的所述子集创建候选双事件HPC事件组合集合。
示例13包括:如示例8-12所述的主题,其中,所述遗传算法应用一个或多个杂交算子和一个或多个变异算子,以从所述第一HPC事件集合的所述子集创建候选双事件HPC事件组合集合。
示例14包括:如示例8-13所述的主题,所述计算机可读存储器包括指令,所述指令当由所述处理器执行时使所述处理器:从所述第三扩展HPC事件组合集合的所述子集选择待用于恶意软件检测和分类的单个HPC事件组合。
示例15是一种或多种计算机可读存储介质,其包括其上所存储的指令,所述指令响应于执行使计算设备:生成基于单独硬件性能计数器(HPC)事件用于剖析恶意软件类的能力排名的第一HPC事件集合;从所述第一HPC事件集合的子集生成基于至少两个联合HPC事件的集合用于剖析恶意软件类的能力排名的第二HPC事件组合集合;从所述第二HPC事件组合集合的子集生成第三扩展HPC事件组合集合;剖析一个或多个恶意软件事件和一个或多个善意应用,以获得用于所述一个或多个恶意软件事件中的每个恶意软件事件的检测准确度参数;应用使用所述第三HPC事件组合集合的机器学习(ML)模型,以基于恶意软件检测准确度对所述第三HPC事件组合集合进行排名;以及将遗传算法应用于所述第三HPC事件组合集合,以标识待用于恶意软件检测和分类的所述第三扩展HPC事件组合集合的子集。
示例16包括:如示例13-15所述的主题,还包括其上所存储的指令,所述指令响应于执行使所述计算设备:应用信息增益分析,以确定所述单独HPC事件用于剖析恶意软件类的能力。
示例17包括:如示例15-16所述的主题,还包括其上所存储的指令,所述指令响应于执行使所述计算设备迭代地:从所述第一HPC事件集合的所述子集创建候选双事件HPC事件组合集合;关于所述候选双事件HPC事件组合集合收集善意类和恶意类数据记录;应用信息增益分析,以测量所述候选双事件HPC事件组合集合的联合信息增益;以及基于所述联合信息增益对所述候选双事件HPC事件组合集合进行排名。
示例18包括:如示例15-17所述的主题,还包括其上所存储的指令,所述指令响应于执行使所述计算设备:应用使用所述第二HPC事件组合集合的机器学习(ML)模型,以基于恶意软件检测准确度对所述第二HPC事件组合集合进行排名。
示例19包括:如示例15-18所述的主题,还包括其上所存储的指令,所述指令响应于执行使所述计算设备:还包括其上所存储的指令,所述指令响应于执行使所述计算设备:将遗传算法应用于所述第二HPC事件组合集合,以从所述第一HPC事件集合的所述子集创建候选双事件HPC事件组合集合。
示例20包括:如示例15-19所述的主题,其中,所述遗传算法应用一个或多个杂交算子和一个或多个变异算子,以从所述第一HPC事件集合的所述子集创建候选双事件HPC事件组合集合。
示例21包括:如示例15-20所述的主题,还包括其上所存储的指令,所述指令响应于执行使所述计算设备:从所述第三扩展HPC事件组合集合的所述子集选择待用于恶意软件检测和分类的单个HPC事件组合。
在以上描述中,为了解释的目的,阐述大量具体细节以提供所描述的实施例的透彻理解。然而,对于本领域技术人员显而易见的是,可以在没有这些具体细节中的一些的情况下实践实施例。在其他实例中,以框图形式示出公知结构和设备。所示组件之间可以存在中间结构。本文描述或示出的组件可以具有未示出或描述的附加输入或输出。
各种实施例可以包括各种过程。这些过程可以由硬件组件执行,或者可以体现于可以用以使通用或专用处理器或用指令编程的逻辑电路执行过程的计算机程序或机器可执行指令中。替代地,这些通常可以由硬件和软件的组合执行。
各种实施例的部分可以提供为计算机程序产品,其可以包括计算机可读介质,所述计算机可读介质具有其上所存储的计算机程序指令,所述计算机程序指令可以用以对计算机(或其他电子设备)进行编程以用于由一个或多个执行多个处理器执行,以执行根据特定实施例的过程。计算机可读介质可以包括但不限于磁盘、光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存或适合于存储电子指令的其他类型的计算机可读介质。此外,实施例也可以下载为计算机程序产品,其中,程序可以从远程计算机传送到请求计算机。
许多方法以其最基本的形式加以描述,但是在不脱离本实施例的基本范围的情况下,可以从任何方法添加或删除过程,并且可以从任何所描述的消息添加或减除信息。对本领域技术人员显而易见的是,可以进行许多进一步的修改和适配。特定实施例并非提供为限制概念,而是示出它。实施例的范围并非由以上提供的具体示例确定,而仅由所附权利要求确定。
如果说元件“A”耦合到元件“B”或与元件“B”耦合,则元件A可以直接耦合到元件B或通过例如元件C间接耦合。当说明书或权利要求声明时组件、特征、结构、过程或特性A“导致”组件、特征、结构、过程或特性B时,这意指“A”至少是“B”的部分原因,但是也可能存在有助于导致“B”的至少一种其他组件、特征、结构、过程或特性。如果说明书指示组件、特征、结构、过程或特性“可能”、“可能”或“可”被包括,则不需要包括该特定组件、特征、结构、过程或特性。如果说明书或权利要求指代“一个”或“某个”要素,则这并非意指仅存在所描述的要素之一。
实施例是实现方式或示例。说明书中对“实施例”、“一个实施例”、“一些实施例”或“其他实施例”的引用意指结合实施例描述的特定特征、结构或特性包括于至少一些实施例中,而非一定所有实施例。“实施例”、“一个实施例”或“一些实施例”的各种出现不一定全都指代同一实施例。应理解,在示例性实施例的前述描述中,出于简化公开并有助于理解各种新颖方面中的一个或多个的目的,各种特征有时在单个实施例、附图或其描述中编组在一起。然而,本公开的该方法并非解释为反映所要求保护的实施例要求比每项权利要求中明确地陈述的更多的特征的意图。此外,如所附权利要求反映的那样,新颖方面在于比单个前述所公开的实施例的所有特征更少。因此,权利要求由此明确合并到本描述中,其中,每项权利要求自身代表单独实施例。

Claims (14)

1.一种方法,包括:
生成基于单独硬件性能计数器(HPC)事件用于剖析恶意软件类的能力排名的第一HPC事件集合;
从所述第一HPC事件集合的子集生成基于至少两个联合HPC事件的集合用于剖析恶意软件类的能力排名的第二HPC事件组合集合;
从所述第二HPC事件组合集合的子集生成第三扩展HPC事件组合集合;
剖析一个或多个恶意软件事件和一个或多个善意应用,以获得用于所述一个或多个恶意软件事件中的每个恶意软件事件的检测准确度参数;
应用使用所述第三HPC事件组合集合的机器学习(ML)模型,以基于恶意软件检测准确度对所述第三HPC事件组合集合进行排名;以及
将遗传算法应用于所述第三HPC事件组合集合,以标识待用于恶意软件检测和分类的所述第三扩展HPC事件组合集合的子集。
2.如权利要求1所述的方法,还包括:
应用信息增益分析,以确定所述单独HPC事件用于剖析恶意软件类的能力。
3.如权利要求2所述的方法,还包括:
从所述第一HPC事件集合的所述子集创建候选双事件HPC事件组合集合;
关于所述候选双事件HPC事件组合集合收集善意类和恶意类的数据记录;
应用信息增益分析,以测量所述候选双事件HPC事件组合集合的联合信息增益;以及
基于所述联合信息增益对所述候选双事件HPC事件组合集合进行排名。
4.如权利要求3所述的方法,还包括:
应用使用所述第二HPC事件组合集合的机器学习(ML)模型,以基于恶意软件检测准确度对所述第二HPC事件组合集合进行排名。
5.如权利要求4所述的方法,还包括:
将遗传算法应用于所述第二HPC事件组合集合,以从所述第一HPC事件集合的所述子集创建候选双事件HPC事件组合集合。
6.如权利要求5所述的方法,其中,所述遗传算法应用一个或多个杂交算子和一个或多个变异算子,以从所述第一HPC事件集合的所述子集创建候选双事件HPC事件组合集合。
7.如权利要求1所述的方法,还包括:
从所述第三扩展HPC事件组合集合的所述子集选择待用于恶意软件检测和分类的单个HPC事件组合。
8.一种装置,包括:
处理器;和
计算机可读存储器,其包括指令,所述指令当由所述处理器执行时使所述处理器:
生成基于单独硬件性能计数器(HPC)事件用于剖析恶意软件类的能力排名的第一HPC事件集合;
从所述第一HPC事件集合的子集生成基于至少两个联合HPC事件的集合用于剖析恶意软件类的能力排名的第二HPC事件组合集合;
从所述第二HPC事件组合集合的子集生成第三扩展HPC事件组合集合;
剖析一个或多个恶意软件事件和一个或多个善意应用,以获得用于所述一个或多个恶意软件事件中的每个恶意软件事件的检测准确度参数;
应用使用所述第三HPC事件组合集合的机器学习(ML)模型,以基于恶意软件检测准确度对所述第三HPC事件组合集合进行排名;以及
将遗传算法应用于所述第三HPC事件组合集合,以标识待用于恶意软件检测和分类的所述第三扩展HPC事件组合集合的子集。
9.如权利要求8所述的计算装置,所述计算机可读存储器包括指令,所述指令当由所述处理器执行时使所述处理器:
应用信息增益分析,以确定所述单独HPC事件用于剖析恶意软件类的能力。
10.如权利要求9所述的装置,所述计算机可读存储器包括指令,所述指令当由所述处理器执行时使所述处理器迭代地:
从所述第一HPC事件集合的所述子集创建候选双事件HPC事件组合集合;
关于所述候选双事件HPC事件组合集合收集善意类和恶意类数据记录;
应用信息增益分析,以测量所述候选双事件HPC事件组合集合的联合信息增益;以及
基于所述联合信息增益对所述候选双事件HPC事件组合集合进行排名。
11.如权利要求10所述的计算装置,所述计算机可读存储器包括指令,所述指令当由所述处理器执行时使所述处理器:
应用使用所述第二HPC事件组合集合的机器学习(ML)模型,以基于恶意软件检测准确度对所述第二HPC事件组合集合进行排名。
12.如权利要求11所述的计算装置,所述计算机可读存储器包括指令,所述指令当由所述处理器执行时使所述处理器:
将遗传算法应用于所述第二HPC事件组合集合,以从所述第一HPC事件集合的所述子集创建候选双事件HPC事件组合集合。
13.如权利要求12所述的装置,其中,所述遗传算法应用一个或多个杂交算子和一个或多个变异算子,以从所述第一HPC事件集合的所述子集创建候选双事件HPC事件组合集合。
14.如权利要求8所述的计算装置,所述计算机可读存储器包括指令,所述指令当由所述处理器执行时使所述处理器:
从所述第三扩展HPC事件组合集合的所述子集选择待用于恶意软件检测和分类的单个HPC事件组合。
CN202111393995.9A 2020-12-23 2021-11-23 标识硬件性能计数器事件的方法和装置 Pending CN114662094A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/132,248 US11790087B2 (en) 2020-12-23 2020-12-23 Method and apparatus to identify hardware performance counter events for detecting and classifying malware or workload using artificial intelligence
US17/132,248 2020-12-23

Publications (1)

Publication Number Publication Date
CN114662094A true CN114662094A (zh) 2022-06-24

Family

ID=75382889

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111393995.9A Pending CN114662094A (zh) 2020-12-23 2021-11-23 标识硬件性能计数器事件的方法和装置

Country Status (3)

Country Link
US (1) US11790087B2 (zh)
CN (1) CN114662094A (zh)
DE (1) DE102021129862A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11790087B2 (en) 2020-12-23 2023-10-17 Intel Corporation Method and apparatus to identify hardware performance counter events for detecting and classifying malware or workload using artificial intelligence

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007038245A2 (en) * 2005-09-23 2007-04-05 Widevine Technologies, Inc. Method for evolving detectors to detect malign behavior in an artificial immune system
CN105229612B (zh) * 2013-03-18 2018-06-26 纽约市哥伦比亚大学理事会 使用基于硬件的微体系结构数据的异常程序执行的检测
KR101794116B1 (ko) * 2013-03-18 2017-11-06 더 트러스티스 오브 컬럼비아 유니버시티 인 더 시티 오브 뉴욕 하드웨어 특징들을 사용한 이상 프로세스들의 비감시된 검출
US10185824B2 (en) * 2014-05-23 2019-01-22 The George Washington University System and method for uncovering covert timing channels
US11829475B2 (en) * 2020-10-20 2023-11-28 University Of Florida Research Foundation, Inc. Hardware-assisted malware detection using explainable machine learning
US11790087B2 (en) 2020-12-23 2023-10-17 Intel Corporation Method and apparatus to identify hardware performance counter events for detecting and classifying malware or workload using artificial intelligence

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11790087B2 (en) 2020-12-23 2023-10-17 Intel Corporation Method and apparatus to identify hardware performance counter events for detecting and classifying malware or workload using artificial intelligence

Also Published As

Publication number Publication date
US11790087B2 (en) 2023-10-17
DE102021129862A1 (de) 2022-06-23
US20210110038A1 (en) 2021-04-15

Similar Documents

Publication Publication Date Title
Ramírez‐Gallego et al. Fast‐mRMR: Fast minimum redundancy maximum relevance algorithm for high‐dimensional big data
US9910847B2 (en) Language identification
TWI486810B (zh) 在狀態機晶格中之計數器操作
WO2021096649A1 (en) Detecting unknown malicious content in computer systems
Gao et al. AIBench: an industry standard internet service AI benchmark suite
CN106383695A (zh) 基于fpga的聚类算法的加速系统及其设计方法
US11720825B2 (en) Framework for multi-tenant data science experiments at-scale
Wang et al. Deep learning at scale and at ease
EP4040311A1 (en) Utilizing machine learning and natural language processing to extract and verify vaccination data
CN104834599A (zh) Web安全检测方法和装置
Xie et al. Graphiler: Optimizing graph neural networks with message passing data flow graph
CN111049904A (zh) 多公有云资源监控的方法与设备
US20190050740A1 (en) Accelerated decision tree execution
US8201115B2 (en) Scalable reduction in registers with SAT-based resubstitution
US20230067285A1 (en) Linkage data generator
CN114662094A (zh) 标识硬件性能计数器事件的方法和装置
Tasyurek et al. RT-Droid: a novel approach for real-time android application analysis with transfer learning-based CNN models
WO2021055868A1 (en) Associating user-provided content items to interest nodes
JP5936135B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
Ramos-Pollán et al. BIGS: A framework for large-scale image processing and analysis over distributed and heterogeneous computing resources
US20200174760A1 (en) Automatic code generation
US20230131105A1 (en) Identifying Test Dependencies Using Binary Neural Networks
Gahar et al. An ontology-driven mapreduce framework for association rules mining in massive data
US11797775B1 (en) Determining emebedding vectors for an unmapped content item using embedding inferenece
US20210117476A1 (en) Method and apparatus for selecting key information for each group in graph data

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