一种基于LLMNR协议的本地网络同类Bot间命令控制信息分享机制的制作方法

文档序号:16245914发布日期:2018-12-11 23:34阅读:322来源:国知局
一种基于LLMNR协议的本地网络同类Bot间命令控制信息分享机制的制作方法

本发明涉及计算机网络安全领域,具体涉及一种基于llmnr协议的本地网络同类bot间命令控制信息分享机制。

背景技术

近年来,由僵尸网络(botnet)引发的网络安全事件层出不穷,危及我国公共互联网安全运行,对国家信息安全造成严重危害。僵尸网络是一个高度受控平台,其核心思想都是借助专用恶意代码感染智能手机、平板、计算机等设备,使其变为受控节点(bot),攻击者通过命令与控制服务器(commandandcontrolserver,c&cserver)向bot主动推送命令控制信息(push模式),或者bot主动从c&cserver上获取命令控制信息(pull模式),来对这些bot进行管理。在bot得到命令控制信息后,可根据相应指令对指定目标实施信息窃取、ddos攻击、垃圾邮件轰炸、会话劫持等恶意行为。

可见,攻击者与bot之间能安全传送命令控制信息是保证botnet正常工作的基本要素。从目前已有公开文献来看,多数bot获取命令控制信息仍采用先通过某种途径获得c&cserverip地址或域名,并与c&cserver通信,然后再以push模式或pull模式从c&cserver获取命令控制信息。由于该方式是让bot直接从c&cserver处获取命令控制信息,当位于同一局域网的多个主机感染相同恶意代码而成为同类bot后(例如,同实验室多人打开本实验室qq群共享中含有恶意代码的文件,某部门的多位人员通过公司域名下邮箱收到相同的附件中携带伪装恶意代码的邮件等),这些同类bot必须各自独立重复执行该方式才能获取命令控制信息。在此情况下,网络监管者根据这些同类bot所产生网络流量的行为相似性来识别和追踪c&cserver,同时也容易导致局域网中bot位置的暴露和检测,进而破坏botnet正常运作过程,使其威胁性和危险性大大降低,甚至失去实用价值。

针对上述问题,僵尸网络控制者会利用各种技术手段尽量模糊化或随机化bot产生的流量特征,以避逃避检测和追踪,其中借用现有网络协议秘密地进行命令控制信息收发就是一种常用方法,而且多个本地网络同类型bot间还可利用组播性质的协议来收发命令控制信息,以避免网络流量行为相似性检测,提高传输效率。



技术实现要素:

为解决上述问题,本发明提供了一种基于llmnr(link-localmulticastnameresolution)协议的本地网络同类bot间命令控制信息分享机制,首先定义了开机时间比和cpu利用率比两个评价bot性能指标,其次本地网络中多个同类bot利用llmnrquery包将各自两个指标值通告给其它bot,并借用d-s证据理论选举出bot临时代表(bottemporaryleader,btl),接着仅被选为btl的bot与c&cserver通信并从c&cserver获取命令控制信息,最后,btl再次通过llmnrquery包将所获取的命令控制信息分发给其它bot,并进行了相关实验测试,结果表明,该机制能有效选举出btl,完成与本地网络内多个同类bot的命令控制信息共享。

为实现上述目的,本发明采取的技术方案为:

一种基于llmnr协议的本地网络同类bot间命令控制信息分享机制,包括btl选举阶段、btl获取c&c信息阶段及c&c信息分发阶段,在btl选举阶段,每个bot将自己的评价指标数值通过llmnr协议告知其它bot,再利用d-s证据理论融合这些评价指标数值以选举最优bot作为btl;然后btl查找c&c信息地址并与之取得通信,并利用pull或push模式以较为隐蔽的方式从c&c信息获取最新命令控制信息;最后,btl再次利用llmnr协议将所获取的命令控制信息分发给本地网络的其它bot。

其中,所述btl选举阶段具体包括如下步骤:

s1、各bot利用llmnr协议的query包在本地网内通告自己的开机时间比g(j)与cpu使用率h(j)两个指标值,其他bot收到该query包后记录下两个指标及源ip地址;

s2、各bot根据收到所有bot的两个指标值,利用d-s证据理论计算出btl集合θ1;

s3、采用集合θ1中ip地址最大者对应的bot作为btl;由于btl集合θ1中元素的个数可能大于1,因此本文选择θ1中ip地址最大者的bot作为btl。

s4、当btl失效时,重新进行btl选举过程。

