协议欺骗的防御研究

2024-05-22

协议欺骗的防御研究(共7篇)

协议欺骗的防御研究 篇1

摘要:针对目前局域网中ARP欺骗攻击频繁发作。从实际案例解决问题过程中, 分析了ARP协议原理, 围绕ARP协议欺骗攻击行为的定位, 提出了防御方法及解决策略。

关键词:ARP协议,ARP缓存表,ARP欺骗攻击,防御策略

前段时间朋友公司的网络出现了一些问题, 叫我过去帮忙。先是详细听了朋友的描述后进行如下分析:

(1) 故障现象:

局域网中共有15台计算机连接到一台24口交换机通过一台阿尔法宽带路由器连接到外网其拓扑结构图如下。

设备自启用以来一直都正常工作, 下挂的计算机用户均能上网, 但是有一天下午交换机下挂的所有用户反映无法上网。经查看均出现:"该页无法显示"的提示;部分QQ却没有显示断线, 但发送信息时, 显示超时。

(2) 故障分析及定位:

根据以往的经验我从以下几个方面入手进行定位:

a) ping局域网网关:192.168.18.1, 数据显示正常

b) ping广域网网关及DNS丢包严重

经过上述操作, 判断可能问题出在宽带路由器, 于是重启宽带路由器, 一开始故障排除, 但是没有过一分钟, 同样的故障又出现了。于是, 用一台笔记本不通过交换机直接接到路由上, ping局域网广域网网关及DNS一切都正常, 进行上网测试, 也正常。这时可以断定宽带接入及路由器是正常的。于是初步断定, 可能是网络中某台计算机中了ARP病毒。则确认并定位ARP病毒的工作开始了。

我登陆宽带路由器查看宽带路由器LAN的MAC地址为:00:E0:16:00:08:31, 并记录;在一台计算机上运行ARP-a后, 显示的局域网网关192.168.18.1所对应的MAC地址为00:E0:4C:E7:B4:A4, 与路由器上实际查看的LAN的MAC地址不一样。这样就可以断定, 局域网是受了ARP病毒的攻击。网络中某台主机中毒, 会向局域网发ARP广播包, 告诉局域网的计算机现在的局域网网关IP所对应的MAC地址修改成自己的MAC地址。致使所有计算机发往路由器的包, 全部转发到中毒的计算机, 使全网计算机无法通过宽带路由器正常上网。根据以往的经验, 如果某个端口有大量的数据包, 交换机的指示灯闪烁的频率就会加快, 因为中毒的计算机为了阻止宽带路由器更新下挂计算机的ARP表, 它就会不停的发送ARP包。这样就会造成交换机的某个端口的指示灯, 加快闪烁的频率。根据这个想法开始观察交换机上各个指示灯的情况, 发现有一个端口的指示灯闪烁频率很快, 于是把该端口的网线拔除并重启宽带路由器, 经过一段时间的观察, 局域网内的计算机都能正常上网。但是, 一旦在把此网络插入, 上述的故障又发生了。这下可以断定连接此端口的计算机就是故障的源头, 根据网络线上的标签, 找到此计算机。

(3) 解决方法:

我对定位的计算机, 用专杀工具清除了病毒。之后再次连入网络, 整个网络又开始正常工作了。从此次帮朋友解决网络问题的过程中我思考总结了几点。

目前这种网络破坏行为很常见, 主要发生在局域网中, 很多局域网的用户跟朋友公司的网络一样, 经常出现不能上网, 或者是上网时断时续, 但是如果机器重新启动就又可以上网, 不过几分钟后问题又出现了。究其源头就是困扰网络管理员已久的ARP (Address Resolution Protocol, 地址转换协议) 攻击问题。这种攻击行为利用了ARP协议的工作过程, 一般是内网某台电脑中了病毒, 病毒无规律的自动进行破坏, 或者是内网某台电脑的操作者故意发起攻击。

1. ARP协议欺骗攻击原理

1.1 ARP协议

ARP (Address Resolution Protocol, 地址转换协议) 是OSI参考模型中的第二层数链层的协议, 主要负责将位于OSI参考模型第三层的网络层的IP地址转换成实际的物理地址 (MAC地址) 。在局域网中, 两台主机要互相通信, 必需知道目标主机的MAC地址。实现获得目标主机的MAC地址就是由ARP协议来完成的。ARP协议的基本功能就是通过目标主机的IP地址, 查询目标设备的MAC地址, 以确保通信的顺利进行。

一个局域网中的电脑少则几台, 多则几百台, 怎样才能准确的记录下对方的MAC地址呢?这个功能就需要由ARP缓存表来保证。该表保存了网络中各个电脑的IP地址和MAC地址的对照关系。在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表, 保存着IP地址与MAC地址是一一对应的。

1.2 ARP协议的漏洞

ARP协议是数链层中的一个高效的协议, 其最初的设计是为了方便数据的传输, 设计的前提是在网络绝对安全和信任的情况下进行工作, 则ARP协议存在安全漏洞。

(1) ARP协议是一个无状态的协议。

主机不会检查本身是否发送过请求包, 同时也没有相应的安全机制来检验接收到的数据包是否为合法的应答。只要主机收到ARP应答帧, 就会对本地的ARP缓存表进行更新, 把应答帧中的IP地址和对应的MAC地址存储到缓存表中。

(2) ARP协议请求以广播方式进行

当源主机要和目的主机通信, 而没有目的主机的MAC地址时, 便会向整个局域网广播ARP请求数据包。这使得攻击者可以伪装ARP应答, 与真正的目的主机展开竞争, 以此确定子网中机器什么时候更新ARP缓存, 来实现最大限度的假冒和欺骗。

(3) ARP地址缓存表动态更新

ARP缓存表采用了老化机制, 在一段时间内如果表中的某一行没有使用, 就会被删除。这种老化机制的动态更新方式虽然灵活, 但是同时也带来安全问题。由于正常的ARP地址转换表都是有时限的, 这使得假冒者趁在下次交换之前成功修改了源主机的地址, 就可以进入对方的局域网。

1.3 ARP协议欺骗攻击

ARP欺骗攻击的核心就是向目标主机发送伪造的ARP应答, 并使目标主机接收应答中伪造的IP地址与MAC地址, 更新目标主机的ARP缓存。

ARP欺骗攻击方式:拒绝服务攻击DOS和ARP欺骗攻击:

(1) 拒绝服务攻击DOS

拒绝服务攻击就是使目标主机不能正常响应外部请求, 从而不能对外提供服务的攻击方式。如果攻击者将目标主机ARP的MAC地址全部改为根本不存在的地址, 那么目标主机向外发送的所有数据就会丢失, 使得上层应用忙于处理这种异常而无法响应外来请求, 也就导致目标主机产生拒绝服务。

(2) ARP欺骗攻击

ARP欺骗的目的就是实现全交换环境下的数据监听, 大部分的木马或病毒使用ARP欺骗攻击也是为了达到这个目的。ARP欺骗攻击就是利用ARP协议的缺陷向目标主机发送伪造ARP应答帧, 目标主机接收伪造帧更新ARP缓存表, 此后的地址解析中就会落入预先设计好的陷阱。

2. ARP欺骗攻击定位

当局域网中出现ARP欺骗攻击的时候, 首先要做的是查找攻击的主机, 然后切断改主机的网络连接, 对该主机进行杀毒。查找攻击源的主机, 就是要查找攻击主机的MAC地址, 一般可以通过以下方法来实现:

(1) 防火墙记录查看法

现在有很多中专门针对ARP病毒开发的ARP防火墙软件, 如360ARP防火墙等, 只要在局域网内的任意一台主机上安装此种防火墙软件, 就可以查看到网络是否存在ARP欺骗攻击。如果存在ARP攻击, 防火墙就会记录下攻击主机的MAC地址。

(2) 命令法

在受攻击的局域网中的任何一台机器上运行ARP a命令, 查看主机的网关IP地址所对应的MAC地址是否与网关的真的MAC地址一致。如果一致则表明改主机没有遭受攻击;如果不一致, 那么通过命令行看到的MAC地址就是攻击主机的MAC地址。

(3) 使用抓包工具

用Sniffer工具来抓包, 若发现网络中存在大量的ARP应答包, 并且将大多数的IP地址都指向同一个MAC地址, 则表明存在ARP欺骗, 并且这个MAC地址就是用来进行ARP欺骗的主机MAC地址。

(4) 查看网关设备的ARP缓存表

首先将网关设备中的ARP缓存表导出, 然后查找单个VLAN中是否有重复的MAC地址出现。如果没有重复地址出现, 则表明这个VLAN对应的局域网内不存在ARP欺骗攻击;如果有两个或者多个MAC地址多时一样的, 就说明该MAC地址对应的IP的主机以经被ARP攻击。通过这种方式可以同时在这张ARP缓存表中找到所有ARP攻击的源主机的MAC地址。

3. ARP协议欺骗攻击防御策略

(1) 对已定位的计算机, 用专杀工具清除病毒或格式化后重装系统。彻底清除ARP欺骗病毒后再连入网络。

