对等僵尸网络的建模和评估Word格式.docx
《对等僵尸网络的建模和评估Word格式.docx》由会员分享,可在线阅读,更多相关《对等僵尸网络的建模和评估Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
C进程也更完善,这一点被多数研究者所意识到。
在一些特殊性能的基础上他们研究了高级僵尸网的性能。
然而它并不能系统地显示出僵尸网中性能和模型特征的关系。
在这部分通过介绍一个数学模型来分析P2P僵尸网络我们很容易获得5种性能指标。
(也就是联系度,联系度率,连接率,暴光率,平均跳跃总数)
不管它是什么样的模型特征(i.e.僵尸网的规模,serventbots的数量和同行列表的大小)我们建议一个最优的方案来建立一个最佳的僵尸网络。
总的来说,我们的想法如下:
(a)我们通过介绍一些定义和一些数学模型来介绍高级P2P僵尸网络,僵尸网的性能指标能从这些模型中导出。
(b)在这些结果的基础上,我们能有系统地导出5种性能指标和僵尸网的性能指标和模型特征的关系。
(c)考虑到僵尸网的健壮性和安全性,我们设定了一个最佳的P2P僵尸网络。
在剩下的第2部分我们将介绍相关的工作和工作背景,第3部分介绍相关的数学模型来走近高级P2P僵尸网络,第4部分来分析5种性能指标以及性能指标种模型特征的关系,第5部分介绍构建高级P2P僵尸网的优化方案。
第6部分总结这篇文章。
二、相关的工作及工作背景
为了有效地发现和防止僵尸网络,研究僵尸网络的性能是相当有必要的,因此研究僵尸网络的性能成为了最近几年来热点。
Rajab,etal.[15]专注于评僵尸网络群体和标记,对研究团队更好地定义僵尸网络的性能是非常有必要。
Wang,etal.[14]介绍了高级的混合型对等僵尸网络,提出了两种标准,等级率,连接率来研究僵尸网络的健壮性。
Dagon,etal.[16]提出了关键的性能指标来评估几种僵尸网络对不同活动的实用性(例如spam和DDoS)。
Ruitenbeek,etal.[17]提出了一个stochastic模型僵尸网的产生模型来来提供一些抵缷策略,但是这存在一个限度。
基本的僵尸网络展现出不受控制的率增长,但是在现实中存在一个上限。
为了研究它在一个时间内的动态增长Dagon,etal.[18]呈现了一个每天的模型来描述僵尸网的传播种准确地预测一个僵尸网的增长,他们的工作同样专注于集中命令控制结构。
另外Song,etal.[19]呈现了一个僵尸网相互作用模型,获得了一个快速进化的动态模型,这两个僵尸网络的类型是被熟知的,但研究对随机扫描的僵尸网的增长存在很大的限制。
Wang,etal.[14]呈现了两个标准(i.e.连接比和程度比)来评估高级P2P僵尸网的健壮性,连接率显示僵尸网络怎样把在防御活动中剩下来的成员连在一起而幸存下来。
度比显示所剩下成员组成的僵尸网的密集程度。
这两个指标定义为:
连接率=僵尸网最大时的总数学/所剩下僵尸网数量
度比=僵尸网最大时平均关联度/所剩下僵尸网关联度
通过这两个标准能够很有意义地描述僵尸网的健壮性。
然而,这个研究在这个文章中并不足够获得高级P2P僵尸网性能指标和模型特征的总体关系。
为此,我们提出了一个数学模型来分析通过最少数据最有效地来描述僵尸网络系统。
在这个过程中了解高级P2P僵尸网的结构和C&
C进程是很关键的。
如图1显示,病毒分为两类,一种叫做serventbots,表现像服务器和用户,servent病毒能够通过网络被连接,因为它们的静态IP地址。
另外一个称为客户病毒,它作为一个用户,因为它在防火墙后面或者用动态主机配置协议(DHCP),很难直接通过网络连接。
图1阐明了P2P僵尸网命令和控制结构。
箭头A指B表示A连接到B,每一个病毒有一个serventbots的IP地址组成的同行列表,所有的病毒通过它们自己的同行列表连接起来组成一个P2P僵尸网络。
通过Wang[14]的这个模拟实验,如果病毒控制者不干涉僵尸网的传播,僵尸网络会退化成一个C&
C僵尸网,最初的病毒服务器像C&
C服务器一样所有的病毒将连接到最初的服务器上。
IRCbotnet和这种结构有一个相同的缺点,C&
C服务器非常容易被找到和转移,这就意味着僵尸网很容易被摧毁。
考虑到地质学上内在的缺点,攻击者不用参与任何活动,在僵尸网的传播过程中介绍了同行列表的更新进程,网络控制者命令一个特别的传感器主机(其中一个僵尸网服务器)在僵尸网传播后的一段时间里收集所有僵尸网服务器的信息。
同时传感器主机随机的选择一个可测的IP地址组成一个更新了的同行列表把它返回到每一个被请求的病毒。
在僵尸网的增殖期间控制者运行这个程序一次或几次。
每次运行同行列表更新程序,所有的现有病毒有相同的平衡的连接到时病毒服务器更新同行列表。
在本文中同行列表更新实验中【14】,当病毒服务器达到1000并且僵尸网传播出去以后,病毒控制者进行同行列表更新程序来组建一个新的模块。
随着僵尸网络的传播,其数量达20000以后,这时服务器的数量达5000。
在同行列表更新以后,僵尸网会比它之前更健壮,几乎所有的病毒都连接到那1000个服务器上,然而剩下的4000个病毒服务器在同行列表更新中不能被充分利用。
很明显,如果所有的病毒服务器都参与到同行列表更新程序中,那么它的健壮性会更好。
我们认为选择低于1000病毒服务器来参与更新同行列表既不快也不慢有两个原因。
一分面,越迟更新同行列表僵尸网就越危险。
因此即时更新同行列表能提高僵尸网的安全性,然而僵尸网络需要更多的时间来发展更多的病毒服务器,因此僵尸网传播出去以后须要快迅地更新同行列表。
为了用更多的的僵尸服务器来组建更健壮的僵尸网络,我们的方法是运行两次同行列表更新程序,当僵尸网服务器增加到一个特定的规模,第一次更新使得僵尸网尽可能快地处于一个相当安全的环境,当僵尸网达到一个相对稳定的阶段第二次更新使得充分地利用更多的僵尸服务器来组建僵尸网络。
另一方面,同行列表的规模越大僵尸网就越健壮。
但是,当僵尸网的规模相当大时它的效率就会明显减弱。
为了解决这个问题,我们提出了一个最优的方案来确定同行列表合适的规模来确保僵尸网的健壮性各效率。
为了充分利用僵尸网服务器组建更健壮的僵尸网络,本文中我们假定所有的僵尸网服务器是同行列表僵尸网服务器。
三、高级P2P僵尸网模型
3.1数学模型
我们定义Φ(I,S,M)为高级P2P僵尸网络,I,S,M为网络的率。
I为僵尸网的规模,S为僵尸网服务器的数量,M为同行列表的大小,所以clientbots的数量为I-S。
在僵尸网中病毒服务器为1到S,clientbots从S+1到I,因此serventbots,clientbots,所有病毒可以分别表示为QS={1,2,...,S},QC={S+1,S+2,...,I}andQI=QS∪QC={1,2,...,I}。
因为在每个僵尸网络的同行列表中Mserventbots是从所有serventbots中随机选择的,僵尸网j的同行列表定义为Lj={l1j,l2j,...,lMj},j∈QIandlij∈QS.
Lij的约束条件为
lij̸=lkj,i̸=k
lij̸=j,i∈{1,2,...,M}.
我们构建一个矩阵S×
I如下
a11a12...a1Sa1(S+1)...a1I
A=a21a22...a2Sa2(S+1)...a2I
..................
aS1aS2...aSSaS(S+1)...aSIS×
I
在这里病毒程序i和j的连通性定义为aij,在这里i∈QS,j∈QIandaij∈{0,1}.当aij=1时病毒程序j连接到i,反之当aij=0时它们之间无连接,很明显aij=0时serventbots不能连接到它自己,在僵尸网中所有的病毒只能连接到serventbots自己的同行列表中,从而我们得到了下面的约束条件:
aij=1i∈Lj,j∈QI
aij=0,others.
因此矩阵A能够用来描述P2P僵尸网Φ(I,S,M)的性能。
3.2模型分析
我们假定矩阵A中的列向量为b1,b2,...,bI,行向量为c1,c2,...,cS,则bj=(a1j,a2j,...,aSj)andci=(ai1,ai2,...,aiI),j∈QIandi∈QS。
根据僵尸网和矩阵A的特征,病毒程序j只能连接它自己的同行列表中的服务器程序病毒,病毒程序j的连接方向在列向量bj中所显示出来。
总而言之,M非0原理分布每一个列向量bj中。
因此有:
当S<
j≤I,时,病毒程序j为clientbots。
在列向量bj中,非零元素的概率为
P{aij=1}=M/S,为零的概率为P{aij=0}=1-M/S,这里i∈QS。
当1≤j≤S,
病毒程序bj是serventbots,因为ajj=0,剩下的S-1个元素为非零的概率P{aij=1}=M/(S−1),反之为零的概率为P{aij=0}=1-M/(S−1),这里i∈QS。
一般来说serventbots数量S>
>
1,所以M/(S−1)≈M/S。
因此每个元素的概率都是在0到1之间,如下所示:
P{aij=1}=M/S,i∈QS,j∈QI
P{aij=0}=(1−M)/S,i∈QS,j∈QI.(7)
假设所有的serventbots程序都被隔离,那么这个僵尸网络就被完全摧毁了。
而且移除serventbots程序比移除clientbots程序更能更好地摧毁僵尸网络。
在我们的研究中,随机移除serventbots程序被用来摧毁僵尸网络。
总而言之,假定serventbots程序i被移除,那么与i相连接的所有病毒将会被移除,例如行向量ci和列向量bi将会在矩阵A被移除。
我们假定K为被移除的serventbots程序的数量,p为被移除的serventbots程序所占的率p=K/S。
假定K个serventbots程序被移除,与K相关的行、列向量都会被移除,矩阵A将会成为一个(S−K)×
(I−K)矩阵。
因此剩下的病毒程序和serventbots程序的数量分别I-K和S-K,剩下的clientbots程序的规模为I-S。
但是,很难找出是哪些serventbots程序被移除了,因为是随机移除的。
简而言之,剩下的serventbots程序在1到S-k之间,剩下的clientbots程序在S-K+1到I-K之间,因此剩下的serventbots程序和clientbots程序可以分别定义为:
Q ̄C={S−K+1,S−K+2,...,I−K}and{1,2,...,I−K},
此时矩阵A变为:
 ̄a11 ̄a12... ̄a1(S−K) ̄a1(S−K+1)... ̄a1(I−K)