其中,所述步骤s1中选择bot开机时间比与cpu使用率作为该bot能否成为btl的评价指标;在bot开机时间比相同的情况下,cpu使用率越小,说明该bot可使用的硬件资源越充足,所以应选择cpu使用率小的bot作为btl;在cpu使用率相同的情况下,bot开机时间比越大,说明该bot正常工作时间越稳定,所以应选择bot开机时间比越大的bot作为btl。

其中,用bot开机时间比g(j)来衡量第j个bot的开机时间,定义为:

其中,t(j)表示botj的累积开机时间,ω为观察的时间窗口长度。

其中,所述cpu利用率定义为在观察时间长度为ω内的cpu利用率平均值,记为h(j)。

其中,所述步骤s2具体包括如下步骤:

设辨别框架θ={θ1,θ2,θ3},θ1为btl集合,θ2模糊bot集合,θ3为普通bot集合,且满足然后对bot开机时间比g(j)与cpu使用率h(j)分别建立隶属度函数,隶属度函数衡量了当前bot属于θ1、θ2或θ3的可能性大小,在归一化后即可得到信度分配函数bpaf,只要将bot的两个特征值带入bpaf即可求得支持该bot属于各集合的基本信度。

其中,所述btl获取c&c信息阶段,btl利用嵌入在恶意代码中的博客地址构造算法产生出含有c&c信息的博客链接,最后btl通过该链接访问该博客,并恢复出隐藏于该博客博文html代码中的c&c信息,从而btl完成获取c&c信息的过程。

本发明具有以下有益效果:

能有效选举出btl,完成与本地网络内多个同类bot的命令控制信息共享。

附图说明

图1为本发明实施例一种基于llmnr协议的本地网络同类bot间命令控制信息分享机制的流程图。

图2为本发明实施例中基于d-s证据理论的btl选举过程示意图。

图3为本发明实施例含有两个评价指标的llmnrquery包示例。

图4为本发明实施例中btl分发命令控制信息示例。

图5为本发明实施例中btl选举算法产生的各集合bot数量比例关系示意图。

图6为本发明实施例中btlvotellmnrquery包速率对btl选举时间影响示意图。

图7为本发明实施例中本地网络背景流量对btl选举时间影响示意图。

图8为本发明实施例中自信息i(p)与嗅探持续时间t的关系示意图。

具体实施方式

为了使本发明的目的及优点更加清楚明白,以下结合实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例公开了一种基于llmnr协议的本地网络同类bot间命令控制信息分享机制,包括btl选举阶段、btl获取c&c信息阶段及c&c信息分发阶段,如图1所示,在btl选举阶段,每个bot将自己的评价指标数值通过llmnr协议告知其它bot,再利用d-s证据理论融合这些评价指标数值以选举最优bot作为btl;然后btl查找c&c信息地址并与之取得通信,并利用pull或push模式以较为隐蔽的方式从c&c信息获取最新命令控制信息;最后,btl再次利用llmnr协议将所获取的命令控制信息分发给本地网络的其它bot。

所述btl选举阶段具体包括如下步骤:

s1、各bot利用llmnr协议的query包在本地网内通告自己的开机时间比g(j)与cpu使用率h(j)两个指标值,其他bot收到该query包后记录下两个指标及源ip地址;

本申请将两个指标以“btlvote+指标1+指标2”的格式放置在llmnrquery包的name字段中,如图3所示。图中name字段为“btlvote8623”,其中“btlvote”为关键字,表示该query包的作用是选举btl,“86”与“23”分别表示该bot的g(j)与h(j)指标值。

由于llmnr协议采用组播工作方式,这能够保证本地网络内的bot都能收到其它bot发出的query包。

s2、各bot根据收到所有bot的两个指标值,利用d-s证据理论计算出btl集合θ1;

s3、采用集合θ1中ip地址最大者对应的bot作为btl;由于btl集合θ1中元素的个数可能大于1,因此本文选择θ1中ip地址最大者的bot作为btl。

s4、当btl失效时,重新进行btl选举过程。

所述步骤s1中选择bot开机时间比与cpu使用率作为该bot能否成为btl的评价指标;在bot开机时间比相同的情况下,cpu使用率越小,说明该bot可使用的硬件资源越充足,所以应选择cpu使用率小的bot作为btl;在cpu使用率相同的情况下,bot开机时间比越大,说明该bot正常工作时间越稳定,所以应选择bot开机时间比越大的bot作为btl。

用bot开机时间比g(j)来衡量第j个bot的开机时间,定义为:

其中,t(j)表示botj的累积开机时间,ω为观察的时间窗口长度。

所述cpu利用率定义为在观察时间长度为ω内的cpu利用率平均值,记为h(j)。

所述步骤s2具体包括如下步骤:

设辨别框架θ={θ1,θ2,θ3},θ1为btl集合,θ2模糊bot集合,θ3为普通bot集合,且满足然后对bot开机时间比g(j)与cpu使用率h(j)分别建立隶属度函数,隶属度函数衡量了当前bot属于θ1、θ2或θ3的可能性大小,在归一化后即可得到信度分配函数bpaf,只要将bot的两个特征值带入bpaf即可求得支持该bot属于各集合的基本信度。图2给出了基于d-s证据理论的btl选举方法,其中m1(θi),m2(θi),(i=1,2,3)分别为两个指标对命题θi的基本信度,m(θi)为经过d-s证据理论合成法则得到的综合基本信度。

对于bot开机时间比g(j),本文选用广义钟型隶属函数作为指标g(j)下度量botj属于θ1,θ2,θ3的程度。设t1,t2,t3分别表示集合θ1,θ2及θ3的隶属度函数,则

其中,α1,β1,γ1,α2,β2,γ2,α3,β3,γ3,为常数,可以调整函数t1,t2,t3对应的曲线形状。t1(g(j)),t2(g(j)),t3(g(j))衡量botj属于相应类别可能性大小。对t1(g(j)),t2(g(j)),t3(g(j))归一化操作后,可得到对应的bpaf值:m1(θ1),

m1(θ2)及m1(θ3),如式(5)所示:

对于cpu利用率h(j),本文选择sigmoid型函数和gauss型隶属函数作为h(j)下度量botj属于集合θ1,θ2,θ3的程度。设s1,s2,s3分别表示集合θ1,θ2及θ3的隶属度函数,则

其中,e为自然对数的底,通过设置常数μ1,μ2,μ3,来调整函数s1,s2,s3对应的曲线。在对s1(h(j)),s2(h(j)),s3(h(j))归一化处理后,类似式(5),可计算出cpu利用率的bpaf值:m2(θ1),m2(θ2)及m2(θ3)。

由于两个指标g(j),h(j)不存在相关性,因此可以假设在此两个评价指标下产生的结果是相互独立的。为消除两种评价指标下选择btl结果的不一致性,利用式(9)的dempster证据合成规则可以得到两指标融合后对于各类别的bpaf值。其中1-r为归一化常数。当各证据间冲突不大时,使用dempster合成规则融合时可得到较好效果。

至此,得到botj在两个评价指标下的综合信度评价结果:m(θ1),m(θ2)和m(θ3),它们分别表示对botj成为btl,模糊bot及普通bot的综合支持信度。本申请此处根据3个值的最大者来确定botj所属的类别。

所述btl获取c&c信息阶段,btl利用嵌入在恶意代码中的博客地址构造算法产生出含有c&c信息的博客链接,最后btl通过该链接访问该博客,并恢复出隐藏于该博客博文html代码中的c&c信息,从而btl完成获取c&c信息的过程。

在c&c信息分发阶段,当btl获得c&c信息时,组成c&c信息列表,列表中的每项控制命令信息都是独立的,如图1中“c&cinformation”部分所示。btl在分发控制命令信息时,以“ccinfoxxssf+命令控制信息内容”格式嵌入在llmnrquery包的name字段中(类似btl选举时的query包格式)。其中,ccinfo为关键字,表示c&c信息,xxssf为标识位,其含义如表1所示。

表1分发标识位含义

由于有些控制命令信息比较长,可能包含多个参数,为防止命令信息内容在name字段中过长而引发检测,可将较长的控制命令信息其拆分成多个段,并添加xxssf标识后,分别嵌入在不同llmnrquery包的name字段中进行传输,当bot接收到这些query包后可通过xxssf标识恢复出该控制命令信息。例如,对于命令控制信息“ddos.sysfloodftp.example.com-p21–t30”,可将其拆分为:01000ddos.sysflood,01010ftp.example.com,01020p21和01031t30,并分别作为llmnrquery包的name字段发送,如图4所示。

本申请将实验室所在局域网作为图1所示的本地网络环境。主要程序代码通过python来实现,并借用scapy工具来实现llmnrquery包的构造与解析功能。由于选举btl是本文所提机制的核心部分所在,因此,本实验主要针对基于d-s证据理论的btl选举过程进行了测试。根据多次实验测试的结果,式(2)至(4)中参数较为合理的值为α1=0.2,β1=1.0,γ1=1.5,α2=0.1,β2=0.5,γ2=1.5,α3=0.2,β3=0.0,γ3=1.5,式(6)至(8)中参数较为合理的值为μ1=0.2,

μ2=0.1,μ3=20.0,观察时间窗口长度ω=24h。实验室计算机的软硬件配置均为amda10-5800k3.8ghz(cpu),4gb(内存),250gb(硬盘),rtl8168/8111/8112gigabitethernet(网卡),操作系统为ubuntu14.04或windows7(64位)。

