因特网蠕虫病毒的早期预警方法

文档序号:7589376阅读:296来源:国知局
专利名称:因特网蠕虫病毒的早期预警方法
技术领域
因特网蠕虫病毒早期预警方法属于因特网网络及节点系统安全领域。
背景技术
随着人们生活和工作的方式越来越依赖因特网,对网络安全问题提出了前所未有的需要。因特网的初期设计者是假定一个友好的运行环境,认为网络各个部分都会共同合作来提高性能。这使得因特网成为一个比较宽松,而又缺乏安全性的体系结构。网络内部的运行比较简单,比较复杂的操作都在网络的边缘,且相信边缘都在正确的操作。这一所谓的“端到端原则”,一方面确实为网络的发展起到了积极的作用;另一方面,我们已经看到,它无法保障网络免于恶意的攻击,高速连接的网络给网络蠕电病毒的快速扩散提供了有利条件。过去的几个月当中,在因特网中肆虐横行的Blaster、Welchia,及Sobig蠕虫病毒,再次验证了其严重的危害性。有一个特别引起关注的网络蠕虫病毒,是出现在2003年1月的Sapphire(或称SQL-Slammer)蠕虫病毒。因特网数据分析协会(CAIDA,the Cooperative Association forInternet Data Analysis)2003年的研究报告指出,Slammer以每8.5秒的倍增速度,在因特网中迅速扩散。导致全球90%以上有相应漏洞的服务器(75000台以上),在不到10分钟内受到感染。所幸的是该蠕虫并未负荷恶意的攻击指令,而未造成更大的危害。
Sapphire蠕虫病毒的出现,被认为是网络蠕虫病毒快速扩散时代的来临。这正验证了2002年8月在美国高级计算系统协会(USENIX)安全会议上一篇引起广泛重视的研究报告“Howto Own the Internet in Your Spare Time”所预言的,下一代网络蠕虫病毒将能够比已有蠕虫病毒以快得多的速度传播。该文指出,通过改进现有的传播手段,一类所谓的Warhol蠕虫病毒能在几分钟至一小时内,感染所有带某漏洞的目标;而另一种所谓的Flash蠕虫病毒,更是快到只用数十秒。要在短时间内传染大量目标,激增的扫描也会引发业务量模式的较大变化,从而也还有设计出自动检测反应机制的可能性。但是,还可能有一种称作Surreptitious的蠕虫病毒,能够采取更加隐秘的慢扩散方式,不但可避免业务量模式的大变化,而且能够积累感染高达百万以上的计算机,以此发动的破坏性攻击的严重程度是不言而喻的。
针对网络蠕虫病毒和特洛伊木马等病毒的威胁,尽量发现和减少各种存在的安全漏洞,以及发展防病毒工具和系统安全更新,无疑是需要长期不断努力的目标。而研究自动识别网络蠕虫的爆发,以及自动围堵和滤除其扩散的问题,越来越引起重视。
由于网络蠕虫病毒的受害者呈群体的特征,单一组织无法仅凭其局域的认知,来应对因特网范围内迅速扩散的蠕虫病毒攻击。若在蠕虫病毒爆发的初期,及时有效地识别它,会有利于阻断或减缓蠕虫病毒的快速蔓延。目前,识别蠕虫病毒的爆发还主要通过非常不规范的电子邮件讨论方式,这显然远远慢于快速蠕虫病毒的扩散速度。这方面目前最新出现两个值得关注的研究。其中之一是2003年4月美国加州大学戴维斯分校的研究者在“DISCEX III”会议上提出的设计一个对等的控制结构方法。该方法仅在友好组织间相互交流有关疑似蠕虫行为的消息,并依据各自的情况,独自决定其实施的阻断行动。该方法的主要优点,是在合作中考虑到了各组织间安全系统的自治性问题。其缺点一是仅限制在互信度很高的组织间,因特网全网的可布置性不强;其缺点二是缺乏信息加工合成能力,仅凭怀疑的消息,往往无法有效地自动启动阻断动作。另外一项研究是2003年10月美国宾州大学和哥伦比亚大学的研究者在“ICON’03”会议上提出的利用合作代理,构建一个所谓的合作免疫系统的方法。他们发展了一种算法,允许合作的代理间共享攻击信息,进而可控制阻断配置。特别是它考虑到因特网环境中相互信任缺乏的问题,可能导致错误警报,就需要确认警报的可信性,它用一种抽样的全局状态信息来确认。该方法的优点是,考虑到了在相互信任缺乏的前提下信息交流共享的问题。其缺点一是因特网全网范围下因信息掌握不全面及时效性,警报确认会成问题;其缺点二是没有考虑在变化多端的环境中,即便是得到确认的多个警报仍会有不一致问题,及加工为有用信息的能力。
综上所述,针对网络蠕虫病毒的早期识别、预警问题,我们需要综合考虑安全性保障,满足自治性,可因特网全网布置,以及合成有用信息等诸多挑战。

