CN100493085C - P2p蠕虫防御系统 - Google Patents

P2p蠕虫防御系统 Download PDF

Info

Publication number
CN100493085C
CN100493085C CNB2005100121261A CN200510012126A CN100493085C CN 100493085 C CN100493085 C CN 100493085C CN B2005100121261 A CNB2005100121261 A CN B2005100121261A CN 200510012126 A CN200510012126 A CN 200510012126A CN 100493085 C CN100493085 C CN 100493085C
Authority
CN
China
Prior art keywords
peer
host
node
port
radar
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2005100121261A
Other languages
English (en)
Other versions
CN1710906A (zh
Inventor
徐恪
丁强
崔勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CNB2005100121261A priority Critical patent/CN100493085C/zh
Publication of CN1710906A publication Critical patent/CN1710906A/zh
Application granted granted Critical
Publication of CN100493085C publication Critical patent/CN100493085C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

P2P蠕虫防御系统涉及对等网络的蠕虫防御技术领域,其特征在于对等主机通过安装运行含有对等端交互软件、多节点协同快速文件传输软件和病毒扫描软件在内的对等交互软件搭建起一个P2P蠕虫防御网络,实现对本地主机的安全漏洞扫描和病毒监测,实现自组织的P2P蠕虫防御网络的高效信息共享,通过d分路由机制实现在发现蠕虫病毒时的快速发布预警信息,以及通过多节点协同数据传输机制实现对等主机在受到蠕虫病毒攻击时能快速获取补丁文件。本发明实现了大规模网络上自组织、可预警、高效率并可共享补丁文件和预警信息的功能,解决了现有方法中信息获取不及时、蠕虫病毒防御效果差的问题。

Description

P2P蠕虫防御系统
技术领域
P2P蠕虫防御系统属于互联网技术领域,尤其涉及对等网络技术和蠕虫防御技术。
背景技术
蠕虫病毒在计算机网络上的扩散可看作是某种拓扑结构下的网络传播行为,而不同的网络拓扑结构又会极大地影响蠕虫的传播速度。在网络中当一台主机被蠕虫感染后,处于同一网络中的其它主机都将受到威胁,在缺乏有效的防御措施的情况下,蠕虫会在短时间内感染整个网络。那么,当在一台主机上发现感染蠕虫病毒后如何尽快告知其他主机进行病毒防御将变得十分重要。
面对大规模的蠕虫病毒的侵袭,只做到单机防毒是远远不够的,单一的、传统的蠕虫防御手段也已无法有效抵御复杂情况下不断变化的蠕虫病毒威胁。对用户而言,采用网络病毒综合防御解决方案构建自防御网络就显得非常关键,所以研发专门的网络病毒防御系统具有十分重要的实际意义。
本发明通过在各个节点上安装本P2P蠕虫防御系统对等端交互软件,基于优化直径网络拓扑结构和d分路由算法在Internet上架构起一个P2P网络,在其上定义统一的蠕虫扫描监测策略,由各个分布在P2P网络中的端节点实施这些策略,将无组织、各自为政的病毒防御变成一种自组织、可预警、高效率并可共享补丁文件和预警信息的病毒监测防御体系,从而极大地提高整个网络抵御蠕虫的能力,使得系统的安全性随着参与者的增多而加强。该系统是一种基于P2P网络上的端节点之间共享信息的方案,用以从整体上防御蠕虫攻击,它的实现依赖于优化的网络拓扑结构和快速的路由算法以及多节点协同文件传输机制,通过在这个P2P网络上实现高效的分组转发和文件传输机制为蠕虫防御搭建起了一个良好的平台。
发明内容
本发明的目的在于克服现有蠕虫病毒防御技术的不足,通过构建P2P蠕虫自防御网络,提供一种新的蠕虫病毒综合防御解决方案。
本发明解决其技术问题所采用的技术方案是:主机通过安装运行对等端交互软件搭建起一个P2P蠕虫防御网络,同时对等端交互软件实现对本地主机的安全漏洞扫描和病毒监测,并通过这个自组织的P2P蠕虫防御网络实现高效的信息共享,通过启发式路由算法——d分法实现了在发现蠕虫病毒入侵时能快速发布预警信息,通过多节点协同数据传输机制实现了主机在受到蠕虫病毒攻击时能快速获取补丁文件。
本发明的特征在于:在P2P网络中各节点的众多对等主机上安装对等端交互软件,简称PES,从而搭建起一个P2P蠕虫防御网络,简称PWN,从而使这些安装了所述PES的对等主机和所述PWN在整体上构成了所述P2P蠕虫防御系统,所述的PES含有:
A:对等网络构建模块,简称PNC模块,实现Radar节点的创建和对等主机的加入退出、状态维护、分组转发功能,该PNC模块由如下子模块组成:
A1:Radar创建子模块,所述Radar是指某个对等节点上的一台对等主机;该子模块含有所有不饱和对等节点当前的饱和度、对等主机IP以及ID在内的信息,并以节点的ID从小到大排序;所述对等节点的饱和度是指一个对等节点所拥有的对等主机数量,当该数量达到系统最大设定值时,称该对等节点为饱和的,或处于饱和状态,否则为不饱和的,处于非饱和状态;该子模块不仅是其他对等主机加入所述PWN时的入口,而且为节点的数据传输提供支持,实现步骤如下:
A1(1):选取一个性能良好的对等主机作为Radar,而Radar又对应到一个众所周知的域名上;但系统在最初时刻的Radar由第一个节点中的某对等主机担任;
A1(2):当某个作为Radar的对等主机想要退出时会从与它同在一个节点中的对等主机里挑一个性能良好的主机,把自己的所有信息传输给该挑选出的主机,然后通知域名服务器DNS进行重定向;
A2:对等主机加入子模块,实现对等主机向所述PWD网络的加入动作,实现方法如下:
A2(1):A1(1)中所述的对等主机运行PES软件,通过访问一个众所周知的域名定位到系统中的某个Radar上;
A2(2):该对等主机从该Radar上获取系统中当前非饱和节点信息并根据当前P2P网络状态获取自身ID;
A2(3):由d分网络算法求出其父对等主机ID,并获得其IP,所述d分网络算法依次含有以下步骤:
A2(31):节点以自然数为标识,首先从0节点开始;
A2(32):任何一个节点只允许有一个父节点和d个子节点;
A2(33):为了节点之间维持状态信息的需要,节点间采用双向链路;
A2(34):新加入一个节点时,保持网络原有结构不变;
A2(35):设本节点ID为x,父节点ID为k,节点的度为d,一个节点所拥有子节点
的个数称为该节点的度,则:
1)k=0当x<d时
2)k=x-1当x为本层最小值时
3)k=(x-d-(x Mod d))/d其它情形
A2(4):A1(1)中所述的对等主机向所述父对等主机发送一个请求加入分组并完成链接动作,使该对等主机成为该父对等主机的一个子对等主机;
A2(5):在对应的Radar上注册自身信息,其中包括一个唯一的ID和对等主机IP、所用端口;
A2(6):当系统中所有节点都处于饱和状态时,Radar通过创建新的节点来拓展网络当前的结构;
A3:对等主机退出子模块,实现对等主机从所述PWD网络中退出和注销的动作,实现步骤如下:
A3(1):A1(1)中所述的对等主机向Radar注销其信息;
A3(2):A1(1)中所述的对等主机断开与其父对等主机的链接;
A4:对等节点失效恢复子模块,实现过程依次含有以下步骤:
A4(1):原对等主机退出时的消息发布并挑选继承人:原对等主机通过Radar检查该节点上是否所有对等主机都已退出,若还有对等主机存在,则不必恢复;否则便在Radar上找到ID号最大的一个对等主机,以此作为继承人;
A4(2):继承人的到位:
原对等主机要向继承人发送一个请求恢复节点的消息,其中包括继承人的新ID号和继承人的父对等主机的IP和ID号,也就是原对等主机的相关信息,同时请求继承人补充到原对等主机所在的节点顶替原对等主机的位置和ID号,然后原对等主机退出;
继承人得到并解析所述消息后,断开与自己原父对等主机的连接,建立自己新的ID号和新的父对等主机的IP和ID号并向Radar注册,成为原对等主机所在节点的一个对等主机;
A4(3):原对等主机的子对等主机恢复链接:
所述子对等主机接到原父对等主机的退出消息后,就间隔地访问Radar,判断父对等主机是否已经恢复,若一旦恢复,就以恢复后的对等主机作为自己的父对等主机,自动建立连接;
A5:分组转发子模块,在对等主机之间传输分组,实现步骤如下:
A5(1):把目的主机的ID和消息内容封装;
A5(2):根据步骤A2(3)所述的d分路由机制进行计算,决定下一跳要转发的对等主机的ID;
A5(3):把分组转发给下一跳对等主机,判断是否已经到达目的主机,若已到达,则停止转发;否则执行步骤A5(2);
B:多节点协同文件传输模块,简称U2X模块,所述多节点协同文件传输是指当用户把自己的资源提供给系统中其他对等几点以共享系统中的信息和服务时,每个用户把自己的最新补丁数据制作成元数据,上传到Radar上,再以多节点协同传输的方式提供给其他用户,以达到传输速度的快速化,其实现步骤如下:
B1:Radar把用户上传的一个大文件分割成许多数据碎片,给每个碎片一个标记,以超级文本传输协议HTTP方式传送给多个用户,各用户会自动寻找、随机下载具有不同标记的数据碎片并将其整合成完整的文件,同时,也从Radar那里获取参与下载的其他对等节点的包括IP地址、端口号在内的信息;
B2:当用户间要获取文件时,便可根据Radar定位到其他下载对等节点的信息按照对等协议进行通信;
C:扫描模块,简称Scanner模块,实现开放端口扫描、特定漏洞扫描、进程扫描,根据扫描到的系统漏洞调整安全策略,发现后台服务或可疑开放端口后对其予以关闭;发现可能被蠕虫利用的系统漏洞后通过PNC模块发布告警信息,通过所述U2X模块查找和快速定位补丁信息并快速传输所需的补丁文件,所述的扫描模块包括以下各个子模块:
C1:端口扫描子模块,用于发现系统的安全漏洞和系统目前向外界提供的服务,其实现步骤如下:
C1(1):建立注册端口和弱端口数据库,记录端口号及其对应服务、连接类型;
C1(2):选择扫描端口类型:注册端口、已知漏洞端口,手动设置扫描端口的范围;
C1(3):记录扫描结果记录,其中包括开放端口、己注册端口和弱端口;
C2:漏洞扫描子模块,检查目标对等主机是否存在漏洞,实现步骤如下;
C2(1):建立漏洞数据库,依次含有以下步骤:
C2(11):建立注册端口数据库,记录注册端口号及其对应服务、连接类型;
C2(12):选择被扫描端口的类型;
C2(13):记录扫描结果;
C2(2):执行如下几大类系统漏洞扫描:
■文件传输协议漏洞扫描,简称FTP漏洞扫描;
■统一字符编码漏洞扫描,简称unicode漏洞扫描;
■网络数据查询脚本缓冲区溢出漏洞扫描,简称idq漏洞扫描;
■公共网关接口漏洞扫描,简称CGI漏洞扫描;
■打印缓冲区溢出漏洞扫描,简称printer漏洞扫描;
C2(3):把所扫描端口扫描得到的目标对等主机开启的端口以及端口上的网络服务和网络漏洞扫描子模块提供的漏洞库进行匹配,查看是否有符合匹配条件的端口存在,弱匹配成功,则表明目标对等主机存在安全漏洞;
C3:蠕虫监测子模块,探测用户列出的以及系统开放的端口,实时监测蠕虫病毒的入侵端口,实现步骤如下:
C3(1):通过界面设置需要实时监测的系统开放的端口;
C3(2):建立蠕虫病毒数据库,记录一定量已知病毒及其对应入侵端口号;
C3(3):实时监测指定端口,对用户列出的以及系统开放的端口进行实时监测以发现蠕虫病毒攻击。
本发明所提出的P2P蠕虫防御系统,克服了现有蠕虫病毒防御技术的不足,提供了一种新的蠕虫病毒综合防御解决方案,通过构建P2P蠕虫自防御网络,可以实现大规模网络上自组织、可预警、高效率并可共享补丁文件和预警信息的蠕虫病毒监测防御体系,从而解决现有方法中信息获取不及时、蠕虫病毒防御效果差的问题。
附图说明
图1.P2P蠕虫防御系统的拓扑结构图;
Figure C200510012126D00091
对等主机     
Figure C200510012126D00092
雷达
图2.多节点协同文件传输示意图;
图3.对等端交互软件PES总体框架图;
图4.P2P网络拓扑构建示意图;
图5.对等节点之间的连接示意图;
图6.链路恢复示意图;
图7.Scanner模块框架图;
图8.PNC模块整体框架图;
图9.对等主机加入过程流程图;
图10.对等主机退出过程流程图;
图11.分组发送过程数据流图;
图12.Radar实现流程图;
图13.U2X模块数据传输过程中的连接示意图。
Figure C200510012126D00093
对等主机之间的连接
Figure C200510012126D00094
对等主机与Radar的连接
具体实施方式
本发明的特征在于:通过在众多对等主机上安装运行对等端交互软件PES(Peer ExchangeSoftware)搭建起一个高效大规模的结构优化的P2P蠕虫防御网络PWN(P2P Worm DefenseNetwork),并采用启发式d分路由算法,实现低延迟的蠕虫病毒告警发布和快速的分组转发;通过多节点协同文件传输机制实现快速的病毒库和补丁文件传输。这些安装有PES的对等主机和PWN整体上构成了P2P蠕虫防御系统PWD(P2P Worm Defense System)。
我们首先给出几个重要概念:
(1)对等节点:扩展d叉树拓扑结构中的一个点,记为Peer—node,简记为node。
(2)对等主机:位于某个对等节点上的一台主机,记为Peer—host,简记为host。
这两个概念之间的关系是:一个对等节点上可以有多个对等主机,一个对等主机只能位于一个对等节点上;对等节点的标识随着网络规模的扩大而顺序递增。
(3)对等节点的饱和度:一个对等节点所拥有的对等主机数量。
当对等节点的饱和度等于系统最大设定值时,称该对等节点为饱和的;反之,称为非饱和的。
(4)伙伴:同一节点中的不同主机之间互为伙伴,他们之间以UDP方式通信。伙伴之间要在分组转发时互相协调同步发送分组。
P2P蠕虫防御系统PWD包含有以下步骤:
步骤1.对等端交互软件PES
PES是运行在端主机上的对等端交互软件,用于实现与其他对等主机的一切交互动作以及实现安全策略,PES由三大模块组成(见图3):
■PNC(Peer Network Consture)模块
■U2X模块
■Scanner模块
步骤2.各个模块的功能
■PNC模块:实现Radar的创建和对等主机的加入退出、状态维护、分组转发功能;
■U2X模块:实现多节点协同快速传输文件功能;
■Scanner模块:实现对主机的端口扫描、特定漏洞扫描以及蠕虫病毒实时监测功能。
步骤3.PNC模块
PNC模块由如下子模块组成:
图8所示为PNC模块整体框架图,它描述了该模块与子主机、父主机以及Radar主机之间的通信关系。
口Radar创建子模块
功能:Radar其实也是一台对等主机,在它上面记录着所有不饱和对等节点当前的饱和度、对等主机的IP以及ID等信息,并且以节点的ID由小到大排序,它不仅是其他对等主机加入PWN时的入口,而且为节点间的数据传输提供支持;
实现步骤:
(1).选取一个性能良好的对等主机来作为Radar,Radar对应到一个众所周知的域名上,对等主机加入自己PWN时只需要访问这些众所周知的域名即可通过动态域名解析访问到某个Radar上;
(2).系统在最初时刻,Radar由第一个节点中的对等主机担任;
(3).当某个作为Radar的对等主机想要退出时,它会从与它同在一个节点中的对等主机里挑一个性能良好的主机,将它上的所有信息传输给该对等主机,由它来担任新的Radar,然后通知域名服务器DNS进行重定向。
口对等主机加入子模块
功能:实现对等主机向PWD网络的加入动作;
实现步骤:
(1)一台对等主机运行PES,通过访问一个众所周知的域名定位到系统中某个Radar上;
(2)从该Radar上获取系统中当前非饱和节点信息,并根据当前P2P网络状态获取自身ID;
(3)由d分网络算法求出其父对等主机ID,并找到其IP;
(4)向该父主机发送一个请求加入分组并完成建连动作,从而主机A成为该父节点的一个子主机;
(5)在Radar上注册自身信息;
(6)当系统中所有节点都处于饱和状态时,需要通过创建新的节点来拓展网络当前的结构。
口对等主机退出子模块
功能:实现对等主机从PWD网络中退出和注销的动作;
实现步骤:
(1).注销它在Radar上的注册信息;
(2).断开与其父主机的连接。
口对等节点失效恢复子模块
功能:只要一个节点上还有一个主机存在,那么这个节点就是有效的,无需恢复,它还可以进行分组转发,当一个节点上所有的主机都退出后,该节点失效,这时候需要对该节点进行恢复;
实现步骤:
(1).原主机退出时进行消息发布并完成继承主机的挑选;
(2).继承主机顶替该位置;
(3).失去连接的子主机重新获取父主机信息并建立连接。
□分组转发子模块
功能:在对等主机之间传递分组;
实现步骤:
(1).将目的主机的ID和消息内容进行封装;
(2).根据d分路由算法进行计算,来决定下一跳要转发的主机ID;
(3).将分组转发给下一跳主机并判断是否到达目的主机,若是则停止转发,否则继续上一步操作。
步骤4.U2X模块
功能:实现主机间的快速文件传输;
实现步骤:
(1).与发送分组不同,为了保证传输最小延迟,文件传输肯定不能用单点之间逐级转发的方式。我们所要采用的机制必须保证系统对于速度的需求,我们设计多节点协同传输机制(U2X机制)来实现文件传输;
(2).该方法支持文件的断点续传,符合P2P网络动态变化的需求。我们利用U2X机制架构起的网络是一种无严格结构的P2P网路,用户在传输文件时实时地建立链接,其结构始终在动态变化中;
(3).U2X机制具有优化的分布式文件管理机制,它将一个大文件分割成许多碎片,给每一个碎片一个标识,用户无需到一个固定地点去下载完整的文件;
(4).系统自动寻找、随机下载具有相同标识的文件碎片,并将其加以整合最终形成完整的文件,下载与上传双向互动、同时进行;
(5).在Radar上发布一些小的元信息文件(.U2X文件),通常为几k,所以在这里并不会形成网络瓶颈。只要有一定的对等主机和一个源文件提供者就能完成下载;数据在传输时被分片协同传输,数据碎片在进行下载的对等主机之间来回传递,形成一种多对多的映射关系,而且传输速度会随着参与者的增多而变的越来越快。
步骤5.Scanner模块
功能:扫描模块功能包括开放端口扫描、特定漏洞扫描、进程扫描,根据扫描到的系统漏洞调整安全策略,发现可疑后台服务或可疑开放端口后对其予以关闭,发现可能被蠕虫利用的系统漏洞后通过PNC模块发布告警信息,通过U2X模块查找和快速定位补丁信息并快速传输所需的补丁文件;
Scanner模块由如下子模块组成:
□端口扫描
一个端口就是一个潜在的通信通道,也就可能成为蠕虫的入侵通道。对目标计算机进行端口扫描,能得到许多有用的信息。通过端口扫描,可以得到许多有用的信息,从而发现系统的安全漏洞和系统目前向外界提供了哪些服务。
功能:实现对主机开发端口的扫描;
实现步骤:
(1)建立注册端口和弱端口数据库,记录端口号及其对应服务、连接类型;
(2)选择扫描端口类型:注册端口、已知漏洞端口、手动设置扫描端口的范围;
(3)扫描结果记录,包括:开放端口、已注册端口、弱端口。
□漏洞扫描
漏洞扫描主要通过以下两种方法来检查目标主机是否存在漏洞:在端口扫描后得知目标主机开启的端口以及端口上的网络服务,将这些相关信息与网络漏洞扫描模块提供的漏洞库进行匹配,查看是否有满足匹配条件的漏洞存在;通过模拟蠕虫的攻击手法,对目标主机系统进行攻击性的安全漏洞扫描,如测试弱口令等。若模拟攻击成功,则表明目标主机系统存在安全漏洞。
功能:实现对主机安全漏洞的扫描;
实现步骤:
1.建立漏洞数据库
(1).建立注册端口数据库;
记录注册端口号及其对应服务、连接类型;
(2).建立弱端口字典;
记录端口号、连接类型和可能的攻击病毒名;
(3).扫描结果记录;
开放端口:记录该开放端口所对应的服务和可能收到的攻击
已注册端口:记录该注册端口所对应的服务
弱端口:记录该弱端口可能收到的攻击类型
2.实现如下几大类系统漏洞扫描
■文件传输协议漏洞扫描,简称FTP漏洞扫描;
■统一字符编码漏洞扫描,简称unicode漏洞扫描;
■网络数据查询脚本缓冲区溢出漏洞扫描,简称idq漏洞扫描;
■公共网关接口漏洞扫描,简称CGI漏洞扫描;
■打印缓冲区溢出漏洞扫描,简称printer漏洞扫描;
□蠕虫监测
功能:探测用户列出的以及系统开放的端口,实时监测蠕虫病毒的入侵端口;
实现步骤:
(1).建立蠕虫病毒数据库,记录一定量已知病毒及其对应入侵端口号;
(2).实时监测指定端口,对用户列出的以及系统开放的端口进行实时监测以发现蠕虫病毒攻击;
图1是P2P蠕虫防御系统PWD的拓扑结构图,图3是对等端软件PES的总体框架图,整个PWD网络由两个层面构成:d—分网络和U2X网络。d—分网络是一个稳定的扩展d叉树网络,该网络上的路由算法采用启发式路由算法—d分法,U2X网络是一个结构动态变化的多节点协同文件传输网络。
■PNC模块的实现
PNC模块实现主机加入和退出对等网络的全部动作,包括:对等节点发现、主机加入、退出、邻居状态维护、分组的低延迟转发等。该模块主要负责与PWN上其他对等节点的通信,并通过本模块来搭建起整个对等网络,同时PNC模块还要和U2X模块进行通信,以帮助其转发查询分组。
1.Radar创建子模块
如图12所示为Radar实现流程图,从图中可见它主要包括RawServer、HTTPHandler、Radar这3个类和Peer列表。
Radar是PWD系统中必需的角色,一个Peer在下载开始以及下载进行的过程中,要不停的与Radar进行通信,以报告自己的信息,并获取其它下载Peer的信息。它的过程是这样的:
(1)Peer向Radar发一个HTTP的GET请求,并把它自己的信息放在GET的参数中;其内容为:一个唯一的id、需要传输的文件名、ip、所用端口;
(2)Radar对所有下载者的信息进行维护,当它收到一个请求后,首先把对方的信息记录下来(如果已经有记录,那么就检查是否需要更新),然后将一部分(并非全部,根据设置的参数已经下载者的请求)参与下载同一个文件(一个Radar可能同时维护多个文件的下载)的下载者的信息返回给对方;
(3)Peer在收到Radar的响应后,就能获取其它下载Peer的信息,那么它就可以根据这些信息,与其它下载Peer建立连接,从它们那里下载文件片断。
主要函数为:
r.bind(config[′port′],config[′bind′],True)
r.listen_forever(HTTPHandler(t.get,config[min_time_between_log_flushes]))
2.对等主机加入子模块
如图9所示为对等主机加入过程的流程图,对等主机的标识为:IDofNode_IDofHost
系统中的一个对等主机标识由两部分组成:所在节点ID和主机ID
三个主要函数:
procedure TFormLogin.FormCreate(Sender:TObject);
IdHTTP.Get(′url′,MemStr);
ServerList.LoadFromStream(MemStr);
(1)主机列表HostList:
IPIDofNode_IDofHost
10.255.39.1=0_0
10.255.39.2=0_1
10.255.39.3=1_0
10.255.39.4=1_1
10.255.39.5=2_0
10.255.39.8=3_0
出于简化,我们只考虑一个节点上有2个对等主机的情况,其他情况类似。
节点号     主机号    主机号
0          0_0       0_1
1          1_0       1_1
2          2_0       2_1
3          3_0       3_1
           ……