(2) 全网的计算机都安装ARP专杀工具, 或者ARP防火墙。

(3) 在确保网络正常情况下, 用网络工具扫描局域网内所有计算机包括 (包括网络设备) IP地址及对应的MAC地址做好备份。以便以后发生类似故障可以及时、准确的定位源头。

(4) 由于局域网内计算机都是静态分配IP, 可以对IP地址和MAC地址进行静态绑定, 内容如:"arp-s IP地址对应的MAC地址", 把所有局域网内的计算机IP和MAC做个批处理并放入各自计算机的启动项。

(5) 网关路由器也有一张ARP表格, 用来记录内网计算机的IP和MAC地址, 如果网关路由器受到ARP欺骗, 那么网关路由器将不能把数据包发送到正确的主机而是发送到错误的假MAC地址去了。所以在对计算机进行静态ARP绑定的同时, 也要对网关路由器进行绑定。进入输入宽带路由器地址进入到路由器管理界面, 选择DHCP服务器---静态地址分配;将网络上计算机的IP地址和MAC地址都填写进去。点击保存即可。

(6) 使用安全拓扑结构。将网络分为不同的网段, 一个网段仅由能互相信任的计算机组成, 各网段之间通过路由相互连接。广播的数据包不能跨越路由器, 因此ARP请求报文只能在一个网段里传送, 这在一定程度上增加了ARP欺骗攻击的难度。

(7) 数据加密传输

通常情况下, ARP欺骗攻击导致数据包从源主机流向攻击方, 使得网络通信被非法截取和监听, 因此可以使用数据加密传输, 即使攻击方得到发送的通信数据包, 也不能解密获得有用的信息。

(8) 提高安全意识, 养成良好的安全习惯

对病毒源头的机器进行处理、杀毒或是重新安装系统;安装杀毒软件并经常更新病毒库, 及时安装系统补丁;为系统设置密码;关闭一些不需要的服务;不随便打开或运行陌生邮件、可疑文件和程序。

4. 结束语

本篇文章通过实际解决案例入手, 分析了ARP协议的工作原理, 探讨了基于ARP协议漏洞的欺骗攻击的实现过程, 提出了定位ARP欺骗攻击的定位方法, 最后给出了多种可行的安全防御策略方法, 对于彻底的防御ARP欺骗攻击, 一般需要多种方案配合使用。若想要从根本上解决这一问题, 最好的方法就是重新设计一种安全的地址解析协议, 现在在IPV6中已经考虑到这个问题。采用了更安全的方式杜绝来自底层的攻击。

参考文献

[1].曹洪武.ARP欺骗入侵的检测与防范策略[J].塔里木大学学报, 2007 (2)

[2].李英.浅析ARP协议及其欺骗原理[J].中国科技信息, 2007 (14) ;126-127.

[3].秦元.ARP的攻击原理及防范措施.电脑知识与技术

[4].盖凌云, 陶飞.基于ARP协议的攻击及防范措施[J].信息安全与通信保密, 2007, (4) :79-80

协议欺骗的防御研究 篇2

随着网络的蓬勃发展, 社会对网络的依赖越来越严重, 但同时ARP欺骗类等病毒也给Internet甚至人们的生活和工作带来了很大的冲击。A R P欺骗类病毒一般属于木马病毒, 不具备主动传播的特性, 不会自我复制, 但是由于ARP病毒发作时, 会向全网发送伪造的ARP数据包, ARP病毒所到之处, 网络故障频繁, 网速突然变慢, 网络连接时断时续, 严重时可导致整个局域网瘫痪, 甚至造成无法弥补的损失。因此, 如何采取行之有效的措施防御ARP病毒, 已成为近期网络安全工作的重中之重。

1 ARP协议概述

1.1 概述

地址解析协议 (Address Resolution Protocol, ARP) , 它工作在数据链路层, 在本层和硬件接口联系, 同时对上层提供服务。在以太网中以太网设备并不识别32位的IP地址, 数据帧从一台主机到达网内的另一台主机, 主机是根据48位的MAC地址来确定接口的, 而不是根据32位的IP地址, 即数据包是靠48位MAC地址寻址的。因此在以太网中一个主机要和另一个主机进行直接通信, 必须知道目标主机的MAC地址。该MAC地址是通过ARP协议获得的, ARP协议的基本功能就是通过目标设备的IP地址, 查询目标设备的MAC地址, 进而建立IP地址与MAC地址之间的映射关系, 以保证通信的顺利进行。

1.2 ARP工作原理

下面看一个简单的例子来理解ARP的原理和作用。

(1) 在图1中所示有两台主机, 假定主机A的IP地址是192.168.1.1, 它准备和服务器C (IP:192.168.1.2) 进行通信, 主机A首先要检查本地的ARP缓存表, 查看是否有IP为192.168.1.2的ARP记录, 如果有, 就转到 (4) , 直接将数据包发送到这个M A C地址。

(2) 如果没有, A主机就向本地网段广播一个ARP请求, 广播包的目的MAC地址是FF-FF-FF-FF-FF-FF, 该ARP广播包里包含服务器C的IP地址。处在同一网段中的所有主机均会接收到该数据包。这样以此来请求192.168.1.2的MAC地址。

(3) 此时, 网段内的每台主机都会根据收到的广播包与自己的IP地址进行比较, 但只有服务器C会发送一个ARP响应数据包, 服务器C将自己的MAC地址响应给主机A, A接收到后更新自己的ARP缓存表, 并且获得与C的IP相对应的M A C地址。与此同时, 服务器C也将主机A的M A C地址和IP地址添加到自己的ARP列表中, 如果ARP表中已经存在该IP的信息, 则将其覆盖。

(4) 这样主机A查询本地的ARP表, 获取IP:192.168.1.2所对应的MAC地址, 然后封装在以太网头结构中, 之后再查找交换机的MAC地址表, 最后就通过相应端口把数据直接发送给服务器C。

那么这时使用arp-a命令来查看主机A的ARP缓存表, 就多出一条192.168.1.2所对应的MAC地址表项。当然, 如果你的数据包是发送到不同网段的目的地, 那么就一定存在一条网关的IP-MAC地址对应的记录。知道了ARP协议的作用, 就能够很清楚地知道, 数据包向外传输要依赖ARP缓存。一旦ARP缓存受到非法篡改, 数据包就很难向外发送了。

2 ARP协议的缺陷

因为局域网中的通信都是基于M A C地址的, 主机中的ARP缓存表通常是动态的, 可以手工添加、删除记录, 并且主机不会检查自己是否发送过ARP请求包, 也不管自己所接收的是否是合法的A R P应答, 只要所收到目标M A C是自己的ARP reply包或arp广播包, 都会接受并缓存。例如:假冒ARP应答, A未发ARP请求包, 有人假冒B主动向A发应答包, 这时A会更新自己的M A C地址表中主机B的M A C地址。这个缺陷导致了任何主机都可以向主机A发送假冒主机B的ARP应答包。所以一旦有人发送一个自己伪造的ARP应答, 网络可能就会出现问题。协议设计者当初并没有考虑到这些安全问题, 那么这就为ARP欺骗提供了可能。

3 欺骗形式

3.1 同网段下与网关关联的ARP欺骗

下面我们结合图2, 通过两个典型的实例分析同网段下与网关关联的ARP欺骗过程。

3.1.1 利用ARP reply广播包

利用ARP协议自身的缺陷, 攻击者C发送ARP reply广播包, 该包中的源IP地址是192.168.1.254、源MAC地址是00-3C-AA-00-36-02 (网关的虚假MAC地址) 、目的MAC地址是FF-FF-FF-FF-FF-FF。该网段下其他主机无条件接收ARP reply广播包, 会将攻击者C的源MAC地址00-3C-AA-00-36-02和源IP地址192.168.1.254添加到自己的ARP缓存表中, 自动更新自身的ARP缓存表。如果该欺骗一直持续下去, 那么该网段下所有主机向Internet发送的数据包总是发送到错误的网关硬件地址上, 自然就不能够访问Internet了。

3.1.2 利用ARP request广播包

攻击者C发送ARP request广播包, 该包中的源IP地址是192.168.1.254、源MAC地址是00-3C-AA-00-36-02 (网关的虚假MAC地址) 、目的MAC地址是FF-FF-FF-FF-FF-FF, 同样该网段下所有主机会无条件接收ARP request广播包。因为是ARP request广播包, 网段内其他主机会将攻击者的源MAC地址00-3C-AA-00-36-02和源IP地址192.168.1.254添加到自己的ARP缓存表中, 自动更新自身的ARP表。如此一来, 同样也就不能够访问Internet了。

3.2 基于以太网交换机的ARP欺骗

