买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:英特尔公司
摘要:系统和方法可以用于在恶意软件检测系统上防止攻击。一种方法可以包括:在机器学习系统的训练期间使用传入的二进制文件对有向图的时间序列进行建模,并且在时间序列的时间窗口期间基于有向图的时间序列中的有向图来检测异常。该方法可以包括提供关于异常已经损坏机器学习系统的警报。该方法可以包括防止或补救机器学习系统的损坏。
主权项:1.一种用于防止毒性攻击的恶意软件检测系统,所述恶意软件检测系统包括:异常检测系统,其用于:在机器学习系统的训练期间使用传入的二进制文件对有向图的时间序列进行建模,以检测恶意软件攻击;在所述时间序列的时间窗口期间,基于所述有向图的时间序列中的有向图来检测异常;以及提供关于所述异常已经损坏所述机器学习系统的警报,其中,所述有向图的顶点是与所述传入的二进制文件相对应的函数,并且所述有向图的边是由所述边连接的相应顶点的函数之间的调用关系。
全文数据:恶意软件检测系统攻击防止背景技术在整个世界上恶意软件对系统的攻击是普遍且危险的。敲诈、盗窃和勒索困扰被感染系统的用户。随着恶意软件攻击变得更加复杂,越来越复杂的技术正被用于挫败攻击者。机器学习技术是一种训练系统防止恶意软件攻击的方法。自动化机器学习技术在恶意软件检测中证明是强大的。然而,敌方恶意软件攻击者经常试图使恶意软件训练数据中毒、欺骗机器学习系统以产生不正确的模型。这导致降级的分类准确度或高误报率,从而影响机器学习系统的有效性。附图说明在不一定按比例绘制的附图中,同样的附图标记可以在不同的视图中描述相似的组件。具有不同字母后缀的同样的附图标记可以表示相似组件的不同实例。附图通常通过示例的方式而非限制的方式示出本文档中讨论的各种实施例。图1示出了根据一些实施例的恶意软件检测和警报系统。图2A示出了根据一些实施例的没有启用警报系统的机器学习系统。图2B示出了根据一些实施例的启用警报系统的机器学习系统。图3示出了根据一些实施例的用于防止数据中毒攻击的警报系统的框图。图4示出了根据一些实施例的示出异常检测的图。图5示出了根据一些实施例的示出用于在恶意软件检测系统上防止攻击的技术的流程图。图6总体示出了根据一些实施例的本文讨论的技术例如,方法中的任意一个或多个可以在其上执行的机器的框图的示例。具体实施方式本文描述了用于在恶意软件检测系统上防止攻击的系统和方法。本文描述的系统和方法用于允许被用于检测恶意软件的机器学习系统不因恶意软件攻击中毒。可以训练机器学习系统以防止恶意软件攻击。然而,在敌对机器学习中,对机器学习系统的微妙攻击例如,当其在训练时可能使机器学习系统将某些恶意软件攻击接受为正常、非威胁的请求。例如,一种类型的攻击涉及在一段时间内缓慢增加机器学习系统对异常攻击的容忍度。攻击者可能探测机器学习系统以试图确定机器学习系统正在运行什么算法、在机器学习系统中设置了什么参数、或者机器学习系统可以允许或拒绝什么动作。攻击者可能发现针对机器学习系统的边界决策,以便适于边界内以允许恶意软件通过机器学习系统。攻击可以是渐进而具有缓慢的变化的。攻击者的目标是欺骗机器学习系统使其决定发送的恶意软件实际上是良性的。本文描述的系统和方法在恶意软件检测系统上提供了在全面攻击发动之前针对攻击的恶意软件检测系统的警报系统。警报系统可以在机器学习系统顶部工作。警报系统在对攻击者的探测时间期间针对攻击向机器学习系统发出警报。响应于警报,机器学习系统可以拒绝来自攻击源的输入、改变机器学习算法使其更鲁棒或增强机器学习系统的鲁棒性等。在示例中,对机器学习系统的恶意软件攻击可以包括诱发型攻击,其使机器学习系统容忍越来越多的异常恶意软件输入。最终,在机器学习系统足够容忍之后,恶意软件攻击包括启动全面攻击恶意文件,恶意文件由于容忍度而不被机器学习系统阻止。本文描述的系统和方法使用基于调用图的时间序列上的动态异常检测的新颖警报系统来防止攻击。警报系统检测何时已发生数据中毒攻击,并且向机器学习系统警报该攻击。然后,机器学习系统可以调整机器学习模型或阻止诱发型攻击,并且防止全面攻击。本文描述的警报系统可以通过扫描有向图的顶点的邻域来使用扫描统计信息。针对在机器学习系统的训练期间选择的每个时间窗口,可以检查扫描统计信息,并且如果扫描统计信息过高,则警报系统可以指示可能损坏机器学习系统的毒性攻击的可能性。警报系统被设计为检测敌对对手开始使训练恶意软件数据中毒这可能损坏机器学习系统的时间窗口,并且然后向恶意软件检测系统提供警报以防止恶意软件敌方发动全面攻击。警报系统将传入的二进制文件建模为有向图的时间序列。例如,有向图可以被构造为使得顶点是函数并且边是函数之间的调用关系。在动态设置中,警报系统可以计算局部性统计信息、扫描传入的二进制数的小时间窗口,并且导出扫描统计信息。扫描统计信息可以用于执行针对动态异常检测的变化点识别。警报系统可以提供对不同类型扫描统计信息的计算,对其的选择取决于二进制数的结构可以提供用于准确检测的优点。在示例中,一种类型的扫描统计信息可以是在实时流式传输数据环境下容易计算的。在另一示例中,一种类型的扫描统计信息可以被延迟例如,延迟一段时间。在示例中,警报系统可以实现针对数据中毒攻击的快速且准确的警报,并通知机器学习系统,因此学习模型可以被调整而不被危害。图1示出了根据一些实施例的恶意软件检测系统和警报系统100。恶意软件检测系统和警报系统100包括用于恶意软件检测的机器学习系统104以及包括处理器112和存储器114的警报系统102。恶意软件检测系统和警报系统100使用机器学习系统104来检测从广域网WAN108例如,网络、互联网等传入本地网络或机器106的恶意软件。路由器110可以将传入的数据例如,二进制文件或系统调用发送到机器学习系统104或警报系统102。在示例中,警报系统102可以在机器学习系统104之前接收数据。在另一示例中,机器学习系统140可以将数据转发到警报系统102。在又一示例中,路由器110可以将数据发送到机器学习系统104和警报系统102二者。在图1中在不同时间处表示为A、B和C的调用函数或其他传入的二进制文件可以经由WAN108从远程地址、路由器或设备发送。调用函数首先由路由器110接收,并且可以被发送到机器学习系统104B或警报系统102C。在示例中,当沿着由B表示的路径被发送时,机器学习系统104可以将调用函数发送到警报系统102。机器学习系统104被用于恶意软件检测以防止恶意软件进入本地网络或机器106。警报系统102可以使用变化点检测来确定在时间段内接收的调用函数是否显示对试图使机器学习系统104中毒这可能损坏机器学习系统104的指示。变化点检测可以用于识别动态设置中的异常。例如,通过将传入的二进制文件建模为图形的时间序列,并且使用基于局部性的扫描统计信息来识别数据中毒攻击何时已发生或正在发生,变化点检测可以并入到动态恶意软件分析中。在试图破坏机器学习系统104的诱发型攻击中,敌方意在经由逐渐使训练数据集中毒来强迫机器学习框架学习错误的模型,这可能损坏机器学习系统104。一旦机器学习系统104转移决策边界并产生错误的模型,敌方就可能发动全面攻击。警报系统102检测数据污染何时发生当其正在发生时,并且关于诱发型攻击向机器学习系统104发出警报,使得机器学习系统104可以作为响应而调整其模型。例如,在警报系统102中实现的一种类型的扫描统计信息可以是在计算上便宜的,这允许实时流式传输数据环境下的快速异常检测。在示例中,警报系统102可以使用领域专业知识来增强对诱发型攻击的响应。警报系统102可以使用统计地定义的阈值来检测默认设置中的异常。领域专业知识可以允许用户定义的阈值利用与自动异常检测相结合的领域知识来提高准确度。警报系统102可以识别例如来自变形的恶意软件的新攻击模式。具体而言,警报系统102可以用于预测包括函数之间的调用关系的子组的出现。在防止恶意软件攻击的同时,警报系统102的异常检测框架还可以用于收集关于新系列或类型的恶意软件的情报并将其查明。图2A示出了根据一些实施例的没有启用警报系统的机器学习系统200。没有警报系统的机器学习系统200可能易受在使机器学习系统200的边界条件中毒已经发生之后发动的全面攻击的影响。例如,机器学习系统200可以接收一系列函数调用例如,在时间t1处的第一函数f1202并且进行训练以检测恶意软件攻击例如,通过学习要添加到规则集y1203的训练规则。随着时间的推移,函数调用缓慢地增加机器学习系统200对恶意软件攻击的容忍度。最终,例如在时间tn处,攻击者能够用函数调用fn204进行攻击,而在规则集yn205下机器学习系统允许攻击通过。在示例中,可以使用1比特输入参数R代表弹性来激活或去激活警报系统。图2A示出了当R=FALSE即警报系统被关闭时的场景。图2A中的机器学习机制易受可能损坏机器学习系统的数据中毒攻击的影响。图2B示出了根据一些实施例的启用警报系统的机器学习系统200。在图2B中,示出了当R=TRUE时的场景,并且警报系统经由异常检测而检测到数据中毒攻击。警报系统将时间t1处的函数调用f1206识别为诱发型攻击或潜在地包括诱发型攻击,并且向机器学习系统200发出警报,这可以修改规则集y1208。在稍后的时间ti处,当函数调用fi210试图进行全面攻击时,警报系统可以向机器学习系统200发送警报以防止攻击。机器学习系统200可以改变或更新规则集yi212来补救函数调用fi210攻击尝试,或者可以完全拒绝或避免攻击尝试。警报系统的输入可以包括来自传入的函数调用的调用图的时间序列。在示例中,调用图的顶点是函数,并且调用图的有向边是函数之间的调用关系。图3示出了根据一些实施例的示出由警报系统执行以用于防止数据中毒攻击的技术300的流程图。技术300包括在框302处将对机器学习系统的输入建模为有向图的时间序列的操作。框302中示出的时间序列t,t+1,……t+i包括将函数描绘为顶点并将调用关系描绘为边的对应的图G_t,G_t+1……G_t+i。图可以具有有向边,例如框302中示出的有向边。例如,图G_t示出了顶点304A-304C。顶点之间的边包括从顶点304B到顶点304A的边,以及在顶点304B与304C之间沿两个方向的边。没有任何边将顶点304A连接到顶点304C。在时间t+1处,图Gt+1示出了从顶点304B到304A的边被重复,但在顶点304B与304C之间不存在边。技术300包括框306处计算局部性统计信息的操作。警报系统可以扫描多个系列的图,并且基于由调用图中的函数例如,顶点的响应邻域引起的子图来针对每个时间窗口计算局部性统计信息。在示例中,局部性统计信息可以通过确定连接到顶点的边的数量来计算。在另一示例中,局部性统计信息可以通过确定连接到顶点其被连接到顶点的边的数量来计算。例如,在时间t处顶点304C仅连接到顶点304B,顶点304B转而进一步仅连接到顶点304A。距离顶点304C一个顶点的邻域的局部性统计信息包括顶点304C距离零个顶点和顶点304B距离一个顶点。该场景中边的总计数为针对顶点304C的2加上针对顶点304B的3,总共为5。在示例中,可以针对扫描区域或时间内的图中的每个顶点计算边的总计数。在时间t+i处的示例中,图G_t+i包括顶点304D,其连接到三个其他顶点,并且对于距离一个顶点的邻域具有局部性统计信息5+3+3+5,总共为16。在另一示例中,邻域可以包括距离指定顶点两个或三个、四个等顶点的顶点。技术300包括在框308处应用时间归一化的操作。将时间归一化应用于局部性统计信息以在时间序列上执行平滑化。例如,可以使在与局部性统计信息相对应的特定时间处有向图的边的总数除以每个局部性统计信息。在另一示例中,可以使某个时间窗口上有向图的边的平均数除以局部性统计信息。在框302中示出的示例中,在时间t处针对顶点304C的局部性统计信息为5,并且在时间t+i处针对顶点304D的局部性统计信息为16。基于相应有向图的边的数量对这些数值进行归一化分别将数值改变为59和1612。16对5的比率为3.2,而1612对59的比率为2.4。对值进行归一化允许警报系统比较不同时间处的局部性统计信息,以确定值是否是异常值。在示例中,在给定时间处针对图的扫描统计信息是归一化的局部性统计信息的最大值。技术300包括在框310处检测异常并向机器学习系统发出警报的操作。归一化的统计信息的大的值指示时间窗口内的变化点例如,在时间窗口内的离散时刻或时间范围。当归一化的统计信息越过阈值时,变化点可以被识别。例如,当归一化的统计信息超过预定阈值时,可以发布警报。阈值可以由单独的机器学习系统或技术确定,可以基于受控或已知的恶意软件攻击归一化的统计值,或者可以是用户定义的。图4示出了根据一些实施例示出异常检测的图400,例如以防止使机器学习系统数据中毒。图400示出了随时间推移有向图的扫描统计信息。扫描统计信息可以包括如此处及上文描述的局部性统计信息,其可以被归一化。例如,图400可以基于可执行文件的传入的时间序列。传入的可执行文件可以被建模为调用图的时间序列,即:Gt,Gt+1,…,Gt+T等式1警报系统可以提供对两个扫描统计信息S之一的计算,定义为:等式2等式3其中Ψ和Φ分别是等式2和等式3中的局部性统计信息,并且S是两个等式中的扫描统计信息。任一扫描统计信息可以用于生成图400。在等式2中,局部性统计信息Ψt;kv确定由Nkv;Gt引起的Gt的子图中的边的数量,Nkv;Gt被定义为离顶点v的距离至多为k处的一组顶点。Ω是扫描区域。扫描统计信息SΨ是时间归一化的局部性统计信息Ψt;kv的最大值,其中,F表示时间归一化函数。在等式3中,局部性统计信息Φt;t′,kv确定由Nkv;Gt引起的Gt′的子图中的边的数量。扫描统计信息SΦ是时间归一化的局部性统计信息Φt;t′,kv的最大值。在示例中,在流式传输环境下,警报系统可以使用Ψt;kv,这是因为其是在实时数据环境下容易计算的。在另一示例中,例如当实时警报不是必要的时,可以使用等式3。在示例中,等式3表示基于来自时间t之前的先前时间段t'的有向图的扫描统计信息。例如,等式3可以根据当前时间t有向图来确定最近邻域,同时根据先前时间t'有向图中对边进行计数。在示例中,与等式2相比,等式3可以更精确,这可能抵消等式3中固有而等式2中不固有的时间延迟。警报系统可以将时间归一化应用于等式2或等式3的结果。针对每个时间窗口的一组局部性统计信息例如,等式2或等式3的结果可以包括多个值,例如针对有向图中的每个顶点的值。警报系统可以在每个时间窗口处从经平滑的统计信息中检索最大值例如,与具有最高归一化的扫描统计信息的顶点相对应。这些最大值可以如图400那样绘制。图400可以用于识别异常例如,异常402和404,其可能使警报系统向机器学习系统发布警报。例如,可以通过将图400中绘制的最大值与阈值例如,在图400中在扫描统计值406处示出的进行比较来检测异常402或404。在另一示例中,可以使用诸如加权几何平均数之类的平均数或加权平均数而非最大值来针对特定有向图确定组合的扫描统计信息。在该示例中,可以随时间推移绘制组合的扫描统计信息以得出图400。图5示出了根据一些实施例示出用于在恶意软件检测系统上防止攻击的技术500的流程图。技术500包括训练机器学习系统检测恶意软件攻击的可选操作502。技术500包括在训练期间对输入的有向图的时间序列进行建模的操作504,例如,使用传入的二进制文件。二进制文件可以包括调用函数。在示例中,有向图的顶点是函数,并且有向图的边是由边连接的相应顶点的函数之间的调用关系。在另一示例中,有向图是调用图。技术500包括确定是否检测到变化点的决策操作506。当变化点未被检测到时,技术500可以通过返回到操作504来继续针对变化点监测对机器学习系统的输入。当变化点被检测到时,技术500包括例如在时间序列的时间窗口期间基于有向图来检测异常的操作508。响应于检测到异常,该技术可以包括提供关于异常已经使机器学习系统中毒或潜在地使机器学习系统中毒的警报的操作510。操作510可以将警报发送到机器学习系统,机器学习系统可以调整、停止或改变恶意软件检测。例如,操作502可以被重新启动、调整、改变、停止等。提供警报可以包括防止二进制文件中的一个或多个到达机器学习系统。在示例中,提供警报包括阻止二进制文件中的一个或多个的源的IP地址。在另一示例中,提供警报可以包括将机器学习系统回滚到第一次检测到的异常之前的先前状态。例如,提供警报可以包括指示时刻或机器学习系统要回滚到的先前保存的状态。在另一示例中,技术500还可以包括防止二进制文件中的至少一个到达机器学习系统、阻止二进制文件中的至少一个的源的IP地址、或者使机器学习系统执行回滚到第一次检测到的异常之前的先前状态。在示例中,有向图与时间窗口相对应。在另一示例中,有向图与在时间窗口之前出现的先前时间窗口相对应。在示例中,技术500可以包括响应于检测到异常的、防止输入到达机器学习系统的操作512。在示例中,技术500可以包括响应于检测到异常的、将机器学习系统回滚到先前状态的操作514。在示例中,技术500可以包括响应于检测到异常的、阻止输入的源的IP地址的操作516。在操作512-516中的任一个之后,技术500可以包括返回到操作502以进行进一步的训练。在示例中,检测异常可以包括针对有向图的多个子图导出扫描统计信息,该多个子图包括距离有向图中的每个特定顶点数个连接边的相应顶点。扫描统计信息的变化点可以在时间窗口上或在先前时间窗口上被检测到。在示例中,变化点表示异常并且与扫描统计信息中的在阈值以上的扫描统计信息的值相对应。在示例中,扫描统计信息包括计数,例如,在时间窗口上多个子图中的子图的连接边的数量的最大值,并且其中,远离子图的特定顶点的数个连接边包括特定顶点的一组k最近邻顶点。在另一示例中,扫描统计信息包括计数,例如,在先前时间窗口上多个子图中的子图的连接边的数量的最大值。在又一示例中,扫描统计信息包括在时间窗口上导出的局部性统计信息和在先前时间窗口上导出的扫描统计信息的加权几何平均数。导出扫描统计信息可以包括对扫描统计信息执行时间归一化以在时间窗口上或在先前时间窗口上平滑扫描统计信息。图6总体示出了根据一些实施例的机器600的框图的示例,本文讨论的技术例如,方法中的任意一个或多个可以在机器600上执行。在替代实施例中,机器600可以作为独立设备操作或者可以连接例如,联网到其他机器。在联网部署中,机器600可以在服务器-客户端网络环境中以服务器机器、客户端机器、或二者的容量操作。在示例中,机器600可以充当对等P2P或其他分布式网络环境中的对等机器。机器600可以是个人计算机PC、平板PC、机顶盒STB、个人数字助理PDA、移动电话、网络设备、网络路由器、交换机或桥接器、或者能够执行指定了该机器要采取的动作的顺序的或非顺序的指令的任何机器。此外,尽管仅示出了单个机器,但术语“机器”还应当被认为包括单独或联合地执行用于执行本文讨论的方法中的任意一个或多个方法的一个或多个指令集的机器的任意集合,例如,云计算、软件即服务SaaS、其他计算机集群配置。如本文描述的示例可以包括逻辑单元或多个组件、模块或机构,或者可以对其进行操作。模块是在操作时能够执行指定的操作的有形实体例如,硬件。模块包括硬件。在示例中,硬件可以被具体配置为执行例如,硬连线的具体操作。在示例中,硬件可以包括可配置执行单元例如,晶体管、电路等和包含指令的计算机可读介质,其中,指令将执行单元配置为当在操作中时执行具体操作。配置可以在执行单元或加载机制的指导下发生。因此,当设备正在操作时,执行单元通信地耦合到计算机可读介质。在该示例中,执行单元可能是多于一个模块的成员。例如,在操作下,执行单元可以由第一指令集配置为在一个时间点实现第一模块,并且由第二指令集重新配置为实现第二模块。机器例如,计算机系统600可以包括硬件处理器602例如,中央处理单元CPU、图形处理单元GPU、硬件处理器核心、或其任意组合、主存储器604和静态存储器606,其中的一些或全部可以经由互连例如,总线608与彼此通信。机器600还可以包括显示单元610、字母数字输入设备612例如,键盘以及用户接口UI导航设备614例如,鼠标。在示例中,显示单元610、字母数字输入设备612和UI导航设备614可以是触摸屏显示器。机器600可以另外地包括存储设备例如,驱动器单元616、信号生成设备618例如,扬声器、网络接口设备620以及一个或多个传感器621例如,全球定位系统GPS传感器、指南针、加速度计、或其他传感器。机器600可以包括输出控制器628,例如,用于与一个或多个外围设备例如,打印机、读卡器等通信或对其进行控制的串行连接例如,通用串行总线USB、并行连接、或其他有线或无线连接例如,红外线IR、近场通信NFC等。存储设备616可以包括非暂时性的机器可读介质622,其上存储有体现本文描述的技术或功能中的任意一个或多个或由本文描述的技术或功能中的任意一个或多个使用的数据结构或指令624例如,软件的一个或多个集合。其由机器600执行期间,指令624还可以完全或至少部分地驻留在主存储器604内、在静态存储器606内、或在硬件处理器602内。在示例中,硬件处理器602、主存储器604、静态存储器606、或存储设备616中的一个或任意组合可以构成机器可读介质。虽然机器可读介质622被示出为单个介质,但术语“机器可读介质”可以包括被配置为存储一个或多个指令624的单个介质或多个介质例如,集中式或分布式数据库、或相关联的高速缓存和服务器。术语“机器可读介质”可以包括这样的任何介质:其能够存储、编码、或携带供机器600执行的指令,并且使机器600执行本公开内容的技术中的任意一个或多个,或者能够存储、编码或携带由这样的指令使用或与这样的指令相关联的数据结构。非限制性机器可读介质示例可以包括固态存储器以及光学和磁性介质。机器可读介质的具体示例可以包括:非易失性存储器,例如,半导体存储器设备例如,电可编程只读存储器EPROM、电可擦除可编程只读存储器EEPROM和闪速存储器;磁盘,例如,内部硬盘和可移除磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。指令624还可以经由使用多种传输协议例如,帧中继、互联网协议IP、传输控制协议TCP、用户数据报协议UDP、超文本传输协议HTTP等中的任一种的网络接口设备620使用传输介质在通信网络626上被发送或接收。示例通信网络可以包括局域网LAN、广域网WAN、分组数据网络例如,互联网、移动电话网络例如,蜂窝网络、普通老式电话POTS网络以及无线数据网络例如,被称为的电气和电子工程师协会IEEE802.11系列标准、被称为的IEEE802.16系列标准、IEEE802.15.4系列标准、对等P2P网络等。在示例中,网络接口设备620可以包括一个或多个物理插孔例如,以太网、同轴、或电话插孔或一个或多个天线,以连接到通信网络626。在示例中,网络接口设备620可以包括多个天线,以使用单输入多输出SIMO、多输入多输出MIMO、或多输入单输出MISO技术中的至少一种来无线地通信。术语“传输介质”应当被认为包括能够存储、编码或携带由机器600执行的指令的任何无形介质,并且包括数字或模拟通信信号或用于促进传送这样的软件的其他无形介质。各种注释和示例这些非限制性示例中的每一个可以独自存在,或者可以与其他示例中的一个或多个以各种排列或组合来进行组合。示例1是一种用于在恶意软件检测系统上防止攻击的方法,该方法包括:在机器学习系统的训练期间使用传入的二进制文件对有向图的时间序列进行建模以检测恶意软件攻击;在时间序列的时间窗口期间,基于有向图的时间序列中的有向图来检测异常;以及提供关于异常已经损坏机器学习系统的警报。在示例2中,示例1的主题包括,其中,有向图的顶点是与传入的二进制文件相对应的函数,并且有向图的边是由边连接的相应顶点的函数之间的调用关系。在示例3中,示例1-2的主题包括,其中,有向图与时间窗口相对应。在示例4中,示例1-3的主题包括,其中,有向图与在时间窗口之前出现的先前时间窗口相对应。在示例5中,示例1-4的主题包括,其中,检测异常包括:针对有向图的多个子图导出扫描统计信息,多个子图包括距离有向图中的特定顶点数个连接边的相应顶点;以及检测扫描统计信息在时间窗口内的变化点,变化点表示异常并且与扫描统计信息中在阈值以上的扫描统计信息的值相对应。在示例6中,示例5的主题包括,其中,扫描统计信息包括在时间窗口上对多个子图中的子图的连接边的数量的最大值的计数,并且其中,远离子图的特定顶点的数个连接边包括特定顶点的一组k最近邻顶点。在示例7中,示例5-6的主题包括,其中,扫描统计信息包括在先前时间窗口上对多个子图中的子图的连接边的数量的最大值的计数。在示例8中,示例5-7的主题包括,其中,扫描统计信息包括在时间窗口上导出的局部性统计信息和在先前时间窗口上导出的扫描统计信息的加权几何平均数。在示例9中,示例5-8的主题包括,其中,导出扫描统计信息包括对扫描统计信息执行时间归一化以在时间窗口上平滑扫描统计信息。在示例10中,示例1-9的主题包括,其中,有向图是调用图。在示例11中,示例1-10的主题包括,防止二进制文件中的至少一个到达机器学习系统。在示例12中,示例1-11的主题包括,阻止二进制文件中的至少一个的源的IP地址。在示例13中,示例1-12的主题包括,使机器学习系统执行回滚到第一次检测到的异常之前的先前状态。示例14是至少一种机器可读介质,其包括用于计算系统的操作的指令,该指令当由机器执行时使机器执行示例1-13的方法中的任一个的操作。示例15是一种装置,其包括用于执行示例1-13的方法中的任一个的单元。示例16是一种用于防止毒性攻击的恶意软件检测系统,该恶意软件检测系统包括异常检测系统,其用于:在机器学习系统的训练期间使用传入的二进制文件对有向图的时间序列进行建模以检测恶意软件攻击;在时间序列的时间窗口期间,基于有向图的时间序列中的有向图来检测异常;以及提供关于异常已经损坏机器学习系统的警报。在示例17中,示例16的主题包括,其中,有向图的顶点是与传入的二进制文件相对应的函数,并且有向图的边是由边连接的相应顶点的函数之间的调用关系。在示例18中,示例16-17的主题包括,其中,有向图与时间窗口相对应。在示例19中,示例16-18的主题包括,其中,有向图与在时间窗口之前出现的先前时间窗口相对应。在示例20中,示例16-19的主题包括,其中,为了检测异常,异常检测系统进行以下操作:针对有向图的多个子图导出扫描统计信息,多个子图包括距离有向图中的特定顶点数个连接边的相应顶点;以及检测扫描统计信息在时间窗口内的变化点,变化点表示异常并且与扫描统计信息中在阈值以上的扫描统计信息的值相对应。在示例21中,示例20的主题包括,其中,扫描统计信息包括在时间窗口上对多个子图中的子图的连接边的数量的最大值的计数,并且其中,远离子图的特定顶点的数个连接边包括特定顶点的一组k最近邻顶点。在示例22中,示例20-21的主题包括,其中,扫描统计信息包括在先前时间窗口上对多个子图中的子图的连接边的数量的最大值的计数。在示例23中,示例20-22的主题包括,其中,扫描统计信息包括在时间窗口上导出的局部性统计信息和在先前时间窗口上导出的扫描统计信息的加权几何平均数。在示例24中,示例20-23的主题包括,其中,为了导出扫描统计信息,异常检测系统对扫描统计信息执行时间归一化以在时间窗口上平滑扫描统计信息。在示例25中,示例16-24的主题包括,其中,有向图是调用图。在示例26中,示例16-25的主题包括,其中,异常检测系统还用于防止二进制文件中的至少一个到达机器学习系统。在示例27中,示例16-26的主题包括,其中,异常检测系统还用于阻止二进制文件中的至少一个的源的IP地址。在示例28中,示例16-27的主题包括,其中,异常检测系统还使机器学习系统执行回滚到第一次检测到的异常之前的先前状态。示例29是至少一种机器可读介质,其包括用于在恶意软件检测系统上防止攻击的指令,该指令当由机器执行时使机器执行以下操作:在机器学习系统的训练期间使用传入的二进制文件对有向图的时间序列进行建模以检测恶意软件攻击;在时间序列的时间窗口期间基于有向图的时间序列中的有向图来检测异常;以及提供关于异常已经损坏机器学习系统的警报。在示例30中,示例29的主题包括,其中,有向图的顶点是与传入的二进制文件相对应的函数,并且有向图的边是由边连接的相应顶点的函数之间的调用关系。在示例31中,示例29-30的主题包括,其中,有向图与时间窗口相对应。在示例32中,示例29-31的主题包括,其中,有向图与在时间窗口之前出现的先前时间窗口相对应。在示例33中,示例29-32的主题包括,其中,检测异常包括:针对有向图的多个子图导出扫描统计信息,多个子图包括距离有向图中的特定顶点多个连接边的相应顶点;以及检测扫描统计信息在时间窗口内的变化点,变化点表示异常并且与扫描统计信息中在阈值以上的扫描统计信息的值相对应。在示例34中,示例33的主题包括,其中,扫描统计信息包括在时间窗口上对多个子图中的子图的连接边的数量的最大值的计数,并且其中,远离子图的特定顶点的数个连接边包括特定顶点的一组k最近邻顶点。在示例35中,示例33-34的主题包括,其中,扫描统计信息包括在先前时间窗口上对多个子图中的子图的连接边的数量的最大值的计数。在示例36中,示例33-35的主题包括,其中,扫描统计信息包括在时间窗口上导出的局部性统计信息和在先前时间窗口上导出的扫描统计信息的加权几何平均数。在示例37中,示例33-36的主题包括,其中,导出扫描统计信息包括对扫描统计信息执行时间归一化以在时间窗口上平滑扫描统计信息。在示例38中,示例29-37的主题包括,其中,有向图是调用图。在示例39中,示例29-38的主题包括,用于防止二进制文件中的至少一个到达机器学习系统的指令。在示例40中,示例29-39的主题包括,用于阻止二进制文件中的至少一个的源的IP地址的指令。在示例41中,示例29-40的主题包括,用于使机器学习系统执行回滚到第一次检测到的异常之前的先前状态的指令。示例42是一种用于在恶意软件检测系统上防止攻击的装置,该装置包括:用于在机器学习系统的训练期间使用传入的二进制文件对有向图的时间序列进行建模以检测恶意软件攻击的单元;用于在时间序列的时间窗口期间基于有向图的时间序列中的有向图来检测异常的单元;以及用于提供关于异常已经损坏机器学习系统的警报的单元。在示例43中,示例42的主题包括,其中,有向图的顶点是与传入的二进制文件相对应的函数,并且有向图的边是由边连接的相应顶点的函数之间的调用关系。在示例44中,示例42-43的主题包括,其中,有向图与时间窗口相对应。在示例45中,示例42-44的主题包括,其中,有向图与在时间窗口之前出现的先前时间窗口相对应。在示例46中,示例42-45的主题包括,其中,用于检测异常的单元包括:用于针对有向图的多个子图导出扫描统计信息的单元,多个子图包括距离有向图中的特定顶点数个连接边的相应顶点;以及用于检测扫描统计信息在时间窗口内的变化点的单元,变化点表示异常并且与扫描统计信息中在阈值以上的扫描统计信息的值相对应。在示例47中,示例46的主题包括,其中,扫描统计信息包括在时间窗口上对多个子图中的子图的连接边的数量的最大值的计数,并且其中,远离子图的特定顶点的数个连接边包括特定顶点的一组k最近邻顶点。在示例48中,示例46-47的主题包括,其中,扫描统计信息包括在先前时间窗口上对多个子图中的子图的连接边的数量的最大值的计数。在示例49中,示例46-48的主题包括,其中,扫描统计信息包括在时间窗口上导出的局部性统计信息数和在先前时间窗口上导出的扫描统计信息的加权几何平均数。在示例50中,示例46-49的主题包括,其中,用于导出扫描统计信息的单元包括用于对扫描统计信息执行时间归一化以在时间窗口上平滑扫描统计信息的单元。在示例51中,示例42-50的主题包括,其中,有向图是调用图。在示例52中,示例42-51的主题包括,用于防止二进制文件中的至少一个到达机器学习系统的单元。在示例53中,示例42-52的主题包括,用于阻止二进制文件中的至少一个的源的IP地址的单元。在示例54中,示例42-53的主题包括,用于使机器学习系统执行回滚到第一次检测到的异常之前的先前状态的单元。示例55是至少一种机器可读介质,其包括指令,该指令当由处理电路执行时使处理电路执行实现示例1-54中的任一个的操作。示例56是包括用于实现示例1-54中的任一个的单元的装置。示例57是用于实现示例1-54中的任一个的系统。示例58是用于实现示例1-54中的任一个的方法。示例55是至少一种机器可读介质,其包括指令,该指令当由机器执行时使机器执行示例1-54的操作中的任一个的操作。示例56是包括用于执行示例1-54的操作中的任一个的单元的装置。示例57是用于执行示例1-54中的任一个的操作的系统。示例58是用于执行示例1-54中的任一个的操作的方法。本文描述的方法示例可以至少部分地是机器或计算机实现的。一些示例可以包括用指令编码的计算机可读介质或机器可读介质,该指令可操作以将电子设备配置为执行如以上示例中描述的方法。这样的方法的实现方式可以包括代码,例如微代码、汇编语言代码、较高级别的语言代码等。这样的代码可以包括用于执行各种方法的计算机可读指令。代码可以形成计算机程序产品的部分。此外,在示例中,代码可以有形地存储在一种或多种易失性、非暂时性、或非易失性有形计算机可读介质上,例如在执行期间或在其他时间。这些有形计算机可读介质的示例可以包括但不限于:硬盘、可移除磁盘、可移除光盘例如,压缩盘和数字视频盘、磁带盒、存储器卡或棒、随机存取存储器RAM、只读存储器ROM等。
权利要求:1.一种用于防止毒性攻击的恶意软件检测系统,所述恶意软件检测系统包括:异常检测系统,其用于:在机器学习系统的训练期间使用传入的二进制文件对有向图的时间序列进行建模,以检测恶意软件攻击;在所述时间序列的时间窗口期间,基于所述有向图的时间序列中的有向图来检测异常;以及提供关于所述异常已经损坏所述机器学习系统的警报。2.根据权利要求1所述的恶意软件检测系统,其中,所述有向图的顶点是与所述传入的二进制文件相对应的函数,并且所述有向图的边是由所述边连接的相应顶点的函数之间的调用关系。3.根据权利要求1所述的恶意软件检测系统,其中,所述有向图与所述时间窗口相对应。4.根据权利要求1所述的恶意软件检测系统,其中,所述有向图与在所述时间窗口之前出现的先前时间窗口相对应。5.根据权利要求1所述的恶意软件检测系统,其中,为了检测所述异常,所述异常检测系统进行以下操作:针对所述有向图的多个子图导出扫描统计信息,所述多个子图包括距离所述有向图中的特定顶点数个连接边的相应顶点;以及检测所述扫描统计信息在所述时间窗口内的变化点,所述变化点表示所述异常并且与所述扫描统计信息中在阈值以上的扫描统计信息的值相对应。6.根据权利要求5所述的恶意软件检测系统,其中,所述扫描统计信息包括在所述时间窗口上对所述多个子图中的子图的所述连接边的数量的最大值的计数,并且其中,远离所述子图的特定顶点的所述数个连接边包括所述特定顶点的一组k最近邻顶点。7.根据权利要求5所述的恶意软件检测系统,其中,所述扫描统计信息包括在先前时间窗口上对所述多个子图中的子图的所述连接边的数量的最大值的计数。8.根据权利要求5所述的恶意软件检测系统,其中,所述扫描统计信息包括在所述时间窗口上导出的局部性统计信息和在先前时间窗口上导出的扫描统计信息的加权几何平均数。9.根据权利要求5所述的恶意软件检测系统,其中,为了导出所述扫描统计信息,所述异常检测系统对所述扫描统计信息执行时间归一化,以在所述时间窗口上平滑所述扫描统计信息。10.根据权利要求1所述的恶意软件检测系统,其中,所述有向图是调用图。11.一种用于在恶意软件检测系统上防止攻击的方法,所述方法包括:在机器学习系统的训练期间使用传入的二进制文件对有向图的时间序列进行建模,以检测恶意软件攻击;在所述时间序列的时间窗口期间,基于所述有向图的时间序列中的有向图来检测异常;以及提供关于所述异常已经损坏所述机器学习系统的警报。12.根据权利要求11所述的方法,其中,所述有向图的顶点是与所述传入的二进制文件相对应的函数,并且所述有向图的边是由所述边连接的相应顶点的函数之间的调用关系。13.根据权利要求11所述的方法,其中,所述有向图与所述时间窗口相对应。14.根据权利要求11所述的方法,其中,所述有向图与在所述时间窗口之前出现的先前时间窗口相对应。15.根据权利要求11所述的方法,其中,检测所述异常包括:针对所述有向图的多个子图导出扫描统计信息,所述多个子图包括距离所述有向图中的特定顶点数个连接边的相应顶点;以及检测所述扫描统计信息在所述时间窗口内的变化点,所述变化点表示所述异常并且与所述扫描统计信息中在阈值以上的扫描统计信息的值相对应。16.根据权利要求15所述的方法,其中,所述扫描统计信息包括在所述时间窗口上对所述多个子图中的子图的所述连接边的数量的最大值的计数,并且其中,远离所述子图的特定顶点的所述数个连接边包括所述特定顶点的一组k最近邻顶点。17.根据权利要求15所述的方法,其中,所述扫描统计信息包括在先前时间窗口上对所述多个子图中的子图的所述连接边的数量的最大值的计数。18.根据权利要求15所述的方法,其中,所述扫描统计信息包括在所述时间窗口上导出的局部性统计信息和在先前时间窗口上导出的扫描统计信息的加权几何平均数。19.根据权利要求15所述的方法,其中,导出所述扫描统计信息包括对所述扫描统计信息执行时间归一化以在所述时间窗口上平滑所述扫描统计信息。20.根据权利要求11所述的方法,其中,所述有向图是调用图。21.根据权利要求11所述的方法,还包括防止所述二进制文件中的至少一个到达所述机器学习系统。22.根据权利要求11所述的方法,还包括阻止所述二进制文件中的至少一个的源的IP地址。23.根据权利要求11所述的方法,还包括使所述机器学习系统执行回滚到第一次检测到的异常之前的先前状态。24.至少一种机器可读介质,其包括用于计算系统的操作的指令,所述指令当由机器执行时使所述机器执行根据权利要求11-23所述的方法中的任一个的操作。25.一种用于在恶意软件检测系统上防止攻击的装置,所述装置包括:用于在机器学习系统的训练期间使用传入的二进制文件对有向图的时间序列进行建模以检测恶意软件攻击的单元;用于在所述时间序列的时间窗口期间基于所述有向图的时间序列中的有向图来检测异常的单元;以及用于提供关于所述异常已经损坏所述机器学习系统的警报的单元。
百度查询: 英特尔公司 恶意软件检测系统攻击防止
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。