n          n_0       n_1
(2)主机A加入流程:
(2.1)当前系统中存在非饱和节点时:
A对文件HostList扫描,令A的主机号是MyID,首先扫描到0_0,再扫下一行,如果是0_1,则达到饱和度2,说明节点0饱和;再扫下如果是1_0,再扫下一行,如果是1_1,则说明节点1饱和,否则说明节点1不饱和,那么此时可以决定A的ID为1_1,停止扫描;如果第三行先扫到的是1_1,第四行就成了2_0,而缺少1_0,则此时可以决定A的ID为1_0,停止扫描;
(2.2)当前系统中所有节点都饱和时:
如果扫描完所有行发现所有节点都饱和,那么,A的ID可以决定为n+1_0,n为当前系统中的节点数(此时的n不包括A新创建的那个节点)。需要注意的是:要保证上述加入流程能成功,前提是必须保证文件HostList的有序性,即文件HostList中的对等主机ID号一定要是从小到大顺序排列的。因为有些主机会随时退出,又随时加入,所以在一个主机加入时一定要将其按照ID有小到大的顺序插入到自己恰当的位置。
(2.3)当A查到自己的ID为m_1以后,就可以根据我们的算法求出其父节点ID,比如j那么,其父主机ID就是j_1。同样,若A的ID是m_0,则其父主机ID为j_0;
(2.4)当一台主机退出系统时,就需要将其记录从文件HostList中删除。
(2.5)由于我们这里只实现的是2主机情况,所以经过分析求MyID时一共有4种可能的插入情况:
1)i_0后面紧接着是i+1_0,这时本主机的ID应该为i_1
2)i_1后面紧接着是i+1_1,这时本主机的ID应该是i+1_0
3)HostList文件中第一行,即系统中第一个主机就是0_1,这时本主机的ID应该是0_0能这样做的前提是我们考虑的系统中所有节点都是有效的,即系统中的任何一个节点上至少存在1台主机,当然,当某个节点失效时我们还有节点恢复机制来保证;
4)HostList文件中最后一行,即系统中最后一个主机若是n_0时,这时本主机的ID应该是:n_1
上面这四条规则是从上到下依次过滤的,只要满足其中一条就可以退出。图4所示为随着对等节点的增加PWD网络的拓扑结构的扩展情况。
3.对等主机退出子模块
如图10所示为对等主机退出过程流程图,从图中可见退出过程分为从雷达上注销、断开与父主机连接以及通知子等对主机三个步骤。
(1)一个host正常退出时,首先向Radar注销其信息;
(2)断开与其父节点主机的连接,当该主机所处的对等节点上还有其他主机时,此时不影响父子节点之间的通信;当该主机所处的对等节点上没有其他主机时,该节点失效,启动节点恢复机制,若该节点为叶子节点则无需启动节点恢复机制;
(3)发送一个通告分组给其伙伴主机;
三个主要函数为:
IdHTTP.Post(′url′,LogoutList,Response);
Server.CreateObject("Scripting.FileSystemObject")
Request.Form(UserIP)
4.对等节点恢复子模块
(1)只要当一个节点上还有一个主机存在,那么这个节点就是有效的,无需恢复,它还可以进行分组的转发,当一个节点上所有的主机都退出后,该节点失效,这时候需要对该节点进行恢复;
(2)为了减小负载和减小复杂度,我们首先考虑从叶子节点中抽调出主机来恢复失效节点。其一、叶子节点的数量很大,便于挑选;其二、抽调叶子节点所带来的通信负载最小。整个节点恢复过程分为三步:原主机退出时的消息发布和继承人的挑选;继承人的到位;子主机重新恢复连接;
(3)一个主机A,假设其ID是d_1,在退出时首先要去Radar上进行判断,看它所在节点d会不会因为它的退出而变得失效,如果不会失效则直接退出即可;
(3.1)首先在Radar上查找d_0看它是否存在,若d_0存在,则不用恢复该节点。
(3.2)若d_0不存在,则在Radar上找到最后一行(即系统中的最后一个主机),并获取其ID号;再计算出其所处的层数a,同时计算出d_1所处的层数b,若a=b,则无需恢复节点d;若a>b,则需要恢复节点d。
(3.3)在恢复节点d时,主机A无需给其所有子主机发送退出消息,因为一旦主机A退出,其所有子主机都会自动下线;
(3.4)A首先需要从Radar上找出最后一个主机B(也就是ID号最大的一个),那么它一定是一个叶子节点,就以B作为A的继承人;
(3.5)然后A在退出之前要向B发送一个请求恢复节点消息M(该消息M中包括B的新ID号d_1和B的父主机IP和ID号s_1,这些信息其实都是原来A的),消息M请求B补充到节点d中来顶替A的位置和ID;显然这时需要给B重新分配一个ID就是d_1,然后主机A就可以退出了;
(3.6)B收到消息M以后,首先解析消息M,从中获取到B的新ID号d_1和B的父主机IP和ID号s_1这些信息,然后退出(即断开其与原父主机的连接),再B以d_1为自己的ID号,以s_1为父主机重新建立自动完成加入过程,并将自己的IP和ID号d_1注册进Radar,到这里主机B的工作就完成了,B这时也就成为了节点d的一个主机d_1;
(3.7)接下来原来以主机A作为父主机的那些主机在接到A的退出通知消息开始就每隔一段时间去访问Radar,看他们的父主机d_1是否已经恢复,一旦检测到d_1上线,这些主机就重新以d_1为父主机自动建立连接,到这里整个节点恢复过程结束。
5.分组转发子模块
图11所示为分组发送过程数据流图,分组转发机制我们采用d分路由算法进行分组的低延时转发。分组转发支持两种方式:
(1)对等节点A中的对等主机i向对等节点B中的对等主机j发送分组;
(2)对等节点A中的对等主机i向对等节点B中的所有对等主机发送分组。
这只需要在接收端进行ID判断即可实现。源主机根据目的节点主机的ID,利用d分路由算法计算出下一跳转发的节点ID,并将分组转发给该邻居节点主机。
为了增强系统的鲁棒性,我们采用多台对等主机支撑一个对等节点的机制,所以同一个节点中的多台主机要同时协调动作,才能保证节点的有效性,两个对等节点A和B相连的充要条件是:存在一条主机a(主机a属于节点A)到主机b(主机b属于节点B)的双向链路。在转发过程中一个节点中的所有主机都要同时参与转发,这几台主机在对外发送分组时要进行同步发送。分组转发时数据包格式:
SourceHostID#ObjectHostID#StateValue#WLayer#NextHopID#PayLoad
参数说明:
SourceHostID:源对等主机的ID            ObjectHostID:目标对等主机的ID
StateValue:当前状态值                  WLayer:转折点所处层数
NextHopID:下一跳的ID                    PayLoad:净载荷信息分组
■U2X模块的实现
(1)多节点协同文件传输机制
图2为多节点协同文件传输机制示意图,图13为U2X子模块数据传输过程中的连接示意图。在PWD系统中,每个节点都具有相同的能力,负有相同的责任。它们将自己的资源提供给系统中其他对等节点,同时可以共享系统中的信息和服务。每个用户可以将自己的最新补丁数据做成元文件,上传到Radar上,提供给需要的用户来下载,下载时采用多节点协同传输机制,进行多点同时协助传输的方式,以达到传输速度的快速化。
与消息发送不同,为了保证传输最小延迟,文件传输肯定不能用单点之间逐级转发的方式。我们采用多节点协同传输机制来实现多点同时传送,并支持文件的断点续传,符合P2P网络动态变化的需求。它将一个大文件分割成许多碎片,给每一个碎片分配一个标识,用户无需到一个固定地点下载完整的文件,系统会自动寻找、随机下载具有不同标识的文件碎片,并将其加以整合最终形成完整的文件。用户的下载速度取决于其上传速度,上传速度越快,就能获得越高的下载速度,下载与上传双向互动、同时进行。
该机制中需要部分对等节点来担任Radar的角色,Radar上发布一些小的元信息文件。数据在传输时被分片传输,数据碎片在进行下载的node之间来回传递,形成一种多对多的映射关系,而且传输速度会随着参与者的增多而变得越来越快。
在整个传输过程中,Peer端不断与Radar通信,报告自己的状态,同时也从Radar那里获取当前参与下载的其它peers的信息(ip地址、端口等)。Peer端与Radar之间采用HTTP协议通信,Peer端把状态信息放在HTTP协议的GET命令的参数中传递给Radar,Radar则把peers列表等信息放在PUT命令的参数中传递给Peer端。
Peer端要每隔一段时间,就去连接Radar一次,它是以一个单独的线程执行的。这个线程在接受到Radar的响应数据后,交给主线程来进行分析。主程序从响应数据中,获得peers列表。然后调用Encoder::start_connection()挨个与这些peers尝试建立连接。通过与Radar的通信,Peer端获得了参与下载的其它peers的列表。有了这些peers的信息,客户端就可以主动向它们发起连接,为进一步从它们那里获取所需要的文件片断做好准备。
同时,每个Peer端在启动以后,都会监听某个端口,用于接受其它peers的连接请求。Peer端在接受外来的连接请求之后,就会产生一个新的连接,称之为“被动连接”,因为连接的发起方是其它peer。
无论是被动连接,还是主动连接,一旦连接建立之后,双方就要进行对等协议的握手。握手成功之后,双方才可以通过这个连接互相传递消息了。
(2)Radar端
U2X Peer端与Radar端之间,通过HTTP协议进行通信,而U2X Peer端之间以对等协议进行通信。Radar端的职责是搜集Peer端信息,并帮助Peer端相互发现对方,从而使得Peer端之间能够相互建立连接,进而互相能传输所需的文件碎片。
Radar端的实现,首先是通过RawServer类来实现网络服务器的功能,然后由HTTPHandler类来完成对协议数据的第一层分析,然后把URL和HTTP消息头进一步交给Radar类来进行第二层分析,并把分析的结果按照HTTP协议的格式封装以后,发给Peer端。
Radar类对Radar HTTP协议做第二层分析,它根据第一层分析后的URL以及HTTP消息头,进一步得到客户端的信息,然后综合当前所有传输Peer的情况,生成一个列表,这个列表记录了传输同一个文件的其它Peer的信息,并把这个列表交给HTTPHandler类,由它进一步返回给Peer端。
(3)Peer端
Peer端的核心类就是RawServer,这个类在Radar端中已分析过它的作用。通过调用它的listen_forever()函数,Peer端就进入了一个循环之中。此后,所有的下载、上传、文件存储以及其它工作都在循环之中完成。
在进入循环之前,需要调用RawServer::bind()函数,Peer端会选择一个可用的端口,然后通过监听这个端口,从而可以接受其它Peer端的连接请求(也就是对等连接)。从它的循环处理逻辑、监听端口的处理可知,这显然就是一个典型的网络服务器的表现。所以,Peer端同时也是一个服务器。一旦在监听端口上有某个Peer发来连接请求,Peer端会创建一个新的端口,这个端口用来与请求者建立连接;有几个peer请求连接,就会创建几个端口,可以说这是一些“被动端口”。
■Scanner模块的实现
图7是PWD系统中的Scanner子模块的结构图,它由参数设置子模块、基本信息探测子模块、端口扫描子模块、漏洞扫描子模块以及蠕虫监测子模块等组成。
(1)端口扫描
全连接扫描是TCP端口扫描的基础,现有的全连接扫描有TCP connect()扫描和TCP反向ident扫描等。我们这里采用TCP connect()扫描,TCPconnect()扫描的实现原理为:扫描主机通过TCP/IP协议的三次握手与目标主机的指定端口建立一次完整的连接。连接由系统调用connect开始。如果端口开放,则连接将建立成功;否则,若返回-1则表示端口关闭。建立连接成功:响应扫描主机的SYN/ACK连接请求,这一响应表明目标端口处于监听(打开)的状态。如果目标端口处于关闭状态,则目标主机会向扫描主机发送RST的响应。
1.1.首先定义需要扫描的端口;
1.2.创建Winsocks;
1.3.获取开始端口、结束端口以及开始扫描的时间;
14.则进入循环,设置RemoteHost、RemotePort、LocalPort;
1.5.利用操作系统提供的connect()系统调用,与每一个目标计算机的端口进行连接;
1.6.如果端口处于侦听状态(tcpClient(lngCurrentWinsock).State=sckConnected),那么connect()就能成功,检索漏洞数据库并进行匹配,在log文件中记录漏洞端口;
1.7.否则(tcpClient(lngCurrentWinsock).State=sckError),这个端口不能用,既没有提供服务。
TCP的三次握手连接程序:
Client--------Syn------->Server
Client<-----Syn/Ack------Server
Client-------Ack-------->Server
TCP connect()扫描的一个最大的优点是,不需要任何权限。系统中的任何用户都有权利使用这个调用。另一个好处就是速度快。如果对每个目标端口以线性的方式,使用单独的connect()调用,那么将会花费相当长的时间,我们可以通过同时打开多个套接字,从而加速扫描。使用非阻塞I/O允许设置一个低的时间用尽周期,同时观察多个sockt。
(2)漏洞扫描
整个扫描子模块的工作流程是:用户通过控制平台发出了扫描命令之后,控制平台即向扫描模块发出相应的扫描请求,扫描模块在接到请求之后立即启动相应的子功能模块,对被扫描主机进行扫描。通过对从被扫描主机返回的信息进行分析判断,扫描模块将扫描结果返回给控制平台,再由控制平台最终呈现给用户。
扫描模块在工作时,首先进行初始化,在初始化阶段,主要是读取所需的参数。除了读取参数外,还要建立一些文件以供以后使用。初始化后,建立非阻塞socket并连接,然后根据得到的相关端口及对应的服务,来调用相应的漏洞扫描子模块,包括CGI漏洞扫描子模块、unicode漏洞扫描子模块、FTP漏洞扫描子模块和printer漏洞扫描子模块和idq漏洞扫描子模块。
漏洞形成的原因形形色色、不一而足,在我们的设计中,主要包含以下类型的漏洞:CGI脚本漏洞、FTP漏洞、unicode漏洞、printer漏洞和idq漏洞,下面我们简单介绍CGI脚本漏洞、unicode漏洞以及idq漏洞。
(2.1)CGI脚本漏洞
CGI脚本是实现Web交互功能的重要手段。Shell脚本、Perl程序和C可执行程序是CGI脚本最常采用的形式。很多CGI脚本都存在漏洞,CGI漏洞的危害主要有三种:
1.缓冲区溢出攻击
2.数据验证型溢出攻击
3.信息泄漏
(2.2)unicode漏洞
IIS 4.0和IIS 5.0在Unicode字符解码的实现中存在一个安全漏洞,导致用户可以远程通过IIS执行任意命令。当IIS打开文件时,如果该文件名包含unicode字符,它会对其进行解码,如果用户提供一些特殊的编码,将导致IIS错误的打开或者执行某些web根目录以外的文件。
对于IIS 5.0/4.0中文版,当IIS收到的URL请求的文件名中包含一个特殊的编码例如"%c1%hh"或者"%c0%hh",它会首先将其解码变成:0xc10xhh,然后尝试打开这个文件,Windows系统认为0xc10xhh可能是unicode编码,因此它会首先将其解码,因此,利用这种编码,可以构造很多字符,攻击者可以利用这个漏洞来绕过IIS的路径检查,去执行或者打开任意的文件。
(2.3)idq漏洞
idq.dll缓冲区溢出漏洞是近期最新的漏洞之一,破坏性极强的蠕虫病毒红色代码,及其变种病毒就是利用此漏洞攻击WindowsNT主机的。微软发布安全公告,指出其Index Server和Indexing Service存在漏洞。
作为安装过程的一部分,IIS安装了几个ISAPI扩展。其中的idq.dll存在问题,它是Index Server的一个组件,对管理员脚本(.ida文件)和INTERNET数据查询(.idq文件)提供支持。但是,idq.dll在一段处理URL输入的代码中存在一个未经检查的缓冲区。攻击者利用此漏洞能导致受影响服务器产生缓冲区溢出,从而执行自己提供的代码。而更为严重的是,idq.dll是以SYSTEM身份运行的,攻击者成功利用此漏洞后能取得系统管理员权限。
(3)蠕虫监测
3.1.通过界面设置需要实时监测的对外没有开放的端口
3.2.读取数据库,变量初始化
3.3.开始监测进程
3.4.创建Scoket数组用于被监测的端口
3.5.标志复位,设置被监测端口,如果scoket初始化成功则计数器加1主要函数:
1.StartWatch()
主监测进程,结合数据库对被设置端口进行监测
2.wskPort_ConnectionRequest(Index As Integer,ByVal requestID As Long)
当有连接企图访问被监测端口时,相应的socket监测到此事件,并报告该端口受到攻击。
3.AttackDetected(intIndex As Integer)
当发现蠕虫攻击时,弹出告警对话框并报告攻击源和被攻击端口的详细信息
由此可见,本发明达到了预期目的。

