检测僵尸网络的方法、装置和介质与流程

文档序号:32397926发布日期:2022-12-02 16:01阅读:552来源:国知局
检测僵尸网络的方法、装置和介质与流程

1.本公开总体上属于计算机安全领域。


背景技术:

2.僵尸网络是指一群可被攻击者远程控制的非合作用户终端。作为网络入侵的主要方式之一,在僵尸网络中,被感染的主机被称为僵尸主机(bot),控制者(botmaster)通过命令与控制信道(c&c)向僵尸主机发送命令,从而进行一对多的操作。攻击者可以利用僵尸网络发起大规模拒绝服务攻击、恶意软件分发、垃圾邮件、虚拟货币挖矿等攻击行为。僵尸网络的出现对网络安全环境造成了极大威胁。
3.近些年通过僵尸网络进行的大规模攻击屡见不鲜。如2016年美国域名解析服务商dyn公司遭到了峰值达到1.1tbps的ddos攻击,造成了美国东部大面积网络瘫痪,包括twitter与facebook等众多美国网站无法通过域名解析访问。造成这一事件的罪魁祸首便是mirai僵尸病毒。2017年研究人员通过蜜罐发现来自1895个不同ip的brickerbot攻击尝试,该病毒针对安装linux系统的物联网设备,对开放的端口进行攻击,并擦除设备上的数据与代码,使之不能正常运行。由此可见僵尸网络对于互联网的潜在危害十分巨大。


技术实现要素:

