山东建筑大学网络攻击透视与防范-课程论文

更新时间:2024-07-08 12:33:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算机网络安全

随着计算机网络在人类生活领域中的广泛应用,针对计算机网络的攻击事件也随之增加。网络已经无所不在的影响着社会的政治、经济、文化、军事、意识形态和社会生活等各个方面。同时在全球范围内,针对重要信息资源和网络基础设施的入侵行为和企图入侵行为的数量仍在持续不断增加,网络攻击与入侵行为对国家安全、经济和社会生活造成了极大的威胁。计算机病毒不断地通过网络产生和传播,计算机网络被不断地非法入侵,重要情报、资料被窃取,甚至造成网络系统的瘫痪等等,诸如此类的事件已给政府及企业造成了巨大的损失,甚至危害到国家的安全。网络安全已成为世界各国当今共同关注的焦点,网络安全的重要性是不言而喻的。本文首先阐述目前计算机网络中存在的安全问题及计算机网络安全的重要性,接着分析黑客网络攻击常见方法及攻击的一般过程,最后分析针对这些攻击的特点采取的防范措施。

计算机网络安全是指利用网络管理控制和技术措施,保证在一个网络环境里,数据的保密性、完整性及可使用性受到保护。计算机网络安全包括两个方面,即物理安全和逻辑安全。物理安全指系统设备及相关设施受到物理保护,免于破坏、丢失等。逻辑安安全包括信息的完整性、保密性和可用性。

计算机网络安全不仅包括组网的硬件、管理控制网络的软件,也包括共享的资源,快捷的网络服务,所以定义网络安全应考虑涵盖计算机网络所涉及的全部内容。参照ISO给出的计算机安全定义,认为

计算机网络安全是指:“保护计算机网络系统中的硬件,软件和数据资源,不因偶然或恶意的原因遭到破坏、更改、泄露,使网络系统连续可靠性地正常运行,网络服务正常有序。”

由于互联网络的发展,整个世界经济正在迅速地融为一体,而整个国家犹如一部巨大的网络机器。计算机网络已经成为国家的经济基础和命脉。计算机网络在经济和生活的各个领域正在迅速普及,整个社会对网络的依赖程度越来越大。众多的企业、组织、政府部门与机构都在组建和发展自己的网络,并连接到Internet上,以充分共享、利用网络的信息和资源。网络已经成为社会和经济发展的强大动力,其地位越来越重要。伴随着网络的发展,也产生了各种各样的问题,其中安全问题尤为突出。了解网络面临的各种威胁,防范和消除这些威胁,实现真正的网络安全已经成了网络发展中最重要的事情。

一般意义上,网络安全是指信息安全和控制安全两部分。国际标准化组织把信息安全定义为“信息的完整性、可用性、保密性和可靠性”;控制安全则指身份认证、不可否认性、授权和访问控制。 互联网与生俱有的开放性、交互性和分散性特征使人类所憧憬的信息共享、开放、灵活和快速等需求得到满足。网络环境为信息共享、信息交流、信息服务创造了理想空间,网络技术的迅速发展和广泛应用,为人类社会的进步提供了巨大推动力。然而,正是由于互联网的上述特性,产生了许多安全问题:

⑴ 信息泄漏、信息污染、信息不易受控。例如,资源未授权侵用、未授权信息流出现、系统拒绝信息流和系统否认等,这些都是信

息安全的技术难点。

⑵ 在网络环境中,一些组织或个人出于某种特殊目的,进行信息泄密、信息破坏、信息侵权和意识形态的信息渗透,甚至通过网络进行政治颠覆等活动,使国家利益、社会公共利益和各类主体的合法权益受到威胁。

⑶ 网络运用的趋势是全社会广泛参与,随之而来的是控制权分散的管理问题。由于人们利益、目标、价值的分歧,使信息资源的保护和管理出现脱节和真空,从而使信息安全问题变得广泛而复杂。 ⑷ 随着社会重要基础设施的高度信息化,社会的“命脉”和核心控制系统有可能面临恶意攻击而导致损坏和瘫痪,包括国防通信设施、动力控制网、金融系统和政府网站等。

目前,我国网络安全问题日益突出,主要标志是:

