用于计算机安全应用程序的级联分类器的制作方法

文档序号:13561388阅读:205来源:国知局
用于计算机安全应用程序的级联分类器的制作方法



背景技术:

本发明涉及用于训练用于计算机安全应用程序(例如恶意软件检测)的自动分类器的系统及方法。

恶意软件(也被称为malware)影响全世界很大数目个计算机系统。在其许多形式(例如,计算机病毒、蠕虫、特洛伊木马(trojanhorse)及根程序病毒包)中,恶意软件给数百万计算机用户带来严重风险,使他们易于遭受数据丢失、身份盗用及生产力损失等。近年来,网络攻击的频率及复杂性已大幅上升。恶意软件几乎影响每个计算机平台及操作系统,且每天均会检测及识别出新的恶意代理。

计算机安全软件可用于保护用户及数据免受这些威胁,举例来说用以检测恶意代理、使其丧失能力及/或警告用户或系统管理员。计算机安全软件通常依赖于自动分类器根据未知对象的一组特性特征来确定相应对象是良性的还是恶意的。这些特征可以是结构性的及/或行为性的。自动分类器可经训练以使用各种机器学习算法来识别恶意软件。

自动分类器的常见问题是检测速率的上升通常伴随着分类错误(错误肯定及/或错误否定)数目的上升。错误肯定(例如,合法对象被错误地识别为恶意的)可能是特别不期望的,这是因为此标记可导致用户的数据丢失或生产力损失。在自动分类器的训练期间遇到的另一困难是处理大训练语料库所需的相当大的计算费用,就计算机安全应用程序来说大训练语料库可由数百万个记录组成。

有相当大的兴趣开发能够快速地处理大量训练数据同时确保最小错误肯定率的新分类器及训练方法。



技术实现要素:

根据一个方面,一种计算机系统包括硬件处理器及存储器。所述硬件处理器经配置以采用经训练分类器级联来确定目标对象是否构成计算机安全威胁。所述分类器级联是在训练记录语料库上进行训练,所述训练语料库被预分类成至少第一记录类别及第二记录类别。训练所述级联包括:训练所述级联的第一分类器以根据预定第一阈值将所述训练语料库划分成第一多个记录群组,使得所述第一多个记录群组中的第一群组的第一份额的记录属于所述第一类别,所述第一份额经挑选以超过所述第一阈值。训练所述级联进一步包括:训练所述级联的第二分类器以根据预定第二阈值将包含所述第一群组的所述训练语料库划分成第二多个记录群组,使得所述第二多个记录群组中的第二群组的第二份额的记录属于所述第二类别,所述第二份额经挑选以超过所述第二阈值。训练所述级联进一步包括:响应于训练所述第一分类器及所述第二分类器,从所述训练语料库移除一组记录以产生经减少训练语料库,所述一组记录选自所述第一群组及所述第二群组。训练所述级联进一步包括:响应于移除所述一组记录,训练所述级联的第三分类器以根据预定第三阈值将所述经减少训练语料库划分成第三多个记录群组,使得所述第三多个记录群组中的第三群组的第三份额的记录属于所述第一类别,所述第三份额经挑选以超过所述第三阈值。训练所述级联进一步包括:响应于移除所述一组记录,训练所述级联的第四分类器以根据预定第四阈值将包含所述第三群组的所述经减少训练语料库划分成第四多个记录群组,使得所述第四多个记录群组中的第四群组的第四份额的记录属于所述第二类别,所述第四份额经挑选以超过所述第四阈值。

根据另一方面,一种计算机系统包括硬件处理器及存储器。所述硬件处理器经配置以训练分类器级联以用于检测计算机安全威胁。所述级联是在训练记录语料库上进行训练,所述训练语料库被预分类成至少第一记录类别及第二记录类别。训练所述级联包括:训练所述级联的第一分类器以根据预定第一阈值将所述训练语料库划分成第一多个记录群组,使得所述第一多个记录群组中的第一群组的第一份额的记录属于所述第一类别,所述第一份额经挑选以超过所述第一阈值。训练所述级联进一步包括:训练所述级联的第二分类器以根据预定第二阈值将包含所述第一群组的所述训练语料库划分成第二多个记录群组,使得所述第二多个记录群组中的第二群组的第二份额的记录属于所述第二类别,所述第二份额经挑选以超过所述第二阈值。训练所述级联进一步包括:响应于训练所述第一分类器及所述第二分类器,从所述训练语料库移除一组记录以产生经减少训练语料库,所述一组记录选自所述第一群组及所述第二群组选出。训练所述级联进一步包括:响应于移除所述一组记录,训练所述级联的第三分类器以根据预定第三阈值将所述经减少训练语料库划分成第三多个记录群组,使得所述第三多个记录群组中的第三群组的第三份额的记录属于所述第一类别,所述第三份额经挑选以超过所述第三阈值。训练所述级联进一步包括:响应于移除所述一组记录,训练所述级联的第四分类器以根据预定第四阈值将包含所述第三群组的所述经减少训练语料库划分成第四多个记录群组,使得所述第四多个记录群组中的第四群组的第四份额的记录属于所述第二类别,所述第四份额经挑选以超过所述第四阈值。