由于以太网交换机在数据传递过程中不用检查网络层的包头信息, 而是直接由第二层帧结构中的MAC地址来决定数据的转发目标, 连接交换机的各主机的MAC地址是存储在交换机的M A C地址表中, M A C地址表中记录的是各主机M A C地址和对应交换机的端口编号, 故也称为MAC地址-端口表。当交换机接收到源主机的一个数据帧时, 他会首先检查数据帧里的目标M A C地址, 如果该地址已经缓存在M A C地址表中, 他就会按照表中MAC地址对应的端口进行转发;如果该地址未缓存在M A C地址表中, 交换机就会利用A R P协议向所有其他端口发送目标MAC地址广播查询信息, 目标主机接收到该广播信息后, 会对交换机直接进行响应, 此时交换机会将目标主机的M A C地址以及对应的端口全部记录在其M A C地址中, 之后根据M A C地址对应的端口进行转发;所以交换机会自动把学习到M A C地址写入到M A C地址表里。那么为了达到网络侦听或者ARP欺骗的目的, 攻击者只要改变交换机上的MAC地址和端口的对应表, 则可以接收到本来无法进行侦听的数据。

另外交换机中的MAC地址表的大小是固定的, 这就导致了ARP欺骗的另一种隐患, 由于交换机可以主动学习主机的M A C地址, 并建立和维护这个M A C地址表, 当攻击者向交换机连续发送伪造的ARP应答数据包 (即制造连续大量的虚假MAC地址) , MAC地址表就会被迅速填满, 这样会导致交换机的MAC地址表溢出, 造成交换机负载过大, 网络缓慢和丢包甚至瘫痪。针对这类欺骗一般在网关上做MAC-IP-PORT绑定。

3.3 跨网段针对主机的ARP欺骗

如图3所示, 假如攻击者希望假冒主机A的身份192.168.11, 来登录服务器C192.168.1.2所开启的终端服务, 但是路由工作的机器和纯粹二层的工作机制不安全相同, 沿用同网段环境的攻击方式时, 路由器会发现攻击者所处的网段和服务器所处的网段相同而不会转发该地址。

首先, 攻击者需要ICMP重定向的协助, 并将同网段下的ARP欺骗和ICMP重定相结合, 以达到跨网段进行ARP欺骗的目的。在介绍跨网段ARP欺骗之前, 首先要介绍一下另外一种常见的攻击手段:ICMP重定向。

一般情况下主机的路由表中只有一个默认路由, 当主机的默认路由使用非优化路由时其网关将发送ICMP重定向报文, 主机会根据默认网关所发送的信息被动地改变路由表。这样攻击者可以有效地利用ICMP重定向把主机的连接转向一个不可靠的主机或路径。

对于特定的路由器而言, 在关闭IP路由的情况下, 路由器会接收伪造的ICMP重定向, 因此如果攻击者发送伪造的ICMP重定向报文, 路由器将被动的修改自身的路由表。这样攻击者就可以破坏或截获来自路由器上的通信。

介绍完ICMP重定向, 下面介绍如何利用ICMP重定向进行跨网段ARP欺骗, 首先攻击者需要将自己的非法IP数据包的TTL变得稍大一些, 然后寻找目标主机A的漏洞后导致目标主机A死机。攻击者发送一个ARP报文, 将IP地址192.168.1.1和攻击者主机的MAC地址构造为ARP报文。这时, 每台主机都只会在局域网中找这个地址而根本就不会把发送给192.168.1.1的IP包交给路由器。他还得构造一个ICMP重定向广播, 于是攻击者通过伪造ICMP重定向报文通知网络中的主机:“到192.168.1.1的最短路径不是局域网, 而是通过路由器, 因此优化本机路由表将指向192.168.1.1的路由重定向到路由器上”。在目标主机A所在网段内的主机接收到这个ICMP重定向报文后, 开始被动的修改本地的路由表, 将目的地址为192.168.1.1的数据包全部发往了路由器, 攻击者ARP欺骗的第一步就成功了, 接下来是如何获取主机A和服务器C之间进行身份认证的用户名和口令了。

4 ARP欺骗解决方案

本文以校园网的简易拓扑结构为例阐述ARP欺骗防御方案。

网络拓扑结构如图4。

4.1 采用VLAN技术

因为一个VLAN就是一个独立的广播域, VLAN之间的单播和广播都不能直接到达对方的区域, VLAN能够最大限度的控制广播的影响范围, 所以如图4所示在防火墙下联处增加一台核心交换机, 按照部门做好VLAN划分, 保证每个部门独立分配一个单独的IP地址段, 这样采用VLAN技术将各部门之间的客户机进行分离, 保证各部门之间的VLAN相对独立, 从而减少ARP广播风暴的发生, 轻松应对ARP病毒的攻击, 增强网络的安全性。

例如:在三层交换机 (DCRS-5526S) 划分虚网, 实现端口分离, 防范ARP欺骗。

(1) 划分VLAN10

(2) 划分VLAN 20等方法同上

(3) 设置T R U N K端口

注:对于一些特定的交换机, 可以不启用vlan1, 因为V L A N攻击往往是从这个V L A N发起的。

(4) 添加默认路由

(5) 另外, 如果在上述校园网中核心设备采用了路由器, 一般路由器具有DHCP snooping机制, 使用DHCP snooping来绑定A R P表可以有效防范A R P欺骗。本文在介绍跨网段ARP欺骗时重点介绍了ICMP重定向, 那么对于路由器而言, 还应该关闭ICMP重定向功能 (no ip icmp redirect) , 这是防范ICMP重定向以及跨网段ARP欺骗的有效手段。当然还可以使用具有ARP防护功能的路由器。

4.2 接入层网络设备上实现IP+MAC+端口绑定

例如:在二层交换机 (DCS-3629S) 实现mac+ip+port绑定, 其中客户机A连接在DCS-3629S端口5上。把客户机的ip和M A C绑定在端口5上。

(1) 打开交换机的防火墙功能

(2) 添加访问列表

(4) 把访问列表应用到端口

4.3 客户机安全设置

4.3.1 客户机安装360ARP防火墙

该软件在系统内核层直接拦截本机和外部的全部ARP攻击, 并提供本机ARP木马病毒准确追踪和及时查杀, 保持网络畅通及通讯安全。

4.3.2 客户机ARP静态绑定

对于客户机的配置, 最常用的方法就是做IP和MAC的静态绑定, 例如把其他主机以及网关的IP和MAC都做静态绑定。下面仅针对大多数用户介绍一种在命令提示符下绑定ARP缓存表的方法。

首先:在图4客户机A的命令提示符下输入arp-a命令, 显示如图5。

其中“dynamic”代表动态缓存, 即这项在收到一个ARP包时会被动态修改。如果“Type”项变成了“static”静态类型。那客户机接受到ARP包时是不会改变本地ARP缓存表, 从而有效的防止ARP欺骗。那么静态缓存表的建立用arp-s命令。例如:执行“arp-s 192.168.10.254 00-03-0f-0d-3a-e9”, 在本地静态绑定网关IP和MAC, 当然用同样的方法也可以绑定其他主机的IP和MAC, 进一步提高局域网的整体安全性。不过由于静态ARP缓存表在每次重启后都会自动恢复原来设置, 怎么办?这时我们可以编写一个简单的dat文件, 添加到启动项中。这样, 开机自动执行批处理文件并静态绑定A R P表。

4.3.3 关闭ICMP重定向

对于Windows主机而言, 一般还要修改注册表关闭ICMP重定向功能, 防范跨网段针对主机的ARP欺骗。

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters EnableICMPRedirect=dword:00000001 (默认值) , 其中默认值为1, 表示主机会改变其路由表以响应网络设备 (路由器) 发送给她的ICMP重定向报文。建议把值修改为0。

5 结论

综上所述, 正是因为ARP协议以及ARP缓存表自身的缺陷, 所以给ARP欺骗的滋生提供了温床, 给局域网的安全带来很大的隐患。因为网络安全是一种过程, 它遵循“木桶”原理, 所以我们不但要掌握它的基本原理, 还要从多方面入手, 杜绝ARP欺骗, 那么本文就从客户端、VLAN、网络设备等多个方面同时建立起有效的立体防御机制, 在一定程度上来保障网络安全。

参考文献

[1]免费论文网.http://www.lw-cn.cn.

[2]李伟编著.网络安全实用技术标准教程.清华大学出版社.2006.

[3]谭敏, 杨卫平.ARP病毒攻击与防范[J].网络安全技术与应用.2008.

[4]石硕主编.交换机/路由器及其配置 (第2版) .电子工业出版社.2008.

协议欺骗的防御研究 篇3

1 ARP协议的工作原理和典型应用

ARP(Address Resolution Protocol)地址解析协议)是TCP/IP协议族中的一个重要协议,ARP是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题,在IPV4版本下,ARP协议的功能是完成从32位的IP地址到48位的MAC地址的转换。

1.1 ARP协议工作原理

