解析ARP病毒攻击技术与防御策略
发布时间:2015-07-04 20:24
【摘 要】arp病毒位列十大病毒排行榜第四位,而且目前arp地址欺骗技术已经被越来越多的病毒所采用,成为病毒发展的一个新趋势。本文还较深入和直观地介绍了arp协议的基本原理、基本工作过程、arp欺骗技术以及其对策,
【关键词】arp协议 arp欺骗
近年来,arp攻击十分频繁,arp病毒位列十大病毒排行榜第四位,而且目前arp地址欺骗技术已经被越来越多的病毒所采用,成为病毒发展的一个新趋势。如何防范arp攻击越来越受到了网管的重视。
一、arp协议工作原理
在tcp/ip协议中,每一个网络结点是用ip地址标识的,ip地址是一个逻辑地址。而在以太网中数据包是靠48位mac地址(物理地址)寻址的。因此,必须建立ip地址与mac地址之间的对应(映射)关系,arp协议就是为完成这个工作而设计的。
tcp/ip协议栈维护着一个arp cache表,在构造网络数据包时,首先从arp表中找目标ip对应的mac地址,如果找不到,就发一个arp request广播包,请求具有该ip地址的主机报告它的mac地址,当收到目标ip所有者的arp reply后,更新arp cache有老化机制。
arp协议是建立在信任局域网内所有结点的基础上的,它很高效,但却不安全。它是无状态的协议,不会检查自己是否发过请求包,也不管(其实也不知道)是否是合法的应答,只要收到目标mac是自己的arp reply包或arp广播包(包括arp request和arp reply),都会接受并缓存。这就为arp欺骗提供了可能,恶意节点可以发布虚假的arp报文从而影响网内结点的通信,甚至可以做“中间人”。
二、arp病毒分析
当局域网内某台主机运行arp欺骗的木马程序时,会欺骗局域网内所有主机和路由器,让所有上网的流量必须经过病毒主机。其他用户原来直接通过路由器上网现在转由通过病毒主机上网,切换的时候用户会断一次线。切换到病毒主机上网后,如果用户已经登陆了传奇服务器,那么病毒主机就会经常伪造断线的假像,那么用户就得重新登录传奇服务器,这样病毒主机就可以盗号了。
下面就bkdr_npfect.a病毒进行分析
1.病毒的组件
本文研究的病毒样本有三个组件构成:
%windows%\\system32\\(108,386 bytes)……病毒组件释放者”
%windows%\\system32\\drivers\\(119,808 bytes)……“发arp欺骗包的驱动程序”
%windows%\\system32\\ (39,952 bytes)……“命令驱动程序发arp欺骗包的控制者”
2.病毒运作基理
执行时会释放两个组件和。
释放组件后即终止运行。
注意:病毒假冒成winpcap的驱动程序,并提供winpcap的功能。客户若原先装有winpcap,将会被病毒文件覆盖掉。随后将注册(并监视)为内核级驱动设备:“netgroup packet filter driver”还负责发送指令来操作驱动程序 (如发送apr欺骗包,抓包,过滤包等)以下从病毒代码中提取得服务相关值:binarypathname="system32\\drivers\\"starttype= service_auto_startservicetype=service_kernel_driverdesiredaccess= service_all_accessdisplayname = "netgroup packet filter driver"servicename = "npf"并将注册为自启动程序:[hkey_local_machine\\software\\microsoft\\\currentversion\\runonce] dwmytest =注:由于该项位于runonce下,该注册表启动项在每次执行后,即会被系统自动删除。
定位arp攻击源头
主动定位方式:因为所有的arp攻击源都会有其特征——网卡会处于混杂模式,可以通过arpkiller这样的工具扫描网内有哪台机器的网卡是处于混杂模式的,从而判断这台机器有可能就是“元凶”。
被动定位方式:在局域网发生arp攻击时,查看交换机的动态arp表中的内容,确定攻击源的mac地址;也可以在局域居于网中部署sniffer工具,定位arp攻击源的mac。
使用nbtscan可以取到pc的真实ip地址、机器名和mac地址,如果有“arp攻击”在做怪,可以找到装有arp攻击的pc的ip、机器名和mac地址。
命令:“nbtscan -r 192.168.16.0/24”(搜索整个192.168.16.0/24网段,即192.168.16.1-192.168.16.254);或“nbtscan 192.168.16.25-137”搜索192.168.16.25-137网段,即192.168.16.25-192.168.16.137。输出结果第一列是ip地址,最后一列是mac地址。
四、arp防御对策
各种网络安全的对策都是相对的,主要要看网管平时对网络安全的重视性了。下面介始一些相应的对策:
1.在系统中建立静态arp表,建立后对本身自已系统影响不大的,对网络影响较大,破坏了动态arp解析过程。静态arp协议表不会过期的,我们用“arp–d”命令清除arp表,即手动删除。但是有的系统的静态arp表项可以被动态刷新,如solaris系统,那样的话依靠静态arp表项并不能对抗arp欺骗攻击,相反纵容了arp欺骗攻击,因为虚假的静态arp表项不会自动超时消失。
2.在相对系统中禁止某个网络接口做arp解析(对抗arp欺骗攻击),可以做静态arp协议设置(因为对方不会响应arp请求报文)如:arp -s .x 08-00-20-a8-2e-ac。
在绝大多数操作系统如:unix、bsd、nt等,都可以结合“禁止相应网络接口做arp解析”和“使用静态arp表”的设置来对抗arp欺骗攻击。而linux系统,其静态arp表项不会被动态刷新,所以不需要“禁止相应网络接口做arp解析”即可对抗arp欺骗攻击。
参考文献:
[1]徐冠军.一个arp欺骗问题的分析和解决办法[j].江苏通信技术,2005,(06).
[2]郭浩,郭涛.一种基于arp欺骗的中间人攻击方法及防范[j].信息安全与通信保密,2005,(10).
【关键词】arp协议 arp欺骗
近年来,arp攻击十分频繁,arp病毒位列十大病毒排行榜第四位,而且目前arp地址欺骗技术已经被越来越多的病毒所采用,成为病毒发展的一个新趋势。如何防范arp攻击越来越受到了网管的重视。
一、arp协议工作原理
在tcp/ip协议中,每一个网络结点是用ip地址标识的,ip地址是一个逻辑地址。而在以太网中数据包是靠48位mac地址(物理地址)寻址的。因此,必须建立ip地址与mac地址之间的对应(映射)关系,arp协议就是为完成这个工作而设计的。
tcp/ip协议栈维护着一个arp cache表,在构造网络数据包时,首先从arp表中找目标ip对应的mac地址,如果找不到,就发一个arp request广播包,请求具有该ip地址的主机报告它的mac地址,当收到目标ip所有者的arp reply后,更新arp cache有老化机制。
arp协议是建立在信任局域网内所有结点的基础上的,它很高效,但却不安全。它是无状态的协议,不会检查自己是否发过请求包,也不管(其实也不知道)是否是合法的应答,只要收到目标mac是自己的arp reply包或arp广播包(包括arp request和arp reply),都会接受并缓存。这就为arp欺骗提供了可能,恶意节点可以发布虚假的arp报文从而影响网内结点的通信,甚至可以做“中间人”。
二、arp病毒分析
当局域网内某台主机运行arp欺骗的木马程序时,会欺骗局域网内所有主机和路由器,让所有上网的流量必须经过病毒主机。其他用户原来直接通过路由器上网现在转由通过病毒主机上网,切换的时候用户会断一次线。切换到病毒主机上网后,如果用户已经登陆了传奇服务器,那么病毒主机就会经常伪造断线的假像,那么用户就得重新登录传奇服务器,这样病毒主机就可以盗号了。
下面就bkdr_npfect.a病毒进行分析
1.病毒的组件
本文研究的病毒样本有三个组件构成:
%windows%\\system32\\(108,386 bytes)……病毒组件释放者”
%windows%\\system32\\drivers\\(119,808 bytes)……“发arp欺骗包的驱动程序”
%windows%\\system32\\ (39,952 bytes)……“命令驱动程序发arp欺骗包的控制者”
2.病毒运作基理
执行时会释放两个组件和。
释放组件后即终止运行。
注意:病毒假冒成winpcap的驱动程序,并提供winpcap的功能。客户若原先装有winpcap,将会被病毒文件覆盖掉。随后将注册(并监视)为内核级驱动设备:“netgroup packet filter driver”还负责发送指令来操作驱动程序 (如发送apr欺骗包,抓包,过滤包等)以下从病毒代码中提取得服务相关值:binarypathname="system32\\drivers\\"starttype= service_auto_startservicetype=service_kernel_driverdesiredaccess= service_all_accessdisplayname = "netgroup packet filter driver"servicename = "npf"并将注册为自启动程序:[hkey_local_machine\\software\\microsoft\\\currentversion\\runonce] dwmytest =注:由于该项位于runonce下,该注册表启动项在每次执行后,即会被系统自动删除。
三、查找arp攻击源头
定位arp攻击源头
主动定位方式:因为所有的arp攻击源都会有其特征——网卡会处于混杂模式,可以通过arpkiller这样的工具扫描网内有哪台机器的网卡是处于混杂模式的,从而判断这台机器有可能就是“元凶”。
被动定位方式:在局域网发生arp攻击时,查看交换机的动态arp表中的内容,确定攻击源的mac地址;也可以在局域居于网中部署sniffer工具,定位arp攻击源的mac。
使用nbtscan可以取到pc的真实ip地址、机器名和mac地址,如果有“arp攻击”在做怪,可以找到装有arp攻击的pc的ip、机器名和mac地址。
命令:“nbtscan -r 192.168.16.0/24”(搜索整个192.168.16.0/24网段,即192.168.16.1-192.168.16.254);或“nbtscan 192.168.16.25-137”搜索192.168.16.25-137网段,即192.168.16.25-192.168.16.137。输出结果第一列是ip地址,最后一列是mac地址。
四、arp防御对策
各种网络安全的对策都是相对的,主要要看网管平时对网络安全的重视性了。下面介始一些相应的对策:
1.在系统中建立静态arp表,建立后对本身自已系统影响不大的,对网络影响较大,破坏了动态arp解析过程。静态arp协议表不会过期的,我们用“arp–d”命令清除arp表,即手动删除。但是有的系统的静态arp表项可以被动态刷新,如solaris系统,那样的话依靠静态arp表项并不能对抗arp欺骗攻击,相反纵容了arp欺骗攻击,因为虚假的静态arp表项不会自动超时消失。
2.在相对系统中禁止某个网络接口做arp解析(对抗arp欺骗攻击),可以做静态arp协议设置(因为对方不会响应arp请求报文)如:arp -s .x 08-00-20-a8-2e-ac。
在绝大多数操作系统如:unix、bsd、nt等,都可以结合“禁止相应网络接口做arp解析”和“使用静态arp表”的设置来对抗arp欺骗攻击。而linux系统,其静态arp表项不会被动态刷新,所以不需要“禁止相应网络接口做arp解析”即可对抗arp欺骗攻击。
参考文献:
[1]徐冠军.一个arp欺骗问题的分析和解决办法[j].江苏通信技术,2005,(06).
[2]郭浩,郭涛.一种基于arp欺骗的中间人攻击方法及防范[j].信息安全与通信保密,2005,(10).
上一篇:信息技术在汽车上的应用
下一篇:3G系统多用户检测技术研究