根据另一方面,一种非暂时性计算机可读媒体存储指令,所述指令在由计算机系统的至少一个硬件处理器执行时致使所述计算机系统采用经训练分类器级联以确定目标对象是否构成计算机安全威胁。所述分类器级联是在训练记录语料库上进行训练,所述训练语料库被预分类成至少第一记录类别及第二记录类别。训练所述级联包括:训练所述级联的第一分类器以根据预定第一阈值将所述训练语料库划分成第一多个记录群组,使得所述第一多个记录群组中的第一群组的第一份额的记录属于所述第一类别,所述第一份额经挑选以超过所述第一阈值。训练所述级联进一步包括:训练所述级联的第二分类器以根据预定第二阈值将包含所述第一群组的所述训练语料库划分成第二多个记录群组,使得所述第二多个记录群组中的第二群组的第二份额的记录属于所述第二类别,所述第二份额经挑选以超过所述第二阈值。训练所述级联进一步包括:响应于训练所述第一分类器及所述第二分类器,从所述训练语料库移除一组记录以产生经减少训练语料库,所述一组记录选自所述第一群组及所述第二群组。训练所述级联进一步包括:响应于移除所述一组记录,训练所述级联的第三分类器以根据预定第三阈值将所述经减少训练语料库划分成第三多个记录群组,使得所述第三多个记录群组中的第三群组的第三份额的记录属于所述第一类别,所述第三份额经挑选以超过所述第三阈值。训练所述级联进一步包括:响应于移除所述一组记录,训练所述级联的第四分类器以根据预定第四阈值将包含所述第三群组的所述经减少训练语料库划分成第四多个记录群组,使得所述第四多个记录群组中的第四群组的第四份额的记录属于所述第二类别,所述第四份额经挑选以超过所述第四阈值。

附图说明

在阅读以下实施方式后且在参考图式后将更好地理解本发明的前述方面及优点,在图式中:

图1展示根据本发明的一些实施例的示范性计算机安全系统。

图2图解说明根据本发明的一些实施例的客户端系统的示范性硬件配置。

图3展示根据本发明的一些实施例的分类器训练系统的示范性硬件配置。

图4图解说明根据本发明的一些实施例的在图1的分类器训练系统上执行且经配置以训练分类器级联的训练程序。

图5-a图解说明由根据本发明的一些实施例的级联的第一分类器划分于两个相异区中的特征空间。

图5-b展示特征空间的另一组区,所述区由根据本发明的一些实施例的级联的第二分类器分离。

图5-c图解说明特征空间的又一组区,所述区由根据本发明的一些实施例的级联的第三经训练分类器分离。

图6图解说明由根据本发明的一些实施例的图4的训练程序执行的步骤的示范性顺序。

图7-a展示在实施基于客户端的扫描的本发明实施例中客户端系统与分类器训练系统之间的示范性数据发射。

图7-b图解说明在实施基于云的扫描的本发明实施例中客户端系统、安全服务器与分类器训练系统之间的示范性数据交换。

图8展示在根据本发明的一些实施例的客户端系统上执行的示范性安全应用程序。

图9图解说明根据本发明的一些实施例对未知目标对象的分类。

图10图解说明根据本发明的一些实施例由图8的安全应用程序执行以对未知目标对象进行分类的步骤的示范性顺序。

图11-a展示在其中级联的每一层级包括多个分类器的本发明实施例中在示范性训练语料库上训练分类器级联的第一层级。

图11-b展示训练每层级具有多个分类器的分类器级联的第二层级。

图12展示根据本发明的一些实施例经执行以训练每层级包括多个分类器级联的步骤的示范性顺序。

图13展示在每层级使用多个分类器的本发明实施例中经执行以对未知目标对象进行分类的步骤的示范性顺序。

具体实施方式

在以下说明中,应理解,结构之间的所有所叙述连接可以是直接操作连接或通过中间结构的间接操作连接。一组元素包含一个或多个元素。对元素的任何引用应理解为指代至少一个元素。多个元素包含至少两个元素。除非另有需要,否则任何所描述的方法步骤不需要一定以特定所图解说明次序执行。从第二元素导出的第一元素(例如,数据)涵盖等于所述第二元素的第一元素以及通过处理所述第二元素而产生的第一元素及任选地其它数据。根据参数做出确定或决策涵盖根据所述参数及任选地根据其它数据做出确定或决策。除非另有规定,否则一些数量/数据的指示符可以是数量/数据本身,或者与所述数量/数据本身不同的指示符。当第一数目大于或至少等于第二数目时,第一数目超过第二数目。计算机安全涵盖保护用户及装备免受对数据及/或硬件的非计划中或未经授权的存取、对数据及/或硬件的非计划中或未经授权的修改以及对数据及/或硬件的破坏。计算机程序是执行任务的处理器指令序列。在本发明的一些实施例中所描述的计算机程序可以是独立软件实体或其它计算机程序的子实体(例如,子例程、代码对象)。除非另有规定,否则程序是计算机程序(例如应用程序或操作系统的一部分)的实例且其特征在于具有至少一个执行线程及指派给所述程序的虚拟存储器空间,其中相应虚拟存储器空间的内容包含可执行代码。除非另有规定,否则当分类器将语料库划分成相异的记录群组使得每一群组的所有记录均相同类别标签时,相应分类器完全对记录语料库(其中每一记录携带类别标签)进行分类。计算机可读媒体涵盖非暂时性存储媒体(例如,磁性媒体、光学媒体及半导体媒体(例如,硬盘驱动器、光盘、快闪存储器、dram))以及通信链路(例如,导电电缆及光纤链路)。根据一些实施例,本发明除其它之外还提供计算机系统,所述计算机系统包括经编程以执行本文中所描述的方法的硬件以及对指令进行编码以执行本文中所描述的方法的计算机可读媒体。