⑴ 计算机系统遭受病毒感染和破坏的情况相当严重。据国家计算机病毒应急处理中心副主任张健介绍,从国家计算机病毒应急处理中心日常监测结果看来,计算机病毒呈现出异常活跃的态势。据2001年调查,我国约73%的计算机用户曾感染病毒,2003年上半年升至83%。其中,感染3次以上的用户高达59%,而且病毒的破坏性较大,被病毒破坏全部数据的占14%,破坏部分数据的占57%。 ⑵ 电脑黑客活动已形成重要威胁。网络信息系统具有致命的脆弱性、易受攻击性和开放性,从国内情况来看,目前我国95%与互联网相联的网络管理中心都遭受过境内外黑客的攻击或侵入,其中银行、金融和证券机构是黑客攻击的重点。

⑶ 信息基础设施面临网络安全的挑战。面对信息安全的严峻形势,我国的网络安全系统在预测、反应、防范和恢复能力方面存在许多薄弱环节。据英国《简氏战略报告》和其它网络组织对各国信息防护能力的评估,我国被列入防护能力最低的国家之一,不仅大大低于美国、俄罗斯和以色列等信息安全强国,而且排在印度、韩国之后。近年来,国内与网络有关的各类违法行为以每年30%的速度递增。据某市信息安全管理部门统计,2003年第1季度内,该市共遭受近37万次黑客攻击、2.1万次以上病毒入侵和57次信息系统瘫痪。该市某公司的镜像网站在10月份1个月内,就遭到从外部100多个IP地址发起的恶意攻击。

在Internet网上,网络攻击的行为通常有:通过侵入主机后非法获取重要文件,修改系统资料,删除文件,破坏系统;通过发送大量报文或其他方式使网络拥塞,使被攻击的主机Shut Down;通过截取或篡改网络上的报文来欺骗目标主机,获取相关资料;通过传播病毒攻击目标主机。网络上还有一类人,他们能够侵入一个系统,但目的不是破坏,而只是想显示自己的水平,把侵入系统当成是对自己的挑战,这种人通常称为 黑客(HACKER)。我们把进行以上攻击行为的人统称为“攻击者”。 网络攻击的手段大致可分为以下几类: (1)利用主机上服务器的不正确配置和漏洞进行攻击。 (2)利用主机操作系统的某些漏洞进行攻击。

(3)利用TCP/IP协议上的某些不安全因素进行攻击。 (4)利用病毒进行攻击。

(5)其他网络攻击方式。

黑客常用的攻击步骤可以说变幻莫测,但纵观其整个攻击过程,还是有一定规律可循的,一般可以分:信息收集, 系统安全弱点的探测, 建立模拟环境,进行模拟攻击, 具体实施网络攻击几个过程。见下图

1示:1 .信息收集

信息收集并不对目标本身造成危害,只是为进一步入侵提供有用的信息。黑客可能会利用下列的公开协议或工具,收集驻留在网络系统中的各个主机系统的相关信息:

(1) SNMP协议:用来查阅网络系统路由器的路由表,从而了解目标主机所在网络的拓扑结构及其内部细节。

(2) TraceRoute程序:能够用该程序获得到达目标主机所要经过的网络数和路由器数。

(3) Whois协议:该协议的服务信息能提供所有有关的DNS域和相关的管理参数。

(4) DNS服务器:该服务器提供了系统中可以访问的主机IP地址表和它们所对应的主机名

(5) Ping实用程序:可以用来确定一个指定的主机的位置。 网络攻击行为主要分系统层面和网络层面。网络层面主要的攻击有 DOS类、欺骗、非法侦听、拦截并篡改通信数据、扫描、病毒引起的网络攻击行为、利用网络服务漏洞进行入侵。攻击目的我们知道有两种,一是破坏,二是入侵。 一 DoS 与DDoS攻击原理及其防范

拒绝服务(Denial of Service,简称DoS)攻击是一种利用 TCP/IP协议的弱点和系统存在的漏洞,对网络设备进行攻击的行为。它以消耗网络带宽和系统资源为目的,对网络服务器发送大量“请求”信息,造成网络或服务器系统不堪重负,致使系统瘫痪而无法提供正常的网络服务。分布式拒绝服务(Distributed Denial of Service,简称DDoS)攻击是在拒绝服务攻击的基础上产生的一种分布式、协作式的大规模拒绝服务攻击方式。

