发明名称 P2P蠕虫防御系统
摘要 P2P蠕虫防御系统涉及对等网络的蠕虫防御技术领域,其特征在于对等主机通过安装运行含有对等端交互软件、多节点协同快速文件传输软件和病毒扫描软件在内的对等交互软件搭建起一个P2P蠕虫防御网络,实现对本地主机的安全漏洞扫描和病毒监测,实现自组织的P2P蠕虫防御网络的高效信息共享,通过d分路由机制实现在发现蠕虫病毒时的快速发布预警信息,以及通过多节点协同数据传输机制实现对等主机在受到蠕虫病毒攻击时能快速获取补丁文件。本发明实现了大规模网络上自组织、可预警、高效率并可共享补丁文件和预警信息的功能,解决了现有方法中信息获取不及时、蠕虫病毒防御效果差的问题。
申请公布号 CN1710906A 申请公布日期 2005.12.21
申请号 CN200510012126.1 申请日期 2005.07.08
申请人 清华大学 发明人 徐恪;丁强;崔勇
分类号 H04L29/06;H04L12/24 主分类号 H04L29/06
代理机构 代理人
主权项 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):所述对等主机运行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):该对等主机向所述父对等主机发送一个请求加入分组并完成链接动作,使该对等主机成为该父对等主机的一个子对等主机;A2(5):在对应的Radar上注册自身信息,其中包括一个唯一的ID和对等主机IP、所用端口;A2(6):当系统中所有对等节点都处于饱和状态时,Radar通过创建新的对等节点来拓展网络当前的结构;A3:对等主机退出子模块,实现对等主机从所述PWD网络中退出和注销的动作,实现步骤如下:A3(1):该对等主机向Radar注销其信息;A3(2):该对等主机断开与其父对等主机的链接;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):实时监测指定端口,对用户列出的以及系统开放的端口进行实时监测以发现蠕虫病毒攻击。
地址 100084北京市北京100084-82信箱