简述针对物理层的网络攻击及防御 网络0902班级很强大啊

简述针对物理层的网络攻击及防御 网络0902班级很强大啊,第1张

温州职业技术学院

2011/ 2012学年第一学期《网络攻防》试卷(A)卷

适用班级 网络0901/0902_(开)卷 总页数共_3_页

班级_网络0902_ 姓名___ 学号__ 成绩_____

一. 简述针对物理层的网络攻击及防御?(10分)

攻击:网络物理层最重要的攻击主要有直接攻击和间接攻击,直接攻击时指:直接对硬件进行攻击,间接攻击是指对间接的攻击物理介质,如复制或sinffer,把信息原样的传播开来

防御:物理层信息安全主要包括防止物理通路的损坏、通过物理通路窃听、对物理通路的攻击(干扰)等;

二.简述针对 *** 作系统层的网络攻击及防御?(20分)

网络攻击的步骤一般可分为以下几步:

1. 收集目标的信息

2. 寻求目标计算机的漏洞和选择合适的入侵方法

3. 留下“后门”

4. 清除入侵记录

攻击:黑客、病毒、木马、系统漏洞

防御:打开防火墙,杀毒软件等,关闭远程登入、漏洞的修补,不明网站不打开。

三.简述针对网络层的网络攻击及防御?(20分)

攻击:网络层攻击的类型可以分:首部滥用、利用网络栈漏洞带宽饱和

IP地址欺骗、Nmap ICMP Ping扫描,Smurf攻击、Ddos攻击网络层过滤回应,伪造,篡改等

防御:网络层的安全需要保证网络只给授权的客户提供授权的服务,保证网络路由正确,避免被拦截或监听,设置防火墙;

四.简述针对应用层的网络攻击及防御?(20分)

攻击:在对应用层的攻击中,大部分时通过HTTP协议(80端口)进行。恶意脚本 还有Cookie投毒 隐藏域修改 缓存溢出 参数篡改 强制浏览 已知漏洞攻击

Ddos攻击

SQL注入

CSS攻击

防御:对应用层的防范通常比内网防范难度要更大,因为这些应用要允许外部的访问。防火墙的访问控制策略中必须开放应用服务对应的端口,如web的80端口。这样,黑客通过这些端口发起攻击时防火墙无法进行识别控制。入侵检测和入侵防御系统并不是针对应用协议进行设计,所以同样无法检测对相应协议漏洞的攻击。而应用入侵防护系统则能够弥补防火墙和入侵检测系统的不足,对特定应用进行有效保护。

五、论述如何构建一个如图所示的企业安全内联网Intranet安全防御体系?(30分)

注意:安全防御体系包括总公司网络和分公司网络互联,远程拔号接入等

核心层采用快速以太网或以上类型组建全动态交换式网络。汇聚层采用100M或以上进行链接,接入层采用交换式10M进行链接。

以TCP/IP协议作为基础,以WEB为核心应用,构成统一和便利的信息交换平台在内网服务器上安装杀毒、防火墙软件辅以一定的访问控制策略并及时更新补丁等多项安全措施相结合的综合安全防护体系。

设定有限的网络管理即制定一套对计算机网络进行规划、设计、 *** 作运行、管理、监控、分析等手段,充分应用资源提供可靠地服务。

对边缘交换机进行地址转换。采用3A认证、***通道加密、LAN技术隔离、备份线路、数据备份、带有网管系统,有个标准的通信协议,有防火墙,在非军事化区

放置对外的服务器。

1、首先在[开始]按钮右击点击其中的运行或者“win+R”打开运行框

2、接着,在运行框里面输入“cmd”然后点击确定

3、在“命令提示符”中,输入“arp -a",回车。并选择你想要攻击的ip"arp-a"这一步是看当前局域网里面的设备连接状态

4、输入”ping -l 65500 1921681103 -t“并回车;-l是发送缓冲区大小,65500是它的极限;-t 就是一直无限下去,直到停止假设我要攻击ip为1921681103的服务器,这就是ddos攻击

5、如果要停止攻击,就要按键盘上”Ctrl+C“来结束

DDOS名词解释,分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。

一流的攻击速度以及强大的隐蔽性能,使得DDOS集合了市面上所有攻击软件优点成为了最热的攻击方式。接下来本文将简单的介绍一下三种最为流行的DDOS攻击方式

下载:http://downloadcsdnnet/source/274376

常见网络攻击原理

11 TCP SYN拒绝服务攻击

一般情况下,一个TCP连接的建立需要经过三次握手的过程,即:

1、 建立发起者向目标计算机发送一个TCP SYN报文

2、 目标计算机收到这个SYN报文后,在内存中创建TCP连接控制块(TCB),然后向发起者回送一个TCP ACK报文,等待发起者的回应;

3、 发起者收到TCP ACK报文后,再回应一个ACK报文,这样TCP连接就建立起来了。

利用这个过程,一些恶意的攻击者可以进行所谓的TCP SYN拒绝服务攻击:

1、 攻击者向目标计算机发送一个TCP SYN报文;

2、 目标计算机收到这个报文后,建立TCP连接控制结构(TCB),并回应一个ACK,等待发起者的回应;

3、 而发起者则不向目标计算机回应ACK报文,这样导致目标计算机一致处于等待状态。

可以看出,目标计算机如果接收到大量的TCP SYN报文,而没有收到发起者的第三次ACK回应,会一直等待,处于这样尴尬状态的半连接如果很多,则会把目标计算机的资源(TCB控制结构,TCB,一般情况下是有限的)耗尽,而不能响应正常的TCP连接请求。

12 ICMP洪水

正常情况下,为了对网络进行诊断,一些诊断程序,比如PING等,会发出ICMP响应请求报文(ICMP ECHO),接收计算机接收到ICMP ECHO后,会回应一个ICMP ECHO Reply报文。而这个过程是需要CPU处理的,有的情况下还可能消耗掉大量的资源,比如处理分片的时候。这样如果攻击者向目标计算机发送大量的ICMP ECHO报文(产生ICMP洪水),则目标计算机会忙于处理这些ECHO报文,而无法继续处理其它的网络数据报文,这也是一种拒绝服务攻击(DOS)。

13 UDP洪水

原理与ICMP洪水类似,攻击者通过发送大量的UDP报文给目标计算机,导致目标计算机忙于处理这些UDP报文而无法继续处理正常的报文。

14 端口扫描

根据TCP协议规范,当一台计算机收到一个TCP连接建立请求报文(TCP SYN)的时候,做这样的处理:

1、 如果请求的TCP端口是开放的,则回应一个TCP ACK报文,并建立TCP连接控制结构(TCB);

2、 如果请求的TCP端口没有开放,则回应一个TCP RST(TCP头部中的RST标志设为1)报文,告诉发起计算机,该端口没有开放。

相应地,如果IP协议栈收到一个UDP报文,做如下处理:

1、 如果该报文的目标端口开放,则把该UDP报文送上层协议(UDP)处理,不回应任何报文(上层协议根据处理结果而回应的报文例外);

2、 如果该报文的目标端口没有开放,则向发起者回应一个ICMP不可达报文,告诉发起者计算机该UDP报文的端口不可达。

