CN113316786A - 漏洞利用工具包检测 - Google Patents

漏洞利用工具包检测 Download PDF

Info

Publication number
CN113316786A
CN113316786A CN202080009105.7A CN202080009105A CN113316786A CN 113316786 A CN113316786 A CN 113316786A CN 202080009105 A CN202080009105 A CN 202080009105A CN 113316786 A CN113316786 A CN 113316786A
Authority
CN
China
Prior art keywords
web page
processor
exploit
toolkit
identifying
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.)
Granted
Application number
CN202080009105.7A
Other languages
English (en)
Other versions
CN113316786B (zh
Inventor
B·E·哈里斯
M·坎
P·拉维德拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN113316786A publication Critical patent/CN113316786A/zh
Application granted granted Critical
Publication of CN113316786B publication Critical patent/CN113316786B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Algebra (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

实施例提供一种数据处理系统中的计算机实现方法,所述数据处理系统包括处理器和存储器,所述存储器包括指令,所述指令由所述处理器执行以使所述处理器实现识别漏洞利用工具包的方法,所述方法包括:由所述处理器来接收网页;由所述处理器提取所述网页的多个特征;以及由所述处理器通过使用所提取的特征来训练的集成分类器模型来确定所述网页是否与漏洞利用工具包相关联。

Description

漏洞利用工具包检测
技术领域
本公开一般涉及用于识别网页是否是漏洞利用工具包(exploit kit)的系统、方法和计算机程序产品。
背景技术
漏洞利用工具包是在万维网上找到的网页或网页的脚本并且包含基于浏览器的漏洞利用代码。漏洞利用代码(exploit)是利用程序中的弱点迫使其意外地表现的对象,诸如一段代码或一串命令。
浏览器漏洞利用代码,特别是驻留在诸如Flash播放器之类的常见插件中的漏洞利用代码,是针对不同浏览器的普遍漏洞利用代码。利用漏洞利用工具包用于通过利用这些漏洞利用代码将恶意软件传播到受害者浏览器。然而,这些漏洞利用工具包(即,网页或网页的脚本)通常严重模糊,并且因此,漏洞利用工具包的基于签名的检测是不切实际的。其他技术(诸如熵)尚未被证明相对于更复杂的混淆引擎(例如,打包器)是可靠的。进一步,由于编码和逃逸序列,通过入侵预防系统(IPS)识别脚本形式的漏洞利用工具包不是直接的。此外,期望在IPS中包括更快的算法。
发明内容
实施例提供一种数据处理系统中的计算机实现方法,所述数据处理系统包括处理器和存储器,所述存储器包括指令,所述指令由所述处理器执行以使所述处理器实现识别漏洞利用工具包的方法,所述方法包括:由所述处理器来接收网页;由所述处理器提取所述网页的多个特征;以及由所述处理器基于提取的特征通过训练的集成分类器模型来确定所述网页是否是漏洞利用工具包。
实施例进一步提供一种计算机实现的方法,其中,所述多个特征包括所述多个独特n元组(n-grams)中的一个或多个,n元组的总数、独特n元组的数量与n元组的总数的比率,文件大小,以及文件大小与n元组总数的比率。
实施例进一步提供一种计算机实现的方法,其中所述n元组是二元组。
实施例还提供了一种计算机实现的方法,还包括:由所述处理器识别所述网页中的链接的数量;以及如果所述链接的数量为零,则由所述处理器将所述网页确定为漏洞利用工具包。
实施例还提供了一种计算机实现的方法,还包括:由所述处理器识别所述网页中的图像的数量;以及如果所述图像的数量为零,则由所述处理器将所述网页确定为漏洞利用工具包。
实施例还提供了一种计算机实现的方法,还包括:由所述处理器识别所述网页中的链接的数量和图像的数量;以及如果所述链接的数量和所述图像的数量均为零,则由所述处理器将所述网页确定为漏洞利用工具包。
实施例还提供了一种计算机实现的方法,还包括:由所述处理器识别所述网页是否是前万个网页中的一个;以及如果所述网页是前万个网页之一,则由所述处理器确定所述网页不是漏洞利用工具包。
实施例进一步提供一种计算机实现的方法,其还包括:由所述处理器识别所述网页的大小是否小于1024字节;如果所述网页的大小小于1024字节,则所述处理器消除所述网页。
实施例进一步提供一种计算机实现的方法,还包括:如果所述网页是包括压缩对象或可执行二进制内容的非基于文本的网页,则由所述处理器消除所述网页。
实施例提供一种用于识别漏洞利用工具包的计算机程序产品,所述计算机程序产品包括计算机可读存储媒质,所述计算机可读存储媒质具有随其体现的程序指令,所述程序指令可由处理器执行以致使所述处理器:接收网页;提取所述网页的多个特征,其中所述多个特征包括独特二元组的数目、所述二元组的总数目、所述独特二元组的数目与所述二元组的总数目的比率、文件大小以及所述文件大小与所述二元组的总数目的比率中的一者或一者以上;以及基于所提取的特征,通过经训练的集成分类器模型来确定所述网页是否是漏洞利用工具包。
实施例进一步提供一种用于识别漏洞利用工具包的计算机程序产品,其中,所述训练的集成分类器模型包括由朴素贝叶斯(
Figure BDA0003161604620000021
Bayes)分类器和随机规则分类器生成的模型。
实施例进一步提供一种用于标识漏洞利用工具包的计算机程序产品,其中,还使得所述处理器:使用所确定的网页来继续训练所述经训练的集成分类器模型。
实施例进一步提供一种用于识别漏洞利用工具包的计算机程序产品,其中,还使所述处理器:使用一个或多个新的漏洞利用工具包来继续训练所述训练的集成分类器模型。
实施例进一步提供一种用于识别漏洞利用工具包的计算机程序产品,其中,所述处理器还被使得:从所述经训练的集成分类器模型中移除旧的漏洞利用工具包。
实施例进一步提供一种用于识别漏洞利用工具包的计算机程序产品,其中,还使所述处理器:用新的集成分类器模型来替换所述训练的集成分类器模型,其中,通过一个或多个新的漏洞利用工具包来训练所述新的集成分类器模型。
实施例还提供一种用于识别漏洞利用工具包的计算机程序产品,其中还使所述处理器:识别所述网页中的链接的数量和图像的数量;以及如果所述链接数量和所述图像数量均为零,则确定所述网页为漏洞利用工具包。
实施例还提供一种用于识别漏洞利用工具包的计算机程序产品,其中还使所述处理器:识别所述网页是否是前万个网页中的一个;以及如果所述网页是前万个网页之一,则确定所述网页不是所述漏洞利用工具包。
实施例进一步提供一种用于识别漏洞利用工具包的计算机程序产品,其中还使所述处理器:识别所述网页的大小是否小于1024字节;如果所述网页的大小小于1024字节,则消除所述网页。
实施例提供一种用于识别漏洞利用工具包的系统,其包括:处理器,其经配置以:接收网页;提取所述网页的多个特征,其中所述多个特征包括所述独特二元组的数目、所述二元组的总数目、所述独特二元组的数目与所述二元组的总数目的比率、文件大小以及所述文件大小与所述二元组的总数目的比率中的一者或一者以上;以及基于所提取的特征,通过训练的集成分类器模型来确定所述网页是否是漏洞利用工具包,其中,所述训练的集成分类器模型包括由朴素贝叶斯分类器和随机规则分类器生成的模型。
实施例进一步提供一种用于识别漏洞利用工具包的系统,其中,所述处理器进一步被配置为:使用所确定的网页和另外的一个或多个新的漏洞利用工具包来继续训练所述训练的集成分类器模型。
实施例进一步提供一种用于识别漏洞利用工具包的系统,所述处理器进一步经配置以:识别所述网页是否为前万个网页中的一者;如果所述网页是前万个网页中的一个,则确定所述网页不是漏洞利用工具包;识别所述网页中的所述链接的数目和所述图像的数目;以及如果所述链接的数目和所述图像的数目均为零,那么将所述网页确定为漏洞利用工具包。
实施例提供一种用于识别漏洞利用工具包的系统,包括:网页识别模块,被配置为识别网页是否是前万个网页中的一个,并且如果所述网页是前万个网页中的一个,则确定所述网页不是所述漏洞利用工具包;训练集成分类器模型,所述训练集成分类器模型包括由朴素贝叶斯分类器和随机规则分类器生成的模型,所述训练集成分类器模型被配置为确定所述网页是否是漏洞利用工具包;过滤器,所述过滤器包括链接计数(link_count)过滤器和图像计数过滤器,所述过滤器被配置为识别所述网页中的所述链接的数量和所述图像的数量,并且如果所述链接的数量和所述图像的数量均为零,则将所述网页确定为漏洞利用工具包。
实施例进一步提供一种用于识别漏洞利用工具包的系统,其中,使用所确定的网页和另外的一个或多个新的漏洞利用工具包来连续地训练经训练的集成分类器模型。
实施例提供一种入侵预防系统,其包括用于识别漏洞利用工具包的系统,其中所述用于识别漏洞利用工具包的系统包括:处理器,其经配置以:接收网页;提取所述网页的多个特征,其中所述多个特征包括所述独特二元组的数目、所述二元组的总数目、所述独特二元组的数目与所述二元组的总数目的比率、文件大小以及所述文件大小与所述二元组的总数目的比率中的一者或一者以上;识别所述网页是否是前万个网页中的一个,如果所述网页是前万个网页中的一个,则确定所述网页不是漏洞利用工具包;如果所述网页不是前万个网页中的一个,则通过基于所提取的特征的训练的集成分类器模型来检测所述网页是否是漏洞利用工具包。经训练的集成分类器模型包括由朴素贝叶斯分类器和随机规则分类器生成的模型,并且使用所确定的网页和附加的一个或多个新的漏洞利用工具包来连续训练经训练的集成分类器模型。如果网页被训练的集成分类器模型检测为漏洞利用工具包;识别所述网页中的图像的数目。如果所述图像的数量为零,则确定所述网页为漏洞利用工具包;以及如果所述网页被确定为漏洞利用工具包,则阻挡所述网页。
实施例还提供了一种入侵预防系统,所述处理器还被配置为:识别所述网页的大小是否小于1024字节;如果所述网页的大小小于1024字节,则消除所述网页。
在另一说明性实施例中,提供一种包括具有计算机可读程序的计算机可用或可读媒质的计算机程序产品。当在处理器上执行时,计算机可读程序使处理器执行以上关于方法说明性实施例概述的操作中的各种操作以及操作的组合。
在又一个说明性实施例中,提供了一种系统。该系统可以包括处理器,该处理器被配置为执行上文关于方法说明性实施例概述的操作中的不同操作和操作的组合。
从以下参考附图进行的说明性实施例的详细描述中,本公开的附加特征和优点将变得显而易见。
附图说明
在结合附图阅读时,从以下详细描述中最好地理解本发明的前述和其他方面。为了说明本发明,在附图中示出了目前优选的实施方式,然而,应当理解,本发明不限于所公开的具体手段。附图中包括以下附图:
图1描绘其中实施示范性漏洞利用工具包检测装置104的示范性数据处理系统100的框图;
图2描绘了根据本文所描述的一些实施例的训练分类器模型的示例离线模式的框图;
图3描绘了根据本文所描述的一些实施例的训练分类器模型的另一示例离线模式的框图;
图4描绘了根据本文所描述的一些实施例的训练分类器模型的示例在线模式的框图;
图5描绘了根据本文所描述的一些实施例的训练分类器模型的另一示例在线模式的框图;
图6是示出了根据本文中的实施方式的检测漏洞利用工具包的方法600的示例性流程图;
图7是示出根据本文的实施方式的检测漏洞利用工具包的方法700的另一个示例性流程图;
图8是示出了根据本文中的实施例的检测漏洞利用工具包的方法800的另一示例流程图;
图9是根据本文实施例的另一个示例流程图,其示出了检测漏洞利用工具包的方法900;并且
图10是其中可以实现说明性实施例的方面的示例数据处理系统1000的框图。
示范性实施例的详细说明
本发明的实施例可以是系统、方法和/或计算机程序产品。所述计算机程序产品可包含上面具有计算机可读程序指令的计算机可读存储媒体(或媒体),所述计算机可读程序指令用于致使处理器执行本发明的方面。
在一个实施例中,公开了一种用于识别网页是漏洞利用工具包还是“正常”网页的系统、方法和计算机程序产品。在一个实施例中,使用检测策略的组合来准确地检测漏洞利用工具包。具体地,在一个实施例中,使用天然贝叶斯分类器,由于其快速处理、简单实现方式和高检测速率。为了优化天然贝叶斯分类器的性能并且进一步减少假阳性,在一个实施例中额外地利用“随机规则”作为元分类器。进一步,在一些实施例中,两个特征(属性)(即,网页中的图像的计数img_count和网页中的链接的计数link_count)可独立地或组合地使用,以进一步将误报率降低到约0.7%。此外,在一些实施例中,布隆过滤器、散列集、散列映射或Judy阵列可以用于识别排名最高的10,000个站点(例如,由AlexaTM公司提供),使得可以从误报中消除公共网站(包括在排名靠前的10,000个网站中),这样可以进一步降低误报率。
在另一实施例中,消除具有小于1024字节的大小的任何网页。在示例中,可以过滤掉大小小于1024字节的任何网页,因为如果大小小于1024字节,则网页往往是噪声和无意义的。
在实施例中,排除不是基于文本的任何网页。例如,仅包含图像和/或动画的网页可以不予考虑。基于非文本的网页(例如,具有压缩对象或可执行二进制内容的网页)通常具有不同长度的有意义的令牌,并且朴素贝叶斯分类器不能在不确定的令牌长度下正确地工作。
在实施例中,网页识别模块(如布隆过滤器、散列集、散列映射或Judy数组)可以用于识别网页是否是由Alexa公司列出的前万个网页之一。如果该网页是前万个网页之一,则该网页被认为是公共网页,因此不是漏洞利用工具包;而如果所述网页不是前万个网页之一,则执行进一步的步骤以检测所述网页是否是漏洞利用工具包。利用网页识别模块,可以消除可能的即时误报。更具体来说,假阳性是不恰当地指示漏洞利用工具包的存在的错误(当实际上其不存在时),且因此正常网页被误认为是漏洞利用工具包。网页识别模块通过检查该网页是否为前万个网页之一,可以降低该错误的几率。在实施例中,布隆过滤器(bloom filter)是用于测试元素是否为集合的成员的空间高效概率数据结构。在实施例中,哈希集是可以保存映射到位值的主机名/URL的数据结构。
在实施例中,机器学习模型(分类器的实例,也被称为“分类器模型”)用于分析网页的整个文本以检测漏洞利用工具包模式。在实施例中,在机器学习模型中采用n元组而不是单一令牌,因为单一令牌不提供网页脚本的上下文信息。n元组可以提供网页脚本的上下文信息,用于将漏洞利用工具包与正常网页区分开。n元组是被表示为单个分析的令牌的n个连续字。在示例中,使用近词(near-word)令牌二元组(bigrams)(即,n是2)来维持速度。二元组是表示为单个分析令牌的两个连续单词,并且由于低复杂度和快速处理速度,二元组(bigrams,即2-gram)被用作令牌化单位。在实施例中,流分类器(连续学习)用于处理漏洞利用工具包漂移(漏洞利用工具包模式和结构的演进)。在示例中,集成分类器用于更高的稳定性和准确度。
在实施例中,为了使机器学习模型学习,提供网页的训练集合以训练机器学习模型,从而使得机器学习模型可以将网页分类为漏洞利用工具包或“正常”网页。在训练机器学习模型之后,进一步提供新的网页或网页的新集合(测试集合)来测试机器学习模型,使得经训练的机器学习模型可以标识新的网页或网页的新集合中的每个网页是否是漏洞利用工具包。
首先,利用漏洞利用工具包和“正常”网页来播种(seed)训练集和测试集。利用网络爬虫来收集“正常”网页并收集用于训练集的漏洞利用工具包,而利用另一个网络爬虫来收集“正常”网页并收集用于测试集的漏洞利用工具包。漏洞利用工具包可以包括Angler、来自NSS Labs测试的漏洞利用工具包,等等。
在一个实施例中,分类器用于将“正常”网页与漏洞利用工具包区分开。分类器使用以下特征:独特(unique)n-gram、总n-gram、独特n-gram/总n-gram(即,独特n-gram的数量与n-gram的总数的比率)、文件大小、以及文件大小/总n-gram(即,文件大小与n-gram的总数的比率)。分类器的特征(也称为属性)仅取决于独特二元组的数量和二元组的总数,并且简单地跟踪这两个数字。
在实施例中,分类器可以是集成分类器。在进一步的实施例中,集成分类器包括作为基本分类器的天然贝叶斯分类器。
Figure BDA0003161604620000071
Bayes分类器非常快速并且实现起来非常简单,这有助于以快速网络速度测试未看见的网页。进一步地,朴素贝叶斯分类器是“可更新的”算法,其可以从单个新样本(新网页)或多个新样本(新网页)学习。因此,漏洞利用工具包的转化可以在它们进化时被捕获。
朴素贝叶斯是概率分类器。可更新版本以先验概率分布开始,并且每个特征或属性(例如,独特n元组、总n元组、独特n元组/总n元组、文件大小,和文件大小/总n元组)被映射到预定义的先验分布中的类,该预定义的先验分布是高斯(Gaussian)(贝尔曲线)分布。随着分类器模型被训练,特征概率在曲线上增加。在训练结束时,针对每个特征的概率生成新的分布。新的分布是平滑的,使得可以提供任意数值。
随后,针对每个属性独立地应用贝叶斯定理。贝叶斯定理描述如下:
P(specific_class|attribute_value)是给定预测因子attribute_value的类specific_class的后验概率;
P(specific_class)是类specific_class的先验概率;
P(attribute_value|specific_class)是给定specific_class的attribute_value的概率;
P(attribute_value)是attribute_value的先验概率。
给定这种符号,贝叶斯定理规定P(specific_class|attribute_value)=P(attribute_value|specific_class)*P(specific_class)/P(attribute_value)。一旦针对每个attribute_value计算了特定类的后验概率,就做出关于整个属性集合属于哪个类别的决定。
在另一个实施例中,“随机规则”也被包括在集成分类器中作为元分类器(meta-classifier),用于提升朴素贝叶斯分类器的性能并降低假阳性率。随机规则分类器还是可更新的算法,其是包括在大规模在线分析(MOA)中的算法。随机规则分类器还可以捕获漏洞利用工具包的演进,如天然贝叶斯分类器所做的那样。类似于朴素贝叶斯分类器,随机规则分类器也基于较小的属性集合,并且因此通过随机规则分类器的评估是快速的。随机规则分类器可以显著地削减误报率。在一实施例中,随机规则分类器提取一组N个属性并将它们划分成N-2属性分类器的N!/(N-2)!/2!子集。在示例中,N=5(存在五个属性),5!/(5-2)!/2!=10。由此,从原始五个属性生成十个三属性分类器。
在一个实施例中,对集成分类器模型(包括由朴素贝叶斯分类器和随机规则分类器生成的模型)进行训练,以便在漏洞利用工具包继续演进时检测它们的漂移。可以离线或在线训练集成分类器模型。在离线模式中,需要利用整个数据集来训练集成分类器模型。每当需要构建新的机器学习模型时,它应当用整个数据集来批量训练。在在线模式中,集成分类器模型可以利用数据集的增量部分(新发现的漏洞利用工具包,被称为“新样本”)而不是整个数据集进行学习。集成分类器模型将被更新以适应自动模式中的新样本。
在实施例中,提供附加过滤器以进一步最小化来自基本分类器和元分类器的评估结果的误报。具体地,可以利用网页链接计数(link_count)中的链接的数量和网页图像计数(img_count)中的图像的数量来降低误报率。通常,实际的漏洞利用工具包没有链接或图像,并且因此数字“0”可以用作过滤器。具体地,不具有链接或图像的任何网页可以是真阳性(positive)的(如检测到的真实漏洞利用工具包),而具有一个或多个链接或图像的任何网页可以是假阳性的(对于漏洞利用工具包是错误的)。
图1描绘其中实施示范性漏洞利用工具包检测装置104的示范性数据处理系统100的框图。如图1所示,数据处理系统100是计算机(例如服务器或客户端)的实例,实施本发明说明性实施例的处理的计算机可用代码或指令位于其中。在一个实施例中,数据处理系统100表示入侵检测系统或入侵预防系统。在另一实施例中,数据处理系统100表示实现操作系统102的计算设备。在一些实施例中,操作系统102可以是Windows、Unix系统或类似Unix的操作系统,诸如AIX、A/UX、HP-UX、IRIX、Linux、Minix、Ultrix、Xenix、Xinu、XNU等等。
在所描绘的示例中,漏洞利用工具包检测装置104和网络爬虫106在操作系统102上运行。网络爬虫106被集成在搜索引擎中并且与互联网108通信。网络爬虫106可以跨互联网108获得网页124,并且将所获得的网页124(包括“正常”网页和漏洞利用工具包)提供给漏洞利用工具包检测装置104。漏洞利用工具包检测装置104可检测所获得的网页124中的每一者是否为漏洞利用工具包。漏洞利用工具包检测装置104包括布隆过滤器110、集成分类器112和过滤器114。集成分类器112进一步包括朴素贝叶斯分类器116和随机规则分类器118。过滤器114还包括链接计数过滤器120和图像计数过滤器122。布隆过滤器110识别所获得的网页124中的每一者是否为由Alexa公司列出的前万个网页中的一者。对于所获得的网页124中的每个网页,如果网页是前万个网页之一,则该网页是“正常”网页,否则它可以是漏洞利用工具包。然后,不是前万个网页之一(被称为“第一网页”)的所获得的网页124然后被发送到集成分类器112。集成分类器112模型已经通过包括“正常”网页和漏洞利用工具包的大量网页进行训练。经训练的集成分类器112模型检测第一网页中的每一个是否是漏洞利用工具包。然后,被检测为漏洞利用工具包的网页(被称为“第二网页”)然后被发送到过滤器114以减少误报。具体地,过滤器114从第二网页移除具有(由链接计数过滤器120执行的)一个或多个链接或/和(由图像计数过滤器122执行的)图像的任何网页,因为真实的漏洞利用工具包一般没有链接或图像。剩余的网页(称为“第三网页”)是被确定为漏洞利用工具包的网页。
图2-5描绘了训练集成分类器112模型的四个示范性模式。图2描绘了根据本文所描述的一些实施例的训练分类器模型的示例离线模式的框图。如图2中所示,使用具有新发现的漏洞利用工具包204的新的训练集来训练分类器模型208(例如,如图1中所示的集成分类器112模型)。在该离线模式中,新发现的漏洞利用工具包204必须达到预定数量以形成一批新发现的漏洞利用工具包204。具体地,从新发现的漏洞利用工具包204提取特征206,并且新发现的漏洞利用工具包204的特征(即,新样本)形成新的训练集。整个新的训练集用于训练分类器模型208,并且相应地生成新的分类器模型210。可以检测更新的漏洞利用工具包的新训练的分类器模型210被并入入侵预防系统(IPS)的协议分析模块(PAM)200中,以检测测试网页202中的更新的漏洞利用工具包。具体地,将测试网页202发送到IPS的协议分析模块(PAM)200,PAM200中的新训练的分类器模型210检测每个测试网页202是否是漏洞利用工具包。因为新发现的漏洞利用工具包204可以用于训练分类器模型208以生成新训练的分类器模型210,所以可以连续地捕获漏洞利用工具包的演进。在实施例中,新发现的漏洞利用工具包204由数据管理器提供(监视漏洞利用工具包的演进/漂移的人)。
图3描绘了根据本文所描述的一些实施例的训练分类器模型的另一示例离线模式的框图。如图3所示,新漏洞利用工具包204被添加到现有的训练集,该训练集用于训练分类器模型208(例如,如图1所示的集成分类器112模型)。在该离线模式中,新发现的漏洞利用工具包204必须达到预定数量以形成一批新发现的漏洞利用工具包204。具体地,从新发现的漏洞利用工具包204提取特征206,并且将新发现的漏洞利用工具包204的特征(即,新样本)添加到现有的训练集。包括旧漏洞利用工具包和新发现的漏洞利用工具包204的整个训练集被用于训练分类器模型208,并且相应地生成新的分类器模型210。可以检测新漏洞利用工具包204的新训练的分类器模型210被并入IPS的协议分析模块(PAM)200中,并且PAM200中的新训练的分类器模型210检测每个测试网页202是否是漏洞利用工具包。因为新发现的漏洞利用工具包204可以用于训练分类器模型208以生成新训练的分类器模型210,所以可以连续地捕获漏洞利用工具包的进化/漂移。在实施例中,新发现的漏洞利用工具包204由数据管理器提供(监视漏洞利用工具包的演进的人)。
图4描绘了根据本文所描述的一些实施例的训练分类器模型的示例在线模式的框图。如图4中所示,新发现的漏洞利用工具包204用于训练分类器模型208(例如,如图1中所示的集成分类器112模型)。具体地,当新发现的漏洞利用工具包204变得可用时,从新发现的漏洞利用工具包204提取特征206,并且新发现的漏洞利用工具包204的特征立即用于训练现有分类器模型208。可以检测新发现的漏洞利用工具包204的训练的分类器模型208被并入IPS的协议分析模块(PAM)200中,并且PAM200中的训练的分类器模型208检测每个测试网页202是否是漏洞利用工具包。在此实施例中,新发现的漏洞利用工具包204可立即用于在现有分类器模型208可用时训练现有分类器模型208。不必等待直到预定数量的新发现的漏洞利用工具包204可用于形成新的训练集。换句话说,不必分批收集新发现的漏洞利用工具包204。只要一个或多个新发现的漏洞利用工具包204可用,它们就可以用于立即训练分类器模型208。分类器模型208可以在自动学习漏洞利用工具包的进化/漂移的同时消除较旧的漏洞利用工具包样本。在该实施例中,分类器模型208不必像离线模式的情况那样再次在整个数据集上被训练。此外,如离线模式的情况,在PAM 200中,不必用新训练的分类器模型替换较旧的分类器模型。不生成新的分类器模型,而是用新发现的漏洞利用工具包204保持更新现有分类器模型208。因为新发现的漏洞利用工具包204可以立即用于训练现有分类器模型208,所以可以连续地捕获漏洞利用工具包的演进。在实施例中,新发现的漏洞利用工具包204由数据管理器提供(监视漏洞利用工具包的演进的人)。
图5描绘了根据本文所描述的一些实施例的训练分类器模型的另一示例在线模式的框图。如图5所示,与图4的示例在线模式不同,如果结合在PAM 200中的分类器模型208将任何网页识别为漏洞利用工具包,那么这些识别的漏洞利用工具包然后作为新的训练数据被馈送到现有的分类器模型208。类似于图4的在线模式,分类器模型208的性质将帮助学习漏洞利用工具包的漂移/演进,而无需再次用整个数据集来训练。进一步地,可以在不用新的分类器模型替换PAM 200中的先前分类器模型的情况下学习漏洞利用工具包的漂移/演化。因为新发现的漏洞利用工具包204可以立即用于训练现有分类器模型208,所以可以连续地捕获漏洞利用工具包的演进。进一步,由于由PAM200识别的漏洞利用工具包作为新的训练数据被自动馈送到现有的分类器模型208,所以在这种在线模式中不需要数据修复器。
图6是示出了根据本文中的实施例的检测漏洞利用工具包的方法600的示例流程图。在步骤602,将测试网页提供给入侵预防系统(IPS)。在步骤604,IPS提取测试网页的特征。在实施例中,所提取的特征包括独特二元组的数量、二元组的总数、独特二元组的数量与二元组的总数的比率、文件大小、以及文件大小与二元组的总数的比率。在步骤606,将提取的特征发送至结合在IPS的PAM中的训练的集成分类器模型。在步骤608,经训练的集成分类器模型标识测试网页是否是漏洞利用工具包。
图7是示出根据本文实施例的检测漏洞利用工具包的方法700的另一示例流程图。步骤602-606与图6所示的示例方法600的相同。在步骤702,经训练的集成分类器模型标识测试网页是否是漏洞利用工具包。如果测试网页不是漏洞利用工具包,则在步骤704,测试网页被标识为正常网页。如果测试网页被识别为漏洞利用工具包,则执行进一步的方法以验证决定是否正确并且降低误报率。在步骤706,提取附加特征,例如测试网页中链接的数量和图像的数量。在步骤708,如果链接的数量和图像的数量大于零,即,在测试网页中存在任何链接和图像,则在步骤710,测试网页最终被标识为正常网页。如果在测试网页中没有链接和图像,则在步骤712,测试网页最终被标识为漏洞利用工具包。如果测试网页最终被标识为正常网页,则入侵检测系统或入侵预防系统将允许网络用户访问该测试网页。反之,若测试网页最终被识别为漏洞利用工具包,则入侵检测系统或入侵防御系统将会阻挡该测试网页,网络用户无法访问该测试网页。
图8是示出了根据本文中的实施例的检测漏洞利用工具包的方法800的另一示例流程图。与图7中所示的示例方法700相比,示例方法800包括降低假阳性率的进一步方法。在步骤802,如果测试网页是Alexa公司列出的10,000个网页之一,则在步骤804,测试网页被标识为正常网页。如果测试网页不是10,000个网页中的一个,则执行步骤604和后续步骤以进一步识别测试网页是否是漏洞利用工具包。此外,代替提取链接的数量和图像的数量,在步骤806,仅提取链接的数量。如果测试网页中存在任何链接,则在步骤710,测试网页最终被标识为正常网页。如果在测试网页中没有链接,则在步骤712,测试网页最终被标识为漏洞利用工具包。
图9是根据本文实施例的另一个示例流程图,其示出了检测漏洞利用工具包的方法900。与图8所示的示例方法800相比,示例方法900包括降低假阳性率的进一步方法。在步骤902,如果测试网页的大小大于1024字节,则执行步骤802和后续步骤以进一步检测测试网页是否是漏洞利用工具包。如果测试网页的大小小于1024字节,则在步骤904,该测试网页被排除在考虑之外。这样,如果待分析网页小于1024字节,入侵检测系统或入侵防御系统可以快速丢弃网页,这对于进一步的分析是无意义的。此外,代替提取链接的数量和图像的数量,在步骤906,仅提取图像的数量。如果测试网页中存在任何图像,则在步骤710,测试网页最终被标识为正常网页。如果测试网页中没有图像,则在步骤712,测试网页最终被标识为漏洞利用工具包。
图10是其中可以实现说明性实施例的方面的示例数据处理系统1000的框图。数据处理系统1000是计算机(诸如服务器或客户端)的实例,实现本发明的说明性实施例的处理的计算机可用代码或指令位于其中。在一个实施例中,图10可表示服务器计算设备。
在所描绘的示例中,数据处理系统1000可以采用包括北桥和存储器控制器集线器(NB/MCH)1001以及南桥和输入/输出(I/O)控制器集线器(SB/ICH)1002的集线器架构。处理单元1003、主存储器1004和图形处理器1005可以连接到NB/MCH1001。图形处理器1005可以通过加速图形端口(AGP)(图10中未示出)连接到NB/MCH1001。
在所描绘的示例中,网络适配器1006连接到SB/ICH1002。音频适配器1007、键盘和鼠标适配器1008、调制解调器1009、只读存储器(ROM)1010、硬盘驱动器(HDD)1011、光盘驱动器(CD或DVD)1012、通用串行总线(USB)端口和其他通信端口1013以及PCI/PCIe设备1014可以通过总线系统1016连接到SB/ICH1002。PCI/PCIe设备1014可以包括用于笔记本计算机的以太网适配器、附加卡和PC卡。ROM1010可以是例如闪存基本输入/输出系统(BIOS)。HDD1011和光驱动器1012可以使用集成驱动电子设备(IDE)或串行高级技术附件(SATA)接口。超级I/O(SIO)设备1015可以连接到SB/ICH1002。
操作系统可在处理单元1003上运行。操作系统可以协调和提供对数据处理系统1000内的不同组件的控制。作为客户端,操作系统可以是可商购的操作系统。面向对象的编程系统(例如JavaTM编程系统)可结合操作系统运行,且提供从在数据处理系统1000上执行的面向对象的程序或应用程序对操作系统的调用。作为服务器,数据处理系统1000可以是运行高级交互执行操作系统或Linux操作系统的
Figure BDA0003161604620000131
数据处理系统1000可以是对称多处理器(SMP)系统,其在处理单元1003中可以包括多个处理器。或者,可以采用单个处理器系统。
操作系统、面向对象的编程系统和应用或程序的指令位于诸如HDD1011的存储设备上,并被加载到主存储器1004中以供处理单元1003执行。用于产生系统的实施例的过程可由处理单元1003使用计算机可用程序代码来执行,所述计算机可用程序代码可位于存储器(例如,主存储器1004、ROM1010)中,或一个或一个以上外围装置中。
总线系统1016可以包括一个或多个总线。总线系统1016可以使用任何类型的通信结构或架构来实现,该通信结构或架构可以提供在附接到该结构或架构的不同组件或设备之间的数据传输。通信单元(例如调制解调器1009或网络适配器1006)可包含可用以发射和接收数据的一个或一个以上装置。
所属领域的技术人员将了解,图10中所描绘的硬件可取决于实施例而变化。除了所描绘的硬件之外或代替所描绘的硬件,可以使用其他内部硬件或外围设备,诸如闪存、等效非易失性存储器或光盘驱动器。此外,数据处理系统1000可以采取许多不同数据处理系统的形式,包括但不限于客户端计算设备、服务器计算设备、平板计算机、膝上型计算机、电话或其他通信设备、个人数字助理等。基本上,数据处理系统1000可以是没有架构限制的任何已知或以后开发的数据处理系统。
计算机可读存储媒质可以是可以保留和存储指令以供指令执行设备使用的有形设备。计算机可读存储媒质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述各项的任何合适的组合。计算机可读存储媒质的更具体例子的非穷举列表包括以下:便携式计算机盘,头盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存),静态随机存取存储器(SRAM)、便携式致密盘只读存储器(CD-ROM),数字通用盘(DVD)、记忆棒、软盘、机械编码设备(诸如穿孔卡片)或具有记录在其上的指令的凹槽中的凸起结构),以及上述的任意合适的组合。如本文中所使用的计算机可读存储媒质不应被解释为瞬态信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输媒质传播的电磁波(例如,通过光纤电缆的光脉冲)、或通过导线传输的电信号。
本文所述的计算机可读程序指令可从计算机可读存储介质下载到相应的计算/处理设备,或经由网络(例如,互联网、局域网(LAN)、广域网(WAN)和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机、和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储媒质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令,指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据,或者以一种或多种编程语言的任意组合编写的源代码或目标代码,包括Java、Smalltalk、C++等面向对象的编程语言,以及常规的过程式编程语言,如“C”编程语言或类似的编程语言。计算机可读程序指令可以完全在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何类型的网络(包括LAN或WAN)连接到用户的计算机,或者可以连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。在一些实施例中,电子电路(包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA))可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以便执行本发明的方面。
本文中参考根据本发明的实施例的方法、设备(系统)和计算机程序产品的流程图说明和/或框图描述本发明的方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给通用计算机的处理器,专用计算机或其他可编程数据处理装置,以产生机器,其通过计算机或其他可编程数据处理装置的处理器执行,创建用于实现在流程图和/或方框图的一个或多个方框中指定的功能/动作的装置。这些计算机可读程序指令还可存储在可指导计算机的计算机可读存储媒质中,可编程数据处理装置,和/或以特定方式起作用的其他设备,使得具有存储在其中的指令的计算机可读存储媒质包括制品,该制品包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各方面的指令。
计算机可读程序指令还可以加载到计算机、其他可编程数据处理装置上,或使得在计算机上执行一系列操作步骤的其他装置,其他可编程装置、或用于产生计算机实现的过程的其他设备,从而使得这些指令在该计算机上执行,其他可编程装置或其他设备实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图图示了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。对此,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包括一个或多个用于实现规定的逻辑功能的可执行指令。在一些替代实现方式中,在框中标注的功能可以不以图中标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行。还要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以由执行规定的功能或动作或者执行专用硬件和计算机指令的组合的基于专用硬件的系统来实现。
本说明书和权利要求书可以利用关于说明性实施例的特定特征和元素的术语“一个”、“至少一个”和“一个或多个”。应当理解,这些术语和短语意在表明在特定说明性实施例中存在至少一个特定特征或元素,但是也可以存在多于一个。即,这些术语/短语不旨在将说明或权利要求限于单个特征/元素存在或要求多个这样的特征/元素存在。相反,这些术语/短语仅需要至少一个单个特征/元件,其中多个这样的特征/元件可能在说明书和权利要求书的范围内。
此外,应当理解,以下描述使用说明性实施例的不同元件的多个不同实例,以进一步说明说明性实施例的示范性实现方式,并帮助理解说明性实施例的机制。这些实例旨在是非限制性的,并且不是实现说明性实施例的机制的不同可能性的穷举。鉴于本说明书,本领域普通技术人员将清楚的是,在不脱离本发明的精神和范围的情况下,存在用于除在此提供的实例之外或替代在此提供的实例可以利用的这些不同元件的许多其他替代性实现方式。
附图的系统和过程不是排他性的。可以根据本文描述的实施例的原理导出其他系统、过程和菜单以实现相同的目的。应当理解,本文所示和所述的实施例和变型仅用于说明目的。在不脱离实施例的范围的情况下,本领域技术人员可以实现对当前设计的修改。如本文所述,不同系统、子系统、代理、管理器和过程可使用硬件组件、软件组件和/或其组合来实现。除非使用短语“用于...的装置”明确叙述该元件,否则本文中的任何权利要求元件都不应在35U.S.C.112(f)的规定下进行解释。
虽然已经参考示例性实施例描述了本发明,但是本发明不限于此。本领域技术人员将理解,可以对本发明的优选实施例进行许多改变和修改,并且可以在不脱离本发明的真实精神的情况下进行这样的改变和修改。因此,旨在将所附权利要求解释为覆盖落入本发明的真实精神和范围内的所有此类等效变化。