目前,拒绝服务攻击和分布式拒绝服务攻击已成为一种遍布全球的系统漏洞攻击方法,无数网络用户都受到这种攻击的侵害,造成了巨大的经济损失。因此,了解DoS 与DDoS攻击原理及基本的防范方法,对所有网络用户特别是网络管理人员有着重要的意义。 1 DoS攻击原理及方式

DoS攻击的方式主要是利用合理的服务请求,来占用过多的网络带宽和服务器资源,致使正常的连接请求无法得到响应。常见的 DoS攻击方法有:SYN Flood攻击、Land 攻击、Smurf攻击、UDP攻击等。下图2为DoS攻击的基本过程。

(1)SYN Flood攻击

SYN Flood攻击是一种最常见的 DoS攻击手段,它利用TCP/IP连接的“三次握手”过程,通过虚假IP, 源地址发送大量 SYN 数据包,请求连接到被攻击方的一个或多个端口。当被攻击方按照约定向这些虚假IP,地址发送确认数据包后,等待对方连接,虚假的IP 源地址将不给予响应。这样,连接请求将一直保存在系统缓存中直到超时。如果系统资源被大量此类未完成的连接占用,系统性能自然会下降。后续正常的TCP 连接请求也会因等待队列填满而被丢弃,造成服务器拒绝服务的现象。

Syn Flood原理 - 三次握手 ,Syn Flood利用了TCP/IP协议的固有漏洞。面向连接的TCP三次握手是Syn Flood存在的基础。

图三

如图三,在第一步中,客户端向服务端提出连接请求。这时TCP SYN标志置位。客户端告诉服务端序列号区域合法,需要检查。客户端在TCP报头的序列号区中插入自己的ISN。服务端收到该TCP分段后,在第二步以自己的ISN回应(SYN标志置位),同时确认收到客户端的第一个TCP分段(ACK标志置位)。在第三步中,客户端确认收到服务端的ISN(ACK标志置位)。到此为止建立完整的TCP连接,开始全双工模式的数据传输过程,而Syn Flood攻击者不会完成三次握手。

图四 Syn Flood恶意地不完成三次握手

假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为SYN Timeout,一般来说这个时间是分钟的数量级(大约为30秒-2分钟);一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况,服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源----数以万计的半连接,即使是简单的保存并遍历也会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行SYN+ACK的重试。实际上如果服务器的TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃---即使服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常之小),此时从正常客户的角度看来,服务器失去响应,这种情况我们称做:服务器端受到了SYN Flood攻击(SYN洪水攻击)。 (2) Land 攻击

Land 攻击是利用向目标主机发送大量的源地址与目标地址相同的数据包,造成目标主机解析 Land包时占用大量系统资源,从而使网络功能完全瘫痪的攻击手段。其方法是将一个特别设计的SYN包中的源地址和目标地址都设置成某个被攻击服务器的地址,这样服务器接收到该数据包后会向自己发送一个SYN—ACK 回应包,SYN—ACK又

引起一个发送给自己的ACK包,并创建一个空连接。每个这样的空连接到将暂存在服务器中,当队列足够长时,正常的连接请求将被丢弃,造成服务器拒绝服务的现象。 (3) Smurf攻击

Smurf攻击是一种放大效果的ICMP攻击方式,其方法是攻击者伪装成被攻击者向某个网络上的广播设备发送请求,该广播设备会将这个请求转发到该网络的其他广播设备,导致这些设备都向被攻击者发出回应,从而达到以较小代价引发大量攻击的目的。例如,攻击者冒充被攻击者的IP使用PING来对一个C类网络的广播地址发送ICMP包,该网络上的254台主机就会对被攻击者的IP发送ICMP回应包,这样攻击者的攻击行为就被放大了 254 倍。 (4)UDP攻击