利用这个原理,攻击者计算机便可以通过发送合适的报文,判断目标计算机哪些TCP或UDP端口是开放的,过程如下:

1、 发出端口号从0开始依次递增的TCP SYN或UDP报文(端口号是一个16比特的数字,这样最大为65535,数量很有限);

2、 如果收到了针对这个TCP报文的RST报文,或针对这个UDP报文的ICMP不可达报文,则说明这个端口没有开放;

3、 相反,如果收到了针对这个TCP SYN报文的ACK报文,或者没有接收到任何针对该UDP报文的ICMP报文,则说明该TCP端口是开放的,UDP端口可能开放(因为有的实现中可能不回应ICMP不可达报文,即使该UDP端口没有开放)。

这样继续下去,便可以很容易的判断出目标计算机开放了哪些TCP或UDP端口,然后针对端口的具体数字,进行下一步攻击,这就是所谓的端口扫描攻击。

15 分片IP报文攻击

为了传送一个大的IP报文,IP协议栈需要根据链路接口的MTU对该IP报文进行分片,通过填充适当的IP头中的分片指示字段,接收计算机可以很容易的把这些IP分片报文组装起来。

目标计算机在处理这些分片报文的时候,会把先到的分片报文缓存起来,然后一直等待后续的分片报文,这个过程会消耗掉一部分内存,以及一些IP协议栈的数据结构。如果攻击者给目标计算机只发送一片分片报文,而不发送所有的分片报文,这样攻击者计算机便会一直等待(直到一个内部计时器到时),如果攻击者发送了大量的分片报文,就会消耗掉目标计算机的资源,而导致不能相应正常的IP报文,这也是一种DOS攻击。

16 SYN比特和FIN比特同时设置

在TCP报文的报头中,有几个标志字段:

1、 SYN:连接建立标志,TCP SYN报文就是把这个标志设置为1,来请求建立连接;

2、 ACK:回应标志,在一个TCP连接中,除了第一个报文(TCP SYN)外,所有报文都设置该字段,作为对上一个报文的相应;

3、 FIN:结束标志,当一台计算机接收到一个设置了FIN标志的TCP报文后,会拆除这个TCP连接;

4、 RST:复位标志,当IP协议栈接收到一个目标端口不存在的TCP报文的时候,会回应一个RST标志设置的报文;

5、 PSH:通知协议栈尽快把TCP数据提交给上层程序处理。

正常情况下,SYN标志(连接请求标志)和FIN标志(连接拆除标志)是不能同时出现在一个TCP报文中的。而且RFC也没有规定IP协议栈如何处理这样的畸形报文,因此,各个 *** 作系统的协议栈在收到这样的报文后的处理方式也不同,攻击者就可以利用这个特征,通过发送SYN和FIN同时设置的报文,来判断 *** 作系统的类型,然后针对该 *** 作系统,进行进一步的攻击。

17 没有设置任何标志的TCP报文攻击

正常情况下,任何TCP报文都会设置SYN,FIN,ACK,RST,PSH五个标志中的至少一个标志,第一个TCP报文(TCP连接请求报文)设置SYN标志,后续报文都设置ACK标志。有的协议栈基于这样的假设,没有针对不设置任何标志的TCP报文的处理过程,因此,这样的协议栈如果收到了这样的报文,可能会崩溃。攻击者利用了这个特点,对目标计算机进行攻击。

18 设置了FIN标志却没有设置ACK标志的TCP报文攻击

正常情况下,ACK标志在除了第一个报文(SYN报文)外,所有的报文都设置,包括TCP连接拆除报文(FIN标志设置的报文)。但有的攻击者却可能向目标计算机发送设置了FIN标志却没有设置ACK标志的TCP报文,这样可能导致目标计算机崩溃。

19 死亡之PING

TCP/IP规范要求IP报文的长度在一定范围内(比如,0-64K),但有的攻击计算机可能向目标计算机发出大于64K长度的PING报文,导致目标计算机IP协议栈崩溃。

110 地址猜测攻击

跟端口扫描攻击类似,攻击者通过发送目标地址变化的大量的ICMP ECHO报文,来判断目标计算机是否存在。如果收到了对应的ECMP ECHO REPLY报文,则说明目标计算机是存在的,便可以针对该计算机进行下一步的攻击。

111 泪滴攻击

对于一些大的IP包,需要对其进行分片传送,这是为了迎合链路层的MTU(最大传输单元)的要求。比如,一个4500字节的IP包,在MTU为1500的链路上传输的时候,就需要分成三个IP包。

在IP报头中有一个偏移字段和一个分片标志(MF),如果MF标志设置为1,则表面这个IP包是一个大IP包的片断,其中偏移字段指出了这个片断在整个IP包中的位置。例如,对一个4500字节的IP包进行分片(MTU为1500),则三个片断中偏移字段的值依次为:0,1500,3000。这样接收端就可以根据这些信息成功的组装该IP包。

如果一个攻击者打破这种正常情况,把偏移字段设置成不正确的值,即可能出现重合或断开的情况,就可能导致目标 *** 作系统崩溃。比如,把上述偏移设置为0,1300,3000。这就是所谓的泪滴攻击。

112 带源路由选项的IP报文

为了实现一些附加功能,IP协议规范在IP报头中增加了选项字段,这个字段可以有选择的携带一些数据,以指明中间设备(路由器)或最终目标计算机对这些IP报文进行额外的处理。

源路由选项便是其中一个,从名字中就可以看出,源路由选项的目的,是指导中间设备(路由器)如何转发该数据报文的,即明确指明了报文的传输路径。比如,让一个IP报文明确的经过三台路由器R1,R2,R3,则可以在源路由选项中明确指明这三个路由器的接口地址,这样不论三台路由器上的路由表如何,这个IP报文就会依次经过R1,R2,R3。而且这些带源路由选项的IP报文在传输的过程中,其源地址不断改变,目标地址也不断改变,因此,通过合适的设置源路由选项,攻击者便可以伪造一些合法的IP地址,而蒙混进入网络。

113 带记录路由选项的IP报文

记录路由选项也是一个IP选项,携带了该选项的IP报文,每经过一台路由器,该路由器便把自己的接口地址填在选项字段里面。这样这些报文在到达目的地的时候,选项数据里面便记录了该报文经过的整个路径。

通过这样的报文可以很容易的判断该报文经过的路径,从而使攻击者可以很容易的寻找其中的攻击弱点。

114 未知协议字段的IP报文

在IP报文头中,有一个协议字段,这个字段指明了该IP报文承载了何种协议 ,比如,如果该字段值为1,则表明该IP报文承载了ICMP报文,如果为6,则是TCP,等等。目前情况下,已经分配的该字段的值都是小于100的,因此,一个带大于100的协议字段的IP报文,可能就是不合法的,这样的报文可能对一些计算机 *** 作系统的协议栈进行破坏。

115 IP地址欺骗

一般情况下,路由器在转发报文的时候,只根据报文的目的地址查路由表,而不管报文的源地址是什么,因此,这样就 可能面临一种危险:如果一个攻击者向一台目标计算机发出一个报文,而把报文的源地址填写为第三方的一个IP地址,这样这个报文在到达目标计算机后,目标计算机便可能向毫无知觉的第三方计算机回应。这便是所谓的IP地址欺骗攻击。