Claims (1)

1.P2P蠕虫防御系统,其特征在于:在P2P网络中各对等节点的众多对等主机上安装对等端交互软件,简称PES,从而搭建起一个P2P蠕虫防御网络,简称PWN,从而使这些安装了所述PES的对等主机和所述PWN在整体上构成了所述P2P蠕虫防御系统,所述的PES含有:
A:对等网络构建模块,简称PNC模块,实现Radar节点的创建和对等主机的加入退出、状态维护、分组转发功能,该PNC模块由如下子模块组成:
A1:Radar创建子模块,所述Radar是指某个对等节点上的一台对等主机;该子模块含有所有不饱和对等节点当前的饱和度、对等主机IP以及ID在内的信息,并以对等节点的ID号从小到大排序;所述对等节点的饱和度是指一个对等节点所拥有的对等主机数量,当该数量达到系统最大设定值时,称该对等节点为饱和的,或处于饱和状态,否则为不饱和的,处于非饱和状态;该子模块不仅是其他对等主机加入所述PWN时的入口,而且为对等节点的数据传输提供支持,实现步骤如下:
A1(1):选取一个性能良好的对等主机作为Radar,而Radar又对应到一个众所周知的域名上;但系统在最初时刻的Radar由第一个对等节点中的某对等主机担任;
A1(2):当某个作为Radar的对等主机想要退出时会从与它同在一个对等节点中的对等主机里挑一个性能良好的主机,把自己的所有信息传输给该挑选出的主机,然后通知域名服务器DNS进行重定向;
A2:对等主机加入子模块,实现对等主机向所述PWD网络的加入动作,实现方法如下:
A2(1):A1(1)中所述的对等主机运行PES软件,通过访问一个众所周知的域名定位到系统中的某个Radar上;
A2(2):该对等主机从该Radar上获取系统中当前非饱和节点信息并根据当前P2P网络状态获取自身ID;
A2(3):由d分路由算法求出其父对等主机ID,并从Radar上获得其IP,所述d分路由算法依次含有以下步骤:
A2(31):对等节点以自然数为标识,首先从0节点开始;
A2(32):任何一个对等节点只允许有一个父节点和d个子节点;
A2(33):为了对等节点之间维持状态信息的需要,对等节点间采用双向链路;
A2(34):新加入一个对等节点时,保持网络原有结构不变;
A2(35):设本对等节点ID为x,父对等节点ID为k,对等节点的度为d,一个对等节点所拥有子节点的个数称为该对等节点的度,则:
1)k=0   当x<d时;
2)k=x-1 当x为本层最小值时;
3)k=(x-d-(x Mod d))/d其它情形;
A2(4):A1(1)中所述的对等主机向所述父对等主机发送一个请求加入分组并完成链接动作,使该对等主机成为该父对等主机的一个子对等主机;
A2(5):在对应的Radar上注册自身信息,其中包括一个唯一的ID和对等主机IP、所用端口;
A2(6):当系统中所有对等节点都处于饱和状态时,Radar通过创建新的对等节点来拓展网络当前的结构;
A3:对等主机退出子模块,实现对等主机从所述PWD网络中退出和注销的动作,实现步骤如下:
A3(1):A1(1)中所述的对等主机向Radar注销其信息;
A3(2):A1(1)中所述的对等主机断开与其父对等主机的链接;
A4:对等节点恢复子模块,实现过程依次含有以下步骤:
A4(1):原对等主机退出时的消息发布并挑选继承人:原对等主机通过Radar检查该对等节点上是否所有对等主机都已退出,若还有对等主机存在,则不必恢复;否则便在Radar上找到ID号最大的一个对等主机,以此作为继承人;
A4(2):继承人的到位:
原对等主机要向继承人发送一个请求恢复对等节点的消息,其中包括继承人的新ID号和继承人的父对等主机的IP和ID号,也就是原对等主机的相关信息,同时请求继承人补充到原对等主机所在的对等节点顶替原对等主机的位置和ID号,然后原对等主机退出;
继承人得到并解析所述消息后,断开与自己原父对等主机的连接,建立自己新的ID号和新的父对等主机的IP和ID号并向Radar注册,成为原对等主机所在对等节点的一个对等主机;
A4(3):原对等主机的子对等主机恢复链接:
所述子对等主机接到原父对等主机的退出消息后,就间隔地访问Radar,判断父对等主机是否已经恢复,若一旦恢复,就以恢复后的对等主机作为自己的父对等主机,自动建立连接;
A5:分组转发子模块,在对等主机之间传输分组,实现步骤如下:
A5(1):把目的主机的ID和消息内容及相关信息进行封装;
A5(2):根据步骤A2(3)所述的d分路由机制进行计算,决定下一跳要转发的对等主机的ID;
A5(3):把分组转发给下一跳对等主机,判断是否已经到达目的主机,若已到达,则停止转发;否则执行步骤A5(2);
B:多节点协同文件传输模块,简称U2x模块,所述多节点协同文件传输是指当用户把自己的资源提供给系统中其他对等几点以共享系统中的信息和服务时,每个用户把自己的最新补丁数据制作成元数据,上传到Radar上,再以多节点协同传输的方式提供给其他用户,以达到传输速度的快速化,其实现步骤如下:
B1:Radar把用户上传的一个大文件分割成许多数据碎片,给每个碎片一个标记,以超级文本传输协议HTTP方式传送给多个用户,各用户会自动寻找、随机下载具有不同标记的数据碎片并将其整合成完整的文件,同时,也从Radar那里获取参与下载的其他对等节点的包括IP地址、端口号在内的信息;
B2:当用户间要获取文件时,便可根据Radar定位到其他下载对等节点的信息按照对等协议进行通信;
C:扫描模块,简称Scanner模块,实现开放端口扫描、特定漏洞扫描、进程扫描,根据扫描到的系统漏洞调整安全策略,发现后台服务或可疑开放端口后对其予以关闭;发现可能被蠕虫利用的系统漏洞后通过PNC模块发布告警信息,通过所述U2X模块查找和快速定位补丁信息并快速传输所需的补丁文件,所述的扫描模块包括以下各个子模块:
C1:端口扫描子模块,用于发现系统的安全漏洞和系统目前向外界提供的服务,其实现步骤如下:
C1(1):建立注册端口和弱端口数据库,记录端口号及其对应服务、连接类型;
C1(2):选择扫描端口类型:注册端口、已知漏洞端口,手动设置扫描端口的范围;
C1(3):记录扫描结果记录,其中包括开放端口、已注册端口和弱端口;
C2:漏洞扫描子模块,检查目标对等主机是否存在漏洞,实现步骤如下:
C2(1):建立漏洞数据库,依次含有以下步骤:
C2(11):建立注册端口数据库,记录注册端口号及其对应服务、连接类型;
C2(12):选择被扫描端口的类型;
C2(13):记录扫描结果;
C2(2):执行如下几大类系统漏洞扫描:
Figure C200510012126C00041
文件传输协议漏洞扫描,简称FTP漏洞扫描;
Figure C200510012126C00042
统一字符编码漏洞扫描,简称unicode漏洞扫描;
Figure C200510012126C00051
网络数据查询脚本缓冲区溢出漏洞扫描,简称idq漏洞扫描;
公共网关接口漏洞扫描,简称CGI漏洞扫描;
Figure C200510012126C00053
打印缓冲区溢出漏洞扫描,简称printer漏洞扫描;
C2(3):把所扫描端口扫描得到的目标对等主机开启的端口以及端口上的网络服务和网络漏洞扫描子模块提供的漏洞库进行匹配,查看是否有符合匹配条件的端口存在,弱匹配成功,则表明目标对等主机存在安全漏洞;
C3:蠕虫监测子模块,探测用户列出的以及系统开放的端口,实时监测蠕虫病毒的入侵端口,实现步骤如下:
C3(1):通过界面设置需要实时监测的系统开放的端口;
C3(2):建立蠕虫病毒数据库,记录一定量已知病毒及其对应入侵端口号;
C3(3):实时监测指定端口,对用户列出的以及系统开放的端口进行实时监测以发现蠕虫病毒攻击。
CNB2005100121261A 2005-07-08 2005-07-08 P2p蠕虫防御系统 Expired - Fee Related CN100493085C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100121261A CN100493085C (zh) 2005-07-08 2005-07-08 P2p蠕虫防御系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100121261A CN100493085C (zh) 2005-07-08 2005-07-08 P2p蠕虫防御系统