以下说明通过实例方式且未必通过限制方式图解说明本发明的实施例。

图1展示根据本发明的一些实施例的示范性计算机安全系统10。计算机安全系统10包括分类器训练系统20、一组客户端系统30a到30b及安全服务器14,所有构件经由网络12互连。网络12可包含局域网(lan),例如企业网络;以及广域网,例如因特网。在一些实施例中,客户端系统30a到30b可表示终端用户计算机,各自具有处理器、存储器及存储装置且运行操作系统,例如或linux等。其它示范性客户端系统30a到30b包含移动计算装置(例如,膝上型计算机、平板个人计算机)、电信装置(例如,智能电话)、数字娱乐设备(tv、游戏机等)、随身计算装置(例如,智能手表)或具有处理器及存储器且能够连接到网络12的任何其它电子装置。客户端系统30a到30b可表示个别客户,或数个客户端系统可属于同一客户。

系统10可保护客户端系统30a到30b以及客户端系统30a到30b的用户免受各种计算机安全威胁,例如恶意的软件(恶意软件)、来路不明的通信(垃圾邮件)及电子欺诈(例如,网络钓鱼、尼日利亚(nigerian)欺诈等)等。客户端系统30a到30b可使用在分类器训练系统20上训练的分类器级联来检测这些计算机安全威胁,如下文所详细地展示。

在一个用例情境中,客户端系统可表示电子邮件服务器,在此情形中本发明的一些实施例可使相应电子邮件服务器能够检测附加到电子通信的垃圾邮件及/或恶意软件且采取保护性举措,举例来说在将相应消息递送给计划收件人之前移除或隔离恶意项。在另一用例情境中,每一客户端系统30a到30b可包含经配置以扫描相应客户端系统以便检测恶意软件的安全应用程序。在又一用例情境中,针对欺诈检测,每一客户端系统30a到30b可包含经配置以检测用户存取远程资源(例如,网站)的意图的安全应用程序。安全应用程序可将资源的指示符(例如url)发送到安全服务器14,且接收指示资源是否是欺诈性的标签。在这些实施例中,安全服务器14可使用从分类器训练系统20接收到的分类器级联来确定相应标签,如下文所详细地展示。

图2图解说明客户端系统30(例如图1中的客户端系统30a到30b)的示范性硬件配置。虽然所图解说明的客户端系统30是计算机系统,但所属领域的技术人员将明白,本说明可适于其它客户端系统,例如平板个人计算机、移动电话等。客户端系统30包括一组物理装置,所述物理装置包含硬件处理器24、存储器单元26、一组输入装置28、一组输出装置32、一组存储装置34及一组网络适配器36,所有装置通过控制器集线器38连接。

在一些实施例中,处理器24包括经配置以借助一组信号及/或数据执行计算及/或逻辑运算的物理装置(例如,微处理器、形成于半导体衬底上的多核心集成电路)。在一些实施例中,将这些逻辑运算以处理器指令序列(例如,机器代码或其它类型的软件)的形式从存储器单元26发射到处理器24。存储器单元26可包括存储由处理器24在执行指令的进程中存取或产生的数据/信号的易失性计算机可读媒体(例如ram)。输入装置28可包含计算机键盘、鼠标及麦克风等,包含允许用户将数据及/或指令引入到系统30中的相应硬件接口及/或适配器。输出装置32可包含例如监视器及扬声器等显示装置以及例如图形卡等硬件接口/适配器,从而允许客户端系统30将数据传递给用户。在一些实施例中,输入装置28及输出装置32可共享一件共同硬件,如在触摸屏装置的情形中。存储装置34包含实现处理器指令及/或数据的非易失性存储、读取及写入的计算机可读媒体。示范性存储装置34包含磁盘及光盘及快闪存储器装置,以及可拆卸媒体(例如,cd及/或dvd磁盘及驱动器)。所述一组网络适配器36使得客户端系统30能够连接到网络12及/或其它装置/计算机系统。控制器集线器38通常表示多个系统、外围装置及/或芯片组总线及/或实现处理器24与装置26、28、32、34及36之间的通信的所有其它电路。举例来说,控制器集线器38可包括将处理器24连接到存储器26的北桥及/或将处理器24连接到装置28、32、34及36的南桥。

图3展示根据本发明的一些实施例的分类器训练系统20的示范性硬件配置。训练系统20通常表示一组计算机系统;为清晰起见,图3表示仅一个机器。可经由网络12互连多个此类机器(例如,在服务器群中)。在一些实施例中,训练系统20包含训练程序处理器124、训练程序存储器单元126、一组训练程序存储装置134及一组训练程序网络适配器136,所有装置通过训练程序控制器集线器138连接。尽管在训练系统20与客户端系统30之间硬件配置的一些细节可能不同,但装置124、126、134、136及138的操作可分别类似于上文所描述的装置24、26、34、36及38的操作。举例来说,训练程序处理器124可包含硬件微处理器,所述硬件微处理器经配置以借助从训练程序存储器单元126接收到的信号/数据执行逻辑及/或数学运算且将这些运算的结果写入到单元126。