比较著名的SQL Server蠕虫病毒,就是采用了这种原理。该病毒(可以理解为一个攻击者)向一台运行SQL Server解析服务的服务器发送一个解析服务的UDP报文,该报文的源地址填写为另外一台运行SQL Server解析程序(SQL Server 2000以后版本)的服务器,这样由于SQL Server 解析服务的一个漏洞,就可能使得该UDP报文在这两台服务器之间往复,最终导致服务器或网络瘫痪。

116 WinNuke攻击

NetBIOS作为一种基本的网络资源访问接口,广泛的应用于文件共享,打印共享,进程间通信(IPC),以及不同 *** 作系统之间的数据交换。一般情况下,NetBIOS是运行在LLC2链路协议之上的,是一种基于组播的网络访问接口。为了在TCP/IP协议栈上实现NetBIOS,RFC规定了一系列交互标准,以及几个常用的TCP/UDP端口:

139:NetBIOS会话服务的TCP端口;

137:NetBIOS名字服务的UDP端口;

136:NetBIOS数据报服务的UDP端口。

WINDOWS *** 作系统的早期版本(WIN95/98/NT)的网络服务(文件共享等)都是建立在NetBIOS之上的,因此,这些 *** 作系统都开放了139端口(最新版本的WINDOWS 2000/XP/2003等,为了兼容,也实现了NetBIOS over TCP/IP功能,开放了139端口)。

WinNuke攻击就是利用了WINDOWS *** 作系统的一个漏洞,向这个139端口发送一些携带TCP带外(OOB)数据报文,但这些攻击报文与正常携带OOB数据报文不同的是,其指针字段与数据的实际位置不符,即存在重合,这样WINDOWS *** 作系统在处理这些数据的时候,就会崩溃。

117 Land攻击

LAND攻击利用了TCP连接建立的三次握手过程,通过向一个目标计算机发送一个TCP SYN报文(连接建立请求报文)而完成对目标计算机的攻击。与正常的TCP SYN报文不同的是,LAND攻击报文的源IP地址和目的IP地址是相同的,都是目标计算机的IP地址。这样目标计算机接收到这个SYN报文后,就会向该报文的源地址发送一个ACK报文,并建立一个TCP连接控制结构(TCB),而该报文的源地址就是自己,因此,这个ACK报文就发给了自己。这样如果攻击者发送了足够多的SYN报文,则目标计算机的TCB可能会耗尽,最终不能正常服务。这也是一种DOS攻击。

118 Script/ActiveX攻击

Script是一种可执行的脚本,它一般由一些脚本语言写成,比如常见的JAVA SCRIPT,VB SCRIPT等。这些脚本在执行的时候,需要一个专门的解释器来翻译,翻译成计算机指令后,在本地计算机上运行。这种脚本的好处是,可以通过少量的程序写作,而完成大量的功能。

这种SCRIPT的一个重要应用就是嵌入在WEB页面里面,执行一些静态WEB页面标记语言(HTML)无法完成的功能,比如本地计算,数据库查询和修改,以及系统信息的提取等。这些脚本在带来方便和强大功能的同时,也为攻击者提供了方便的攻击途径。如果攻击者写一些对系统有破坏的SCRIPT,然后嵌入在WEB页面中,一旦这些页面被下载到本地,计算机便以当前用户的权限执行这些脚本,这样,当前用户所具有的任何权限,SCRIPT都可以使用,可以想象这些恶意的SCRIPT的破坏程度有多强。这就是所谓的SCRIPT攻击。

ActiveX是一种控件对象,它是建立在MICROSOFT的组件对象模型(COM)之上的,而COM则几乎是Windows *** 作系统的基础结构。可以简单的理解,这些控件对象是由方法和属性构成的,方法即一些 *** 作,而属性则是一些特定的数据。这种控件对象可以被应用程序加载,然后访问其中的方法或属性,以完成一些特定的功能。可以说,COM提供了一种二进制的兼容模型(所谓二进制兼容,指的是程序模块与调用的编译环境,甚至 *** 作系统没有关系)。但需要注意的是,这种对象控件不能自己执行,因为它没有自己的进程空间,而只能由其它进程加载,并调用其中的方法和属性,这时候,这些控件便在加载进程的进程空间运行,类似与 *** 作系统的可加载模块,比如DLL库。

ActiveX控件可以嵌入在WEB页面里面,当浏览器下载这些页面到本地后,相应地也下载了嵌入在其中的ActiveX控件,这样这些控件便可以在本地浏览器进程空间中运行(ActiveX空间没有自己的进程空间,只能由其它进程加载并调用),因此,当前用户的权限有多大,ActiveX的破坏性便有多大。如果一个恶意的攻击者编写一个含有恶意代码的ActiveX控件,然后嵌入在WEB页面中,被一个浏览用户下载后执行,其破坏作用是非常大的。这便是所谓的ActiveX攻击。

119 Smurf攻击

ICMP ECHO请求包用来对网络进行诊断,当一台计算机接收到这样一个报文后,会向报文的源地址回应一个ICMP ECHO REPLY。一般情况下,计算机是不检查该ECHO请求的源地址的,因此,如果一个恶意的攻击者把ECHO的源地址设置为一个广播地址,这样计算机在恢复REPLY的时候,就会以广播地址为目的地址,这样本地网络上所有的计算机都必须处理这些广播报文。如果攻击者发送的ECHO 请求报文足够多,产生的REPLY广播报文就可能把整个网络淹没。这就是所谓的smurf攻击。

除了把ECHO报文的源地址设置为广播地址外,攻击者还可能把源地址设置为一个子网广播地址,这样,该子网所在的计算机就可能受影响。

120 虚拟终端(VTY)耗尽攻击

这是一种针对网络设备的攻击,比如路由器,交换机等。这些网络设备为了便于远程管理,一般设置了一些TELNET用户界面,即用户可以通过TELNET到该设备上,对这些设备进行管理。

一般情况下,这些设备的TELNET用户界面个数是有限制的,比如,5个或10个等。这样,如果一个攻击者同时同一台网络设备建立了5个或10个TELNET连接,这些设备的远程管理界面便被占尽,这样合法用户如果再对这些设备进行远程管理,则会因为TELNET连接资源被占用而失败。

121 路由协议攻击

网络设备之间为了交换路由信息,常常运行一些动态的路由协议,这些路由协议可以完成诸如路由表的建立,路由信息的分发等功能。常见的路由协议有RIP,OSPF,IS-IS,BGP等。这些路由协议在方便路由信息管理和传递的同时,也存在一些缺陷,如果攻击者利用了路由协议的这些权限,对网络进行攻击,可能造成网络设备路由表紊乱(这足可以导致网络中断),网络设备资源大量消耗,甚至导致网络设备瘫痪。

下面列举一些常见路由协议的攻击方式及原理:

1211 针对RIP协议的攻击

RIP,即路由信息协议,是通过周期性(一般情况下为30S)的路由更新报文来维护路由表的,一台运行RIP路由协议的路由器,如果从一个接口上接收到了一个路由更新报文,它就会分析其中包含的路由信息,并与自己的路由表作出比较,如果该路由器认为这些路由信息比自己所掌握的要有效,它便把这些路由信息引入自己的路由表中。

