??xml version="1.0" encoding="utf-8" standalone="yes"?> 三、安全策略制定的复杂E度不同 大家对windows操作pȝ一定不陌生Q但你是否注意到pȝ中“svchost.exe”这个文件呢Q细心的朋友会发现windows中存在多?“svchost”进E(通过“ctrl+alt+del”键打开d理器,q里的“进E”标{中可看到了)Qؓ什么会q样呢?下面来揭开它神U的面纱?/p> 发现 在基于nt内核的windows操作pȝ家族中,不同版本的windowspȝQ存在不同数量的“svchost”进E,用户使用“Q务管理器”可查看其进E数目。一般来_win2000有两个svchostq程Qwinxp中则有四个或四个以上的svchostq程Q以后看到系l中有多个这U进E,千万别立卛_定系l有病毒了哟Q,而win2003 server中则更多。这些svchostq程提供很多pȝ服务Q如Qrpcss服务Qremote procedure callQ、dmserver服务Qlogical disk managerQ、dhcp服务Qdhcp clientQ等?/p> 如果要了解每个svchostq程到底提供了多系l服务,可以在win2000的命令提C符H口中输入“tlist -s”命令来查看Q该命o是win2000 support tools提供的。在winxp则用“tasklist /svc”命令?/p> svchost中可以包含多个服?/p> 深入 windowspȝq程分ؓ独立q程和共享进E两U,“svchost.exe”文件存在于?systemroot% system32”目录下Q它属于׃nq程。随着windowspȝ服务不断增多Qؓ了节省系l资源,微Y把很多服务做成共享方式,交由 svchost.exeq程来启动。但svchostq程只作为服务宿主,q不能实CQ何服务功能,卛_只能提供条g让其他服务在q里被启动,而它自己却不能给用户提供M服务。那q些服务是如何实现的呢? 原来q些pȝ服务是以动态链接库QdllQŞ式实现的Q它们把可执行程序指?svchostQ由svchost调用相应服务的动态链接库来启动服务。那svchost又怎么知道某个pȝ服务该调用哪个动态链接库呢?q是通过pȝ服务在注册表中设|的参数来实现。下面就以rpcssQremote procedure callQ服务ؓ例,q行讲解?/p> 从启动参C可见服务是靠svchost来启动的?/p> 实例 以windows xpZQ点几Z开始?“运行”,输入“services.msc”命令,弹出服务对话框,然后打开“remote procedure call”属性对话框Q可以看到rpcss服务的可执行文g的\径ؓ“c:\windows\system32\svchost -k rpcss”,q说明rpcss服务是依靠svchost调用“rpcss”参数来实现的,而参数的内容则是存放在系l注册表中的?/p> 在运行对话框中输入“regedit.exe”后回RQ打开注册表编辑器Q找到[hkey_local_machine systemcurrentcontrolsetservicesrpcss],扑ֈcd为“reg_expand_sz”的键“magepath”,光gؓ?systemroot%system32svchost -k rpcss”(q就是在服务H口中看到的服务启动命oQ,另外在“parameters”子中有个名ؓ“servicedll”的键,其gؓ? systemroot%system32rpcss.dll”,其中“rpcss.dll”就是rpcss服务要用的动态链接库文g。这?svchostq程通过d“rpcss”服务注册表信息Q就能启动该服务了?/p> 解惑 因ؓsvchostq程启动各种服务Q所以病毒、木马也惛_办法来利用它Q企囑ֈ用它的特性来qh用户Q达到感染、入c破坏的目的Q如冲击波变U病毒“w32.welchia.worm”)。但windowspȝ存在多个svchostq程是很正常的,在受感染的机器中到底哪个是病毒进E呢Q?/strong>q里仅D一例来说明?/p> 假设windows xppȝ被“w32.welchia.worm”感染了。正常的svchost文g存在于“c:\windows\system32”目录下Q如果发现该文g出现在其他目录下p心了。“w32.welchia.worm”病毒存在于“c:\windows\system32wins”目录中Q因此用进E管理器查看svchostq程?font color="#800080">执行文g路径很Ҏ发现pȝ是否感染了病毒。windowspȝ自带的Q务管理器不能够查看进E的路径Q可以用第三方q程理软gQ如“windows优化大师”进E管理器Q通过q些工具可很容易地查看到所有的svchostq程的执行文件\径,一旦发现其执行路径Zq_的位|就应该马上q行和处理?/p> ׃幅的关p,不能对svchost全部功能q行详细介绍Q这是一个windows中的一个特D进E,有兴的可参考有x术资料进一步去了解它?/p>
防火墙已l成Z业网l徏设中的一个关键组成部?a target="_blank">?/a>但有很多用户Q认为网l中已经有了路由器,可以实现一些简单的包过滤功能,所以,Z么还要用防火墙呢?以下我们针对防火墙与业界应用最多、最具代表性的路由器在安全斚w的对比,来阐qCؓ什么用Ll中有了路由器还需要防火墙?br /> Q 防火墙工作在大型网l中Q成为网l中的主要安全设备,主要布置在一个网l或子网与另一个网l的接口处,保障整个|络的安全。而安全\由器主要应用在中型企业的网l中央,承担主要的\由功能,同时兼顾|络安全Q但是整个设备不能因为安全功能而导致整体网l性能的下降。也是_安全是安全\由器的辅助功能。在中小型网l中Q安全\由器的部|的防火墙成Z个配|在路由器之中的讑֤Q因此就没有必要再部|防火墙了。但是在大型的网l中Q两者是完全不同的安全设备。)
一、两U设备生和存在的背景不?
1、两U设备生的Ҏ不同
路由器的产生是基于对|络数据包\p生的?/a>路由器需要完成的是将不同|络的数据包q行有效的\由,至于Z么\由、是否应该\由、\p后是否有问题{根本不兛_Q所兛_的是:能否不同的|段的数据包q行路由从而进行通讯?br />
防火墙是产生于h们对于安全性的需求。数据包是否可以正确的到达、到辄旉、方向等不是防火墙关心的重点Q重Ҏq个(一pd)数据包是否应该通过、通过后是否会对网l造成危害?br />
2、根本目的不?/em>
路由器的Ҏ目的?保持|络和数据的“通”?br />
防火墙根本的的目的是:保证M非允许的数据包“不通”?br />
二、核心技术的不同
Cisco路由器核心的ACL列表是基于简单的包过滤,从防火墙技术实现的角度来说Q防火墙是基于状态包qo的应用信息过滤?/font>
一个最为简单的应用:企业内网的一C机,通过路由器对内网提供服务(假设提供服务的端口ؓtcp 1455)。ؓ了保证安全性,在\由器上需要配|成:?->?只允许client讉K server的tcp 1455端口Q其他拒l?br />
针对现在的配|,存在的安全脆弱性如?
1、IP地址ƺ骗(?font face="Arial" color="#000000">q接非正常复?
2、TCPƺ骗(会话重放和劫?
存在上述隐患的原因是Q\由器不能监测TCP的状态。如果在内网的client和\由器之间放上防火墙,׃防火墙能够检TCP的状态,q且可以重新随机生成TCP的序列号Q则可以d消除q样的脆弱性。同Ӟ防火墙的一ơ性口令认?font face="Arial" color="#000000">客户?/font>功能Q能够实现在对应用完全透明的情况下Q实现对用户的访问控Ӟ其认证支持标准的Radius协议和本地认证数据库Q可以完全与W三方的认证数据库进行互操作Qƈ能够实现角色的划分?br />
虽然Q\由器?Lock-and-Key"功能能够通过动态访问控制列表的方式Q实现对用户的认证,但该Ҏ需要\由器提供Telnet服务Q用户在使用使也需要先Telnet到\由器上,使用h不很方便Q同时也不够安全(开攄端口为黑客创造了Z)?
路由器的默认配置对安全性的考虑不够Q需要一些高U配|才能达C些防范攻ȝ作用Q安全策略的制定l大多数都是Z命o行的Q其针对安全性的规则的制定相Ҏ较复杂,配置出错的概率较高?br />
防火墙的默认配置既可以防止各U攻击,辑ֈ既用既安全,安全{略的制定是Z全中文的GUI的管理工P其安全策略的制定人性化Q配|简单、出错率低?br />
四、对性能的媄响不?/strong>
路由器是被设计用来{发数据包的,而不是专门设计作为全Ҏ防火墙的,所以用于进行包qoӞ需要进行的q算非常大,对\由器的CPU和内存的需要都非常大,而\由器׃其硬件成本比较高Q其高性能配置时硬件的成本都比较大?br /> 防火墙的g配置非常?采用通用的INTEL芯片Q性能高且成本?Q其软g也ؓ数据包的qoq行了专门的优化Q其主要模块q行在操作系l的内核模式下,设计之时特别考虑了安全问题,其进行数据包qo的性能非常高?br />
׃路由器是单的包过滤,包过滤的规则条数的增加,NAT规则的条数的增加Q对路由器性能的媄响都相应的增加,而防火墙采用的是状态包qoQ规则条敎ͼNAT的规则数Ҏ能的媄响接q于零?br />
五、审计功能的强弱差异巨大
路由器本w没有日志、事件的存储介质Q只能通过采用外部的日志服务器(如syslogQtrap){来完成Ҏ志、事件的存储Q\由器本n没有审计分析工具Q对日志、事件的描述采用的是不太Ҏ理解的语aQ\由器Ҏȝ安全事g的相应不完整Q对于很多的d、扫描等操作不能够生准及时的事g。审计功能的弱化Qɽ理员不能够对安全事件进行及时、准的响应?br />
六、防范攻ȝ能力不同
对于像Ciscoq样的\由器Q其普通版本不h应用层的防范功能Q不h入R实时等功能Q如果需要具有这L功能Q就需要生U升UIOS为防火墙Ҏ集Q此时不单要承担软g的升U费用,同时׃q些功能都需要进行大量的q算Q还需要进行硬仉|的升Q进一步增加了成本Q而且很多厂家的\由器不具有这L高安全功能。可以得?
·h防火墙特性的路由器成?>防火?+ 路由?
·h防火墙特性的路由器功?lt;防火?+ 路由?
·h防火墙特性的路由器可扩展?lt;防火?+ 路由器?br />
lg所qͼ可以得出l论Q用L|络拓扑l构的简单与复杂、用户应用程序的难易E度不是军_是否应该使用防火墙的标准Q决定用h否用防火墙的一个根本条件是用户对网l安全的需?
即用户的网l拓扑结构和应用都非常简单,使用防火墙仍然是必需的和必要的;如果用户的环境、应用比较复杂,那么防火墙将能够带来更多的好处,防火墙将是网l徏设中不可或缺的一部分Q对于通常的网l来_路由器将是保护内部网的第一道关口,而防火墙是W二道关口,也是最Z格的一道关口?/p>
]]>
svchost.exe是nt核心pȝ的非帔R要的q程Q对?000、xp来说Q不可或~。很多病毒、木马也会调用它。所以,深入了解q个E序Q是玩电脑的必修课之一?
IPƺ骗是在服务器不存在M漏洞的情况下Q通过利用TCP/IP协议本n存在的一些缺陯行攻ȝҎQ这U方法具有一定的隑ֺQ需要掌握有兛_议的工作原理和具体的实现Ҏ?br />
一、TCP、IP协议的简单说明:
TCP/IPQ传输入控制地议/|际协议Q是一U网l通信协议Q它规范了网l上的所有通信讑֤Q尤其是一个主Z另一个主Z间的数据传输格式以及传送方式,TCP/IP是因特网的基协议。要惛_黑客有必要了解TCP/IP协议?
在数据传送中Q可以Ş象的理解为有两个信封QTCP和IP信封。要送递的信息被分成若***D,每一D塞入一个TCP信封Qƈ在该信封上记录有分段L信息Q再TCP信封塞入IP大信里Q发送到|上。在扫收端,一个TCP软g包收集信,抽出数据Q按发送关的顺序还原,q加以校验,若发现差错,TCP会要求重发。因此TCP/IP在因特网中几乎可以无差错C送数据。对因特|用h_q不需要了解网l协议的整个l构Q仅需了解IP的地址格式Q即可与世界各地q行|络通信?
1、TCP/IP的层ơ结构:
TCP/IP协议l中的协议因特网上数据的传输Q提供了几乎目前上网所用到的所有服务,在TCP/IP协议l中有两U协议:
Q?Q网l层协议Q?br /> |络层协议管理离散计机间的数据传输。这些协议用h意不刎ͼ它们是个pȝ表层以下工作的。比如,IP协议为用户和q程计算机提供了信息包的传输ҎQ它是在许多信息的基上工作的。比如机器的IP地址。在机器的IP地址和其他信息的基础上,IP保信息包正达到目的机器。通过q一q程QIP和其他网l层的协议一共同用于数据传输。如果没有网l工P用户q不到在系l里工作的机器的IP?br /> Q?Q应用层协议Q?br /> 相反圎ͼ应用层协议是可以看到的。比如,文g传输协议QFTP)是可以看到的。用户ؓ了传一个文件而请求一个和其他计算接,q接建立后,开始传输文Ӟ在传输时Q用户和q程计算机的交换的一部分是能看到的?
2、TCP/IP的重要协议:
Q?Q地址解析协议QARP)Q?br /> 在网l上q行通信的主机必ȝ道对方主机的g地址Q网卡的物理地址Q。地址解析协议的目的就是将IP地址映射成物理地址。这在信息通过|络时特别重要。一个消息(或者其他数据)在发送之前,被打包到IP包里面,或适合于因特网传输信息块中Q其中包括两台计机的IP地址?在这个包d发送计机前,必须扑ֈ目标的硬件地址Q这是ARP最初到辄地方?br /> 一个ARPh消息会在|上q播。请求由一个进E接Ӟ它回复物理地址。这个回复消息由原先的那台发送广播消息的计算机接Ӟ从而传输过E就开始了?br /> ARP的设计包括一个缓存。ؓ了减广播量QARP在缓存中保存地址映射以备后用。ARPU存保存有动态项和静态项。动态项是自动加和删除的Q静态项则是保留在缓?Cache)中,直到计算机重启ؓ止。ARP~存L为本地子|保留硬件广播地址(0xffffffffffffh)用ؓ一个永久项Q此L能够接收ARPq播。当果看存时Q该不会显C。每条ARP~存记录的生命周期ؓ10分种Q如?分种未用则删除。缓存容量满Ӟ删除最早的记录Q但是,~存也引起了安全性的问题。那是~存溢出——这不是本文的讨论内容,所以就不说了?br /> Q?Q因特网控制消息协议QICMPQ:
因特|控制消息协议(ICMP)用于报告错误qIPҎ息进行控制。IPq用互联l管理协?IGMP)来告诉\由器某一|络上指导组中有哪些可用L?
以ICMP实现的最著名的网l工hPing。Ping通常用来判断一台远E机器是否正开着Q数据包从用L计算机发到远E计机Q这些包通常q回到用L计算机,如果数据据包没有q回到用戯机QPingE序׃生一个表CE计机x的错误消息?
二、IPd中如何徏立徏立信dp:
IPƺ骗是利用了L之间的正怿dpL发动的,所以在介绍IPƺ骗d之前Q先说明一下什么是信Q关系Q信dpL如何建立的?br /> 在UNIXL中,存在着一U特D的信Q关系。假设有两台Lhosta和hostbQ上面各有一个帐户TomyQ在使用中会发现Q在hosta上时要输入在hosta上的相应帐户TomyQ在hostb上用时必须输入用hostb的帐户TomyQ主机hosta和hostb把Tomy当做两个互不相关的用Pq显然有些不ѝؓ了减这U不便,可以在主机hosta和hostb中徏立v两个帐户的相互信dpR在hosta和hostb上Tomy的home目录中创?rhosts文g。从Lhosta上,在你的home目录中用命oecho “hostb Tomy?gt;~/.hosts实现hosta&hostb的信dp,q时Q你从主机hostb上,你就能毫无阻的使用M以r开头的q程调用命oQ如Qrlogin、rsh、rcp{,而无需输入口o验证可以直接登录到hosta上。这些命令将充许以地址为基的验证,允许或者拒l以IP地址为基的存取服务。这里的信Q关系是基于IP的地址的?br /> ?etc/hosts.equiv中出C??”或?HOME/.rhosts中出??+”时Q表明Q意地址的主机可以无d令验证而直接用r命o登陆此主机,q是十分危险的,而这偏偏又是某些理员不重视的地斏V下面我们看一下rlogin的用法?br /> rlogin是一个简单的/服务器程序,它的作用和telnet差不多,不同的是telnet完全依赖口o验证Q而rlogin是基于信dpȝ验证Q其ơ到才进行口令验证的Q它使用了TCP协议q行传输。当用户从一C机登陆到另一CZQƈ且,如果目录L信Q它,rlogin允许在不应{口令的性况下用目标主Z的资源,安全验证完便Z源主机的IP地址。因此,Ҏ以上所丄例子Q我们能利用rlogin来从hostbq程登陆到hostaQ而且不会被提C出入口令!
三、IPƺ骗的理论根据:
看到上面的说明,每一个黑客都会想刎ͼ既然hosta和hostb之间的信dpLZIP址而徏立v来的Q那么假如能够冒充hostb的IPQ就可以使用rlogind到hostaQ而不需M口o验证。这是IPƺ骗的最Ҏ的理Z据?/strong>但是Q事情远没有惛_中那么简单!虽然可以通过~程的方法随意改变发出的包的IP地址Q但TCP协议对IPq行了进一步的装Q它是一U相对可靠的协议Q不会让黑客L得逞。下面看一下正常的TCP/IP会话的过E:
׃TCP是面向连接的协议Q所以在双方正式传输数据之前Q需要用“三ơ握手”来建立一个稳重的q接。假设还是hosta和hostb两台Lq行通信Qhostb首先发送带有SYN标志的数据段通知hosta建立TCPq接QTCP的可靠性就是由数据包中的多位控制字来提供的Q其中最重要的是数据序列SYN和数据确认标志ACK。BTCP报头中的SYN设ؓ自己本次q接中的初始|ISNQ?br /> 当hosta收到hostb的SYN包之后,会发送给hostb一个带有SYN+ACK标志的数据段Q告之自qISNQƈ认hostb发送来的第一个数据段Q将ACK讄成hostb的SYN+1?br /> 当hostb认收到hosta的SYN+ACK数据包后Q将ACK讄成hosta的SYN+1。Hosta收到hostb的ACK后,q接成功建立Q双方可以正式伟输数据了?br /> 看了q个q程Q我们就很容易想刎ͼ假如惛_充hostb对hostaq行dQ就要先使用hostb的IP地址发送SYN标志lhostaQ但是当hosta收到后,q不会把SYN+ACK发送到我们的主ZQ而是发送到真正的hostb上去Q这时IPƺ骗失败了Q因为hostbҎ没发送发SYN{。所以如果要冒充hostbQ首先要让hostb失去工作能力Q也是所谓的拒绝服务dQ设法让让hostb瘫痪?br /> 可是q样q是q远不够的,最隄是要对hostaq行dQ必ȝ道hosta使用的ISN?/font>TCP使用的ISN是一?2位的计数器,??,294,967,295。TCP为每一个连接选择一个初始序列号ISNQؓ了防止因为gq、重传等Cؕ三次握手QISN不能随便选取Q不同的pȝ有着不同的算法。理解TCP如何分配ISN以及ISN随时间的变化规律Q对于成功的q行IPƺ骗d是很重要的!ISNU每U增?28 000Q如果有q接出现Q每ơ连接将把计数器的数值增?4,000。很昄Q这使得用于表示ISN?2位计数器在没有连接的情况下每9.32时复位一ơ。这所以这P是因为它有利于最大于度地减少“旧有”连接的信息***扰当前连接的Z。如果初始序例号是随意选择的,那么不能保证现有序例h不同于先前的。假设有q样一U情况,在一个\由回路中的数据包最l蟩出@环,回到了“旧有”的q接Q显然这会对现有q接产生***扰。预出d目标的序例号非常困难Q而且各个pȝ也不惛_Q在BerkeleypȝQ最初的序列号变量由一个常数每U加1产生Q等加到q个常数的一半时Q就开始一ơ连接。这P如果开始啊一个合法连接,q观察到一个ISN正在使用Q便可以q行预测Q而且q样做有很高的可信度。现在我们假N客已l用某U方法,能预出ISN。在q种情况下,他就可以ACK序便号送给hostaQ这时连接就建立了?
四、IPƺ骗dq程解析Q?br />
IPƺ骗p***步骤l成Q下面是它的详细步骤Q?br /> 1、被信M机失d作能力:
Z伪装成被信QL而不露陷Q需要其完全失d作能力。由于攻击者将要代替真正的被信M机,他必ȝ保真正的被信MZ能收CQ何有效的|络数据Q否则将会被揭穿。有许多Ҏ可以辑ֈq个目的Q如SYNz水d、TTN、Land{攻击)。现假设你已l用某U方法得被信Q的主机完全失M工作能力?
2、序例号取样和猜:
前面讲到了,对目标主行攻击,必须知道目标L的数据包序例受通常如何q行预测呢?往往先与被攻M机的一个端口(如:25Q徏立v正常q接。通常Q这个过E被重复Nơ,q将目标L最后所发送的ISN存储h。然后还需要进行估计他的主Z被信MZ间的往q时_q个旉是通过多次l计q_计算出来的。往q连接增?4,000.现在可以估计出ISN的大是128,000乘以往q时间的一半,如果此时目标L刚刚建立q一个连接,那么再加?4 ,00?br /> 一旦估计出ISN的大,开始着手进行攻击,当然你的虚假TCP数据包进入目标主机时Q如果刚才估计的序例h准确的,q入的数据将被放|在目标机的~冲Z。但是在实际dq程中往往没这么幸q,如果估计序例L于正确|那么被攑ּ。而如果估计的序例号大于正|q且在缓冲区的大之内,那么该数据被认ؓ是一个未来的数据QTCP模块等待其他缺的数据。如果估计序例号大于期待的数字且不在~冲Z内,TCP会攑ּ它ƈq回一个期望获得的数据序例受?
你伪装成被信ȝLIPQ此时该L仍然处在瘫痪状态,然后向目标主机的513端口QrloginQ发送连接请求。目标主机立dq接h作出反应Q发更新SYN+ACK认包给被信M机,因ؓ此时被信MZ然处于瘫痪状态,它当然无法收到这个包Q紧接关d者向目标L发送ACK数据包,该包使用前面估计的序例号?。如果攻击者估计正的话,目标L会接收该ACK。连接就正式建立起了Q可以开始数据传输了。这时就可以cat ?+?gt;>~/.rhosts命o发送过去,q样完成本次d后就可以不用口o直接d到目标主Z了。如果达到这一步,一ơ完整的IPƺ骗q完成了,黑客已经在目标机上得C一个Shell权限Q接下来是利用pȝ的溢出或错误配置扩大权限Q当焉客的最l目的还是获得服务器的root权限?br /> 3、ȝ一下IPd的整个步骤:
Q?Q首先被信M机的|络暂时瘫痪Q以免对d造成***扎ͼ
Q?Q然后连接到目标机的某个端口来猜ISN基值和增加规律Q?br /> Q?Q接下来把源址址伪装成被信QLQ发送带有SYN标志的数据段hq接Q?br /> Q?Q然后等待目标机发送SYN+ACK包给已经瘫痪的主机;
Q?Q最后再ơ伪装成被信M机向目标机发送的ACKQ此时发送的数据D带有预的目标机的ISN+1Q?br /> Q?Q连接徏立,发送命令请求?/font>
大家都知道,TCP与UDP不同Q它是基于连接的Q也是_Z在服务端和客L之间传送TCP数据Q必d建立一个虚拟电路,也就是TCPq接Q徏立TCPq接的标准过E是q样的:
首先Q请求端Q客LQ发送一个包含SYN标志的TCP报文QSYN卛_步(SynchronizeQ,同步报文会指明客L使用的端口以及TCPq接的初始序P
W二步,服务器在收到客户端的SYN报文后,返回一个SYN+ACK的报文,表示客户端的h被接受,同时TCP序号被加一QACK即确认(AcknowledgementQ?/p>
W三步,客户端也q回一个确认报文ACKl服务器端,同样TCP序列可加一Q到此一个TCPq接完成?/p>
以上的连接过E在TCP协议中被UCؓ三次握手QThree-way HandshakeQ?/p>
问题出在TCPq接的三ơ握手中Q假设一个用户向服务器发送了SYN报文后突然死机或掉线Q那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(W三ơ握手无法完成)Q这U情况下服务器端一般会重试Q再ơ发送SYN+ACKl客LQƈ{待一D|间后丢弃q个未完成的q接Q这D|间的长度我们UCؓSYN TimeoutQ一般来说这个时间是分钟的数量Q大Uؓ30U?2分钟Q;一个用户出现异常导致服务器的一个线E等?分钟q不是什么很大的问题Q但如果有一个恶意的d者大量模拟这U情况,服务器端ؓ了维护一个非常大的半q接列表而消耗非常多的资?---C万计的半q接Q即使是单的保存q历也会消耗非常多的CPU旉和内存,何况q要不断对这个列表中的IPq行SYN+ACK的重试。实际上如果服务器的TCP/IP栈不够强大,最后的l果往往是堆栈溢出崩?--即服务器端的系l够强大,服务器端也将忙于处理d者伪造的TCPq接h而无暇理睬客L正常hQ毕竟客L的正常请求比率非怹)Q此时从正常客户的角度看来,服务器失d应,q种情况我们UCQ服务器端受CSYN FlooddQSYNz水dQ?/font>
从防御角度来_有几U简单的解决ҎQ?/p>
W一U是~短SYN Timeout旉Q由于SYN Floodd的效果取决于服务器上保持的SYN半连接数Q这个?SYNd的频?x SYN TimeoutQ所以通过~短从接收到SYN报文到确定这个报文无效ƈ丢弃改连接的旉Q例如设|ؓ20U以下(q低的SYN Timeout讄可能会媄响客L正常讉KQ,可以成倍的降低服务器的负荷?/p>
W二U方法是讄SYN CookieQ就是给每一个请求连接的IP地址分配一个CookieQ如果短旉内连l受到某个IP的重复SYN报文Q就认定是受CdQ以后从q个IP地址来的包会被丢弃?/p>
可是上述的两U方法只能对付比较原始的SYN FlooddQ羃短SYN Timeout旉仅在Ҏd频度不高的情况下生效QSYN Cookie更依赖于Ҏ使用真实的IP地址Q如果攻击者以C/U的速度发送SYN报文Q同时利用SOCK_RAW随机改写IP报文中的源地址Q以上的Ҏ毫无用武之地?br />
d的过E是q样的:Woodlly Attacker向一个具有大量主机和因特|连接的|络的广播地址发送一个欺骗性Ping分组Qecho hQ,q个目标|络被称为反弹站点,而欺骗性Ping分组的源地址是Woolly希望d的系l?/p>
q种d的前提是Q\由器接收到这个发送给IPq播地址Q如206.121.73.255Q的分组后,会认是q播分组Qƈ且把以太|广播地址FF:FF:FF:FF:FF:FF:映射q来。这栯\由器人因特网上接收到该分l,会对本地|段中的所有主行广播?/p>
读者肯定能够想C面会发生什么情c网D中的所有主机都会向ƺ骗性分l的IP地址发送echo响应信息。如果这是一个很大的以太|段Q可以会?00个以上的LҎ到的echohq行回复?/p>
׃多数pȝ都会快地处理ICMP传输信息QWoodlly Attacker把分l的源地址讄为目标系l,因些目标pȝ都很快就会被大量的echo信息吞没Q这栯而易丑֜p够阻止该pȝ处理其它M|络传输Q从而引hlؓ正常pȝ服务?/p>
q种d不仅影响目标pȝQ还影响目标公司的因特网q接。如果反弹站点具有T3q接Q?5MbpsQ,而目标系l所在的公司使用的是U用U\Q?6KbpsQ,则所有进公司的通讯都会停止下来?/p>
那么如何防止q种cd的攻击?用户可以分别在源站点、反弹站点和目标站点三个斚w采取步骤Q以限制Smurfd的媄响。[page] 解决办法Q?/font>
dSmurfd的源?/strong>
Smurfd依靠d者的力量使用ƺ骗性源地址发送echoh。用户可以用\p\的访问保证内部网l中发出的所有传输信息都h合法的源地址Q以防止q种d。这样可以ɋƺ骗性分l无法找到反弹站炏V?/p>
dSmurf的反弹站?/strong>
用户可以有两U选择以阻塞Smurfd的反弹站炏V第一U方法可以简单地d所有入站echohQ这们可以防止这些分l到达自q|络?/p>
如果不能d所有入站echohQ用户就需要罅自己的\由器把网l广播地址映射成ؓLANq播地址。制止了q个映射q程Q自qpȝ׃会再收到q些echoh?/p>
如果使用Cisco路由路,制止|络q播映射成ؓLANq播的方法是在LAN接口的配|模式中输入命oQ?br />no ip directed-broadcast
注意Q必d所有\由器的所有LAN接口都用该命o。只在某些外围\由器上用上q命令不会v作用?/p>
防止Smurfd目标站点
除非用户的ISP愿意提供帮助Q否则用戯己很N止Smurf对自qWAN接连U\造成的媄响。虽然用户可以在自己的网l设备中dq种传输Q但对于防止Smurf吞噬所有的WAN带宽已经太晚了?/p>
但至用户可以把Smurf的媄响限制在外围讑֤上。通过使用动态分l过滤技术,或者用防火墙Q用户可以阻止这些分l进入自q|络。防火墙的状态表很清楚这些攻M话不是本地网l中发出的(状态表记录中没有最初的echoh记录Q,因些它会象对待其它欺骗性攻击行为那hq样信息丢弃?
数字旉戻Idigital time-stampQ?
在各U政务和商务文g中,旉是十分重要的信息。在书面合同中,文g{v的日期和{一样均是十分重要的防止文g被伪造和改的关键性内宏V?
在电子文件中Q同样需Ҏ件的日期和时间信息采取安全措施,而数字时间戳服务QDTSQdigital time-stamp serviceQ就能提供电子文件发表时间的安全保护?
数字旉x务(DTSQ是|上安全服务目Q由专门的机构提供。时间戳(time-stamp)是一个经加密后Ş成的凭证文档Q它包括三个部分Q?br />?/b> 需加时间戳的文件的摘要 (digest)Q?br />?/b> DTS收到文g的日期和旉Q?br />?/b> DTS的数字签名?
旉戳生的q程为:用户首先需要加旉戳的文g用HASH~码加密形成摘要Q然后将该摘要发送到DTSQDTS在加入了收到文g摘要的日期和旉信息后再对该文g加密Q数字签名)Q然后送回用户?/font>?Bellcore 创造的DTS采用如下的过E:加密时将摘要信息归ƈC叉树的数据结构;再将二叉树的根值发表在报纸上,q样更有效地为文件发表时间提供了佐证。注意,书面{v文g的时间是q|h自己写上的,而数字时间戳则不Ӟ它是p证单位DTS来加的,以DTS收到文g的时间ؓ依据。因此,旉戳也可作为科学家的科学发明文献的旉认证?
旉认证中心 (TCA Time Certification Authority)
在电子交易中Q无论是数字旉x务(DTSQ还是数字证?(Digital ID)的发放,?br />不是靠交易的双方自己能完成的Q而需要有一个具有权威性和公正性的W三Ҏ完成。认证中?CA)是承担|上安全电子交易认证服务、能{֏数字证书、ƈ能确认用戯n份的服务机构。认证中心通常是企业性的服务机构Q主要Q务是受理数字证书的申诗签发及Ҏ字证书的理。认证中心依据认证操作规?(CPSQCertification Practice Statement)来实施服务操作?/p>
我国数字旉认证中心
国家授时中心QNTSCQ作为我国标准时间生、保持和传递的中心Q具有数字时间认证的技术条件和权威性。国家授时中心正在积极徏立我国的数字旉认证中心Q以满日益发展的电子政务和电子商务的迫切需求。预计该中心在2001q徏成ƈ投入使用?br />