图4图解说明根据本发明的一些实施例在训练系统20上执行且经配置以训练分类器级联的训练程序42。所述级联包括经配置以按照具体次序使用的多个分类器c1、c2、...cn。在一些实施例中,级联的每一分类器在数个群组的相异对象之间做出区分,举例来说,在纯净对象与恶意软件之间、在合法电子邮件与垃圾邮件之间或在不同类别的恶意软件之间。这些分类器可包含此项技术中众所周知的各种自动分类器(例如,朴素贝叶斯(bayes)分类器、人工神经网络(ann)、支持向量机(svm)、k最近邻域分类器(knn)、聚类分析分类器(例如,使用k均值算法)、多变量自适应回归样条法(mars)分类器及决策树分类器等)的更改本。

更改此标准分类器以用于本发明的实施例中可包含(举例来说)修改训练算法中所使用的成本函数或罚函数,以便促进其中群组中的大多数记录属于同一类别(参见下文的进一步论述)的配置。对感知器的示范性修改产生单侧感知器,此将记录语料库分离成两个群组使得群组内的所有记录具有相同的类别标签。

可根据训练数据的特殊性(举例来说,数据是否具有相当大噪声、数据是否线性可分等)或根据应用领域(例如,恶意软件检测、欺诈检测、垃圾邮件检测等)进行分类器类型的挑选。并非级联的所有分类器均需要是同一类型。

训练分类器级联是根据下文详述的执行准则及方法进行。在一些实施例中,训练程序42的输出(图4)包含多个分类器参数集合46a到46c,每一此类参数集合用于将级联的分类器c1、c2、...cn具现化。在人工神经网络分类器(例如,感知器)的一个实例中,参数46a到46c可包含层计数及一组突触权重。在支持向量机(svm)的情形中,参数46a到46c可包含内核函数挑选的指示符及/或分离特征空间中的两个相异对象群组的超曲面的一组系数。在聚类分析分类器的情形中,参数46a到46c可包含一组群集中心的坐标及一组群集直径。在一些实施例中,每一参数集合46a到46c包含分类器类型的指示符。

训练分类器级联包括处理训练语料库40(图4)。在一些实施例中,语料库40包括大量记录(例如数百万个记录)。取决于本发明的应用领域,每一此记录可表示软件对象(例如,文件或计算机进程)、电子消息、url等。训练语料库40被预分类成数个类别,举例来说,纯净的与恶意的或者垃圾邮件与合法的。此预分类可包含(举例来说)语料库40的每一记录携带指示相应记录所属类别的标签,所述标签是在训练分类器级联之前被确定。

在一些实施例中,训练语料库40的每一记录表示为特征向量,即作为特征超空间中的一组坐标,其中每一坐标表示相应记录的具体特征的值。这些特征可取决于本发明的应用领域,且可包含数值及/或布林(boolean)特征。示范性记录特征包含静态属性及行为属性。举例来说,在恶意软件检测的情形中,记录的示范性静态属性可包含:文件名、文件大小、存储器地址、记录是否被打包的指示符、用于打包相应记录的打包程序的识别符、记录类型(例如,可执行文件、动态链接库等)的指示符、用于编译记录的编译程序(例如,c++、.net、visualbasic)的指示符、由记录加载的库的计数及记录的熵度量值等。行为属性可指示对象(例如,进程)在执行期间是否执行特定行为。示范性行为属性包含:相应对象是否写入到磁盘的指示符、相应对象是否试图连接到因特网的指示符、相应对象是否试图从远程位置下载数据的指示符及相应对象是否在执行期间将代码注入到其它对象中的指示符等。在欺诈检测的情形中,示范性记录特征包含网页是否包括特定欺诈指示关键词的指示符及网页是否暴露http表单的指示符等。在垃圾邮件检测的情形中,示范性记录特征可包含特定垃圾邮件指示关键词的存在、消息是否包括超链接的指示符及相应消息是否含有任何附件的指示符。其它示范性记录特征包含指示垃圾邮件的特定消息格式化特征。

图5-a、5-b、5-c图解说明训练根据本发明的一些实施例的级联的一组示范性分类器。举例来说,图5-a、5-b、5-c可展示训练分类器级联的连续阶段,如下文所进一步展示。不失一般性,所图解说明的记录语料库包括两个类别(举例来说,圆圈可表示恶意对象,而叉号可表示良性对象)。每一记录表示为由特征f1及f2所跨的二维特征空间中的特征向量。所属领域的技术人员将明白,所描述的系统及方法可扩展到具有多于两个记录类别的语料库及/或扩展到更高维度的特征空间。

在本发明的一些实施例中,级联的每一分类器经训练以将前记录语料库划分成至少两个相异群组,使得所述群组中的一者内的相当大份额的记录具有相同类别标签,即属于同一类别。当相应群组内的具有相同类别标签的记录的比例超过预定阈值时,这些记录形成相当大份额。对应于相当大份额的示范性阈值包含50%、90%及99%等。在一些实施例中,一个群组内的所有记录需要具有相同类别标签;此情况将对应于100%的阈值。较高阈值可产生训练成本高昂的分类器,但这会产生较低的错误分类率。在级联的分类器当中,阈值的值可以不同。