Claims (25)

1.一种数据处理系统中的计算机实施的方法,所述数据处理系统包括处理器和包含指令的存储器,所述指令由所述处理器执行以致使所述处理器实施识别漏洞利用工具包的方法,所述方法包括:
由所述处理器接收网页;
由所述处理器提取所述网页的多个特征;以及
由所述处理器通过使用所提取的特征来训练的集成分类器模型来判定所述网页是否与漏洞利用工具包相关联。
2.根据权利要求1所述的方法,其中,所述多个特征包括以下一个或多个:所述多个独特n元组,n元组的总数、独特n元组的数量与n元组的总数的比率,文件大小,以及文件大小与n元组总数的比率。
3.如权利要求2所述的方法,其中该n元组是二元组。
4.如权利要求2所述的方法,进一步包括:
由所述处理器识别所述网页中的链接的数目;以及
如果所述链接的数量为零,则由所述处理器确定所述网页与所述漏洞利用工具包相关联。
5.如权利要求2所述的方法,进一步包括:
由所述处理器识别所述网页中的图像的所述数目;以及
如果所述图像的数量为零,则由所述处理器确定所述网页与所述漏洞利用工具包相关联。
6.如权利要求2所述的方法,进一步包括:
由所述处理器识别所述网页中的链接的数目和图像的数目;并且
如果所述链接数量和所述图像数量均为零,则所述处理器确定所述网页与所述漏洞利用工具包相关联。
7.如权利要求2所述的方法,进一步包括:
由所述处理器识别所述网页是否是前万个网页中的一个;并且
如果所述网页是前万个网页中的一个,则所述处理器确定所述网页不与所述漏洞利用工具包相关联。
8.如权利要求3所述的方法,进一步包括:
所述处理器识别所述网页的大小是否小于1024字节;并且
如果所述网页的大小小于1024字节,则所述处理器消除所述网页。
9.如权利要求2所述的方法,进一步包括:
如果所述网页是包括压缩对象或可执行二进制内容的非基于文本的网页,则由所述处理器消除所述网页。
10.一种用于识别漏洞利用工具包的计算机程序产品,所述计算机程序产品包括计算机可读存储媒体,所述计算机可读存储媒体具有随其体现的程序指令,所述程序指令可由处理器执行以致使所述处理器:
接收网页;
提取所述网页的多个特征,其中所述多个特征包括所述独特二元组的数目、所述二元组的总数目、所述独特二元组的数目与所述二元组的总数目的比率、文件大小以及所述文件大小与所述二元组的总数目的比率中的一者或一者以上;并且
通过使用所提取的特征来训练的集成分类器模型来确定所述网页是否与漏洞利用工具包相关联。
11.如权利要求10所述的计算机程序产品,其中,所述训练的集成分类器模型包括由朴素贝叶斯分类器和随机规则分类器生成的模型。
12.如权利要求10所述的计算机程序产品,其中还所述所述处理器:
使用所确定的网页来继续训练所述经训练的集成分类器模型。
13.如权利要求10所述的计算机程序产品,其中还使所述处理器:
使用一个或多个新的漏洞利用工具包,继续训练所述训练的集成分类器模型。
14.如权利要求13所述的计算机程序产品,其中还使所述处理器:
从所述经训练的集成分类器模型中移除旧的漏洞利用工具包。
15.如权利要求10所述的计算机程序产品,其中还使该处理器:
用新的集成分类器模型来替换所述训练的集成分类器模型,其中,所述新的集成分类器模型由一个或多个新的漏洞利用工具包来训练。
16.如权利要求11所述的计算机程序产品,其中还使所述处理器:
识别所述网页中的链接的数目和图像的数目;以及
如果所述链接数量和所述图像数量均为零,则确定所述网页与所述漏洞利用工具包相关联。
17.如权利要求16所述的计算机程序产品,其中还使所述处理器:
识别所述网页是否是前万个网页中的一个;以及
如果所述网页是前万个网页之一,则确定所述网页不与所述漏洞利用工具包相关联。
18.如权利要求17所述的计算机程序产品,其中还使所述处理器:
识别所述网页的大小是否小于1024字节;以及
如果所述网页的大小小于1024字节,则消除所述网页。
19.一种用于识别漏洞利用工具包的系统,包括:
处理器,被配置为:
接收网页;
提取所述网页的多个特征,其中所述多个特征包括所述独特二元组的数目、所述二元组的总数目、所述独特二元组的数目与所述二元组的总数目的比率、文件大小以及所述文件大小与所述二元组的总数目的比率中的一者或一者以上;并且
通过使用所提取的特征来训练的集成分类器模型来判定所述网页是否与所述漏洞利用工具包相关联,其中,所述训练的集成分类器模型包括由朴素贝叶斯分类器和随机规则分类器生成的模型。
20.如权利要求19所述的系统,其中所述处理器被进一步配置为:
使用所确定的网页和附加的一个或多个新的漏洞利用工具包,继续训练所述训练的集成分类器模型。
21.如权利要求19所述的系统,该处理器被进一步配置成用于:
识别所述网页是否是前万个网页中的一个;
如果所述网页是前万个网页之一,则确定所述网页不与所述漏洞利用工具包相关联;
识别所述网页中的链接的数目和图像的数目;以及
如果所述链接数量和所述图像数量均为零,则确定所述网页与所述漏洞利用工具包相关联。
22.一种用于识别漏洞利用工具包的系统,包括:
网页识别模块,用于识别网页是否是前万个网页中的一个,如果所述网页是前万个网页中的一个,则确定所述网页与所述漏洞利用工具包不相关联;
训练的集成分类器模型,其包括由朴素贝叶斯分类器和随机规则分类器生成的模型,所述训练的集成分类器模型被配置为确定所述网页是否与所述漏洞利用工具包相关联;
过滤器,所述过滤器包括链接计数(link_count)过滤器和图像计数(image-count)过滤器,所述过滤器被配置为识别所述网页中的所述链接的数量和所述图像的数量,并且如果所述链接的数量和所述图像的数量均为零,则确定所述网页与所述漏洞利用工具包相关联。
23.如权利要求22所述的系统,其中使用所确定的网页和附加的一个或多个新的漏洞利用工具包来连续地训练所述训练的集成分类器模型。
24.一种入侵预防系统,包括用于漏洞利用工具包的系统,其中所述用于识别漏洞利用工具包的系统包括:
处理器,被配置为:
接收网页;
提取所述网页的多个特征,其中所述多个特征包括所述独特二元组的数目、所述二元组的总数目、所述独特二元组的数目与所述二元组的总数目的比率、文件大小以及所述文件大小与所述二元组的总数目的比率中的一者或一者以上;
识别所述网页是否是前万个网页中的一个;
如果所述网页是前万个网页中的一个,确定所述网页不与所述漏洞利用工具包相关联;
如果所述网页不是前万个网页中的一个,通过基于所述提取的特征的训练的集成分类器模型来检测所述网页是否与所述漏洞利用工具包相关联,其中,所述训练的集成分类器模型包括由朴素贝叶斯分类器和随机规则分类器生成的模型,以及使用所确定的网页和附加的一个或多个新漏洞利用工具包来连续地训练所述训练的集成分类器模型;
如果所述网页被所述训练的集成分类器模型检测为与所述漏洞利用工具包相关联,识别所述网页中的图像的数目;
如果图像的数量为零,确定所述网页与所述漏洞利用工具包相关联;以及
如果所述网页被确定为与所述漏洞利用工具包相关联,则阻止所述网页。
25.如权利要求24所述的入侵预防系统,所述处理器还被配置为:
识别所述网页的大小是否小于1024字节;如果所述网页的大小小于1024字节,则消除所述网页。
CN202080009105.7A 2019-01-30 2020-01-15 用于识别漏洞利用工具包的方法 Active CN113316786B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/262,340 US11349856B2 (en) 2019-01-30 2019-01-30 Exploit kit detection
US16/262,340 2019-01-30
PCT/IB2020/050292 WO2020157591A1 (en) 2019-01-30 2020-01-15 Exploit kit detection

