以量化步长使用机器学习模型用于恶意软件检测制造技术

技术编号:26045228 阅读:63 留言:0更新日期:2020-10-23 21:25
通过以量化步长将机器学习模型应用于可执行文件,可以在不牺牲准确性的情况下最小化恶意可执行文件的设备上检测的延迟。允许将阈值置信度水平设置为不同的值,可以在生成指示可执行文件是否包括恶意软件的置信度水平时控制准确性和延迟之间的折衷。

【技术实现步骤摘要】
【国外来华专利技术】以量化步长使用机器学习模型用于恶意软件检测
本公开总体上涉及计算系统安全性,并且更具体地,涉及在设备上的恶意软件检测期间以量化步长使用机器学习模型。
技术介绍
随着时间的流逝,智能手机变得越来越强大,并且其用途也在增加。但是,由于这种用途的增加,智能手机已成为恶意软件的更有吸引力的目标。Malware是“恶意软件(malicioussoftware)”的缩写,是可用于在用户不知情或未经用户同意的情况下破坏设备操作、毁坏数据、收集敏感信息或访问私人计算机系统的软件。此类恶意软件的示例包括软件病毒、特洛伊木马、根程序病毒包(rootkits)、勒索软件等。正确识别哪些文件或应用包括恶意软件以及哪些文件或应用是良性的可能是一项艰巨的任务,因为恶意软件开发人员通常会混淆恶意软件的各种属性,以试图避免被反恶意软件检测到。机器学习模型通过执行软件包来训练,并将所得的观察结果输入到机器学习模型中。但是,软件包可以执行很长时间(例如,大约几分钟),因此在执行期间会生成许多观察。常规技术使用来自特定时间段或发生一定数量的事件(例如60秒,1000个事件等)期间的数据来构建机器学习模型。使用这种传统技术构建的模型需要等待,直到被评估的软件包达到相同的时间/事件点。这样的技术是准确的,但是在达到特定的时间点或事件之前,不能对软件包进行评估,从而导致软件包中恶意软件的识别出现不希望的延迟。而且,使用以这种常规方式构建的机器学习模型来测试短事件序列的事件(例如5秒,50个事件等)会导致不期望的假阴性和假阳性。专利技术内容系统和方法使(i)通过执行一个或多个训练文件来生成第一组事件,其中,所述第一组事件与域相关联,并且其中所述第一组事件的每个事件均基于在所述训练文件的执行期间生成的事件的顺序、与所述域的相应步长点相关联,(ii)创建多个步长模型,其中针对与所述域的特定步长点相关联的第一组事件的事件训练每个步长模型,(iii)通过在设备上执行第二文件来生成第二组事件,其中所述第二组事件与所述域相关联,并且其中所述第二组事件的每个事件均基于在所述第二文件的执行期间生成的事件的顺序、与所述域的相应步长点相关联,以及(iv)在设备上将所述多个步长模型中的至少两个步长模型应用于第二组事件,以生成指示所述第二文件是否包括恶意软件的置信度水平,其中,每个所应用的步长模型都应用于与训练了所述步长模型的步长点相关联的第二组事件的事件。附图说明为了更好地理解本专利技术的主题,可以参考附图,其中:图1是示出根据本专利技术的一个实施例的、用于创建以量化步长使用机器学习模型以进行恶意软件检测的系统的组件的框图;图2是示出根据本专利技术的一个实施例的、针对第一组置信度阈值设置的真阳性率和假阳性率的示例曲线图;图3是示出根据本专利技术的一个实施例的、针对比用于图2所示的图的第一组置信度阈值设置的更具侵略性的、第二组置信度阈值设置的真实阳性率和假阳性率的示例曲线图;图4是示出根据本专利技术的一个实施例的、针对第一组时间阈值设置的真阳性率和假阳性率的示例曲线图;图5是示出根据本专利技术的一个实施例的、针对比图4中示出的第一组更具侵略性的、第二置信度阈值设置的真阳性率和假阳性率的示例曲线图;图6是示出根据本专利技术的一个实施例的、针对第一组置信度阈值设置的事件序列的连续评估期间的真阳性率和假阳性率的示例曲线图,第一组置信度阈值设置可以使用随时间降低置信度阈值的函数来确定;图7是示出根据本专利技术的一个实施例的、针对第二组置信度阈值设置的事件序列进行连续评估期间的真阳性率和假阳性率的示例图,第二组置信度阈值设置保持相对恒定;图8是示出根据本专利技术的一个实施例的、用于以量化步长使用机器学习模型连续评估事件流的方法的操作的流程图;以及图9是可以在其上执行本专利技术主题的实施例的计算机系统的示例实施例的框图。具体实施方式示例实施例的以下详细描述中,参考附图,该附图形成本专利技术的示例实施例的一部分,并且其中通过图示的方式示出了可以实践本专利技术主题的特定示例实施例。对这些实施例进行足够详细的描述,以使本领域技术人员能够实践本专利技术的主题,并且应该理解,可以利用其他实施例,并且可以在不脱离本专利技术主题的范围的情况下进行逻辑、机械、电气和其他改变。以下详细描述的一些部分是根据对计算机存储器内的数据位的操作的算法和符号表示来呈现的。这些算法描述和表示是数据处理领域的技术人员用来最有效地将他们工作的实质传达给本领域其他技术人员的方式。这里的算法通常被认为是导致期望结果的自相一致的步骤序列。这些步骤是需要物理操纵物理量的步骤。通常,尽管不是必须的,这些量采用能够被存储、传输、组合、比较和以其他方式操纵的电信号或磁信号的形式。有时,主要出于通用的原因,已经证明将这些信号称为比特、值、元素、符号、字符、术语、数字等是方便的。然而,应该记住,所有这些和类似术语都与适当的物理量相关联,并且仅仅是应用于这些量的方便标签。除非另有明确说明,否则从以下讨论中可明显看出,诸如“处理”或“计算”或“运算”或“确定”或“显示”等术语是指计算机系统或类似计算设备的动作和过程,其将表示为计算机系统的寄存器和存储器内的物理(例如,电子)量的数据操纵和变换为类似地表示为计算机系统存储器或寄存器或其他此类信息存储、传输或显示设备内的物理量的其他数据。各种实施例的描述仅被解释为描述示例,并未描述本专利技术主题的每个可能实例。使用当前或未来技术的组合可以实现许多替换方案,这仍然属于权利要求的范围。因此,以下详细描述不应被视为具有限制意义,并且本专利技术主题的范围仅由所附权利要求限定。图1是示出用于创建以量化步长使用机器学习模型以进行恶意软件检测的系统100的组件的框图。在一些在实施例中,系统100包括机器学习引擎108,该机器学习引擎108创建用于在设备102进行恶意软件检测中使用的模型114。机器学习引擎可以接收在执行Android套件(AndroidPackageKit,APK)112期间发生的事件。在一些实施例中,APK的训练集可以由设备仿真器110执行。在替代实施例中,APK可以由本机设备执行。实施例不限于任何特定类型的软件文件。本领域的技术人员将理解,例如,可以从其他软件包和/或可执行文件的执行中接收事件,诸如便携式可执行(PE)文件、通用Windows平台(UWP)应用(例如,APPX文件格式等)、Debian包、iOSApp存储包文件等。当训练集中的APK执行时,机器学习引擎108会观察到与正在执行的APK相关的一系列事件116。在一些实施例中,事件116的系列可以被称为时间序列,因为事件116是按照它们发生的顺序索引或排列的一系列数据点。在一些实施例中,事件可以是在应用和服务之间发生的进程间通信事件。例如,事件可以是Android活页夹(binder)事件或iOSXPC事件。在替代实施例中,事件可以是系统调用和/或Android框架调用。实施例不限于任何特定类型的事件。该系列事件可以与时域和/或事件域相关联。可以为本文档来自技高网...