使用图5-a、5-b、5-c的特征空间表示可更好地理解分类器的操作及/或训练。在图5-a中,分类器c1经训练以通过产生将特征空间划分成两个区的边界44a来在两个记录群组之间做出区分,使得每一相异记录群组占据特征空间的相异区(例如,边界44a外及边界44a内)。不是一般性,示范性边界44a是椭圆形。此边界形状可(举例来说)由聚类分析分类器产生;分类器的另一选项可产生不同形状的边界。所属领域的技术人员将理解,对于分类器的一些选项来说(例如,决策树),此边界可不存在或者可不可能绘制出来。因此,图5-a、5-b、5-c中的图式仅为了简化本说明而展示,且并不意味着限制本发明的范围。

在一些实施例中,训练分类器c1包括调整边界44a的参数直到满足分类条件为止。边界参数(例如椭圆形的中心及/或直径)可作为分类器参数46a(图4)导出。边界44a内的相当大份额(所有)记录属于一个类别(指示为圆圈)。特征空间的由具有相同标签的记录的群组占据的区将在下文被视为分类器c1的优选区45a。分类器c1、c2及c3的优选区在图5-a、5-b、5-c中分别被图解说明为阴影区。位于每一分类器的优选区内的记录的类别将被视为相应分类器的优选类别。在图5-a的实例中,分类器c1的优选类别是圆圈(例如,恶意软件)。

图5-b图解说明特征空间中由另一边界44b分离的另一组区,其表示级联的第二示范性经训练分类器c2。在所图解说明实例中,边界44b又是椭圆形;其参数可(举例来说)由图4中的参数集合46b表示。图5-b进一步展示分类器c2的优选区45b,优选区主要含有具有相同标签的记录。在图5-b的实例中,分类器c2的优选类别是叉号(例如,纯净的、非恶意的)。

图5-c展示特征空间中由另一边界44c分离的又一组区及级联的第三示范性经训练分类器c3的另一优选区45c。举例来说,所图解说明分类器c3可以是感知器。优选区45c仅含有圆圈,即分类器c3的优选类别是圆圈。在一些实施例中,如图5-a、5-b、5-c中所图解说明,在连续训练阶段之间(例如,在训练级联的连续分类器之间)从训练语料库40移除一组记录。从语料库移除的一组记录选自每一经训练分类器的优选区。

图6图解说明根据本发明的一些实施例由训练程序42(图4)执行以训练分类器级联的步骤的示范性顺序。在输入训练语料库40(步骤200)之后,在环路中重复一系列步骤202到220,针对级联的每一连续分类器ci执行一个此类环路。

步骤202从一组可用类型(例如,svm、聚类分析分类器、感知器等)选择分类器类型以供训练。可根据执行要求(训练速度、分类准确性等)及/或根据当前训练语料库的特殊性做出分类器的挑选。举例来说,在当前训练语料库大致是线性可分时,步骤202可挑选感知器。在当前训练语料库已汇集了大量记录时,可优选聚类分类器。在一些实施例中,级联的所有分类器均是同一类型。

其它分类器选择情境是可能的。举例来说,在级联的每一级处,一些实施例可尝试各种分类器类型且根据一组准则挑选执行得较好的分类器类型。这些准则可涉及优选区内的记录的计数、分类准确性及经错误分类记录的计数等。一些实施例可应用交叉验证测试来选择最佳分类器类型。在又一情境中,分类器的类型从级联的一个级到下一级改变(例如,以交替方式)。此情境的意图在于,随着通过摒弃一组记录训练语料库从级联的一个级到下一级缩小,从级联的一个级到下一级语料库的性质可能从显著线性可分语料库改变为显著孤立语料库(或反之亦然)。因此,同一类型的分类器(例如,感知器)也不可在级联的连续级中执行。在这些情境中,级联可(举例来说)在感知器与聚类分析分类器之间或在感知器与决策树之间交替。

一系列步骤204、206、208有效地训练级联的当前分类器以对当前训练语料库进行分类。在一些实施例中,训练当前分类器包括调整当前分类器的参数(步骤204)直到满足一组训练准则为止。经调整的一组分类器参数可指示将特征空间的多个区彼此分离(例如,参见图5-a、5-b、5-c)的边界(例如超曲面)。

一个训练准则(步骤206中实施)要求当前训练语料库的位于所述区中的一者中的相当大份额的记录具有相同标签,即属于一个类别。在一些实施例中,级联的所有分类器的相应优选类别需要是相同的。这些分类器级联可用作针对相应优选类别的记录的筛选器。在替代实施例中,优选类别经选择使得其循环贯穿训练语料库的类别。举例来说,在两类别语料库中(例如,恶意软件及纯净的),分类器c1、c3、c5、...的优选类别可以是恶意软件,而分类器c2、c4、c6、...的优选类别可以是纯净的。在其它实施例中,优选类别可从级联的一个分类器到下一分类器任意变化,或者可根据当前训练语料库的特殊性变化。

步骤206可包含计算由当前分类器区分的一个群组内相应记录属于当前分类器的优选类别的记录比例(分数),且测试所述分数是否超过预定阈值。当所述分数不超过阈值时,执行可返回到步骤204。可将专用分类算法或众所周知的机器学习算法与反馈机制结合使用来实现此训练,所述反馈机制惩罚其中边界的所在使得每一区集结来自多个类别的混合记录的配置。