发明内容
本发明目的在于提供一种综合考虑了安全性、自治性,又可在全因特网布置以及合成有用信息的因特网蠕虫病毒的早期预警方法。
因特网蠕虫病毒的早期预警方法的难点在于(1)如何在相互信任缺乏的前提下交流共享信息;(2)如何将模糊甚至不一致的消息合成为有用信息;(3)如何有效可靠地实现。
针对这些问题,我们提出了一种有效的解决思路,就是设计一种在因特网任何节点上(可以是某个子网,也可以是某个局域网)都通用的数据结构,这种数据结构用来描述计算机系统和网络的状况。同时,在节点子系统的某个主机上存储有一个以该数据结构为基础的特征表,特征表中的数据域是可以累加的。当某个节点发现自己所在的子系统出现异常时,它会按照这种数据结构以系统消息的形式分发给因特网上的其他节点。接收到消息的节点则会修改特征表上相应数据域的值。虽然消息有时可能是片面的和模糊的,但是多个相似消息的累积会合成出单项特征的警报。根据警报的强烈程度不同,系统可以采取不同程度的操作。明确的信息可用来阻断蠕虫的入侵和外传,而不明确的信息可引发相应的系统关闭部分或全部服务等保守行为。因为分析蠕虫病毒的复杂性,往往需要人工的参与来修补漏洞和系统更新等,自动采取的保守行动放缓了蠕虫病毒的扩散,为人工介入争取到了时间。
为了保证方法的可实现性,同时避免恶意、冗余信息干扰早期预警信息的合成,引进对等网络(又称为P2P网络,即Peer-to-peer)机制是必要的。通过对等网络以及对等网络应用程序可以实现全因特网布防,对等网络应用层机制可以保证用户的身份和安全,应用层组播技术则可以保证系统预警消息的快速分发。
因此,本发明方法包括三个核心部分——特征数据结构、特征表和对等网络协同机制。
特征数据结构能够有效解决如何将大量缺乏信任的不确定消息自动合成为有用预警信息的难题,从而加快蠕虫病毒的识别和围堵过程,阻断或减缓蠕虫病毒的快速蔓延。
特征数据结构是一种用于表示疑似蠕虫病毒行为特征和系统异常的数据表示方法。这种数据结构由用于描述计算机系统和网络状况的数据域构成,它们可以用于表示蠕虫的特征,如感染的目标种类,传染的方式,及扩散传播的方法等。不同的域值表明系统和网络的不同状况。
由于系统硬件环境、网络环境以及蠕虫病毒分析的复杂性,试图通过简单的分类就将系统和网络所有的异常状况都表现出来是不可能的。因此,在设计特征数据结构时,我们将它分成两个部分,第一部分是计算机系统能够处理并自动合成的;第二部分是用来描述系统和网络状况的可选信息,计算机系统无法直接处理,需要人工处理分析。这部分信息可以看成是自动合成部分信息的补充。
自动合成部分体现的是快速蠕虫病毒大面积爆发时的行为特征。而这种大面积爆发的快速蠕虫病毒是目前最具危害性也是因特网上最无法抵抗的。
现有的大多数蠕虫病毒是通过电子邮件或者网络直接传播的,当出现大面积爆发时,会造成邮件服务器或者网络某些端口流量异常。对于通过电子邮件传播的蠕虫病毒,它一般是通过群发邮件的方式将自身发给其他用户,多数具有如下特征①邮件标题基本上一样或者相似;②带有相同或者相似的附件。对于通过网络直接传播的蠕虫病毒,造成的网络变化特征可能是较易识别的,例如Sapphire蠕虫是通过系统的1434端口号以UDP方式来扩散,网络监控工具很容易发现通过系统1434端口的数据流量异常。
自动合成部分主要包括电子邮件和网络协议等数据域
(1)电子邮件域它包含如下的子数据域①邮件标题 ②附件名称 ③附件大小 ④附件格式。
当系统邮件服务器发现某个用户采用同样/相似标题或者采用相同/相似附件进行群发操作时,就会将相应的值填入对应的子数据域并进一步跟踪。
(2)网络协议域它包含如下的子数据域①协议 ②端口。
当系统(网管或者其他监控点)发现本地网络某种协议(通过某些端口)产生异常大的网络流量,或者某种协议在所有协议中的比例超大,就会将相应的值填入对应的子数据域并进一步跟踪。由于系统出现的异常情形可能不止一种,因此每个子数据域都是数组形式给定。
特征数据结构可以通过C/C++语言实现,也可以由Java等任何一种高级语言的class数据类型或者struct类型实现。
人工处理部分用于描述无法用精确信息表现的系统和网络异常。特征数据结构的这部分设计与目前常用的邮件列表讨论的功能是一致的。而且,能够提供更快速的信息反馈和融合机制。这部分信息是自动合成信息的有用补充。
人工处理部分包括如下数据域(1)操作系统域它包含如下的子数据域①操作系统类型 ②操作系统版本号 ③浏览器类型 ④浏览器版本号 ⑤异常描述。
(2)电子邮件域它包含如下的子数据域①邮件标题 ②附件名称 ③附件大小 ④附件格式 ⑤异常描述。
(3)网络协议域它包含如下的子数据域①协议 ②端口 ③异常描述。
由于软硬件和网络环境对于蠕虫病毒有不同的敏感性,其表现特征也不一样,因此“异常描述”子数据域需要系统管理员人工处理。
由于疑似蠕虫病毒的行为特征和系统异常都能够被清晰地的刻画出来,它能够有效、快速地达到蠕虫病毒的早期预警目的。
特征表是存储在因特网应用系统节点上,基于特征数据结构自动合成部分的信息,用于描述和分析计算机系统和网络状况的二维统计数据表。特征表放置在节点系统一台专门的主机上。
当因特网的某个节点(可以是某个子网,也可以是某个局域网)出现系统或者网络异常,但本地系统无法识别是否由蠕虫病毒造成,系统会根据特征数据结构生成系统预警消息的自动合成部分,管理员则会生成系统预警消息的人工处理部分(该部分信息是可选的),系统预警消息通过对等网络协同机制分发给因特网上的其他节点。
对于因特网上接收到消息的某个节点,由于消息可能是不完整的,甚至是恶意的,它并不完全信任来自其他节点的消息。但是,它可以将来自不同节点消息的自动合成部分累加起来。由于这些消息都采用同样的数据结构,因此对于每个特定的数据域,在特征表上都有相应的累加值。特征表上不同的累加值就表现出了当前的网络状况与疑似蠕虫病毒的合成信息。
特征表上预先给定某些数据域(例如电子邮件域或者网络协议域)的预警值。当多个相似消息的累积超出预警值时,特征表上合成出单项特征的警报,通知系统采取措施阻断蠕虫的入侵和外传;不明确的信息(域值很高但没有超过预警值)则引发相应的系统采取关闭部分或全部服务等的保守行为。同时,预警消息中的人工处理部分则以对等网络用户消息的形式传送给该节点的对等网络应用程序。
由于分析蠕虫的复杂性,往往需要人工的参与来修补漏洞和系统更新等,自动采取的保守行动减缓了蠕虫的扩散,为蠕虫病毒的分析和过滤争取到了时间。
对等网络又称P2P(Peer-to-peer)网络,它是一种计算机之间为了共享文件和数据,直接而不是通过一个中心服务器进行通信的互联结构。目前,在因特网上的对等网络应用程序非常多,大致可以分为文件共享(如Napster、FreeNet等)、即时消息系统(如OICQ、MSNMessenger等)以及分布式计算这三大类。通常,网络管理之间的联系也是通过对等网络应用程序进行。
对等网络协同机制,则是基于特征数据结构和对等网络应用程序。首先,它在消息的分发过程中,在因特网的各个节点上利用特征表将有用信息自然累加合成。其次,这样的信息分布方式,也使得各节点可以自主地决定其对疑似蠕虫病毒的围堵、阻断等动作,满足了网络安全系统自主性的要求。
对等网络应用程序由sun公司的Java/JXTA语言编写,主要功能如下(1)身份/信任管理当因特网上一个新的节点申请接入本对等网络时,采用身份确认的方式,以保证对等网络的安全性。同时,通过限制每一节点的消息多次发布,即不让一个消息多次更新状态,控制减低每个节点在信息合成中对安全的影响力。
(2)特征表维护更新对等网络应用程序对放置在某主机上的特征表进行自动维护和更新操作。
(3)系统预警消息的生成和分发当节点发现本地网络状况异常,对等网络应用程序依据特征数据结构生成预警消息的自动合成部分;系统管理员则可以在消息的人工处理部分中附加上自己的描述。最后,对等网络应用程序利用对等网络的应用层组播技术,将消息分发给因特网上的其他节点。
(4)系统扫描/查毒操作激活当特征表上某些数据域的累加值超过了预警值时,会引发某种警报,对等网络应用程序会激活系统采取网络扫描、过滤查毒等操作,或者其他保守的行为。
(5)管理员预警消息通知系统预警消息中的人工处理部分直接以对等网络用户消息的形式通知网络管理员。这部分是自动预警机制的有用补充,由于更快速和更有效率,它也是对现在常用的病毒邮件列表讨论技术的全面升级。
对等网络应用程序的实现需要使用如下协议图1(1)JXTA的对等用户(或者节点)发现协议(PDP,Peer Discovery Protocol),用于发布自己的消息,并从其他用户处获得消息。
(2)JXTA的对等用户(或者节点)管道绑定协议(PBP,Peer Binding Protocol),该协议利用端点路由协议(PEP,Peer Endpoint Protocol)在对等用户之间产生虚拟的管道。
(3)JXTA的对等用户(或者节点)信息协议(PIP,Peer Information Protocol),用于获得其他用户的状态信息,包括更新时间、状态等。
(4)JXTA的对等用户(或者节点)解析协议(PRP,Peer Resolver Protocol),用于通过对等网络发送询问消息。
(5)JXTA的集合点协议(RVP,Rendezvous Protocol),该协议负责在网络中通过组播的方式发送消息。
(6)公共密钥身份证书系统。例如采用PKI证书机制,该证书可以保证用户具有某种等级的信任度,以避免恶意用户的虚假信息对本预警技术造成干扰。
可以看出,这样的信息合成、分布和使用方式,使得系统和网络的安全性大大提高。同时,由于满足了自治性的要求,也就增强了在全因特网布置的可能性。
本发明的特征在于,它依次含有以下步骤(1)构建一个全因特网的分布式防御系统,其依次含有以下步骤(1.1)在全因特网各节点机已有的网络管理软件基础上,再配置下列由Sun公司的Java/JXTA平台开发的对等网络组使用的对等网络应用程序,所述的对等网络即P2P网络,P2P是Peer-to-Peer的缩写,所述的对等网络组是私有内部网和公共因特网的用户共同组成的(1.1.1)JXTA的对等用户或者节点发现协议,简称PDP协议;(1.1.2)JXTA的对等用户管道绑定协议,简称PBP协议;(1.1.3)JXTA的对等用户信息协议,简称PIP协议;(1.1.4)JXTA的对等用户解析协议,简称PRP协议;(1.1.5)JXTA的集合点协议,简称RVP协议;(1.1.6)公共密钥身份证书系统;此外,还有一个用于访问万维网的客户机/服务器协议,即超文件传输协议,简称HTTP协议;(1.2)节点用户再在指定的服务器上注册,得到一个特定的ID,同时设定节点用户的信任等级;(2)用计算机语言向全因特网的各节点机写入特征数据结构,再以特征表的形式预先给定下述各子数据域的消息累加计数预警值,并存入节点系统的一个主机中;(2.1)上述特征数据结构由自动合成部分和人工处理部分两部分组成自动合成部分包括如下子数据域(2.1.1)电子邮件域,含有如下子数据域①邮件标题,②附件名称,③附件大小,④附件格式;(2.1.2)网络协议域,含有如下子数据域①协议,②端口;人工处理部分包括如下子数据域(2.1.3)操作系统域,含有如下子数据域①操作系统类型,②操作系统版本号,③浏览器类型,④浏览器版本号,⑤异常描述;(2.1.4)电子邮件域,含有如下子数据域①邮件标题,②附件名称,③附件大小,④附件格式,⑤异常描述;(2.1.5)网络协议域,含有如下子数据域①协议,②端口,③异常描述;(3)节点机上的对等网络应用程序初始化,把特征表上所有子数据域总消息计数值清零,并设定每个子数据域消息累加计数预警值,同时对等网络应用程序通过JXTA的对等网络发现协议监听是否有其他节点发送过来的消息;(4)当节点ID1上的系统和网络监控程序发现节点系统或者网络异常,节点上的对等网络应用程序便自动收集系统消息并按照特征数据结构的自动合成部分生成系统预警消息;系统管理员在对等网络应用程序的“预警消息发送界面”填入自己发现的节点系统和网络异常状况,形成人工处理部分的系统预警消息,从而形成“系统与网络异常”表;(5)分发系统预警消息其依次含有以下步骤(5.1)节点ID1上的对等网络应用程序向目录/路径服务器查询自己可以直接到达的节点ID;(5.2)上述服务器发回可以直接到达的节点和中继节点的节点ID号;(5.3)节点ID1上的对等网络应用程序把自动合成部分的系统预警消息分发给在步骤(5.2)中所述的节点;(5.4)上述中继节点通过JXTA的集合点协议自动根据彼此相互允许的通信协议把人工合成部分的系统预警消息分发给在自己处注册的所有节点;(6)系统预警消息的接收与处理(6.1)各接收节点上的对等网络应用程序接收到自动合成部分的系统预警消息后,查找与消息中对应的子数据域,若子数据域中有相同的内容,则在对应的总消息计数值上加1;否则,便先在特征表对应的数据域中创建新的子数据域,并将对应的总消息计数值设置为1;(6.2)对于人工处理部分的系统预警消息,节点ID1直接以对等网络用户消息的形式通知步骤(5.2)中所述的两类节点的网络系统管理员;中继节点也以同样的方式通知在自己处注册的各节点的网络系统管理员;(7)当某一个节点的累加消息计数值达到预警值时,该节点的对等网络应用程序便向网络监控设备发出警报,对于明确的信息,该设备便采取阻断蠕虫病毒的入侵和外传的操作;对于不明确的信息,该设备采取关闭部分或者全部服务的保守操作。
下面以曾经肆虐全球的Sapphire蠕虫病毒为例,详细说明本发明方法的处理流程和高效。图8源自于因特网数据分析协会(CAIDA,the Cooperative Association for Internet DataAnalysis)2003年的研究报告。
报告指出,Sapphire蠕虫病毒以每8.5秒的倍增速度,在因特网中迅速扩散。导致全球90%以上有相应漏洞的服务器(75000台以上),在不到10分钟内受到感染。
但是,由于目前因特网没有任何蠕虫病毒的早期预警方法,基本上都是通过邮件列表的形式进行讨论。通过人工介入,从病毒的确诊到windows系统漏洞补丁和杀毒软件的分发,基本上花去了一周的时间,显然,这种方式对于快速蠕虫病毒的传播是没有任何防御能力的。统计数据表明,绝大多数用户在该蠕虫病毒发作16天之后才将它从计算机中彻底清除;在蠕虫病毒发作6周之后仍然有数万台有漏洞的计算机没有打上补丁。
与之相对应,很多子网络系统在Sapphire蠕虫病毒发作的1小时之内就发现了网络UDP流量异常,并开始过滤通过1434端口的UDP数据包。图9是根据美国威斯康星大学先进因特网实验室(WAIL)的网络日志文件(即log文件)绘制的。数据表明,在病毒爆发5分钟之内,系统就观测到了网络流量异常。图10是根据某些网络采用过滤通过系统1434端口的UDP数据包的措施后,12小时内网络的流量统计。
这些数据表明,尽管因特网上很多子网络有先进的网络监测工具,能够迅速察觉蠕虫病毒的大规模爆发,但是,由于缺乏有效的预警信息交流、共享和有效合成的方法,最终还是不可能及时阻断蠕虫病毒在因特网的肆虐。
如果在Sapphire蠕虫病毒发作时,因特网很多节点采用了本发明方法,则蠕虫病毒传播的早期,有效的预警消息就可以在因特网范围内迅速分发,从而会极其有效地遏制、阻断Sapphire蠕虫病毒的肆虐。


