一种发现隐藏的蠕虫病毒的方法及系统的制作方法

文档序号:10578141阅读:538来源:国知局
一种发现隐藏的蠕虫病毒的方法及系统的制作方法
【专利摘要】本发明提供一种发现隐藏的蠕虫病毒的方法及系统。利用本发明的方法及系统,能够快速并且准确地发现隐藏的蠕虫病毒。本发明的方法将机器学习的SVM算法应用于恶意域名检测,实际上是赋予机器以人类的经验来完成复杂的分类工作;域名特征值的分析方法比较新颖和全面,包括计算字符的熵值,好念程度分析,字母和数字的连续性分析,n?gram(一种自然语言处理的方法,计算一组词语出现的频率)分析,顶级域名分析等;黑名单动态加载机制,使隐藏的蠕虫病毒能够被实时,快速地发现。
【专利说明】
一种发现隐藏的蠕虫病毒的方法及系统
技术领域
[0001 ]发明总体涉及计算机技术领域,具体涉及网络安全领域,尤其涉及一种发现隐藏的蠕虫病毒的方法和系统。
【背景技术】
[0002]蠕虫病毒(例如Conficker) —般利用netb1s或DNS的方式对C&C服务器(僵尸网络中的命令和控制中心)进行域名请求。为了对抗域名黑名单的封堵,Conficker采用域名生成算法(Domain Generat1n Algorithm,DGA)定期生成大量新域名进行请求,有效地干扰了黑名单的检测和维护。
[0003]目前,检测恶意域名的方法不多。主要有:
[0004]基于域名特征的方法分析域名的静态特征,比如TTL,域名长度等,准确率不高;
[0005]基于统计分析的方法分析域名请求的动态特征,检测周期过长,不能快速响应病毒的攻击;
[0006]通过分析病毒的源码找出随机算法,这种方法往往有滞后的缺陷,跟不上病毒的更新速度。
[0007]因此,现有的恶意域名检测方法不能有效地发现隐藏的蠕虫病毒。

【发明内容】