在一些实施例中,步骤208核实是否满足其它训练准则。这些准则可能是每一分类器类型所特有的。示范性准则可与分类质量有关,举例来说可确保当前训练语料库的相异类别在特征空间中以最佳方式被分离。其它示范性准则可与训练的速度及/或效率有关,举例来说可对训练算法施加最大训练时间及/或最大迭代数目。另一示范性训练准则可要求边界经调整,使得具有相同标签且位于区中的一者内的记录的数目被最大化。其它训练准则可包含测试过拟合符号且估计训练算法收敛到解的速度。

在满足了当前分类器的训练准则时,在步骤210中,训练程序42保存当前分类器的参数(例如,图4中的项46a到46c)。另一步骤214保存当前分类器的优选类别。

在一些实施例中,步骤216确定当前分类器是否完全对当前语料库进行分类,即当前分类器是否将当前语料库划分成相异群组使得每一相异群组内的所有记录均具有相同标签(例如,参见图5-c)。当“是”时,训练停止。当“否”时,一系列步骤218到220选择一组记录且从当前训练语料库移除所述组。在一些实施例中,选定供移除的一组记录组选自当前分类器的优选区。在一个此类实例中,步骤220移除当前语料库的位于当前分类器的优选区内的所有记录(参见图5-a、5-b、5-c)。

在如图6中所展示地操作的一些实施例中,级联中的分类器的实际计数仅在训练程序结束时才可知,这时当前语料库的所有记录完全被分类。在替代实施例中,级联可包括固定的预定数目个分类器,且训练可一直进行到所有分类器均被训练过为止,而不论剩余训练语料库是否完全被分类。

一旦训练阶段完成,按照上文的描述进行训练的分类器级联便可用于对未知目标对象50进行分类。在本发明的防恶意软件示范性应用程序中,此分类可确定(举例来说)目标对象50是纯净的还是恶意的。在其它应用程序中,此分类可确定(举例来说)目标对象是合法的还是垃圾邮件等。可在各种机器上及各种配置中执行对目标对象50的分类,例如与其它安全操作结合。

在一些实施例中,在客户端系统30处(基于客户端的扫描)或在安全服务器14处(基于云的扫描)进行分类。图7-a展示示范性数据发射,其中将经计算分类器参数46a到46c从分类器训练系统20发送到客户端系统30以供进行基于客户端的扫描。与图7-a相比,图7-b展示基于云的扫描配置,其中将参数46a到46c发送到安全服务器14。在这些配置中,客户端系统30可将指示目标对象50的目标对象指示符51发送到安全服务器14,且作为响应从服务器14接收指示目标对象50的类别成员身份的目标标签60。指示符51可包括目标对象自身或表征目标对象50的数据的子集。在一些实施例中,目标对象指示符51包括目标对象50的特征向量。

为清晰起见,图8、9、10将仅描述基于客户端的扫描(即,根据图7-a的配置),但所属领域的技术人员将明白描述方法也可应用于基于云的扫描。此外,以下说明将仅聚焦于防恶意软件应用程序。然而,所图解说明的系统及方法可以最小的修改而扩展到其它安全应用程序(例如防垃圾邮件、防欺诈等)且扩展到一般应用程序(例如文档分类、数据挖掘等)。

图8展示根据本发明的一些实施例的在客户端系统30上执行的示范性安全应用程序52。客户端系统30可包含安全应用程序52,安全应用程序52继而包含以参数46a到46c具现化的分类器级联c1、...cn。安全应用程序52经配置以接收目标对象50且产生指示目标对象50的类别成员身份等(例如纯净的或恶意的)的目标标签60。可以各种方式实施应用程序52,举例来说作为计算机安全套件的组件、作为浏览器插件、作为消息传送应用程序(例如,电子邮件程序)的组件等。

在一些实施例中,分类器级联c1、...cn是按照上文关于图6的描述训练的级联的实例。举例来说,分类器c1表示级联的第一经训练分类器(以参数46a具现化),分类器c2表示级联的第二经训练分类器(以参数46b具现化)等。在一些实施例中,应用程序52经配置以按照预定次序(例如,训练相应分类器的次序)应用分类器c1、...cn以发现目标对象50的类别指派,如下文更详细地展示。

图9到10图解说明根据本发明的一些实施例的目标对象50的示范性分类。图9展示图5-a、5-b、5-c中所图解说明的分类器的优选区,其中特征向量表示位于第二分类器的优选区内的目标对象50。

图10展示根据本发明的一些实施例的由安全应用程序52执行的步骤的示范性顺序。在步骤300中,挑选目标对象50作为安全应用程序52的输入。在防恶意软件实施例中,示范性目标对象50可包含可执行文件、动态链接库(dll)及客户端系统30的存储器区段的内容等。举例来说,对于运行microsoft的客户端系统来说,目标对象50可包含来自windir文件夹的可执行文件、来自windir/系统32文件夹的可执行文件、当前运行进程的可执行文件、由当前运行进程导入的dll及经安装系统服务的可执行文件等。可为运行其它操作系统(例如)的客户端系统30编译类似目标对象列表。目标对象50可存放于由客户端系统30使用或以通信方式耦合到客户端系统30的计算机可读媒体上(例如硬盘驱动器、光盘、dram及可拆卸媒体,例如快闪存储器装置、cd及/或dvd磁盘及驱动器)。步骤300可进一步包含计算目标对象50的特征向量,所述特征向量表示在特征空间中的对象50。

