CN104243407A - 一种恶意软件网络入侵检测特征码的生成方法和设备 - Google Patents
一种恶意软件网络入侵检测特征码的生成方法和设备 Download PDFInfo
- Publication number
- CN104243407A CN104243407A CN201310233820.0A CN201310233820A CN104243407A CN 104243407 A CN104243407 A CN 104243407A CN 201310233820 A CN201310233820 A CN 201310233820A CN 104243407 A CN104243407 A CN 104243407A
- Authority
- CN
- China
- Prior art keywords
- condition code
- communication data
- monitoring condition
- invasion monitoring
- malware
- 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.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明的实施例提供一种恶意软件网络入侵检测特征码的生成方法和设备,实现了在多种运行环境下自动提取恶意软件网络特征码,提高了网络特征码的提取效率、通用性以及NIDS和NIPS系统对新兴恶意软件的响应速度。本发明实施例提供的方法包括:在具有不同运行环境的至少两个运行设备上分别运行恶意软件程序样本,并分别截取每个所述运行设备运行所述恶意软件程序样本产生的网络封包捕捉文件;对每个所述网络封包捕捉文件依次进行数据流重组、通信数据分类、公共子串提取和特征码生成过程,得到所述恶意软件网络入侵检测特征码。
Description
技术领域
本发明涉及通信领域,尤其涉及一种恶意软件网络入侵检测特征码的生成方法和设备。
背景技术
现阶段,恶意软件的网络入侵对因特网安全已经造成了严重危险,目前,可以通过网络入侵检测系统(Network Intrusion DetectionSystem,简称NIDS)和网络入侵防御系统(Network IntrusionPrevention System,简称NIPS)对恶意软件的网络通信进行检测,但是现有技术中NIDS特征码需要通过工程师通过手工或半手工的方式对恶意软件代码样本在单一运行设备上的网络行为进行追踪来提取,提取效率低,降低了NIDS和NIPS系统对新兴恶意软件的响应速度,而且仅从恶意软件代码样本在单一运行环境中的运行结果所得到的特征码往往带有该单一运行环境的参数,故所得到的特征码不具备通用性。
发明内容
本发明的实施例提供一种恶意软件网络入侵检测特征码的生成方法和设备,实现了在多种运行环境下自动提取恶意软件网络特征码,提高了网络特征码的提取效率、通用性以及NIDS和NIPS系统对新兴恶意软件的响应速度。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供了一种恶意软件网络入侵检测特征码的生成方法,包括:
在具有不同运行环境的至少两个运行设备上分别运行恶意软件程序样本,并分别截取每个所述运行设备运行所述恶意软件程序样本产生的网络封包捕捉文件;
对每个所述网络封包捕捉文件依次进行数据流重组、通信数据分类、公共子串提取和特征码生成过程,得到所述恶意软件网络入侵检测特征码。
在第一种可能的实现方式中,根据第一方面,所述方法还包括,
对所述恶意软件网络入侵检测特征码进行NIDS规则有效性验证,消除所述恶意软件网络入侵检测特征码中的无效规则。
在第二种可能的实现方式中,结合第一种可能的实现方式,所述方法还包括,
根据预先截取的已知合法流量,对所述进行NIDS规则有效性验证后的恶意软件网络入侵检测特征码进行规则验证,去除所述恶意软件网络入侵检测特征码中在实际使用中可能产生误报的规则。
在第三种可能的实现方式中,结合第一方面或者第一种可能的实现方式或者第二种可能的实现方式,所述运行环境包括操作系统版本、浏览器版本、身份权限、计算机名、用户名和IP地址中的一项或多项。
在第四种可能的实现方式中,结合第一方面,第一种至第三种可能的实现方式中的任一项,所述在分别具有不同的运行环境的至少两个运行设备上分别运行恶意软件程序样本,包括,
在预设时长内,分别在具有不同运行环境的至少两个所述运行设备上运行恶意软件的程序样本,
相应的,所述分别截取每个所述运行设备运行所述恶意软件程序样本产生的网络封包捕捉文件包括:
分别截取每个所述运行设备在所述预设时长内运行所述恶意软件程序样本产生的网络封包捕捉文件。
在第五种可能的实现方式中,结合第一方面,第一种至第四种可能的实现方式中的任一项,所述对每个所述网络封包捕捉文件依次进行数据流重组、通信数据归类、公共子串提取和特征码生成过程,得到所述恶意软件网络入侵检测特征码,具体包括:
对每个所述网络封包捕捉文件进行数据流重组,获得所述每个运行设备对应的通信数据;
将所述运行设备的通信数据归总后依据服务器IP地址、传输层协议、端口号及传输方向进行分类,得到分类后的通信数据集合;
分别从每个所述分类后的通信数据集合中提取每个所述分类后的通信数据集合的公共子串;
根据每个所述分类后的通信数据集合的公共子串构成的公共子串序列,获得所述恶意软件网络入侵检测特征码。
在第六种可能的实现方式中,结合第五种可能的实现方式,所述根据每个所述分类后的通信数据集合的公共子串构成的公共子串序列,获到所述恶意软件网络入侵检测特征码,包括:
针对每一个分类后的通信数据集合,若所述通信数据集合中由一个或多个公共子串排列组合构成的公共子串序列,能够匹配对应的所述通信数据集合中预设比例的通信数据,则确定所述公共子串序列为所述恶意软件网络入侵检测特征码。
第二方面,提供了一种恶意软件网络入侵检测特征码的生成设备,与具有不同运行环境的至少两个运行设备连接,所述设备包括:
监视单元,用于开启和关闭具有不同运行环境的至少两个运行设备以及控制各个运行设备运行恶意软件程序样本;
截取单元,用于分别截取每个所述运行设备运行所述恶意软件程序样本产生的网络封包捕捉文件;
恶意软件网络入侵检测特征码生成单元,用于对每个所述网络封包捕捉文件依次进行数据流重组、通信数据分类、公共子串提取和特征码生成过程,得到所述恶意软件网络入侵检测特征码。
在第一种可能的实现方式中,根据第二方面,所述设备还包括,
有效性验证单元,用于对所述恶意软件网络入侵检测特征码进行NIDS规则有效性验证,消除所述恶意软件网络入侵检测特征码中的无效规则。
在第二种可能的实现方式中,结合第一种可能的实现方式,所述的设备还包括,
合法流量误报验证单元,用于根据预先截取的已知合法流量,对所述进行NIDS规则有效性验证后的恶意软件网络入侵检测特征码进行规则验证,去除所述恶意软件网络入侵检测特征码中在实际使用中可能产生误报的规则。
在第三种可能的实现方式中,结合第二方面或者第一种可能的实现方式或者第二种可能的实现方式,所述运行环境包括操作系统版本、浏览器版本、身份权限、计算机名、用户名和IP地址中的一项或多项。
在第四种可能的实现方式中,结合第二方面,第一种至第三种可能的实现方式中的任一项,所述监视单元用于:
在预设时长内,分别在具有不同运行环境的至少两个所述运行设备上运行恶意软件的程序样本,
相应的,所述截取单元还用于:分别截取每个所述运行设备在所述预设时长内运行所述恶意软件程序样本产生的网络封包捕捉文件。
在第五种可能的实现方式中,结合第二方面,第一种至第四种可能的实现方式中的任一项,所述恶意软件网络入侵检测特征码生成单元,包括:
数据流重组模块,用于对每个所述网络封包捕捉文件进行数据流重组,获得所述每个运行设备对应的通信数据;
分类模块,用于将所述运行设备的通信数据归总后依据服务器IP地址、传输层协议、端口号及传输方向进行分类,得到分类后的通信数据集合;
公共子串提取模块,用于分别从每个所述分类后的通信数据集合中提取每个所述分类后的通信数据集合的公共子串;
特征码获得模块,用于根据每个所述分类后的通信数据集合的公共子串构成的公共子串序列,获得所述恶意软件网络入侵检测特征码。
在第六种可能的实现方式中,结合第五种可能的实现方式,所述特征码获得模块,用于针对每一个分类后的通信数据集合,若所述通信数据集合中由一个或多个公共子串排列组合构成的公共子串序列,能够匹配对应的所述通信数据集合中预设比例的通信数据,则确定所述公共子串序列为所述恶意软件网络入侵检测特征码。
第三方面,提供了一种恶意软件网络入侵检测特征码的生成设备,与具有不同运行环境的至少两个运行设备连接,包括:
与运行设备数量相同的通信接口,用于进行所述生成设备与运行设备之间的连接;
处理器,用于控制所述运行设备分别运行恶意软件程序样本;
以及分别截取每个所述运行设备运行所述恶意软件程序样本产生的网络封包捕捉文件;
以及对每个所述网络封包捕捉文件依次进行数据流重组、通信数据分类、公共子串提取和特征码生成过程,得到所述恶意软件网络入侵检测特征码。
在第一种可能的实现方式中,根据第三方面,所述处理器还用于,对所述恶意软件网络入侵检测特征码进行NIDS规则有效性验证,消除所述恶意软件网络入侵检测特征码中的无效规则。
在第二种可能的实现方式中,结合第一种可能的实现方式,所述处理器还用于,根据预先截取的已知合法流量,对所述进行NIDS规则有效性验证后的恶意软件网络入侵检测特征码进行规则验证,去除所述恶意软件网络入侵检测特征码中在实际使用中可能产生误报的规则。
在第三种可能的实现方式中,结合第三方面或者第一种可能的实现方式或者第二种可能的实现方式,所述运行环境包括操作系统版本、浏览器版本、身份权限、计算机名、用户名和IP地址中的一项或多项。
在第四种可能的实现方式中,结合第三方面,第一种至第三种可能的实现方式中的任一项,所述运行设备用于,在预设时长内,分别在具有不同运行环境的至少两个所述运行设备上运行恶意软件的程序样本,
相应的,所述处理器还用于,分别截取每个所述运行设备在所述预设时长内运行所述恶意软件程序样本产生的网络封包捕捉文件。
在第五种可能的实现方式中,结合第三方面,第一种至第四种可能的实现方式中的任一项,所述处理器用于,
对每个所述网络封包捕捉文件进行数据流重组,获得所述每个运行设备对应的通信数据;
将所述运行设备的通信数据归总后依据服务器IP地址、传输层协议、端口号及传输方向进行分类,得到分类后的通信数据集合;
分别从每个所述分类后的通信数据集合中提取每个所述分类后的通信数据集合的公共子串;
根据每个所述分类后的通信数据集合的公共子串构成的公共子串序列,获得所述恶意软件网络入侵检测特征码。
在第六种可能的实现方式中,结合第五种可能的实现方式,所述处理器用于,针对每一个分类后的通信数据集合,若所述通信数据集合中由一个或多个公共子串排列组合构成的公共子串序列,能够匹配对应的所述通信数据集合中预设比例的通信数据,则确定所述公共子串序列为所述恶意软件网络入侵检测特征码。
本发明实施例提供了一种恶意软件网络入侵检测特征码的生成方法和设备,通过截取具有不同运行环境的运行设备运行恶意软件程序样本产生的网络封包捕捉文件,并对网络封包捕捉文件经过数据流重组、通信数据归类、公共子串提取和特征码生成等步骤自动产生该恶意软件网络入侵检测特征码,提高了网络特征码的提取效率、通用性以及NIDS和NIPS系统对新兴恶意软件的响应速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种恶意软件网络入侵检测特征码的生成方法流程示意图;
图2为本发明实施例提供的一种恶意软件网络入侵检测特征码生成的详细过程示意图;
图3为本发明实施例提供的一种恶意软件网络入侵检测特征码的生成设备示意图;
图4为本发明实施例提供的另一种恶意软件网络入侵检测特征码的生成设备示意图;
图5为本发明实施例提供的一种恶意软件网络入侵检测特征码的生成设备的硬件装置图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,为本发明实施例提供的一种恶意软件网络入侵检测特征码的生成方法流程示意图,可以包括以下步骤:
S101:在具有不同运行环境的至少两个运行设备上分别运行恶意软件程序样本,并分别截取每个运行设备运行恶意软件程序样本产生的网络封包捕捉文件;
示例性的,运行环境可以包括操作系统版本、浏览器版本、身份权限、计算机名、用户名和IP地址中的一项或多项。
示例性的,在分别具有不同的运行环境的至少两个运行设备上分别运行恶意软件程序样本,可以包括,
在预设时长内,分别在具有不同运行环境的至少两个运行设备上运行恶意软件的程序样本,
相应的,上述的分别截取每个运行设备运行恶意软件程序样本产生的网络封包捕捉文件包括:可以分别截取每个运行设备在预设时长内运行恶意软件程序样本产生的网络封包捕捉文件。
S102:对每个网络封包捕捉文件依次进行数据流重组、通信数据分类、公共子串提取和特征码生成过程,得到恶意软件网络入侵检测特征码;
示例性的,具体可以包括:
对每个网络封包捕捉文件进行数据流重组,获得每个运行设备对应的通信数据;
将运行设备的通信数据归总后依据服务器IP地址、传输层协议、端口号及传输方向进行分类,得到分类后的通信数据集合;
分别从每个分类后的通信数据集合中提取每个分类后的通信数据集合的公共子串;
根据每个分类后的通信数据集合的公共子串构成的公共子串序列,获得恶意软件网络入侵检测特征码。
进一步的,根据每个分类后的通信数据集合的公共子串构成的公共子串序列,获到恶意软件网络入侵检测特征码,包括:
针对每一个分类后的通信数据集合,若通信数据集合中由一个或多个公共子串排列组合构成的公共子串序列,能够匹配对应的通信数据集合中预设比例的通信数据,则确定公共子串序列为恶意软件网络入侵检测特征码。
示例性的,在得到恶意软件网络入侵检测特征码之后,还可以包括对恶意软件网络入侵检测特征码进行NIDS规则有效性验证,消除恶意软件网络入侵检测特征码中的无效规则;
进一步的还可以包括,根据预先截取的已知合法流量,对所述进行NIDS规则有效性验证后的恶意软件网络入侵检测特征码进行规则验证,去除所述恶意软件网络入侵检测特征码中在实际使用中可能产生误报的规则。
本实施例提供了一种恶意软件网络入侵检测特征码的生成方法,通过截取具有不同运行环境的运行设备运行恶意软件程序样本产生的网络封包捕捉文件,并对网络封包捕捉文件经过数据流重组、通信数据归类、公共子串提取和特征码生成等步骤自动产生该恶意软件网络入侵检测特征码,提高了网络特征码的提取效率、通用性以及NIDS和NIPS系统对新兴恶意软件的响应速度。
下面通过具体的实施例进行说明,参见图2,为本发明实施例提供的一种恶意软件网络入侵检测特征码生成的详细过程,具体包括:
S201:在分别具有不同运行环境的至少两个运行设备上运行恶意软件程序样本;
示例性的,恶意软件程序样本可以通过主动和被动蜜罐技术,比如网页挂马检测之类的方式获取;或者用户上报样本获取,本发明实施例对此不做任何限定;
示例性的,运行设备的具体形式可以包括虚拟机、沙箱(Sandbox)和真实的物理机器这些能够运行恶意软件程序样本的设备,对本发明的目的实现不构成影响,所以,本发明实施例对此不做任何限定,示例性的,在本实施例中,仅以运行设备为虚拟机进行说明。
示例性的,虚拟机的数量至少为两个,且每个虚拟机的运行环境不同,运行环境可以包括操作系统版本、浏览器版本、身份权限、计算机名、用户名和IP地址中的一项或多项。考虑到虚拟机的运行环境的多样性、处理能力以及配置模块的数量等因素,本实施例中虚拟机的数量优选为3,3个虚拟机的运行环境各不相同,虚拟机1、虚拟机2、虚拟机3的运行环境如表1所示:
表1
虚拟机1 | 虚拟机2 | 虚拟机3 | |
操作系统版本 | WindowsXP | Windows2003 | Windows7 |
浏览器版本 | IE6 | IE8 | IE9 |
身份权限 | 管理员 | 管理员 | 非管理员 |
S202:在运行设备运行恶意软件程序样本过程中,每个运行设备分别截取运行设备运行该恶意软件程序样本时产生的网络封包捕捉文件;
示例性的,在本实施例中,每个虚拟机可以在一个指定的时长T执行恶意软件程序样本,并截取每个虚拟机在所述预设时长内运行所述恶意软件程序样本产生的网络封包捕捉文件,优选的,T的取值一般在半个小时至48个小时的范围内;本实施例中,3个虚拟机可以得到3个网络封包捕捉文件,每个网络封包捕捉文件对应一个虚拟机。
在得到了每个运行设备的网络封包捕捉文件之后,可以通过对其依次进行数据流重组、通信数据归类、公共子串提取和特征码生成过程,得到恶意软件网络入侵检测特征码,具体的步骤可以包括:
S203:依次对每个所述网络封包捕捉文件进行数据流重组,获得所述每个运行设备对应的通信数据;
示例性的,本实施例中,每个虚拟机的通信数据可以由重构该虚拟机对应的网络封包捕捉文件中的传输控制协议(TransmissionControl Protocol,简称TCP)数据流所得到的该虚拟机的TCP数据流内容和用户数据报协议(User Datagram Protocol,简称UDP)封包载荷数据组成,在本实施例中,以TCP数据流内容为例,每个虚拟机的通信数据可以参见表2所示,
表2
S204:将所有运行设备的通信数据归总后进行分类,得到分类后的通信数据集合;
示例性的,本实施例中,可以将表2所示的所有通信数据中,服务器IP地址、传输层协议、端口号以及传输方向这四个参数均相同的通信数据归为同一类别,得到分类后的通信数据集合,分类后的通信数据集合如表3所示,
表3
其中,集合1的分类依据为{ctrl.com,TCP,80,Out};集合2的归类依据为{www.evil.com,TCP,80,Out}。
S205:从每个分类后的通信数据集合中提取每个分类后的通信数据集合的公共子串;
示例性的,本实施例中,在每个分类后的通信数据集合中,提取多个通信数据均包含的公共子串,即每个公共子串出现在集合中通信数据的条数应该不小于2,如果出现多个公共子串,则应该消除其中具有包含关系的子串,比如若子串Si为子串Sj的一部分,则子串Si可以丢弃,只保留Sj,具体来说,表3中的集合1与集合2所包含的公共子串如表4所示:
表4
S206:根据每个所述分类后的通信数据集合的公共子串构成的公共子串序列,获得所述恶意软件网络入侵检测特征码;
示例性的,针对每个分类后的通信数据集合,将该通信数据集合中的一个或多个公共字串进行排列和组合,得到公共子串序列。若公共字串序列能够匹配其对应的通信数据集合中超过预设比例c的通信数据,其中0<c≤1,值得注意的是,依据公共子串出现在集合中通信数据的条数应该不小于2这一个性质,我们可以推断出公共字串序列能够匹配通信数据集合中的通信数据的条数也应该不小于2,因此,预设比例c的取值应当大于1/M,其中M为通信数据集合中通信数据的条目个数,那么此公共字串序列即为一个恶意软件网络入侵检测特征码。
具体的,我们可以从表4中一共得到3个恶意软件网络入侵检测特征码,其中,集合1可以得到两个恶意软件网络入侵检测特征码,分别为:
“http://ctrl.com/conn.php?act=start&os=(.*)&ie=(.*)&admin=(.*)”和“http://ctrl.com/conn.php?act=getcmd”,这两个第一特征码分别匹配集合1中50%的通信数据;其中(.*)表示通配符,用来表示任意一个或多个字符;
我们还可以从集合2得到一个恶意软件网络入侵检测特征码,可以匹配集合2中全部的通信数据,为“http://www.evil.com/mod(.*).dll”,其中(.*)表示通配符,用来表示任意一个或多个字符。
优选的,在得到了恶意软件网络入侵检测特征码之后,我们还可以对恶意软件网络入侵检测特征码进行验证,根据预先截取的已知合法流量,对所述进行NIDS规则有效性验证后的恶意软件网络入侵检测特征码进行规则验证,去除所述恶意软件网络入侵检测特征码中在实际使用中可能产生误报的规则,通过验证的恶意软件网络入侵检测特征码即成为了有效的且不会产生误报的恶意软件网络入侵检测特征码,具体的过程如下:
S207:将步骤S206得到的恶意软件网络入侵检测特征码转换为NIDS系统能够使用的NIDS规则;
S208:对NIDS规则进行规则有效性验证,消除所述恶意软件网络入侵检测特征码中的无效规则;
示例性的,可以将产生的NIDS规则加载到NIDS系统中,NIDS系统以步骤202产生的k个网络封包捕捉文件为输入运行,如果某条规则没有产生任何告警,则被丢弃,以使得能够确保只有能够对恶意软件网络通信产生告警的NIDS规则,才得以保留。
S209:对步骤208保留的NIDS规则进行合法流量误报验证,去除所述恶意软件网络入侵检测特征码中在实际使用中可能产生误报的规则;
示例性的,可以将步骤208保留的NIDS规则加载到NIDS系统中,NIDS系统以预先截取的已知合法流量作为输入运行,如果某条规则产生了告警,则被丢弃,因为该规则在实际应用中可能产生误报,以使得能够确保保留下来的NIDS规则不会出现误报。
经过上述两个验证过程之后,保留下来的NIDS规则所对应的恶意软件网络入侵检测特征码,即为有效的且不会产生误报的恶意软件网络入侵检测特征码。
本实施例提供了一种恶意软件网络入侵检测特征码的生成方法,通过截取具有不同运行环境的运行设备运行恶意软件程序样本产生的网络封包捕捉文件,并对网络封包捕捉文件经过数据流重组、通信数据归类、公共子串提取和特征码生成等步骤自动产生该恶意软件网络入侵检测特征码,提高了网络特征码的提取效率、通用性以及NIDS和NIPS系统对新兴恶意软件的响应速度。
本发明实施例提供了一种恶意软件网络入侵检测特征码的生成设备30,与具有不同运行环境的至少两个运行设备连接,参见图3,可以包括:
监视单元301,用于开启和关闭具有不同运行环境的至少两个运行设备以及指示各个运行设备运行恶意软件程序样本;
截取单元302,用于分别截取每个运行设备运行恶意软件程序样本产生的网络封包捕捉文件;
恶意软件网络入侵检测特征码生成单元303,用于对每个网络封包捕捉文件依次进行数据流重组、通信数据分类、公共子串提取和特征码生成过程,得到恶意软件网络入侵检测特征码。
示例性的,恶意软件程序样本可以通过主动和被动蜜罐技术,比如网页挂马检测之类的方式获取;或者用户上报样本获取,本发明实施例对此不做任何限定;
示例性的,运行设备的具体形式可以包括虚拟机、Sandbox和真实的物理机器这些能够运行恶意软件程序样本的设备,对本发明的目的实现不构成影响,所以,本发明实施例对此不做任何限定,示例性的,在本实施例中,仅以运行设备为虚拟机进行说明。
进一步的,虚拟机的数量至少为两个,且每个虚拟机的运行环境不同,运行环境可以包括操作系统版本、浏览器版本、身份权限、计算机名、用户名和IP地址中的一项或多项。考虑到虚拟机的运行环境的多样性、处理能力以及配置模块的数量等因素,本实施例中虚拟机的数量优选为3,3个虚拟机的运行环境各不相同,虚拟机1、虚拟机2、虚拟机3的运行环境如表1所示。
示例性的,监视单元301用于:在预设时长内,分别在具有不同运行环境的至少两个运行设备上运行恶意软件的程序样本,
相应的,截取单元302还用于:分别截取每个运行设备在预设时长内运行恶意软件程序样本产生的网络封包捕捉文件;
在本实施例中,监视单元301可以使得每个虚拟机可以在一个预设时长T内执行恶意软件程序样本,并且截取单元302截取每个虚拟机在预设时长T内运行恶意软件程序样本产生的网络封包捕捉文件,优选的,T的取值一般在半个小时至48个小时的范围内;本实施例中,3个虚拟机可以得到3个网络封包捕捉文件,每个网络封包捕捉文件对应一个虚拟机。
示例性的,参见图4,恶意软件网络入侵检测特征码生成单元303,包括:
数据流重组模块3031,用于对每个网络封包捕捉文件进行数据流重组,获得每个运行设备对应的通信数据;
本实施例中,每个虚拟机的通信数据可以由数据流重组模块3031重构该虚拟机对应的网络封包捕捉文件中的TCP数据流所得到的该虚拟机的TCP数据流内容和UDP封包载荷数据组成,在本实施例中,以TCP数据流内容为例,每个虚拟机的通信数据可以参见表2所示。
分类模块3032,用于将运行设备的通信数据归总后依据服务器IP地址、传输层协议、端口号及传输方向进行分类,得到分类后的通信数据集合;
本实施例中,分类模块3032可以将表2所示的所有通信数据中,服务器IP地址、传输层协议、端口号以及传输方向这四个参数均相同的通信数据分为同一类别,得到分类后的通信数据集合,分类后的通信数据集合如表3所示,其中,集合1的分类依据为{ctrl.com,TCP,80,Out};集合2的分类依据为{www.evil.com,TCP,80,Out}。
公共子串提取模块3033,用于分别从每个分类后的通信数据集合中提取每个分类后的通信数据集合的公共子串;
本实施例中,公共子串提取模块3033在每个分类后的通信数据集合中,提取多个通信数据均包含的公共子串,即每个公共子串出现在集合中通信数据的条数应该不小于2,如果出现多个公共子串,则应该消除其中具有包含关系的子串,比如若子串Si为子串Sj的一部分,则子串Si可以丢弃,只保留Sj,具体来说,表3中的集合1与集合2所包含的公共子串如表4所示。
特征码获得模块3034,用于根据每个分类后的通信数据集合的公共子串构成的公共子串序列,获得恶意软件网络入侵检测特征码。
示例性的,特征码获得模块3034,用于针对每一个分类后的通信数据集合,若通信数据集合中由一个或多个公共子串排列组合构成的公共子串序列,能够匹配对应的通信数据集合中预设比例c的通信数据,则确定该公共子串序列为恶意软件网络入侵检测特征码,值得注意的是,依据公共子串出现在集合中通信数据的条数应该不小于2这一个性质,我们可以推断出公共字串序列能够匹配通信数据集合中的通信数据的条数也应该不小于2,因此,预设比例c的取值应当大于1/M,其中M为通信数据集合中通信数据的条目个数;
本实施例中,具体的,特征码获得模块3034可以从表4中一共得到3个恶意软件网络入侵检测特征码,其中,集合1可以得到两个恶意软件网络入侵检测特征码,分别为:
“http://ctrl.com/conn.php?act=start&os=(.*)&ie=(.*)&admin=(.*)”和“http://ctrl.com/conn.php?act=getcmd”,这两个第一特征码分别匹配集合1中50%的通信数据;其中(.*)表示通配符,用来表示任意一个或多个字符;
特征码获得模块3034还可以从集合2得到一个恶意软件网络入侵检测特征码,可以匹配集合2中全部的通信数据,为
“http://www.evil.com/mod(.*).dll”,其中(.*)表示通配符,用来表示任意一个或多个字符。
优选的,参见图4,还可以包括,
转换单元304,用于将恶意软件网络入侵检测特征码转换为对应的NIDS规则;
有效性验证单元305,用于对恶意软件网络入侵检测特征码进行NIDS规则有效性验证,消除恶意软件网络入侵检测特征码中的无效规则;
本实施例中,有效性验证单元305可以将产生的NIDS规则加载到NIDS系统中,NIDS系统以截取单元302产生的k个网络封包捕捉文件为输入运行,如果某条规则没有产生任何告警,则被丢弃,以使得能够确保只有能够对恶意软件网络通信产生告警的NIDS规则,才得以保留。
合法流量误报验证单元306,用于对NIDS规则有效性验证后的恶意软件网络入侵检测特征码根据预先截取的已知合法流量进行规则验证,去除恶意软件网络入侵检测特征码中在实际使用中可能产生误报的规则,
本实施例中,合法流量误报验证单元306可以将有效性验证单元305保留的NIDS规则加载到NIDS系统中,NIDS系统以预先截取的已知合法流量作为输入运行,如果某条规则产生了告警,则被丢弃,因为该规则在实际应用中可能产生误报,以使得能够确保保留下来的NIDS规则不会出现误报。
经过上述有效性验证单元305和合法流量误报验证单元306验证之后保留下来的NIDS规则所对应的恶意软件网络入侵检测特征码,即为有效的且不会产生误报的恶意软件网络入侵检测特征码。
本实施例提供了一种恶意软件网络入侵检测特征码的生成设备,通过截取具有不同运行环境的运行设备运行恶意软件程序样本产生的网络封包捕捉文件,并对网络封包捕捉文件经过数据流重组、通信数据归类、公共子串提取和特征码生成等步骤自动产生该恶意软件网络入侵检测特征码,提高了网络特征码的提取效率、通用性以及NIDS和NIPS系统对新兴恶意软件的响应速度。
参见图5,为本发明实施例提供了一种恶意软件网络入侵检测特征码的生成设备30的硬件装置图,该生成设备30与具有不同运行环境的至少两个运行设备连接,可以包括:至少一个处理器501;与运行设备数量相同的通信接口502,用于进行该设备30与运行设备之间的连接和至少一个通信总线503,用于实现这些装置之间的连接和相互通信;
其中通信总线503可以是工业标准体系结构(Industry StandardArchitecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,简称为EISA)总线等。该总线503可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口502的可以是USB接口,也可以是总线接口,对此本实施例不作任何限定。
处理器501可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific IntegratedCircuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
处理器501用于:
控制所述运行设备分别运行恶意软件程序样本;
分别截取每个运行设备运行恶意软件程序样本产生的网络封包捕捉文件;
以及对每个网络封包捕捉文件依次进行数据流重组、通信数据分类、公共子串提取和特征码生成过程,得到恶意软件网络入侵检测特征码。
示例性的,运行环境包括操作系统版本、浏览器版本、身份权限、计算机名、用户名和IP地址中的一项或多项。
示例性的,处理器501用于,在预设时长内,分别控制具有不同运行环境的至少两个运行设备上运行恶意软件的程序样本,
相应的,处理器501还用于,分别截取每个运行设备在预设时长内运行恶意软件程序样本产生的网络封包捕捉文件。
示例性的,处理器501用于,对每个网络封包捕捉文件进行数据流重组,获得每个运行设备对应的通信数据;
将运行设备的通信数据归总后依据服务器IP地址、传输层协议、端口号及传输方向进行分类,得到分类后的通信数据集合;
分别从每个分类后的通信数据集合中提取每个分类后的通信数据集合的公共子串;
根据每个分类后的通信数据集合的公共子串构成的公共子串序列,获得恶意软件网络入侵检测特征码。
示例性的,处理器501用于,针对每一个分类后的通信数据集合,若通信数据集合中由一个或多个公共子串排列组合构成的公共子串序列,能够匹配对应的通信数据集合中预设比例的通信数据,则确定公共子串序列为恶意软件网络入侵检测特征码。
优选的,处理器501还用于,对恶意软件网络入侵检测特征码进行NIDS规则有效性验证,消除恶意软件网络入侵检测特征码中的无效规则。
优选的,处理器501还用于,根据预先截取的已知合法流量,对所述进行NIDS规则有效性验证后的恶意软件网络入侵检测特征码进行规则验证,去除所述恶意软件网络入侵检测特征码中在实际使用中可能产生误报的规则。
本实施例提供了一种恶意软件网络入侵检测特征码的生成设备30,通过截取具有不同运行环境的运行设备运行恶意软件程序样本产生的网络封包捕捉文件,并对网络封包捕捉文件经过数据流重组、通信数据归类、公共子串提取和特征码生成等步骤自动产生该恶意软件网络入侵检测特征码,提高了网络特征码的提取效率、通用性以及NIDS和NIPS系统对新兴恶意软件的响应速度。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在运行时,运行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (14)
1.一种恶意软件网络入侵检测特征码的生成方法,其特征在于,包括:
在具有不同运行环境的至少两个运行设备上分别运行恶意软件程序样本,并分别截取每个所述运行设备运行所述恶意软件程序样本产生的网络封包捕捉文件;
对每个所述网络封包捕捉文件依次进行数据流重组、通信数据分类、公共子串提取和特征码生成过程,得到所述恶意软件网络入侵检测特征码。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括,
对所述恶意软件网络入侵检测特征码进行网络入侵检测系统NIDS规则有效性验证,消除所述恶意软件网络入侵检测特征码中的无效规则。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括,
根据预先截取的已知合法流量,对所述进行NIDS规则有效性验证后的恶意软件网络入侵检测特征码进行规则验证,去除所述恶意软件网络入侵检测特征码中在实际使用中可能产生误报的规则。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述运行环境包括操作系统版本、浏览器版本、身份权限、计算机名、用户名和IP地址中的一项或多项。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述在分别具有不同的运行环境的至少两个运行设备上分别运行恶意软件程序样本,包括,
在预设时长内,分别在具有不同运行环境的至少两个所述运行设备上运行恶意软件的程序样本,
相应的,所述分别截取每个所述运行设备运行所述恶意软件程序样本产生的网络封包捕捉文件包括:
分别截取每个所述运行设备在所述预设时长内运行所述恶意软件程序样本产生的网络封包捕捉文件。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述对每个所述网络封包捕捉文件依次进行数据流重组、通信数据归类、公共子串提取和特征码生成过程,得到所述恶意软件网络入侵检测特征码,具体包括:
对每个所述网络封包捕捉文件进行数据流重组,获得所述每个运行设备对应的通信数据;
将所述运行设备的通信数据归总后依据服务器IP地址、传输层协议、端口号及传输方向进行分类,得到分类后的通信数据集合;
分别从每个所述分类后的通信数据集合中提取每个所述分类后的通信数据集合的公共子串;
根据每个所述分类后的通信数据集合的公共子串构成的公共子串序列,获得所述恶意软件网络入侵检测特征码。
7.根据权利要求6所述方法,其特征在于,
所述根据每个所述分类后的通信数据集合的公共子串构成的公共子串序列,获到所述恶意软件网络入侵检测特征码,包括:
针对每个分类后的通信数据集合,若所述通信数据集合中由一个或多个公共子串排列组合构成的公共子串序列,能够匹配对应的所述通信数据集合中预设比例的通信数据,则确定所述公共子串序列为所述恶意软件网络入侵检测特征码。
8.一种恶意软件网络入侵检测特征码的生成设备,与具有不同运行环境的至少两个运行设备连接,其特征在于,包括:
监视单元,用于开启和关闭具有不同运行环境的至少两个运行设备以及指示各个运行设备运行恶意软件程序样本;
截取单元,用于分别截取每个所述运行设备运行所述恶意软件程序样本产生的网络封包捕捉文件;
恶意软件网络入侵检测特征码生成单元,用于对每个所述网络封包捕捉文件依次进行数据流重组、通信数据分类、公共子串提取和特征码生成过程,得到所述恶意软件网络入侵检测特征码。
9.根据权利要求8所述的设备,其特征在于,还包括,
有效性验证单元,用于对所述恶意软件网络入侵检测特征码进行网络入侵检测系统NIDS规则有效性验证,消除所述恶意软件网络入侵检测特征码中的无效规则。
10.根据权利要求9所述的设备,其特征在于,还包括,
合法流量误报验证单元,用于根据预先截取的已知合法流量,对所述进行NIDS规则有效性验证后的恶意软件网络入侵检测特征码进行规则验证,去除所述恶意软件网络入侵检测特征码中在实际使用中可能产生误报的规则。
11.根据权利要求8-10任一项所述的设备,其特征在于,所述运行环境包括操作系统版本、浏览器版本、身份权限、计算机名、用户名和IP地址中的一项或多项。
12.根据权利要求8-11任一项所述的设备,其特征在于,所述监视单元用于:在预设时长内,分别在具有不同运行环境的至少两个所述运行设备上运行恶意软件的程序样本,
相应的,所述截取单元还用于:分别截取每个所述运行设备在所述预设时长内运行所述恶意软件程序样本产生的网络封包捕捉文件。
13.根据权利要求8-12任一项所述的设备,其特征在于,所述恶意软件网络入侵检测特征码生成单元,包括:
数据流重组模块,用于对每个所述网络封包捕捉文件进行数据流重组,获得所述每个运行设备对应的通信数据;
分类模块,用于将所述运行设备的通信数据归总后依据服务器IP地址、传输层协议、端口号及传输方向进行分类,得到分类后的通信数据集合;
公共子串提取模块,用于分别从每个所述分类后的通信数据集合中提取每个所述分类后的通信数据集合的公共子串;
特征码获得模块,用于根据每个所述分类后的通信数据集合的公共子串构成的公共子串序列,获得所述恶意软件网络入侵检测特征码。
14.根据权利要求13所述的设备,其特征在于,所述特征码获得模块,用于针对每一个分类后的通信数据集合,若所述通信数据集合中由一个或多个公共子串排列组合构成的公共子串序列,能够匹配对应的所述通信数据集合中预设比例的通信数据,则确定所述公共子串序列为所述恶意软件网络入侵检测特征码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310233820.0A CN104243407A (zh) | 2013-06-13 | 2013-06-13 | 一种恶意软件网络入侵检测特征码的生成方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310233820.0A CN104243407A (zh) | 2013-06-13 | 2013-06-13 | 一种恶意软件网络入侵检测特征码的生成方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104243407A true CN104243407A (zh) | 2014-12-24 |
Family
ID=52230772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310233820.0A Pending CN104243407A (zh) | 2013-06-13 | 2013-06-13 | 一种恶意软件网络入侵检测特征码的生成方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104243407A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105187390A (zh) * | 2015-08-10 | 2015-12-23 | 济南大学 | 主动式移动终端恶意软件网络流量数据集获取方法及系统 |
CN105187395A (zh) * | 2015-08-10 | 2015-12-23 | 济南大学 | 基于接入路由器进行恶意软件网络行为检测的方法及系统 |
CN107346390A (zh) * | 2017-07-04 | 2017-11-14 | 深信服科技股份有限公司 | 一种恶意样本检测方法及装置 |
CN107678803A (zh) * | 2017-09-30 | 2018-02-09 | 广东欧珀移动通信有限公司 | 应用管控方法、装置、存储介质及电子设备 |
CN108319853A (zh) * | 2017-01-18 | 2018-07-24 | 腾讯科技(深圳)有限公司 | 病毒特征码处理方法及装置 |
CN108347430A (zh) * | 2018-01-05 | 2018-07-31 | 国网山东省电力公司济宁供电公司 | 基于深度学习的网络入侵检测和漏洞扫描方法及装置 |
CN109558121A (zh) * | 2018-11-26 | 2019-04-02 | 上海达梦数据库有限公司 | 接口驱动程序的开发方法、装置、设备及存储介质 |
CN111737693A (zh) * | 2020-05-09 | 2020-10-02 | 北京启明星辰信息安全技术有限公司 | 确定恶意软件特征的方法、恶意软件的检测方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050262560A1 (en) * | 2004-05-20 | 2005-11-24 | Paul Gassoway | Intrusion detection with automatic signature generation |
CN101382984A (zh) * | 2007-09-05 | 2009-03-11 | 江启煜 | 一种扫描检测广义未知病毒的方法 |
CN101599969A (zh) * | 2009-06-26 | 2009-12-09 | 成都市华为赛门铁克科技有限公司 | 蠕虫特征提取方法和装置 |
CN102034043A (zh) * | 2010-12-13 | 2011-04-27 | 四川大学 | 基于文件静态结构属性的恶意软件检测新方法 |
CN102801697A (zh) * | 2011-12-20 | 2012-11-28 | 北京安天电子设备有限公司 | 基于多url的恶意代码检测方法和系统 |
-
2013
- 2013-06-13 CN CN201310233820.0A patent/CN104243407A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050262560A1 (en) * | 2004-05-20 | 2005-11-24 | Paul Gassoway | Intrusion detection with automatic signature generation |
CN101382984A (zh) * | 2007-09-05 | 2009-03-11 | 江启煜 | 一种扫描检测广义未知病毒的方法 |
CN101599969A (zh) * | 2009-06-26 | 2009-12-09 | 成都市华为赛门铁克科技有限公司 | 蠕虫特征提取方法和装置 |
CN102034043A (zh) * | 2010-12-13 | 2011-04-27 | 四川大学 | 基于文件静态结构属性的恶意软件检测新方法 |
CN102801697A (zh) * | 2011-12-20 | 2012-11-28 | 北京安天电子设备有限公司 | 基于多url的恶意代码检测方法和系统 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105187395B (zh) * | 2015-08-10 | 2018-10-23 | 济南大学 | 基于接入路由器进行恶意软件网络行为检测的方法及系统 |
CN105187395A (zh) * | 2015-08-10 | 2015-12-23 | 济南大学 | 基于接入路由器进行恶意软件网络行为检测的方法及系统 |
CN105187390A (zh) * | 2015-08-10 | 2015-12-23 | 济南大学 | 主动式移动终端恶意软件网络流量数据集获取方法及系统 |
CN105187390B (zh) * | 2015-08-10 | 2018-10-19 | 济南大学 | 主动式移动终端恶意软件网络流量数据集获取方法及系统 |
CN108319853A (zh) * | 2017-01-18 | 2018-07-24 | 腾讯科技(深圳)有限公司 | 病毒特征码处理方法及装置 |
CN108319853B (zh) * | 2017-01-18 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 病毒特征码处理方法及装置 |
CN107346390A (zh) * | 2017-07-04 | 2017-11-14 | 深信服科技股份有限公司 | 一种恶意样本检测方法及装置 |
CN107678803A (zh) * | 2017-09-30 | 2018-02-09 | 广东欧珀移动通信有限公司 | 应用管控方法、装置、存储介质及电子设备 |
CN107678803B (zh) * | 2017-09-30 | 2020-12-01 | Oppo广东移动通信有限公司 | 应用管控方法、装置、存储介质及电子设备 |
CN108347430B (zh) * | 2018-01-05 | 2021-01-12 | 国网山东省电力公司济宁供电公司 | 基于深度学习的网络入侵检测和漏洞扫描方法及装置 |
CN108347430A (zh) * | 2018-01-05 | 2018-07-31 | 国网山东省电力公司济宁供电公司 | 基于深度学习的网络入侵检测和漏洞扫描方法及装置 |
CN109558121A (zh) * | 2018-11-26 | 2019-04-02 | 上海达梦数据库有限公司 | 接口驱动程序的开发方法、装置、设备及存储介质 |
CN111737693A (zh) * | 2020-05-09 | 2020-10-02 | 北京启明星辰信息安全技术有限公司 | 确定恶意软件特征的方法、恶意软件的检测方法及装置 |
CN111737693B (zh) * | 2020-05-09 | 2023-06-02 | 北京启明星辰信息安全技术有限公司 | 确定恶意软件特征的方法、恶意软件的检测方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104243407A (zh) | 一种恶意软件网络入侵检测特征码的生成方法和设备 | |
US10657251B1 (en) | Multistage system and method for analyzing obfuscated content for malware | |
Anirudh et al. | Use of honeypots for mitigating DoS attacks targeted on IoT networks | |
Choi et al. | A method of DDoS attack detection using HTTP packet pattern and rule engine in cloud computing environment | |
Choi et al. | Detecting web based Ddos attack using mapreduce operations in cloud computing environment. | |
US11902303B2 (en) | System and method for detecting lateral movement and data exfiltration | |
Su et al. | Detecting p2p botnet in software defined networks | |
CA3159619C (en) | Packet processing method and apparatus, device, and computer-readable storage medium | |
EP3783857A1 (en) | System and method for detecting lateral movement and data exfiltration | |
CN107979581A (zh) | 僵尸特征的检测方法和装置 | |
CN112688932A (zh) | 蜜罐生成方法、装置、设备及计算机可读存储介质 | |
Sihag et al. | PICAndro: Packet InspeCtion‐Based Android Malware Detection | |
Zhou et al. | Research and implementation of mobile application security detection combining static and dynamic | |
Lu et al. | Integrating traffics with network device logs for anomaly detection | |
Liu et al. | Loocipher ransomware detection using lightweight packet characteristics | |
CN106911665B (zh) | 一种识别恶意代码弱口令入侵行为的方法及系统 | |
Zeebaree et al. | Application layer distributed denial of service attacks defense techniques: A review | |
JP6592196B2 (ja) | 悪性イベント検出装置、悪性イベント検出方法および悪性イベント検出プログラム | |
Boukhtouta et al. | Towards fingerprinting malicious traffic | |
CN113810423A (zh) | 一种工控蜜罐 | |
Chen et al. | An autonomic detection and protection system for denial of service attack | |
CN101546367B (zh) | 带预警功能的网络木马综合检测方法 | |
Silalahi et al. | Rule generator for IPS by using honeypot to fight polymorphic worm | |
Kumar et al. | A network-based framework for mobile threat detection | |
CN114257403A (zh) | 误报检测方法、设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20180713 |
|
AD01 | Patent right deemed abandoned |