基于社交网络和半马尔可夫过程的手机病毒传播建模方法
技术领域
本发明涉及手机病毒传播动力学建模与分析,提供一种基于社交网络和半马尔可夫过程的手机病毒传播建模方法,属于网络与信息安全领域。
背景技术
随着短信(short message service, SMS)和彩信(multimedia messaging service, MMS)越来越受到人们的青睐,使得基于SMS/MMS的社交网络具有非常适合手机病毒的传播。因此,如何对基于SMS/MMS的病毒传播动力学进行建模与分析,成为了移动通信网络安全的一个重要问题。该病毒是在人们收发SMS/MMS进行社会交往时进行传播的,具有隐蔽性强、传播速度快、危害大等特点。另外,基于SMS/MMS的社交网络的节点度分布具有幂律分布的特性,根据社交网络和手机病毒传播的特点,设计一种病毒传播动力学模型来刻画人们社会交往对手机病毒传播的影响以及个体的差异性对手机病毒传播的影响。这样有利于发现手机病毒的传播规律和预测手机病毒的传播趋势,为遏制手机病毒的传播奠定基础。
目前,现有的针对手机病毒的相关研究,大部分传播模型都是采用生物病毒传播学原理来建模,不能适用于大规模网络环境,而且没有考虑人们的社交行为和个体的差异性对手机病毒传播的影响。
因此,考虑到国家、人们对网络安全的需要,作为国家自然科学基金面上项目“智能手机病毒传播动力学建模理论及分析方法研究”(61379041)的研究成果之一,我们提出了一种基于社交网络和半马尔可夫过程的手机病毒传播建模方法。该方法将人们发送SMS/MMS来进行社会交往的行为抽象成社交网络,再对社交网络的特征进行分析以揭示其与手机病毒传播之间的关系;引入半马尔可夫过程来对节点的状态转换进行建模,并将交互次数与状态转换概率有机地结合在一起;引入传染系数和抵抗系数来刻画个体差异性对病毒传播的影响;采用Visual C++ 6.0和MATLAB 7.0的混合编程技术开发了一个模拟器来进行实验验证。
发明内容
本发明的目的是提供一种基于社交网络和半马尔可夫过程的手机病毒传播建模方法。该方法考虑到病毒的复杂性及其传播过程的不确定性,能更好地刻画人们的社交行为和个体的差异性对病毒传播的影响。从而为手机病毒的防控提供一种有效的解决方案。
为了实现上述目的,本发明利用实际的短信/彩信通信数据来构建社交网络,以便发现和刻画不同个体之间的交互关系与病毒传播之间的关系。然后,对节点的异常行为及其转换规律进行分析和建模;最后,引入传染系数和抵抗系数来揭示个体的差异性与病毒传播之间的关系。主要的发明内容如下。
(1)社交网络的构建
它可用一个无向加权图G=(V,E,W)来表示,其中:V表示顶点集合,即表示移动通信网络中的手机;E为网络中节点间的有向边,表示手机用户之间发送短信的行为,边的弧头指向表示短信行为的接受方;W为有向边的权重,表示发送短信的行为的值,值越大表示发送短信的数量越多。di表示顶点i的度,即手机的数量(表示链接的数量或手机拥有di个朋友)。Cij表示从i发送到j的短信和彩信的数量。另外,还引入两个函数f(i)和f(i, j)分别映射每个顶点 和每条边。因此,该图可以分别用f(i)和f(i, j)来确定顶点和边的权重。顶点和边的权重的映射函数表示为:f(i)= di,f(i, j)= Cij+Cji。
顶点和边的权重可同时用来表示手机被病毒感染的概率。从f(i)= di可以看出,顶点的权重取决于di。对于基于SMS/MMS的病毒,如果某部手机的入度大,就表示它更容易被病毒感染,而出度大表示它更容易把病毒传染给其它手机。因此,那些具有节点度大的手机,无论是它的入度大还是出度大,都应当分配一个更大的顶点权重。任意两台手机相互之间的社会交往情况可用f(i, j)= Cij+Cji来表示。
(2)节点状态分类
采用半马尔可夫过程对手机感染病毒后出现异常行为进行建模的基础是将手机划分为不同的状态。根据手机本身所表现出来的行为特性,拟把个体的状态分为以下4种。
A)易感状态S(Susceptible),即节点未被感染,并且没有免疫力;病毒从处于易感状态S的节点出发,通过网络连接向四周传播。
B)潜伏状态E(Exposed),病毒入侵后被感染的节点处于潜伏状态E,由于不同节点自身对病毒的重视程度不同,处于潜伏期E的部分节点会进入状态I和R,另一部分则会返回状态S。
C)染病状态I(Infected),即节点已被感染,此时节点具有传染性。
D)免疫状态R(Recovered),在病毒传播开来后,部分处于状态S的节点通过采取一些安全措施对该病毒产生预免疫,进入免疫状态R。
(3)状态之间的相互转换关系
节点各状态之间的相互转换关系如下。
A)由于安装杀毒软件,一个处于易感状态的节点转换为免疫状态;由于很多原因也可使该节点转换为潜伏状态,例如:没有安装杀毒软件、从网上随意下载应用程序并进行安装。
B)如果一个处于感染状态的节点能及时地安装杀毒软件,它便能转换为免疫状态或易感状态。
C)如果一个处于潜伏状态的节点能及时地采取相应的安全措施,它便能转换为免疫状态或易感状态;但如果正处于病毒爆发时期,也可能转换为感染状态。
D)当一种新病毒出现时,一个处于免疫状态的节点能再次转换为易感节点。
(4)节点异常行为建模
在半马尔可夫过程中,节点从一个状态转移到另一个状态可以用两个矩阵来表示:P = (pij)和F(t) = (Fij(t)),其中pij表示节点从状态Zi变为状态Zj的转移概率;Fij(t)节点表示从当前状态Zi转移到状态Zj的时间分布。假定一个半马尔可夫过程{X(t), t≥0},其状态空间为W={S, E, I, R}及DTMC的一步转移概率矩阵P所示,当t→∞时,转移分布Pij(t)服从非格点的分布及具有极限概率Pj,则
其中,M(j)、M(k)分别表示在状态Zj、Zk逗留的平均时间,且,(设Ti是在状态Zi的逗留时间,Tj是在状态Zj的逗留时间);是{Zn}的平稳分布,且,,。
要计算Pj,就需要求出pij和M(i)。然而,通过该式来计算Pj也并不是一件容易的事情,因为难以确定逗留时间M(i)。因此,本发明不仅给出了基于半马尔可夫过程的节点行为模型及用来分析极限状态概率的计算表达式,而且建立了一个网络场景并提供了相应的理论分析。
(5)个体差异性建模
由于病毒的传播与个体的抵抗力和病毒传染性的强弱都有关,而现有的病毒传播模型大都没有考虑个体的差异性对病毒传播的影响。因此,本发明引入了3个参数来刻画个体的差异性对病毒传播的影响,具体描述如下。
A)传染系数:用ICji(Infection Coefficient, IC)表示,即节点j对i传染性的强弱();当ICji=0,表示该节点没有传染性;当ICji=1,表示该节点具有极强的传染性。
B)抵抗系数:用RCij(Resisted Coefficient, RC)表示,即节点i对j的抵抗能力的大小();当RCij=1,表示该节点具有极强的抵抗能力。
C)感染阈值:用ITi(Infection Threshold, IT)表示,即节点i的朋友节点对其影响力的总和。用来判断处于状态S的节点的状态是否会发生变化。
(6)病毒传播模型
根据短信/彩信病毒传播的特点,在构建社会关系图的基础上,设计相应的状态转换算法,并利用该算法来刻画短信/彩信病毒的传播过程。状态转换算法具体为。
第1步:初始化网络。根据短信/彩信数据集来统计网络的相关信息,如节点的数量、短信发送情况等。
第2步:初始化每个节点的状态。随机地选节点j并将其状态设置为I,其它节点状态都设置为S。
第3步:统计朋友节点信息。每个节点根据与其它节点发送短信/彩信的情况,来统计各自的朋友节点信息。
第4步:设在某时刻t时访问节点j,假设T表示节点从S状态转变为E状态的阈值,则:如果j的状态为I,则遍历j的朋友节点,如果其朋友节点i的状态为S,而且,此时j发送短信或彩信给i,那么:A)当时,则i以概率pSE转变成状态E;B)当时,则i保持状态S不变;C)当ICji=0或RCij=1时,则i以概率pSR转变成状态R;同时,j以概率pIR转变成状态R;如果j的状态为E,则该节点以概率pER转变成状态R,或该节点以概率pEI转变成状态I;重复执行第4步,直到遍历完所有节点为止。
第5步:t=t+1,算法结束。
(7)病毒传播分析
借鉴现有的传染病传播(如SARS、HIV、H1N1等)和有线网络病毒传播(如Code-Red、Slammer等)分析方法来确定涉及手机病毒传播的相关参数的数量以及每个参数的取值范围、初始值的大小等。对病毒传播所依赖的拓扑结构的主要形式进行分析,并设计基于有向图的Erdǒs-Rényi(ER)网络拓扑结构生成算法,其主要思想是根据ER网络拓扑结构的特点,采用随机图论对基于有向图的ER网络拓扑结构下的病毒传播进行模拟分析。
由于复杂网络领域的静态拓扑结构生成算法只考虑网络本身的特性,当应用到手机病毒传播网络生成时还需要考虑与病毒传播过程相关的条件和属性等。比如是否在两个结点之间创建边,除了满足它们各自的度值要求之外,还需要考虑个体交互是否满足给定的局部判定条件(抵抗因子和交互次数等),同时还需赋予边与交互关系相关的属性值(如交互次数、持续时间等)。采用Visual C++ 6.0和MATLAB 7.0的混合编程技术开发了一个模拟器来来验证基于有向图的ER网络拓扑结构生成算法的正确性和有效性。
附图说明
图1为社交网络图示例。
图2为状态转换关系图。
图3为节点状态转换算法流程图。
图4为数据分析算法流程图。
图5为手机病毒传播动力学分析图。
具体实施方式
下面结合附图对本发明做进一步的详细说明。
(1)社交网络的构建
它可用一个无向加权图G=(V,E,W)来表示,其中:V表示顶点集合,即表示移动通信网络中的手机;E为网络中节点间的有向边,表示手机用户之间发送短信的行为,边的弧头指向表示短信行为的接受方;W为有向边的权重,表示发送短信的行为的值,值越大表示发送短信的数量越多。di表示顶点i的度,即手机的数量(表示链接的数量或手机拥有di个朋友)。Cij表示从i发送到j的短信和彩信的数量。另外,还引入两个函数f(i)和f(i, j)分别映射每个顶点和每条边。因此,该图可以分别用f(i)和f(i, j)来确定顶点和边的权重。顶点和边的权重的映射函数表示为:f(i)= di,f(i, j)= Cij+Cji。
顶点和边的权重可同时用来表示手机被病毒感染的概率。从f(i)= di可以看出,顶点的权重取决于di。对于基于SMS/MMS的病毒,如果某部手机的入度大,就表示它更容易被病毒感染,而出度大表示它更容易把病毒传染给其它手机。因此,那些具有节点度大的手机,无论是它的入度大还是出度大,都应当分配一个更大的顶点权重。任意两台手机相互之间的社会交往情况可用f(i, j)= Cij+Cji来表示。任意两台手机不管在何时通过发送短信和彩信来进行通信,那么它们都有机会成为朋友。因此,打开并激活一条来自对方的且携带病毒的消息的概率就会很大。表明了社交网络既可以揭示任意两台手机之间是如何彼此产生联系的,也可以刻画病毒是如何利用这种社会关系来进行传播的。
本发明采用中国最大的移动通信网络运营商之一——中国电信所提供的短信和彩信记录来研究社交网络的构建。消息记录包括40万用户在2012年10月的3个星期内所发送的约2千万条的短信和彩信。为了保护用户隐私,短信和彩信的内容在提取时就被屏蔽了,提取的信息只保留了发送者和接收者的电话号码及发送时间,而且对电话号码也进行了技术处理,使用其它编号来代替。为了进一步说明社交网络的构建过程,从中抽取10部手机在1周内发送短信/彩信的数量来构建了一个社交网络(见附图1)。
(2)节点状态分类
采用半马尔可夫过程对手机感染病毒后出现异常行为进行建模的基础是将手机划分为不同的状态。根据手机本身所表现出来的行为特性可把个体的状态分为以下4种。
A)易感状态S(Susceptible),即节点未被感染,并且没有免疫力;病毒从处于易感状态S的节点出发,通过网络连接向四周传播。
B)潜伏状态E(Exposed),病毒入侵后被感染的节点处于潜伏状态E,由于不同节点自身对病毒的重视程度不同,处于潜伏期E的部分节点会进入状态I和R,另一部分则会返回状态S。
C)染病状态I(Infected),即节点已被感染,此时节点具有传染性。
D)免疫状态R(Recovered),在病毒传播开来后,部分处于状态S的节点通过采取一些安全措施对该病毒产生预免疫,进入免疫状态R。
(3)状态之间的相互转换关系
节点各状态之间的相互转换关系如下。
A)由于安装杀毒软件,一个处于易感状态的节点转换为免疫状态;由于很多原因也可使该节点转换为潜伏状态,例如:没有安装杀毒软件、从网上随意下载应用程序并进行安装。
B)如果一个处于感染状态的节点能及时地安装杀毒软件,它便能转换为免疫状态或易感状态。
C)如果一个处于潜伏状态的节点能及时地采取相应的安全措施,它便能转换为免疫状态或易感状态;但如果正处于病毒爆发时期,也可能转换为感染状态。
D)当一种新病毒出现时,一个处于免疫状态的节点能再次转换为易感节点。
由于节点在遭受病毒攻击后,其状态转换有以下特点:一是节点的未来状态仅与其当前状态有关;二是导致节点状态转换的因素很多,使状态转移的时间不是指数分布的,而是一般分布。上述特点符合半马尔可夫过程的基本性质,因此,可以采用半马尔可夫过程对手机短信/彩信病毒传播的节点异常行为进行建模。结合手机病毒传播的特性,可得基于半马尔可夫过程的节点状态转换关系图(见附图2)。
(4)节点异常行为建模
在半马尔可夫过程中,节点从一个状态转移到另一个状态可以用两个矩阵来表示:P = (pij)和F(t) = (Fij(t)),其中pij表示节点从状态Zi变为状态Zj的转移概率;Fij(t)节点表示从当前状态Zi转移到状态Zj的时间分布。因此,{Zn}的转移概率矩阵为:
其中,pii=0表示{Zn}中状态转换只有从一种状态转换为另一种状态;在上式中存在转移概率为零的情况,如pIE=0, pIE=0,表示处于感染状态的节点不会转变成为易感状态或潜伏状态。另外,由于随机矩阵中一个状态的转移概率之和等于1,因此,pIR=1, pRS=1。
假定一个半马尔可夫过程{X(t), t≥0},其状态空间为W={S, E, I, R}及DTMC的一步转移概率矩阵P所示,当t→∞时,转移分布Pij(t)服从非格点的分布及具有极限概率Pj,则
其中,M(j)、M(k)分别表示在状态Zj、Zk逗留的平均时间,且,(设Ti是在状态Zi的逗留时间,Tj是在状态Zj的逗留时间);是{Zn}的平稳分布,且,,。
要计算Pj,就需要求出pij和M(i)。但是,通过该式来计算Pj也并不是一件容易的事情,因为难以确定逗留时间M(i)。
首先,假定在时间周期[0, t]内,由状态i转换为其它状态k的总数为Nik (),那么pij可近似为:。
另外,建立一个网络场景并给出相应的理论分析。为了分析的方便,做了如下假设。
A)每个节点具有相同的健康指数极限值H,如果当节点的健康指数极限值低于阈值时,就有可能感染病毒。
B)当每个节点健康指数低于阈值时,它将由易感状态转换为潜伏状态;当每个节点健康指数低于阈值时,它将由潜伏状态转换为感染状态;当每个节点健康指数大于阈值()时,它将由感染状态转换为免疫状态。
C)任意两个节点在单位时间内通过SMS/MMS进行社会交往时,都将遭遇一个危险指数();每个节点在单位时间内都有一个修复指数()。
D)每个节点驻留在网络的时间是随机的,与手机用户的行为有关,可以用来表示。
E)每个节点由免疫状态再次转换为易感状态的期望时间为。
由于与节点的交互次数有关,因此,可表示为:
其中TM表示节点i的所有朋友节点给其发送消息的总数,用来表示。
至今为止,由于没有有效的方法用来分析极限概率,因此,结合上面给定的网络场景,提出了一种启发式方法来评估状态转移期望时间M(i, j) ()。可得状态转移期望时间矩阵Q为:
如果一个节点的健康指数低于时,该节点由易感状态转换为潜伏状态,M(S,E)可近似为:
同样地,M(S,I), M(E,S), M(E,I), and M(I,R)可近似为:
一般的,如果任一节点由其它状态转换为免疫状态所需的平均时间为,那么,M(S,R)和M(E,R)可近似为:,。
另外,如果任一节点由免疫状态转换为易感状态所需的平均时间为,那么,M(R,S)可近似为:。
因此,{Zn}的状态转移期望时间矩阵Q可近似为:
这样通过求解矩阵Q,便可以获得逗留时间M(i)。
(5)个体差异性建模
由于病毒的传播与个体的抵抗力和病毒传染性的强弱都有关,而现有的病毒传播模型大都没有考虑个体的差异性对病毒传播的影响。因此,本发明引入了3个参数来刻画个体的差异性对病毒传播的影响。为了便于分析,做了如下假设:Cji表示节点j在一周内给节点i发送短信/彩信的数量,Cmax表示在一周内任意一对节点发送短信/彩信的数量最大值;Ni表示节点i的朋友节点数;、是一个常数,根据具体的实际环境进行设置;和分别是传染系数和抵抗系数的调节因子(、≥ 0)。3个参数的具体描述如下。
A)传染系数:用ICji(Infection Coefficient, IC)表示,即节点j对i传染性的强弱();当ICji=0,表示该节点没有传染性;当ICji=1,表示该节点具有极强的传染性。
B)抵抗系数:用RCij(Resisted Coefficient, RC)表示,即节点i对j的抵抗能力的大小();当RCij=1,表示该节点具有极强的抵抗能力。
C)感染阈值:用ITi(Infection Threshold, IT)表示,即节点i的朋友节点对其影响力的总和。用来判断处于状态S的节点的状态是否会发生变化。
为了保证最终求出的ITi值在区间[0,1]中,做了如下的归一化处理。
其中N表示网络中节点总数,min{ITk}、max{ITk}分别表示所有节点中感染指数的最小值、最大值。
(6)病毒传播模型
根据短信/彩信病毒传播的特点,在构建社会关系图的基础上,设计相应的状态转换算法,并利用该算法来刻画短信/彩信病毒的传播过程。状态转换算法具体为。
第1步:初始化网络。根据短信/彩信数据集来统计网络的相关信息,如节点的数量、短信发送情况等。
第2步:初始化每个节点的状态。随机地选节点j并将其状态设置为I,其它节点状态都设置为S。
第3步:统计朋友节点信息。每个节点根据与其它节点发送短信/彩信的情况,来统计各自的朋友节点信息。
第4步:设在某时刻t时访问节点j,假设T表示节点从S状态转变为E状态的阈值,则:如果j的状态为I,则遍历j的朋友节点,如果其朋友节点i的状态为S, 而且,此时j发送短信或彩信给i,那么:A)当时,则i以概率pSE转变成状态E;B)当时,则i保持状态S不变;C)当ICji=0或RCij=1时,则i以概率pSR转变成状态R;同时,j以概率pIR转变成状态R;如果j的状态为E,则该节点以概率pER转变成状态R,或该节点以概率pEI转变成状态I;重复执行第4步,直到遍历完所有节点为止。
第5步:t=t+1,算法结束。
因此,可得基于SMS/MMS的手机病毒传播动力学分析的节点状态转换算法流程图(见附图3)。
(7)病毒传播分析
借鉴现有的传染病传播(如SARS、HIV、H1N1等)和有线网络病毒传播(如Code-Red、Slammer等)分析方法来确定涉及手机病毒传播的相关参数的数量以及每个参数的取值范围、初始值的大小等。对病毒传播所依赖的拓扑结构的主要形式进行分析,并设计基于有向图的Erdǒs-Rényi(ER)网络拓扑结构生成算法,其主要思想是根据ER网络拓扑结构的特点,采用随机图论对基于有向图的ER网络拓扑结构下的病毒传播进行模拟分析。
由于复杂网络领域的静态拓扑结构生成算法只考虑网络本身的特性,当应用到手机病毒传播网络生成时还需要考虑与病毒传播过程相关的条件和属性等。比如是否在两个结点之间创建边,除了满足它们各自的度值要求之外,还需要考虑个体交互是否满足给定的局部判定条件(抵抗因子和交互次数等),同时还需赋予边与交互关系相关的属性值(如交互次数、持续时间等)。
采用Visual C++ 6.0和MATLAB 7.0的混合编程技术开发了一个模拟器来来验证基于有向图的ER网络拓扑结构生成算法的正确性和有效性。结合手机病毒传播动力学的特性,可得数据分析算法流程图(见附图4)和手机病毒传播动力学分析图(见附图5)。