在步骤302中,安全应用程序52采用分类器c1来对目标对象50进行分类。在一些实施例中,步骤302包括(举例来说)根据分类器c1的参数46a确定特征空间中的边界,且确定目标对象50的特征向量位于相应边界的哪一侧(即,位于哪一分类区中)。在步骤304中,安全应用程序52确定分类器c1是否将目标对象放置到c1的优选类别中。在一些实施例中,步骤304可包含确定目标对象50的特征向量是否落在分类器的c1优选区内。当否时,应用程序的操作进行到下文所描述的步骤308。当是时,在步骤306中,将目标对象50标记为属于分类器c1的优选类别。在图9中所图解说明的示范性配置中,目标对象50不在分类器c1的优选区内。

在步骤308中,安全应用程序52应用级联的第二分类器c2来对目标对象50进行分类。步骤310确定分类器c2是否将目标对象放置到c2的优选类别中(例如,目标对象50的特征向量是否落在分类器c2的优选区内)。当“是”时,在步骤312中,将目标对象50指派给分类器c2的优选类别。此情况在图9得以图解说明。

安全应用程序52连续地应用级联的分类器ci直到将目标对象指派给分类器中的一者的优选类别为止。当无级联的分类器将目标对象识别为属于其相应优选类别时,在步骤320中,将目标对象50指派给与级联的最后分类器cn的优选类别相异的类别。举例来说,在两类别实施例中,当最后分类器的优选类别是“纯净的”时,可将目标对象50指派给“恶意”类别,且反之亦然。

以上说明聚焦于本发明的实施例,其中对于级联的每一层级来说,级联包括单个分类器。下文所详细描述的级联的其它实施例每层级可包含多个分类器。为简化起见,以下论述考虑到训练语料库被预分类成两个相异类别a及b(例如,恶意的及良性的),在图中分别图解说明为圆圈及叉号。在此语料库上训练的示范性分类器级联针对级联的每一层级i=1、2、...、n可包括两个相异分类器ci(a)及ci(b)。所属领域的技术人员将理解如何使说明适于其它类型的级联及/或训练语料库。举例来说,级联在每一层级处可包括用于训练语料库的记录的每一类别的至少一个分类器。在另一实例中,级联的每一层级可包括两个分类器,每一者经训练以优先识别相异类别的记录,而不论训练语料库的类别的计数如何。在又一实例中,在级联的层级之间分类器的计数可不同。

图11-a展示两类别训练语料库,且根据本发明的一些实施例两个分类器在相应语料库上进行训练。举例来说,图11-a可图解说明级联的第一层级(i=1)的训练。分类器c1(a)经训练以将当前语料库划分成两个群组,使得群组中的一者中的相当大份额的记录(本文被视为分类器c1(a)的优选群组)属于类别a。在图11-a的实例中,训练分类器c1(a)包括调整边界44d的参数使得特征空间的优选区45d中相当大比例的记录属于类别a(圆圈)。在与相应级联层级的所有其它分类器相同的语料库(即,与用于训练c1(a)的语料库相同的语料库)上训练分类器c1(b)。分类器c1(b)经训练以将当前语料库划分成另一对记录群组,使得分类器c1(b)的优选群组中的相当大份额的记录属于类别b。训练分类器c1(b)可包括调整边界44e的参数使得特征空间的优选区45e中的相当大比例的记录属于类别b(叉号)。

图11-b图解说明训练级联的后续层级(例如,i=2)。在经减少训练语料库上训练第二层级的分类器c2(a)及c2(b)。在所图解说明实例中,在用于训练分类器c2(a)及c2(b)的准备中,从训练语料库摒弃分类器c1(a)及c1(b)的优选群组中的所有记录。通常,可从用于训练c1(a)及c1(b)的语料库摒弃分类器c1(a)及c1(b)的优选群组的子组。分类器c2(a)经训练以识别相当大份额的记录属于类别a的优选群组。相应级联层级的另一分类器c2(b)经训练以识别相当大份额的记录属于类别b的优选群组。在图11-b中,分类器c2(a)及c2(b)的优选群组分别位于特征空间的区45f到45g内。

图12展示根据本发明的一些实施例的由训练程序42(图4)执行以训练每层级包括多个分类器的分类器级联的步骤的示范性顺序。在输入训练语料库(步骤332)之后,在环路中重复一系列步骤334到360,每一环路经执行以训练级联的单独层级。此外,所图解说明实例展示训练每层级的两个分类器,但在不背离本发明的范围的情况下给定说明可容易地适于其它配置。

在选择了分类器ci(a)的类型(步骤336)之后,在一系列步骤338、340、342中,训练程序42训练分类器ci(a)以区分相当大份额的记录(例如,多于99%)属于类别a的优选群组。另外,经训练分类器可需要满足一些质量准则。举这些准则的实例来说,关于图6参见上文。当满足训练准则时,步骤344保存分类器ci(a)的参数。

一系列步骤346到354执行对分类器ci(b)的类似训练,其中分类器ci(b)经训练以区分相当大份额的记录(例如,多于99%)属于类别b的优选群组除外。在步骤356中,训练程序42检查级联的当前层级的分类器是否完全对当前训练语料库进行了分类。在多个每层级存在分类器的情形中,完全分类可对应于其中当前训练语料库中属于类别a的所有记录均在分类器ci(a)的优选群组中的情况,且当前训练语料库中属于类别b的所有记录均在分类器ci(b)的优选群组中。当“是”时,训练停止。

