当前位置:首页 > ARP病毒的攻击与防范论文
ARP病毒的攻击与防范
适用了。所以只要是企业级的硬件或者软件防火墙,都基本没有提供对MAC地址的控制功能。不过在Windows中,如果安装了TCP/IP网络协议组件,就可以执行命令ARP。ARP命令的作用是查看本机的ARP缓存、静态绑定IP地址和MAC地址和删除静态绑定项。其实绑定IP地址和MAC地址的本意是为了减少ARP广播流量,只是可以利用这一功能来控制IP地址的使用。
(4)不同操作系统中ARP设置的差异:在Windows server 2003和XP以前的WIN DOWS系统中,就算设置了静态MAC地址绑定项,同样会通过接收其他主机的数据包而更新已经绑定的项。而在Windows server 2003和XP中,静态绑定的项不会被动态更新,直到TCP/IP协议终止为止,例如重启计算机。如果要创建永久的静态MAC地址绑定项,可以写一个脚本文件来执行ARP静态绑定,然后使用计划任务在启动计算机时执行该脚本即可。
(5)ARP高速缓存超时设置:在ARP高速缓存中的表项一般都要设置超时值。默认情况下ARP缓存的超时时限是两分钟,如果再没有新的信息更新, ARP 映射项会自动去除。所以,为了保持A与C被修改的ARP表,B一直连续不断地向A和C发送这种虚假的 ARP 响应包。可以在注册表中进行修改。可以修改的键值有两个,都位于 HKEY_LOCAL_MACHINE \\SYSTEM \\CurrentControlSet \\Services
Tcpip\\Parameters。 键值1:ArpCacheLife,类型为Dword,单位为秒,默认值为120。键值2:ArpCacheMinReferencedLife,类型为Dword,单位为秒,默认值为600这些键值默认是不存在的,如果想修改,必须自行创建。修改后重启计算机后生效。如果ArpCacheLife的值比ArpCacheMinReferencedLife的值大,那么ARP缓存的超时时间设置为ArpCacheLife的值。如果ArpCacheLife的值不存在或者比
ArpCacheMinReferencedLife的值小,那么超时时间设置为120秒。对于正在使用的ARP缓存,超时时间则设置为ArpCacheMinReferencedLife的值。
2.6 ARP伪造帧格式
在ARP攻击中,黑客是运用ARP协议缺陷更改ARP缓存表的。要发动ARP欺骗攻击需要获得ARP请求与应答帧的格式。ARP帧使用是工作在数据链接层的协议,它也可以用于其他类型的网络以解析IP地址以外的地址(报文第13、14两字节的“帧类型”以及15、16字节“硬件类型”以及17、18字节“协议类型”说明了解析的是什么网络)。对于ARP攻击我们仅研究在以太网地址解析时的格式。ARP请求和应答帧的
4
ARP病毒的攻击与防范
格式如图2-7所示:
图2-7ARP数据帧格式
(1)如图2-7所示,以太网报头中的前两个字段是以太网的源地址和目的地址。在以太网首部最后两个字节长的以太网“帧类型”表示后面数据的类型。在表示ARP请求或应答时该字段被设置成“0x0806”。
(2)头部后面的2字节的“硬件类型”和两字节的“协议类型”用来描述ARP分组中的各个字段。在以太网的解析中,一个ARP请求分组询问“协议类型”填写IP(0x0800即表示IP),硬件类型填写以太网(值为1即表示以太网)。这些类型字段的值在以太网数据帧中是固定的。
(3)第19与20字段的两个1字节的字段,“硬件地址长度”和“协议地址长度”分别指出硬件地址和协议地址的长度。当用于在以太网上进行IP地址的ARP查询时,“硬件地址长度”的值为6,“协议地址长度”为4。注意:此处是以字节为单位。
(4)接下来的OP为“操作字段”,可以选择四种操作类型,分别是ARP请求(值为1)、ARP应答(值为2)、R ARP请求(值为3)和R ARP应答(值为4)。由于在ARP请求和ARP应答时的“帧类型”字段值相同(都为0x0806),所以需要从这个字段来区分是请求还是应答。
(5)报文最后的四个字段将重复出现发送与接受端的硬件地址(在以太网的数据帧报头中出现过)。最后四个字段分别是:发送源以太网地址、目的地以太网地址、发送源IP地址以及目的地IP地址。
(6)另外,由于ARP请求或回答的数据帧长都是42字节(28字节的ARP数据加上14字节的以太网帧头),因此,每一帧都必须加入填充字符以达到以太网数据帧60字节的最小长度要求。
4
ARP病毒的攻击与防范
表2-2 ARP帧机构实验的IP-MAC地址对照关系
(1)假设在表2-2网络环境中:A主机的IP地址为192.168.1.1,它现在需要与IP为192.168.1.2的主机(主机B)进行通讯,那么将进行以下动作:
(2)A主机查询自己的ARP缓存列表,如果发现具有对应于目的IP地址192.168.1.2的MAC地址项,则直接使用此MAC地址项构造并发送以太网数据包,如果没有发现对应的MAC地址项则继续下一步;
(3)在A主机发出ARP解析请求广播的过程中,A会发出一个目的MAC地址是FF:FF:FF:FF:FF:FF的ARP请求帧,来请求IP为192.168.1.2的主机回复MAC地址;
图2-8 ARP请求数据帧格式
(4)B主机收到ARP解析请求广播后,回复给A主机一个ARP应答数据包,其中包含自己的IP地址192.168.1.2和MAC地址bb-bb-bb-bb-bb-bb;
4
ARP病毒的攻击与防范
图2-9 ARP回复数据帧格式
(5)A接收到B主机的ARP回复后,将B主机的MAC地址放入自己的ARP缓存列表,然后使用B主机的MAC地址作为目的MAC地址,B主机的IP地址(192.168.1.2)作为目的IP地址,构造并发送以太网数据包.
(6)如果A主机还要发送数据包给192.168.1.2,由于在ARP缓存列表中已经具有IP地址192.168.1.2的MAC地址,所以A主机直接使用此MAC地址发送数据包,而不再发送ARP解析请求广播;当此缓存地址项超过两分钟没有活动(没有使用)后,此ARP缓存将超时被删除。
以上是正常情况下ARP查询与回复的数据帧结构,如果使用ARP欺骗,从C发送伪造的ARP数据包,则当C收到一份目的端为B的ARP请求广播报文后,C会把自己的硬件地址填进去,然后将目的端的MAC与IP地址写成发送源A的物理与逻辑地址,源MAC地址伪装成自己的地址,源IP地址填写B的IP。最后把操作字段置为2,发回数据帧。伪装的数据帧结构如图2-10示。
图2-10ARP欺骗数据帧格式
2.7 网关出口上的ARP欺骗
在公众上网环境的实际运行中,最大的威胁就是服务器在网关出口处被加入中间层欺骗服务器“man-in-the-middle”。利用上文所说的ARP欺骗报文以及ARP代理中存在的缺陷,可以在服务器和网关之间插入一个“伪造的网关”,在上面进行数据的
4
共分享92篇相关文档