这样如果一个攻击者向一台运行RIP协议的路由器发送了人为构造的带破坏性的路由更新报文,就很容易的把路由器的路由表搞紊乱,从而导致网络中断。

如果运行RIP路由协议的路由器启用了路由更新信息的HMAC验证,则可从很大程度上避免这种攻击。

1212 针对OSPF路由协议的攻击

OSPF,即开放最短路径优先,是一种应用广泛的链路状态路由协议。该路由协议基于链路状态算法,具有收敛速度快,平稳,杜绝环路等优点,十分适合大型的计算机网络使用。OSPF路由协议通过建立邻接关系,来交换路由器的本地链路信息,然后形成一个整网的链路状态数据库,针对该数据库,路由器就可以很容易的计算出路由表。

可以看出,如果一个攻击者冒充一台合法路由器与网络中的一台路由器建立邻接关系,并向攻击路由器输入大量的链路状态广播(LSA,组成链路状态数据库的数据单元),就会引导路由器形成错误的网络拓扑结构,从而导致整个网络的路由表紊乱,导致整个网络瘫痪。

当前版本的WINDOWS *** 作系统(WIN 2K/XP等)都实现了OSPF路由协议功能,因此一个攻击者可以很容易的利用这些 *** 作系统自带的路由功能模块进行攻击。

跟RIP类似,如果OSPF启用了报文验证功能(HMAC验证),则可以从很大程度上避免这种攻击。

1213 针对IS-IS路由协议的攻击

IS-IS路由协议,即中间系统到中间系统,是ISO提出来对ISO的CLNS网络服务进行路由的一种协议,这种协议也是基于链路状态的,原理与OSPF类似。IS-IS路由协议经过 扩展,可以运行在IP网络中,对IP报文进行选路。这种路由协议也是通过建立邻居关系,收集路由器本地链路状态的手段来完成链路状态数据库同步的。该协议的邻居关系建立比OSPF简单,而且也省略了OSPF特有的一些特性,使该协议简单明了,伸缩性更强。

对该协议的攻击与OSPF类似,通过一种模拟软件与运行该协议的路由器建立邻居关系,然后传颂给攻击路由器大量的链路状态数据单元(LSP),可以导致整个网络路由器的链路状态数据库不一致(因为整个网络中所有路由器的链路状态数据库都需要同步到相同的状态),从而导致路由表与实际情况不符,致使网络中断。

与OSPF类似,如果运行该路由协议的路由器启用了IS-IS协议单元(PDU)HMAC验证功能,则可以从很大程度上避免这种攻击。

122 针对设备转发表的攻击

为了合理有限的转发数据,网络设备上一般都建立一些寄存器表项,比如MAC地址表,ARP表,路由表,快速转发表,以及一些基于更多报文头字段的表格,比如多层交换表,流项目表等。这些表结构都存储在设备本地的内存中,或者芯片的片上内存中,数量有限。如果一个攻击者通过发送合适的数据报,促使设备建立大量的此类表格,就会使设备的存储结构消耗尽,从而不能正常的转发数据或崩溃。

下面针对几种常见的表项,介绍其攻击原理:

1221 针对MAC地址表的攻击

MAC地址表一般存在于以太网交换机上,以太网通过分析接收到的数据帧的目的MAC地址,来查本地的MAC地址表,然后作出合适的转发决定。

这些MAC地址表一般是通过学习获取的,交换机在接收到一个数据帧后,有一个学习的过程,该过程是这样的:

a) 提取数据帧的源MAC地址和接收到该数据帧的端口号;

查MAC地址表,看该MAC地址是否存在,以及对应的端口是否符合;

c) 如果该MAC地址在本地MAC地址表中不存在,则创建一个MAC地址表项;

d) 如果存在,但对应的出端口跟接收到该数据帧的端口不符,则更新该表;

e) 如果存在,且端口符合,则进行下一步处理。

分析这个过程可以看出,如果一个攻击者向一台交换机发送大量源MAC地址不同的数据帧,则该交换机就可能把自己本地的MAC地址表学满。一旦MAC地址表溢出,则交换机就不能继续学习正确的MAC表项,结果是可能产生大量的网络冗余数据,甚至可能使交换机崩溃。

而构造一些源MAC地址不同的数据帧,是非常容易的事情。

1222 针对ARP表的攻击

ARP表是IP地址和MAC地址的映射关系表,任何实现了IP协议栈的设备,一般情况下都通过该表维护IP地址和MAC地址的对应关系,这是为了避免ARP解析而造成的广播数据报文对网络造成冲击。ARP表的建立一般情况下是通过二个途径:

1、 主动解析,如果一台计算机想与另外一台不知道MAC地址的计算机通信,则该计算机主动发ARP请求,通过ARP协议建立(前提是这两台计算机位于同一个IP子网上);

2、 被动请求,如果一台计算机接收到了一台计算机的ARP请求,则首先在本地建立请求计算机的IP地址和MAC地址的对应表。

因此,如果一个攻击者通过变换不同的IP地址和MAC地址,向同一台设备,比如三层交换机发送大量的ARP请求,则被攻击设备可能会因为ARP缓存溢出而崩溃。

针对ARP表项,还有一个可能的攻击就是误导计算机建立正确的ARP表。根据ARP协议,如果一台计算机接收到了一个ARP请求报文,在满足下列两个条件的情况下,该计算机会用ARP请求报文中的源IP地址和源MAC地址更新自己的ARP缓存:

1、 如果发起该ARP请求的IP地址在自己本地的ARP缓存中;

2、 请求的目标IP地址不是自己的。

可以举一个例子说明这个过程,假设有三台计算机A,B,C,其中B已经正确建立了A和C计算机的ARP表项。假设A是攻击者,此时,A发出一个ARP请求报文,该请求报文这样构造:

1、 源IP地址是C的IP地址,源MAC地址是A的MAC地址;

2、 请求的目标IP地址是A的IP地址。

这样计算机B在收到这个ARP请求报文后(ARP请求是广播报文,网络上所有设备都能收到),发现B的ARP表项已经在自己的缓存中,但MAC地址与收到的请求的源MAC地址不符,于是根据ARP协议,使用ARP请求的源MAC地址(即A的MAC地址)更新自己的ARP表。

这样B的ARP混存中就存在这样的错误ARP表项:C的IP地址跟A的MAC地址对应。这样的结果是,B发给C的数据都被计算机A接收到。

1223 针对流项目表的攻击

有的网络设备为了加快转发效率,建立了所谓的流缓存。所谓流,可以理解为一台计算机的一个进程到另外一台计算机的一个进程之间的数据流。如果表现在TCP/IP协议上,则是由(源IP地址,目的IP地址,协议号,源端口号,目的端口号)五元组共同确定的所有数据报文。

一个流缓存表一般由该五元组为索引,每当设备接收到一个IP报文后,会首先分析IP报头,把对应的五元组数据提取出来,进行一个HASH运算,然后根据运算结果查询流缓存,如果查找成功,则根据查找的结果进行处理,如果查找失败,则新建一个流缓存项,查路由表,根据路由表查询结果填完整这个流缓存,然后对数据报文进行转发(具体转发是在流项目创建前还是创建后并不重要)。