在局域网中的每台计算机都同时拥有两个地址,一个是MAC地址,另一个是IP地址。MAC地址就是以太网卡硬件地址(Physical Address),它在生产时就已经固化在网卡上的ROM中,是全球唯一的。IP地址是网络层和以上各层使用的地址,是一种逻辑地址,它是由软件分配的,根据使用情况需要是可以更改的。不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。每一个主机都设有一个ARP高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的IP地址到硬件地址的映射表。当主机A欲向本局域网上的某个主机B发送IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址。如有,就可查出其对应的硬件地址,再将此硬件地址写入MAC帧,然后通过局域网将该MAC帧发往此硬件地址。为了减少网络上的通信量,主机A在发送其ARP请求分组时,就将自己的IP地址到硬件地址的映射写入ARP请求分组。主机B收到A的ARP请求分组时,就将主机A的这一地址映射写入主机B自己的ARP高速缓存中。这对主机B以后向A发送数据报时就更方便了。

1.2 使用ARP的四种典型情况

如果所要找的主机和源主机不在同一个局域网上,那么就要通过ARP找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做。从IP地址到硬件地址的解析是自动进行的,主机的用户对这种地址解析过程是不知道的。只要主机或路由器要和本网络上的另一个已知IP地址的主机或路由器进行通信,ARP协议就会自动地将该IP地址解析为链路层所需要的硬件地址。使用ARP有以下四种情况如图1所示:

发送方是主机,要把IP数据报发送到本网络上的另一个主机。这时用ARP找到目的主机的硬件地址,如图1:主机B与主机C之间发送信息。

发送方是主机,要把IP数据报发送到另一个网络上的一个主机。这时用ARP找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成,如图1:主机A与主机B或主机C之间发送信息。

发送方是路由器,要把IP数据报转发到本网络上的一个主机。这时用ARP找到目的主机的硬件地址。如图1:路由器R1与主机A之间发送信息或路由器R2与主机B或主机C之间发送信息。

发送方是路由器,要把IP数据报转发到另一个网络上的一个主机。这时用ARP找到本网络上另一个路由器的硬件地址。剩下的工作由这个路由器来完成,如图1:路由器R1与路由器R2之间发送信息。

2 ARP协议的漏洞

TCP/IP协议栈中的的ARP协议,其最初设计是建立在同一个局域网内各站点之间互相信任的基础之上,仅考虑其传输效率,而缺乏必要的认证和鉴别机制,导致ARP协议的安全性能相当脆弱,主要体现在以下几个方面:

(1)ARP协议的请求包与应答包通过广播形式进行传送

当一台计算机发送的ARP请求包是以广播的形式进行传送,在整个局域网内全部的计算机都能接到这些请求如图2所示:

网络中一些图谋不归站机就有发送应答包的机会,目标计算机里ARP缓存的内容就有可能被改变。当一台计算机发送的ARP应答包是以广播的形式进行传送,局域网计算机里面的ARP缓冲区的IP与MAC联系就会发生改变,网络就会出现异常情况。

(2)ARP协议的回复与请求不需要相互关联。

不管局域网内的某站点有没有发出请求数据,在同一个局域网内的任何站点都可以向目标站点发送ARP的应答数据,收到来一个局域网站点的ARP回复包,就会修改ARP缓存区保存的IP与MAC的关系,并不会考虑这个ARP回复包是否是对应的请求包引起的,目标计算机里ARP缓存的内容随时都有可能被改变。

(3)ARP缓冲区当中的IP与MAC对应关系是动态变化的。这即是优点也是缺陷。在ARP缓冲区当中的IP与MAC对应关系是不断地进行动态的更新,如果有数据在更新之前被篡改了,那么在局域网计算机的通信就不能完成正常通信。

3 基于ARP的攻击方式

校园网是一种局域网,校园网的数据通讯使用ARP协议。由于ARP协议自身的设计缺陷,利用这些ARP漏洞,可以实现多种ARP攻击校园网,达到截获校园网数据的目的。常见的基于ARP的攻击有如下几种方式:

3.1 ARP洪泛攻击

局域网中的恶意用户和向校园网发出大量的ARP报文,导致整个校园网络通信被阻断,学校服务器瘫痪,最后使得整个学校的用户不能登陆互联网。

3.2 伪造网关

通过伪造虚假的网关或主机,向校园网里的所有计算机或者终端发送ARP伪造的网关,使校园网用户发送数据到了假的网关,造成用户无法上网。

3.3 ARP病毒攻击

ARP病毒是利用ARP协议的漏洞进行传播的一类病毒。局域网中有人使用ARP欺骗的木马程序,ARP攻击和木马病毒组合,对校园网造成更大的危害。

3.4 IP地址冲突

校园网中的一台主机发送更改的ARP报文,将另一个伪装的MAC地址和目的主机的IP地址做映射,这样系统就会检测到同一个IP地址对应两个不同的MAC地址,造成IP地址冲突。如果机器使用的是Windows操作系统,则在系统中弹出警告对话框,如果是Linux/Unix操作系统,则会给用户发送mail进行警告用户,并且出现整个网络的暂时中断。

3.5 拒绝服务攻击

拒绝服务攻击就是让网络中的计算机不能够正常回应其他计算机提出的要求,从而不能提供服务。如果校园网中的攻击者将目标主机ARP缓存中的MAC地址全部改为根本就不存在的MAC地址,那么目标主机会因为错误的MAC地址造成向外发送的数据全部丢失,从而导致目标主机产生拒绝服务。

4 ARP攻击的防御策略

根据ARP攻击方式的多样性,我们为了尽可能提高校园网的安全性,提出多种防御策略,而且其中某些方案在特定的条件下的防御效果十分显著。

4.1 划分虚拟局域网(VLAN)和端口绑定

虚拟局域网VLAN是由一些局域网网段构成的与物理位置无关的逻辑组,采用划分VLAN和把计算机和交换机一对一的方式进行绑定,在静态VLAN中,由网络管理员根据交换机端口进行静态的VALN分配。把校园网划分成多个VLAN,缩小了网络的广播范围,即使网络中发生了ARP欺骗攻击,也只能在很小的一个虚拟范围,不会对整个校园网造成严重的破坏。基于端口的VLAN配置简单,网络的可监控性强。但缺乏足够的灵活性,不适用于便携式电脑,而且这种方法并不能使网关免受ARP病毒的攻击,如果网关受到ARP病毒的攻击,同样会导致校园网的瘫痪。

4.2 设置静态ARP缓存表

基于ARP协议攻击最根本的原理就是改变IP地址与MAC地址的正确对应关系,可以设置目标主机的ARP缓存中设置静态地址映射记录来防止IP地址与MAC地址的正确对应关系的改变。在校园网中两个站点发送数据前就不需要通过向所在的局域网广播ARP请求来寻找MAC地址。但这种方法手工工作量很大,维护十分繁琐。

4.3 个人ARP防火墙

现在很多杀毒软件都设计出了ARP防火墙的模块,可以交效的避免遭受攻击者所冒充的假网关的攻击,个人ARP防火墙的局限性:个人防火墙只关注了本机的安全性,并没有考虑网关的安全,防火墙本身也有可能绑定一个假冒的网关,防火墙比较适用于个人用户使用,对整个校园网网络来说不能起到防御的作用。

4.4 PV6的应用

在IPV6版本下,定义了邻居发现协议(NDP)。IPv6地址解析技术工作在OSI参考模型的网络层,与链路层协议无关,加强了地址解析协议与底层链路的独立性,在第三层实现地址解析可以利用三层标准的安全认证机制来防止ARP攻击和ARP欺骗。但IPv4和IPv6是两种相互不兼容的协议,两者在本质上就不能互通,这对IPv6的普及造成了很大的困难。

5 结束语

总之,校园网的安全是十分重要的,校园网作为一个大型局域网非常容易受到ARP攻击,文中所采用的ARP欺骗的侦测及防御方法,对校园网的建设有具有一定的应用价值,在用户、硬件设备、网关等之间建立不同的ARP防御体系,尽最大限度保障校园网的安全畅通,尽可能降低ARP攻击。

参考文献

[1]谢希仁.计算机网络[M].6版.北京.电子工业出版社,2013,6.

[2]边浩江.ARP欺骗的侦测及防御方法的研究与实现[D].昆明:昆明理工大学,2015.

[3]郑森森.基于ARP欺骗的数据截获与高速转发技术研究[D].四川师范大学,2015.

[4]单国杰.基于ARP欺骗攻击的防御策略研究[D].山东师范大学,2011.

协议欺骗的防御研究 篇4

1 ARP欺骗攻击手段极其对校园网的影响分析

校园网内的用户进行通信时首先需要将用户的IP地址对应的转换为MAC地址才能够在两者之间建立通信链路进行数据通信, 这一过程需要使用ARP协议来完成。ARP欺骗即利用该协议缺陷不断向网络内其他用户发送伪造的ARP应答包来扰乱其他用户的缓存表, 进而达到对用户监听或攻击的目的。

校园网的网络环境开放性高, 管理相对宽松, 学生用户数大, 但是安全意识参差不齐, 一旦出现ARP欺骗攻击, 会对校园网带来非常大的安全隐患。目前校园网常见的ARP欺骗攻击方式主要体现在以下几个方面。