4.在下文中给出了关于本公开的简要概述,以便提供关于本公开的一些方面的基本理解。但是,应当理解,这个概述并不是关于本公开的穷举性概述。它并不是意图用来确定本公开的关键性部分或重要部分,也不是意图用来限定本公开的范围。其目的仅仅是以简化的形式给出关于本公开的某些概念,以此作为稍后给出的更详细描述的前序。
5.根据本公开的一个方面,提供一种检测僵尸网络的方法,包括如下步骤:
6.获取待检测流量的dns数据包,以得到源ip、目的ip和协议信息;
7.将源ip、目的ip和协议信息送入威胁情报库进行匹配碰撞;
8.如果匹配成功,则判定与该流量对应的网络请求行为的ip属于僵尸网络;
9.如果匹配失败,则通过bilstm算法确定该流量的文本维度特征、通过cnn算法确定该流量的空间维度特征和通过deekwalk算法确定该流量的关联维度特征,通过rnn神经网络融合所述文本维度特征、所述空间维度特征和所述关联维度特征,并且使用softmax分类器来计算与该流量对应的网络请求行为的ip属于僵尸网络的概率,如果所述概率大于阈值则判定与该流量对应的网络请求行为的ip属于僵尸网络。
10.以下通过本发明的优选的实施方式的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
11.构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
12.参照附图,根据下面的详细描述,可以更清楚地理解本公开,其中:
13.图1示出了根据本发明的僵尸网络检测的流程图。
14.图2示出了生成文本维度特征的示意图。
15.图3示出了生成空间维度特征的示意图。
16.图4示出了生成关联维度特征的示意图。
17.图5示出了各ip之间的关联关系的一个示例。
18.图6示出了将三个特征进行融合的示意图。
19.图7示出了能够实现根据本公开的实施例的计算设备的示例性配置。
具体实施方式
20.参考附图进行以下详细描述,并且提供以下详细描述以帮助全面理解本公开的各种示例实施例。以下描述包括各种细节以帮助理解,但是这些细节仅被认为是示例,而不是为了限制本公开,本公开是由随附权利要求及其等同内容限定的。在以下描述中使用的词语和短语仅用于能够清楚一致地理解本公开。另外,为了清楚和简洁起见,可能省略了对公知的结构、功能和配置的描述。本领域普通技术人员将认识到,在不脱离本公开的精神和范围的情况下,可以对本文描述的示例进行各种改变和修改。
21.图1示出了根据本发明的僵尸网络检测的流程图。
22.为了执行本发明的用于检测僵尸网络的方法,威胁情报系统每日定时抓取开源威胁情报,包括恶意ip、恶意url、恶意软件信息等,统一录入系统,从而能够威胁情报信息的即时有效。
23.在一些实施例中,启动威胁情报系统,开启开源情报定时抓取脚本,最新的开源威胁情报经过数据处理导入威胁情报系统。
24.在一些实施例中,本发明通过如下方式实现威胁情报的获取。例如,爬虫脚本每日定时对开源威胁情报网站进行数据抓取,获取与僵尸网络或恶意ip有关的威胁情报,抓取后的数据经过数据清洗、情报融合等操作,生成样式统一的结构化数据,并导入数据库中,以作为威胁情报系统的信息源。
25.在一些实施例中,加载预训练僵尸网络检测模型参数,基于多维协同的僵尸网络检测模型各部分使用训练好的模型参数用于预测。
26.如图1中“dns分析”步骤所示,本发明获取待检测流量的dns数据包,以得到源ip、目的ip和协议信息。在一些实施例中,针对一条待检测的网络流量,获取dns数据包,对捕获的dns数据包进行解析和过滤,获取源ip、目的ip、协议信息等。
27.然后,将信息送入威胁情报库进行匹配碰撞,若匹配成功,则将该网络请求行为的ip确认为僵尸网络,并且拦截该流量。如若匹配失败,则利用深度学习方法进行僵尸网络检测。
28.在一些实施例中,对于访问云网的信息流,首先通过dns工具解析其源ip地址、端口、目的ip地址、端口、协议等基本信息,经过威胁情报系统碰撞,如有命中,则进行拦截预警等操作。
29.在一些实施例中,如果在情报系统中未命中,则对信息流进行数据预处理,形成融合特征僵尸网络检测模型所需的文本、灰度图、关联结构三种数据馈送格式,将数据送入检
测模型。例如,为了利用深度学习方法,在一些实施例中,对信息流进行数据预处理,形成融合特征僵尸网络检测模型所需的文本、灰度图、关联结构三种数据馈送格式,将数据送入检测模型。对信息流进行数据预处理是为了形成通过bilstm算法确定该流量的文本维度特征、通过cnn算法确定该流量的空间维度特征以及通过deekwalk算法确定该流量的关联维度特征所需要的数据格式。
30.以下示例性地说明文本维度特征学习。
31.图2示出了生成文本维度特征的示意图。
32.在一些实施例中,对于一条网络数据流,数据定义为p=(x
p
,s
p
,t
p
),其中x
p
表示srp_ip,srp_port,dst_ip,dst_port,protocal五元组,分别表示源ip、源端口,目的ip、目的端口、协议。s
p
表示数据分组大小,而t
p
表示数据分组的起始时间,而一条数据集合由若干p表示,即p={p1,p2...pn}。
33.在一些实施例中,文本维度特征学习模块对于每一条数据截取前16个数据分组,每一个数据分组取前100个字节,不足的部分使用0x00进行填充。
34.对文本数据进行嵌入(embedding),将每一个字节编码为128维向量,因此数据分组经过embedding操作转化为100*128维矩阵,经过双向lstm神经网络,学习其文本维度特征,经过该神经网络,生成文本向量特征。
35.例如,在一些实施例中,按照如下方式确定文本维度特征,
36.e1,e2...en=e
t
*(p1,p2...pn)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
37.h
1_lstm
,h
2_lstm
...h
n_lstm
=bilstm(e1,e2...en)
ꢀꢀꢀꢀꢀꢀꢀ
(2)
38.其中en为每一个字节的嵌入向量,e
t
为嵌入矩阵,pn为每一个字节的独热(one-hot)编码。h
n_lstm
为每一个嵌入向量经过bilstm神经网络(双向lstm神经网络)之后的隐层表示。
39.以下示例性地说明空间维度特征学习。
40.图3示出了生成空间维度特征的示意图。
41.对于用于文本维度特征学习的同一个数据流,使用cnn神经网络获取网络流量的空间分布特征,因此对每一条数据,截取前1024b数据,数据长度不足的使用0x00进行填充,将截取数据流生成32*32大小的灰度图,该灰度图表示了数据流量的空间维度特征,可以通过卷积神经网络对其特征进行学习,模型结构图如附图3所示,灰度图片经过卷积层c1、平均池化层m1、卷积层c2、最大池化层m2,全连接层f1五层网络,最终生成网络流量的空间维度特征表示。
42.在一些实施例中,按照如下方式确定空间维度特征,
43.h1,h2...hn=conv2d(x1,x2...xn)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
44.m1,m2...mn=mean-pooling(h1,h2...hn)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
45.h
′1,h
′2...h
′n=conv2d(m1,m2...mn)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
46.m
′1,m
′2...m
′n=max-pooling(h
′1,h
′2...h
′n)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
47.h
1_cnn
,h
2_cnn
...h
n_cnn
=w
t
(m
′1,m
′2...m
′n)+b
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
48.其中conv2d表示卷积神经网络,x1至xn表示灰度图的每一位像素数值,h1至hn表示经过卷积神经网络之后的隐层表示向量,m1至mn为经过均值池化层后的特征向量,h
1_cnn
至h
n_cnn
表示经过全连接层后的输出向量。
49.以下示例性地说明关联维度特征学习。
50.图4示出了生成关联维度特征的示意图。
51.在威胁情报系统中,对于获取的开源威胁情报,使用图数据库构建威胁情报知识图谱,由于威胁情报具有关联性,一条威胁情报往往具有若干关联情报,诸如同一域名遭受若干ip的攻击。或某个ip属于某一个恶意样本家族,因此不同情报之间具有关联性,如附图4所示。因此关联信息对于僵尸网络的检测与挖掘也是一个重要的特征。
52.对于威胁情报系统中的关联情报信息,使用图数据库进行保存,并通过deepwalk算法进行图嵌入(graph embedding),即对图中的每一个节点进行嵌入,生成一个高维度向量表示,deepwalk的思想类似字嵌入算法(word2vec),使用图中节点与节点的共现关系来学习节点的向量表示,利用随机游走策略从图中获取一定顶点,将顶点序列看作生成的句子,通过单层神经网络和层次softmax策略训练生成每一个节点的嵌入表示。
53.对于一个信息流,获取其源ip于目的ip,通过图数据库搜索其关联情报,获取关联情报的嵌入表示,使用单层lstm神经网络进行特征学习,获得其关联维度特征,如果在图数据库中无法命中,则使用固定向量表示该情报无关联维度特征,再经过单层lstm神经网络学习。
54.在一些实施例中,按照如下方式确定关联维度特征,
55.对于一个信息流量,获取其源ip与目的ip,通过图数据库搜索其关联情报,
56.如果在图数据库中搜索得到关联情报,则获取关联情报的嵌入表示并使用单层lstm神经网络进行特征学习,从而获得其关联维度特征,
57.如果在图数据库中搜索不到关联情报,则使用固定向量表示无关联维度特征,并经过单层lstm神经网络学习。
58.在一些实施例中,h
node
表示上述关联维度特征,它属于一个特征矩阵,该特征可以通过上述deepwalk算法训练得到,能够获取图神经网络的特征表示。在情报库中,有很多关联情报,比如同一个ip攻击过很多其他主机或者服务器,而整个情报数据库可以构成很多这种图。图5示出了各ip之间的关联关系的一个示例。通过deepwalk算法训练生成图向量表示,对于一个节点,我们可以通过该算法生成一个向量,表示该节点的关联维度特征(h
node
)。
59.以下示例性地说明多维协同。
60.在本发明中,需要将三个特征进行融合。图6示出了将三个特征进行融合的示意图。使用rnn神经网络结合注意力机制,对三个特征进行融合。注意力机制能够使模型选取更加适合任务的特征,淡化无关特征,使得模型能够更好的适应复杂情况。
61.在一些实施例中,按照如下方式对三个特征进行融合。
[0062][0063]
[0064][0065]
其中,h
fusion
为经过rnn神经网络的空间维度特征、文本维度特征与关联维度特征的融合,表示权重;αi为注意力权重,wf表示权重,bf表示偏置值,l表示h_fusion混合向量的长度;si为经过权重计算之后的融合特征向量。对于一些实施例中的模型来说,所有的为随机初始化的,在模型训练中不断更新,在模型优化的过程中不断更新,使得参数能够更加契合任务,提高正确率;wf和bf也是参数,用于模型迭代过程中的参数调整,在模型初始化的时候也可以被随机初始化。
[0066]
在一些实施例中,按照如下方式计算与该流量对应的网络请求行为的ip属于僵尸网络的概率,
[0067]
y=softmax(w
t
si+b)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(11)
[0068]
其中,y为表示与该流量对应的网络请求行为的ip属于僵尸网络的概率的置信度得分,w
t
、b为学习参数。
[0069]
在一些实施例中,对于预测结果,根据其置信度,将置信度大于拦截阈值的信息流进行拦截,并在日志中表明。并且将该信息流的dns信息与模型预测的置信度写入威胁情报系统。
[0070]
早期僵尸网络检测方法主要依靠基于ip黑名单等方式,该方法虽然准确率较高,但是随着技术迭代,攻击者通过dga域名生成算法规避黑名单检测。面对层出不穷的僵尸网络,需要一种自动化检测方式对互联网上的僵尸网络进行检测与挖掘,从而降低僵尸网络对互联网安全造成的威胁。
[0071]
在本发明中,威胁情报系统每日定时抓取开源威胁情报,包括恶意ip、恶意url、恶意软件信息等,统一录入系统。保证威胁情报信息的即时有效。对于任意一个网络流量,通过解析其dns数据包获取源i p、目的ip等数据,与威胁情报系统进行碰撞,如该数据包已经被列为僵尸网络,则进行判定并采取措施。如碰撞失败,则通过深层神经网络对其进行预测。生成该网络流量的威胁置信度,根据置信度评分选择拦截会访问限制等措施。
[0072]
与现有技术相比,本发明具备如下优点。(1)通过将僵尸网络信息流的文本维度特征、空间维度特征、关联维度特征,三种特征通过神经网络进行多维协同,从全局角度对僵尸网络信息流进行建模分析,提高系统预测的准确性。(2)将威胁情报系统与融合三特征的深度学习检测模型相结合,相较于单一基于威胁情报对僵尸网络进行检测的方法,能够对未登录数据进行检测,提高系统的健壮性与泛化性。同时相较于单一神经网络检测方式,威胁情报系统能够提高检测效率与命中精确度。
[0073]
传统基于ip恶意名单的僵尸网络检测技术存在需要建恶意ip库、难以识别加密流量等问题。而基于机器学习的僵尸网络检测需要人工提取特征,检测能力不足等缺陷。基于以上问题,本发明创造了一种基于威胁情报与多维协同的僵尸网络检测的方法。从多个维度对僵尸网络进行检测。威胁情报系统每日定时抓取最新僵尸网络信息,从而保证恶意ip名单的即时有效。对于威胁情报系统不能命中的网络流量,采用深度学习技术从流量的文本维度特征、空间维度特征、关联维度特征三个维度进行建模,从全局的角度对僵尸网络进
行检测。该方法不依赖先验知识,无需人工选择特征,在保证时效性的情况下,能够更好的适应陌生的网络环境,比起已有的方法,能够有效检测大规模复杂的僵尸网络。
[0074]
图7示出了能够实现根据本公开的实施例的计算设备700的示例性配置。
[0075]
计算设备700是能够应用本公开的上述方面的硬件设备的实例。计算设备700可以是被配置为执行处理和/或计算的任何机器。计算设备700可以是但不限制于工作站、服务器、台式计算机、膝上型计算机、平板计算机、个人数据助手(pda)、智能电话、车载计算机或以上组合。
[0076]
如图7所示,计算设备700可以包括可以经由一个或多个接口与总线702连接或通信的一个或多个元件。总线702可以包括但不限于,工业标准架构(industry standard architecture,isa)总线、微通道架构(micro channel architecture,mca)总线、增强isa(eisa)总线、视频电子标准协会(vesa)局部总线、以及外设组件互连(pci)总线等。计算设备700可以包括例如一个或多个处理器704、一个或多个输入设备706以及一个或多个输出设备708。一个或多个处理器704可以是任何种类的处理器,并且可以包括但不限于一个或多个通用处理器或专用处理器(诸如专用处理芯片)。处理器704例如可以被配置为执行图2或图3所示的方法。输入设备706可以是能够向计算设备输入信息的任何类型的输入设备,并且可以包括但不限于鼠标、键盘、触摸屏、麦克风和/或远程控制器。输出设备708可以是能够呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。
[0077]
计算设备700还可以包括或被连接至非暂态存储设备714,该非暂态存储设备714可以是任何非暂态的并且可以实现数据存储的存储设备,并且可以包括但不限于盘驱动器、光存储设备、固态存储器、软盘、柔性盘、硬盘、磁带或任何其他磁性介质、压缩盘或任何其他光学介质、缓存存储器和/或任何其他存储芯片或模块、和/或计算机可以从其中读取数据、指令和/或代码的其他任何介质。计算设备700还可以包括随机存取存储器(ram)710和只读存储器(rom)712。rom 712可以以非易失性方式存储待执行的程序、实用程序或进程。ram 710可提供易失性数据存储,并存储与计算设备700的操作相关的指令。计算设备700还可包括耦接至数据链路718的网络/总线接口716。网络/总线接口716可以是能够启用与外部装置和/或网络通信的任何种类的设备或系统,并且可以包括但不限于调制解调器、网络卡、红外线通信设备、无线通信设备和/或芯片集(诸如蓝牙
tm
设备、802.11设备、wifi设备、wimax设备、蜂窝通信设施等)。
[0078]
本公开可以被实现为装置、系统、集成电路和非瞬时性计算机可读介质上的计算机程序的任何组合。可以将一个或多个处理器实现为执行本公开中描述的部分或全部功能的集成电路(ic)、专用集成电路(asic)或大规模集成电路(lsi)、系统lsi,超级lsi或超lsi组件。
[0079]
本公开包括软件、应用程序、计算机程序或算法的使用。可以将软件、应用程序、计算机程序或算法存储在非瞬时性计算机可读介质上,以使诸如一个或多个处理器的计算机执行上述步骤和附图中描述的步骤。例如,一个或多个存储器以可执行指令存储软件或算法,并且一个或多个处理器可以关联执行该软件或算法的一组指令,以根据本公开中描述的实施例提供各种功能。
[0080]
软件和计算机程序(也可以称为程序、软件应用程序、应用程序、组件或代码)包括
用于可编程处理器的机器指令,并且可以以高级过程性语言、面向对象编程语言、功能性编程语言、逻辑编程语言或汇编语言或机器语言来实现。术语“计算机可读介质”是指用于向可编程数据处理器提供机器指令或数据的任何计算机程序产品、装置或设备,例如磁盘、光盘、固态存储设备、存储器和可编程逻辑设备(pld),包括将机器指令作为计算机可读信号来接收的计算机可读介质。
[0081]
举例来说,计算机可读介质可以包括动态随机存取存储器(dram)、随机存取存储器(ram)、只读存储器(rom)、电可擦只读存储器(eeprom)、紧凑盘只读存储器(cd-rom)或其他光盘存储设备、磁盘存储设备或其他磁性存储设备,或可以用于以指令或数据结构的形式携带或存储所需的计算机可读程序代码以及能够被通用或专用计算机或通用或专用处理器访问的任何其它介质。如本文中所使用的,磁盘或盘包括紧凑盘(cd)、激光盘、光盘、数字多功能盘(dvd)、软盘和蓝光盘,其中磁盘通常以磁性方式复制数据,而盘则通过激光以光学方式复制数据。上述的组合也包括在计算机可读介质的范围内。
[0082]
提供本公开的主题作为用于执行本公开中描述的特征的装置、系统、方法和程序的示例。但是,除了上述特征之外,还可以预期其他特征或变型。可以预期的是,可以用可能代替任何上述实现的技术的任何新出现的技术来完成本公开的部件和功能的实现。
[0083]
另外,以上描述提供了示例,而不限制权利要求中阐述的范围、适用性或配置。在不脱离本公开的精神和范围的情况下,可以对所讨论的元件的功能和布置进行改变。各种实施例可以适当地省略、替代或添加各种过程或部件。例如,关于某些实施例描述的特征可以在其他实施例中被结合。
[0084]
类似地,虽然在附图中以特定次序描绘了操作,但是这不应该被理解为要求以所示的特定次序或者以顺序次序执行这样的操作,或者要求执行所有图示的操作以实现所希望的结果。在某些情况下,多任务处理和并行处理可以是有利的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1