【源码二面区别】【分发多模板源码】【qwt直接使用源码】发号网站源码_发号app

时间:2024-11-13 15:50:21 来源:聊天图片app源码 分类:综合

1.僵尸网络是发号发号什么?
2.IFIX中如何引用CryStal Report
3.僵尸网络是什么网络

发号网站源码_发号app

僵尸网络是什么?

       僵尸网络是指采用一种或多种传播手段,将大量主机感染bot程序(僵尸程序),网站从而在控制者和被感染主机之间所形成的源码一个可一对多控制的网络。

        攻击者通过各种途径传播僵尸程序感染互联网上的发号发号大量主机,而被感染的网站主机将通过一个控制信道接收攻击者的指令,组成一个僵尸网络。源码源码二面区别之所以用僵尸网络这个名字,发号发号是网站为了更形象的让人们认识到这类危害的特点:众多的计算机在不知不觉中如同中国古老传说中的僵尸群一样被人驱赶和指挥着,成为被人利用的源码一种工具。

        在Botnet的发号发号概念中有这样几个关键词。“bot程序”是网站robot的缩写,是源码指实现恶意控制功能的程序代码;“僵尸计算机”就是被植入bot的计算机;“控制服务器(Control Server)”是指控制和通信的中心服务器,在基于IRC(因特网中继聊天)协议进行控制的发号发号Botnet中,就是网站指提供IRC聊天服务的服务器。

        Botnet

        首先是源码一个可控制的网络,这个网络并不是指物理意义上具有拓扑结构的网络,它具有一定的分布性,随着bot程序的不断传播而不断有新位置的僵尸计算机添加到这个网络中来。

        其次,这个网络是采用了一定的恶意传播手段形成的,例如主动漏洞攻击,邮件病毒等各种病毒与蠕虫的传播手段,都可以用来进行Botnet的传播,从这个意义上讲,恶意程序bot也是一种病毒或蠕虫。

        最后一点,也是Botnet的最主要的特点,就是可以一对多地执行相同的恶意行为,比如可以同时对某目标网站进行分布式拒绝服务(DDos)攻击,同时发送大量的垃圾邮件等,而正是这种一对多的控制关系,使得攻击者能够以极低的代价高效地控制大量的资源为其服务,这也是Botnet攻击模式近年来受到黑客青睐的根本原因。在执行恶意行为的时候,Botnet充当了一个攻击平台的角色,这也就使得Botnet不同于简单的病毒和蠕虫,也与通常意义的木马有所不同。

        僵尸网络是互联网上受到黑客集中控制的一群计算机,往往被黑客用来发起大规模的网络攻击,如分布式拒绝服务攻击(DDoS)、海量垃圾邮件等,同时黑客控制的这些计算机所保存的信息,譬如银行帐户的密码与社会安全号码等也都可被黑客随意“取用”。因此,不论是对网络安全运行还是用户数据安全的保护来说,僵尸网络都是极具威胁的隐患。僵尸网络的威胁也因此成为目前一个国际上十分关注的问题。然而,发现一个僵尸网络是非常困难的,因为黑客通常远程、隐蔽地控制分散在网络上的“僵尸主机”,这些主机的用户往往并不知情。因此,僵尸网络是目前互联网上黑客最青睐的作案工具。

        对网友而言,感染上“僵尸病毒”却十分容易。网络上搔首弄姿的美女、各种各样有趣的小游戏,都在吸引着网友轻轻一点鼠标。但事实上,点击之后毫无动静,原来一切只是骗局,意在诱惑网友下载有问题的软件。一旦这种有毒的软件进入到网友电脑,远端主机就可以发号施令,对电脑进行操控。

        专家表示,每周平均新增数十万台任人遥控的僵尸电脑,任凭远端主机指挥,进行各种不法活动。多数时候,僵尸电脑的根本不晓得自己已被选中,任人摆布。

        僵尸网络之所以出现,在家高速上网越来越普遍也是原因。高速上网可以处理(或制造)更多的流量,但高速上网家庭习惯将电脑长时间开机,唯有电脑开机,分发多模板源码远端主机才可以对僵尸电脑发号施令。

        网络专家称:“重要的硬件设施虽然非常重视杀毒、防黑客,但网络真正的安全漏洞来自于住家用户,这些个体户欠缺自我保护的知识,让网络充满地雷,进而对其他用户构成威胁。”

        Botnet的发展过程

        Botnet是随着自动智能程序的应用而逐渐发展起来的。在早期的IRC聊天网络中,有一些服务是重复出现的,如防止频道被滥用、管理权限、记录频道事件等一系列功能都可以由管理者编写的智能程序所完成。于是在 年,在IRC 聊天网络中出现了Bot 工具——Eggdrop,这是第一个bot程序,能够帮助用户方便地使用IRC 聊天网络。这种bot的功能是良性的,是出于服务的目的,然而这个设计思路却为黑客所利用,他们编写出了带有恶意的Bot 工具,开始对大量的受害主机进行控制,利用他们的资源以达到恶意目标。

        世纪年代末,随着分布式拒绝服务攻击概念的成熟,出现了大量分布式拒绝服务攻击工具如TFN、TFN2K和Trinoo,攻击者利用这些工具控制大量的被感染主机,发动分布式拒绝服务攻击。而这些被控主机从一定意义上来说已经具有了Botnet的雏形。

        年,在第八届DEFCON 年会上发布的SubSeven 2.1 版开始使用IRC 协议构建攻击者对僵尸主机的控制信道,也成为第一个真正意义上的bot程序。随后基于IRC协议的bot程序的大量出现,如GTBot、Sdbot 等,使得基于IRC协议的Botnet成为主流。

        年之后,随着蠕虫技术的不断成熟,bot的传播开始使用蠕虫的主动传播技术,从而能够快速构建大规模的Botnet。著名的有年爆发的Agobot/Gaobot 和rBot/Spybot。同年出现的Phatbot 则在Agobot 的基础上,开始独立使用P2P 结构构建控制信道。

        从良性bot的出现到恶意bot的实现,从被动传播到利用蠕虫技术主动传播,从使用简单的IRC协议构成控制信道到构建复杂多变P2P结构的控制模式,Botnet逐渐发展成规模庞大、功能多样、不易检测的恶意网络,给当前的网络安全带来了不容忽视的威胁。

        Botnet的工作过程

        Botnet的工作过程包括传播、加入和控制三个阶段。

        一个Botnet首先需要的是具有一定规模的被控计算机,而这个规模是逐渐地随着采用某种或某几种传播手段的bot程序的扩散而形成的,在这个传播过程中有如下几种手段:

        (1)主动攻击漏洞。其原理是通过攻击系统所存在的漏洞获得访问权,并在Shellcode 执行bot程序注入代码,将被攻击系统感染成为僵尸主机。属于此类的最基本的感染途径是攻击者手动地利用一系列黑客工具和脚本进行攻击,获得权限后下载bot程序执行。攻击者还会将僵尸程序和蠕虫技术进行结合,从而使bot程序能够进行自动传播,著名的bot样本AgoBot,就是实现了将bot程序的自动传播。

        (2)邮件病毒。bot程序还会通过发送大量的邮件病毒传播自身,通常表现为在邮件附件中携带僵尸程序以及在邮件内容中包含下载执行bot程序的链接,并通过一系列社会工程学的技巧诱使接收者执行附件或点击链接,或是通过利用邮件客户端的漏洞自动执行,从而使得接收者主机被感染成为僵尸主机。

        (3)即时通信软件。利用即时通信软件向好友列表发送执行僵尸程序的链接,并通过社会工程学技巧诱骗其点击,从而进行感染,如年年初爆发的MSN性感鸡(Worm.MSNLoveme)采用的就是这种方式。

        (4)恶意网站脚本。qwt直接使用源码攻击者在提供Web服务的网站中在HTML页面上绑定恶意的脚本,当访问者访问这些网站时就会执行恶意脚本,使得bot程序下载到主机上,并被自动执行。

        (5)特洛伊木马。伪装成有用的软件,在网站、FTP 服务器、P2P 网络中提供,诱骗用户下载并执行。

        通过以上几种传播手段可以看出,在Botnet的形成中传播方式与蠕虫和病毒以及功能复杂的间谍软件很相近。

        在加入阶段,每一个被感染主机都会随着隐藏在自身上的bot程序的发作而加入到Botnet中去,加入的方式根据控制方式和通信协议的不同而有所不同。在基于IRC协议的Botnet中,感染bot程序的主机会登录到指定的服务器和频道中去,在登录成功后,在频道中等待控制者发来的恶意指令。图2为在实际的Botnet中看到的不断有新的bot加入到Botnet中的行为。

        在控制阶段,攻击者通过中心服务器发送预先定义好的控制指令,让被感染主机执行恶意行为,如发起DDos攻击、窃取主机敏感信息、更新升级恶意程序等。图3为观测到的在控制阶段向内网传播恶意程序的Botnet行为。

        Botnet的分类

        Botnet根据分类标准的不同,可以有许多种分类。

        按bot程序的种类分类

        (1)Agobot/Phatbot/Forbot/XtremBot。这可能是最出名的僵尸工具。防病毒厂商Spphos 列出了超过种已知的不同版本的Agobot(Sophos 病毒分析),这个数目也在稳步增长。僵尸工具本身使用跨平台的C++写成。Agobot 最新可获得的版本代码清晰并且有很好的抽象设计,以模块化的方式组合,添加命令或者其他漏洞的扫描器及攻击功能非常简单,并提供像文件和进程隐藏的Rootkit 能力在攻陷主机中隐藏自己。在获取该样本后对它进行逆向工程是比较困难的,因为它包含了监测调试器(Softice 和ODbg)和虚拟机(VMware 和Virtual PC)的功能。

        (2)SDBot/RBot/UrBot/SpyBot/。这个家族的恶意软件目前是最活跃的bot程序软件,SDBot 由C语言写成。它提供了和Agobot 一样的功能特征,但是命令集没那么大,实现也没那么复杂。它是基于IRC协议的一类bot程序。

        (3)GT-Bots。GT-Bots是基于当前比较流行的IRC客户端程序mIRC编写的,GT是(Global Threat)的缩写。这类僵尸工具用脚本和其他二进制文件开启一个mIRC聊天客户端, 但会隐藏原mIRC窗口。通过执行mIRC 脚本连接到指定的服务器频道上,等待恶意命令。这类bot程序由于捆绑了mIRC程序,所以体积会比较大,往往会大于1MB。

        按Botnet的控制方式分类

        (1)IRC Botnet。是指控制和通信方式为利用IRC协议的Botnet,形成这类Botnet的主要bot程序有spybot、GTbot和SDbot,目前绝大多数Botnet属于这一类别。

        (2)AOL Botnet。与IRC Bot类似,AOL为美国在线提供的一种即时通信服务,这类Botnet是依托这种即时通信服务形成的网络而建立的,被感染主机登录到固定的服务器上接收控制命令。AIM-Canbot和Fizzer就采用了AOL Instant Messager实现对Bot的控制。

        (3)P2P Botnet。这类Botnet中使用的bot程序本身包含了P2P的客户端,可以连入采用了Gnutella技术(一种开放源码的文件共享技术)的服务器,利用WASTE文件共享协议进行相互通信。由于这种协议分布式地进行连接,就使得每一个僵尸主机可以很方便地找到其他的僵尸主机并进行通信,而当有一些bot被查杀时,并不会影响到Botnet的生存,所以这类的Botnet具有不存在单点失效但实现相对复杂的特点。Agobot和Phatbot采用了P2P的咸鱼代付源码方式。

        Botnet的危害

        Botnet构成了一个攻击平台,利用这个平台可以有效地发起各种各样的攻击行为,可以导致整个基础信息网络或者重要应用系统瘫痪,也可以导致大量机密或个人隐私泄漏,还可以用来从事网络欺诈等其他违法犯罪活动。下面是已经发现的利用Botnet发动的攻击行为。随着将来出现各种新的攻击类型,Botnet还可能被用来发起新的未知攻击。

        (1)拒绝服务攻击。使用Botnet发动DDos攻击是当前最主要的威胁之一,攻击者可以向自己控制的所有bots发送指令,让它们在特定的时间同时开始连续访问特定的网络目标,从而达到DDos的目的。由于Botnet可以形成庞大规模,而且利用其进行DDos攻击可以做到更好地同步,所以在发布控制指令时,能够使得DDos的危害更大,防范更难。

        (2)发送垃圾邮件。一些bots会设立sockv4、v5 代理,这样就可以利用Botnet发送大量的垃圾邮件,而且发送者可以很好地隐藏自身的IP信息。

        (3)窃取秘密。Botnet的控制者可以从僵尸主机中窃取用户的各种敏感信息和其他秘密,例如个人帐号、机密数据等。同时bot程序能够使用sniffer观测感兴趣的网络数据,从而获得网络流量中的秘密。

        (4)滥用资源。攻击者利用Botnet从事各种需要耗费网络资源的活动,从而使用户的网络性能受到影响,甚至带来经济损失。例如:种植广告软件,点击指定的网站;利用僵尸主机的资源存储大型数据和违法数据等,利用僵尸主机搭建假冒的银行网站从事网络钓鱼的非法活动。

        可以看出,Botnet无论是对整个网络还是对用户自身,都造成了比较严重的危害,我们要采取有效的方法减少Botnet的危害。

        Botnet的研究现状

        对于Botnet的研究是最近几年才逐渐开始的,从反病毒公司到学术研究机构都做了相关的研究工作。最先研究和应对Botnet的是反病毒厂商。它们从bot程序的恶意性出发,将其视为一种由后门工具、蠕虫、Spyware 等技术结合的恶意软件而归入了病毒的查杀范围。著名的各大反病毒厂商都将几个重要的bot程序特征码写入到病毒库中。赛门铁克从 年开始,在其每半年发布一次的安全趋势分析报告中,以单独的章节给出对Botnet活动的观测结果。卡巴斯基也在恶意软件趋势分析报告中指出,僵尸程序的盛行是年病毒领域最重大的变化。

        学术界在年开始关注Botnet的发展。国际上的一些蜜网项目组和蜜网研究联盟的一些成员使用蜜网分析技术对Botnet的活动进行深入跟踪和分析,如Azusa Pacific大学的Bill McCarty、法国蜜网项目组的Richard Clarke、华盛顿大学Dave Dittrich和德国蜜网项目组。特别是德国蜜网项目组在年月到 年1月通过部署Win蜜罐机发现并对近个Botnet进行了跟踪,并发布了Botnet跟踪的技术报告。

        Botnet的一个主要威胁是作为攻击平台对指定的目标发起DDos(分布式拒绝服务攻击)攻击,所以DDos的研究人员同样也做了对Botnet的研究工作。由国外DDosVax组织的“Detecting Bots in Internet Relay Chat Systems”项目中,分析了基于IRC协议的bot程序的行为特征,在网络流量中择选出对应关系,从而检测出Botnet的存在。该组织的这个研究方法通过在plantlab中搭建一个Botnet的实验环境来进行测试,通过对得到的数据进行统计分析,可以有效验证关于Botnet特征流量的分析结果,但存在着一定的误报率。

        国内在年时开始对Botnet有初步的研究工作。北京大学计算机科学技术研究所在年1月开始实施用蜜网跟踪Botnet的项目,对收集到的恶意软件样本,采用了沙箱、蜜网这两种各有优势的技术对其进行分析,确认其是否为僵尸程序,并对僵尸程序所要连接的口袋骑兵源码Botnet控制信道的信息进行提取,最终获得了, 多个僵尸程序样本分析报告,并对其中多个仍然活跃的Botnet进行跟踪,统计出所属国分布、规模分布等信息。

        国家应急响应中心通过-网络安全监测平台,在年共监测到的节点大于个的Botnet规模与数量统计如图4所示。

        这些数据和活动情况都说明,我国国内网上的Botnet的威胁比较严重,需要引起网络用户的高度重视。

        CCERT恶意代码研究项目组在年7月开始对Botnet的研究工作,通过对大量已经掌握的Botnet的实际跟踪与深入分析,对基于IRC协议的Botnet的服务器端的特征进行了分类提取,形成对于Botnet 服务器端的判断规则,从而可以对网络中的IRC Server进行性质辨别。设计并初步实现了Botnet自动识别系统,应用于中国教育和科研计算机网络环境中。

        可以看出,从国内到国外,自年以来对Botnet的研究越来越多地受到网络安全研究人员的重视,研究工作已经大大加强。但是这些工作还远远不够,在检测和处置Botnet方面还有许多工作要做。

        Botnet的研究方法

        对于目前比较流行的基于IRC协议的Botnet的研究方法,主要使用蜜网技术、网络流量研究以及IRC Server识别技术。

        (1)使用蜜网技术。蜜网技术是从bot程序出发的,可以深入跟踪和分析Botnet的性质和特征。主要的研究过程是,首先通过密罐等手段尽可能多地获得各种流传在网上的bot程序样本;当获得bot程序样本后,采用逆向工程等恶意代码分析手段,获得隐藏在代码中的登录Botnet所需要的属性,如Botnet服务器地址、服务端口、指定的恶意频道名称及登录密码,以及登录所使用到的用户名称,这些信息都为今后有效地跟踪Botnet和深入分析Botnet的特征提供了条件。在具备了这些条件之后,使用伪装的客户端登录到Botnet中去,当确认其确实为Botnet后,可以对该Botnet采取相应的措施。

        (2)网络流量研究。网络流量的研究思路是通过分析基于IRC协议的Botnet中僵尸主机的行为特征,将僵尸主机分为两类:长时间发呆型和快速加入型。具体来说就是僵尸主机在Botnet中存在着三个比较明显的行为特征,一是通过蠕虫传播的僵尸程序,大量的被其感染计算机会在很短的时间内加入到同一个IRC Server中;二是僵尸计算机一般会长时间在线;三是僵尸计算机作为一个IRC聊天的用户,在聊天频道内长时间不发言,保持空闲。将第一种行为特征归纳为快速加入型,将第二、三种行为特征归纳为长期发呆型。

        研究对应这两类僵尸计算机行为的网络流量变化,使用离线和在线的两种分析方法,就可以实现对Botnet的判断。

        (3)IRC Server识别技术的研究。通过登录大量实际的基于IRC协议的Botnet的服务器端,可以看到,由于攻击者为了隐藏自身而在服务器端刻意隐藏了IRC服务器的部分属性。同时,通过对bot源代码的分析看到,当被感染主机加入到控制服务器时,在服务器端能够表现出许多具有规律性的特征。通过对这些特征的归纳总结,就形成了可以用来判断基于IRC协议的Botnet的服务器端的规则,这样就可以直接确定出Botnet的位置及其规模、分布等性质,为下一步采取应对措施提供有力的定位支持。

        以上三种研究方法都是针对基于IRC协议的Botnet。对于P2P结构的Botnet的研究较少,原因是由于其实现比较复杂,在网络中并不占有太大比例,同时也因为其在控制方式上的分布性使得对它的研究比较困难。但随着Botnet的发展,对于P2P结构的Botnet的研究也将进一步深入。