⑴对其他主机用户进行通信监听和数据包篡改。ARP协议是校园网所使用的通信协议之一, 其不是病毒, 因而安全防护软件不会对其进行查杀。利用这一特点, 感染ARP欺骗程序的用户主机会不断的向校园网内其他用户主机发送相应的ARP协议, 通过该协议其可以监听到其他用户的通信数据, 更为严重的是, ARP欺骗病毒还有可能对所监听到的数据包进行非法篡改, 在其中添加恶意网址等信息。

⑵冒充主机, 阻碍其他用户的网络访问。ARP欺骗攻击病毒会在局域网内伪造一台虚假的主机, 同时频繁在局域网内对其IP地址与MAC地址进行广播。

⑶数据截取。ARP欺骗攻击还有可能将被感染主机插入两台正常主机的通信链路之间, 正常主机之间的通信需要通过被感染主机的转发才能实现。当目标主机是DHCP服务器时, 被感染主机就有可能将正常用户引导到钓鱼网站, 从而窃取用户的重要账号资料。

2 ARP欺骗防御技术

综合考虑校园网的网络特点, 可以通过配置路由交换设备等从根本上消除ARP欺骗攻击对网络用户的影响。

2.1 双向静态映射

校园网通常是由多个层次构成的, 在可控的层级内为路由设备建立静态MAC地址映射并对其进行手动维护可以有效防止ARP欺骗攻击所带来的ARP缓存表动态更新状况的发生。鉴于ARP攻击的目标分为路由和目标主机两种, 故静态IP-MAC地址映射也分为两种。但是实际执行过程中静态映射的设置需要同时修改目标主机、网关以及路由器管理页面的IP-MAC等三部分内容。需要注意的是, 双向静态映射建立完毕后, 网络管理相关人员需要按照校园网使用情况对ARP缓存进行定期检查和更新。

2.2 VLAN和端口隔离技术

校园网中的网络通信分为网内通信、网外通信两种, 为满足用户的网络通信需求同时降低ARP欺骗攻击风险, 可在网络交换设备中部署VLAN技术。该技术可以将校园网内的用户主机分成多个小的局域网段, 网段内用户可以进行自由通信, 网段间用户不能直接通信, 这样ARP攻击风险就被限制在可控范围, 某一网段的ARP欺骗攻击不会影响到其他网段用户。

进一步的, 在网段间通信时可以使用端口隔离技术, 该技术既可以保证用户通过VLAN端口与外网通信, 还能够将用户主机端口的广播限制在其所在的VLAN内, 避免不同VLAN之间的相互探测, 进而阻止ARP欺骗攻击行为的出现。

2.3 DHCPSnooping技术

为便于使用, 某些学校或某些环境下的网络用户IP地址是由DHCP服务器动态分配的, 这种情况下就无法使用IP-MAC双向静态映射的方式来防御ARP欺骗攻击。此时可以使用DHCPSnooping技术来增强校园网的网络安全性能, 避免ARP攻击造成的大范围网络故障出现。

该技术会在DHCP服务器中建立一个DHCPSnooping绑定表, 表中将用户相关信息分为可信区域和不可信区域。其中可信区域包含了DHCP服务器为信任主机分配的IP地址及其MAC地址。在网络内用户发送ARP报文时, 交换机等设备会对报文中的IP地址和MAC地址进行匹配检查, 只有通过检查的主机信息才能够被发送出去。未通过检查的用户相关信息会被记录到不可信区域进行记录和管理。

3 校园网用户防ARP欺骗攻击

为提升校园网的安全性能, 避免ARP欺骗攻击对用户带来安全威胁, 在用户端也应该采取必要的安全防护措施。具体来说, 用户应该对系统和应用程序等进行定期检测与漏洞修复, 提升操作系统本身的安全性能。同时用户还可以安装ARP防火墙、病毒防护等软件。

4 总结

ARP欺骗攻击是校园网内最为常见的攻击方式之一。鉴于ARP协议本身存在缺陷, 故针对ARP的欺骗攻击是无法避免的。但是必要的安全防护策略可有效提升校园网的安全性能, 降低ARP欺骗攻击所带来的损失。

摘要:ARP欺骗攻击是校园网中最为常见的攻击方式之一。本文首先对ARP欺骗攻击实现原理、攻击方式、造成的影响等内容进行了介绍, 然后重点对几种有效的、可防止ARP欺骗攻击的安全防护技术进行了研究和分析。

关键词:ARP欺骗,校园网

参考文献

[1]马丽君.基于校园网ARP欺骗分析及防御技术[J].数字技术与应用, 2012 (02) .

[2]姚圣军.浅析ARP欺骗的原理及校园网ARP欺骗的防御方法[J].教育观察, 2012 (7) .

[3]方禹润.浅谈高校校园网中ARP欺骗的检测和防范[J].黑龙江科技信息, 2011 (12) .

常见协议欺骗的研究 篇5

Internet网络的飞速发展给人们带来了方便快捷的信息获取方式, 但是同时也带来了不容忽视的网络安全问题。由于Internet采用的TCP/IP协议在设计之初并没有过多的考虑安全问题, 导致了TCP/IP中某些协议存在缺陷或者漏洞。由于这些缺陷和漏洞是协议本身固有的, 很容易被攻击者利用, 所以研究和分析这些协议欺骗技术对防范网络攻击、提高网络安全有很好的指导意义, 也可以帮助人们不断完善网络协议的设计。

所谓协议欺骗, 是指按照通信双方的协议, 冒充其中一方与另外一方进行通信的行为。协议欺骗的优势在于不可追踪, 还可以隐藏端口扫描, 严重危害网络安全。

1 常见协议欺骗分析

网络通信很大程度上都依赖于一些映射关系, 如MAC地址与IP地址的映射, 域名与IP地址的映射, 路由表映射等。攻击者有目的的对这些映射表进行破坏, 就能构成对网络的威胁。攻击者通过伪装成真正的通信源, 插入到网络通信双方之间, 达到破坏或监听的目的。常见的协议欺骗主要有IP欺骗, ARP欺骗以及DNS欺骗。

1.1 IP欺骗

IP欺骗技术就是通过伪造某台主机的IP地址骗取特权从而进行攻击的技术。IP欺骗通常可以分为三个阶段来进行。第一阶段主要利用被攻击主机间的信任关系, 第二阶段则通过IP地址伪造技术, TCP SYN攻击手段来插入到通信双方之间。第三个阶段就是获得被攻击主机的信任后, 向其发送任意数据, 或者监听网络数据。在网络中, 很多应用程序认为数据包能够使其自身沿着路由到达目的地, 而且应答包也可以回到源地, 那么源IP地址一定是有效的, 也就建立了信任关系。而伪造IP地址也很容易实现, 创建一个IP报文在源地址里添上虚假的IP地址即可。

如图1, 假设在一个网段有A、B、X三台主机, A给B某些特权, X也想得到这些特权, 那么X就可以利用IP欺骗来达到目的。首先, X对B进行TCP SYN攻击, 让B失去工作能力, 也就是常说的DoS攻击, 然后冒充B, 以B的IP地址向A发起TCP连接, 启动时指定一个序列号为N的SYNB包, A收到后响应, 给B回复一个序列号为N’ (启动时指定) 的SYNA和N+1的应答ACKA包。然而此时的B已经被X给“淹没了”, 无法接收数据包, 只能丢弃。但是X要完成TCP的“三次握手”连接。就得知道N’的值。此时X就可以利用TCP序列号的猜测技术。由于协议本身的, 也是无法避免的缺陷, 只要猜测的序列号大于N’, 连接就会建立, 这样X就得到了想要的特权。由此可以看到IP欺骗的特点, 由于欺骗者无法获知被攻击者的响应, 因此只能通过猜测的方式进行, 所以IP又可以被称作盲目攻击。

1.2 ARP欺骗

ARP (地址解析协议) 是TCP/IP中的地址解析协议, 在局域网中负责IP地址和MAC地址之间的映射。在装有TCP/IP的主机里, 都有一个缓存表, 记录本地局域网内的主机IP地址M A C地址之间的映射。如表1所示。

ARP欺骗是指利用ARP协议的漏洞, 通过向目标主机发送虚假的ARP报文, 达到监听或者截获目标主机数据的攻击手段。ARP协议本身就有很大的缺陷: (1) 无连接。攻击者可以随意的发送ARP包, 只要收到新的ARP包, 就更新本机的ARP列表。 (2) 无认证。出于效率及简单的考虑, 主机对ARP包不做合法性检查。 (3) 广播。这个问题是无法避免的, 正是因为不知道, 才要进行ARP广播请求, 而广播请求正是攻击者的手段。