【技术保护点】
1.一种方法,包括:/n通过执行一个或多个训练文件来生成第一组事件,其中,所述第一组事件与域相关联,并且其中所述第一组事件的每个事件均基于在所述训练文件的执行期间生成的事件的顺序、与所述域的相应步长点相关联;/n创建多个步长模型,其中针对与所述域的特定步长点相关联的所述第一组事件的事件训练每个步长模型;/n通过在设备上执行第二文件来生成第二组事件,其中所述第二组事件与所述域相关联,并且其中所述第二组事件的每个事件均基于在所述第二文件的执行期间生成的事件的顺序、与所述域的相应步长点相关联;以及/n在所述设备上将所述多个步长模型中的至少两个步长模型应用于所述第二组事件,以生成指示所述第二文件是否包括恶意软件的置信度水平,其中,每个所应用的步长模型都应用于与训练了所述步长模型的步长点相关联的所述第二组事件的事件。/n

【技术特征摘要】
【国外来华专利技术】20171117 US 62/588,1931.一种方法,包括:
通过执行一个或多个训练文件来生成第一组事件,其中,所述第一组事件与域相关联,并且其中所述第一组事件的每个事件均基于在所述训练文件的执行期间生成的事件的顺序、与所述域的相应步长点相关联;
创建多个步长模型,其中针对与所述域的特定步长点相关联的所述第一组事件的事件训练每个步长模型;
通过在设备上执行第二文件来生成第二组事件,其中所述第二组事件与所述域相关联,并且其中所述第二组事件的每个事件均基于在所述第二文件的执行期间生成的事件的顺序、与所述域的相应步长点相关联;以及
在所述设备上将所述多个步长模型中的至少两个步长模型应用于所述第二组事件,以生成指示所述第二文件是否包括恶意软件的置信度水平,其中,每个所应用的步长模型都应用于与训练了所述步长模型的步长点相关联的所述第二组事件的事件。