IFIX中如何引用CryStal Report

       åœ¨è¿™é‡Œæˆ‘主要想和大家讨论一下Crystal Report的总体框架模式方面的问题,重点是如何使用VB有效的融合报表和数据,快速的进行报表开发工作。希望抛砖引玉,找到几种最好最快的开发模式。

       æœ¬æ–‡æš‚不涉及技术细节,所以您可能觉得太过简单。但这样的问题的确是我们开发中的第一号大问题。在以后的讨论中,我们可以针对具体的问题讨论具体的技术细节。

       æˆ‘准备了一份源代码,已经发给了部分网友,但是没有做详细的测试。我准备在明后天做完测试,如果各位有需要的话,应该在星期一左右可以发给你们(唉,星期六星期天还要加班!)。

       æ³¨æ„ï¼šæœ‰éœ€è¦çš„朋友请跟帖说明,不要只给我发短消息。

       ç¼©å†™è¯­è¯´æ˜Ž

       RPT Crystal Report Template File. 使用Crystal Report设计器生成的报表样式和模板文件,后缀名为RPT

       RDC Crystal Report Designer Component. Crystal Report的对象模型,用于在VB中操作Crystal Report.

       CRV Crystal Report Viewer. OCX 控件,用于在VB中提供报表预览界面。

       CRC Crystal Report Control. OCX 控件,在Crystal Report 8.0以前用于在VB中提供报表预览界面,现已被CRV取代。

       CDO Crystal Data Source Object. Crystal Report 提供的数据源对象,用于创建与数据库无关的动态数据源。

       ä¸€ï¼Œå¦‚何动态获取数据,生成报表?

       æŠ¥è¡¨çš„一个主要特征就是根据事先设计好的模板样式和运行时的动态数据生成一份可查看与打印的文档。

       ä¸€èˆ¬æ¥è¯´ï¼ŒVB的程序中整个报表流程中的主线,由它来对Crystal Report及其它工具发号施令,实现用户需求。

       VB是通过RDC模型来操作CrystalReport的。通常有如下两种模式生成报表:

       1,VB-RPT-DB

        VB调用RPT文件,RPT文件查询数据库得到数据,生成报表。此方法的详细流程如下:

        1)在Crystal Report 中设计好RPT文件,设计时可在CrystalReport中连接到数据库,得到查询数据,即时预览报表。

        2) 在VB中,通过RDC模型打开RPT文件,并将运行时和数据库连接所需的信息,如数据库名,用户,密码等传给RPT文件,如果RPT文件中有参数,还要传入参数。

        3)RPT文件连接到数据库,执行查询得到数据,生成报表。

        4) 在VB中,通过CRV控件打开报表进行预览或通过RDC模型进行打印,导出等操作。

       2,VB-DB-RPT

        VB先查询数据库得到结果集,再打开RPT文件并传入结果集,生成报表。此方法详细流程如下:

        1)在Crystal Report 中设计好RPT文件。由于此时结果集还未生成,只能使用TTX文件做为虚拟数据源,以便读取字段信息。所以在设计RPT文件之前,还要根据最终的结果集结构生成一个TTX文件。

        2)在VB中,连接到数据库,执行查询,得到结果集。

        3)在VB中,通过RDC模型打开RPT文件,传入结果集和参数,生成报表。

        4)在VB中,通过CRV控件打开报表进行预览或通过RDC模型进行打印,导出等操作。

       æ˜¾ç„¶ï¼ŒVB-RPT-DB模式远优于VB-DB-RPT模式,这体现在如下几个方面:

       1,设计时,VB-DB-RPT模式一般要求生成一个和最终结果集字段结构完全一致的TTX文件做为虚拟数据源,增大的开发和维护的工作量,而且还不能即时预览生成的报表。VB-RPT-DB模式则是直接和数据库相连,无需TTX文件,还能看到最终数据。

       2,运行时,VB-DB-RPT模式在得到结果集后,需要在VB中建立相应的结果集对象,并将其传入RPT文件,与VB-RPT-DB模式相比多了一个很大的对象--结果集对象。

       3,运行时,VB-DB-RPT模式的结果集从DB传到VB,再传到RPT, 而VB-RPT-DB模式的结果集直接从DB传到RPT,少了一次大的数据传递。

       4, 开发时,VB-DB-RPT模式一般每加一个报表,就要加两段代码:查询结果集和生成报表。而VB-RPT-DB模式可以很方便的实现一个接口应对所有的报表,新加报表几乎无需增加VB代码。二者的代码量不可同日而语。

       äºŒã€å¦‚何生成报表模板文件?

       è®¾è®¡æŠ¥è¡¨æ ¼å¼æ˜¯æ‰€æœ‰æŠ¥è¡¨å·¥ä½œçš„第一步。在CrystalReport中,有两个地方可以设计报表,Crystal Report集成设计器和内嵌在VB中的报表设计器。我个人觉得,内嵌报表设计器的做法弊远大于利,不推荐使用。

       ä¸‰ï¼Œå¦‚何查询DB,得到运行时数据。

        通过VB查询DB得到结果集的方式有很多种,大家都很熟悉。通过RPT查询DB的方式主要有:存储过程,视图,表, Crystal Query, 直接SQL查询。

        其中最简单的莫过于直接连接到表,进行表查询。可是一般的报表都不会只涉及到一个表。在RPT文件中进行多表查询并设置查询条件的方法虽然简单,但是分散了整体的查询逻辑,而且操作烦琐,不是一个好办法。视图和存储过程是最好的选择,不过视图在性能上不及存储过程,所以我推荐使用存储过程。

        存储过程和视图是放在数据库中的。如果不允许或不能在数据库中建立视图和存储过程等,还可以利用Crystal Report自已的SQL查询功能,将完整的SQL查询语句写在RPT文件中。

        从Crystal Report自己的说明来看,Crystal Query文件就像是Crystal Report自己的存储过程。不过这个工具不包含在Crystal Report 9中。Crystal Report 官方网站提供了单独的免费下载。这个工具有两个限制:在Crystal Queryk中的每个字段,字段值长度不能超过个字符, 总字段数据也不能超过个。我是从Crystal Report的帮助文件中看到这些信息的。如是真的话,Crystal Query就没有什么竞争力了。Crystal Report 也支持在设计RPT文件时直接写SQL,还可以带参数。这是个不错的功能。不知道是不是也有上述两个限制。

        我没有仔细测试Crystal Report内嵌SQL查询的功能,在此不宜多加评论。但我强烈推荐使用数据库的存储过程和视图。它有效的分离的报表工作中的逻辑和设计工作,利于分工合作,也利于编护和升级。

        使用Oracle的存储过程有如下限制,SQL Server 类似。

        > 要使用本地连接或ODBC连接到Oracle,不能使用OLE DB连接。建议使用本地连接。

        > 存储过程必须放到一个包内。结果集游标必须在包头声明。

        > 存储过程只能有输入参数。

        > 存储过程只能返回一个结果集,以输入输出型(IN OUT)的游标参数形式返回。

        > 结果集中的字段名称和类型通过打开游标的SQL语句直接确定。所以不能使用动态SQL,也不能通过嵌套调用存储过程的方式来将数据装入游标。

       å››ï¼Œå¦‚何传递多个数据源和参数。

        如果所有的数据源都是VB-RPT-DB模式,那么VB要做的连接工作就很简单,将一个动态建立的连接传给RDC就可以了。RDC再将连接传给每一个RPT中存在的数据源。即便在报表包含子报表时也是如此的简单。

        如果数据源是VB-DB-RPT模式,或都是好几种类型混合的。最好在设计报表的时候给每个数据源设定一个唯一名字(包括子报表的数据源),RDC就跟据名字来给每个数据源传递连接信息或结果集。

        事实上,在一个报表中即便存在多个数据源,由于Crystal Report要求互相之间要有主键的对应关系,而不能一个数据源处理完后再处理另一个数据源,所以这些多个的数据源在本质上仍然是一个数据源。我做过很多复杂的报表,很少碰到要用到多个数据源的。使用子报表的情况倒是占了一半左右。

        报表中的所参数都可以从VB中传入,建议也为所有的参数(包括子报表的参数)设定一个唯一的名字,由RDC跟据名字来传值,这样就不用理会报表中有哪些子报表了。

        在处理大量的报表时,将报表的RPT文件路径及其参数信息存入数据库,就可以实现新增报表无须修改VB程序。一般而言,一个系统中的绝大部分报表,其参数都差不多,很容易控制。

       2.1 准备一个通用模板。

       ä¸€ä¸ªé¡¹ç›®ä¸­çš„所有报表,通常有一个统一的格式和标准。准备一个带有最基本格式和标准的RPT文件作为模板是个聪明的做法。不过Crystal Report中的模板向导功能并不是很强,不如直接创建一个RPT文件,然后复制来得快。

       2.2 在Crystal Report 编辑环境中设定字段和数据的缺省模式。

       åœ¨Crystal Report的选项菜单(文件->选项)中设定要不同字段,不同数据类型的显示格式和字体,这一点非常重要。它可以最大程度的保证的模板设计完全符合标准。减少重复劳动。

       åœ¨æ–‡ä»¶ï¼ï¼žæŠ¥è¡¨é€‰é¡¹ä¸­ä¹Ÿæœ‰ä¸‰é¡¹å¾ˆé‡è¦çš„设置:

       1) 将数据库的NULL值转为默认值, 选中。

       2) 将其它NULL值转为默认值, 选中。

       3) 若无记录则取消打印, 不选。

       2.3 选择一个可以同时支持中英文的字体。

       å­—体的选择直接影响版面效果。有的字体不支持中文,显示中文时就会出现乱码。有的中文字体在纯英文下不能使用。有的字体在Windows /XP的中英文环境中大小不同。有的字体不是Windows 自带字体。

       æœ€å¥½åœ¨å„种环境下试过后再决定采用哪种字体。

       2.4 使用公式字段,汇总字段,运行时总计字段,以及变量实现数据的页面逻辑。

       Crystal Report中的公式其实就是一个表达式,它通过使用Crystal Report中的函数和操作符来操作数据源中的数据以得到最终想要显示的字段。在公式中还可以使用变量。

       åœ¨Crystal Report中有两种比较特别的公式:汇总公式和运行时总计公式。这两种公式都可以在公式编辑器(CR称之为公式工作室)中编辑,但比较复杂。CR提供了更简单的方法:在报表中选中要统计的字段,点出右键菜单,选中"插入…"项,就会弹出两个子菜单项:汇总,运行总计。

       æ±‡æ€»å­—段用于对特定的字段进行按组或全局的汇总统计。

       è¿è¡Œæ—¶æ€»è®¡å­—段在汇总字段的基础上加入条伯控制,使得在报表中跟据一个字段的不同取值分别得到另一个字段的总计数据成为可能。

       åœ¨å…¬å¼ç¼–辑器中可以使用变量。按作用域分,有局部变量,全局变量和共享变量。局部变量只在一个公式或函数中有效。全局变量在整个报表(但不包含子报表)中有效,共享变量在一个报表文件,包括子报表中都有效。

       2.5 使用子报表。

       è·Ÿæ®ä»¥å¾€çš„项目经验,有一半左右的报表要用到子报表。在Crystal Report中,一个报表事实上只能处理一个结果集。存在多个结果集,要求互相之间有主键的对应关系,在本质上仍然是一个。如果报表要显示多个部分,就必须使用子报表。除没有单独的页眉和页脚外,子报表具有完整报表的所有特性。

       é¡µé¢æ˜¾ç¤ºçš„时候,子报表的宽度会受到其在主报表中的宽度限制,所以在把子报表放入主报表的时候,一定要给予足够的宽度。

       ä¸»æŠ¥è¡¨å’Œå­æŠ¥è¡¨ä¹‹é—´å¯ä»¥é€šè¿‡å­—段-参数的关系进行链接。即将主报表中的字段作为子报表的参数。

       2.6 使用交叉表。

        设有A,B两个字段,要求在报表中将A的全部值显示在第一列的列头,将B的全部值显示在每一行的行首,在行和列的主体部分显示出跟据相应的A值和B值计算出来的结果,如下图所示。这就是一个交叉表。

        交叉表中Crystal Report 中的一个对象,可以很简单的创建,注意交叉表应放到报表的报表页脚部分(Report Footer),不能放在细节部分或页眉。否则会导致重复显示和数据不全。

        Crystal Report对交叉表的分页功能支持不佳,所以要尽可能的不让数据超过一页。

       2.7 使用分栏表。

       æ‰€è°“分栏表,就是把页面分成几栏来显示结果。这样就可以在同一行显示多条记录。

       åœ¨èŠ‚专家中选中详细资料节,注意只能选详细资料节的总节,不能选子节,就可以发出多栏格式化的选项,选中后界面上会多出一个布局的选项卡。在这个选项卡中就可以设置分栏。

       2.8 最好不要在每页显示总页数。

       æ˜¾ç¤ºæ€»é¡µæ•°ä¼šå¯¼è‡´æŠ¥è¡¨å¤šä¸€æ¬¡å…¨ç¨‹è¿ç®—,严重降低性能,最好不要在每页都显示总页数。

       2.9 把报表打印出来检查格式与数据。

       è¿™æ˜¯ä¸ªè¦è¯€ï¼Œä¸æ‰“印出来检查,你的格式与数据很难保证没有错误。

       2. 设置字段或小节的条件显示条件

       Crystal Report中的所有对象,大到一个小节,小到一个字段,都可限定显示的格式。在这些对象的格式化编辑器中,有个抑制显示的选项,其右有一个公式编辑按钮,点击这个按钮就可以进入公式编辑器,编辑一个逻辑表达式来控制抑制显示的条件。注意,只有勾上抑制显示的选项,条件公式才会起作用。

       2. 对字段进行有条件的格式化

       å¦‚果碰到类似这样要求,就要对字段进行有条件的格式化:将所有值大于的A字段加下划线显示。

       å¯¹å­—段的有条件格式化只能在公式编辑器(公式工作室)中实现。

       2. 在导出为RTF是要注意字段对齐。

       å¦‚果报表的字段是随意放置的,在导出RTF文件是将会出现位置的严重错乱。