btl选举有效性

为验证基于d-s证据理论btl选举算法的有效性,测试了不同bot总数(botnum)下,在使用本文中d-s证据理论方法选举btl后,btl集合θ1,模糊bot集合θ2和普通bot集合θ3所包含bot数量占全部bot数量的比例,如图5所示。可以看出,对不同bot总数执行btl选举过程后,普通bot集合θ3所包含的bot数量最多,所占比例均超过65%,相比之下btl集合θ1与模糊bot集合θ2所占比例较小,这样比例情况较为合理。随着bot总数的增加,属于btl集合θ1的bot数量比例大约在10%至15%,基本可以保证有充足数量的bot作为btl。

btl选举时效性与鲁棒性

本申请主要从含有btl选举关键字“btlvote”的llmnrquery包发送速率与背景流量影响两个角度对btl选举算法的时效性与鲁棒性进行了实验。图6展示出了在不同bot数量下,含有“btlvote”llmnrquery包发送速率与选举算法选出btl所花费时间的关系。从图6中来看,不同bot数量下,btl选举时间会随着含有“btlvote”llmnrquery包的发送速率的增加而迅速下降,且呈现平稳趋势。当含有“btlvote”llmnrquery包发送速率为0至400pps(packetpersecond)时,btl选举时间会随着含有“btlvote”llmnrquery包发送速率的增大而急剧减小。这主要是由于含有“btlvote”llmnrquery包发送速率小,各bot需要较长时间才能从网络中捕获并过滤出该类型的llmnrquery包,占据了大部分的btl选举时间开销。而当大于400pps时,bot能快速发送含有“btlvote”llmnrquery包,再加上llmnr协议采用组播工作方式,使得各bot能在极短时间内从网络中捕获和过滤其它bot发送含有“btlvote”llmnrquery包,极大降低了因捕获该类型包而耗费的时间,而此时通过d-s证据理论计算btl过程则成为时间开销的主要因素,且每增加10个bot,时间开销大约增加0.1s。

另外,在不同本地网络背景流量下对btl选举算法进行了测试,结果如图7所示,含有“btlvote”llmnrquery包发送速率为500pps。局域网背景流量采用工具iperf[33]生成。图7表明,在bot数量保持不变情况下,背景流量增加对btl选举时间的影响并不明显。这主要是由于scapy工具借助实验主机上的千兆网卡能以极高的效率捕获局域网背景流量,并能按照设定的过滤规则,结合主机千兆网卡充足的硬件资源优势,高效过滤出含有“btlvote”的llmnrquery包,从而能快速计算出btl。此外,图7也再次说明随着局域网内bot数量的增加,选举出btl所花费时间也在以近似线性的方式增加,与图6中展示的结果是相一致的。

btl产生过程流量的隐蔽性

隐蔽性此处是指含有“btlvote”llmnrquery包在所有本地网络的llmnrquery包中出现的随机程度,可反映出btl选举算法抗检测能力的强弱。本文此处采用含有“btlvote”llmnrquery包的自信息i(p)来描述。自信息可用于表示某个事件出现的概率与其不确定性(即随机性)的关系,若该事件出现概率较大,则其自信息较大,随机性较小,反之就大,其计算公式如式(11)所示:

其中,p表示在嗅探持续时间t内含有“btlvote”llmnrquery包出现的概率,此处定义为含有“btlvote”llmnrquery包数量nbtlvote与所有llmnrquery包数量nall之比。图8给出了在多个嗅探持续时间内,不同bot数量下对i(p)的测试结果。可以看到,bot数量保持不变情况下,随着嗅探持续时间t增长,自信息i(p)呈现出逐步增大趋势,即含有“btlvote”llmnrquery包在本地网络llmnrquery流量中的随机性不断增加。主要原因是随着t增长,本地网络所有llmnrquery包总数的增加量要远大于含有“btlvote”llmnrquery包总数的增加量,尤其是当正常用户进行查找网络邻居等操作时,需要解析多个主机名字,会产生大量的正常llmnrquery包。而含有“btlvote”llmnrquery包仅在btl选举时产生一次,出现时间也极短,大大降低了其在本地网络流量暴露的可能性。此外还可看到,由于bot数量的增加必然引起含有“btlvote”llmnrquery包总数的增加,提高了此类型包在本地网络llmnrquery流量中出现的概率,从而导致出现其i(p)会随bot数量的增加而明显增大的现象,例如当bot数量分别为10、30和50时,在t=240s情况下,所对应的i(p)分别为7.3、5.5和4.5。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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