2.根据权利要求1所述的方法,还包括将阈值置信度水平设置为第一值或第二值,其中将所述阈值置信度水平设置为所述第一值减少了延迟并且降低了所述生成指示所述第二文件是否包括恶意软件的置信度水平的准确性,并且其中将所述阈值置信度水平设置为所述第二值增加了延迟并且提高了所述生成指示所述第二文件是否包括恶意软件的置信度水平的准确性。


3.根据权利要求2所述的方法,其中,所述生成指示所述第二文件是否包括恶意软件的置信度水平的准确性包括真阳性和假阳性。


4.根据权利要求2所述的方法,其中,响应于所述置信度水平大于或等于所述阈值置信度水平,停止所述第二文件的执行,并且其中,响应于所述置信度水平小于所述阈值置信度水平,继续所述第二文件的执行。


5.根据权利要求1所述的方法,其中,当与所述事件相关联的所述步长点与针对其训练了所述步长模型的所述步长点匹配时,将每个所应用的步长模型应用于所述第二组事件的事件。


6.根据权利要求1所述的方法,其中,当与所述事件相关联的所述步长点在针对其训练了所述步长模型的所述步长点之间时,将每个所应用的步长模型应用于所述第二组事件的事件,从而当与所述事件相关联的所述步长点与针对其训练了所述步长模型的所述步长点匹配时,相对于将每个所应用的步长模型应用于事件,减少了所述生成指示所述第二文件是否包括恶意软件的置信度水平的延迟。


7.根据权利要求1所述的方法,其中,所述域包括时域和事件域中的至少一个。


8.一种系统,包括:
设备仿真器,其被配置为通过执行一个或多个训练文件来生成第一组事件,所述第一组事件与域相关联,并且所述第一组事件的每个事件均基于在所述训练文件的执行期间生成的事件的顺序、与所述域的相应步长点相关联;
机器学习引擎,其被配置为接收所述第一组事件并创建多个步长模型,针对与所述域的特定步长点相关联的第一组事件的事件训练每个步长模型;以及
设备,所述设备包括:
软件环境,其被配置为通过执行第二文件来生成第二组事件,所述第二组事件与所述域相关联,并且所述第二组事件的每个事件均基于在所述第二文件的执行期间生成的事件的顺序、与所述域的相应步长点相关联;以及
恶意软件检测器,其被配置为:
接收多个步长模型;
接收所述第二组事件;以及
将所述多个步长模型中的至少两个步长模型应用于所述第二组事件,以生成指示所述第二文件是否包括恶意软件的置信度水平,其中,每个所应用的步长模型都应用于与训练了所述步长模型的步长点相关联的第二组事件的事件。


9.根据权利要求8所述的系统,其中,所述恶意软件检测器还被配置为将阈值置信度水平设置为第一值或第二值,其中将所述阈值置信度水平设置为所述第一值减少了延迟并且降低了所述生成指示所述第二文件是否包括恶意软件的置信度水平的准确性,并且其中将所述阈值置信度水平设置为所述第二值增加了延迟并且提高了所述生成指示所述第二文件是否包括恶意软件的置信...

【专利技术属性】
技术研发人员:P格罗纳特R古普塔F哈夫利切克M沃杰西克
申请(专利权)人:爱维士软件有限责任公司
类型:发明
国别省市:捷克;CZ

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1