A R P欺骗的原理就是攻击者发送一个伪造的A R P数据包, 使得主机根据错误的信息更新了自己的ARP缓存表, 从而达到攻击的目的。如图2, 假设局域网中有A、B、C三台主机, B和C在正常通信。A希望能嗅探B和C的通信数据, 则A就可以伪装成C向B发送一个ARP应答报文, 其地址对应关系为C的IP——A的MAC。同样A也向C发送一个虚假的ARP应答报文, 地址对应格式为B的IP——A的MAC。主机B、C收到后更新自己的ARP缓存表。当B和C再次通信时, 实际上都发送给了A。这样, 就达到了嗅探的目的。当然为了保证B、C的通信不被中断, A还必须将通信的数据分别在转发给B和C。实际上A做了一个“中间人”攻击。由于ARP表会定期更新。所以A也需要在一定时间间隔不断的向B、C发送虚假的ARP应答报文, 达到继续欺骗的目的。

ARP欺骗也可以造成拒绝服务 (DoS) 攻击。攻击者冒充主机B向主机A不断的发送A R P应答报文, 但是其M A C地址是一个不存在的地址。这样变阻断了B和A之间的通信。如果B主机是网关的话, 就会导致A上不了网。

1.3 DNS欺骗

DNS是Internet的基础服务。它负责域名和IP地址之间的映射关系, 大大方便人们的使用。但是由于协议本身的缺陷, 没有提供适当的信息保护和认证机制, 使得DNS容易收到攻击。虽然IETF的域名工作组提出了域名系统安全扩展协议DNSSEC, 但是它的效率, 密钥管理方面还存在一定的问题, 距离大规模应用还有一定的距离。

由于DNS只使用一个序列号来进行有效性鉴别, 序列号由客户端生成并由服务端来返回结果, 客户端用它来确定响应与查询是否相匹配。并且DNS有自己高速缓存机制, 当一个域名服务器收到一个域名和IP的映射后, 会放入到高速缓存中, 如果再次遇到对此域名查询的请求时, 就直接使用缓存中的数据无需重新查询。这样就可以利用序列号来进行攻击。DNS协议中定义了序列号ID是用来匹配请求数据和响应数据的。客户端首先以特定的ID向服务器发送域名查询数据包, DNS服务器在查询之后以相同的ID向客户端返回结果。客户端根据ID来确定查询是否与请求匹配。如果匹配则加入到自己的缓存中, 否则丢弃。所以如果攻击者能够在真正的DNS服务器向客户端返回查询结果之前向客户端发送ID匹配的DNS虚假响应包, 就可以将客户端带到攻击者所希望的网站, 从而对客户机进行攻击和破坏。可以看出DNS欺骗攻击的方式关键是知道序列号ID, 这可以通过嗅探来得到。

如图3所示, 假设A要查询的域名为www.baidu.com, 伪造IP为192.268.1.1。其攻击过程如下: (1) A以一个序列号ID向域名服务器发送对www.baidu.com的解析请求。 (2) 攻击者B嗅探到这个请求, 便根据ID向A发送假的解析应答包。将www.baidu.com对应到192.168.1.1上, 且尽快返回给A。 (3) DNS服务器的返回时间要落后于攻击者B, 所以真正的DNS解析结果被丢弃。攻击完成, www.baidu.com被重定向到192.168.1.1。

2 对于欺骗技术的防范

2.1 IP协议欺骗防范

通过1.1的分析, 可以看出抵御IP欺骗可以从三个方面入手, 第一是解除主机间的信任关系, 二是防止IP地址伪造, 三是抵御序列号猜测。

(1) 解除信任关系

在IP欺骗整个的攻击过程中最主要的是利用主机间的信任关系。所以防止IP欺骗的首要任务就是废除这种基于地址认证方式建立起来的主机间信任关系。在UNIX系统中, 删除所有.rhost文件并清空/etc/host.equiv文件。这样就会使用户使用其他远程通信手段如Telnet、SSH等。

(2) 防止IP伪造

IP伪造是IP欺骗的主要攻击手段, 因此要防止IP欺骗就要对IP地址进行过滤, 一般经常被冒充的是私网IP或者其他特殊的IP如127.0.0.0等。所有可以建立一个访问控制列表 (ACL) 阻止这类IP访问。

(3) 抵御序列号猜测

由于系统为每个连接产生的序列号不是随机产生的, 所以能够被猜测到, 可以通过分割序列号空间等方法来加大猜测的难度, 从而有效的防止IP欺骗。

2.2 ARP协议欺骗防范

ARP协议欺骗攻击的最主要的方法就是改变IP地址和M A C地址的映射关系, 所以要防止A R P攻击, 就是要防止非法的ARP响应包被接受。主要有以下方法:

(1) 设置静态ARP缓存表

这种方法就是在每个主机上设定ARP缓存表的静态地址映射记录, 这样当主机要发送数据时, 不用在发送ARP请求来查询MAC地址, 而是直接在本机获取。当然攻击者仍然会凭空发送伪造ARP响应包, 但是主机会拒绝更新ARP缓存表。很明显这种方法只适合在比较小的局域网里使用, 并且要求IP地址不能经常更换。由于每个主机都采用静态记录, 维护工作量很大。

(2) 指定ARP服务器

可以在局域网中专门指定一个ARP服务器, 这样就解决了维护静态记录工作分散的缺点。当然这台ARP服务器首先安全性要高, 它专门保存一个相对可信的局域网的ARP缓存表。这台服务器通过查阅自己主机的ARP缓存表以被查询主机的名义来发送ARP响应报文, 且按照一定的时间间隔来定期广播正确的ARP缓存表。但是这个方法也有不足, 首先要保证ARP服务器不被攻击;其次要保证主机只接受指定ARP服务器的ARP响应报文。如何做到这一点, 目前还是比较困难的。

(3) 将IP和MAC绑定

这种方法最容易实现也最有效, 在小型局域网下很适合, 具体操作就是在Windows下在cmd中使用arp-s IP地址MAC地址, 即可实现绑定。绑定后改主机则不会响应ARP响应报文, 可以有效的对抗ARP攻击。但是这个方法有很大的缺陷, 就是每次重启后有要重新绑定。所以, 可以写一个bat文件, 将其加入到启动项里面, 这样每次启动就自动绑定了。不过这个方法也不适合于动态IP的网络。

2.3 DNS欺骗防范

DNS欺骗的防范方式主要通过以下两种方法: (1) 对于已知站点, 直接使用IP访问, 或者可以修改本机的host文件, 向里面手动添加域名和IP的对应关系, 这样主机在访问网络的时候可以直接从本机host文件查找到响应的IP地址。 (2) 采用加密技术, 加密所有对外的数据流, 对服务器来说就是尽量使用S S H之类的有加密支持的协议, 对一般用户应该用PGP之类的软件加密所有发到网络上的数据。这样攻击者无法嗅探到序列号ID, 自然就不能进行欺骗攻击了。

3 结束语

网络欺骗利用了协议本身的缺陷, 成为一种专业化的攻击手段, 给网络的正常使用和网络安全管理带来了严峻的考验。在短时间内彻底杜绝这些欺骗攻击是很困难的, 所以就只能要求管理人员和使用者共同提高安全意识, 做好防范工作。管理人员也要不断跟踪各种欺骗攻击的最新技术, 防患于未然。

参考文献

[1]贺龙涛, 方滨兴, 胡铭曾.主动监听中协议欺骗的研究[J].通信学报.2003.

[2]任侠, 吕述望.IP欺骗原理分析[J].计算机工程与应用.2003.

ARP欺骗类病毒的防御 篇6

A R P欺骗具有隐蔽性、随机性的特点, 在Internet上随处可下载的ARP欺骗工具使A R P欺骗更加普遍。利用A R P欺骗的木马病毒在局域网中广泛传播, 给网络安全运行带来巨大隐患, 是局域网安全的首要威胁。利用ARP协议的缺陷, 像大规模爆发的流行性感冒一样, 造成网络时断时续, 无法正常上网。

2 ARP协议概述

ARP协议全称为Address Resolution Protocol, 即地址解析协议, 是TCP/IP协议栈中的基础协议之一, 工作于O S I模型的第二层, 在本层和硬件接口间进行联系, 同时为上层 (网络层) 提供服务。是将IP地址与网络物理地址一一对应的协议, 负责I P地址和网卡实际地址 (M A C) 之间的转换。也就是将网络层地址解析为数据链路层的MAC地址。在以太网中, 一个网络设备要和另一个网络设备进行直接的通信, 除了知道目标设备的I P地址外, 还要知道目标设备的M A C地址。A R P协议的基本功能就是通过目标设备的IP地址, 查询目标设备的M A C地址, 以保证通讯的顺利进行。当一个网络设备需要和另一个网络设备通信时, 它首先把目标设备的I P地址与自己子网掩码进行“与”操作, 以判断目标设备与自己是否位于同一网段内, 如果目标设备与源设备在同一网段内, 则源设备以第二层广播的形式发送A R P请求报文, 在A R P请求报文中包含了源设备与目标设备的IP地址。如果目标设备与源设备不在同一网段, 则源设备首先把I P分组发向自己的缺省网关, 由缺省网关对该分组进行转发。

3 ARP协议的缺陷