Publications (2)

Publication Number Publication Date
CN113316786A true CN113316786A (zh) 2021-08-27
CN113316786B CN113316786B (zh) 2023-05-16

Family

ID=71731796

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080009105.7A Active CN113316786B (zh) 2019-01-30 2020-01-15 用于识别漏洞利用工具包的方法

Country Status (6)

Country Link
US (1) US11349856B2 (zh)
JP (1) JP7391960B2 (zh)
CN (1) CN113316786B (zh)
DE (1) DE112020000116T5 (zh)
GB (1) GB2595139B (zh)
WO (1) WO2020157591A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102007809B1 (ko) * 2019-03-05 2019-08-06 에스지에이솔루션즈 주식회사 이미지를 이용한 신경망 기반 익스플로잇킷 탐지 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140189864A1 (en) * 2012-12-27 2014-07-03 Microsoft Corporation Identifying web pages in malware distribution networks
CN107180194A (zh) * 2017-05-11 2017-09-19 北京安赛创想科技有限公司 基于视觉分析系统进行漏洞检测的方法及装置
US9825976B1 (en) * 2015-09-30 2017-11-21 Fireeye, Inc. Detection and classification of exploit kits
US10075456B1 (en) * 2016-03-04 2018-09-11 Symantec Corporation Systems and methods for detecting exploit-kit landing pages

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8161548B1 (en) * 2005-08-15 2012-04-17 Trend Micro, Inc. Malware detection using pattern classification
US8086599B1 (en) 2006-10-24 2011-12-27 Google Inc. Method and apparatus for automatically identifying compunds
US7873635B2 (en) 2007-05-31 2011-01-18 Microsoft Corporation Search ranger system and double-funnel model for search spam analyses and browser protection
US9270690B2 (en) * 2010-07-21 2016-02-23 Seculert Ltd. Network protection system and method
US8813239B2 (en) 2012-01-17 2014-08-19 Bitdefender IPR Management Ltd. Online fraud detection dynamic scoring aggregation systems and methods
US10069854B2 (en) * 2012-11-17 2018-09-04 The Trustees Of Columbia University In The City Of New York Methods, systems and media for evaluating layered computer security products
US8850583B1 (en) 2013-03-05 2014-09-30 U.S. Department Of Energy Intrusion detection using secure signatures
EP3120286B1 (en) * 2014-03-17 2019-07-17 Proofpoint, Inc. Behavior profiling for malware detection
US10044750B2 (en) * 2015-01-16 2018-08-07 Microsoft Technology Licensing, Llc Code labeling based on tokenized code samples
US9723016B2 (en) * 2015-05-14 2017-08-01 International Business Machines Corporation Detecting web exploit kits by tree-based structural similarity search
US10185761B2 (en) * 2015-08-07 2019-01-22 Cisco Technology, Inc. Domain classification based on domain name system (DNS) traffic
US9992217B2 (en) * 2015-12-31 2018-06-05 The University Of North Carolina At Chapel Hill Methods, systems, and computer readable media for detecting malicious network traffic
US10469523B2 (en) * 2016-02-24 2019-11-05 Imperva, Inc. Techniques for detecting compromises of enterprise end stations utilizing noisy tokens
WO2017217163A1 (ja) 2016-06-17 2017-12-21 日本電信電話株式会社 アクセス分類装置、アクセス分類方法及びアクセス分類プログラム
US9892253B1 (en) 2016-06-20 2018-02-13 Amazon Technologies, Inc. Buffer overflow exploit detection
CN106169050B (zh) 2016-08-02 2019-03-08 中国科学院软件研究所 一种基于网页知识发现的PoC程序提取方法
US11128664B1 (en) * 2016-12-08 2021-09-21 Trend Micro Incorporated Intrusion prevention system with machine learning model for real-time inspection of network traffic
US10728268B1 (en) * 2018-04-10 2020-07-28 Trend Micro Incorporated Methods and apparatus for intrusion prevention using global and local feature extraction contexts

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140189864A1 (en) * 2012-12-27 2014-07-03 Microsoft Corporation Identifying web pages in malware distribution networks
US9825976B1 (en) * 2015-09-30 2017-11-21 Fireeye, Inc. Detection and classification of exploit kits
US10075456B1 (en) * 2016-03-04 2018-09-11 Symantec Corporation Systems and methods for detecting exploit-kit landing pages
CN107180194A (zh) * 2017-05-11 2017-09-19 北京安赛创想科技有限公司 基于视觉分析系统进行漏洞检测的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘扬, 中国优秀硕士学位论文全文数据库 *