[0008]为解决上述当前技术存在的问题,本发明提供了一种发现隐藏的蠕虫病毒的方法。另外,本申请还提供一种发现隐藏的蠕虫病毒的系统。基于本发明的方法和系统。能够快速和准确地检测恶意域名,从而发现隐藏的蠕虫病毒。
[0009]本发明的发现隐藏的蠕虫病毒的方法,具体包含以下步骤:
[0010]步骤一:利用域名特征计算的相关算法,结合机器学习的支持向量机SVM算法,离线生成域名训练模型;
[0011]步骤二:利用深度包检测DPI技术解析域名请求,生成域名库;
[0012]步骤三:结合域名训练模型和域名库,利用域名特征计算的相关算法和SVM算法,预测域名的类别,对恶意域名生成黑名单;
[0013]步骤四:利用DPI技术,结合黑名单,对恶意域名请求产生告警事件。
[0014]进一步地,其中,步骤一中离线生成域名训练模型具体为:
[0015](I)向构建训练模型子系统输入大量的训练数据,利用特征计算的相关算法,计算域名的特征值;
[0016](2)利用SVM算法,对特征值归一化,得到归一化参数,最后生成域名训练模型。
[0017]进一步地,其中,训练数据包含:合法域名和恶意域名。
[0018]进一步地,其中,特征计算包含:计算字符的熵值,分析字符的好念程度,分析字母和数字的连续程度,利用n-gram方法进行分析,分析顶级域名。
[0019]进一步地,其中,步骤二中生成域名库具体为:DPI子系统接收数据包,协议解析模块对协议进行解析,生成域名库。
[0020]进一步地,其中,步骤三中生成黑名单具体为:
[0021](I)生成黑名单模块利用特征计算的相关算法计算域名特征值;
[0022](2)利用SVM算法,结合归一化参数把特征值归一化,结合域名训练模型预测域名是否合法,对恶意域名生成黑名单。
[0023]进一步地,其中,步骤四中对恶意域名请求产生告警事件具体为:
[0024]黑名单匹配模块加载域名黑名单,对恶意域名生成告警事件并上报给界面模块;
[0025]界面模块展示恶意域名事件。
[0026]根据本发明的一种发现隐藏的蠕虫病毒的系统,该系统布置在监控服务器中,在典型的的网络拓扑中,通过旁路模式部署,监控服务器连接网络中交换机的镜像端口,监控网络中的所有流量,其中,所述发现隐藏的蠕虫病毒的系统包括:构建训练模型子系统和深度包检测DPI子系统;
[0027]其中,构建训练模型子系统用于生成训练模型,DPI子系统用于解析域名请求,然后生成域名库,以及生成域名黑名单和匹配域名黑名单;
[0028]所述构建训练模型子系统和深度包检测DPI子系统通过文件方式彼此通信,构建训练模型子系统的输出包括域名训练模型文件和归一化参数文件是DPI子系统的输入,DPI子系统在生成域名黑名单阶段需要使用域名训练模型和归一化参数。
[0029]进一步地,其中,所述构建训练模型子系统包括:
[0030]域名特征计算模块,其用于对大量的合法域名和恶意域名进行特征值计算;以及
[0031]生成域名训练模型模块,该模块利用SVM算法,首先对特征值做归一化,然后生成域名训练模型,得到归一化参数;
[0032]其中,所述域名特征计算模块和生成域名训练模型模块通过文件方式彼此通信,域名特征计算模块的输出包括特征值文件是生成域名训练模型模块的输入,生成域名训练模型时需要使用特征值。
[0033]进一步地,其中,所述DPI子系统包括:
[0034]界面模块,其用于展示安全警告;
[0035]核心模块,其作为协议解析模块对协议进行分析;
[0036]生成黑名单模块,其利用SVM算法,结合域名训练模型和归一化,预测域名是否合法;
[0037]黑名单匹配模块,其通过加载域名黑名单,对匹配黑名单的恶意域名产生警告事件;以及
[0038]底层模块,其作为收包和基本解析模块来接收数据包,并对数据包做基本解析;
[0039]其中,所述底层模块和所述核心模块彼此通信连接,共享数据包解析数据,所述核心模块在所述底层模块解析的基础上做深度解析;所述核心模块和所述生成黑名单模块彼此通信连接,共享数据包深度解析数据括域名信息,所述生成黑名单模块预测域名是否合法;所述生成黑名单模块和所述黑名单匹配模块通过文件的方式彼此通信,所述生成黑名单模块生成黑名单规则文件,所述黑名单匹配模块加载黑名单;黑名单模块和界面模块彼此通信连接,进程间通信可以采用socket(套接字)方式,黑名单模块对匹配的恶意域名产生告警事件,上报给界面模块。
[0040]本申请实施例的技术方案,能够快速并且准确地发现隐藏的蠕虫病毒。具体地具有如下创新点:
[0041]把机器学习的SVM算法应用于恶意域名检测,实际上是赋予机器以人类的经验来完成复杂的分类工作;
[0042]域名特征值的分析方法比较新颖和全面,包括计算字符的熵值,好念程度分析,字母和数字的连续性分析,n-gram(—种自然语言处理的方法,计算一组词语出现的频率)分析,顶级域名分析等;
[0043]黑名单动态加载机制,使隐藏的蠕虫病毒能够被实时,快速地发现。
【附图说明】
[0044]图1为本发明的发现隐藏的蠕虫病毒的方法的示例性流程图;
[0045]图2为根据本发明方法构建训练模型的示例性流程图;
[0046]图3为根据本发明的方法生成黑名单的示例性流程图;
[0047]图4为本发明的发现隐藏的蠕虫病毒的系统中构建训练模型子系统的示例性系统架构;
[0048]图5为本发明的发现隐藏的婦虫病毒的系统中DPI子系统的不例性系统架构;
[0049]图6为本发明的发现隐藏的蠕虫病毒的系统应用的示例性网络拓扑。
【具体实施方式】
[0050]为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0051]参照图1,示出了本发明的发现隐藏的蠕虫病毒的方法的示例性流程。首先利用域名特征计算的相关算法,结合机器学习的支持向量机SVM(Support Vector Machine)算法,离线生成域名训练模型。具体地,结合图2可以看出,离线构建训练模型时,首先输入大量的合法域名和恶意域名作为训练数据,利用特征计算的相关算法,计算域名的特征值;然后利用SVM算法,对特征值归一化,得到归一化参数,最后生成域名训练模型。其中,对域名进行特征值计算包含:计算字符的熵值,分析字符串的好念程度,分析字母和数字的连续程度,利用n-gram方法进行分析,分析顶级域名。
[0052]利用DPI(深度包检测)技术解析域名请求,生成域名库;结合域名训练模型和域名库,利用域名特征计算的相关算法以及SVM算法,预测域名的类别,对恶意域名生成黑名单。具体地,结合图3可以看出,DPI子系统接收数据包,协议解析模块对协议进行解析,生成域名库;生成黑名单模块首先利用特征计算的相关算法计算域名特征值,然后利用SVM算法,结合归一化参数把特征值归一化,结合域名训练模型预测域名是否合法,对恶意域名生成黑名单。
[0053]利用DPI技术,结合黑名单,对恶意域名请求产生告警事件。具体地,黑名单匹配模块加载域名黑名单,对恶意域名生成告警事件并上报给WEB模块;WEB模块展示恶意域名事件。
[0054]根据本发明的一种发现隐藏的蠕虫病毒的系统,其包括:构建训练模型子系统和深度包检测DPI子系统,其中,构建训练模型子系统用于生成训练模型,DPI子系统用于解析域名请求,然后生成域名库,以及生成域名黑名单和匹配域名黑名单;所述构建训练模型子系统和深度包检测DPI子系统彼此通信连接。
[0055]参见图4,示出了本发明的发现隐藏的蠕虫病毒的系统中构建训练模型的示例性系统架构。由图4可以看出,该构建训练模型子系统包括:域名特征计算模块和生成域名训练模型模块。其中,域名特征计算模块用于对大量的合法域名和恶意域名进行特征值计算;生成域名训练模型模块利用SVM算法,首先对特征值做归一化,然后生成域名训练模型,得到归一化参数。所述域名特征计算模块和生成域名训练模型模块在构建训练模型子系统中彼此通信连接。
[0056]参见图5,示出了本发明的发现隐藏的蠕虫病毒的系统中DPI子系统的示例性系统架构。由图5可以看出,DPI子系统包括:
[0057]界面模块,即WEB模块,该米快用于展示安全警告;
[0058]核心模块,图5中该核心模块实施为协议解析模块,用于对协议进行分析;
[0059]生成黑名单模块,其利用SVM算法,结合域名训练模型和归一化,预测域名是否合法;
[0060]黑名单匹配模块,其通过加载域名黑名单,对匹配黑名单的恶意域名产生警告事件;以及
[0061 ]底层模块,在图5中其具体事实为收包和基本解析模块,用于接收数据包,并对数据包做基本解析。
[0062]在所述DPI子系统中,所述界面模块、核心模块、生成黑名单模块、黑名单匹配模块及底层模块彼此通信连接。
[0063]最后,参照图6,示出了本发明的发现隐藏的蠕虫病毒的系统应用的示例性网络拓扑。其中,发现隐藏的蠕虫病毒的系统布置在监控服务器I中,监控服务器I连接网络中交换机2的镜像端口。当Conf icker婦虫病毒通过例如计算机3的netb1s(网络基本输入输出系统(Network Basic Input/Output System))或者DNS(域名服务器)的方式对C&C服务器4发起域名请求时,协议流量能被监控服务器I捕获到。在监控服务器上运行的发现隐藏的蠕虫病毒的系统中的DPI子系统中的底层模块,接收协议数据包并做基本解析得到基本解析数据;核心模块利用基本解析数据进行深度解析得到域名信息等数据;生成黑名单模块利用SVM算法,结合域名训练模型和归一化参数,以及域名信息,预测域名是否合法,对恶意域名生成黑名单规则文件;黑名单匹配模块加载域名黑名单,对匹配黑名单的恶意域名产生警告事件;WEB模块对产生的警告事件进行显示。
[0064]以上所述实例仅表达了本发明的实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利的限制。应该指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【主权项】
1.一种发现隐藏的蠕虫病毒的方法,其特征在于,包括以下步骤: 步骤一:利用域名特征计算的相关算法,结合机器学习的支持向量机SVM算法,离线生成域名训练模型; 步骤二:利用深度包检测DPI技术解析域名请求,生成域名库; 步骤三:结合域名训练模型和域名库,利用域名特征计算的相关算法和SVM算法,预测域名的类别,对恶意域名生成黑名单; 步骤四:利用DPI技术,结合黑名单,对恶意域名请求产生告警事件。2.根据权利要求1所述的方法,其中,步骤一中离线生成域名训练模型具体为: (1)向构建训练模型子系统输入大量的训练数据,利用特征计算的相关算法,计算域名的特征值; (2)利用SVM算法,对特征值归一化,得到归一化参数,最后生成域名训练模型。3.根据权利要求2所述的方法,其中,所述训练数据包含:合法域名和恶意域名。4.根据权利要求1或2所述的方法,其中,特征计算包含:计算字符的熵值,分析字符的好念程度,分析字母和数字的连续程度,利用n-gram方法进行分析,分析顶级域名。5.根据权利要求1所述的方法,其中,步骤二中生成域名库具体为:DPI子系统接收数据包,协议解析模块对协议进行解析,生成域名库。6.根据权利要求1所述的方法,其中,步骤三中生成黑名单具体为: (1)生成黑名单模块利用特征计算的相关算法计算域名特征值; (2)利用SVM算法,结合归一化参数把特征值归一化,结合域名训练模型预测域名是否合法,对恶意域名生成黑名单。7.根据权利要求1所述的方法,其中,步骤四中对恶意域名请求产生告警事件具体为: 黑名单匹配模块加载域名黑名单,对恶意域名生成告警事件并上报给界面模块; 界面模块展示恶意域名事件。8.—种发现隐藏的蠕虫病毒的系统,其特征在于,该系统布置在监控服务器中,在典型的的网络拓扑中,通过旁路模式部署,监控服务器连接网络中交换机的镜像端口,监控网络中的所有流量,其中,所述发现隐藏的蠕虫病毒的系统包括:构建训练模型子系统和深度包检测DPI子系统; 其中,构建训练模型子系统用于生成训练模型,DPI子系统用于解析域名请求,然后生成域名库,以及生成域名黑名单和匹配域名黑名单; 所述构建训练模型子系统和深度包检测DPI子系统通过文件方式彼此通信,构建训练模型子系统的输出包括域名训练模型文件和归一化参数文件是DPI子系统的输入,DPI子系统在生成域名黑名单阶段需要使用域名训练模型和归一化参数。9.根据权利要求8所述的发现隐藏的蠕虫病毒的系统,其中所述构建训练模型子系统包括: 域名特征计算模块,其用于对大量的合法域名和恶意域名进行特征值计算;以及 生成域名训练模型模块,该模块利用SVM算法,首先对特征值做归一化,然后生成域名训练模型,得到归一化参数; 其中,所述域名特征计算模块和生成域名训练模型模块通过文件方式彼此通信,域名特征计算模块的输出包括特征值文件是生成域名训练模型模块的输入,生成域名训练模型时需要使用特征值。10.根据权利要求8所述的发现隐藏的蠕虫病毒的系统,其中,所述DPI子系统包括: 界面模块,其用于展示安全警告; 核心模块,其作为协议解析模块对协议进行分析; 生成黑名单模块,其利用SVM算法,结合域名训练模型和归一化,预测域名是否合法; 黑名单匹配模块,其通过加载域名黑名单,对匹配黑名单的恶意域名产生警告事件;以及 底层模块,其作为收包和基本解析模块来接收数据包,并对数据包做基本解析; 其中,所述底层模块和所述核心模块彼此通信连接,共享数据包解析数据,所述核心模块在所述底层模块解析的基础上做深度解析;所述核心模块和所述生成黑名单模块彼此通信连接,共享数据包深度解析数据括域名信息,所述生成黑名单模块预测域名是否合法;所述生成黑名单模块和所述黑名单匹配模块通过文件的方式彼此通信,所述生成黑名单模块生成黑名单规则文件,所述黑名单匹配模块加载黑名单;黑名单模块和界面模块彼此通信连接,进程间通信可以采用socket方式,黑名单模块对匹配的恶意域名产生告警事件,上报给界面模块。
【文档编号】H04L29/06GK105939340SQ201610169390
【公开日】2016年9月14日
【申请日】2016年3月23日
【发明人】孙易安
【申请人】北京匡恩网络科技有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1