UDP攻击是指通过发送UDP数据包来发动攻击的方式。在UDP Flood攻击中,攻击者发送大量虚假源IP的UDP数据包或畸形UDP数据包,从而使被攻击者不能提供正常的服务,甚至造成系统资源耗尽、系统死机。由于UDP协议是一种无连接的服务,只要被攻击者开放有一个UDP服务端口,即可针对该服务发动攻击。UDP攻击通常可分为UDP Flood 攻击、UDP Fraggle攻击和DNS Query Flood攻击。

①UDP Fraggle攻击的原理与Smurf攻击相似,也是一种“放大”式的攻击,不同的是它使用UDP回应代替了ICMP回应。

②DNS Query Flood攻击是一种针对DNS服务器的攻击行为。攻击者向DNS的UDP 53端口发送大量域名查询请求,占用大量系统资

源,使服务器无法提供正常的查询请求。从以上 4种DoS攻击手段可以看出,DoS攻击的基本过程包括以下几个阶段:①攻击者向被攻击者发送众多的带有虚假地址的请求;②被攻击者发送响应信息后等待回传信息;③由于得不到回传信息,使系统待处理队列不断加长,直到资源耗尽,最终达到被攻击者出现拒绝服务的现象。 2 DDOS攻击

DoS攻击主要是采用一对一的攻击方式。当目标计算机的配置较低或网络带宽较小时,其攻击的效果较为明显。随着计算机及网络技术的发展,计算机的处理能力迅速增长,网络带宽也从百兆发展到了千兆、万兆,DoS攻击很难奏效。DDoS攻击是DoS攻击的一种演变,它改变了传统的一对一的攻击方式,利用网络调动大量傀儡机,同时向目标主机发起攻击,攻击效果极为明显。 被DDOS攻击时一般回出现以下几中情况: 1、被攻击主机上有大量等待的TCP连接。

2、网络中充斥着大量的无用的数据包,源地址为假。

3、制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯。

4、利用受害主机提供的服务或传输协议上的缺陷,反复高速的发出特定的服务请求,使受害主机无法及时处理所有正常请求。 5、严重时会造成系统死机。 (1) DDOS攻击原理

DDoS主要采用了比较特殊的3层客户机/服务器结构,即攻击端、

主控端和代理端,这3者在攻击中各自扮演着不同的角色。攻击者:攻击者所用的计算机是攻击主控台,可以是网络上的任何一台主机,甚至可以是一个活动的便携机。攻击者操纵整个攻击过程,它向主控端发送攻击命令。主控端:主控端是攻击者非法侵入并控制的一些主机,这些主机还分别控制大量的代理主机。主控端主机的上面安装了特定的程序,因此它们可以接受攻击者发来的特殊指令,并且可以把这些命令发送到代理主机上。代理端:代理端同样也是攻击者侵入并控制的一批主机,它们上面运行攻击器程序,接受和运行主控端发来的命令。代理端主机是攻击的执行者,真正向受害者主机发送攻击。攻击者发起DDoS攻击的第一步,就是寻找在Internet上有漏洞的主机,进入系统后在其上面安装后门程序,攻击者入侵的主机越多,他的攻击队伍就越壮大。第二步在入侵主机上安装攻击程序,其中一部分主机充当攻击的主控端,一部分主机充当攻击的代理端。最后各部分主机各司其职,在攻击者的调遣下对攻击对象发起攻击。这种3层客户机/服务器结构,使DDos具有更强的攻击能力,并且能较好地隐藏攻击者的真实地址。

图五

DDoS攻击一旦实施,攻击数据包就会像洪水般地从四面八方涌向被攻击主机,从而把合法用户的连接请求淹没掉,导致合法用户长时间无法使用网络资源。 (2) DDOS攻击的主要形式

①通过大量伪造的IP 向某一固定目标发出高流量垃圾数据,造成网络拥塞,使被攻击主机无法与外界通信。

②利用被攻击主机提供的服务或传输协议上的缺陷,反复高速地发送对某特定服务的连接请求,使被攻击主机无法及时处理正常业务。

③利用被攻击主机所提供服务中数据处理上的缺陷,反复高速地发送畸形数据引发服务程序错误,大量占用系统资源,使被攻击主机处于假死状态,甚至导致系统崩溃。 3 Trinoo攻击软件进行DDOS攻击实例

DDoS攻击不断在Internet出现,并在应用的过程中不断的得到完善,已有一系列比较成熟的软件产品,如Trinoo、独裁者DDoS