在当前级联层级未实现完全分类时,在一些列步骤358到360中,训练程序42可从分类器ci(a)及ci(b)的优选群组选择一组记录,且可在进行到级联的下一层级之前从训练语料库移除这些记录。

图13图解说明在其中级联的每层级包括多个经训练分类器的本发明实施例中由安全应用程序52执行以使用经训练级联来对未知目标对象进行分类的步骤的示范性顺序。步骤372选择目标对象(也参见上文的论述,关于图10)。在环路中重复一系列步骤374到394直到成功地实现对目标对象的分类为止,环路的每一实例对应于级联的连续层级。因此,在一些实施例中,级联的分类器按照其进行训练的次序(即关于其在级联内的相应层级的次序)用于发现。

步骤376将分类器ci(a)应用于目标对象。当ci(a)将目标对象放置到其优选类别(类别a)中时,在前进到步骤348之前步骤382将目标对象标记为属于类别a。步骤384将层级i的另一分类器(例如,分类器ci(b))应用于目标对象。当分类器ci(b)将目标对象放置到其优选类别(类别b)中时,步骤388将目标对象标记为属于类别b。当否时,步骤392检查当前级联层级的分类器是否已成功地对目标对象进行分类,例如,分类为属于类别a或b。当是时,分类停止。在当前级联层级的分类器尚未成功地对目标对象进行分类时,安全应用程序52前进到下一级联层级(步骤374)。当级联不含有其它层级时,在步骤394中,应用程序52可将目标对象标记为良性以避免对目标对象的错误肯定分类。在替代实施例中,步骤394可将目标对象标记为未知。

步骤390确定级联的当前层级的一个以上分类器是否已将目标对象放置于其优选类别内(例如,在图13中,当步骤380及386两者均传回“是”时)。当“否”时,安全应用程序52前进到上文所描述的步骤392。当“是”时,目标对象可被标记为良性或未知以避免错误肯定分类。

上文所描述的示范性系统及方法允许计算机安全系统使用经训练分类器级联来自动地对目标对象进行分类以供包含恶意软件检测、垃圾邮件检测及欺诈检测等应用。级联可包含各种分类器类型,例如人工神经网络(ann)、支持向量机(svm)、聚类分析分类器及决策树分类器等。可能由大数目个记录(例如数百万)组成的预分类训练语料库用于训练分类器。在一些实施例中,按照预定次序训练级联的个别分类器。在分类阶段中,可按照与其进行训练相同的次序采用级联的分类器。

级联的每一分类器可经配置以将当前记录语料库划分成至少两个群组,使得群组中的一者内的相当大比例(例如,所有)记录具有相同标签,即属于同一类别。在一些实施例中,在训练来自级联的下一层级的分类器之前,从训练语料库摒弃相应群组中的记录子组。

此项技术中详述了与在大的高维数据集合上训练分类器相关联的困难。此训练的计算成本高昂且通常产生一子组的经错误分类记录。在计算机安全应用程序中,错误肯定(良性记录被错误地识别为构成威胁)是特别不期望出现的,这是因为其也可导致生产力损失及/或用户数据丢失。举例来说,计算机安全应用程序可限制用户存取被误分类为恶意文件的良性文件或甚至删除所述良性文件。减少错误分类的一个常规策略是提高经训练分类器的复杂性及/或将现有训练算法复杂化,例如通过引入乘法这些错误分类的复杂成本函数。

相比之下,本发明的一些实施例允许使用例如感知器等基本分类器,所述基本分类器甚至在大数据集合上仍可相对快地训练。训练速度在计算机安全应用程序中特别重要,由于恶意软件的飞速进化计算机安全应用程序每天必须处理大量数据(例如,数百万新样本)。另外,代替使用单个复杂分类器,一些实施例使用组织为级联(即,经配置以按照预定次序使用)的多个分类器来减少错误分类。可依赖于级联的每一经训练分类器来正确地标记位于特征空间的特定区中的记录,所述区为相应分类器所特有。

在一些实施例中,通过在训练级联的连续层级之间从训练语料库摒弃一组记录来进一步加速训练。此项技术中众所周知,训练一些类型的分类器的成本强烈地取决于语料库的记录计数(例如,次序nlogn或n2,其中n是记录计数)。此问题在通常需要极大训练语料库的计算机安全应用程序中尤为尖锐。根据本发明的一些实施例逐渐减小训练语料库的大小可极大地减少用于计算机安全的训练分类器的计算成本。使用级联的每一层级的一个以上分类器可允许更高效地删减训练语料库。

通常被称为提升(boosting)的一些常规训练策略也会减小训练语料库的大小。在此项技术中已知的一个此类实例中,从训练语料库摒弃在训练中反复被分类器错误分类的一组记录以改进相应分类器的性能。与这些常规方法相比,本发明的一些实施例从训练语料库移除在训练中被分类器正确分类的一组记录。

所属领域的技术人员将清楚,可在不背离本发明的范围的情况下以许多方式更改以上实施例。因此,本发明的范围应由所附权利要求书及其法律等效内容来确定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1