Publications (2)

Publication Number Publication Date
CN1710906A CN1710906A (zh) 2005-12-21
CN100493085C true CN100493085C (zh) 2009-05-27

Family

ID=35707080

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100121261A Expired - Fee Related CN100493085C (zh) 2005-07-08 2005-07-08 P2p蠕虫防御系统

Country Status (1)

Country Link
CN (1) CN100493085C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104978532A (zh) * 2011-12-27 2015-10-14 北京奇虎科技有限公司 一种漏洞修复客户端逻辑的测试方法及系统

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030835B (zh) * 2007-02-09 2010-08-18 华为技术有限公司 检测特征获取装置和方法
CN101414949B (zh) * 2008-11-28 2011-05-18 阿里巴巴集团控股有限公司 一种链式数据传输方法、节点及系统
CN101534309B (zh) 2009-04-14 2013-03-13 华为技术有限公司 节点注册方法、路由更新方法、通讯系统以及相关设备
CN101599969B (zh) * 2009-06-26 2013-01-09 成都市华为赛门铁克科技有限公司 蠕虫特征提取方法和装置
CN101800754B (zh) * 2010-03-25 2012-11-21 中国科学院计算技术研究所 一种补丁分发方法
CN102624717B (zh) * 2012-03-02 2015-11-18 深信服网络科技(深圳)有限公司 基于漏洞扫描的安全策略自动生成的方法及装置
CN103428212A (zh) * 2013-08-08 2013-12-04 电子科技大学 一种恶意代码检测及防御的方法
CN103595734B (zh) * 2013-12-02 2016-06-01 中国科学院信息工程研究所 基于用户关联结构划分的在线社交网络快速修复方法
CN107070861B (zh) * 2016-12-27 2020-02-07 深圳市安之天信息技术有限公司 抽样流量下物联网设备蠕虫受害节点的发现方法及系统
CN108574681B (zh) * 2017-03-13 2020-08-21 贵州白山云科技股份有限公司 一种服务器智能扫描方法及装置
CN108009430B (zh) * 2017-12-22 2020-04-10 北京明朝万达科技股份有限公司 一种敏感数据快速扫描方法及装置
CN110191127B (zh) * 2019-05-30 2020-06-02 重庆理工大学 一种非线性动力学p2p网络蠕虫免疫预测方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104978532A (zh) * 2011-12-27 2015-10-14 北京奇虎科技有限公司 一种漏洞修复客户端逻辑的测试方法及系统
CN104978532B (zh) * 2011-12-27 2018-10-23 北京奇虎科技有限公司 一种漏洞修复客户端逻辑的测试方法及系统