攻击器、DdoSer、TFN、TFN2K等,他们基本核心及攻击思路是很相象的,下面就通过Trinoo对这类软件做一介绍。

Trinoo是基于UDP flood的攻击软件,它向被攻击目标主机随机端口发送全零的4字节UDP包,被攻击主机的网络性能在处理这些超出其处理能力垃圾数据包的过程中不断下降,直至不能提供正常服务甚至崩溃。它对IP地址不做假,采用的通讯端口是: 攻击者主机到主控端主机:27665/TCP 主控端主机到代理端主机:27444/UDP 代理端主机到主服务器主机:31335/UDP

Trinoo攻击功能的实现,是通过三个模块付诸实施的:1、攻击守护进程(NS);2、攻击控制进程(MASTER);3、客户端(NETCAT,标准TELNET程序等)。攻击守护进程NS是真正实施攻击的程序,它一般和攻击控制进程(MASTER)所在主机分离,在原始C文件NS.C编译的时候,需要加入可控制其执行的攻击控制进程MASTER所在主机IP,(只有在NS.C中的IP方可发起NS的攻击行为)编译成功后,黑客通过目前比较成熟的主机系统漏洞破解(如RPC.CMSD,RPC.TTDBSERVER,RPC.STATD)可以方便的将大量NS植入因特网中有上述漏洞主机内。NS运行时,会首先向攻击控制进程(MASTER)所在主机的31335端口发送内容为HELLO的UDP包,标示它自身的存在,随后攻击守护进程即处于对端口27444的侦听状态,等待MASTER攻击指令的到来。

攻击控制进程(MASTER)在收到攻击守护进程的HELLO包后,

会在自己所在目录生成一个加密的名为...的可利用主机表文件, MASTER的启动是需要密码的,在正确输入默认密码gOrave后, MASTER即成功启动,它一方面侦听端口31335,等待攻击守护进程的HELLO包,另一方面侦听端口27665,等待客户端对其的连接。当客户端连接成功并发出指令时, MASTER所在主机将向攻击守护进程ns所在主机的27444端口传递指令。

客户端不是Trinoo自带的一部分,可用标准的能提供TCP连接的程序,如TELNET,NETCAT等,连接MASTER所在主机的27665端口, 输入默认密码betaalmostdone后,即完成了连接工作,进入攻击控制可操作的提示状态。

目前版本的Trinoo有六个可用命令,mtimer:设定攻击时长,如mtimer 60,攻击60秒,如果不设置的话,默认是无限。dos:对某一目标主机实施攻击,如dos 12.34.45.56 mdie:停止正在实施的攻击,使用这一功能需要输入口令killme,mping:请求攻击守护进程NS回应,监测ns是否工作。mdos,对多个目标主机实施攻击,msize:设置攻击UDP包的大小。Trinoo运行的总体轮廓可用图5说

明:

图5

我们来看一次攻击的实例:

被攻击的目标主机victim IP为:192.168.1.45 ns被植入三台sun的主机里,他们的IP对应关系分别为 client1:192.168.1.11 client2:192.168.1.12 client3:192.168.1.13 master所在主机为masterhost:192.168.1.14 首先我们要启动各个进程,在client1,2,3上分别执行ns,启动攻击守护进程, 其次,在master所在主机启动master masterhost# ./master ?? gOrave (系统示输入密码,输入gOrave后master成功启动) Trinoo v1.07d2+f3+c [Mar 20 2000:14:38:49] (连接成功) 在任意一台与网络连通的可使用telnet的设备上,执行: telnet 192.168.1.14 27665 Escape character is '^]'. betaalmostdone (输入密码) Trinoo v1.07d2+f3+c..[rpm8d/cb4Sx/] Trinoo> (进入提示符) Trinoo> mping (我们首先来监测一下各个攻击守护进程是否成功启动) mping: Sending a PING to every Bcasts. Trinoo> PONG 1 Received from 192.168.1.11 PONG 2 Received from 192.168.1.12 PONG 3 Received from 192.168.1.13 (成功响应) Trinoo> mtimer 60 (设定攻击时间为60秒) mtimer: Setting timer on bcast to 60. Trinoo> dos 192.168.1.45 DoS: Packeting 192.168.1.45...... 至此一次攻击结束,此时ping 192.168.1.45,会得到icmp不可到达反馈, 目标主机此时与网络的正常连接已被破坏。由于Trinoo尚未采用IP地址欺 骗,因此在被攻击的主机系统日志里我们可以看到如下纪录: Mar 20 14:40:34 victim snmpXdmid: Will attempt to re-establish connection. Mar 20 14:40:35 victim snmpdx: error while receiving a pdu from 192.168.1.11.59841:The message has a wrong header type (0x0) Mar 20 14:40:35 victim snmpdx: error while receiving a pdu from 192.168.1.12.43661:The message has a wrong header type (0x0) Mar 20 14:40:36 victim snmpdx: error while receiving a pdu from 192316831.13.40183:The message has a wrong header type (0x0) Mar 20 14:40:36 victim snmpXdmid: Error receiving PDU The message has a wrong header type (0x0). Mar 20 14:40:36 victim snmpXdmid: Error receiving packet from agent; rc = -1. Mar 20 14:40:36 victim snmpXdmid: Will attempt to re-establish connection. Mar 20 14:40:36 victim snmpXdmid: Error receiving PDU The message has a wrong header type (0x0). Mar 20 14:40:36 victim snmpXdmid: Error receiving packet from agent; rc = -1. 由上述日志,我们不难看出发起攻击的IP地址,这一问题,通过IP spoof在后期的软件TFN,TFN2K等软件中得到了解决,给被攻击者找出肇事者进一步增加了难度。 4 DoS 与DDoS攻击的检测与防范

从 DoS 与DDoS攻击过程可以看出,其攻击的目的主要有: (1)对网络带宽的流量攻击;

(2)对服务器某特定服务的攻击。攻击的手段主要是发送大量垃圾数据交由网络设备或服务器处理,导致资源占用超出允许上限,使网络中断或无法提供正常服务。

由于DoS 、DDoS是利用网络协议的缺陷进行的攻击,所以要完全消除攻击的危害是非常困难的。从理论上说,只要是带宽或服务器资源有限的系统都会受到 DoS 或 DDoS攻击的威胁。对于暴力型DDoS攻击,即使是最先进的防火墙也无能为力。攻击者可能无法越过防火墙攻击内部网络中的服务器系统,但防火墙阻挡这些攻击数据包,必须付出高额的资源开支,这同样会造成网络性能下降,甚至网络中断。在实际应用中,我们可以通过一些方法检测到攻击现象的出现,并减缓攻击造成的危害。 二 ARP攻击原理及其防范 1 ARP攻击原理

ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的

MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,如下所示。 主机 IP地址 MAC地址 A 192.168.16.1 aa-aa-aa-aa-aa-aa B 192.168.16.2 bb-bb-bb-bb-bb-bb C 192.168.16.3 cc-cc-cc-cc-cc-cc D 192.168.16.4 dd-dd-dd-dd-dd-dd

我们以主机A(192.168.16.1)向主机B(192.168.16.2)发送数据为例。当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播,目标MAC地址是“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发出这样的询问:“192.168.16.2的MAC地址是什么?”网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:“192.168.16.2的MAC地址是bb-bb-bb-bb-bb-bb”。这样,

主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。同时它还更新了自己的ARP缓存表,下次再向主机B发送信息时,直接从ARP缓存表里查找就可以了。ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。

从上面可以看出,在局域网中,通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)的。ARP协议对网络安全具有重要的意义。通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞。中了ARP后的一些现象: ⑴能PING通网内其它客户机,但PING不通路由,上不了网(连接到INTERNET)。

⑵能PING通网内其它客户机,同样PING不通路由,但能上网(能连接到INTERNET)。

⑶当中毒的机器向网关路由发出请求时,网关路由的ARP缓存还未到刷新时间,网关路由内的ARP缓存表中保存的是客户机还未中毒前的MAC地址。而这个MAC地址,与客户机当前请求的MAC(被病毒修改过)不一致,客户机的连接请求被网关拒绝。即发生与网关断流。

