CN111460444B - 针对威胁检测系统的自动恶意软件签名生成 - Google Patents
针对威胁检测系统的自动恶意软件签名生成 Download PDFInfo
- Publication number
- CN111460444B CN111460444B CN202010064112.9A CN202010064112A CN111460444B CN 111460444 B CN111460444 B CN 111460444B CN 202010064112 A CN202010064112 A CN 202010064112A CN 111460444 B CN111460444 B CN 111460444B
- Authority
- CN
- China
- Prior art keywords
- malware
- software
- computer
- samples
- nodes
- 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
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/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/564—Static detection by virus signature recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- 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
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/045—Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Virology (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Stored Programmes (AREA)
Abstract
本申请的各实施例涉及针对威胁检测系统的自动恶意软件签名生成。通过使用已知恶意软件和良性软件样本训练二进制决策树来得出恶意软件签名,每个树节点表示不同的软件特征集并且具有表示由该节点的软件特征集表征的样本的一个下降边和表示没有被如此表征的样本的另一下降边,针对多个节点的多个子集选择多个连续下降路径,每个路径穿过从它的对应子集中的多个节点中的每个节点下降的多个边中的选择的边,基于多个路径中的任何路径中的多个节点和多个边来得出与恶意软件相关联的软件特征签名,其中由从连续下降路径的末端直接地或间接地下降的叶子表示的恶意软件样本满足由叶子表示的样本的总数的最小百分比,以及提供恶意软件以用于由被配置为标识恶意软件的基于计算机的安全工具使用。
Description
技术领域
本申请的各实施例涉及针对威胁检测系统的自动恶意软件签名生成。
背景技术
检测恶意软件的现代计算机安全工具通常采用表征恶意软件的预定义“签名”。这些签名通常包括可执行计算机软件的静态或动态特征,其中如果软件包括由恶意软件签名指示的特征,则其被标识为恶意软件。静态特征独立于它的执行来表征软件,诸如可执行软件文件的哈希是否会产生预定义值或者软件是否被加密。动态特征基于它的执行来表征软件,诸如软件是进行特定系统功能调用还是按特定顺序。用于生成恶意软件签名的已知技术通常采用启发式方式,这些方式通常不会发现有效的恶意软件签名。
发明内容
在本发明的一个方面中,提供了一种用于保护计算机免受恶意软件的方法,该方法包括使用可执行计算机软件的样本的集合训练二进制决策树,其中在训练二进制决策树之前,样本中的每个样本被分类为恶意软件或非恶意软件,其中二进制决策树包括根节点、从根节点下降并且具有一个或多个边的多个路径、沿着路径中的任何路径的多个中间节点、以及终止路径中的任何路径的多个叶子,其中节点中的每个节点表示一个或多个软件特征的不同软件特征集,其中节点中的每个节点包括表示由被节点表示的软件特征集表征的样本的表示由节点表示的软件特征集表征的样本中的那些样本以及表示没有由被节点表示的软件特征集表征的样本中的那些样本的从节点下降的另一边,并且其中叶子中的每个叶子表示遵循从根节点经由任何一个边到叶子的路径中的单个路径的样本中的那些样本,在二进制决策树内选择连续下降路径,该连续下降路径穿过从包括节点中的一个或多个节点的子集中的节点中的每个节点下降的边中的选择的边,响应于确定被分类为恶意软件并且由从连续下降路径的末端直接地或间接地下降的叶子表示的样本的计数满足由从连续下降路径的末端直接地或间接地下降的叶子表示的样本的总数的预定义最小百分比,基于子集中的节点和选择的下降边来得出与恶意软件相关联的软件特征签名,以及提供与恶意软件相关联的软件特征签名以用于由基于计算机的安全工具使用,基于计算机的安全工具被配置为使用与恶意软件相关联的软件特征签名在计算机上标识恶意软件并且响应于标识恶意软件而执行基于计算机的安全动作。
在本发明的其他方面,提供了体现本发明的系统和计算机程序产品。
附图说明
通过以下结合附图的详细描述,将能够更充分地理解和了解本发明的各方面,在附图中:
图1A是根据本发明的实施例被构造和操作的用于保护计算机免受恶意软件的系统的简化概念图;
图1B是根据本发明的实施例被构造和操作的示例性二进制决策树的简化图示;
图2A和图2B一起是根据本发明的实施例操作的图1的系统的示例性操作方法的简化流程图;
图2C是根据本发明的实施例操作的用于确定配置基于计算机的安全工具以用于标识恶意软件所需要的最小挂钩集的方法的简化流程图;以及
图3是根据本发明的实施例被构造和操作的计算系统的示例性硬件实现的简化框图图示。
具体实施方式
现在参考图1A,图1A是根据本发明的实施例被构造和操作的用于保护计算机免受恶意软件的系统的简化概念图。在图1A中,二进制决策树训练器100被配置为根据常规技术使用可执行计算机软件的样本104的集合来训练二进制决策树102。在二进制决策树训练器100训练二进制决策树102之前,样本104中的样本中的每个样本根据常规技术被分类为恶意软件或非恶意软件。
二进制决策树102包括根节点106、任何数目的中间节点108和任何数目的叶子110。节点106和108中的每个节点表示表征可执行计算机软件的一个或多个预定义软件特征的不同软件特征集,优选地,其中软件特征特别地表征已知为恶意软件的可执行计算机软件,或者其中软件特征以其他方式被表征为可疑。每个软件特征集中的软件特征中的每个软件特征可以是不表征计算机软件的执行的静态特征,诸如可执行文件中的各种类型的节(section)的数目、可执行文件中的每个节的熵、如被记录在可执行文件头中的校验和与可执行文件本身的校验和之间是否存在差异,或者可以是必须表征计算机软件的执行的动态特征,诸如函数调用或在执行期间由计算机软件执行的其他动作。节点106和108中的每个节点包括表示二进制决策的两个下降边112,其中下降边中的一个下降边表示由被节点表示的软件特征集表征的样本104中的那些样本,而另一下降边表示没有由被节点表示的软件特征集表征的样本104中的那些样本。二进制决策树训练器100通过确定软件特征集中的哪个软件特征集表征样本104中的每个样本来训练二进制决策树102。在给定节点106或108表示包括一个或多个静态特征的给定软件特征集的情况下,如果给定样本在给定软件特征集中展现出静态特征,则二进制决策树训练器100确定给定软件特征集表征样本104中的给定样本。同样地,在给定软件特征集包括一个或多个动态特征的情况下,如果给定样本执行由给定软件特征集中的动态特征指示的动作,则二进制决策树训练器100确定给定软件特征集表征样本104中的给定样本。如果给定的软件特征集包括必须以指定顺序被执行的多个动态特征,则如果给定样本以指定顺序执行动作,那么二进制决策树训练器100确定给定软件特征集表征样本104中的给定样本。
可以在二进制决策树102中看到一个或多个连续下降路径,其中每个连续下降路径从根节点106或中间节点108中的任何中间节点下降并且终止于中间节点108中的另一中间节点或终止于叶子110之一,并且可以包括一个或多个附加中间节点108。每个连续下降路径还包括从被包括在路径中的节点106或108中的每个节点下降的边112之一,并且因此,每个连续下降路径包括以不间断的一系列交替的节点和边被连接的相等数目的节点106或108和下降边112。叶子110中的每个叶子终止来自根节点106的不同的连续下降路径,并且表示由被包括在它的路径中的节点106和108表示的软件特征集表征或不表征的样本104中的那些样本,这取决于被包括在它的路径中的下降边112。
图1B中示出了二进制决策树102的示例性表示,其中示出了根节点106A和中间节点108A至108F,每个节点具有两个下降边,其中从每个节点下降的右侧边指示由被节点表示的软件特征集表征的样本104中的那些样本,而左侧下降边指示未由软件特征集表征的样本104中的那些样本。示出了叶子110A至110H,其中每个叶子表示遵循来自根节点106A的单个路径的样本。
返回图1A,恶意软件签名提取器114被配置为在二进制决策树102内选择连续下降路径,该连续下降路径穿过从包括节点106和108中的一个或多个选择的节点的子集中的节点中的每个节点下降的边112中的选择的边。在一个实施例中,从子集中的节点中的每个节点下降的选择的边112表示由被该节点表示的软件特征集表征的样本104中的那些样本。恶意软件签名提取器114被配置为基于子集中的选择的节点和选择的连续下降路径中的选择的下降边112来得出与恶意软件相关联的软件特征签名,其中被分类为恶意软件并且由从连续下降路径的末端直接地或间接地下降的叶子110表示的样本104的计数满足由从连续下降路径的末端直接地或间接地下降的叶子110表示的样本104的总数的预定义最小百分比。这一百分比表示预期得出的恶意软件签名将恶意软件表征为恶意软件的预期的真阳性率(TPR),而被分类为良性并且由从连续下降路径的末端直接地或间接地下降的叶子110表示的样本104的其余百分比表示预期得出的恶意软件签名将良性软件表征为恶意软件的假阳性率(FPR)。因此,在图1B中所示的示例中,对包括中间节点108A、中间节点108D以及它们的右侧下降边的连续下降路径的选择包括由对FindClose的调用(中间节点108A)并且通过展现出静态特征Y(中间节点108D)表征的样本104中的那些样本。这些样本由叶子110D表示,叶子110D是从选择的连续下降路径的末端直接地或间接地下降的唯一叶子。叶子110D表示样本104中的100个样本,其中的98个先前被分类为恶意软件,并且其中的2个先前被分类为良性。如果将预定义最小百分比设置为98%,则与恶意软件相关联的软件特征签名可以从选择的连续下降路径被得出,并且被用于将由对FindClose的调用并且通过展现出静态特征Y表征的任何可执行软件分类为恶意软件。
再次返回图1A,恶意软件签名提取器114被配置为以上述方式来得出与选择的节点106和108的不同子集对应的多个与恶意软件相关联的软件特征签名。恶意软件签名提取器114优选地提供与恶意软件相关联的软件特征签名以用于由基于计算机的安全工具116使用,基于计算机的安全工具116根据常规技术被配置为使用与恶意软件相关联的软件特征签名来标识计算机上的恶意软件并且响应于标识出恶意软件而执行基于计算机的安全动作。
二进制决策树训练器100优选地被配置为训练多个二进制决策树102,恶意软件签名提取器114以上述方式从该多个二进制决策树102得出多个与恶意软件相关联的软件特征签名。在一个实施例中,二进制决策树训练器100根据常规技术使用不同的随机种子来训练不同的二进制决策树102。在另一实施例中,二进制决策树训练器100根据常规技术生成多个二进制决策树102的随机森林。在另一实施例中,二进制决策树训练器100生成一个二进制决策树102,并且然后从二进制决策树102移除一个或多个节点106或108,诸如根节点106和/或随机选择的节点106和108中的一个或多个节点,由此二进制决策树训练器100重新训练二进制决策树102以生成不同的二进制决策树102,该过程可以被重复多次以生成相关软件特征签名的不同集合。在另一实施例中,节点106和108以及边112被布置为向二进制决策树102提供任何预定义深度,由此控制用于生成软件特征签名的最大路径长度。
图1中所示的任何元件中的元件优选地由一个或多个计算机利用常规技术在计算机硬件和/或被体现在非瞬态计算机可读介质中的计算机软件中被实现,诸如图1中所示的元件中的任何元件由计算机118托管。
现在参考图2A和图2B,图2A和图2B一起是根据本发明的实施例操作的图1的系统的示例性操作方法的简化流程图。在图2A和图2B的方法中,使用被分类为良性或恶意软件的可执行计算机软件的样本的集合来训练二进制决策树(步骤200),该树具有表示表征可执行计算机软件的一个或多个预定义静态或动态软件特征的不同软件特征集的多个节点(步骤202),其中每个节点包括表示二进制决策的两个下降边,一个边表示由被该节点表示的软件特征集表征的那些样本,另一边表示不由该被节点表示的软件特征集表征的那些样本(步骤204),并且其中二进制决策树包括一个或多个叶子,每个叶子终止来自根节点的一个或多个节点和边的不同的连续下降路径并且表示反映它的路径中的边的二进制决策的那些样本(步骤206)。在树内选择穿过从包括一个或多个选择的节点的子集中的节点中的每个节点下降的选择的边的连续下降路径,该路径包括以不间断的一系列交替的节点和边被连接的相等数目的节点和边(步骤208)。如果被分类为恶意软件并且由从连续下降路径的末端直接地或间接地下降的叶子表示的样本的计数满足由叶子表示的样本的总数的预定义最小百分比(步骤210),则基于路径中的节点和边来得出与恶意软件相关联的软件特征签名(步骤212)。优选地,针对树中的不同的连续下降路径重复步骤208至212,直到终止条件被满足,诸如直到以这种方式评估了树中的所有可能的连续下降路径,在经过预定义时间段之后,或者在已经评估了预定义数目的路径之后(步骤214)。优选地,提供恶意软件签名以用于由基于计算机的安全工具使用,以使用签名在计算机上标识恶意软件(步骤216)。
图2A和图2B的方法优选地被执行以从多个二进制决策树训练和得出恶意软件签名,诸如通过使用不同的随机种子来训练不同的二进制决策树,通过生成多个二进制决策树的随机森林,或者通过从二进制决策树移除一个或多个节点并且重新训练树以生成不同的二进制决策树,该过程可以被重复多次。
现在参考图2C,图2C是根据本发明的实施例操作的用于确定配置基于计算机的安全工具以用于标识恶意软件所需要的最小挂钩集的方法的简化流程图。在图2C的方法中,标识与恶意软件相关联的软件特征签名的集合,其中诸如根据上文中在图2A和图2B中所述的方法,针对每个签名确定真阳性率(TPR)和假阳性率(FPR)(步骤220)。给定指定的TPR和FPR,诸如基于计算机的安全工具为了标识恶意软件而可能是要求的,选择满足指定的TPR和FPR的恶意软件签名的子集(步骤222)。根据常规技术确定用于在可执行计算机软件中标识由选择的子集中的恶意软件签名表示的软件特征的最小“挂钩”集(步骤224),其中术语“挂钩”是指与软件的动态特征相结合来拦截由可执行计算机软件执行的动作(诸如函数调用、事件或消息)的代码,或者是指标识软件的静态特征的代码。优选地,确定最小挂钩集,从而使得由选择的子集中的恶意软件签名表示的软件特征中的每个软件特征由实现最小挂钩集的基于计算机的安全工具可标识,并且从而使得从最小挂钩集省略任何挂钩将阻止基于计算机的安全工具标识由选择的子集中的恶意软件签名表示的软件特征中的至少一个软件特征。选择的恶意软件签名的子集和对应的最小挂钩集被用于将基于计算机的安全工具配置为满足指定的TPR和FPR(步骤226)。步骤220至224可以由图1A的恶意软件签名提取器114实现,而步骤226可以由图1A的恶意软件签名提取器114或基于计算机的安全工具116实现。
现在参考图3,框图300示出了根据本发明的实施例的计算系统的示例性硬件实现,根据该计算系统,可以实现本发明的一个或多个组件/方法(例如,在图1和图2A至图2C的上下文中描述的组件/方法)。如图所示,本发明可以根据经由计算机总线318或备选连接布置而被耦合的处理器310、存储器312、I/O设备314和网络接口316而被实现。
应当领会到,本文中使用的术语“处理器”或“设备”旨在包括任何处理设备,例如包括CPU(中央处理单元)和/或其他处理电路系统。还应当理解,术语“处理器”或“设备”可以是指不止一个处理设备,并且与处理设备相关联的各种元件可以被其他处理设备共享。
本文中使用的术语“存储器”旨在包括与处理器或CPU相关联的存储器,例如RAM、ROM、固定存储器设备(例如,硬盘驱动器)、可移动存储器设备(例如,软盘)、闪存等。这样的存储器可以被视为计算机可读存储介质。
另外,本文中使用的短语“输入/输出设备”或“I/O设备”旨在包括例如用于向处理单元输入数据的一个或多个输入设备(例如,键盘、鼠标、扫描仪等)和/或用于呈现与处理单元相关联的结果的一个或多个输出设备(例如,扬声器、显示器、打印机等)。
本发明的实施例可以包括系统、方法和/或计算机程序产品。该计算机程序产品可以包括其上具有用于使得处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Java,Smalltalk、C++等,以及传统过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (9)
1.一种用于保护计算机免受恶意软件的方法,所述方法包括:
使用可执行计算机软件的样本的集合训练二进制决策树,
其中在训练所述二进制决策树之前,所述样本中的每个样本被分类为恶意软件或非恶意软件,
其中所述二进制决策树包括根节点、从所述根节点下降并且具有一个或多个边的多个路径、沿着所述多个路径中的任何路径的多个中间节点、以及终止所述多个路径中的任何路径的多个叶子,
其中所述多个节点中的每个节点表示一个或多个软件特征的不同软件特征集,
其中所述多个节点中的每个节点包括
从所述节点下降的一个边,表示由被所述节点表示的所述软件特征集表征的所述样本中的那些样本,以及
从所述节点下降的另一边,表示没有由被所述节点表示的所述软件特征集表征的所述样本中的那些样本,并且
其中所述多个叶子中的每个叶子表示遵循从所述根节点经由所述多个边中的任何边到所述叶子的所述多个路径中的单个路径的所述样本中的那些样本;
在所述二进制决策树内选择连续下降路径,所述连续下降路径穿过从包括所述多个节点中的一个或多个节点的子集中的所述多个节点中的每个节点下降的所述多个边中的选择的边;
响应于确定被分类为恶意软件并且由从所述连续下降路径的末端直接地或间接地下降的多个叶子表示的所述样本的计数满足由从所述连续下降路径的所述末端直接地或间接地下降的多个叶子表示的样本的总数的预定义最小百分比,基于所述子集中的所述多个节点和选择的下降边来得出与恶意软件相关联的软件特征签名;以及
提供所述与恶意软件相关联的软件特征签名以用于由基于计算机的安全工具使用,所述基于计算机的安全工具被配置为使用所述与恶意软件相关联的软件特征签名在计算机上标识恶意软件并且响应于标识恶意软件而执行基于计算机的安全动作。
2.根据权利要求1所述的方法,其中所述选择包括如下选择,其中从所述子集中的所述多个节点中的每个节点下降的选择的边表示由被所述节点表示的所述软件特征集表征的所述样本中的那些样本。
3.根据权利要求1所述的方法,其中所述训练包括如下训练,其中所述软件特征中的每个软件特征是静态软件特征或动态软件特征。
4.根据权利要求1所述的方法,还包括确定所述软件特征集中的哪个软件特征集表征所述样本中的每个样本。
5.根据权利要求4所述的方法,其中所述确定包括:如果所述样本中的给定样本执行由所述软件特征集中的给定软件特征集指示的一个或多个动作,则确定所述给定软件特征集表征所述给定样本。
6.根据权利要求4所述的方法,其中所述确定包括如下确定,其中所述软件特征集中的任何软件特征集包括有序的多个软件特征,并且其中如果所述样本中的给定样本按照由所述有序的多个软件特征指示的顺序执行由所述有序的多个软件特征指示的动作,则所述软件特征集中的给定软件特征集表征所述给定样本。
7.根据权利要求1所述的方法,还包括针对所述多个节点的不同子集多次执行所述选择和所述得出,以得出多个与恶意软件相关联的软件特征签名,其中所述提供包括提供所述多个签名以用于由所述基于计算机的安全工具使用。
8.一种用于保护计算机免受恶意软件的系统,所述系统包括用于实现根据权利要求1至7中的任一项所述的方法的任何步骤的装置。
9.一种计算机可读存储介质,计算机可读程序代码被体现在所述存储介质中,其中所述计算机可读程序代码被配置为执行根据权利要求1至7中的任一项所述的方法的任何步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/253,237 | 2019-01-22 | ||
US16/253,237 US11308210B2 (en) | 2019-01-22 | 2019-01-22 | Automatic malware signature generation for threat detection systems |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111460444A CN111460444A (zh) | 2020-07-28 |
CN111460444B true CN111460444B (zh) | 2023-09-19 |
Family
ID=71609882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010064112.9A Active CN111460444B (zh) | 2019-01-22 | 2020-01-20 | 针对威胁检测系统的自动恶意软件签名生成 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11308210B2 (zh) |
CN (1) | CN111460444B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11544575B2 (en) * | 2020-03-31 | 2023-01-03 | Fortinet, Inc. | Machine-learning based approach for malware sample clustering |
US20230403286A1 (en) * | 2022-05-17 | 2023-12-14 | Sophos Limited | Methods and apparatus for machine learning to generate a decision tree database to identify commands similar to a command of interest |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104798080A (zh) * | 2012-11-15 | 2015-07-22 | 微软公司 | 反恶意软件签名的动态选择和加载 |
CN106415582A (zh) * | 2014-06-27 | 2017-02-15 | 迈克菲股份有限公司 | 恶意软件抑制 |
CN107153789A (zh) * | 2017-04-24 | 2017-09-12 | 西安电子科技大学 | 利用随机森林分类器实时检测安卓恶意软件的方法 |
CN108920953A (zh) * | 2018-06-16 | 2018-11-30 | 温州职业技术学院 | 一种恶意软件检测方法及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10425429B2 (en) * | 2013-04-10 | 2019-09-24 | Gabriel Bassett | System and method for cyber security analysis and human behavior prediction |
US10230747B2 (en) * | 2014-07-15 | 2019-03-12 | Cisco Technology, Inc. | Explaining network anomalies using decision trees |
US9762593B1 (en) | 2014-09-09 | 2017-09-12 | Symantec Corporation | Automatic generation of generic file signatures |
US9935972B2 (en) | 2015-06-29 | 2018-04-03 | Fortinet, Inc. | Emulator-based malware learning and detection |
US10754947B2 (en) | 2015-11-30 | 2020-08-25 | International Business Machines Corporation | System, method and apparatus for usable code-level statistical analysis with applications in malware detection |
US20180204126A1 (en) * | 2017-01-17 | 2018-07-19 | Xerox Corporation | Method and system for assisting users in an automated decision-making environment |
-
2019
- 2019-01-22 US US16/253,237 patent/US11308210B2/en active Active
-
2020
- 2020-01-20 CN CN202010064112.9A patent/CN111460444B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104798080A (zh) * | 2012-11-15 | 2015-07-22 | 微软公司 | 反恶意软件签名的动态选择和加载 |
CN106415582A (zh) * | 2014-06-27 | 2017-02-15 | 迈克菲股份有限公司 | 恶意软件抑制 |
CN107153789A (zh) * | 2017-04-24 | 2017-09-12 | 西安电子科技大学 | 利用随机森林分类器实时检测安卓恶意软件的方法 |
CN108920953A (zh) * | 2018-06-16 | 2018-11-30 | 温州职业技术学院 | 一种恶意软件检测方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111460444A (zh) | 2020-07-28 |
US11308210B2 (en) | 2022-04-19 |
US20200233960A1 (en) | 2020-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11689549B2 (en) | Continuous learning for intrusion detection | |
US11818170B2 (en) | Detection of phishing campaigns based on deep learning network detection of phishing exfiltration communications | |
US20160212024A1 (en) | Graph segment representing a gist of an online social network conversation | |
US8806648B2 (en) | Automatic classification of security vulnerabilities in computer software applications | |
CN111460444B (zh) | 针对威胁检测系统的自动恶意软件签名生成 | |
CN109976995B (zh) | 用于测试的方法和装置 | |
US9519789B2 (en) | Identifying security vulnerabilities related to inter-process communications | |
US10984288B2 (en) | Malicious software recognition apparatus and method | |
US10970391B2 (en) | Classification method, classification device, and classification program | |
JPWO2018066221A1 (ja) | 分類装置、分類方法及び分類プログラム | |
US11763132B2 (en) | Detecting non-anomalous and anomalous sequences of computer-executed operations | |
KR20190081408A (ko) | 네트워크 침입 탐지 시스템 및 방법, 이를 수행하기 위한 기록매체 | |
US10896252B2 (en) | Composite challenge task generation and deployment | |
CN111819559A (zh) | 以量化步长使用机器学习模型用于恶意软件检测 | |
US10333950B2 (en) | Defending against malicious electronic messages | |
US20170315822A1 (en) | Identifying a common action flow | |
US20160042177A1 (en) | Preventing return-oriented programming exploits | |
CN107229865B (zh) | 一种解析Webshell入侵原因的方法及装置 | |
JP6710716B2 (ja) | 脅威情報評価装置、脅威情報評価方法およびプログラム | |
CN105357166A (zh) | 一种下一代防火墙系统及其检测报文的方法 | |
JP7052870B2 (ja) | 仮説推論装置、仮説推論方法、及びプログラム | |
US11899793B2 (en) | Information processing apparatus, control method, and program | |
CN115758338A (zh) | 一种漏洞修复方法、装置、电子设备和存储介质 | |
NZ754552B2 (en) | Continuous learning for intrusion 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 |