图1.对等网络用户通信协议示意图。
图2.系统预警消息示例。
图3.系统预警消息生成与分发示意图。
图4.P2P应用程序消息分发流程框图。
图5.节点系统的特征表初始化。
图6.节点系统的特征表修改示意图。
图7.系统预警消息的接收与处理流程图。
图8.Sapphire蠕虫病毒在发作前和30分钟后全球计算机感染情况,涂上深色的圆点部分表示被感染的机器数目。
图9.美国威斯康星大学先进网络实验室测量到的Sapphire蠕虫病毒的早期传播。
图10.在针对Sapphire蠕虫病毒采取措施后,某些站点12小时内的测量结果。
具体实施例方式
本发明方法构成的是一个全因特网的分布式计算机防御系统,故以因特网上的某个节点(该节点可以是某个子网的网络管理或者其他系统与网络监控进程)为例说明本发明方法的实现流程。
本发明方法可以分成两个部分①系统预警消息的生成与分发;②系统预警消息的接收与处理。由于快速蠕虫病毒都是首先在因特网的某个角落爆发,然后逐渐扩散到整个因特网。所以,系统和网络异常状况首先会被因特网某个节点发现,该节点立刻生成系统预警消息,这就是本预警方法的第一部分;对于接收到消息的节点而言,它首先要甄别消息的来源并将其记录在系统特征表上。当相当多的节点都向它发出类似的预警消息时,系统特征表就会出现强烈的警报,促使该节点采取相应的措施以避免蠕虫病毒肆虐造成巨大损失。
为了能够实现因特网蠕虫病毒的早期预警,首先需要构建一个全因特网的分布式防御系统。这个系统的构建非常简单,具体流程如下(1)我们将与该发明相关的对等网络应用程序放在因特网的某些站点上,让人自由下载。但是该程序的预警消息生成功能需要和一些网管软件(例如网络流量监控软件、邮件服务器监控软件等)配合才生效。
(2)当用户安装了该对等网络应用程序后,首先需要在指定的服务器上注册。注册的目的是分配给该用户节点一个特定的ID,同时设定它的信任等级,便于防止该用户散布虚假、恶意的消息。通过服务器。节点ID之间可以找到相互的路由。
(3)当因特网若干节点安装了该对等网络应用程序,便自动构成了一个分布式的防御系统。由于该程序不对节点系统自身的管理产生任何影响,所以它满足因特网自治性的要求。同时,节点之间消息的交互仅供节点系统作为安全性参考,所以,它又满足信任性的要求。
当节点上系统和网络监控程序(或者进程)发现系统或者网络异常,例如网络流量监控软件发现系统的1434端口通过大量的UDP数据包(达到每秒2千万个),远远超过了正常业务需要的数据包吞吐量;或者系统邮件服务器的邮件监控软件发现某帐户试图发送有大量带有标题“test”的电子邮件,节点系统会启动杀毒软件查找过滤病毒或者采取其他防护措施。此时,节点上的对等网络应用程序自动收集系统消息并按照特征数据结构自动合成部分生成系统预警消息。该消息可以表述为如图2的形式。
系统管理员也可以在对等网络应用程序的“预警消息发送”界面填入自己发现的系统和网络异常状况,生成系统预警消息。“预警消息发送”界面提供的“系统和网络异常”表单严格遵循特征数据结构的人工处理部分的表示如图3。
系统预警消息的分发需要借助于本节点上的对等网络应用程序和对等网络的应用层机制,具体流程如下(1)对等网络应用程序首先向服务器查询自己可以直接到达的节点的ID。
(2)对等网络应用程序利用IP组播技术(使用JXTA/Java平台的JxtaMulticastSocket类实现)将系统预警消息分发给其他节点。具体流程如下(参照图4)
①节点ID1上的对等网络应用程序向目录/路径服务器查询自己可以直接到达的节点ID。
②服务器返回ID号2和3,其中3是一个中继节点。
③节点ID1上的对等网络应用程序将系统预警消息分发给ID2和ID3节点上的对等网络应用程序。
④ID3中继节点上的对等网络应用程序通过JXTA的集合点协议将预警消息分发给在自己处注册的ID4和ID5的节点。JXTA的集合点协议可以自动根据节点系统允许的通信协议通信。例如ID4只能采用TCP协议,ID5只能采用HTTP协议。
这样,整个防御系统节点上的对等网络应用程序都通过直接或者间接的方式接收到系统预警消息,在因特网上实现类似的消息分发可以在极短的时间内完成。
节点上的对等网络应用程序首先需要初始化特征表,将特征表上所有子数据域计数值清零,并设定每个子数据域消息累加计数预警值,如图5所示。同时,对等网络应用程序通过JXTA的等待发现协议监听是否有其他节点发送过来的消息。
当节点上的对等网络应用程序接收到来自其他节点的消息,它会逐个处理消息并采用下面的流程修改系统的特征表(1)根据特征数据结构的自动合成部分形式,查找与消息中对应的子数据域。
(2)如果子数据域中有相同的内容,则在对应的计数值上加1。例如若接收到的消息中包含邮件标题为“test”的信息,而原来特征表电子邮件域的“邮件标题”子数据域中已经有邮件标题为“test”的内容,则在其对应的计数值上加1。
(3)如果子数据域中没有相应的内容,则首先在特征表对应的子数据域中创建该内容,并将对应的计数值上设置为1。例如,若接收到的消息中包含邮件标题为“Happy new year”的信息,而原来特征表电子邮件域的“邮件标题”子数据域中并没有相关邮件标题,则在特征表电子邮件域创建邮件标题为“Happynew year”的内容,并将其对应的计数值设置为1。
系统预警消息中的人工处理部分直接以对等网络用户消息的形式通知给其他节点的网络系统管理员。
在节点特征表每个子数据域中都设定了消息累加计数预警值。例如,在协议域中,协议子数据域累加消息计数的预警值为50,端口子数据域累加消息计数的预警值也是50,如图5所示。当节点不断接收到来自其他节点的消息,这些消息中可能包含协议子数据域“UDP”,也可能包含端口子数据域“1434”。当协议子数据域“UDP”或者端口子数据域的累加消息计数值达到50时,对等网络应用程序向网络监控设备发出警报,激活网络监控设备扫描系统1434端口、过滤UDP数据包以及查毒操作,或者采取其他比较保守的行为。
如果节点等待一定的时间后没有接收到来自其他节点更多的预警消息,或者特征表上的累加值没有任何变化,则在一定时间内,例如时间设定为1小时,对等网络应用程序将这些值清零复位。
图7给出了节点接收与处理系统预警消息的整个流程。
下面以Sapphire蠕虫病毒为例,对本发明所述方法再次予以详尽说明系统预警消息的生成与发送(1)当Sapphire蠕虫病毒开始传播时,象美国威斯康星大学先进网络实验室等配备了先进网络监控设备会迅速检测到本子系统网络流量异常,尤其是经过系统1434端口的UDP数据包达到每秒2千万个。此时,系统防火墙等防护程序启动过滤或者查毒操作。
(2)该节点上的对等网络应用程序自动收集到网络监控设备提供的系统异常消息。对等网络应用程序根据特征数据结构(自动合成部分),自动生成系统预警消息。即在消息中包含如下信息——在网络协议域中设定如下值String Protocol=″UDP″;int Port=1434;(3)由于该节点位于子系统的防火墙内部,它只能将消息分发给防火墙内部的其他节点。所以它首先向网络中的路径服务器查询可达的其他节点ID。服务器返回邻近的节点ID,其中包含若干中继节点。该节点通过服务器提供的信息,在防火墙之外找到邻近的一个中继节点,并将系统预警消息传送给它。中继节点再通过JXTA的端点路由协议找到一个集合点节点,并将消息传送给它。该集合点节点再通过JXTA的集合点协议将预警消息分发给在自己处注册的其他节点。
这样的整个流程完成了分布式防御系统的预警消息生成和分发过程。根据网络物理状况,这样的消息分发方式需要的时间在几十秒到几十分钟不等,比传统的邮件列表讨论的信息传播速度提高了好几十甚至上百倍。整个因特网都具备了这种快速蠕虫病毒传播的初步知识,为全因特网彻底清除这种蠕虫病毒争取到了宝贵的时间。
系统预警消息的接收与处理(1)因特网某节点的对等网络应用程序从离它最近的集合点节点处得到了系统预警消息。假设它的特征表的初值都被设置为0和空字符串。如前所述,假设在协议域中,协议子数据域累加消息计数的预警值为50,端口子数据域累加消息计数的预警值也是50。
(2)节点上的对等网络应用程序逐个处理来自其他节点的消息,当它发现消息中包含协议子数据域为“UDP”,端口子数据域为“1434”的信息时,对等网络应用程序则将特征表上对应的协议子数据域和端口子数据域累加消息计数值各自加1。
(3)该节点不断接收到来自其他节点的消息,当协议子数据域“UDP”或者端口子数据域的累加消息计数值达到50时,对等网络应用程序向网络监控设备发出警报,激活网络监控设备扫描系统1434端口、过滤UDP数据包以及查毒操作,或者采取其他比较保守的行为。
在这个过程中,系统特征表上累加消息计数的预警值是由系统管理员根据自己系统和网络的实际状况自行设定的。因此,本发明方法有效地保证了节点子系统的自治自利性。
从系统预警消息的生成发送以及接收处理过程可以看出,由于采用了特征数据结构、特征表和对等网络协同机制,快速蠕虫病毒的预警消息可以得到有效可靠地快速分发和利用,大大延缓了蠕虫病毒的扩散速度,为蠕虫病毒的分析和过滤争取到了时间。
由于因特网蠕虫病毒的危害已经威胁到国家乃至全世界的安全,本技术发明具有高度的产业利用价值和社会效益。
权利要求
1.因特网蠕虫病毒的早期预警方法,其特征在于,它依次含有以下步骤(1)构建一个全因特网的分布式防御系统,其依次含有以下步骤(1.1)在全因特网各节点机已有的网络管理软件基础上,再配置下列由Sun公司的Java/JXTA平台开发的对等网络组使用的对等网络应用程序,所述的对等网络即P2P网络,P2P是Peer-to-Peer的缩写,所述的对等网络组是私有内部网和公共因特网的用户共同组成的(1.1.1)JXTA的对等用户或者节点发现协议,简称PDP协议;(1.1.2)JXTA的对等用户管道绑定协议,简称PBP协议;(1.1.3)JXTA的对等用户信息协议,简称PIP协议;(1.1.4)JXTA的对等用户解析协议,简称PRP协议;(1.1.5)JXTA的集合点协议,简称RVP协议;(1.1.6)公共密钥身份证书系统;此外,还有一个用于访问万维网的客户机/服务器协议,即超文件传输协议,简称HTTP协议;(1.2)节点用户再在指定的服务器上注册,得到一个特定的ID,同时设定节点用户的信任等级;(2)用计算机语言向全因特网的各节点机写入特征数据结构,再以特征表的形式预先给定下述各子数据域的消息累加计数预警值,并存入节点系统的一个主机中;(2.1)上述特征数据结构由自动合成部分和人工处理部分两部分组成自动合成部分包括如下子数据域(2.1.1)电子邮件域,含有如下子数据域①邮件标题,②附件名称,③附件大小,④附件格式;(2.1.2)网络协议域,含有如下子数据域①协议,②端口;人工处理部分包括如下子数据域(2.1.3)操作系统域,含有如下子数据域①操作系统类型,②操作系统版本号,③浏览器类型,④浏览器版本号,⑤异常描述;(2.1.4)电子邮件域,含有如下子数据域①邮件标题,②附件名称,③附件大小,④附件格式,⑤异常描述;(2.1.5)网络协议域,含有如下子数据域①协议,②端口,③异常描述;(3)节点机上的对等网络应用程序初始化,把特征表上所有子数据域总消息计数值清零,并设定每个子数据域消息累加计数预警值,同时对等网络应用程序通过JXTA的对等网络发现协议监听是否有其他节点发送过来的消息;(4)当节点ID:1上的系统和网络监控程序发现节点系统或者网络异常,节点上的对等网络应用程序便自动收集系统消息并按照特征数据结构的自动合成部分生成系统预警消息;系统管理员在对等网络应用程序的“预警消息发送界面”填入自己发现的节点系统和网络异常状况,形成人工处理部分的系统预警消息,从而形成“系统与网络异常”表;(5)分发系统预警消息其依次含有以下步骤(5.1)节点ID:1上的对等网络应用程序向目录/路径服务器查询自己可以直接到达的节点ID;(5.2)上述服务器发回可以直接到达的节点和中继节点的节点ID号;(5.3)节点ID:1上的对等网络应用程序把自动合成部分的系统预警消息分发给在步骤(5.2)中所述的节点;(5.4)上述中继节点通过JXTA的集合点协议自动根据彼此相互允许的通信协议把人工合成部分的系统预警消息分发给在自己处注册的所有节点;(6)系统预警消息的接收与处理(6.1)各接收节点上的对等网络应用程序接收到自动合成部分的系统预警消息后,查找与消息中对应的子数据域,若子数据域中有相同的内容,则在对应的总消息计数值上加1;否则,便先在特征表对应的数据域中创建新的子数据域,并将对应的总消息计数值设置为1;(6.2)对于人工处理部分的系统预警消息,节点ID:1直接以对等网络用户消息的形式通知步骤(5.2)中所述的两类节点的网络系统管理员;中继节点也以同样的方式通知在自己处注册的各节点的网络系统管理员;(7)当某一个节点的累加消息计数值达到预警值时,该节点的对等网络应用程序便向网络监控设备发出警报,对于明确的信息,该设备便采取阻断蠕虫病毒的入侵和外传的操作;对于不明确的信息,该设备采取关闭部分或者全部服务的保守操作。
全文摘要
因特网蠕虫病毒的早期预警方法属于因特网及节点系统安全领域,其特征在于它首先在全因特网各节点系统已有网络管理软件基础上为由私有内部网和公共因特网用户共同组成的对等网络组配置一套对等网络应用程序,然后为各节点系统构建含有自动合成和人工处理两部分的特征数据结构,并以特征表的形式给出消息累加特征值。一旦其节点系统或网络出现异常,对等网络应用程序便启动协同机制,以对等网络消息的形式向全因特网各节点系统分发预警消息,以便其采取保守的行为;若接收消息的节点上消息累加特征值超过预警值,便会激活系统查毒、过滤操作,达到预警和快速阻断蠕虫传播的目的。它同时满足了安全性、自治性和全因特网早期预警的要求。
文档编号H04L9/10GK1571362SQ200410009089
公开日2005年1月26日 申请日期2004年5月14日 优先权日2004年5月14日
发明者王剑, 袁坚 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1