⑷当中毒的源头机器向局域网发出假MAC广播时,网关路由也接收到了此消息,并将这些假MAC地址与其IP相对应,并建立新的ARP缓存。导致客户机与服务器断开连接。

2 ARP攻击的主要方式

(1)简单的欺骗攻击 :这是比较常见的攻击,通过发送伪造的ARP包来欺骗路由和目标主机,让目标主机认为这是一个合法的主机.便完成了欺骗.这种欺骗多发生在同一网段内,因为路由不会把本网段的包向外转发,当然实现不同网段的攻击也有方法,便要通过ICMP协议来告诉路由器重新选择路由.

(2)交换环境的嗅探 :在最初的小型局域网中我们使用HUB来进行互连,这是一种广播的方式,每个包都会经过网内的每台主机,通过使用软件,就可以嗅谈到整个局域网的数据.现在的网络多是交换环境,网络内数据的传输被锁定的特定目标.既已确定的目标通信主机.在ARP欺骗的基础之上,可以把自己的主机伪造成一个中间转发站来监听两台主机之间的通信.

(3)MAC Flooding :这是一个比较危险的攻击,可以溢出交换机的ARP表,使整个网络不能正常通信

(4)基于ARP的DOS :这是新出现的一种攻击方式,D.O.S又称拒绝服务攻击,当大量的连接请求被发送到一台主机时,由于主机的处理能力有限,不能为正常用户提供服务,便出现拒绝服务.这个过程中如果使用ARP来隐藏自己,在被攻击主机的日志上就不会出现真实的IP.攻击的同时,也不会影响到本机. 3 ARP攻击的防范措施

(1)不要把你的网络安全信任关系建立在IP基础上或MAC基础上,(rarp同样存在欺骗的问题),理想的关系应该建立在IP+MAC基础上。

(2) 设置静态的MAC-->IP对应表,不要让主机刷新你设定好的转换表。

在网关路由上对客户机使用静态MAC绑定。用防火墙封堵常见病毒端口:134-139,445,500,6677,5800,5900,593,1025,1026,2745,3127,6129 以及P2P下载。

(3) 除非很有必要,否则停止使用ARP,将ARP做为永久条目保存在对应表中。

(4) 使用ARP服务器。通过该服务器查找自己的ARP转换表来响应其他机器的ARP广播。确保这台ARP服务器不被黑。 (5) 使用\代理IP的传输。

(6) 使用硬件屏蔽主机。设置好你的路由,确保IP地址能到达合法的路径。(静态配置路由ARP条目),注意,使用交换集线器和网桥无法阻止ARP欺骗。

(7) 管理员定期用响应的IP包中获得一个rarp请求,然后检查ARP响应的真实性。

(8) 管理员定期轮询,检查主机上的ARP缓存。

(9)使用防火墙连续监控网络。注意有使用SNMP的情况下,ARP的欺骗有可能导致陷阱包丢失。

(10) 在客户机上进行网关IP及其MAC静态绑定,并修改导入如下注册

① 禁止ICMP重定向报文

ICMP的重定向报文控制着Windows是否会改变路由表从而响应网络设备发送给它的ICMP重定向消息,这样虽然方便了用户,但是有时也会被他人利用来进行网络攻击,这对于一个计算机网络管理员来说是一件非常麻烦的事情。通过修改注册表可禁止响应ICMP的重定向报文,从而使网络更为安全。 ② 禁止响应ICMP路由通告报文

“ICMP路由公告”功能可以使他人的计算机的网络连接异常、数据被窃听、计算机被用于流量攻击等,因此建议关闭响应ICMP路由通告报文。

网络攻击越来越猖獗,对网络安全造成了很大的威胁。对于任何黑客的恶意攻击,都有办法来防御,只要了解了他们的攻击手段,具有丰富的网络知识,就可以抵御黑客们的疯狂攻击。一些初学网络的朋友也不必担心,因为目前市场上也已推出许多网络安全方案,以及各式防火墙,相信在不久的将来,网络一定会是一个安全的信息传输媒体。特别需要强调的是,在任何时候都应将网络安全教育放在整个安全体系的首位,努力提高所有网络用户的安全意识和基本防范技术。这对提高整个网络的安全性有着十分重要的意义。

本文来源:https://www.bwwdw.com/article/g9d.html

Top