Also Published As

Publication number Publication date
CN1710906A (zh) 2005-12-21

Similar Documents

Publication Publication Date Title
CN100493085C (zh) P2p蠕虫防御系统
CN110113328B (zh) 一种基于区块链的软件定义机会网络DDoS防御方法
Tran et al. A stealthier partitioning attack against bitcoin peer-to-peer network
Bortnikov et al. Brahms: Byzantine resilient random membership sampling
JP2024019632A (ja) ブロックチェーンネットワークにおいて大規模分散メモリプールを管理するためのコンピュータ実装されたシステム及び方法
CN103634315B (zh) 域名服务器的前端控制方法及系统
CN101523372B (zh) 分散式多用户在线环境
CN111683117B (zh) 一种方法、设备及存储介质
CN101409706B (zh) 一种边缘网络中的数据分发方法、数据分发系统及相关设备
Winter et al. Identifying and characterizing Sybils in the Tor network
WO2022099966A1 (zh) 基于区块链的DDoS攻击联合防御系统及方法
Chun et al. Netbait: a distributed worm detection service
CN104754065B (zh) 基于内容中心网络的动态分布Web资源管理方法及系统
CN111526015A (zh) 数据采集上链方法、装置、设备和存储介质
CN110209583A (zh) 安全测试方法、装置、系统、设备和存储介质
CN101826110B (zh) 一种BitTorrent种子文件爬取方法
CN102968591B (zh) 基于行为片段共享的恶意软件特征聚类分析方法及系统
CN104954346A (zh) 基于对象分析的攻击识别方法及装置
CN108011894A (zh) 一种软件定义网络下僵尸网络检测系统及方法
Uddin et al. Intrusion detection system to detect DDoS attack in gnutella hybrid P2P network
CN104954345A (zh) 基于对象分析的攻击识别方法及装置
CN109561100A (zh) 基于分布式与人工智能的双工赋能网络攻防的方法及系统
Roos Identity management on the blockchain
Jackson et al. SLINGbot: A system for live investigation of next generation botnets
Marchetti et al. Peer-to-peer architecture for collaborative intrusion and malware detection on a large scale

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090527

Termination date: 20120708