Ap= ̄a21 ̄a22... ̄a2(S−K) ̄a2(S−K+1)... ̄a2(I−K)
.....................
 ̄a(S−K)1 ̄a(S−K)2... ̄a(S−K)(S−K) ̄a(S−K)(S−K+1)... ̄a(S−K)(I−K)
(S−K)×
(I−K).(8)
这里 ̄aij为剩下的病毒程序相连的程序i∈Q ̄Sandj∈Q ̄I.因此矩阵Ap表示剩下的僵尸网络。
根据公式7,我们可得到各元素的概率在0到时1间如下:
P{¯
aij=1}=M/S(i∈Q¯
S,j∈Q¯
I)
aij=0}=1−M)/S(i∈Q¯
I).(9)
四.分析僵尸网络的性能
在所介绍僵尸网络的基础上,我们可以得到以下5种性能:
联系度,联系度率,连接率,暴光率,平均跳跃率。
第一个特性表明同行列表更新以后僵尸网连接的密集程度,第二个特性表明随机移除后剩下的僵尸网络连接的密集程度;
第三个特性表明剩下的僵尸网络连接在一起的抵御能力争;
这三个特性反映了僵尸网的健壮性。
暴光率表明连接到一个确定的honeypots【20】后的密集程度,它表明了僵尸网的安全性;
平均跳跃数表明僵尸网的效率。
4.1联系度
A的行向量是c1,c2,...,cS,ci表明连接到serventbotsi(i∈QS,ci=
(ai1,ai2,...,aiI).)所以serventbotsi的联系度就是ci中所有元素之和,定义为:
Di
(10)
因为每一个病毒程序连接到serventbots包括了它的同行列表,因此僵尸网Φ(I,S,M)中的连接数量是I*M,serventbots的平均联系度可以简单的表示为(11)
为了观察每一个僵尸网的联系度,在模拟实验中我们认为有以下三种情况:
(a)I=1000,S=500,M=10,
(b)I=2000,S=500,M=10,
(c)I=2000,S=500,M=20.
根据公(11)得出理论上的联系度分别是20,40,80,如图2所示,每一个serventbots的联系度接近理论值,同时理论值与实验值相一致。
因此用公式(11)可以描述僵尸网的平均联系度。
我们还得出一个结论平均联系度与serventbots的数量成反比关系,平均联系度与僵尸网的规模与同行列表的大小有直接关系。
4.2联系度率
当serventbots程序被移除,被移除serventbots程序p的率是K/S。
在这时Ap中非零元素 ̄aij就是僵尸网的联系度,因此剩下的总的联系度是:
Dtotal=(S−K)(I−K)P{ ̄aij=1}=(S−K)(I−K)M/S(12)
根据上式我们可得出联系度率如下:
(13)
很明显,当S=I时,上面的公式可以化简为D(p)=(1−p)^2;
当S≪I,可以简化为D(p)=1−p.这个模型中僵尸网的特征系数可以有以下三种情况:
(a)I=10,000,S=2000,M=20,
(b)I=10,000,S=5000,M=20,
(c)I=10,000,S=8000,M=20.
如图(3)表示,模拟值非常接近理论值联系度率随着K/S的增加而减少,同时serventbots程序规模的增加,联系度曲线由D(p)=1−p变为D(p)=(1−p)^2。
4.3连接率
连接率是反映僵尸网性能的关键指标,在这篇文章中,我们假定当一个病毒程序不能够接到僵尸网中的任何命令时我们说它是孤立。
在僵尸网Φ(I,S,M)中,当满足条件1时,clientbots程序从僵尸网中孤立出去;
对serventbots程度,必须同时满足条件1和条件2。
条件1:
所有的serventbots在用户的同行列表中/serventbots程序已经被移除;
条件2:
serventbots程序的联系度为0。
假定服务器K被移除,被移除的serventbots等于K/S。
当K<
M,僵尸网中不存在被分离的病毒程序,当K≥M时,如果一个特殊的clientbotj满足条件1,所有bj中M非零的元素分布在K中删除的元素中,因此这种情况的组合为
,另外这
种情况所有的M非零元素随机地分布在列向量bj中。
因此clientbots从僵尸网中分离的概率为
,clientbots的连接率如为:
(14)。
接下来我们分析一下sevrentbots的连接率。
孤立的serventbot需要同时满足条件1和条件2。
当serventbots仅满足条件1时跟clientbots非常相似,因为serventbots不能够连接到它自己,列向量bj中的非零元素M会随机地分布在剩下的S-1个元素中。
因此serventbots仅满足条件1时的连接率为
(15)
很明显在条件1下serventbots被分离的概率为
(16)
我们定义 ̄c1, ̄c2,..., ̄cS−K是Ap中的行向量,如果一个特殊的serventboti满足条件2,它的联系度Dj为0,那么 ̄ci为零向量,因此我们可以得出在条件2下serventbots被分离的概率为
(17)
因此serventbots的连接率为
(18)
因此p2p僵尸网的连接率为
(19)
网的健壮性,我们研究了serventbots被移除的概率和连接率的关系,在我们的模拟实验中考虑了如下三种情况
移除的serventbots从0变到S,也就是说被移除的率从0到1变化实验结果如图4所示。
可以看出,serventbots的连接率在达到一个特定的值前都不会变化(例如,僵尸网的规模分别为0.42,0.62,0.78)。
因此僵尸网的健壮性是非常好的。
因此图4通过公式19很好地描述了连接率。
为了得到模型特征指标和连接率的关系,我们定义p′,serventbots在僵尸网中
的率等于S/I,实验中我们考虑了下面6种情况:
(a)I=10,000,M=5,p=0.8,
(b)I=10,000,M=5,p=0.9,
(c)I=10,000,M=30,p=0.8,
(d)I=10,000,M=30,p=0.9,
(e)I=1000,M=5,p=0.8,
(f)I=1000,M=5,p=0.9.
实验中serventbots的规模从500增加到10000,也就是说serventbotsp′的率从0.05增加到1,结果如图5中a,b所示。
图a表明随着同行列表M的大小增加僵尸网的连接率能被平衡,然而当M更小时,serventbotsp′的率增加连接率能够轻微地增加。
相反地,当M更大时,连接率与serventbots所占的率没有任何关系,从图5中我们注意到p′相当接近1时分析结果与仿真实验没有太大的区别(情况工a,b)。
事实上serventbotsp′的率通常少于0.5,根据Bhagwanetal.[21]所做的统计,大约50%的电脑会在四五天改变一下IP地址。
另外,一些被盗用的电脑不能够被用作serventbots因为它们在防火墙后面或者用动态主机配制协议DHCP,从图中可以看出当p′大于0.8时分析结果非常精确。
图5(b)论证了当p′为一个固定值时僵尸网络I的规模对连接率影响很小。
因此当M足够大时模型的特征指标I和S不能够影响到连接率。
4.4暴光率
当前出现许多防卫技术来对抗僵尸网络,蜜罐技术[20,22,23]对抗僵尸网络有良好作用以来变得更流行了,蜜罐系统能够轻易地占据僵尸网络的重要信息,因此当僵尸网连接到蜜罐系统后能够非常有效地审查它的性能。
暴光率,是描述僵尸网络连接到蜜罐系统后高级P2P僵尸网络的密集程度,很明显当蜜罐系统作为serventbots比作为clientbots暴光程度更大,因此我们仅考虑它作为serventbots的这种情况,暴光指数定义如下:
(20)
假定一个特殊的serventboti作为蜜罐系统,所在与它有关的病毒程序都会暴光,换句话说,如果serventboti成为蜜罐系统,行向量ci和列向量bi中的所有非零元素病毒都会暴光。
我们定义p′′为蜜罐系统的分数形式p′′=H/S,这时蜜罐系统H已经加入了僵尸网络。
假定一个特定的clientbotj没有暴光,clientbotj的同行列表中所有的Mserventbots都不是蜜罐系统。
因此,列向量bj中所有的M非零元素分布在S-H中没有暴光的位置,这种情况的组合数为
,另外,所有的非零元素随机地分布在列向量bj中的组合为
。
因此得出非暴光率为
(21)
蜜罐系统能够被serventbots认出不能够被防卫者认出,然而,当蜜罐系统连接到僵尸网络后一般的serventbots仍然能够被暴光。
因此一般的serventbots没有暴光须要满足下面两种情况:
情况3:
所有的Mserventbots在一般的serventbots同行列表中不是蜜罐系统。
情况4:
一般的serventbots不存在任何蜜罐系统的同行列表中。
假定一般的serventboti满足条件3。
在矩阵A中列向量bi所有非零元素被分布在S-H-1中不确定的位置,这种情况的组合数为
,同时这里所有M非零元素随机分布在列向量bi有
种组合。
在这时一般的serventbots的非暴光的率仅满足条件3时如为
(22)
我们定义QH这蜜罐系统H。
假定一般的serventboti满足条件4,这意味着所有的蜜罐系统没有连接到一般的serventboti。
因此,行向量中元素aij为0,(j∈QH.)。
因此在这时一般的serventboti非暴光率这
这样一般的serventbots非暴光率仅满足条件4时为:
(23)
因此,在僵尸网中连接到蜜罐系统H后普通的serventbots非暴光