主机A R P列表是基于高速缓存动态更新的。由于正常的主机间的M A C地址刷新都是有时限的, 这样恶意用户如果在下次交换之前成功地修改了被欺骗机器上的地址缓存, 就可以进行假冒或拒绝服务攻击。可以随意发送A R P应答分组。由于A R P协议是无状态的, 任何主机即使在没有请求的时候也可以做出应答。因此任何时候发送ARP应答。只要应答分组是有效的, 接收到ARP应答分组的主机就无条件地根据应答分组的内容刷新本机高速缓存。

4 ARP的主要攻击类型

A R P期骗是指利用A R P协议的漏洞, 通过向目标设备主机发送虚假的A R P报文, 达到监听或者截获目标主机数据的攻击手段。

4.1 冒充主机欺骗网关

攻击主机C发出一个报文, 其中源M A C地址为MAC C, 源IP地址为I P A。这样任何发往主机A的报文都会被发往攻击主机C。网关无法与真实主机A直接通信。

4.2 冒充网关欺骗主机

在主动攻击中, 攻击者C主动向A发送ARP应答数据包, 告诉A, B (网关) 的IP地址所对应的M A C地址是C C-C C-C C-C C-C C-C C, 从而使得A修改自己的A R P列表, 把B的IP地址对应的MAC地址修改为攻击者C的M A C地址。同时, 攻击者C也主动向B发送A R P应答数据包, 告诉B, A的I P地址所对应的M A C地址是C C-C C-C C-C C-C C-C C, 使B修改自己的ARP列表, 把A的IP地址对应的M A C地址修改为攻击者C的M A C地址。

A←→B之间的通信形式变成A←→C←→B, 实现了中间人攻击。在被动攻击中, 攻击者C只在A或者B发送A R P请求数据包时, 延时一段时间发送应答数据包, 使得自己的应答包在正确的应答包之后到达, 防止自己修改的相应主机的ARP列表被正确的应答包再次修改。那么主机A发往网关B的报文都会被发往攻击主机C, 造成主机A突然断网。

5 ARP欺骗防范和解决方案

5.1 手动防御

防御A R P欺骗的简单方法是网络管理员分别在主机和路由器上静态绑定地址映射。通过arp-s命令, 在PC上绑定网关的MAC和IP地址, 这样可以防御冒充网关欺骗主机的ARP欺骗。另一种手动防御方法是在局域网中增加V L A N的数目, 减少VLAN中的主机数量。局域网管理员可以根据本单位的网络拓扑结构划分若干个V L A N, 这样既能够在发生A R P攻击时减少所影响的网络范围, 又能够在发生A R P攻击时便于定位出现的网段和具体的主机。缺点同样是增加了网络维护的复杂度, 也无法自动适应网络的动态变化。

5.2 使用ARP服务器

在局域网内部的设置一台机器作为A S P服务器, 专门保存并且维护网络内的所有主机的I P地址与M A C地址映射记录, 使其他计算机的A R P配置只接受来自A R P服务器的A R P响应。当有A R P请求时该服务器通过查阅自己缓存的静态记录并以被查询主机的名义响应A R P局域网内部的请求, 从而防止了ARP欺骗攻击的发生。但是这个方法也有不足, 首先要保证ARP服务器不被攻击, 确保ARP服务器的安全;其次要保证主机只接受指定A R P服务器的A R P响应报文。如何做到这一点, 目前还是比较困难的。

5.3 ARP欺骗的解决措施

某计算机所处网段的路由I P地址为xx.xx.xx.1, 本机地址为xx.xx.xx.8, 在计算机上DOS命令行中运行arp-a后输出如下:

其中, 00-01-02-03-04-05就是路由器x x.x x.x x.1对应的M A C地址, 类型为动态, 因此可被改变。正常情况下, x x.x x.xx.1和00-01-02-03-04-05始终对应。被攻击后, 重复使用该命令查看, 就会发现该M A C已经被替换成攻击机器的M A C, 而且攻击机器的M A C地址和真正的网关M A C地址会出现交替现象。

6 结语

通过以上方法解决A R P病毒对于局域网的欺骗攻击是比较有效果的。但是由于A R P病毒版本在不断更新升级中, 所以仍会给局域网用户带来新的冲击与危害。因此有必要提前做好局域网A R P病毒的防范工作, 使得A R P病毒的危害减少到最小程度。在网络安全领域, 没有任何一种技术手段可以解决所有的问题, 对于各种类型的网络攻击, 经常查看当前的网络状态, 对网络活动进行分析、监控、采取积极、主动的防御行动是保证网络安全和畅通的重要方法。网络管理员应当密切检查网络, 不断提高自身的技术水平, 确保网络安全的正常运行。

摘要:利用TCP/IP协议安全漏洞进行欺骗攻击的事件经常发生, 攻击者利用ARP欺骗进行拒绝服务攻击 (DoS) 或中间人攻击, 造成网络通信中断或数据被截取和窜改, 严重影响网络的安全。本文通过ARP协议原理分析揭示ARP协议欺骗, 并对ARP病毒攻击提出一套有效可行的防犯措施和解决办法。

关键词:ARP协议,ARP欺骗,ARP病毒

参考文献

[1]张胜伟.基于DAI的ARP欺骗深度防御[J].计算机安全, 2009, (01) .

[2]李新.A R P欺骗防御技术的研究[J].商场现代化, 2008 (36) .

协议欺骗的防御研究 篇7

与其他常规网络技术中不经意就产生安全隐患一样, 作为Web服务器中存在的一个细微环节, Cookies在开发之初, 是作为一个改善用户体验、提高网络使用速度而出现的, 而目前Cookies却被无数攻击者作为恶意攻击中一个灵巧的环节而存在, 尤其是在Web攻击成为主流攻击的情况下, Cookies爆发出巨大的安全隐患, 使许多表面上看起来固若金汤的Web应用系统都遭到了灭顶之灾。

Cookies欺骗攻击在很多时候攻击者根本不需要费力去注入、测试, 直接通过Cookies欺骗就可以获得原本需要大力气注入才能获得的管理权限。

1 Cookies概述

1.1 Cookies的定义

Cookies是指某些网站为了辨别用户身份、进行Session跟踪而储存在用户本地终端上的数据, 这些数据通常都经过加密。Cookies的信息量比较小, 约由255个字符组成, 当用户正在浏览某站点时, 它储存于客户机的随机存取存储器RAM中[1], 退出浏览器后, 它储存于用户的硬盘中, 仅占4k B硬盘空间, 通常, 当用户结束浏览器会话时, 系统将终止所有的Cookies。

Cookies以文本文件的形式存储于浏览器目录中, Cookies中的大部分信息是普通的, 如浏览一个站点时的每一次击键信息和被访站点的地址等, 但是许多Web站点使用Cookies来储存针对注册口令、用户名、信用卡编号等私人的数据, 当该用户下一次又回到该服务器的时候, 服务器可从该浏览器读回此信息。

1.2 Cookies的用途

Cookies在网络中的应用就其实质来说, 服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息, 以判断在HTTP传输中的状态。

Cookies的用户主要体现在以下几个方面:

(1) 最典型的应用是判断注册用户是否已经登录网站, 用户可能会得到提示, 是否在下一次进入此网站是保留用户信息以便简化登录步骤。

(2) 另一个重要应用场合是“购物车”之类的处理, 用户一般会在一段时间内在同一家网站的不同网页中选择不同的商品, 这些信息都会写入Cookies, 以便用户在最后付款时提取信息。

(3) 第三个用途是网站的个人化处理, 这是Cookies最有效的用户之一。在一些提供了个人化服务的网站上, 如果用户设置了自己喜欢的配置, 并且存储了Cookies, 每次用户登录该网站时, 浏览器先会检查用户是否有预先定义的Cookies, 如果有, 就会将Cookies和用户对网页的请求一起发送给服务器, 返回用户自己定义的页面和其他相关信息。

1.3 Cookies的工作过程

Cookies一般通过HTTPHeader从服务器端返回到浏览器[2]。首先, 服务器端在响应中利用SetCookies header来创建一个Cookies, 然后浏览器在它的请求中通过Cookies header包含这个已经创建的Cookies, 并且将它返回至服务器, 从而完成浏览器的认证。

浏览器创建了一个Cookies后, 对于每个针对该网站的请求, 都会在Header中包含这个Cookies, 但对于其他网站的求其是不会跟着发送的, 而且浏览器会一直这样发送, 指导Cookies过期为止。

1.4 Cookies的危害

任何事物都存在两面性, Cookies在为用户提供便利的同时, 其在特定网站上存储的用户账号和密码, 从某种程度上说用户的隐私和安全已经出现严重危机, 当其被不法用户盗取时, 能够造成难以想象的危害。

2 Cookies欺骗攻击

2.1 Cookies欺骗原理

Cookies欺骗, 就是在只对用户做Cookies验证的脚本系统中, 攻击者通过修改Cookies的内容的方式来得到相应的用户权限, 并在成功登陆后进行进一步攻击。