可以看出,如果一个攻击者发出大量的源IP地址或者目的IP地址变化的数据报文,就可能导致设备创建大量的流项目,因为不同的源IP地址和不同的目标IP地址对应不同的流。这样可能导致流缓存溢出

方法一:现成的开放网络

过程:黑客扫瞄所有开放型无线存取点(Access Point),其中,部分网络的确是专供大众使用,但多数则是因为使用者没有做好设定。

企图:免费上网、透过你的网络攻击第三方、探索其它人的网络。

方法二:侦测入侵无线存取设备

过程:黑客先在某一企图网络或公共地点设置一个伪装的无线存取设备,好让受害者误以为该处有无线网络可使用。若黑客的伪装设备讯号强过真正无线存取设备的讯号,受害者计算机便会选择讯号较强的伪装设备连上网络。此时,黑客便可等着收取受害者键入的密码,或将病毒码输入受害者计算机中。

企图:不肖侦测入侵、**密码或身份,取得网络权限。

方法三:WEP加密攻击

过程:黑客侦测WEP安全协议漏洞,破解无线存取设备与客户之间的通讯。若黑客只是采监视方式的被动式攻击,可能得花上好几天的时间才能破解,但有些主动式的攻击手法只需数小时便可破解。

企图:非法侦测入侵、**密码或身份,取得网络权限。

方法四:偷天换日攻击

过程:跟第二种方式类似,黑客架设一个伪装的无线存取设备,以及与企图网络相同的及虚拟私人网络(***)服务器(如SSH)。若受害者要连接服务器时,冒牌服务器会送出响应讯息,使得受害者连上冒牌的服务器。

企图:非法侦测入侵、**密码或身份,取得网络权限。

感染该蠕虫病毒后网络带宽被大量占用,导致网络瘫痪,该蠕虫是利用SQL SERVER 2000的解析端口1434的缓冲区溢出漏洞,对其网络进行攻击。

网络常见攻击及防范手册(上)

(上) 一、前言 在网络这个不断更新换代的世界里,网络中的安全漏洞无处不在。即便旧的安全漏洞补上了,新的安全漏洞又将不断涌现。网络攻击正是利用这些存在的漏 洞和安全缺陷对系统和资源进行攻击。 也许有人会对网络安全抱着无所谓的态度,认为最多不过是被攻击者盗用账号,造不成多大的危害。他们往往会认为"安全"只是针对那些大中型企事业单位和网站而言。其实,单从技术上说,黑客入侵的动机是成为目标主机的主人。只要他们获得了一台网络主机的超级用户权限后他们就有可能在该主机上修改资源配置、安置"特洛伊"程序、隐藏行踪、执行任意进程等等。我们谁又愿意别人在我们的机器上肆无忌惮地拥有这些特权呢?更何况这些攻击者的动机也不都是那么单纯。因此,我们每一个人都有可能面临着安全威胁,都有必要对网络安全有所了解,并能够处理一些安全方面的问题。 下面我们就来看一下那些攻击者是如何找到你计算机中的安全漏洞的,并了解一下他们的攻击手法。 二、网络攻击的步骤 第一步:隐藏自已的位置 普通攻击者都会利用别人的电脑隐藏他们真实的IP地址。老练的攻击者还会利用800电话的无人转接服务联接ISP,然后再盗用他人的帐号上网。 第二步:寻找目标主机并分析目标主机 攻击者首先要寻找目标主机并分析目标主机。在Internet上能真正标识主机的是IP地址,域名是为了便于记忆主机的IP地址而另起的名字,只要利用域名和IP地址就可以顺利地找到目标主机。当然,知道了要攻击目标的位置还是远远不够的,还必须将主机的 *** 作系统类型及其所提供服务等资料作个全面的了解。此时,攻击者们会使用一些扫描器工具,轻松获取目标主机运行的是哪种 *** 作系统的哪个版本,系统有哪些帐户,WWW、FTP、Telnet 、SMTP等服务器程序是何种版本等资料,为入侵作好充分的准备。 第三步:获取帐号和密码,登录主机 攻击者要想入侵一台主机,首先要有该主机的一个帐号和密码,否则连登录都无法进行。这样常迫使他们先设法盗窃帐户文件,进行破解,从中获取某用户的帐户和口令,再寻觅合适时机以此身份进入主机。当然,利用某些工具或系统漏洞登录主机也是攻击者常用的一种技法。 第四步:获得控制权 攻击者们用FTP、Telnet等工具利用系统漏洞进入进入目标主机系统获得控制权之后,就会做两件事:清除记录和留下后门。他会更改某些系统设置、在系统中置入特洛伊木马或其他一些远程 *** 纵程序,以便日后可以不被觉察地再次进入系统。大多数后门程序是预先编译好的,只需要想办法修改时间和权限就可以使用了,甚至新文件的大小都和原文件一模一样。攻击者一般会使用rep传递这些文件,以便不留下FTB记录。清除日志、删除拷贝的文件等手段来隐藏自己的踪迹之后,攻击者就开始下一步的行动。 第五步:窃取网络资源和特权 攻击者找到攻击目标后,会继续下一步的攻击。如:下载敏感信息;实施窃取帐号密码、xyk号等经济偷窃;使网络瘫痪。 三、网络攻击的原理和手法 1、口令入侵 所谓口令入侵是指使用某些合法用户的帐号和口令登录到目的主机,然后再实施攻击活动。这种方法的前提是必须先得到该主机上的某个合法用户的帐号,然后再进行合法用户口令的破译。获得普通用户帐号的方法很多,如 利用目标主机的Finger功能:当用Finger命令查询时,主机系统会将保存的用户资料(如用户名、登录时间等)显示在终端或计算机上; 利用目标主机的X500服务:有些主机没有关闭X500的目录查询服务,也给攻击者提供了获得信息的一条简易途径; 从电子邮件地址中收集:有些用户电子邮件地址常会透露其在目标主机上的帐号; 查看主机是否有习惯性的帐号:有经验的用户都知道,很多系统会使用一些习惯性的帐号,造成帐号的泄露。 这又有三种方法: (1)是通过网络监听非法得到用户口令,这类方法有一定的局限性,但危害性极大。监听者往往采用中途截击的方法也是获取用户帐户和密码的一条有效途径。当下,很多协议根本就没有采用任何加密或身份认证技术,如在Telnet、FTP、HTTP、SMTP等传输协议中,用户帐户和密码信息都是以明文格式传输的,此时若攻击者利用数据包截取工具便可很容易收集到你的帐户和密码。还有一种中途截击攻击方法更为厉害,它可以在你同服务器端完成"三次握手"建立连接之后,在通信过程中扮演"第三者"的角色,假冒服务器身份欺骗你,再假冒你向服务器发出恶意请求,其造成的后果不堪设想。另外,攻击者有时还会利用软件和硬件工具时刻监视系统主机的工作,等待记录用户登录信息,从而取得用户密码;或者编制有缓冲区溢出错误的SUID程序来获得超级用户权限。 (2)是在知道用户的账号后(如电子邮件@前面的部分)利用一些专门软件强行破解用户口令,这种方法不受网段限制,但攻击者要有足够的耐心和时间。如:采用字典穷举法(或称暴力法)来破解用户的密码。攻击者可以通过一些工具程序,自动地从电脑字典中取出一个单词,作为用户的口令,再输入给远端的主机,申请进入系统;若口令错误,就按序取出下一个单词,进行下一个尝试,并一直循环下去,直到找到正确的口令或字典的单词试完为止。由于这个破译过程由计算机程序来自动完成,因而几个小时就可以把上十万条记录的字典里所有单词都尝试一遍。 (3)是利用系统管理员的失误。在现代的Unix *** 作系统中,用户的基本信息存放在passwd文件中,而所有的口令则经过DES加密方法加密后专门存放在一个叫shadow的文件中。黑客们获取口令文件后,就会使用专门的破解DES加密法的程序来解口令。同时,由于为数不少的 *** 作系统都存在许多安全漏洞、Bug或一些其他设计缺陷,这些缺陷一旦被找出,黑客就可以长驱直入。例如,让Windows95/98系统后门洞开的BO就是利用了Windows的基本设计缺陷。 2、放置特洛伊木马程序 特洛伊木马程序可以直接侵入用户的电脑并进行破坏,它常被伪装成工具程序或者游戏等诱使用户打开带有特洛伊木马程序的邮件附件或从网上直接下载,一旦用户打开了这些邮件的附件或者执行了这些程序之后,它们就会象古特洛伊人在敌人城外留下的藏满士兵的木马一样留在自己的电脑中,并在自己的计算机系统中隐藏一个可以在windows启动时悄悄执行的程序。当您连接到因特网上时,这个程序就会通知攻击者,来报告您的IP地址以及预先设定的端口。攻击者在收到这些信息后,再利用这个潜伏在其中的程序,就可以任意地修改你的计算机的参数设定、复制文件、窥视你整个硬盘中的内容等,从而达到控制你的计算机的目的。 3、WWW的欺骗技术 在网上用户可以利用IE等浏览器进行各种各样的WEB站点的访问,如阅读新闻组、咨询产品价格、订阅报纸、电子商务等。然而一般的用户恐怕不会想到有这些问题存在:正在访问的网页已经被黑客篡改过,网页上的信息是虚假的!例如黑客将用户要浏览的网页的URL改写为指向黑客自己的服务器,当用户浏览目标网页的时候,实际上是向黑客服务器发出请求,那么黑客就可以达到欺骗的目的了。 一般Web欺骗使用两种技术手段,即URL地址重写技术和相关信关信息掩盖技术。利用URL地址,使这些地址都向攻击者的Web服务器,即攻击者可以将自已的Web地址加在所有URL地址的前面。这样,当用户与站点进行安全链接时,就会毫不防备地进入攻击者的服器,于是用记的所有信息便处于攻击者的监视之中。但由于浏览器材一般均设有地址栏和状态栏,当浏览器与某个站点边接时,可以在地址栏和状态样中获得连接中的Web站点地址及其相关的传输信息,用户由此可以发现问题,所以攻击者往往在URLf址重写的同时,利用相关信息排盖技术,即一般用javascript程序来重写地址样和状枋样,以达到其排盖欺骗的目的。 4、电子邮件攻击 电子邮件是互联网上运用得十分广泛的一种通讯方式。攻击者可以使用一些邮件炸d软件或CGI程序向目的邮箱发送大量内容重复、无用的垃圾邮件,从而使目的邮箱被撑爆而无法使用。当垃圾邮件的发送流量特别大时,还有可能造成邮件系统对于正常的工作反映缓慢,甚至瘫痪。相对于其它的攻击手段来说,这种攻击方法具有简单、见效快等优点。 电子邮件攻击主要表现为两种方式: (1)是电子邮件轰炸和电子邮件"滚雪球",也就是通常所说的邮件炸d,指的是用伪造的IP地址和电子邮件地址向同一信箱发送数以千计、万计甚至无穷多次的内容相同的垃圾邮件,致使受害人邮箱被"炸",严重者可能会给电子邮件服务器 *** 作系统带来危险,甚至瘫痪; (2)是电子邮件欺骗,攻击者佯称自己为系统管理员(邮件地址和系统管理员完全相同),给用户发送邮件要求用户修改口令(口令可能为指定字符串)或在貌似正常的附件中加载病毒或其他木马程序。 5、通过一个节点来攻击其他节点 攻击者在突破一台主机后,往往以此主机作为根据地,攻击其他主机(以隐蔽其入侵路径,避免留下蛛丝马迹)。他们可以使用网络监听方法,尝试攻破同一网络内的其他主机;也可以通过IP欺骗和主机信任关系,攻击其他主机。 这类攻击很狡猾,但由于某些技术很难掌握,如TCP/IP欺骗攻击。攻击者通过外部计算机伪装成另一台合法机器来实现。它能磙坏两台机器间通信链路上的数据,其伪装的目的在于哄骗网络中的其它机器误将其攻击者作为合法机器加以接受,诱使其它机器向他发送据或允许它修改数据。TCP/IP欺骗可以发生TCP/IP系统的所有层次上,包括数据链路层、网络层、运输层及应用层均容易受到影响。如果底层受到损害,则应用层的所有协议都将处于危险之中。另外由于用户本身不直接与底层相互相交流,因而对底层的攻击更具有欺骗性。