僵尸网络是什么网络

       僵尸网络

       Botnet

       僵尸网络是指采用一种或多种传播手段,将大量主机感染bot程序(僵尸程序),从而在控制者和被感染主机之间所形成的一个可一对多控制的网络。

       在Botnet的概念中有这样几个关键词。“bot程序”是robot的缩写,是指实现恶意控制功能的程序代码;“僵尸计算机”就是被植入bot的计算机;“控制服务器(Control Server)”是指控制和通信的中心服务器,在基于IRC(因特网中继聊天)协议进行控制的Botnet中,就是指提供IRC聊天服务的服务器。

       Botnet

        首先是一个可控制的网络,这个网络并不是指物理意义上具有拓扑结构的网络,它具有一定的分布性,随着bot程序的不断传播而不断有新位置的僵尸计算机添加到这个网络中来。

        其次,这个网络是采用了一定的恶意传播手段形成的,例如主动漏洞攻击,邮件病毒等各种病毒与蠕虫的传播手段,都可以用来进行Botnet的传播,从这个意义上讲,恶意程序bot也是一种病毒或蠕虫。

        最后一点,也是Botnet的最主要的特点,就是可以一对多地执行相同的恶意行为,比如可以同时对某目标网站进行分布式拒绝服务(DDos)攻击,同时发送大量的垃圾邮件等,而正是这种一对多的控制关系,使得攻击者能够以极低的代价高效地控制大量的资源为其服务,这也是Botnet攻击模式近年来受到黑客青睐的根本原因。在执行恶意行为的时候,Botnet充当了一个攻击平台的角色,这也就使得Botnet不同于简单的病毒和蠕虫,也与通常意义的木马有所不同。

       僵尸网络是互联网上受到黑客集中控制的一群计算机,往往被黑客用来发起大规模的网络攻击,如分布式拒绝服务攻击(DDoS)、海量垃圾邮件等,同时黑客控制的这些计算机所保存的信息,譬如银行帐户的密码与社会安全号码等也都可被黑客随意“取用”。因此,不论是对网络安全运行还是用户数据安全的保护来说,僵尸网络都是极具威胁的隐患。僵尸网络的威胁也因此成为目前一个国际上十分关注的问题。然而,发现一个僵尸网络是非常困难的,因为黑客通常远程、隐蔽地控制分散在网络上的“僵尸主机”,这些主机的用户往往并不知情。因此,僵尸网络是目前互联网上黑客最青睐的作案工具。

        对网友而言,感染上“僵尸病毒”却十分容易。网络上搔首弄姿的美女、各种各样有趣的小游戏,都在吸引着网友轻轻一点鼠标。但事实上,点击之后毫无动静,原来一切只是骗局,意在诱惑网友下载有问题的软件。一旦这种有毒的软件进入到网友电脑,远端主机就可以发号施令,对电脑进行操控。

        专家表示,每周平均新增数十万台任人遥控的僵尸电脑,任凭远端主机指挥,进行各种不法活动。多数时候,僵尸电脑的根本不晓得自己已被选中,任人摆布。

        僵尸网络之所以出现,在家高速上网越来越普遍也是原因。高速上网可以处理(或制造)更多的流量,但高速上网家庭习惯将电脑长时间开机,唯有电脑开机,远端主机才可以对僵尸电脑发号施令。

        网络专家称:“重要的硬件设施虽然非常重视杀毒、防黑客,但网络真正的安全漏洞来自于住家用户,这些个体户欠缺自我保护的知识,让网络充满地雷,进而对其他用户构成威胁。”

       Botnet的发展过程

       Botnet是随着自动智能程序的应用而逐渐发展起来的。在早期的IRC聊天网络中,有一些服务是重复出现的,如防止频道被滥用、管理权限、记录频道事件等一系列功能都可以由管理者编写的智能程序所完成。于是在 年,在IRC 聊天网络中出现了Bot 工具——Eggdrop,这是第一个bot程序,能够帮助用户方便地使用IRC 聊天网络。这种bot的功能是良性的,是出于服务的目的,然而这个设计思路却为黑客所利用,他们编写出了带有恶意的Bot 工具,开始对大量的受害主机进行控制,利用他们的资源以达到恶意目标。

       世纪年代末,随着分布式拒绝服务攻击概念的成熟,出现了大量分布式拒绝服务攻击工具如TFN、TFN2K和Trinoo,攻击者利用这些工具控制大量的被感染主机,发动分布式拒绝服务攻击。而这些被控主机从一定意义上来说已经具有了Botnet的雏形。

        年,在第八届DEFCON 年会上发布的SubSeven 2.1 版开始使用IRC 协议构建攻击者对僵尸主机的控制信道,也成为第一个真正意义上的bot程序。随后基于IRC协议的bot程序的大量出现,如GTBot、Sdbot 等,使得基于IRC协议的Botnet成为主流。

        年之后,随着蠕虫技术的不断成熟,bot的传播开始使用蠕虫的主动传播技术,从而能够快速构建大规模的Botnet。著名的有年爆发的Agobot/Gaobot 和rBot/Spybot。同年出现的Phatbot 则在Agobot 的基础上,开始独立使用P2P 结构构建控制信道。

       从良性bot的出现到恶意bot的实现,从被动传播到利用蠕虫技术主动传播,从使用简单的IRC协议构成控制信道到构建复杂多变P2P结构的控制模式,Botnet逐渐发展成规模庞大、功能多样、不易检测的恶意网络,给当前的网络安全带来了不容忽视的威胁。

       Botnet的工作过程

       Botnet的工作过程包括传播、加入和控制三个阶段。

       一个Botnet首先需要的是具有一定规模的被控计算机,而这个规模是逐渐地随着采用某种或某几种传播手段的bot程序的扩散而形成的,在这个传播过程中有如下几种手段:

       (1)主动攻击漏洞。其原理是通过攻击系统所存在的漏洞获得访问权,并在Shellcode 执行bot程序注入代码,将被攻击系统感染成为僵尸主机。属于此类的最基本的感染途径是攻击者手动地利用一系列黑客工具和脚本进行攻击,获得权限后下载bot程序执行。攻击者还会将僵尸程序和蠕虫技术进行结合,从而使bot程序能够进行自动传播,著名的bot样本AgoBot,就是实现了将bot程序的自动传播。

       (2)邮件病毒。bot程序还会通过发送大量的邮件病毒传播自身,通常表现为在邮件附件中携带僵尸程序以及在邮件内容中包含下载执行bot程序的链接,并通过一系列社会工程学的技巧诱使接收者执行附件或点击链接,或是通过利用邮件客户端的漏洞自动执行,从而使得接收者主机被感染成为僵尸主机。

       (3)即时通信软件。利用即时通信软件向好友列表发送执行僵尸程序的链接,并通过社会工程学技巧诱骗其点击,从而进行感染,如年年初爆发的MSN性感鸡(Worm.MSNLoveme)采用的就是这种方式。

       (4)恶意网站脚本。攻击者在提供Web服务的网站中在HTML页面上绑定恶意的脚本,当访问者访问这些网站时就会执行恶意脚本,使得bot程序下载到主机上,并被自动执行。

       (5)特洛伊木马。伪装成有用的软件,在网站、FTP 服务器、P2P 网络中提供,诱骗用户下载并执行。

       通过以上几种传播手段可以看出,在Botnet的形成中传播方式与蠕虫和病毒以及功能复杂的间谍软件很相近。

       在加入阶段,每一个被感染主机都会随着隐藏在自身上的bot程序的发作而加入到Botnet中去,加入的方式根据控制方式和通信协议的不同而有所不同。在基于IRC协议的Botnet中,感染bot程序的主机会登录到指定的服务器和频道中去,在登录成功后,在频道中等待控制者发来的恶意指令。图2为在实际的Botnet中看到的不断有新的bot加入到Botnet中的行为。

       在控制阶段,攻击者通过中心服务器发送预先定义好的控制指令,让被感染主机执行恶意行为,如发起DDos攻击、窃取主机敏感信息、更新升级恶意程序等。图3为观测到的在控制阶段向内网传播恶意程序的Botnet行为。

       Botnet的分类

       Botnet根据分类标准的不同,可以有许多种分类。

       按bot程序的种类分类

       (1)Agobot/Phatbot/Forbot/XtremBot。这可能是最出名的僵尸工具。防病毒厂商Spphos 列出了超过种已知的不同版本的Agobot(Sophos 病毒分析),这个数目也在稳步增长。僵尸工具本身使用跨平台的C++写成。Agobot 最新可获得的版本代码清晰并且有很好的抽象设计,以模块化的方式组合,添加命令或者其他漏洞的扫描器及攻击功能非常简单,并提供像文件和进程隐藏的Rootkit 能力在攻陷主机中隐藏自己。在获取该样本后对它进行逆向工程是比较困难的,因为它包含了监测调试器(Softice 和ODbg)和虚拟机(VMware 和Virtual PC)的功能。

       (2)SDBot/RBot/UrBot/SpyBot/。这个家族的恶意软件目前是最活跃的bot程序软件,SDBot 由C语言写成。它提供了和Agobot 一样的功能特征,但是命令集没那么大,实现也没那么复杂。它是基于IRC协议的一类bot程序。

       (3)GT-Bots。GT-Bots是基于当前比较流行的IRC客户端程序mIRC编写的,GT是(Global Threat)的缩写。这类僵尸工具用脚本和其他二进制文件开启一个mIRC聊天客户端, 但会隐藏原mIRC窗口。通过执行mIRC 脚本连接到指定的服务器频道上,等待恶意命令。这类bot程序由于捆绑了mIRC程序,所以体积会比较大,往往会大于1MB。

       按Botnet的控制方式分类

       (1)IRC Botnet。是指控制和通信方式为利用IRC协议的Botnet,形成这类Botnet的主要bot程序有spybot、GTbot和SDbot,目前绝大多数Botnet属于这一类别。

       (2)AOL Botnet。与IRC Bot类似,AOL为美国在线提供的一种即时通信服务,这类Botnet是依托这种即时通信服务形成的网络而建立的,被感染主机登录到固定的服务器上接收控制命令。AIM-Canbot和Fizzer就采用了AOL Instant Messager实现对Bot的控制。

       (3)P2P Botnet。这类Botnet中使用的bot程序本身包含了P2P的客户端,可以连入采用了Gnutella技术(一种开放源码的文件共享技术)的服务器,利用WASTE文件共享协议进行相互通信。由于这种协议分布式地进行连接,就使得每一个僵尸主机可以很方便地找到其他的僵尸主机并进行通信,而当有一些bot被查杀时,并不会影响到Botnet的生存,所以这类的Botnet具有不存在单点失效但实现相对复杂的特点。Agobot和Phatbot采用了P2P的方式。

       Botnet的危害

       Botnet构成了一个攻击平台,利用这个平台可以有效地发起各种各样的攻击行为,可以导致整个基础信息网络或者重要应用系统瘫痪,也可以导致大量机密或个人隐私泄漏,还可以用来从事网络欺诈等其他违法犯罪活动。下面是已经发现的利用Botnet发动的攻击行为。随着将来出现各种新的攻击类型,Botnet还可能被用来发起新的未知攻击。

       (1)拒绝服务攻击。使用Botnet发动DDos攻击是当前最主要的威胁之一,攻击者可以向自己控制的所有bots发送指令,让它们在特定的时间同时开始连续访问特定的网络目标,从而达到DDos的目的。由于Botnet可以形成庞大规模,而且利用其进行DDos攻击可以做到更好地同步,所以在发布控制指令时,能够使得DDos的危害更大,防范更难。

       (2)发送垃圾邮件。一些bots会设立sockv4、v5 代理,这样就可以利用Botnet发送大量的垃圾邮件,而且发送者可以很好地隐藏自身的IP信息。

       (3)窃取秘密。Botnet的控制者可以从僵尸主机中窃取用户的各种敏感信息和其他秘密,例如个人帐号、机密数据等。同时bot程序能够使用sniffer观测感兴趣的网络数据,从而获得网络流量中的秘密。

       (4)滥用资源。攻击者利用Botnet从事各种需要耗费网络资源的活动,从而使用户的网络性能受到影响,甚至带来经济损失。例如:种植广告软件,点击指定的网站;利用僵尸主机的资源存储大型数据和违法数据等,利用僵尸主机搭建假冒的银行网站从事网络钓鱼的非法活动。

       可以看出,Botnet无论是对整个网络还是对用户自身,都造成了比较严重的危害,我们要采取有效的方法减少Botnet的危害。

       Botnet的研究现状

       对于Botnet的研究是最近几年才逐渐开始的,从反病毒公司到学术研究机构都做了相关的研究工作。最先研究和应对Botnet的是反病毒厂商。它们从bot程序的恶意性出发,将其视为一种由后门工具、蠕虫、Spyware 等技术结合的恶意软件而归入了病毒的查杀范围。著名的各大反病毒厂商都将几个重要的bot程序特征码写入到病毒库中。赛门铁克从 年开始,在其每半年发布一次的安全趋势分析报告中,以单独的章节给出对Botnet活动的观测结果。卡巴斯基也在恶意软件趋势分析报告中指出,僵尸程序的盛行是年病毒领域最重大的变化。

       学术界在年开始关注Botnet的发展。国际上的一些蜜网项目组和蜜网研究联盟的一些成员使用蜜网分析技术对Botnet的活动进行深入跟踪和分析,如Azusa Pacific大学的Bill McCarty、法国蜜网项目组的Richard Clarke、华盛顿大学Dave Dittrich和德国蜜网项目组。特别是德国蜜网项目组在年月到 年1月通过部署Win蜜罐机发现并对近个Botnet进行了跟踪,并发布了Botnet跟踪的技术报告。

       Botnet的一个主要威胁是作为攻击平台对指定的目标发起DDos(分布式拒绝服务攻击)攻击,所以DDos的研究人员同样也做了对Botnet的研究工作。由国外DDosVax组织的“Detecting Bots in Internet Relay Chat Systems”项目中,分析了基于IRC协议的bot程序的行为特征,在网络流量中择选出对应关系,从而检测出Botnet的存在。该组织的这个研究方法通过在plantlab中搭建一个Botnet的实验环境来进行测试,通过对得到的数据进行统计分析,可以有效验证关于Botnet特征流量的分析结果,但存在着一定的误报率。

       国内在年时开始对Botnet有初步的研究工作。北京大学计算机科学技术研究所在年1月开始实施用蜜网跟踪Botnet的项目,对收集到的恶意软件样本,采用了沙箱、蜜网这两种各有优势的技术对其进行分析,确认其是否为僵尸程序,并对僵尸程序所要连接的Botnet控制信道的信息进行提取,最终获得了, 多个僵尸程序样本分析报告,并对其中多个仍然活跃的Botnet进行跟踪,统计出所属国分布、规模分布等信息。

       国家应急响应中心通过-网络安全监测平台,在年共监测到的节点大于个的Botnet规模与数量统计如图4所示。

       这些数据和活动情况都说明,我国国内网上的Botnet的威胁比较严重,需要引起网络用户的高度重视。

       CCERT恶意代码研究项目组在年7月开始对Botnet的研究工作,通过对大量已经掌握的Botnet的实际跟踪与深入分析,对基于IRC协议的Botnet的服务器端的特征进行了分类提取,形成对于Botnet 服务器端的判断规则,从而可以对网络中的IRC Server进行性质辨别。设计并初步实现了Botnet自动识别系统,应用于中国教育和科研计算机网络环境中。

       可以看出,从国内到国外,自年以来对Botnet的研究越来越多地受到网络安全研究人员的重视,研究工作已经大大加强。但是这些工作还远远不够,在检测和处置Botnet方面还有许多工作要做。

       Botnet的研究方法

       对于目前比较流行的基于IRC协议的Botnet的研究方法,主要使用蜜网技术、网络流量研究以及IRC Server识别技术。

       (1)使用蜜网技术。蜜网技术是从bot程序出发的,可以深入跟踪和分析Botnet的性质和特征。主要的研究过程是,首先通过密罐等手段尽可能多地获得各种流传在网上的bot程序样本;当获得bot程序样本后,采用逆向工程等恶意代码分析手段,获得隐藏在代码中的登录Botnet所需要的属性,如Botnet服务器地址、服务端口、指定的恶意频道名称及登录密码,以及登录所使用到的用户名称,这些信息都为今后有效地跟踪Botnet和深入分析Botnet的特征提供了条件。在具备了这些条件之后,使用伪装的客户端登录到Botnet中去,当确认其确实为Botnet后,可以对该Botnet采取相应的措施。

       (2)网络流量研究。网络流量的研究思路是通过分析基于IRC协议的Botnet中僵尸主机的行为特征,将僵尸主机分为两类:长时间发呆型和快速加入型。具体来说就是僵尸主机在Botnet中存在着三个比较明显的行为特征,一是通过蠕虫传播的僵尸程序,大量的被其感染计算机会在很短的时间内加入到同一个IRC Server中;二是僵尸计算机一般会长时间在线;三是僵尸计算机作为一个IRC聊天的用户,在聊天频道内长时间不发言,保持空闲。将第一种行为特征归纳为快速加入型,将第二、三种行为特征归纳为长期发呆型。

       研究对应这两类僵尸计算机行为的网络流量变化,使用离线和在线的两种分析方法,就可以实现对Botnet的判断。

       (3)IRC Server识别技术的研究。通过登录大量实际的基于IRC协议的Botnet的服务器端,可以看到,由于攻击者为了隐藏自身而在服务器端刻意隐藏了IRC服务器的部分属性。同时,通过对bot源代码的分析看到,当被感染主机加入到控制服务器时,在服务器端能够表现出许多具有规律性的特征。通过对这些特征的归纳总结,就形成了可以用来判断基于IRC协议的Botnet的服务器端的规则,这样就可以直接确定出Botnet的位置及其规模、分布等性质,为下一步采取应对措施提供有力的定位支持。

       以上三种研究方法都是针对基于IRC协议的Botnet。对于P2P结构的Botnet的研究较少,原因是由于其实现比较复杂,在网络中并不占有太大比例,同时也因为其在控制方式上的分布性使得对它的研究比较困难。但随着Botnet的发展,对于P2P结构的Botnet的研究也将进一步深入。