CN116595518A - 数据处理单元的存储器中的恶意统一资源定位符url检测 - Google Patents
数据处理单元的存储器中的恶意统一资源定位符url检测 Download PDFInfo
- Publication number
- CN116595518A CN116595518A CN202310009038.4A CN202310009038A CN116595518A CN 116595518 A CN116595518 A CN 116595518A CN 202310009038 A CN202310009038 A CN 202310009038A CN 116595518 A CN116595518 A CN 116595518A
- Authority
- CN
- China
- Prior art keywords
- candidate
- url
- malicious
- features
- detection system
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 176
- 230000015654 memory Effects 0.000 title claims abstract description 108
- 238000012545 processing Methods 0.000 title claims abstract description 86
- 238000000034 method Methods 0.000 claims abstract description 136
- 238000010801 machine learning Methods 0.000 claims abstract description 116
- 238000004590 computer program Methods 0.000 claims abstract description 43
- 230000004044 response Effects 0.000 claims abstract description 25
- 238000013145 classification model Methods 0.000 claims description 98
- 238000000605 extraction Methods 0.000 claims description 55
- 239000013598 vector Substances 0.000 claims description 48
- 238000013528 artificial neural network Methods 0.000 claims description 16
- 230000001133 acceleration Effects 0.000 claims description 13
- 239000012634 fragment Substances 0.000 claims description 5
- 230000002093 peripheral effect Effects 0.000 claims description 4
- 230000007787 long-term memory Effects 0.000 claims 4
- 239000000284 extract Substances 0.000 abstract description 58
- 230000008569 process Effects 0.000 description 70
- 238000007637 random forest analysis Methods 0.000 description 42
- 230000000694 effects Effects 0.000 description 34
- 238000010586 diagram Methods 0.000 description 25
- 238000013527 convolutional neural network Methods 0.000 description 24
- 238000003860 storage Methods 0.000 description 22
- 238000013075 data extraction Methods 0.000 description 13
- 238000012549 training Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 238000007726 management method Methods 0.000 description 9
- 230000009471 action Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000007812 deficiency Effects 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000003068 static effect Effects 0.000 description 6
- 101000603420 Homo sapiens Nuclear pore complex-interacting protein family member A1 Proteins 0.000 description 5
- 102100038845 Nuclear pore complex-interacting protein family member A1 Human genes 0.000 description 5
- 230000009467 reduction Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 230000002155 anti-virotic effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 238000003058 natural language processing Methods 0.000 description 4
- 230000006855 networking Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 3
- 241000700605 Viruses Species 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 239000004744 fabric Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000002265 prevention Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- VPGRYOFKCNULNK-ACXQXYJUSA-N Deoxycorticosterone acetate Chemical compound C1CC2=CC(=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H](C(=O)COC(=O)C)[C@@]1(C)CC2 VPGRYOFKCNULNK-ACXQXYJUSA-N 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000007123 defense Effects 0.000 description 2
- KXGVEGMKQFWNSR-UHFFFAOYSA-N deoxycholic acid Natural products C1CC2CC(O)CCC2(C)C2C1C1CCC(C(CCC(O)=O)C)C1(C)C(O)C2 KXGVEGMKQFWNSR-UHFFFAOYSA-N 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 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 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- CQIZBIFTOGBKDB-UHFFFAOYSA-N 4-cyclohexyl-1-methyl-3,6-dihydro-2h-pyridine Chemical compound C1N(C)CCC(C2CCCCC2)=C1 CQIZBIFTOGBKDB-UHFFFAOYSA-N 0.000 description 1
- 241000202252 Cerberus Species 0.000 description 1
- 101100076239 Drosophila melanogaster Mctp gene Proteins 0.000 description 1
- 206010033799 Paralysis Diseases 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 235000012489 doughnuts Nutrition 0.000 description 1
- 238000011842 forensic investigation Methods 0.000 description 1
- 208000015181 infectious disease Diseases 0.000 description 1
- 230000002458 infectious effect Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000010387 memory retrieval Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000013519 translation 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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Virology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及数据处理单元的存储器中的恶意统一资源定位符URL检测。用于使用机器学习(ML)检测***将候选统一资源定位符(URL)分类为恶意的装置、***和技术。一种集成电路经由主机接口被耦合至主机设备的物理存储器。该集成电路托管硬件加速的安全服务,以保护由主机设备执行的一个或更多个计算机程序。安全服务从存储在物理存储器中的数据中提取一组特征,该数据是候选URL中的字和候选URL的URL结构中的数字特征。安全服务使用ML检测***利用一组特征将候选URL分类为恶意的或善意的。安全服务响应于候选URL被分类为恶意的而输出恶意URL的指示。
Description
相关申请
本申请要求2022年2月14日提交的美国临时申请第63/309,849号的权益,该申请的全部内容通过引用被合并于此。本申请与同时提交的标题为“使用机器学习检测模型在数据处理单元的存储器中的恶意活动检测(MALICIOUS ACTIVITY DETECTION IN MEMORYOF A DATA PROCESSING UNIT USING MACHINE LEARNING DETECTION MODELS)”的共同未决美国申请、同时提交的标题为“使用机器学习检测模型在数据处理单元的存储器中的勒索软件检测(RANSOMWARE DETECTION IN MEMORY OF A DATA PROCESSING UNIT USINGMACHINE LEARNING DETECTION MODELS)”的共同未决美国申请,以及同时提交的标题为“使用机器学习检测模型在数据处理单元的存储器中的恶意域生成算法(DGA)检测(MALICIOUSDOMAIN GENERATION ALGORITHM(DGA)DETECTION IN MEMORY OF A DATA PROCESSING UNITUSING MACHINE LEARNING DETECTION MODELS)”的共同未决美国申请相关。
技术领域
至少一个实施例涉及用于执行和促进用于检测一个或更多个计算机程序是否受到恶意活动的操作的处理资源。例如,根据本文描述的各种新型技术,至少一个实施例涉及用于基于从存储在主机设备的物理存储器中的数据提取的特征,提供和使数据处理单元(DPU)能够使用机器学习(ML)检测***确定由主机设备执行的一个或更多个计算机程序是否受到恶意活动的影响的处理器或计算***。
背景技术
机器学习涉及训练计算***(使用训练数据)以识别数据中可能促进检测和分类的特征。训练可以是监督的或无监督的。机器学习模型可以使用各种计算算法,如决策树算法(或其他基于规则的算法)、人工神经网络等。在推理阶段,新数据被输入到经训练的机器学习模型中,经训练的机器学习模型可以使用训练期间识别的特征对感兴趣的项目进行分类。
附图说明
将参照附图描述根据本公开的各种实施例,其中:
图1A是根据至少一个实施例的示例***架构的框图。
图1B是根据至少一个实施例的示例***架构的框图。
图2是根据至少一个实施例的对存储在与由主机设备执行的一个或更多个计算机程序相关联的存储器中的数据的恶意活动检测的示例方法的流程图。
图3A是根据至少一个实施例的示例随机森林分类模型的示图。
图3B是根据至少一个实施例的用于勒索软件检测***的示例***架构的框图。
图3C是根据至少一个实施例的用于勒索软件检测***的示例***架构的框图。
图4是根据至少一个实施例的使用随机森林分类模型的勒索软件检测的示例方法的流程图。
图5A是根据至少一个实施例的示例恶意统一资源定位符(URL)检测***的框图。
图5B是根据至少一个实施例的用于恶意URL检测***的示例***架构的框图。
图5C是根据至少一个实施例的用于恶意URL检测***的示例***架构的框图。
图6示出了根据至少一个实施例的候选URL的URL结构。
图7是根据至少一个实施例的使用二元(binary)分类模型的恶意URL检测的示例方法的流程图。
图8A是根据至少一个实施例的示例域生成算法(DGA)检测***的框图。
图8B是根据至少一个实施例的用于DGA检测***的示例***架构的框图。
图8C是根据至少一个实施例的用于DGA检测***的示例***架构的框图。
图9A是示出了根据至少一个实施例的DGA检测***的二元分类模型的精确-召回曲线的曲线图。
图9B是示出了根据至少一个实施例的在统一歧管近似和投影(UMAP)降维之前的训练数据的曲线图。
图9C是示出了根据至少一个实施例的UMAP降维之后的训练数据的曲线图。
图10是根据至少一个实施例的使用两阶段分类模型的DGA检测的示例方法的流程图。
具体实施方式
恶意活动会对计算机***造成破坏。恶意活动可以由恶意软件(也被称为恶意的软件或恶意的代码)引起。恶意软件是任何有意设计为对计算机、服务器、客户端或计算机网络造成破坏,泄露私人信息,获取未经授权访问信息或资源,剥夺用户访问信息的权利,或有意干扰用户的计算机安全和隐私的软件。常见的恶意软件可以包括计算机病毒(例如,特洛伊木马病毒)或其他传染性的恶意软件、蠕虫、间谍软件、广告软件、流氓软件、雨刷(wiper)、恐吓软件、勒索软件、后门、钓鱼等。
恶意活动的一种类型是由勒索软件引起的。勒索软件是一种被设计为拒绝用户或组织访问其计算机上的文件的恶意软件。勒索软件可以是基于加密或基于屏幕锁定的勒索软件。例如,通过加密文件并要求支付赎金以获得解密密钥,勒索软件将组织置于支付赎金是重新获得对其文件的访问的最简单和最便宜的方式的处境中。勒索软件已迅速成为最突出和最明显的恶意软件类型。最近的勒索软件攻击影响了医院提供紧要服务的能力,使城市的公共服务陷于瘫痪,并对各种组织造成了重大损失。现有的针对勒索软件的安全解决方案被安装在主机或虚拟机上(例如,基于代理的防病毒解决方案)。这些现有的解决方案是不够的,因为恶意软件可以躲过它们。此外,这些工具在很大程度上无法检测到新的未知恶意软件,因为它们大多是基于静态分析的,而具有不同静态特征的恶意软件更容易被创建出来。
另一种类型的恶意活动是由恶意的URL引起的。恶意URL是以促进诈骗、攻击和欺诈为目的的链接。通过点击恶意URL,用户可以下载勒索软件、病毒、特洛伊木马或任何其他类型的恶意软件,这将损害机器甚至是组织的网络。恶意URL也可以用来说服用户在假网站上提供敏感信息。现有的针对恶意URL的安全解决方案是不够的,因为它们只专注于通过监测外部来源,如电子邮件、下载的文件等来检测恶意URL。这意味着,如果URL渗透到主机或虚拟机中,目前的检测***不会发现它,直到其在外部来源中使用为止。有时,黑客使用加密或混淆技术将恶意的URL隐藏在文件中。文件中的这些URL被从扫描中隐藏或混淆,或用户被引诱点击,其只在存储器中暴露出来。
另一种类型的恶意活动是由域名生成算法(DGA)恶意软件引起的。DGA恶意软件通过定期为命令和控制服务器生成大量的候选域名,并查询所有这些通过算法生成的域名,以解析命令和控制服务器的互联网协议(IP)地址,从而与命令和控制(C&C)服务器建立连接。对手使用嵌入DGA恶意软件中的相同算法,提前为命令和控制服务器注册了这些DGA生成的域名之一。最终,恶意软件查询对手预先注册的域名,并解析出命令和控制服务器的IP地址。然后,恶意软件开始与命令和控制服务器进行通信,以接收新的命令和更新。如果DGA恶意软件在其之前的域名中找不到命令和控制服务器,它就会查询下一组DGA生成的域名,直到找到一个能用的域名为止。现有的针对DGA恶意软件的安全解决方案在DGA恶意软件查询域名***(DNS)请求以解析命令和控制服务器的IP地址时检测到DGA域名。
本公开的实施例通过在集成电路的加速硬件引擎上托管硬件加速的安全服务来解决上述和其他不足之处。硬件加速的安全服务从存储在存储器中并与中央处理单元(CPU)执行的一个或更多个计算机程序相关联的数据中提取特征,并基于从存储在存储器中的数据中提取的特征,使用ML检测***确定该一个或更多个计算机程序是否存在恶意活动。硬件加速的安全服务响应于确定一个或更多个计算机程序受到恶意活动的影响而输出恶意活动的指示。该计算机程序可以是主机操作***(OS)、应用程序、访客操作***、访客应用程序等的任何一种。在DPU上运行的硬件加速的安全服务是无代理的硬件产品,它检查一个或更多个计算机程序的存储器。因此,恶意软件不知道其存在,而硬件加速的安全服务可以在攻击期间检测到恶意软件,即当恶意软件在存储器中暴露自己时,更容易检测到恶意软件。在至少一个实施例中,硬件加速的安全服务是NVIDIA BlueField AppShield。另外,也可以使用其他硬件加速的安全服务。因此,恶意软件不知道它的存在。在某些情况下,ML检测***会在攻击过程中检测到恶意活动,在这种情况下,恶意软件会暴露自己,更容易被发现。集成电路可以是数据处理单元(DPU),片上可编程数据中心基础设施。集成电路可以包括与CPU操作耦合的网络接口,用于负责网络数据路径处理,CPU可以控制路径初始化和异常处理。
如上所述,现有的针对勒索软件的解决方案安装在主机或虚拟机上(例如,基于代理的防病毒解决方案),并且是不够的,因为勒索软件可以躲避它们,并且它们由于其静态分析而无法检测新的未知恶意软件。本公开的实施例通过使用无代理的硬件产品来解决有关勒索软件的上述和其他缺陷,该产品检查一个或更多个计算机程序的存储器,使勒索软件不知道它的存在,并在勒索软件暴露自己的攻击期间检测勒索软件。本公开的实施例通过获得存储在存储器中的数据的一系列快照,并从一系列快照中的每个快照中提取一组特征,每个快照表示在时间点处的数据,来解决勒索软件方面的上述和其他不足之处。该ML检测***可以包括随机森林分类模型。随机森林分类模型是基于时间序列的模型,该模型被训练为使用一系列快照中的不同数量的快照的级联(例如,3、5和10个快照)将进程分类为勒索软件或非勒索软件。
如上所述,现有的恶意URL的解决方案监测外部来源(如电子邮件)以进行检测,并且是不够的,因为这些恶意URL有时只在存储器中显示自己,因为它们是加密的或混淆的URL。本公开的实施例通过监测来自恶意URL的存储器来检测甚至是加密和混淆的URL,来解决上述和其他关于恶意URL的不足之处。本公开的实施例可以为现有的安全解决方案提供一个扩展的解决方案,其中加密的或混淆的URL被用来躲过现有的安全解决方案。本公开的实施例通过获取存储在存储器中的数据的快照并从快照中提取一组特征来解决上述和其他有关恶意URL的缺陷。该一组特征可以包括候选URL中的字和候选URL结构的数字特征,如指定URL结构的长度、计数、位置等。ML检测***可以包括二元分类模型,该模型经过训练以使用一组特征将候选URL分类为恶意的或善意的。
如上所述,现有的DGA恶意软件的解决方案在DGA恶意软件查询DNS请求以解析命令和控制服务器的IP地址时检测DGA域。本公开的实施例通过DAM域可以在DGA恶意软件试图与命令和控制服务器建立连接之前,在存储器内检测到DGA恶意软件,从而解决了上述问题,以及与DGA恶意软件有关的其他不足之处。通过在建立连接之前检测存储器中的DGA域,本公开的实施例可以快速有效地消除DGA恶意软件,甚至在DGA恶意软件用DNS请求暴露自己之前。此外,在大多数情况下,DGA恶意软件会生成多个域来尝试与命令和控制服务器连接。本公开的实施例可以收集每个进程的域,增加ML模型的检测率,因为它可以基于一起处理的所有域的综合决定。本公开的实施例通过获得存储在存储器中的数据的快照并从快照中提取一组特征来解决上述和其他关于DGA恶意软件的不足。该一组特征可以包括一个或更多个候选URL。ML检测***可以包括两阶段分类模型。该两阶段分类模型可以包括二元分类模型,该模型被训练成在第一阶段将一个或更多个候选URL分类为具有DGA域或非DGA域,以及多类分类模型,该模型被训练成在一组DGA族之间对DGA域的DGA族分类。二元分类模型可以被训练成在第一阶段将一个或更多个候选URL分类为由DGA恶意软件生成,而多类分类模型可以被训练成在一组DGA恶意软件族之间对DGA恶意软件的DGA族进行分类。
***架构
图1A是根据至少一个实施例的示例***架构100的框图。***架构100(在此也被称为“***”或“计算***”)包括集成电路、带标记的DPU102、主机设备104、安全信息和事件管理(SIEM)或扩展检测和响应(XDR)***106。***架构100可以是数据中心的一部分,包括一个或更多个数据存储,一个或更多个服务器机器,以及数据中心基础设施的其他组件。在实施例中,网络108可以包括公共网络(例如,互联网)、专用网络(例如,局域网(LAN)或广域网(WAN))、有线网络(例如,以太网网络)、无线网络(例如,802.11网络或Wi-Fi网络)、蜂窝网络(例如,长期演进(LTE)网络)、路由器、集线器、交换机、服务器计算机和/或其组合。
在至少一个实施例中,DPU 102被集成为片上***(SoC),该片上***被认为是片上的数据中心基础设施。在至少一个实施例中,DPU 102包括DPU硬件110和具有加速库112的软件框架。DPU硬件110可以包括CPU 114(例如,单核心或多核心CPU)、一个或更多个硬件加速器116、存储器118、一个或更多个主机接口120、以及一个或更多个网络接口121。软件框架和加速库112可以包括一个或更多个硬件加速服务,包括硬件加速的安全服务122(例如,NVIDIA DOCA APPSHIELD)(在此也称为“AppShield”)、硬件加速的虚拟化服务124、硬件加速的网络服务126、硬件加速的存储服务128、硬件加速的人工智能/机器学习(AI/ML)服务130以及硬件加速的管理服务132。在至少一个实施例中,DPU 102包括ML检测***134,该***包括一个或更多个ML检测模型,其经过训练以基于从存储在主机物理存储器148中的数据提取的特征来确定由主机设备104(例如,物理机或虚拟机(VM))执行的一个或更多个计算机程序是否受到恶意活动,该数据与该一个或更多个计算机程序相关联。主机物理存储器148可以包括一个或更多个易失性和/或非易失性存储器设备,它们被配置为存储主机设备104的数据。在至少一个实施例中,ML检测***134包括勒索软件检测***136、恶意URL检测***138、DGA检测***140,以及可选的其他恶意软件检测***142。
在至少一个实施例中,硬件加速的安全服务122包括数据提取逻辑146,其通过主机接口120提取存储在主机物理存储器148中的数据(称为提取的数据147)。在至少一个实施例中,数据提取逻辑146可以通过主机接口120获得存储在主机物理存储器148中的数据的快照或一系列快照。每个快照表示在时间点处的数据。在至少一个实施例中,数据提取逻辑146具有特征提取逻辑,以提取一个或更多个特征并将提取的特征(而不是提取的数据147)发送给ML检测***134。例如,数据提取逻辑146可以从提取的数据147中提取候选URL并将候选URL发送到ML检测***134。
在至少一个实施例中,数据提取逻辑146提取并发送一系列快照到ML检测***134,并且ML检测***134包括特征提取逻辑144,以从不同的进程插件(例如存储器插件)中提取一组特征。特征提取逻辑144从一系列快照的每个快照中提取一组来自不同存储器插件的特征。在至少一个实施例中,提取的特征被馈送入勒索软件检测***136。在至少一个实施例中,勒索软件检测***136包括随机森林分类模型。该随机森林分类模型可以是基于时间序列的模型,该模型被训练成利用快照系列中不同数量的快照的级联将进程分类为勒索软件或非勒索软件。在至少一个实施例中,该系列中不同数量的快照的级联包括在第一时间量内获得的第一数量的快照,在大于第一时间量的第二时间量内获得的第二数量的快照,和在大于第二时间量的第三时间量内获得的第三数量的快照。第二数量的快照包括第一数量的快照,而第三数量的快照包括第二数量的快照。不同的存储器插件和随机森林分类模型的其他细节将在下面关于图3A-4进行描述。
在至少一个实施例中,数据提取逻辑146提取快照并将其发送至ML检测***134,并且ML检测***134包括特征提取逻辑144以从快照中提取一组特征。该一组特征包括候选URL中的字和候选URL的URL结构的数字特征。URL结构可以包括方案、子域、域、顶级域(TLD)、端口、路径、查询、片段,或其他结构,如二级域、子目录等,如图6所示。数字特征可以包括候选URL中字的长度,URL结构的不同部分的计数(例如,两个TLD,端口的指示,三个片段,或类似的)。在至少一个实施例中,特征提取逻辑144可以提取候选URL的字和数字特征,并将字令牌化(tokenize)为令牌(token)。在至少一个实施例中,恶意URL检测***138包括二元分类模型,该模型被训练成使用一组特征将候选URL分类为恶意的或善意的。在至少一个实施例中,二元分类模型包括嵌入层、长短期记忆(LSTM)层和全连接神经网络层。嵌入层将表示候选URL中字的令牌的输入序列作为令牌接收,并根据令牌的输入序列生成输入向量。LSTM层被训练为基于输入向量生成输出向量。全连接神经网络层被训练为使用LSTM层的输出向量和URL结构的数字特征将候选URL分类为恶意的或善意的。关于URL的特征和二元分类模型的其他细节将在下文中关于图5A-7进行描述。
在至少一个实施例中,数据提取逻辑146提取快照并将其发送到ML检测***134,并且ML检测***134包括特征提取逻辑144以从快照中提取一组特征。该一组特征包括一个或更多个候选URL中的域字符。候选URL的域可以包括多个域字符,特征提取逻辑144可以提取域字符作为一个或更多个候选URL的特征。特征提取逻辑144可以将域字符令牌化为令牌。在至少一个实施例中,DGA检测***140包括两阶段分类模型。该两阶段分类模型可以包括第一阶段的二元分类模型和第二阶段的多类分类模型。二元分类模型被训练成在第一阶段使用一组特征将一个或更多个候选URL分类为具有DGA域或非DGA域。多类分类模型被训练成在第二阶段使用一组特征对一组DGA族之间的DGA域的DGA族进行分类。在至少一个实施例中,二元分类模型是卷积神经网络(CNN),其具有嵌入层以将表示一个或更多个候选URL中的域字符的令牌的输入序列作为令牌接收,并基于令牌的输入序列生成输入向量。CNN被训练成在第一阶段使用来自嵌入层的输入向量将一个或更多个候选URL分类为具有DGA域或非DGA域。在至少一个实施例中,多类分类模型包括具有嵌入层的CNN的孪生网络(Siamese network)。孪生网络被训练为在第二阶段使用来自嵌入层的输入向量对DGA族进行分类。关于URL的特征和二元分类模型的其他细节将在下文中关于图8A-10进行描述。
在至少一个实施例中,ML检测***134可以输出ML检测***134的分类的指示149。指示149可以是勒索软件的指示、恶意URL的指示、DGA域的指示、由主机设备104执行的一个或更多个计算机程序受到恶意活动的指示、由其他恶意软件检测***142的分类的指示,或类似的。在至少一个实施例中,ML检测***134可以向硬件加速的安全服务122发送指示149,而硬件加速的安全服务122可以向SIEM或XDR***106发送警报151。警报151可以包括关于勒索软件、恶意URL、DGA域或类似的信息。在至少一个实施例中,ML检测***134可以向SIEM或XDR***106发送指示155,除了或代替向硬件加速的安全服务122发送指示149。
在至少一个实施例中,DPU 102提取存储在主机物理存储器148中的数据并将提取的数据147发送到托管ML检测***的另一个计算***,如在图1B中所示,其中ML检测***154被托管在加速的AI/ML管线153上。在至少一个实施例中,加速的AI/ML管线可以是NVIDIA MORPHEUS网络安全平台。加速的AI/ML管线153可以执行预处理操作、推理、后处理操作、动作或其任何组合。加速的AI/ML管线153可以是硬件和软件的组合,例如英伟达EXG平台和用于加速英伟达EXG平台上AI/ML操作的软件。加速的AI/ML管线153可以提供优势,例如,与CPU相比,加速过程可达60倍。加速的AI/ML管线153还可以提供可以并行完成的多个推理的优势(例如,高达上百万的并行推理)。下面将结合图1B描述ML检测***154的其他细节。
应该注意的是,与CPU或图形处理单元(GPU)不同,DPU 102是一类新的可编程处理器,它结合了三个关键要素,包括,例如:1)行业标准的、高性能的、软件可编程的、CPU(单核或多核CPU),与其他SoC组件紧密耦合;2)高性能的网络接口,能够以线速或网络其他部分的速度解析、处理和高效传输数据到GPU和CPU;以及3)一套丰富的灵活和可编程的加速引擎,可卸载和提高AI和机器学***台。在至少一个实施例中,DPU 102可以作为独立的嵌入式处理器使用。在至少一个实施例中,DPU 102可以并入网络接口控制器(也称为智能网络接口卡(SmartNIC)),作为服务器***中的组件使用。基于DPU的网络接口卡(网络适配器)可以卸载服务器***的CPU通常会负责(handle)的处理任务。使用自己的板载处理器,基于DPU的SmartNIC可以执行加密/解密、防火墙、传输控制协议/互联网协议(TCP/IP)和超文本传输协议(HTTP)处理的任何组合。例如,SmartNIC可用于高流量的网络服务器。
在至少一个实施例中,DPU 102可以被配置为传统企业的现代云工作负载和高性能计算。在至少一个实施例中,DPU 102可以在数据中心规模上提供一套软件定义的网络、存储、安全和管理服务(例如,122-132),具有卸载、加速和隔离数据中心基础设施的能力。在至少一个实施例中,DPU 102可以通过这些软件服务提供多租户、云原生环境。在至少一个实施例中,DPU 102可以提供多达数百个CPU核心的数据中心服务,释放出宝贵的CPU周期来运行关键业务的应用程序。在至少一个实施例中,DPU102可以被认为是一种新型的处理器,它被设计为处理数据中心基础设施软件,以卸载和加速虚拟化、联网、存储、安全、云原生AI/ML服务和其他管理服务(例如,122-132)的计算负荷。
在至少一个实施例中,DPU 102可以包括与基于分组的互连(例如,以太网)、交换式结构互连(例如,InfiniBand、光纤通道、Omni-Path)或类似的连接。在至少一个实施例中,DPU 102可以提供加速的、完全可编程的、配置有安全(例如,零信任安全)的数据中心,以防止数据泄露和网络攻击。在至少一个实施例中,DPU 102可以包括网络适配器,处理器核心阵列,以及具有完全软件可编程性的基础设施卸载引擎。在至少一个实施例中,DPU102可以位于服务器的边缘,以提供灵活、安全、高性能的云和AI工作负载。在至少一个实施例中,DPU 102可以降低总拥有成本并提高数据中心的效率。在至少一个实施例中,DPU 102可以提供软件框架112(例如,NVIDIA DOCATM),使开发人员能够为DPU 102快速创建应用程序和服务,如安全服务122、虚拟化服务124、联网服务126、存储服务128、AI/ML服务130和管理服务132。在至少一个实施例中,ML检测***134被实现在AI/ML服务130中。在另一个实施例中,ML检测***134被实现在一个或更多个硬件加速器116或DPU硬件110的其他组件上。在至少一个实施例中,软件框架112使其易于利用DPU 102的硬件加速器来提供数据中心的性能、效率和安全性。
在至少一个实施例中,DPU 102可以提供具有虚拟交换机(vSwitch)、虚拟路由器(vRouter)、网络地址转换(NAT)、负载平衡和网络虚拟化(NFV)的联网服务126。在至少一个实施例中,DPU 102可以提供存储服务128,包括结构上NVMETM(NVMETMover fabrics)(NVMe-oFTM)技术、弹性存储虚拟化、超融合基础设施(HCI)加密、数据完整性、压缩、重复数据删除或类似内容。NVM ExpressTM是一种开放的逻辑设备接口规范,用于访问通过PCI(PCIe)接口附接的非易失性存储介质。NVMe-oFTM提供了NVMe命令与若干网络传输协议的有效映射,使一台计算机(“启动器”)能够非常有效地访问连接到另一台计算机(“目标”)的块级存储设备,并具有最小的延迟。术语“结构(Fabric)”是对网络和输入/输出(I/O)信道等更具体概念的概括。它本质上是指元素的N:M互连,通常是在***环境中。NVMe-oFTM技术使NVMe命令集能够在各种互连基础设施上传输,包括网络(如互联网协议(IP)/以太网)和I/O通道(如光纤信道)。在至少一个实施例中,DPU 102可以使用下一代防火墙(FGFW)、入侵检测***(IDS)、入侵预防***(IPS)、信任根、微分段、分布式拒绝服务(DDoS)预防技术以及使用数据提取逻辑146(AppShield的)和ML检测***134的ML检测来提供安全服务122。NGFW是一种网络安全设备,它提供了超越有状态防火墙的能力,如应用意识和控制、综合入侵预防和云递交的威胁情报。在至少一个实施例中,一个或更多个网络接口121可以包括以太网接口(单端口或双端口)和InfiniBand接口(单端口或双端口)。在至少一个实施例中,一个或更多个主机接口120可以包括PCIe接口和PCIe交换机。在至少一个实施例中,一个或更多个主机接口120可以包括其他存储器接口。在至少一个实施例中,CPU 114可以包括多个核心(例如,多达8个64位的核心管线),每两个一或两个核心有L2高速缓存,L3高速缓存有驱逐策略支持双数据率(DDR)双列存储器模块(DIMM)(例如,支持DDR4 DIMM),以及DDR4 DRAM控制器。存储器118可以是板载的DDR4存储器,支持纠错码(ECC)错误保护。在至少一个实施例中,CPU 114可以包括一个具有L2和L3高速缓存的单核和DRAM控制器。在至少一个实施例中,一个或更多个硬件加速器116可以包括安全加速器、存储加速器和联网加速器。在至少一个实施例中,ML检测***134由安全加速器托管。在至少一个实施例中,安全加速器可以提供具有硬件信任根的安全启动、安全的固件更新、Cerberus合规性、正则表达式(RegEx)加速、IP安全(IPsec)/传输层安全(TLS)数据移动加密、用于静态数据加密的AES-GCM 128/256位密钥(例如,高级加密标准(AES)与密码文本窃取(XTS)(例如,AES-XTS 256/512)、安全哈希算法(SHA)256位硬件加速器、硬件公钥加速器(例如Rivest-Shamir-Adleman(RSA)、Diffie-Hellman、数字信号算法(DSA)、ECC、椭圆曲线加密数字信号算法(EC-DSA)、椭圆曲线Diffie-Hellman(EC-DH))和真随机数发生器(TRNG)。在至少一个实施例中,存储加速器可以提供BlueField SNAP-NVMeTM和VirtIO-blk、NVMe-oFTM加速、压缩和解压加速,以及数据散列和重复数据删除。在至少一个实施例中,网络加速器可以通过融合式以太网(RoCE)提供远程直接存储器访问(RDMA)RoCE、Zero Touch RoCE、TCP、IP和用户数据报协议(UDP)的无状态卸载、大型接收卸载(LRO)、大段卸载(LSO)、校验、平方总和(TSS)、剩余平方总和(RSS)、HTTP动态流(HDS)和虚拟局域网(VLAN)***/剥离、单根I/O虚拟化(SR-IOV)、虚拟以太网卡(例如,VirtIO-net)、每个端口的多功能、VMware NetQueue支持、虚拟化层次、以及入口和出口服务质量(QoS)水平(例如,1K入口和出口QoS水平)。在至少一个实施例中,DPU102还可以提供启动选项,包括安全启动(RSA认证)、通过以太网远程启动、通过互联网小型计算机***接口(iSCSI)远程启动、预启动执行环境(PXE)和统一可扩展固件接口(UEFI)。
在至少一个实施例中,DPU 102可以提供管理服务,包括1GbE带外管理端口、网络控制器边带接口(NC-SI)、通过***管理总线(SMBus)的管理组件传输协议(MCTP)和通过PCIe的监测控制表(MCT)、用于监测和控制的平台级数据模型(PLDM)、用于固件更新的PLDM、用于设备控制和配置的互连电路(I2C)接口、用于闪存的串行外设接口(SPI)、嵌入式多媒体卡(eMMC)存储控制器、通用异步接收/发送器(UART)和通用串行总线(USB)。
在至少一个实施例中,硬件加速的安全服务122是自适应云安全服务(例如,NVIDIA APP SHIELD),其提供网络威胁的实时网络可见性、检测和响应。在至少一个实施例中,硬件加速的安全服务122作为DPU 102或网络安全平台(例如图1B中的153)的监控或遥测代理,例如NVIDIA Morpheus平台,该平台是AI启用的云原生网络安全平台。英伟达Morpheus平台是开放的应用框架,使网络安全开发人员能够创建AI/ML管线,对大量的实时数据进行过滤、处理和分类,使客户能够大规模地连续检查网络和服务器遥测数据。英伟达Morpheus平台可以为数据中心提供信息安全,实现动态保护、实时遥测和自适应防御,以检测和补救网络安全威胁。
以前,数据中心内的用户、设备、数据和应用程序被隐含地信任,并且周界安全足以保护它们免受外部威胁。在至少一个实施例中,DPU 102使用硬件加速的安全服务122,可以用零信任保护模型定义安全周界,该模型认识到网络内部和外部的每个人和每件事都不能被信任。硬件加速的安全服务122可以通过加密、细化访问控制和对每台主机及所有网络流量的微分段来实现网络筛选。硬件加速的安全服务122可以提供隔离,将安全代理部署在独立于主机域的受信域中。在主机设备被破坏的情况下,硬件加速的安全服务122的这种隔离可以防止恶意软件知道或访问硬件加速的安全服务122,有助于防止攻击蔓延到其他服务器。在至少一个实施例中,本文所述的硬件加速的安全服务122可以提供主机监控,使网络安全供应商能够创建加速的入侵检测***(IDS)解决方案,以识别对任何物理或虚拟机的攻击。硬件加速的安全服务122可以向SIEM或XDR***106馈送有关应用程序状态的数据。硬件加速的安全服务122还可以提供增强的取证调查和事件响应。
如上所述,攻击者试图利用安全控制机制的漏洞,在数据中心网络中横向移动到其他服务器和设备。本文所述的硬件加速的安全服务122可以使安全团队屏蔽其应用程序,持续验证其完整性,并反过来检测恶意活动。在攻击者杀死安全控制机制的进程的情况下,本文所述的硬件加速的安全服务122可以通过隔离被攻击的主机设备来缓解攻击,防止恶意软件访问机密数据或扩散到其他资源。
传统上,安全工具在与恶意软件相同的主机域中运行。因此,隐蔽的恶意软件可以采用来自主机设备的隐藏技术,使恶意软件能够悄悄地接管并篡改代理和操作***(OS)。例如,如果反病毒软件在需要继续运行或不被暂停的主机设备上运行,本文所述的硬件加速的安全服务122积极监测该进程,以确定任何异常情况、恶意软件或入侵,如下文所述的各种实施例中更详细地描述的。在这种情况下,恶意软件在主机域中运行,而硬件加速的安全服务122在比主机域单独的域中运行。
主机设备104可以是台式电脑、笔记本电脑、智能手机、平板电脑、服务器或能够执行本文所述技术的任何合适的计算设备。在一些实施例中,主机设备104可以是云计算平台的计算设备。例如,主机设备104可以是云计算平台的服务器机器或服务器机器的组件。在这样的实施例中,主机设备104可以通过网络108耦合到一个或更多个边缘设备(未显示)。边缘设备是指能够在两个网络的边界处的计算设备之间进行通信的计算设备。例如,边缘设备可以通过网络108连接到主机设备104、一个或更多个数据存储、一个或更多个服务器机器,并且可以通过另一个网络连接到一个或更多个终端设备(未显示)。在这样的示例中,边缘设备可以使主机设备104、一个或更多个数据存储、一个或更多个服务器机器和一个或更多个客户端设备之间进行通信。在其他或类似的实施例中,主机设备104可以是边缘设备或边缘设备的组件。例如,主机设备104可以促进通过网络108连接到主机设备104的一个或更多个数据存储、一个或更多个服务器机器,以及通过另一个网络连接到主机设备104的一个或更多个客户端设备之间的通信。
在仍然其他或类似的实施例中,主机设备104可以是终端设备或终端设备的组件。例如,主机设备104可以是或可以是设备的组件,例如电视、智能电话、蜂窝电话、数据中心服务器、数据DPU、个人数字助理(PDA)、便携式媒体播放器、上网本、笔记本电脑、电子书阅读器、平板电脑、台式电脑、机顶盒、游戏机、用于自主车辆的计算设备、监视设备等等。在这样的实施例中,主机设备104可以通过一个或更多个网络接口121通过网络108连接到DPU102。在其他或类似的实施例中,主机设备104可以通过另一个网络连接到边缘设备(未示出),并且该边缘设备可以通过网络108连接到DPU 102。
在至少一个实施例中,主机设备104执行一个或更多个计算机程序。该一个或更多个计算机程序可以是由主机设备104执行的任何进程、例程或代码,例如主机操作***、应用程序、虚拟机的访客操作***或访客应用程序,例如在容器中执行。主机设备104可以包括一个或更多个核心的CPU、一个或更多个多核CPU、一个或更多个GPU、一个或更多个硬件加速器,或类似物。
在至少一个实施例中,一个或更多个计算机程序驻留在第一计算域(例如,主机域),并且硬件加速的安全服务122和ML检测***134驻留在不同于第一计算域的第二计算域(例如,DPU域或基础设施域)。在至少一个实施例中,恶意活动是由恶意软件引起的,而硬件加速的安全服务122是在与恶意软件不同且隔离的可信域中的带外安全软件。也就是说,恶意软件可以驻留在主机域中,而硬件加速的安全服务122由于在受信域中,可以监测物理存储器以检测主机域中的恶意软件。在至少一个实施例中,DPU 102包括与主机接口120耦合的直接存储器访问(DMA)控制器(在图1A中未示出)。DMA控制器可以通过主机接口120从主机物理存储器148读取数据。在至少一个实施例中,DMA控制器使用PCIe技术从主机物理存储器148读取数据。另外,也可以使用其他技术来从主机物理存储器148中读取数据。
尽管上面描述的各种实施例是针对硬件加速的安全服务122和ML检测***134在DPU 102中实现的实施例,在其他实施例中,一些操作在DPU 102上执行,而其他操作在另一个计算设备上执行,例如在图1B中描述和示出的。在其他实施例中,DPU 102可以是能够执行本文所述技术的任何计算***或计算设备。
图1B是根据至少一个实施例的示例***架构150的框图。***架构150类似于***架构100,如类似的参考标号所指出的,除了下面所述的。***架构150包括集成电路,带标记的DPU 152,主机设备104,SIEM或XDR***106,以及加速的AI/ML管线153。如上所述,加速的AI/ML管线153是网络安全平台。在至少一个实施例中,加速的AI/ML管线可以是NVIDIAMORPHEUS网络安全平台。如上所述,NVIDIA Morpheus平台是支持AI的、云原生的网络安全平台。英伟达Morpheus平台是开放的应用框架,使网络安全开发人员能够创建AI/ML管线,对大量的实时数据进行过滤、处理和分类,使客户能够大规模地连续检查网络和服务器遥测数据。英伟达Morpheus平台可以向数据中心提供信息安全,以实现动态保护、实时遥测和自适应防御,从而检测和补救网络安全威胁。在图1B的至少一个实施例中,DPU 152提取存储在主机物理存储器148中的数据,并将提取的数据147发送到托管ML检测***154的加速的AI/ML管线153。在这个实施例中,ML检测***154包括勒索软件检测***136,恶意URL检测***138,DGA检测***140,以及与图1A的ML检测***134类似的可选的其他恶意软件检测***142。
在至少一个实施例中,ML检测***154可以输出ML检测***154的分类的指示149。指示149可以是勒索软件的指示、恶意URL的指示、DGA域的指示、由主机设备104执行的一个或更多个计算机程序受到恶意活动的指示、由其他恶意软件检测***142的分类的指示,或类似的。在至少一个实施例中,ML检测***154可以向硬件加速的安全服务122发送指示149,而硬件加速的安全服务122可以向SIEM或XDR***106发送警报151。警报151可以包括关于勒索软件、恶意URL、DGA域等的信息。在至少一个实施例中,ML检测***154可以向SIEM或XDR***106发送指示155,除了或代替向硬件加速的安全服务122发送指示149。
在至少一个实施例中,一个或更多个计算机程序驻留在第一计算域(例如,主机域)中,并且硬件加速的安全服务122和ML检测***154驻留在不同于第一计算域的第二计算域(例如,DPU域)。在另一个实施例中,一个或更多个计算机程序驻留在第一计算域(例如,主机域),硬件加速的安全服务122驻留在第二计算域(例如,DPU域),并且ML检测***154驻留在不同于第一计算域和第二计算域的第三计算域。
在至少一个实施例中,恶意活动是由恶意软件引起的,并且硬件加速的安全服务122是在与恶意软件不同且隔离的受信域中的带外安全软件。也就是说,恶意软件可以驻留在主机域中,而硬件加速的安全服务122由于在受信域中,可以监测物理存储器以检测主机域中的恶意软件。在至少一个实施例中,DPU 152包括与主机接口120耦合的DMA控制器(在图1B中未示出)。DMA控制器可以通过主机接口120从主机物理存储器148读取数据。在至少一个实施例中,DMA控制器使用PCIe技术从主机物理存储器148读取数据。另外,也可以使用其他技术来从主机物理存储器148中读取数据。
下面将结合图3A-4描述勒索软件检测***136的其他细节。恶意URL检测***138的其他细节在下面关于图5A-7进行描述。DGA检测***140的其他细节在下面关于图8A-10进行描述。下面是使用i)DPU 102,包括硬件加速的安全服务122和ML检测***134;或ii)DPU 152,包括硬件加速的安全服务122,和加速的AI/ML管线153(也被称为加速的管线硬件),包括ML检测***154的检测恶意活动的一般操作的额外细节。
图2是根据至少一个实施例的对与由主机设备执行的一个或更多个计算机程序相关联的存储器中的数据进行恶意活动检测的示例方法200的流程图。在至少一个实施例中,方法200可以通过处理DPU 102的逻辑来执行。在至少一个实施例中,方法200可以通过处理DPU 152的逻辑和处理加速的AI/ML管线153的逻辑来执行。处理逻辑可以是硬件、固件、软件或其任何组合。方法200可以由一个或更多个数据处理单元(例如,DPU、CPU和/或GPU)执行,其可以包括(或与之通信)一个或更多个存储器设备。在至少一个实施例中,方法200可由多个处理线程执行,每个线程执行该方法的一个或更多个单独功能、例程、子程序或操作。在至少一个实施例中,实现方法200的处理线程可以是同步的(例如,使用信号、关键部分和/或其他线程同步逻辑)。或者,实现方法200的处理线程可以相对于彼此异步地执行。与图2所示的顺序相比,方法200的各种操作可以以不同的顺序执行。方法的一些操作可以与其他操作并发地执行。在至少一个实施例中,图2中所示的一个或更多个操作可能不总是被执行。
参照图2,(DPU 102、152的)处理逻辑从存储在与由主机设备执行的一个或更多个计算机程序相关联的存储器中的数据中提取多个特征(块202)。处理逻辑使用机器学习(ML)检测***(在DPU 102或加速的AI/ML管线153上实现),基于从存储在存储器中的数据中提取的多个特征,确定该一个或更多个计算机程序是否受到恶意活动的影响(块204)。处理逻辑响应于确定该一个或更多个计算机程序受到恶意活动的影响而输出恶意活动的指示(块206)。
在至少一个实施例中,一个或更多个计算机程序可以是主机操作***、应用程序、访客操作***、访客应用程序等。在块204处检测到的恶意活动可以由勒索软件、恶意URL、DGA恶意软件或本文所述的其他恶意软件引起的。
在勒索软件的至少一个实施例中,处理逻辑获得存储在存储器中的数据的一系列快照,每个快照表示在时间点处的数据。处理逻辑从该一系列快照的每个快照中提取一组来自不同存储器插件的特征。如本文所述,处理逻辑使用ML检测***的随机森林分类模型确定恶意活动是否由勒索软件引起。随机森林分类模型可以是基于时间序列的模型,该模型经过训练以利用一系列快照中不同数量的快照的级联,例如3、5和10个快照或不同数量的快照的其他组合,将该进程分类为勒索软件或非勒索软件。
在恶意URL的至少一个实施例中,处理逻辑获得存储在存储器中的数据的快照,该快照表示在时间点处的数据。处理逻辑从快照中提取一组特征,该一组特征包括候选URL中的字,以及候选URL的URL结构的数字特征。处理逻辑可以将字令牌化为令牌。如本文所述,处理逻辑使用ML检测***的二元分类模型确定恶意活动是否由恶意URL引起,该二元分类模型被训练为使用该一组特征将候选URL分类为恶意的或善意的。二元分类模型可以包括嵌入层、LSTM层和全连接神经网络层。嵌入层可以接收表示候选URL中的字的令牌的输入序列作为令牌,并根据令牌的输入序列生成输入向量。LSTM层被训练为基于输入向量生成输出向量。全连接神经网络层被训练为使用来自LSTM层的输出向量和URL结构的数字特征将候选URL分类为恶意的或善意的。
在DGA恶意软件的至少一个实施例中,处理逻辑获得存储在存储器中的数据的快照,该快照表示在时间点处的数据。处理逻辑从快照中提取一组特征,该一组特征包括一个或更多个候选URL的域字符。处理逻辑可以将域字符令牌化为令牌。ML检测***包括两阶段分类模型,包括二元分类模型和多类分类模型。二元分类模型被训练成在第一阶段使用一组特征将一个或更多个候选URL分类为具有DGA域或非DGA域。多类分类模型被训练成在第二阶段使用一组特征对一组DGA族之间的DGA域的DGA族进行分类。第一阶段的二元分类模型可以包括具有嵌入层的CNN,以接收表示一个或更多个候选URL中的域字符的令牌的输入序列作为令牌,并基于令牌的输入序列生成输入向量。CNN被训练成在第一阶段使用来自嵌入层的输入向量将一个或更多个候选URL分类为具有DGA域或非DGA域。多类分类模型包括具有嵌入层的CNN的孪生网络,该孪生网络被训练成在第二阶段使用来自嵌入层的输入向量对DGA族进行分类。
勒索软件检测
如上所述,一种类型的恶意活动是由勒索软件引起的。在示例计算***中,可以有许多工作中的勒索软件、木马或远程访问木马(RAT)来监视数以百计的合法计算机程序(也被称为非勒索软件),如杀毒软件、压缩软件、清洁软件、驱动程序、扫描器、编辑器或类似程序。这些计算机程序创建并运行多达数千个进程。通过使用这些进程的快照进行观察,例如,***可能有1000个不被认为是勒索软件的进程和1个或几个被认为是勒索软件的进程,它们正在加密***的数据。观察可以是进程标识符(PID)的快照(PID+快照)。在至少一个实施例中,硬件加速的安全服务122是主动***,用于通过基于多个插件(也被称为波动性插件、存储器插件或进程插件)不断监测主机和虚拟机的物理存储器来检测操作***中的勒索软件活动。多个插件可以提取信息,如进程列表、网络连接、内核模块或类似内容。该信息可以包括可被ML检测***134(或154)用于特征提取的指示。多个插件可用于获取主机物理存储器148的数据转储。多个插件允许对主机物理存储器148进行实时存储器分析(或实时数据分析)。多个插件可以获取特定目的所需的选择数据,如建立进程列表。多个插件允许DPU 102(或DPU 152)上的DMA控制器访问主机物理存储器148。由特征提取逻辑144提取的数据147可以存储在存储器118中,以便由DPU 102(或DPU 152或加速的AI/ML管线153)进行分析,而恶意软件不知道或不能够修改数据。在至少一个实施例中,DPU 102可以处理提取的数据147,并在发送给ML检测***134(或154)之前从提取的数据147中提取特征或指示。DPU 102(或DPU 152)可以利用硬件加速的安全服务122,使用带外存储器获取的方式收集实时数据。DPU 102可以将勒索软件检测***136与硬件加速的安全服务122收集的实时数据集成,以检测主机物理存储器148中的勒索软件。
在至少一个实施例中,数据提取逻辑146可以拍摄主机物理存储器148的快照,并为每个快照串行地记录来自多个插件的数据。在每个流式快照中,ML检测***134(或154)接收来自多个存储器插件的数据。这些插件可以包括LdrModules、VadInfo、Handles、ThreadList、Envars,或类似的东西。ThreadList插件可以提供关于线程列表及其状态的信息,如运行、待定、停止(例如,停止工作的原因)。LdrModules插件可以提供在进程中隐藏或注入活动类型的信息。Handles插件可以提供关于进程中的句柄(handle)、句柄表、指针以及有句柄的文件、键、线程或进程的信息。VadInfo插件可以提供关于虚拟地址描述符(VAD)的信息。Envars插件可以提供关于环境变量的信息。
在至少一个实施例中,每个快照需要多秒(例如4秒)。特征提取逻辑146可以从每个快照中提取特征(例如,100个主导特征)。作为参考,99%的勒索软件需要8秒或更长时间来加密机器,97%的勒索软件需要12秒或更长时间来加密机器,87%的勒索软件需要20秒或更长时间来加密机器,而55%的勒索软件需要40秒或更长时间来加密机器。在至少一个实施例中,数据提取逻辑146可以为99%的勒索软件拍摄两个或更多快照,为97%的勒索软件拍摄三个或更多快照,为87%的勒索软件拍摄五个或更多快照,以及为55%的勒索软件拍摄十个或更多快照。
在至少一个实施例中,特征提取逻辑144可以从LdrModules插件中提取各种特征,包括,例如:ldrmodules_df_size_int。
在至少一个实施例中,特征提取逻辑144可以从从Envars插件(大多数***进程的环境变量少于35个,而恶意软件进程的环境变量更多)中提取各种特征,包括例如:envirs_pathext:.COM、EXE、.BAT、.CMD、.VBS、.VBE、.JS、.JSE、.WSF、.WSH、.MSC、.CPL,和envars_df_count。
在至少一个实施例中,特征提取逻辑144可以从VadInfo插件中提取各种特征,包括例如:get_commit_charge_max_vad,page_noaccess_vad_ratio,count_entire_commit_charge_vads,
get_commit_charge_min_vad_page_noaccess,page_noaccess_count,page_readonly_vads_count,ratio_private_memory,page_noaccess_vad_count,get_commit_charge_mean_vad,vad_ratio,get_commit_charge_max_page_noaccess,
get_commit_charge_mean_page_execute_readwrite,
get_commit_charge_mean_vad_page_noaccess,
get_commit_charge_max_page_execute_readwrite,get_commit_charge_min_vads,page_readonly_vad_ratio,page_readwrite_ratio,page_noaccess_ratio,或类似的内容。
在至少一个实施例中,特征提取逻辑144可以从ThreadList插件中提取各种特征,包括例如:threadlist_df_wait_reason_9(例如,对于25%的勒索该特征大于零)、threadlist_df_wait_reason_31(例如,对于25%的勒索该特征大于零)、threadlist_df_state_2、threadlist_df_state_unique、threadlist_df_wait_reason_13。
在至少一个实施例中,特征提取逻辑144可以从Handles插件中提取各种特征,例如包括:double_extension_len_handles,count_double_extension_count_handles,check_doc_file_handle_count,handles_df_section_ratio,handles_df_waitcompletionpacket_count,handles_df_directory_count,handles_df_section_count,handles_df_tpworkerfactory_count,handles_df_directory_ratio,handles_df_semaphore_ratio,handles_df_mutant_ratio,handles_df_event_ratio,handles_df_tpworkerfactory_ratio,handles_df_file_count,handles_df_iocompletion_ratio,handles_df_thread_ratio,handles_df_key_ratio,handles_df_iocompletionreserve_ratio,handles_df_file_ratio,handles_df_waitcompletionpacket_ratio,file_users_exists,handles_df_semaphore_count,handles_df_iocompletionreserve_count,handles_df_mutant_count,handles_df_event_count,handles_df_key_count,file_windows_count,handles_df_name_unique。
在至少一个实施例中,特征提取逻辑144可以提取文件的扩展名计数(count_double_extension_count),该计数识别有多少文件是重复的文件但具有不同的扩展名(例如,copy.docx和copy.docx.donut)。
在至少一个实施例中,一旦特征提取逻辑144提取了一组两个或更多的特征快照(不同的N个快照),不同数量的快照被馈送入勒索软件检测***136。在至少一个实施例中,勒索软件检测***136包括随机森林分类模型,该模型被训练成在勒索软件和非勒索软件之间对进程进行分类,如图3A所示。
图3A是根据至少一个实施例的示例随机森林分类模型300的示意图。随机森林分类模型300实时地从插件中获得特征的流式快照。在至少一个实施例中,随机森林分类模型300使用特征提取逻辑144从每个快照中提取一组特征。在另一个实施例中,随机森林分类模型300从特征提取逻辑144接收一组特征。随机森林分类模型300是基于时间序列的模型,它使用不同数量的快照的级联来对勒索软件和非勒索软件之间的进程进行分类。在图示的实施例中,使用三个、五个和十个快照来对进程进行分类。
在至少一个实施例中,第一随机森林分类模型302接收第一快照304中的第一特征集,第二快照306中的第二特征集,以及第三快照308中的第三特征集。第一随机森林分类模型302使用来自这些快照304-308的特征集将进程分类为勒索软件301或非勒索软件303。在至少一个实施例中,第一随机森林分类模型302可以响应于进程被分类为勒索软件301而输出勒索软件305的指示。勒索软件的指示305可以指定该进程对应于勒索软件类别的置信水平。该置信水平可以是作为勒索软件的预测百分比。例如,如果置信水平满足置信水平标准(例如,置信度阈值),则第一随机森林分类模型302可以将该进程分类为勒索软件301。或者,第一随机森林分类模型302可以响应于进程被分类为非勒索软件303而输出非勒索软件的指示。非勒索软件的指示可以表示该进程对应于非勒索软件类别的置信水平。在本实施例中,第一随机森林分类模型302被用作基于时间序列的模型(随机森林分类模型300)中的多个阶段的第一阶段。
在至少一个实施例中,第二随机森林分类模型310接收来自第一随机森林分类模型302使用的三个快照304-308的特征集,以及第四快照312中的第四特征集,以及第五快照314中的第五特征集。第二随机森林分类模型310使用来自五个快照304-308和312-314的特征集,将一个进程分类为勒索软件307或非勒索软件309。在至少一个实施例中,第二随机森林分类模型310可以输出响应于进程被分类为勒索软件307的勒索软件305的指示。勒索软件的指示305可以指定该进程对应于勒索软件类别的置信水平。或者,第二随机森林分类模型310可以输出响应于被分类为非勒索软件303的进程的非勒索软件指示,以及该进程对应于非勒索软件类别的置信水平。在这个实施例中,第二随机森林分类模型310被用作基于时间序列的模型(随机森林分类模型300)中的第二阶段。
在至少一个实施例中,第三随机森林分类模型316接收来自第二随机森林分类模型310使用的五个快照304-308和312-314的特征集,以及来自四个额外快照的特征集,包括第十个快照318。第三随机森林分类模型316使用来自十个快照304-308、312-314和318的特征集将进程分类为勒索软件311或非勒索软件313。在至少一个实施例中,第三随机森林分类模型316可以输出响应于进程被分类为勒索软件307的勒索软件305的指示。勒索软件305的指示可以指定该进程对应于勒索软件类别的置信水平。或者,第二随机森林分类模型310可以输出响应于被分类为非勒索软件303的进程的非勒索软件指示,以及该进程对应于非勒索软件类别的置信水平。在本实施例中,第三随机森林分类模型316被用作基于时间序列的模型(随机森林分类模型300)的第三阶段。
在至少一个实施例中,勒索软件检测***136可以响应于进程被分类为勒索软件307而输出勒索软件305的指示。勒索软件的指示305可以指定该进程对应于勒索软件类别的置信水平。或者,勒索软件检测***136可以响应于被分类为非勒索软件303的进程而输出非勒索软件的指示,以及该进程对应于非勒索软件类别的置信水平。
在至少一个实施例中,可以使用除3、5和10之外的系列中的不同数量的快照。在至少一个实施例中,可以在第一时间量内获得第一数量的快照,可以在大于第一时间量的第二时间量内获得第二数量的快照,以此类推。不同数量的快照是由随后的快照数量级联的,其中包括之前的快照。类似地,可以在大于第二时间量的第三时间量上获得第三数量的快照,第三数量的快照包括第二数量的快照。
如上所述,ML检测模型(例如随机森林分类模型300)可以部署在驻留在DPU 102中的勒索软件检测***136中,如关于图3B的更详细描述的,或驻留在加速的AI/ML管线153中的勒索软件检测***136,如关于图3C的更详细描述的。
图3B是根据至少一个实施例的用于勒索软件检测***136的示例***架构320的框图。在***架构320中,DPU 102托管硬件加速的安全服务122和勒索软件检测***136。硬件加速的安全服务122提取存储器插件321的快照,如上文关于图3A的描述,并将存储器插件321的快照发送或以其他方式提供给勒索软件检测***136。勒索软件检测***136使用随机森林分类模型300将一个或更多个进程分类为勒索软件或非勒索软件,并将勒索软件305的指示(或非勒索软件的指示)输出到SIEM或XDR***106,以便由SIEM或XDR***106采取进一步行动。SIEM或XDR***106可以监测并显示勒索软件的分类结果,例如在显示给SIEM或XDR***106的用户或操作员的仪表板上。
图3C是根据至少一个实施例的用于勒索软件检测***的示例***架构340的框图。在***架构340中,DPU 152托管硬件加速的安全服务122,并且加速的AI/ML管线153托管勒索软件检测***136。硬件加速的安全服务122提取存储器插件341的快照,如上文关于图3A的描述,并将存储器插件341的快照发送或以其他方式提供给发布者订阅特征342(例如,Kafka)。发布者订阅特征342将存储器插件341的快照发送或以其他方式提供给勒索软件检测***136。勒索软件检测***136使用随机森林分类模型300将一个或更多个进程分类为勒索软件或非勒索软件,并将勒索软件305的指示(或非勒索软件的指示)输出到SIEM或XDR***106,以便由SIEM或XDR***106采取进一步行动。
图4是根据至少一个实施例的使用随机森林分类模型的勒索软件检测的示例方法400的流程图。在至少一个实施例中,方法400可由DPU 102的处理逻辑执行。在至少一个实施例中,方法400可以由DPU 152的处理逻辑和加速的AI/ML管线153的处理逻辑执行。在至少一个实施例中,方法400可以由图1A-1B、图3A-3B的勒索软件检测***136的处理逻辑执行。该处理逻辑可以是硬件、固件、软件或其任何组合。方法200可以由一个或更多个数据处理单元(例如,DPU、CPU和/或GPU)执行,其可以包括一个或更多个存储器设备(或与之进行通信)。在至少一个实施例中,方法400可由多个处理线程执行,每个线程执行该方法的一个或更多个单独的功能、例程、子程序或操作。在至少一个实施例中,实现方法400的处理线程可以是同步的(例如,使用信号、关键部分和/或其他线程同步逻辑)。或者,实现方法400的处理线程可以相对于彼此异步地执行。与图4所示的顺序相比,方法400的各种操作可以以不同的顺序执行。方法的一些操作可以与其他操作并发地执行。在至少一个实施例中,图4中所示的一个或更多个操作可能不总是被执行。
参照图4,处理逻辑获得存储在主机设备的物理存储器中的数据的一系列快照,该数据与由主机设备执行的一个或更多个计算机程序相关联(块402)。处理逻辑使用ML检测***从该一系列快照的每个快照中提取一组特征,每个快照表示在时间点处的数据(块404)。处理逻辑使用ML检测***利用该一组特征将一个或更多个计算机程序的进程分类为勒索软件或非勒索软件(块406)。处理逻辑响应于该进程被分类为勒索软件而输出勒索软件的指示(块408)。
在另一个实施例中,ML检测***包括随机森林分类模型(例如,300)。该随机森林分类模型是基于时间序列的模型,该模型被训练成使用一系列快照中的不同数量的快照的级联将进程分类为勒索软件或非勒索软件。在至少一个实施例中,不同数量快照的级联包括在第一时间量内获得的第一数量快照和在大于第一时间量的第二时间量内获得的第二数量快照,该第二数量快照包括第一数量快照。在另一个实施例中,不同数量的快照的级联包括在大于第二时间量的第三时间量上获得的第三数量的快照,该第三数量的快照包括第二数量的快照。
在另一个实施例中,ML检测***包括基于时间的分类模型,该模型被训练为使用不同的特征集在不同的时间量上将进程分类为勒索软件或非勒索软件。在至少一个实施例中,不同的特征集包括第一组快照,表示在第一时段存储在物理存储器中的数据,以及第二组快照,表示在大于第一时段的第二时段存储在物理存储器中的数据。在另一个实施例中,不同的特征集进一步包括第三组快照,表示在大于第二时段的第三时段存储在物理存储器中的数据。在其他实施例中,处理逻辑可以执行上述关于勒索软件检测***136的其他操作。
其他恶意软件检测
如上所述,一种类型的恶意活动是由恶意软件引起的。如上所述,数据提取逻辑146可以采取主机物理存储器148的快照,并为每个快照串行地记录来自多个插件的数据。在每个流式快照中,ML检测***134(或154)接收来自多个存储器插件的数据。在至少一个实施例中,特征提取逻辑144可以从一个或更多个快照中提取一组特征。在至少一个实施例中,一旦特征提取逻辑144提取了一组特征,这些特征就被馈送入其他恶意软件检测***142。在至少一个实施例中,其他恶意软件检测***142包括一个或更多个经过训练的ML模型,以利用一组特征将一个或更多个计算机程序的进程分类为恶意软件或非恶意软件。
恶意URL检测
如上所述,一种恶意活动是由恶意的URL引起的。如上所述,数据提取逻辑146可以采取主机物理存储器148的快照,并为每个快照串行地记录来自多个插件的数据。在每个流式快照中,ML检测***134(或154)接收来自多个存储器插件的数据。在至少一个实施例中,特征提取逻辑144可以从一个或更多个快照中提取一个或更多个候选URL。在至少一个实施例中,一旦特征提取逻辑144提取了候选URL,该候选URL被馈送入恶意URL检测***138。在至少一个实施例中,恶意URL检测***138包括二元分类模型,该模型被训练成将候选URL分类为恶意或善意,如图5A所示。
图5A是根据至少一个实施例的示例恶意URL检测***138的框图。恶意URL检测***138包括特征提取逻辑144和二元分类模型500,该模型被训练成使用一组特征将候选URL分类为恶意的或善意的。特征提取逻辑144接收提取的数据147并从提取的数据147中提取一个或更多个候选URL。对于二元分类模型500,特征提取逻辑144提取候选URL的字特征和数字特征。在至少一个实施例中,特征提取逻辑144可以将候选URL中的字令牌化为字令牌507,并确定URL结构的数字特征509,如图6中所示。特征提取逻辑144可以向二元分类模型500提供字令牌507和数字特征409,该模型被训练为使用字令牌507和数字特征509将候选URL分类为恶意的501或善意的503。在至少一个实施例中,特征提取逻辑144可以清理候选URL的文本,例如,通过删除斜线、标点符号、少于三个字符的字、大于指定字符数(例如,15个字符)的字,或类似内容。特征提取逻辑144可以确定端口的存在、域的数量的计数、TLD的数量的计数、每个字的长度或类似的东西。在至少一个实施例中,特征提取逻辑144可以在字令牌507之外提取一组关于URL结构的数字特征509(例如,20个数字特征)。
在至少一个实施例中,特征提取逻辑144可以用文本regex(正则表达式)功能提取候选URL。例如,特征提取逻辑144可以从使用动态分配的数据堆(例如malloc())、使用静态分配的栈(例如Char arr[]=“STRING“)中提取候选URL。在另一个实施例中,特征提取逻辑144可以从Vadtree中提取VadInfo插件的信息。
在至少一个实施例中,二元分类模型500包括嵌入层502、LSTM层504和全连接神经网络层506。嵌入层502可以接收字令牌507作为表示候选URL中的字的令牌的输入序列。嵌入层502可以基于令牌的输入序列生成输入向量511。输入向量511可以包括每个字的一个嵌入,并以不同于输入序列的字的表示方法表示字令牌507。输入向量511可以在LSTM层504使用的向量空间中表示候选URL中的字。LSTM层504可以接收输入向量511并基于输入向量511生成输出向量513。全连接神经网络层506可以从LSTM层504接收输出向量513和数字特征509。全连接神经网络层506被训练成使用来自LSTM层504的输出向量513和URL结构的数字特征509将候选URL分类为恶意的501或善意的503。在至少一个实施例中,全连接神经网络层506可以确定候选URL对应于恶意类别的置信水平。置信水平可以是恶意的预测百分比。例如,如果置信水平满足置信水平标准(例如,置信度阈值),则全连接神经网络层506可以将候选URL分类为恶意的501。
在至少一个实施例中,恶意URL检测***138可以响应于候选URL被分类为恶意的501而输出恶意URL 505的指示。恶意URL505的指示可以指定候选URL对应于恶意类别的置信水平。或者,恶意URL检测***138可以响应于候选URL被分类为善意的503而输出善意网址的指示。善意URL的指示可以指示候选URL是善意的置信水平。
如上所述,ML检测模型(例如二元分类模型500)可以部署在驻留在DPU 102中的恶意URL检测***138中,如关于图5B的更详细地描述的,或驻留在加速的AI/ML管线153中的恶意URL检测***138中,如关于图5C的更详细地描述的。
图5B是根据至少一个实施例的用于恶意URL检测***138的示例***架构520的框图。在***架构520中,DPU 102托管硬件加速的安全服务122和恶意URL检测***138。硬件加速的安全服务122提取存储器插件321的快照,如上文关于图3A的描述。硬件加速的安全服务122可以从存储器插件的任何一个或更多个快照中提取候选URL 521,并将候选URL521发送或以其他方式提供给恶意URL检测***138。在另一个实施例中,硬件加速的安全服务122提取存储器插件321的快照,如上文关于图3A的描述,并将存储器插件321的快照发送至恶意URL检测***138,恶意URL检测***138提取候选URL 521,如图5A所示。恶意URL检测***138可以使用二元分类模型500将候选URL 521分类为恶意的或善意的,并向SIEM或XDR***106输出恶意URL 505的指示(或善意URL的指示),以便SIEM或XDR***106采取进一步行动。SIEM或XDR***106可以监测并显示恶意URL的分类结果,例如在显示给SIEM或XDR***106的用户或操作员的仪表板上。
图5C是根据至少一个实施例的恶意URL检测***138的示例***架构540的框图。在***架构540中,DPU 152托管硬件加速的安全服务122,加速的AI/ML管线153托管恶意URL检测***138。硬件加速的安全服务122提取候选URL 521,如上文关于图3A的描述,并将候选URL 521发送或以其他方式提供给发布者订阅特征542(例如,Kafka)。发布者订阅特征542将候选URL 521发送或以其他方式提供给恶意URL检测***138。恶意URL检测***138可以使用二元分类模型500将候选URL 521分类为恶意的或善意的,并将恶意URL 505的指示(或善意URL的指示)输出到SIEM或XDR***106,以便由SIEM或XDR***106采取进一步行动。
如上文关于图5A-5C的描述,特征提取逻辑144可以提取候选URL并从候选URL中提取特征,包括候选URL中的字和候选URL结构的数字特征,如图6的候选URL 600中所示。
图6示出了根据至少一个实施例的候选URL 600的URL结构。候选URL 600包括在URL结构中组织的字、数字、字符和标点符号。候选URL600的URL结构可以包括方案602、子域604、域606、TLD608、端口610、路径612、查询614、片段616。子域604、域606和TLD 608可以组成主机域618。候选URL可以包括其他URL结构,如二级域、子目录或类似结构。当提取特征时,特征提取逻辑144可以分析每个URL结构并提取字(如果有的话)、该字和/或URL结构的长度、URL结构的位置、URL结构的计数(例如,当有两个TLD时,例如)、URL结构存在的指示(例如,URL结构中的端口的指示),或类似的。特征提取逻辑144可以对从候选URL 600中提取的字进行令牌化(例如,https、www、welcometothejungle、jobs、Developer、page、fra),并删除潜在字之间的斜线和其他标点符号。特征提取逻辑144可以删除超过指定长度的字,如welcometothejungle,或者可以将较长的字减少到较小的字,如welcome、the和jungle。特征提取逻辑144可以输出表示关于URL结构的字和数字特征的序列,以输入到二元分类模型500。字的令牌可以由嵌入层502处理,将其转换成LSTM层504使用的向量空间。全连接神经网络层506可以使用LSTM层504的输出和URL结构的数字特征,将候选URL 600分类为恶意的501或善意的503。
图7是根据至少一个实施例的使用二元分类模型的恶意URL检测的示例方法700的流程图。在至少一个实施例中,方法700可以由DPU 102的处理逻辑执行。在至少一个实施例中,方法700可以由DPU 152的处理逻辑和加速的AI/ML管线153的处理逻辑执行。在至少一个实施例中,方法700可由图1A-1B、图5A-5B的恶意URL检测***138的处理逻辑执行。该处理逻辑可以是硬件、固件、软件或其任何组合。方法700可以由一个或更多个数据处理单元(例如,DPU、CPU和/或GPU)执行,其可以包括一个或更多个存储器设备(或与之进行通信)。在至少一个实施例中,方法700可由多个处理线程执行,每个线程执行该方法的一个或更多个单独功能、例程、子程序或操作。在至少一个实施例中,实现方法700的处理线程可以是同步的(例如,使用信号、关键部分和/或其他线程同步逻辑)。或者,实现方法700的处理线程可以相对于彼此异步地执行。与图7中所示的顺序相比,方法700的各种操作可以以不同的顺序执行。方法的一些操作可以与其他操作并发地执行。在至少一个实施例中,图7中所示的一个或更多个操作可能不总是被执行。
参照图7,处理逻辑获得存储在主机设备的物理存储器中的数据的快照,该数据与由主机设备执行的一个或更多个计算机程序相关联(块702)。处理逻辑使用ML检测***从快照中提取一组特征,其包括候选URL(块704)。该一组特征可以包括候选URL中的字和候选URL的URL结构的数字特征。处理逻辑使用ML检测***利用该一组特征将候选URL分类为恶意的或善意的(块706)。处理逻辑响应于候选URL被分类为恶意的而输出恶意URL的指示(块708)。
在至少一个实施例中,该URL结构包括子域、域、TLD、端口、路径、查询和片段中的一个或更多个。
在进一步的实施例中,ML检测***包括二元分类模型,该模型被训练成使用表示候选URL中的字的令牌和候选URL结构的数字特征将候选URL分类为恶意的或善意的。在至少一个实施例中,二元分类模型包括LSTM层,其被训练为将候选URL中的字令牌化为令牌,以及全连接神经网络层,其被训练为使用URL结构的令牌和数字特征将候选URL分类为恶意的或善意的。
在另一个实施例中,ML检测***包括二元分类模型,该模型通过结合候选URL中的字的自然语言处理(NLP)和候选URL的URL结构的特征来训练将候选URL分类为恶意的或善意的。
DGA域检测
如上所述,一种类型的恶意活动是由DGA恶意软件引起的。如上所述,数据提取逻辑146可以采取主机物理存储器148的快照,并为每个快照串行地记录来自多个插件的数据。在每个流式快照中,ML检测***134(或154)接收来自多个存储器插件的数据。在至少一个实施例中,特征提取逻辑144可以从一个或更多个快照中提取一个或更多个候选URL。在至少一个实施例中,一旦特征提取逻辑144提取了一个或更多个候选URL,该一个或更多个候选URL被馈送入DGA检测***140。在至少一个实施例中,DGA检测***140包括两阶段分类模型,其被训练为在第一阶段将一个或更多个候选URL分类为DGA域或非DGA域,并在第二阶段使用一组特征将DGA族之间的DGA域的DGA族分类,如图5A所示。在另一个实施例中,两阶段分类模型包括被训练成在第一阶段将一个或更多个候选URL分类为由DGA恶意软件生成的二元分类模型,以及被训练成在一组DGA恶意软件族之间对DGA恶意软件的DGA族进行分类的多类分类模型。
图8A是根据至少一个实施例的示例DGA检测***140的框图。DGA检测***140包括特征提取逻辑144和两阶段分类模型800,该模型被训练成使用一组特征将候选URL分类为恶意的或善意的。特征提取逻辑144接收提取的数据147并从提取的数据147中提取一个或更多个候选URL。对于两阶段分类模型800,特征提取逻辑144提取一个或更多个候选URL的、域字符特征。在至少一个实施例中,特征提取逻辑144可以将域字符令牌化为字符令牌807。特征提取逻辑144可以向两阶段分类模型800提供字符令牌807,该模型被训练为使用字符令牌807将一个或更多个候选URL分类为具有DGA域801或非DGA域。
在至少一个实施例中,特征提取逻辑144可以用文本regex(正则表达式)功能提取候选URL。例如,特征提取逻辑144可以从使用动态分配的数据堆(例如malloc())、使用静态分配的栈(例如Char arr[]=“STRING”)中提取候选URL。在另一个实施例中,特征提取逻辑144可以从VadInfo插件中提取Vadtree信息。
在至少一个实施例中,两阶段分类模型800是二元分类模型802。二元分类模型802可以包括嵌入层804和CNN 806。嵌入层804可以接收字符令牌807作为表示一个或更多个候选URL中的域字符的令牌的输入序列。嵌入层804可以基于输入的令牌序列生成输入向量811。输入向量811可以包括对一组域字符的每个域字符的一个嵌入,并以与输入的令牌序列不同的表示方式表示字符令牌807。输入向量811可以在CNN 806使用的向量空间中表示一个或更多个候选URL的域字符。CNN 806可以接收输入向量811并使用输入向量811将一个或更多个候选URL分类为具有DGA域801。一般来说,CNN 806识别域字符是否构成随机字符序列或语言(例如,英语语言)中的单词序列。在至少一个实施例中,CNN 806可以确定一个或更多个候选URL对应于DGA域类的置信水平。该置信度水平可以是DGA域的预测百分比。例如,如果置信水平满足置信度标准(例如,置信度阈值),CNN 806可以将一个或更多个候选URL分类为具有DGA域801。
在至少一个实施例中,DGA检测***140可以响应于一个或更多个候选URL被分类为具有DGA域801而输出DGA恶意软件805的指示。DGA恶意软件805的指示可以指定一个或更多个候选URL对应于DGA域类的置信水平。或者,DGA检测***140可以响应于一个或更多个候选URL被分类为具有非DGA域而输出非DGA域的指示。非DGA域的指示可以指示一个或更多个候选URL具有非DGA域的置信水平。
在至少一个实施例中,两阶段分类模型800包括第一阶段的二元分类模型802和第二阶段的多类分类模型810。二元分类模型802可以将一个或更多个候选URL分类为具有DGA域801。如果二元分类模型802在第一阶段将一个或更多个候选URL分类为具有DGA域801,则多类分类模型810可以在一组DGA族之间对DGA域801的DGA族803进行分类。在另一个实施例中,二元分类模型802可以被训练成在第一阶段将一个或更多个候选URL分类为由DGA恶意软件产生,并且多类分类模型810可以被训练成在一组DGA恶意软件族之间对DGA恶意软件的DGA族进行分类。
在至少一个实施例中,多类分类模型810可以包括具有嵌入层814和CNN 816的孪生网络812。嵌入层814可以接收字符令牌807作为表示一个或更多个候选URL中的域字符的令牌的输入序列。嵌入层804可以基于令牌的输入序列生成输入向量813。输入向量813可以包括对一组域字符的每个域字符的一个嵌入,并以与输入令牌序列不同的表示方法表示字符令牌807。输入向量813可以在CNN 816使用的向量空间中表示一个或更多个候选URL的域字符。CNN 816可以接收输入向量813,并使用输入向量811对一个或更多个候选URL的DGA族803在一组DGA族之间进行分类。在至少一个实施例中,CNN 816可以确定一个或更多个候选URL属于DGA族803的置信水平。该置信度水平可以是DGA族的预测百分比。例如,如果置信水平满足置信水平标准(例如,置信度阈值),则CNN 816可以将一个或更多个候选URL分类为属于DGA族803。
在至少一个实施例中,DGA检测***140可以响应于一个或更多个候选URL被分类为属于DGA族803而输出DGA恶意软件族815的指示。DGA恶意软件族815的指示可以指定一个或更多个候选URL属于DGA族803的置信水平。或者,DGA检测***140可以响应于一个或更多个候选URL被分类为不属于一组DGA族中的一个而输出其他DGA族的指示。其他DGA族的指示可以指示置信水平。在另一个实施例中,DGA检测***140可以输出DGA的指示、作为DGA的概率、最可能的DGA族或“其他”DGA族。
在至少一个实施例中,二元分类模型802和多类分类模型810可以并发地运行。在另一个实施例中,可以使用逻辑来触发多类分类模型810,以响应一个或更多个候选URL被分类为具有DGA域801。
在至少一个实施例中,CNN 816在一组DGA族上训练,例如在:Banjori、Corebot、Cryptolocker、Dicrypt、Emotet、Fluebot、Gameover、Murofet、Necurs、Newgoz、Padcrypt、Pykspa、Qadars、Ramdo、Ramnit、Ranbyus、Rovnix、Simda和Tinba之间,并且所有其他DGA族可以被分类为其它DGA族。
在至少一个实施例中,具有嵌入层804、814的CNN 806、816可以使用领域字符的令牌作为特征。为了减少假阳性,可以对非DGA域和DGA域的类别进行加权(例如,非DGA域:100和DGA域:1)。在至少一个实施例中,具有CNN 816和嵌入层814的孪生网络812可以使用域字符的相同令牌作为特征。
在另一个实施例中,两阶段分类模型800可以使用其他NLP模型来处理一个或更多个候选URL的域字符以将其分类为具有DGA域801。在另一个实施例中,NLP模型或二元分类模型802可以不使用孪生网络812,只将候选URL分类为具有DGA域801或非DGA域,而不分类为DGA族。在另一个实施例中,特征提取逻辑144可以提取域字符、URL的数字特征、候选URL的字或类似的东西,用于更复杂的分类模型。
图8B是根据至少一个实施例的DGA检测***140的示例***架构820的框图。在***架构820中,DPU 102托管硬件加速的安全服务122和DGA检测***140。硬件加速的安全服务122提取存储器插件321的快照,如上文关于图3A的描述。硬件加速的安全服务122可以从存储器插件的任何一个或更多个快照中提取一个或更多个候选URL 821,并将一个或更多个候选URL 821发送或以其他方式提供给DGA检测***140。在另一个实施例中,硬件加速的安全服务122提取存储器插件321的快照,如上文关于图3A的描述,并将存储器插件321的快照发送给DGA检测***140,DGA检测***140提取一个或更多个候选URL 821,如图8A中所示。DGA检测***140使用两阶段分类模型800将一个或更多个候选URL 821分类为具有DGA域或非DGA域,并在多个DGA族之间对DGA族进行分类。DGA检测***140可以向SIEM或XDR***106输出DGA恶意软件的指示805(或非恶意软件的指示)和/或DGA族的指示815(或其他DGA族的指示),以便SIEM或XDR***106采取进一步行动。SIEM或XDR***106可以监测并显示DGA域的分类结果,例如在显示给SIEM或XDR***106的用户或操作员的仪表板上。
图8C是根据至少一个实施例的DGA检测***140的示例***架构的框图。在***架构840中,DPU 152托管硬件加速的安全服务122,而加速的AI/ML管线153托管恶意的DGA检测***140。硬件加速的安全服务122提取一个或更多个候选URL 821,如上文关于图3A所述,并将一个或更多个候选URL 821发送或以其他方式提供给发布者订阅特征842(例如,Kafka)。发布者订阅特征842向DGA检测***140发送或以其他方式提供一个或更多个候选URL 821。DGA检测***140使用两阶段分类模型800将一个或更多个候选URL 821分类为具有DGA域或非DGA域,并在多个DGA族之间对DGA族进行分类。DGA检测***140可以向SIEM或XDR***106输出DGA恶意软件的指示805(或非恶意软件的指示)和/或DGA恶意软件族的指示815(或其他DGA族的指示),以便由SIEM或XDR***106采取进一步行动。
在至少一个实施例中,二元分类模型802可以接受性能评估。对于性能评估,训练数据集包括数以千计的DGA域(例如,361,108)和数以千计的非DGA域(例如,715,761),并且测试数据集包括数以千计的DGA域(例如,444,033)和数以千计的非DGA域(例如,178,941)。在至少一个实施例中,测试集没有描述正确的类别分布,所以可以改变准确度计算,以满足非DGA域比DGA域多100倍的分布。在图9A中示出了精确-召回(precision-recall)曲线。
图9A是示出了根据至少一个实施例的DGA检测***140的二元分类模型802的精确-召回曲线902的示图900。召回率(recall)和精确度(precision)可以用以下公式表示,其中TP是真阳性,FN是假阴性,FP是假阳性。
DGAAmount=0.01·NotDGAAmount
如图9A的精确-召回曲线902中所示,在精确度等于0.9时,召回率值为0.9。
在至少一个实施例中,多类分类模型810可以接受性能评价。对于性能评估,训练数据集包括来自以下族的数千个非DGA域(例如,715,761)和数千个DGA域(例如,327,673):Banjori,Corebot,Cryptolocker,Dicrypt,Emotet,Fluebot,Gameover,Murofet,Necurs,Newgoz,Padcrypt,Pykspa,Qadars,Ramdo,Ramnit,Ranbyus,Rovnix,Simda,and Tinba。测试数据集包括来自以下族的数以千计的非DGA域(如178,941)和数以百万计的DGA域(如1,310,693):Banjori,Corebot,Cryptolocker,Dicrypt,Emotet,Fluebot,Gameover,Murofet,Necurs,Newgoz,Padcrypt,Pykspa,Qadars,Ramdo,Ramnit,Ranbyus,Rovnix,Simda,and Tinba。在至少一个实施例中,多类分类模型810可以使用UMAP进行训练。图9B中示出了UMAP训练数据的原始数据。为了显示多类分类模型810的聚类能力,可以使用UMAP进行降维,如图9C的两个轴所示。
图9B是示出了根据至少一个实施例的UMAP降维前的训练数据922的曲线图920。
图9C是示出了根据至少一个实施例的UMAP降维后的训练数据942的曲线图940。如曲线图940所示,多类分类模型810可以成功地将训练数据集聚成多个类别,表示每个DGA族,而没有许多假阳性。多类分类模型810可以在多个DGA族之间对一个或更多个候选URL的域字符的DGA族进行分类。如果一个候选URL没有被发现在一个指定的群组内,则它可以被归类为“其他”DGA族分类的一部分。
图10是根据至少一个实施例的使用两阶段分类模型的DGA检测的示例方法1000的流程图。在至少一个实施例中,方法1000可以由DPU 102的处理逻辑执行。在至少一个实施例中,方法1000可由DPU 152的处理逻辑和加速的AI/ML管线153的处理逻辑执行。在至少一个实施例中,方法1000可由图1A-1B、图8A-8B的DGA检测***140的处理逻辑执行。该处理逻辑可以是硬件、固件、软件或其任何组合。方法1000可以由一个或更多个数据处理单元(例如,DPU、CPU和/或GPU)执行,其可以包括一个或更多个存储器设备(或与之进行通信)。在至少一个实施例中,方法1000可由多个处理线程执行,每个线程执行该方法的一个或更多个单独功能、例程、子程序或操作。在至少一个实施例中,实现方法1000的处理线程可以是同步的(例如,使用信号、关键部分和/或其他线程同步逻辑)。或者,实现方法1000的处理线程可以相对于彼此异步地执行。与图10中所示的顺序相比,方法1000的各种操作可以以不同的顺序执行。方法的一些操作可以与其他操作并发地执行。在至少一个实施例中,图10中所示的一个或更多个操作可能不总是被执行。
参照图10,处理逻辑获得存储在物理存储器中的数据的快照,该数据与由主机设备执行的一个或更多个计算机程序相关联(块1002)。处理逻辑使用ML检测***从快照中提取一组特征,该一组特征包括一个或更多个候选URL中的域字符(块1004)。处理逻辑使用ML检测***利用一组特征将一个或更多个候选URL分类为具有DGA域或非DGA域(块1006)。处理逻辑响应于一个或更多个候选URL被分类为具有DGA域而输出DGA恶意软件的指示(块1008)。在另一个实施例中,处理逻辑使用ML检测***,使用该一组特征在一组DGA恶意软件族之间对DGA恶意软件的DGA族进行分类(块1010)。处理逻辑输出DGA恶意软件的DGA族的指示(块1012)。
在至少一个实施例中,ML检测***包括两阶段分类模型,包括二元分类模型和多类分类模型。在至少一个实施例中,二元分类模型被训练成在第一阶段将一个或更多个候选URL分类为具有DGA域或非DGA域,并且多类分类模型被训练成在第二阶段将一组DGA族之间的DGA域的DGA族进行分类。在至少一个实施例中,二元分类模型被训练成对一个或更多个候选URL中的域字符进行令牌化,并在第一阶段使用令牌将一个或更多个候选URL分类为具有DGA域或非DGA域。在至少一个实施例中,多类分类模型被训练成在第二阶段使用令牌在一组DGA族之间对DGA域的DGA族进行分类。
在至少一个实施例中,二元分类模型包括具有嵌入层的CNN,以将一个或更多个候选URL的域字符令牌化为令牌,CNN使用域字符的令牌作为特征集,并且多类分类模型包括具有嵌入层的CNN的孪生网络,改孪生网络使用域字符的令牌作为特征集。
其他的变化都在本公开的精神范围内。因此,虽然所公开的技术容易受到各种修改和替代性结构的影响,但其某些说明性的实施例在附图中显示,并已在上文详细描述。然而,应该理解的是,无意将本公开的内容限制在所公开的特定形式上,相反,其目的是涵盖所有的修改、替代结构以及属于本公开的精神和范围内的等价物,如所附权利要求所定义的那样。
在描述公开的实施例的上下文中(特别是在以下权利要求的上下文中)使用术语“一”和“一个”以及“所述”和类似的指称应被解释为涵盖单数和复数,除非此处另有说明或与上下文明显矛盾,而不是作为术语的定义。除非另有说明,术语“包括(comprising)”、“具有”、“包括(including)”和“包含”应被理解为开放式术语(意思是“包括但不限于”)。术语“连接”,在未经修改并指物理连接时,应理解为部分或全部包含在、附接在或连接在一起,即使有东西在中间。在此对数值范围的叙述只是作为一种速记方法,除非在此另有说明,否则单独指属于范围内的每个单独的数值,每个单独的数值被纳入说明书,如同在此单独叙述一样。使用术语“集”(例如,“项目集合”)或“子集”,除非另有说明或与上下文相矛盾,应理解为由一个或更多个成员组成的非空的集合。此外,除非另有说明或与上下文相矛盾,否则对应集的术语“子集”不一定表示对应集的适当子集,但子集和对应集可以相等。
连词性语言,例如形式为“A、B和C中的至少一个”或“A、B和C中的至少一个”的短语,除非特别说明或与上下文明显矛盾,否则与上下文一起理解为一般用于表示一个项目、术语等。例如,在一个有三个成员的集合的说明性例子中,连词短语“A、B、C中至少有一个”和“A、B、C中至少有一个”指的是以下任何一个集合:{a}、{b}、{c}、{a、b}、{a、c}、{b、c}、{a、b、c}。因此,这样的连接性语言一般并不意味着某些实施例需要A、B和C中的至少一个各自存在。此外,除非另有说明或与上下文相矛盾,术语“多个”表示是复数的状态(例如,“多个项目”表示多个项目)。多个项目是指至少两个项目,但当明确指出或由上下文指出时,可以是更多。此外,除非另有说明或从上下文中可以看出,短语“基于”是指“至少部分基于”而不是“完全基于”。
本文描述的过程的操作可以以任何合适的顺序执行,除非本文另有说明或与上下文明显相悖。在至少一个实施例中,诸如本文描述的那些过程(或其变化和/或组合)在配置有可执行指令的一个或更多个计算机***的控制下执行,并且作为代码(例如,可执行指令、一个或更多个计算机程序或一个或更多个应用程序)在一个或更多个处理器上集体执行,由硬件或其组合来实现。在至少一个实施例中,代码存储在计算机可读存储介质上,例如,以计算机程序的形式,包括可由一个或更多个处理器执行的多条指令。在至少一个实施例中,计算机可读存储介质是一种非暂时性的计算机可读存储介质,它排除了暂时性信号(例如,传播的瞬时电或电磁传输),但包括暂时性信号的收发器内的非暂时性数据存储电路(例如,缓冲区、高速缓存和队列)。在至少一个实施例中,代码(例如,可执行代码或源代码)存储在一组一个或更多个非暂时性计算机可读存储介质上,该存储介质上存储有可执行指令(或其他存储可执行指令的存储器),当由计算机***的一个或更多个处理器执行时(即,作为被执行的结果),导致计算机***执行本文所述操作。在至少一个实施例中,一组非暂时性计算机可读存储介质包括多个非暂时性计算机可读存储介质,并且多个非暂时性计算机可读存储介质中的一个或更多个单独的非暂时性存储介质缺乏所有的代码,而多个非暂时性计算机可读存储介质集体存储所有的代码。在至少一个实施例中,可执行指令的执行方式是,不同的指令由不同的处理器执行--例如,非暂时性计算机可读存储介质存储指令,主CPU执行部分指令,而GPU执行其他指令。在至少一个实施例中,计算机***的不同组件有独立的处理器,不同的处理器执行不同的指令子集。
因此,在至少一个实施例中,计算机***被配置为实现一个或更多个服务,这些服务单独或集体地执行本文所述的过程的操作,并且这样的计算机***被配置有使操作得以执行的适用硬件和/或软件。此外,实现本公开的至少一个实施例的计算机***是单个设备,并且在另一个实施例中,是由多个设备组成的分布式计算机***,这些设备以不同的方式操作,使得分布式计算机***执行本文所述的操作,并且使得单个设备不执行所有操作。
使用本文提供的任何和所有实例,或示例性语言(例如,“诸如”),仅仅是为了更好地阐明本公开的实施例,并且除非另有要求,否则不对本公开的范围构成限制。说明书中的任何语言都不应被解释为指示任何非权利要求的元素对于本公开的实践至关重要。
本文引用的所有参考文献,包括出版物、专利申请和专利,在此以参考文献的方式并入,其程度等同于每个参考文献单独并明确指出以参考文献的方式并入,并在此完整地阐述其内容。
在描述和权利要求中,可以使用术语“耦合”和“连接”,以及它们的衍生品。应当理解的是,这些术语可能不打算作为彼此的同义词。相反,在特定的例子中,“连接”或“耦合”可以用来指示两个或更多的元素彼此之间有直接或间接的物理或电气接触。“耦合”也可以表示两个或更多的元素彼此不直接接触,但仍然相互合作或相互作用。
除非特别说明,可以理解的是,在整个说明书中,诸如“处理”、“计算(computing)”、“计算(calculating)”、“确定”或类似的术语是指计算机或计算***或类似的电子计算设备的行动和/或过程,它们将在计算***的寄存器和/或存储器内表示为物理量(例如电子量)的数据操纵和/或转化为在计算***的存储器、寄存器或其他此类信息存储、传输或显示设备内同样表示为物理量的其他数据。
以类似的方式,术语“处理器”可以指处理来自寄存器和/或存储器的电子数据并将该电子数据转化为可存储在寄存器和/或存储器中的其他电子数据的任何装置或装置的一部分。作为非限制性的例子,“处理器”可以是CPU或GPU。“计算平台”可以包括一个或更多个处理器。如本文所用,“软件”进程可以包括,例如,随着时间推移执行工作的软件和/或硬件实体,如任务、线程和智能代理。另外,每个进程可以指依次或并行、连续或间歇地执行指令的多个进程。术语“***”和“方法”在此可互换使用,只要一个***可体现一个或更多个方法,并且方法可被视为一个***。
在本文中,可提及获得、获取、接收或将模拟或数字数据输入子***、计算机***或计算机实现的机器。获得、获取、接收或输入模拟和数字数据可以通过各种方式完成,例如通过接收数据作为函数调用的参数或对应用编程接口的调用。在一些实施例中,获得、获取、接收或输入模拟或数字数据的过程可以通过经由串行或并行接口传输数据来完成。在另一个实施例中,获得、获取、接收或输入模拟或数字数据的过程可以通过从提供实体到获取实体的计算机网络传输数据来完成。也可以参考提供、输出、传输、发送或呈现模拟或数字数据。在各种实例中,提供、输出、传送、发送或呈现模拟或数字数据的过程可以通过将数据作为函数调用的输入或输出参数、应用程序编程接口的参数或进程间通信机制来完成。
尽管上述讨论阐述了所述技术的示例性实现,但其他架构可用于实现所述功能,并且旨在本公开的范围内。此外,尽管为了讨论的目的在上面定义了责任的具体分配,但是取决于情况,各种功能和责任可能以不同的方式分配和划分。
此外,尽管已经用特定于结构特征和/或方法行为的语言描述了主题内容,但应当理解,在所附权利要求中要求的主题内容不一定限于所描述的特定特征或行为。相反,具体的特征和动作被公开为实现权利要求的示例性形式。
Claims (26)
1.一种方法,包括:
由数据处理单元DPU获得存储在主机设备的物理存储器中的数据的快照,所述数据与由所述主机设备执行的一个或更多个计算机程序相关联;
使用机器学习ML检测***从所述快照中提取一组特征,其中所述一组特征包括候选统一资源定位符URL中的字和所述候选URL的URL结构的数字特征;
使用所述ML检测***利用所述一组特征将所述候选URL分类为恶意的或善意的;以及
响应于所述候选URL被分类为恶意的而输出恶意URL的指示。
2.根据权利要求1所述的方法,其中所述ML检测***包括二元分类模型,其被训练为使用表示候选URL中的字的令牌和所述候选URL的URL结构的数字特征将所述候选URL分类为恶意的或善意的。
3.根据权利要求2所述的方法,其中所述URL结构包括子域、域、顶级域TLD、端口、路径、查询和片段中的一个或更多个。
4.根据权利要求2所述的方法,其中所述二元分类模型包括:
长短期记忆LSTM层,其被训练为将所述候选URL中的字令牌化为令牌;以及
全连接神经网络层,其被训练为使用所述令牌和所述URL结构的所述数字特征将所述候选URL分类为恶意的或善意的。
5.根据权利要求1所述的方法,其中所述ML检测***包括二元分类模型,其被训练为通过结合所述候选URL中的字的自然语言处理NLP和所述候选URL的URL结构的特征,将所述候选URL分类为恶意的或善意的。
6.根据权利要求1所述的方法,进一步包括:
将所述候选URL中的字令牌化为令牌,其中所述ML检测***包括二元分类模型,其被训练为使用所述候选URL的所述令牌和所述候选URL的URL结构的数字特征将所述候选URL分类为恶意的或善意的,并且其中所述二元分类模型包括:
嵌入层,用于接收令牌作为表示所述候选URL中的字的令牌的输入序列,并基于所述令牌的输入序列生成输入向量;
长短期记忆LSTM层,其被训练为基于所述输入向量生成输出向量;以及
全连接神经网络层,其被训练为使用所述LSTM层的所述输出向量和所述URL结构的所述数字特征将所述候选URL分类为恶意的或善意的。
7.一种集成电路,包括:
主机接口,可操作地耦合至与主机设备相关联的物理存储器;
中央处理单元CPU,可操作地耦合至所述主机接口;以及
加速硬件引擎,可操作地耦合至所述主机接口和所述CPU,其中所述CPU和所述加速硬件引擎用于托管硬件加速的安全服务,以保护由所述主机设备执行的一个或更多个计算机程序,其中所述硬件加速的安全服务用于:
获得存储在所述物理存储器中的数据的快照,所述数据与由所述主机设备执行的一个或更多个计算机程序相关联;
使用机器学习ML检测***从所述快照中提取一组特征,其中所述一组特征包括候选统一资源定位符URL中的字和所述候选URL的URL结构中的数字特征;
使用所述ML检测***利用所述一组特征将所述候选URL分类为恶意的或善意的;以及
响应于所述候选URL被分类为恶意的而输出恶意URL的指示。
8.根据权利要求7所述的集成电路,其中所述集成电路是数据处理单元DPU,其中所述DPU是片上可编程数据中心基础设施。
9.根据权利要求7所述的集成电路,进一步包括网络接口,其可操作地耦合至所述CPU,用于负责网络数据路径处理,其中所述CPU用于控制路径初始化和异常处理。
10.根据权利要求7所述的集成电路,其中所述一个或更多个计算机程序包括至少一个主机操作***OS、应用程序、访客操作***或访客应用程序。
11.根据权利要求7所述的集成电路,其中:
所述硬件加速的安全服务用于获得存储在所述物理存储器中的所述数据的快照,所述快照表示在时间点处的所述数据;
所述ML检测***包括:
特征提取逻辑,用于从所述快照中提取一组特征,所述一组特征包括候选URL中的字和所述候选URL的URL结构中的数字特征;以及
二元分类模型,其被训练为使用所述一组特征将所述候选URL分类为恶意的或善意的。
12.根据权利要求11所述的集成电路,其中所述特征提取逻辑用于将字令牌化为令牌,并且其中所述二元分类模型包括:
嵌入层,用于接收所述令牌作为表示所述候选URL中的字的令牌的输入序列,并基于所述令牌的输入序列生成输入向量;
长短期记忆LSTM层,其被训练为基于所述输入向量生成输出向量;以及
全连接神经网络层,其被训练为使用所述LSTM层的所述输出向量和所述URL结构的所述数字特征将所述候选URL分类为恶意的或善意的。
13.根据权利要求7所述的集成电路,其中所述一个或更多个计算机程序驻留在第一计算域中,其中所述硬件加速的安全服务和所述ML检测***驻留在不同于所述第一计算域的第二计算域中。
14.根据权利要求7所述的集成电路,其中所述硬件加速的安全服务是位于与所述恶意URL不同且与之隔离的受信域中的带外安全软件。
15.根据权利要求7所述的集成电路,进一步包括直接存储器访问DMA控制器,其被耦合至所述主机接口,其中所述DMA控制器用于经由所述主机接口从所述物理存储器中读取所述数据。
16.根据权利要求15所述的集成电路,其中所述主机接口是***组件互连快速PCIe接口。
17.一种计算***,包括:
数据处理单元DPU,其包括主机接口、中央处理单元CPU和加速硬件引擎,所述DPU用于托管硬件加速的安全服务,以保护由主机设备执行的一个或更多个计算机程序,其中所述硬件加速的安全服务用于从存储在与所述主机设备相关联的物理存储器中的数据中提取多个特征,所述数据与所述一个或更多个计算机程序相关联;以及
加速管线硬件,其被耦合至所述DPU,其中所述加速管线硬件用于:
获得存储在所述物理存储器中的数据的快照,所述数据与由所述主机设备执行的一个或更多个计算机程序相关联;
使用机器学习ML检测***从所述快照中提取一组特征,其中所述一组特征包括候选统一资源定位符URL中的字和所述候选URL的URL结构的数字特征;
使用所述ML检测***利用所述一组特征将所述候选URL分类为恶意的或善意的;以及
响应于所述候选URL被分类为恶意的而输出恶意URL的指示。
18.根据权利要求17所述的计算***,其中所述DPU是片上可编程数据中心基础设施。
19.根据权利要求17所述的计算***,其中所述DPU进一步包括网络接口,其可操作地耦合至所述CPU,用于负责网络数据路径处理,其中所述CPU用于控制路径初始化和异常处理。
20.根据权利要求17所述的计算***,其中所述一个或更多个计算机程序包括至少一个主机操作***OS、应用程序、访客操作***或访客应用程序。
21.根据权利要求17所述的计算***,其中:
所述硬件加速的安全服务用于获得存储在所述物理存储器中的所述数据的快照,所述快照表示在时间点处的所述数据;
所述ML检测***包括:
特征提取逻辑,用于从所述快照中提取一组特征,所述一组特征包括候选URL中的字和所述候选URL的URL结构的数字特征;以及
二元分类模型,其被训练为使用所述一组特征将所述候选URL分类为恶意的或善意的。
22.根据权利要求21所述的计算***,其中所述特征提取逻辑用于将字令牌化为令牌,并且其中所述二元分类模型包括:
嵌入层,用于接收令牌作为表示所述候选URL中的字的令牌的输入序列,并基于所述令牌的输入序列生成输入向量;
长短期记忆LSTM层,其被训练为基于所述输入向量生成输出向量;以及
全连接神经网络层,其被训练为使用来自所述LSTM层的所述输出向量和所述URL结构的所述数字特征将所述候选URL分类为恶意的或善意的。
23.根据权利要求17所述的计算***,其中所述一个或更多个计算机程序驻留在第一计算域中,其中所述硬件加速的安全服务驻留在不同于所述第一计算域的第二计算域中,并且其中所述ML检测***驻留在所述第二计算域或不同于所述第一计算域和所述第二计算域的第三计算域中。
24.根据权利要求17所述的计算***,其中所述硬件加速的安全服务是在与所述恶意URL不同且与之隔离的受信域中的带外安全软件。
25.根据权利要求17所述的计算***,进一步包括直接存储器访问DMA控制器,其被耦合至所述主机接口,其中所述DMA控制器用于经由所述主机接口从所述物理存储器中读取所述数据。
26.根据权利要求23所述的计算***,其中所述主机接口是***组件互连快速PCIe接口。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/309,849 | 2022-02-14 | ||
US17/864,310 | 2022-07-13 | ||
US17/864,310 US20230319108A1 (en) | 2022-02-14 | 2022-07-13 | Malicious uniform resource locator (url) detection in memory of a data processing unit using machine learning detection models |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116595518A true CN116595518A (zh) | 2023-08-15 |
Family
ID=87594282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310009038.4A Pending CN116595518A (zh) | 2022-02-14 | 2023-01-04 | 数据处理单元的存储器中的恶意统一资源定位符url检测 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116595518A (zh) |
-
2023
- 2023-01-04 CN CN202310009038.4A patent/CN116595518A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12013941B2 (en) | Analysis of malware | |
EP3820113B1 (en) | Visual detection of phishing websites via headless browser | |
US10956477B1 (en) | System and method for detecting malicious scripts through natural language processing modeling | |
JP2022133461A (ja) | カーネルモードにおけるマルウェアおよびステガノグラフィのリアルタイム検出ならびにマルウェアおよびステガノグラフィからの保護 | |
US11062024B2 (en) | Computer-security event security-violation detection | |
CN109074454B (zh) | 基于赝象对恶意软件自动分组 | |
US20230262076A1 (en) | Malicious domain generation algorithm (dga) detection in memory of a data processing unit using machine learning detection models | |
US20210400057A1 (en) | Detection of ransomware | |
US20230409715A1 (en) | Methods and systems for trusted unknown malware detection and classification in linux cloud environments | |
US11636208B2 (en) | Generating models for performing inline malware detection | |
US11374946B2 (en) | Inline malware detection | |
US20230021885A1 (en) | Phishing Mitigation Service | |
US20230216868A1 (en) | Analysis of endpoint detect and response data | |
US20230259625A1 (en) | Ransomware detection in memory of a data processing unit using machine learning detection models | |
US20230319108A1 (en) | Malicious uniform resource locator (url) detection in memory of a data processing unit using machine learning detection models | |
US20230171267A1 (en) | Selective security scan to reduce signature candidates | |
US20230259614A1 (en) | Malicious activity detection in memory of a data processing unit using machine learning detection models | |
CN116595518A (zh) | 数据处理单元的存储器中的恶意统一资源定位符url检测 | |
CN116595520A (zh) | 数据处理单元的存储器中的恶意域生成算法dga检测 | |
CN116595521A (zh) | 数据处理单元的存储器中的勒索软件检测 | |
CN116595519A (zh) | 数据处理单元的存储器中的恶意活动检测 | |
WO2021015941A1 (en) | Inline malware detection | |
Rao et al. | Advances in Malware Analysis and Detection in Cloud Computing Environments: A Review. | |
US20220245249A1 (en) | Specific file detection baked into machine learning pipelines | |
Preetam | Behavioural analytics for threat 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 |