愿这里能成为我们共同的网上家园

2005-01-08 11:52

举报帖子

复制贴子

加为精华

单贴屏蔽

帖子评价

使用道具

风影

等级:管理员

威望:1500

文章:453

积分:3056

注册:2004-06-07 QQ 第 2 楼

网络常见攻击及防范手册(下)

6、网络监听 网络监听是主机的一种工作模式,在这种模式下,主机可以接收到本网段在同一条物理通道上传输的所有信息,而不管这些信息的发送方和接收方是谁。因为系统在进行密码校验时,用户输入的密码需要从用户端传送到服务器端,而攻击者就能在两端之间进行数据监听。此时若两台主机进行通信的信息没有加密,只要使用某些网络监听工具(如NetXRay for Windows95/98/NT、Sniffit for Linux、Solaries等)就可轻而易举地截取包括口令和帐号在内的信息资料。虽然网络监听获得的用户帐号和口令具有一定的局限性,但监听者往往能够获得其所在网段的所有用户帐号及口令。 7、利用黑客软件攻击 利用黑客软件攻击是互联网上比较多的一种攻击手法。Back Orifice2000、冰河等都是比较著名的特洛伊木马,它们可以非法地取得用户电脑的超级用户级权利,可以对其进行完全的控制,除了可以进行文件 *** 作外,同时也可以进行对方桌面抓图、取得密码等 *** 作。这些黑客软件分为服务器端和用户端,当黑客进行攻击时,会使用用户端程序登陆上已安装好服务器端程序的电脑,这些服务器端程序都比较小,一般会随附带于某些软件上。有可能当用户下载了一个小游戏并运行时,黑客软件的服务器端就安装完成了,而且大部分黑客软件的重生能力比较强,给用户进行清除造成一定的麻烦。特别是最近出现了一种TXT文件欺骗手法,表面看上去是一个TXT文本文件,但实际上却是一个附带黑客程序的可执行程序,另外有些程序也会伪装成和其他格式的文件。 8、安全漏洞攻击 许多系统都有这样那样的安全漏洞(Bugs)。其中一些是 *** 作系统或应用软件本身具有的。如缓冲区溢出攻击。由于很多系统在不检查程序与缓冲之间变化的情况,就任意接受任意长度的数据输入,把溢出的数据放在堆栈里,系统还照常执行命令。这样攻击者只要发送超出缓冲区所能处理的长度的指令,系统便进入不稳定状态。若攻击者特别配置一串准备用作攻击的字符,他甚至可以访问根目录,从而拥有对整个网络的绝对控制权。另一些是利用协议漏洞进行攻击。如攻击者利用POP3一定要在根目录下运行的这一漏洞发动攻击,破坏的根目录,从而获得超级用户的权限。又如,ICMP协议也经常被用于发动拒绝服务攻击。它的具体手法就是向目的服务器发送大量的数据包,几乎占取该服务器所有的网络宽带,从而使其无法对正常的服务请求进行处理,而导致网站无法进入、网站响应速度大大降低或服务器瘫痪。现在常见的蠕虫病毒或与其同类的病毒都可以对服务器进行拒绝服务攻击的进攻。它们的繁殖能力极强,一般通过Microsoft的Outlook软件向众多邮箱发出带有病毒的邮件,而使邮件服务器无法承担如此庞大的数据处理量而瘫痪。对于个人上网用户而言,也有可能遭到大量数据包的攻击使其无法进行正常的网络 *** 作。 9、端口扫描攻击 所谓端口扫描,就是利用Socket编程与目标主机的某些端口建立TCP连接、进行传输协议的验证等,从而侦知目标主机的扫描端口是否是处于激活状态、主机提供了哪些服务、提供的服务中是否含有某些缺陷等等。常用的扫描方式有:Connect()扫描。Fragmentation扫描 四、攻击者常用的攻击工具 1、DOS攻击工具: 如WinNuke通过发送OOB漏洞导致系统蓝屏;Bonk通过发送大量伪造的UDP数据包导致系统重启;TearDrop通过发送重叠的IP碎片导致系统的TCP/IP栈崩溃;WinArp通过发特殊数据包在对方机器上产生大量的窗口;Land通过发送大量伪造源IP的基于SYN的TCP请求导致系统重启动;FluShot通过发送特定IP包导致系统凝固;Bloo通过发送大量的ICMP数据包导致系统变慢甚至凝固;PIMP通过IGMP漏洞导致系统蓝屏甚至重新启动;Jolt通过大量伪造的ICMP和UDP导致系统变的非常慢甚至重新启动。 2、木马程序 (1)、BO2000(BackOrifice):它是功能最全的TCP/IP构架的攻击工具,可以搜集信息,执行系统命令,重新设置机器,重新定向网络的客户端/服务器应用程序。BO2000支持多个网络协议,它可以利用TCP或UDP来传送,还可以用XOR加密算法或更高级的3DES加密算法加密。感染BO2000后机器就完全在别人的控制之下,黑客成了超级用户,你的所有 *** 作都可由BO2000自带的"秘密摄像机"录制成"录像带"。 (2)、"冰河":冰河是一个国产木马程序,具有简单的中文使用界面,且只有少数流行的反病毒、防火墙才能查出冰河的存在。冰河的功能比起国外的木马程序来一点也不逊色。 它可以自动跟踪目标机器的屏幕变化,可以完全模拟键盘及鼠标输入,即在使被控端屏幕变化和监控端产生同步的同时,被监控端的一切键盘及鼠标 *** 作将反映在控端的屏幕。它可以记录各种口令信息,包括开机口令、屏保口令、各种共享资源口令以及绝大多数在对话框中出现过的口令信息;它可以获取系统信息;它还可以进行注册表 *** 作,包括对主键的浏览、增删、复制、重命名和对键值的读写等所有注册表 *** 作。 (3)、NetSpy:可以运行于Windows95/98/NT/2000等多种平台上,它是一个基于TCP/IP的简单的文件传送软件,但实际上你可以将它看作一个没有权限控制的增强型FTP服务器。通过它,攻击者可以神不知鬼不觉地下载和上传目标机器上的任意文件,并可以执行一些特殊的 *** 作。 (4)、Glacier:该程序可以自动跟踪目标计算机的屏幕变化、获取目标计算机登录口令及各种密码类信息、获取目标计算机系统信息、限制目标计算机系统功能、任意 *** 作目标计算机文件及目录、远程关机、发送信息等多种监控功能。类似于BO2000。 (5)、KeyboardGhost:Windows系统是一个以消息循环(MessageLoop)为基础的 *** 作系统。系统的核心区保留了一定的字节作为键盘输入的缓冲区,其数据结构形式是队列。键盘幽灵正是通过直接访问这一队列,使键盘上输入你的电子邮箱、代理的账号、密码Password(显示在屏幕上的是星号)得以记录,一切涉及以星号形式显示出来的密码窗口的所有符号都会被记录下来,并在系统根目录下生成一文件名为KGDAT的隐含文件。 (6)、ExeBind:这个程序可以将指定的攻击程序捆绑到任何一个广为传播的热门软件上,使宿主程序执行时,寄生程序也在后台被执行,且支持多重捆绑。实际上是通过多次分割文件,多次从父进程中调用子进程来实现的。 五、网络攻击应对策略 在对网络攻击进行上述分析与识别的基础上,我们应当认真制定有针对性的策略。明确安全对象,设置强有力的安全保障体系。有的放矢,在网络中层层设防,发挥网络的每层作用,使每一层都成为一道关卡,从而让攻击者无隙可钻、无计可使。还必须做到未雨稠缪,预防为主 ,将重要的数据备份并时刻注意系统运行状况。以下是针对众多令人担心的网络安全问题,提出的几点建议 1、提高安全意识 (1)不要随意打开来历不明的电子邮件及文件,不要随便运行不太了解的人给你的程序,比如"特洛伊"类黑客程序就需要骗你运行。 (2)尽量避免从Internet下载不知名的软件、游戏程序。即使从知名的网站下载的软件也要及时用最新的病毒和木马查杀软件对软件和系统进行扫描。 (3)密码设置尽可能使用字母数字混排,单纯的英文或者数字很容易穷举。将常用的密码设置不同,防止被人查出一个,连带到重要密码。重要密码最好经常更换。 (4)及时下载安装系统补丁程序。 (5)不随便运行黑客程序,不少这类程序运行时会发出你的个人信息。 (6)在支持HTML的BBS上,如发现提交警告,先看源代码,很可能是骗取密码的陷阱。 2、使用防毒、防黑等防火墙软件。 防火墙是一个用以阻止网络中的黑客访问某个机构网络的屏障,也可称之为控制进/出两个方向通信的门槛。在网络边界上通过建立起来的相应网络通信监控系统来隔离内部和外部网络,以阻档外部网络的侵入。 3、设置代理服务器,隐藏自已的IP地址。 保护自己的IP地址是很重要的。事实上,即便你的机器上被安装了木马程序,若没有你的IP地址,攻击者也是没有办法的,而保护IP地址的最好方法就是设置代理服务器。代理服务器能起到外部网络申请访问内部网络的中间转接作用,其功能类似于一个数据转发器,它主要控制哪些用户能访问哪些服务类型。当外部网络向内部网络申请某种网络服务时,代理服务器接受申请,然后它根据其服务类型、服务内容、被服务的对象、服务者申请的时间、申请者的域名范围等来决定是否接受此项服务,如果接受,它就向内部网络转发这项请求。 4、将防毒、防黑当成日常例性工作,定时更新防毒组件,将防毒软件保持在常驻状态,以彻底防毒。 5、由于黑客经常会针对特定的日期发动攻击,计算机用户在此期间应特别提高警戒。 6、对于重要的个人资料做好严密的保护,并养成资料备份的习惯。DOS攻击原理及方法介绍已经有很多介绍DOS(Denial of Service,即拒绝服务)攻击的文章,但是,多数人还是不知道DOS到底是什么,它到底是怎么实现的。本文主要介绍DOS的机理和常见的实施方法。因前段时间仔细了解了TCP/IP协议以及RFC文档,有点心得。同时,文中有部分内容参考了Shaft的文章翻译而得。要想了解DOS攻击得实现机理,必须对TCP有一定的了解。所以,本文分为两部分,第一部分介绍一些实现DOS攻击相关的协议,第二部分则介绍DOS的常见方式。1、 什么是DOS攻击DOS:即Denial Of Service,拒绝服务的缩写,可不能认为是微软的dos *** 作系统了。好象在5·1的时候闹过这样的笑话。拒绝服务,就相当于必胜客在客满的时候不再让人进去一样,呵呵,你想吃馅饼,就必须在门口等吧。DOS攻击即攻击者想办法让目标机器停止提供服务或资源访问,这些资源包括磁盘空间、内存、进程甚至网络带宽,从而阻止正常用户的访问。比如: 试图FLOOD服务器,阻止合法的网络通br> 破坏两个机器间的连接,阻止访问服务 阻止特殊用户访问服务 破坏服务器的服务或者导致服务器死机 不过,只有那些比较阴险的攻击者才单独使用DOS攻击,破坏服务器。通常,DOS攻击会被作为一次入侵的一部分,比如,绕过入侵检测系统的时候,通常从用大量的攻击出发,导致入侵检测系统日志过多或者反应迟钝,这样,入侵者就可以在潮水般的攻击中混骗过入侵检测系统。2、有关TCP协议的东西TCP(transmission control protocol,传输控制协议),是用来在不可靠的因特网上提供可靠的、端到端的字节流通讯协议,在RFC793中有正式定义,还有一些解决错误的东西在RFC 1122中有记录,RFC 1323则有TCP的功能扩展。我们常见到的TCP/IP协议中,IP层不保证将数据报正确传送到目的地,TCP则从本地机器接受用户的数据流,将其分成不超过64K字节的数据片段,将每个数据片段作为单独的IP数据包发送出去,最后在目的地机器中再组合成完整的字节流,TCP协议必须保证可靠性。发送和接收方的TCP传输以数据段的形式交换数据,一个数据段包括一个固定的20字节头,加上可选部分,后面再跟上数据,TCP协议从发送方传送一个数据段的时候,还要启动计时器,当数据段到达目的地后,接收方还要发送回一个数据段,其中有一个确认序号,它等于希望收到的下一个数据段的顺序号,如果计时器在确认信息到达前超时了,发送方会重新发送这个数据段。 上面,我们总体上了解一点TCP协议,重要的是要熟悉TCP的数据头(header)。因为数据流的传输最重要的就是header里面的东西,至于发送的数据,只是header附带上的。客户端和服务端的服务响应就是同header里面的数据相关,两端的信息交流和交换是根据header中的内容实施的,因此,要实现DOS,就必须对header中的内容非常熟悉。下面是TCP数据段头格式。Source Port和 Destination Port :是本地端口和目标端口Sequence Number 和 Acknowledgment Number :是顺序号和确认号,确认号是希望接收的字节号。这都是32位的,在TCP流中,每个数据字节都被编号。Data offset :表明TCP头包含多少个32位字,用来确定头的长度,因为头中可选字段长度是不定的。Reserved : 保留的6位,现在没用,都是0接下来是6个1位的标志,这是两个计算机数据交流的信息标志。接收和发送断根据这些标志来确定信息流的种类。下面是一些介绍: URG:(Urgent Pointer field significant)紧急指针。用到的时候值为1,用来处理避免TCP数据流中断ACK:(Acknowledgment field significant)置1时表示确认号(Acknowledgment Number)为合法,为0的时候表示数据段不包含确认信息,确认号被忽略。PSH:(Push Function),PUSH标志的数据,置1时请求的数据段在接收方得到后就可直接送到应用程序,而不必等到缓冲区满时才传送。RST:(Reset the connection)用于复位因某种原因引起出现的错误连接,也用来拒绝非法数据和请求。如果接收到RST位时候,通常发生了某些错误。SYN:(Synchronize sequence numbers)用来建立连接,在连接请求中,SYN=1,CK=0,连接响应时,SYN=1,ACK=1。即,SYN和ACK来区分Connection Request和Connection Accepted。FIN:(No more data from sender)用来释放连接,表明发送方已经没有数据发送。知道这重要的6个指示标志后,我们继续来。16位的WINDOW字段:表示确认了字节后还可以发送多少字节。可以为0,表示已经收到包括确认号减1(即已发送所有数据)在内的所有数据段。接下来是16位的Checksum字段,用来确保可靠性的。16位的Urgent Pointer,和下面的字段我们这里不解释了。不然太多了。呵呵,偷懒啊。我们进入比较重要的一部分:TCP连接握手过程。这个过程简单地分为三步。在没有连接中,接受方(我们针对服务器),服务器处于LISTEN状态,等待其他机器发送连接请求。第一步:客户端发送一个带SYN位的请求,向服务器表示需要连接,比如发送包假设请求序号为10,那么则为:SYN=10,ACK=0,然后等待服务器的响应。第二步:服务器接收到这样的请求后,查看是否在LISTEN的是指定的端口,不然,就发送RST=1应答,拒绝建立连接。如果接收连接,那么服务器发送确认,SYN为服务器的一个内码,假设为100,ACK位则是客户端的请求序号加1,本例中发送的数据是:SYN=100,ACK=11,用这样的数据发送给客户端。向客户端表示,服务器连接已经准备好了,等待客户端的确认这时客户端接收到消息后,分析得到的信息,准备发送确认连接信号到服务器第三步:客户端发送确认建立连接的消息给服务器。确认信息的SYN位是服务器发送的ACK位,ACK位是服务器发送的SYN位加1。即:SYN=11,ACK=101。这时,连接已经建立起来了。然后发送数据,<SYN=11,ACK=101><DATA>。这是一个基本的请求和连接过程。需要注意的是这些标志位的关系,比如SYN、ACK。3、服务器的缓冲区队列(Backlog Queue)服务器不会在每次接收到SYN请求就立刻同客户端建立连接,而是为连接请求分配内存空间,建立会话,并放到一个等待队列中。如果,这个等待的队列已经满了,那么,服务器就不在为新的连接分配任何东西,直接丢弃新的请求。如果到了这样的地步,服务器就是拒绝服务了。 如果服务器接收到一个RST位信息,那么就认为这是一个有错误的数据段,会根据客户端IP,把这样的连接在缓冲区队列中清

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/12182378.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存