Also Published As

Publication number Publication date
JP2022518659A (ja) 2022-03-16
US20200244686A1 (en) 2020-07-30
JP7391960B2 (ja) 2023-12-05
DE112020000116T5 (de) 2021-07-22
GB2595139B (en) 2022-12-28
CN113316786B (zh) 2023-05-16
WO2020157591A1 (en) 2020-08-06
GB2595139A (en) 2021-11-17
US11349856B2 (en) 2022-05-31

Similar Documents

Publication Publication Date Title
US11277443B2 (en) Detection of phishing internet link
CN108667816B (zh) 一种网络异常的检测定位方法及系统
US11243834B1 (en) Log parsing template generation
US11222059B2 (en) Data clustering
Opara et al. HTMLPhish: Enabling phishing web page detection by applying deep learning techniques on HTML analysis
US11574052B2 (en) Methods and apparatus for using machine learning to detect potentially malicious obfuscated scripts
CN112041815B (zh) 恶意软件检测
CN107038157B (zh) 基于人工智能的识别错误发现方法、装置及存储介质
US20210021624A1 (en) Method, electronic device and computer program product for detecting abnormal network request
US11797668B2 (en) Sample data generation apparatus, sample data generation method, and computer readable medium
CN113110988A (zh) 利用定义的输入格式来测试应用
CN111753290B (zh) 软件类型的检测方法及相关设备
US20140122069A1 (en) Automatic Speech Recognition Accuracy Improvement Through Utilization of Context Analysis
WO2023116561A1 (zh) 一种实体提取方法、装置、电子设备及存储介质
CN115221516B (zh) 恶意应用程序识别方法及装置、存储介质、电子设备
CN114328106A (zh) 日志数据处理方法、装置、设备及存储介质
CN116842520A (zh) 基于检测模型的异常感知方法、装置、设备及介质
CN113316786B (zh) 用于识别漏洞利用工具包的方法
CN110674497B (zh) 一种恶意程序相似度计算的方法和装置
AU2021356255B2 (en) Action-object recognition in cluttered video scenes using text
CN115455416A (zh) 一种恶意代码检测方法、装置、电子设备及存储介质
US11269626B2 (en) Quality analysis of source code
CN113553487B (zh) 网址类型的检测方法、装置、电子设备及存储介质
CN118094551B (zh) 基于大数据的系统安全分析方法、设备及介质
US11281995B2 (en) Finding optimal surface for hierarchical classification task on an ontology

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