传统的程序员认为虽然Cookies记录了用户的账号、密码等信息, 但在网络传输过程中是经过MD5加密的, 即使被攻击者获取也无法看到具体信息, 因此认为是安全的[3]。其实, 对攻击者来说, 截取Cookies并不需要知道加密后字符的含义, 只要服务器的验证程序存在漏洞, 攻击者只需把截获得Cookies向服务器提交并通过验证, 就可以轻松的冒充合法用户登录网站了。

传统程序员比较常用的存在安全漏洞的脚本系统登录过程的判断代码为:

上面的代码结构虽然清晰, 判断过程完备, 看似十分安全, 但由于没有对Cookies的真伪进行判断, 存在安全漏洞。在上面的代码中, 由于服务器是直接读取, 而且默认Cookies信息是安全且真实的, 从而忽略了Cookies在本地是可以修改和伪造的, 使攻击者非常简单地通过Cookies欺骗轻松入侵。

2.2 Cookies欺骗的危害

针对Cookies漏洞, 按照攻击造成危害的程度, 攻击者的攻击方式分为初级和高级两种级别。

初级的Cookies欺骗攻击通过修改Cookies的过期时间, 从而实现永久登录、无限使用某些限制功能的目的[4]。在一些巨大的网站平台或者私人论坛上, 为了节省流量、空间等有限网络资源, 都会通过程序限制用户使用某些消耗网络资源比较大的网络服务 (如注册用户的上传空间和上传数量等) , 这些限制基本上都是通过Cookies来实现的, 对于这样的脚本系统, 成熟的攻击者通过修改本地Cookies信息, 达到欺骗服务器, 实现永久登录并无限使用网络资源的目的。

高级的Cookies欺骗攻击就是目前所流行的Cookies欺骗。针对一些程序员编写脚本代码时将用户账号、密码、相关权限等隐私信息存放于Cookies中的现象, 攻击者可以利用盗取管理员、论坛版主等高级用户的Cookies, 然后破解出密码的方式成功获取权限, 或者连破解密码都不用, 直接通过脚本程序的Cookies验证不完善缺陷, 直接获得管理员权限。

2.3 盗取Cookies的方式

Cookies的盗取都是通过欺骗来实现的, 实现起来一般有以下几个方面。

(1) 通过脚本代码

对于不同的脚本系统, 存在不同的脚本代码, 但基本原理相似。Perl版盗取Cookies的基本代码如下:

(2) 利用flash

利用flash可以实现在较高级环境下盗取Cookies。Flash中的get URL () 函数能够自动打开指定的网页, 利用这一功能可以把用户引向一个包含盗取Cookies信息的网站。当某个论坛或博客允许使用HTML代码或flash标签时, 攻击者就可以利用上述技术中收集Cookies的代码, 将它放到论坛或博客里, 然后给帖子取一个吸引人的主题, 写上有趣的内容, 通过大量的访问很快就可以收集的用户的Cookies, 达到盗取的目的, 当管理员、版主等高级用户对这些火热的帖子进行关注时, 其Cookies同样被盗取, 从而获得相应的权限。

(3) 利用社会工程学

社会工程学就其实质来说就是欺骗, 当一个网站的安全防御技术比较高, 管理员的安全意识比较好时, 攻击者为了入侵该网站, 经常采用社会工程学的方式将一个包含小特殊代码的精美flash动画传送给管理员, 管理员一旦打开该动画, flash里的代码就悄悄链接上网, 打开一个肉眼根本发现不了的页面, 从而盗取管理员的Cookies。

3 Cookies欺骗步骤及实现

3.1 典型的欺骗步骤

攻击者首先以一个正常用户身份访问网站, 在该网站上注册一个自己知道账号密码的合法的用户, 当然其权限比较低[5]。注册成功后, 攻击者利用该用户正常登录, 并查看系统是否自动保存和生成Cookies, 也就是第二部需要找到本地的Cookies存放文件。在找到自己的Cookies后, 攻击者通过脚本系统暴漏的一些正常信息, 找到高权用户的用户名。攻击者在获得自己的Cookies后, 通常使用诸如IEcookies View等工具, 修改本地的Cookies信息, 利用代码验证不严的缺陷, 重新提交经过修改的Cookies信息, 进行Cookies欺骗, 获得管理员或者其他高权限用户的相关权限。

归纳起来, Cookies欺骗的典型步骤为:

(1) 找到存放Cookies欺骗漏洞的代码。

(2) 获取低权限用户的本地即时Cookies信息。

(3) 利用脚本系统正常功能, 获得管理员或其他高权限用户的账户信息。

(4) 构造、提交非法Cookies信息, 达到欺骗系统获取高权限的目的。

3.2 利用Cookies欺骗攻击留言本系统的实现

目前, 很多商务类网站都喜欢在产品页面后放置一个轻便风格的留言本程序, 以方便有兴趣的潜在客户即时返回信息。这样的留言本由于功能简单, 代码也不十分规范, 存在很多漏洞, 因此利用Cookies欺骗攻击留言本系统是攻击者常用的手法。

按照典型攻击步骤, 攻击者首先注册一个常规用户, 注册成功后, 关闭所有页面, 然后使用刚刚注册的账户密码登陆, 并保存登录信息, 以便在本地生成此网站的Cookies文件。

然后攻击者下载并安装Iecookies View工具, 在列表中找到刚刚保存的留言本系统对应的本地Iecookies View信息, 编辑该信息, 把values值的内容中的“useridname”改为管理员, 接着保存Cookies修改, 关闭网页后再打开该网页, 就在网页右边出现了“管理中心”的选项, 即获得了管理员权限。

当然, 在获得管理员权限后, 攻击者往往还需要上传自己的Webshell, 才能达到进一步控制脚本系统的目的。

本方法只适合系统只判断Cookies中的用户名就赋予权限的留言本程序, 大部分留言本程序需要构造特定的Cookies内容及突破多重验证才可以成功欺骗。

4 Cookies欺骗的防御

从实质上说, Cookies欺骗产生的根本原因是脚本程序, 正是程序员在脚本程序开发中存在的各种安全隐患才造成了这些攻击, 最根本的防御方法就是从程序员入手, 但是, 由于缺乏脚本层面的代码规划化标准、防御技术落后于攻击技术以及人容易犯错误等原因, 造成Cookies欺骗攻击无法彻底防御, 只能在较大范围内进行避免。

针对Cookies欺骗的原理和实现步骤, 需要构建一个从广泛意义上防范Cookies欺骗的脚本系统, 设计思路如下。

(1) 不在Cookies中存放敏感信息。这是一个理想化的思路, 其实质就是抛弃Cookies, 但明显违背安全平台的设计思路, 不能因为Cookies可能存在欺骗攻击而废止它的便利性。

(2) 严格保护数据库不泄露。保护数据库不泄露不仅仅是Cookies防御技术中需要注意的安全措施, 也是其它安全措施中必须注意的重点。

(3) 使用单一多特功能德尔账户进行日常维护, 不适用、少使用最高权限账户。这一设计思路单就防范Cookies欺骗来说, 是比较实用、灵巧而有效的防范方法, 适用于对脚本编程了解不深, 无法进行脚本系统修改和代码层加固的管理员。

(4) 严格堵住脚本系统中可能提交盗取Cookies的代码。为了实现正常的用户交互功能, 一般的脚本系统都有发帖、留言、讨论、评论等功能, 这些功能都允许用户提交或者上传一些自己的代码、程序, 这样的代码有可能就是盗取Cookies的代码, 因此, 出于安全考虑, 管理员要对这些代码进行严格审查, 或者使用过滤插件、过滤软件过滤掉用户提交的一些非法信息。

(5) 使用Session和Cookies双重验证

Session和Cookies的用途各有千秋, Cookies保存在客户端, 攻击者可以很容易地获取或复制到其它计算机上使用, 而Session保存在服务器端, 当用户与网站的交互结束时, Session的生命周期随即结束, 从这个层面上说, Session的安全性比Cookies要高。就管理员或网站运营商来说, 处于服务器压力和安全性考虑, 最完美的方案就是二者结合使用。

5 结束语

Cookies欺骗是通过盗取、修改、伪造Cookies的内容来欺骗Web系统, 并得到相应权限或者进行相应权限操作的一种攻击方式, 由于存在一些无法更改的缺陷, 在带给大家提高网络使用速度的同时, 也被无数攻击者利用盗取用户的机密信息, 因此, 从广泛意义上构建一个防范Cookies欺骗和注入的脚本系统, 可以在一定程度上避免遭到Cookies攻击。

参考文献

[1]宁珂.网站Session欺骗攻击与防范[J].科技传播, 2012 (19) :214-215.

[2]邱永华.XSS跨站脚本攻击剖析与防御[M].北京:人民邮电出版社, 2013:45-51.

[3]卢俊.SQL注入与XSS攻击防范方法的研究以及防范模型的设计与实现[D].北京:北京邮电大学, 2011.

[4]高少杰.SQL注入攻击防御方法研究[D].云南大学, 2010.

上一篇:用爱心浇灌生命之花下一篇:职业教育的意义