一种分布式环境下的计算机病毒疫苗传播方法

文档序号:6573082阅读:1224来源:国知局

专利名称::一种分布式环境下的计算机病毒疫苗传播方法
技术领域
:本发明属于计算机应用领域,具体涉及一种分布式环境下的计算机病毒疫苗传播方法。
背景技术
:互联网的出现与迅猛发展极大地改变了人类的生活习惯和模式。人类社会对互联网的依赖程度越来越高,它的作用渗透到教育、行政、金融、商业、服务等各行各业以及人们的日常生活之中。因此,互联网的安全可靠性显得尤为重要。近年来,互联网飞速发展的同时,计算机病毒也随之兴起,种类越来越多,破坏性日益剧烈,对互联网的安全构成极大威胁。计算机病毒具有传染性、隐蔽性、非授权性、潜伏性、不可预知性和破坏性。自从1988年Morris蠕虫病毒爆发以来,计算机病毒成为现代计算机网络的一个重大安全威胁。计算机病毒的数量每年都在以指数级增长,而且由于近几年传输媒质的改变和Internet的广泛应用,导致病毒感染的对象开始由工作站(终端)向网络部件(代理、防护和服务设置等)转变,病毒类型也由文件型向网络蠕虫型改变。网络蠕虫型病毒不仅影响了受感染的计算机,同时会给计算机网络带来全球性的影响比如说严重的网络拥塞等。相比如早期的蠕虫病毒需要几个小时的时间来传播自身,现在的蠕虫病毒比如说Warhol、Flash和Sasser病毒结构更加合理,传播时间的数量级变为分钟级甚至是秒钟级。这些结构化的病毒能轻易地攻垮现有的大部分防御体系,在很短的时间内迅速地扩散到整个网络。随着病毒技术的发展,其传播方式也在改变,现今的病毒主要是依赖网络来进行传播。在生物流行病学领域广泛使用的病毒传播模型SIR(Susceptible-Infected-Recovered)模型被引入了计算机病毒研究领域来帮助更好的理解计算机病毒的传播策略。在SIR模型中,每个健康的个体都被认为是易感(S)的,当附近有一个或多个被感染个体(I)时,易感个体将会以几率、被感染;同时,被感染个体会以几率Y被治愈(R)后将不会再感染同种病毒。在计算机病毒的防治方式中,免疫是广泛使用的一种重要方式。现有计算机病毒研究领域的免疫策略可以大致分为静态免疫和动态免疫。静态免疫策略中,节点接受疫苗被治愈后将不会把疫苗传播给其他节点。随机免疫和特定点免疫都属于这一类,两者的不同在于选择进行免疫节点的方式,一种为随机选择而另一种为有目标地选择连接度高的节点。动态免疫策略则通过传播疫苗来抑制病毒的大规模扩散。计算机病毒免疫中至关重要也是关键性的一步是将疫苗尽快传播到整个网络,切断病毒传播的路径,以避免病毒的大规模传播。而现有的传播策略大都是基于客户端(Client)—服务器(Server)模式,即由集中式的服务器向所有的客户端来进行疫苗的传播,传播速度较慢,服务器负载过重,使得传播不稳定不及时。
发明内容本发明的目的在于克服传统病毒疫苗传播方式传播速度缓慢的不足,提供一种分布式环境下的计算机病毒疫苗传播方法,该方法能快速将疫苗传播到大部分节点,以防止病毒的大规模扩散,该方法具有高效率、高安全性和轻负载的特点。本发明提供的分布式环境下的计算机病毒疫苗传播方法,其步骤包括:(1)传播网络进行初始化目录服务器上形成节点群代理列表,每个节点上设定初始信誉度"下载信誉度K和验证信誉度W,并初始化信任节点列表和邻居节点连接度列表;(2)当目录服务器接收到新节点加入传播网络的请求时,新开一个线程处理新节点加入过程,新节点获得目录服务器上的节点群代理列表,并向其中的一个代理发送请求获得最新疫苗库,通过目录服务器对可靠性的验证后下载此疫苗库,加入此代理所属的节点群并设定初始信誉度;(3)存储服务器获得新疫苗后,向目录服务器进行新疫苗数据的注册;(4)目录服务器根据本地存储的节点群代理列表向各节点群代理发送疫苗库更新信息,并附带更新序列值;(5)所有的节点群代理收到更新信息后,从存储服务器上下载新的疫苗以更新本地疫苗库,并更新本地疫苗库的更新序列值;(6)节点群代理更新本地疫苗库后,检査邻居节点连接度列表,根据列表中各节点连接度的高低顺序向节点发送此更新信息;(7)当节点群的节点B接收到节点A的更新信息后,若w〈n或附带的更新序列值〈=本地疫苗库的序列值,直接忽略此更新信息,否则从节点A处下载新疫苗的副本,而后比较W和K的值,若K>=^直接更新本地疫苗库,否则提交给目录服务器进行验证,验证通过则更新本地疫苗库并提高7A,验证未通过则丢弃此新疫苗副本并降低「A。本发明没有采用传统的由集中式的服务器来进行病毒疫苗分发的单一服务器机制,而是采用一种带有动态信任机制的疫苗传播策略。当进行病毒疫苗的传播时,为了高效地分发疫苗以阻断病毒的传播路径,防止病毒的大规模扩散,普通的节点也承担了疫苗分发的责任。为了保证整个传播过程的安全性,本发明采用了一种简单却有效的信任验证方法,确保病毒疫苗能被正确地高效地传播。具体而言,本发明具有以下效果及优点(1)高效率本发明提出的传播机制使得疫苗能够在最快速度内传播到整个大范围网络,不仅使得重要节点能优先被免疫,同时也使得大部分普通节点能在最短的时间内得到疫苗,破坏病毒的传播网络,切断其传播路径,高效率地防止了病毒的大规模扩散。(2)高安全性本发明提出的是一种带动态信任管理的疫苗传播机制,节点只接受信任节点的疫苗来更新本地疫苗库,在高效传播的同时最大程度地保证了安全,同时还提供了疫苗的验证机制,进一歩保证疫苗的真实性和可靠性。(3)轻负载本发明采用了点对点方式提出将疫苗下载和传播的任务从服务器分散到普通节点处,减轻了疫苗下载服务器的工作负载,提高了整个传播网络的稳定性。本发明是一种高度分布化的结构,在这个结构中互相信任的节点组成多个节点群,相比于传统疫苗传播的C-S模型,它显著提高了传播速度。图1为本发明的体系结构示意图2为本发明方法的工作流程图3为形成节点群代理列表的工作流程图4为新节点加入的工作流程图5为本地疫苗库更新的工作流程图。具体实施例方式下面结合附图和实例对本发明作进一步详细的说明。计算机病毒疫苗是整个发明发挥作用的关键,而病毒疫苗必须在一个网络上进行传播。构建由目录服务器、存储服务器和节点群所构成的疫苗传播的网络,其体系结构如图1所示。目录服务器作为元数据管理中心,对已发布的疫苗信息,初始化节点列表,疫苗验证信息,以及用于主动通知节点更新其本地疫苗库的事件等各类信息进行统一管理。存储服务器是用于存储疫苗的分布式文件服务器,新发布的疫苗通过存储服务器迅速传播到网络中的各个节点。节点群是由相互信任的许多节点组成,节点群中的节点之间存在相互信任关系。节点是本网络的终端用户,每个节点都必须存储一个信任节点列表,一个本地疫苗库,一个邻居节点连接度列表。每个节点可以属于多个节点群,在新疫苗发布的时候就能通过路由的方式将疫苗更新信息发布到多个节点群。构成传播网络的各个组件按照如上所述结构连接起来,并通过新节点的不断加入使得传播网络不断扩大,形成一个相对稳定的疫苗传播网络。如图2所示,本发明按照下述步骤进行疫苗传播(1)传播网络进行初始化目录服务器上形成节点群代理列表;每个节点设定初始信誉度为50,设定下载信誉度K和验证信誉度7h,初始值分别为50和70,各节点可自由更改,同时初始化各节点上信任节点列表和邻居节点连接度列表,这两个列表均由节点与邻接节点互相交换信息形成。节点的信誉度是根据得到的信息或对节点的过往行为的观察而对节点行为做出的一种预测。一个节点的信誉度高则代表它更可以和更值得被信任,这点和实际的社交生活中很相似,在本发明中,重要节点也就是连接最广泛的那一部分节点,它们被选为各节点群的代理,以保证重要节点能最先被免疫。节点群代理列表可以采用如图3所示的步骤形成(al)在传播网络初始化过程中,目录服务器选择连接度最高的那一部分节点作为节点群的代理节点,同时在本地形成节点群代理列表记录代理节点的个人信息和连接度。(a2)当节点B从节点A处下载了新疫苗后向目录服务器发送疫苗验证请求的同时发送自身的个人信息和连接度。目录服务器接收到节点B的请求后,在验证疫苗可靠性的同时,将节点B的连接度和自身节点群代理列表中与节点B同属于一个节点群的代理的连接度相比较。若B的连接度较大,则进入步骤(a3);否则进入步骤(a4)。(a3)节点B成为此节点群的新代理,同时更新目录服务器上的节点群代理列表。(a4)保存节点群代理列表。(2)基本的传播网络构建好后,目录服务器就开始接受节点的加入请求。若有新节点的加入请求,则新开一个特定进程处理新节点的加入过程。一个新节点的加入如图4所示分为以下六步(bl)新节点向目录服务器发送加入请求。(b2)新节点从目录服务器处获得节点群代理信息。在本地选择策略(最近选择或最远选择)下,新节点选择一部分节点群代理。(b3)新节点向选定的节点群代理中的一个发送新节点加入请求,同时获得此节点群中节点的详细信息,设定初始信誉度,下载信誉度^和验证信誉度K。(b4)新节点根据步骤(b3)中选定的节点群代理,向其发送下载请求以获得最新的疫苗库。(b5)新节点计算下载的疫苗库的验证码并向目录服务器提交,由目录服务器验证其可靠性并将结果返回。如果返回的结果是正确,进入步骤(b6);否则返回到步骤(b3),选择另外一个节点群代理。(b6)新节点接受此疫苗库作为本地疫苗库,同时计算该节点群代理的信誉度并在本地信任节点列表中进行更新。通过以上六步,一个新节点成功地加入了传播网络,随着新节点的不断加入,病毒疫苗传播网络结构逐步趋于稳定。(3)存储服务器获得了一个新疫苗后,向目录服务器进行新疫苗数据的注册。(4)目录服务器根据本地存储的节点群代理列表向各节点群代理发送疫苗库更新信息并附带更新序列值以供检查。更新序列值是一个整数,由目录服务器产生,每一次新疫苗的更新序列值都比前次的疫苗更新序列值加1,节点通过比较更新序列值的大小决定是否进行本地疫苗库更新。(5)所有的节点群代理收到更新信息后,从存储服务器上下载新的疫苗以更新本地疫苗库,并更新本地疫苗库的更新序列值。(6)节点群代理更新本地疫苗库后,检查邻居节点连接度列表,根据列表中连接度的高低顺序向节点发送此更新信息。邻居节点连接度列表记录了与本节点有连接的邻居节点的连接度。由于连接度高的节点能更快地将疫苗传播到更多的节点,所以连接度高的节点在传播过程中具有一定的优先传播性。在传播新疫苗时,得到新疫苗的节点根据连接度决定向邻居节点发送疫苗更新记录的顺序,首先是连接度高于自身的那些节点,然后是连接度等于自身的节点,最后是连接度低于自身的节点。(7)当节点B接收到节点A的更新信息后,通过比较下载信誉度^和验证信誉度^的值来进行本地疫苗库的更新。如图5所示,节点B接收到节点A的疫苗库更新信息后,察看本地的信任节点列表中传递疫苗库更新信息的节点A的信誉度7A,进行此次疫苗库的更新(Cl)每个节点都有一个设定的下载信誉度K1Q若节点A的信誉度rA高于设定的下载信誉度则认为此节点是可以信任的。向节点A发送新疫苗下载请求,从节点A处下载新疫苗。(C2)每个节点同时还有一个设定的验证信誉度Kh。当下载了新疫苗之后,将节点A的信誉度W和验证信誉度Kh相比,若高于或等于W,则说明节点是完全可被信赖的,直接执行步骤(C4);否则进入步骤(C3)。(c3)若节点信誉度^低于验证信誉度K,则将得到的疫苗验证码提交到目录服务器进行验证。验证结果通过,执行步骤(C4);验证结果不通过,则丢弃此新疫苗,执行步骤(c5)。(c4)根据此得到的新疫苗更新本地疫苗库,获得免疫能力。&5)根据疫苗验证结果更新本地信任节点列表中此节点的信誉度-.若验证结果通过,则提高本地信任节点列表中节点A的信誉度w若结果为不通过,则降低节点A的信誉度w。保证疫苗的真实性和可靠性是本发明能用于实际应用的根本。在疫苗传播过程中,是由目录服务器来进行疫苗真实性和可靠性的验证。当新疫苗发布时,存储服务器将新疫苗向目录服务器进行注册,并向目录服务器提交此新疫苗的各项信息。从存储服务器下载的新疫苗都是带有疫苗验证码的,此疫苗验证码和注册了的疫苗信息正是目录服务器进行验证的依据所在。目录服务器将验证码和已注册疫苗信息进行对比,从而验证此疫苗的真实性和可靠性。如果验证很频繁的话,目录服务器很明显将会变得负载过重,影响性能。本发明采取了将验证疫苗的责任由服务器分散给各节点的方式。如上所述,若^节点的信誉度〈K,则提交目录服务器由目录服务器进行疫苗验证;若节点的信誉度〉-n,则认为对于疫苗的真实性和可靠性非常信任,不需提交目录服务器进行验证。采取这种方式,提交到目录服务器的验证请求将会大大减少,减轻了目录服务器的负载,加快了疫苗传播的速度。下面举例说明本发明实施过程中的配置情况。在局域网内20台主机构建一个分布式环境下的计算机病毒疫苗传播网络的硬件基础。其基本配置如表1所示。表l配置例示<table>tableseeoriginaldocumentpage12</column></row><table>其中,一台主机作为目录服务器,三台主机作为存储服务器,其余的主机均为普通节点。目录服务器上的节点群代理列表的结构如表2所示表2节点群代理列表例示<table>tableseeoriginaldocumentpage12</column></row><table>权利要求1、一种分布式环境下的计算机病毒疫苗传播方法,其步骤包括(1)传播网络进行初始化目录服务器上形成节点群代理列表,每个节点上设定初始信誉度v,下载信誉度vl和验证信誉度vh,并初始化信任节点列表和邻居节点连接度列表;(2)当目录服务器接收到新节点加入传播网络的请求时,新开一个线程处理新节点加入过程,新节点获得目录服务器上的节点群代理列表,并向其中的一个代理发送请求获得最新疫苗库,通过目录服务器对可靠性的验证后下载此疫苗库,加入此代理所属的节点群并设定初始信誉度;(3)存储服务器获得新疫苗后,向目录服务器进行新疫苗数据的注册;(4)目录服务器根据本地存储的节点群代理列表向各节点群代理发送疫苗库更新信息,并附带更新序列值;(5)所有的节点群代理收到更新信息后,从存储服务器上下载新的疫苗以更新本地疫苗库,并更新本地疫苗库的更新序列值;(6)节点群代理更新本地疫苗库后,检查邻居节点连接度列表,根据列表中各节点连接度的高低顺序向节点发送此更新信息;(7)当节点群的节点B接收到节点A的更新信息后,若vA<vl或附带的更新序列值<=本地疫苗库的序列值,直接忽略此更新信息,否则从节点A处下载新疫苗的副本,而后比较vA和vh的值,若vA>=vh,直接更新本地疫苗库,否则提交给目录服务器进行验证,验证通过则更新本地疫苗库并提高vA,验证未通过则丢弃此新疫苗副本并降低vA。2、根据权利要求1所述的方法,其特征在于步骤(l)按照下述过程形成节点群代理列表(Cl)在传播网络初始化过程中,目录服务器选择连接度最高的那一部分节点作为节点群的代理节点,同时在本地形成节点群代理列表记录代理节点的个人信息和连接度;(C2)当节点B从节点A处下载了新疫苗后向目录服务器发送疫苗验证请求,并同时发送自身的个人信息和连接度,目录服务器接收到节点B的请求后,在验证疫苗可靠性的同时,将节点B的连接度和自身节点群代理列表中与节点B同属于一个节点群的代理的连接度相比较,若节点B的连接度较大,则进入步骤(C3),否则进入步骤(C4);(C3)节点B成为此节点群的新代理,同时更新目录服务器上的节点群代理列表;(C4)保存节点群代理列表。3、根据权利要求1或者2所述的方法,其特征在于步骤(2)中,新节点按照下述过程加入传播网络(Dl)新节点向目录服务器发送加入请求;(D2)新节点从目录服务器处获得可用的节点群代理信息,在本地选择策略下,新节点选择一部分节点群代理;(D3)新节点向选定的节点群代理中的一个发送新节点加入请求,同时获得此节点群中节点的详细信息,设定初始信誉度;(D4)新节点根据步骤(D3)中选定的节点群代理,向其发送下载请求,获得最新的疫苗库;(D5)新节点计算下载的疫苗库的验证码,并提交给目录服务器,目录服务器验证其可靠性并将返回结果,如果返回的结果是正确,进入步骤(D6),否则返回到步骤(D3);(D6)新节点接受此疫苗库作为本地疫苗库,同时计算该节点群代理的信誉度,并在本地信任节点列表中进行更新。4、根据权利要求1或者2所述的方法,其特征在于步骤(7)按照下述过程察看本地的信任节点列表中节点A的信誉度w,进行此次本地疫苗库的更新(El)若节点的信誉度w高于其预设定的下载信誉度&则认为此节点是完全可以信任的,向节点发送新疫苗下载请求,从节点处下载新疫苗,否贝ll结束;(E2)当下载了新疫苗之后,将该节点的信誉度7A和其预设定的验证信誉度k相比,若高于或等于k,则说明节点是完全可被信赖的,直接执行步骤(E4),否则进入步骤(E3);(E3)若节点信誉度k低于k,则将得到的疫苗验证码提交到目录服务器进行验证,验证结果通过,执行步骤(E4);验证结果不通过,则丢弃此新疫苗,执行步骤(E5);(E4)根据此得到的新疫苗更新本地疫苗库,获得免疫能力;(E5)根据疫苗验证结果更新本地信任节点列表中此节点的信誉度,若验证结果通过,则提高节点的信誉度w若结果为不通过,则降低节点的信誉度k。全文摘要本发明公开了一种分布式环境下的计算机病毒疫苗传播方法,该方法采用带有动态信任机制的疫苗传播策略,在进行疫苗传播时,带有信誉度的普通节点承担疫苗分发的责任,使得疫苗分发得以高效进行以阻断病毒的传播路径,防止病毒的大规模扩散。为了保证疫苗安全可靠的传播,本发明采用了一种简单却有效的信任策略和验证方法,由节点根据信誉度判断传播疫苗的安全性,当节点的信誉度不足以作为判断依据时由疫苗服务器最终确认疫苗的可靠性,确保病毒疫苗能被正确地高效传播。本发明与现有技术相比,具有高效率、高安全性和低负载等优点。文档编号G06F11/00GK101169747SQ200710053778公开日2008年4月30日申请日期2007年11月6日优先权日2007年11月6日发明者曾纯强,罗雅琴,袁平鹏,海金,力齐申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1