显示标签为“欺骗攻击”的博文。显示所有博文
显示标签为“欺骗攻击”的博文。显示所有博文

2008年11月11日星期二

巧论ARP攻击防制方法之虚虚实实

ARP欺骗/攻击反复袭击,是近来网络行业普遍了解的现象,随着ARP攻击的不断升级,不同的解决方案在市场上流传。但是笔者最近发现,有一些方 案,从短期看来似乎有效,实际上对于真正的ARP攻击发挥不了作用,也降低局域网工作效率。Qno侠诺的技术服务人员接到很多用户反应说有些ARP防制方 法很容易操作和实施,但经过实际深入了解后,发现长期效果都不大。

对于ARP攻击防制,Qno侠诺技术服务人员的建议,最好的方法是先踏踏实实把基本防制工作做好,才是根本解决的方法。由于市场上的解决方式众多, 我们无法一一加以说明优劣,因此本文解释了ARP攻击防制的基本思想。我们认为读者如果能了解这个基本思想,就能自行判断何种防制方式有效,也能了解为何 双向绑定是一个较全面又持久的解决方式。

一、不坚定的ARP协议一般计算机中的原始的ARP协议,很像一个思想不坚定,容易被其它人影响的人,ARP欺 骗/攻击就是利用这个特性,误导计算机作出错误的行为。ARP攻击的原理,互联网上很容易找到,这里不再覆述。原始的ARP协议运作,会附在局域网接收的 广播包或是ARP询问包,无条件覆盖本机缓存中的ARP/MAC对照表。这个特性好比一个意志不坚定的人,听了每一个人和他说话都信以为真,并立刻以最新 听到的信息作决定。

就像一个没有计划的快递员,想要送信给“张三”,只在马路上问“张三住那儿?”,并投递给最近和他说“我就是!”或“张三住那间!”,来决定如何投 递一样。在一个人人诚实的地方,快递员的工作还是能切实地进行;但若是旁人看快递物品值钱,想要欺骗取得的话,快递员这种工作方式就会带来混乱了。

我们再回来看ARP攻击和这个意志不坚定快递员的关系。常见ARP攻击对象有两种,一是网络网关,也就是路由器,二是局域网上的计算机,也就是一般 用户。攻击网络网关就好比发送错误的地址信息给快递员,让快递员整个工作大乱,所有信件无法正常送达;而攻击一般计算机就是直接和一般人谎称自己就是快递 员,让一般用户把需要传送物品传送给发动攻击的计算机。

由于一般的计算机及路由器的ARP协议的意志都不坚定,因此只要有恶意计算机在局域网持续发出错误的ARP讯息,就会让计算机及路由器信以为真,作 出错误的传送网络包动作。一般的ARP就是以这样的方式,造成网络运作不正常,达到盗取用户密码或破坏网络运作的目的。针对ARP攻击的防制,常见的方 法,可以分为以下三种作法:

1、利用ARP echo传送正确的ARP讯息:通过频繁地提醒正确的ARP对照表,来达到防制的效果。
2、利用绑定方式,固定ARP对照表不受外来影响:通过固定正确的ARP对照表,来达到防制的效果。
3、舍弃ARP协议,采用其它寻址协议:不采用ARP作为传送的机制,而另行使用其它协议例如PPPoE方式传送。

以上三种方法中,前两种方法较为常见,第三种方法由于变动较大,适用于技术能力较佳的应用。下面针对前两种方法加以说明。

PK 赛之“ARP echo”
ARP echo是最早开发出来的ARP攻击解决方案,但随着ARP攻击的发展,渐渐失去它的效果。现在,这个方法不但面对攻击没有防制效果,还会降低局域网运作 的效能,但是很多用户仍然以这个方法来进行防制。以前面介绍的思想不坚定的快递员的例子来说,ARP echo的作法,等于是时时用电话提醒快递员正确的发送对象及地址,减低他被邻近的各种信息干扰的情况。

但是这种作法,明显有几个问题:第一,即使时时提醒,但由于快递员意志不坚定,仍会有部份的信件因为要发出时刚好收到错误的信息,以错误的方式送出 去;这种情况如果是错误的信息频率特高,例如有一个人时时在快递员身边连续提供信息,即使打电话提醒也立刻被覆盖,效果就不好;第二,由于必须时时提醒, 而且为了保证提醒的效果好,还要加大提醒的间隔时间,以防止被覆盖,就好比快递员一直忙于接听总部打来的电话,根本就没有时间可以发送信件,耽误了正事; 第三,还要专门指派一位人时时打电话给快递员提醒,等于要多派一个人手负责,而且持续地提醒,这个人的工作也很繁重。

第二页

以ARP echo方式对应ARP攻击,也会发生相似的情况。第一,面对高频率的新式ARP攻击,ARP echo发挥不了效果,掉线断网的情况仍旧会发生。ARP echo的方式防制的对早期以盗宝为目的的攻击软件有效果,但碰到最近以攻击为手段的攻击软件则公认是没有效果的。第二,ARP echo手段必须在局域网上持续发出广播网络包,占用局域网带宽,使得局域网工作的能力降低,整个局域网的计算机及交换机时时都在处理ARP echo广播包,还没受到攻击局域网就开始卡了。第三,必须在局域网有一台负责负责发ARP echo广播包的设备,不管是路由器、服务器或是计算机,由于发包是以一秒数以百计的方式来发送,对该设备都是很大的负担。


图一:ARP攻击防制 方法之“ARP echo”图示说明

常见的ARP echo处理手法有两种,一种是由路由器持续发送,另一则是在计算机或服务器安装软件发送。路由器持续发送的缺点是路由器原本的工作就很忙,因此无法发送 高频率的广播包,被覆盖掉的机会很大,因此面对新型的ARP攻击防制效果小。因此,有些解决方法,就是拿ARP攻击的软件来用,只是持续发出正确的网关、 服务器对照表,安装在服务器或是计算机上,由于服务器或是计算机运算能力较强,可以同一时间内发出更多广播包,效果较大,但是这种作法一则大幅影响局域网 工作,因为整个局域网都被广播包占据,另则攻击软件通常会设定更高频率的广播包,误导局域网计算机,效果仍然有限。

此外,ARP echo一般是发送网关及私服的对照信息,对于防止局域网计算机被骗有效果,对于路由器没有效果,仍需作绑定的动作才可。

第三页

PK赛之“ARP绑定”
ARP echo的作法是不断提醒计算机正确的ARP对照表,ARP绑定则是针对ARP协议“思想不坚定“的基本问题来加以解决。Qno侠诺技术服务人员认 为,ARP绑定的作法,等于是从基本上给这个快递员培训,让他把正确的人名及地址记下来,再也不受其它人的信息干扰。由于快递员脑中记住了这个对照表,因 此完全不会受到有心人士的干扰,能有效地完成工作。在这种情况下,无论如何都可以防止因受到攻击而掉线的情况发生。

但是ARP绑定并不是万灵药,还需要作的好才有完全的效果。第一,即使这个快递员思想正确,不受影响,但是攻击者的网络包还是会小幅影响局域网部份 运作,网管必须通过网络监控或扫瞄的方法,找出攻击者加以去除;第二,必须作双向绑定才有完全的效果,只作路由器端绑定效果有限,一般计算机仍会被欺骗, 而发生掉包或掉线的情况。

双向绑定的解决方法,最为网管不喜欢的就是必须一台一台加以绑定,增加工作量。但是从以上的说明可知道,只有双向绑定才能有效果地解决ARP攻击的 问题,而不会发生防制效果不佳、局域网效率受影响、影响路由器效能或影响服务器效能的缺点。也就是说双向绑定是个硬工夫,可以较全面性地解决现在及未来 ARP攻击的问题,网管为了一时的省事,而采取片面的ARP echo解决方式,未来还是要回来解决这个问题。


图二:ARP攻击防制 方法之侠诺“ARP双向绑定”图示说明

另外,对于有自动通过局域网安装软件的网络,例如网吧的收费系统、无盘系统,都可以透过自动的批次档,自动在开机时完成绑定的工作,网管只要撰写一 个统一的批次文件程序即可,不必一一配置。这些信息可以很容易地在互联网上通过搜索找到或者是向Qno侠诺的技术服务人员索取即可。

二、现阶段较佳解决方案——双向绑定以上以思想不坚定的快递员情况,说明了常见的ARP攻击防制方法。ARP攻 击利用的就是ARP协议的意志不坚,只有以培训的方式让ARP协议的意志坚定,明白正确的工作方法,才能从根本解决问题。只是依赖频繁的提醒快递员正确的 作事方法,但是没有能从快递员意志不坚的特点着手,就好像只管不教,最终大家都很累,但是效果仍有限。

Qno侠诺的技术服务人员建议,面对这种新兴攻击,取巧用省事的方式准备,最后的结果可能是费事又不管用,必须重新来过。ARP双向绑定虽然对网管 带来一定的工作量,但是其效果确是从根本上有效,而且网管也可参考自动批次档的作法,加快配置自动化的进行,更有效地对抗ARP攻击。

协议欺骗攻击技术常见种类简析及防范

IP欺骗攻击

IP欺骗技术就是通过伪造某台主机的IP地址骗取特权从而进行攻击的技术。许多应用程序认为如果数据包能够使其自身沿着路由到达目的地,而且应答包也可以回到源地,那么源IP地址一定是有效的,而这正是使源IP地址欺骗攻击成为可能的前提。

假设同一网段内有两台主机A、B,另一网段内有主机X。B 授予A某些特权。X 为获得与A相同的特权,所做欺骗攻击如下:首先,X冒充A,向主机 B发送一个带有随机序列号的SYN包。主机B响应,回送一个应答包给A,该应答号等于原序 列号加1。然而,此时主机A已被主机X利用拒绝服务攻击 “淹没”了,导致主机A服务失效。结果,主机A将B发来的包丢弃。为了完成三次握手,X还需要向B回送一个应答包,其应答号等于B向A发送数据 包的序列号加1。此时主机X 并不能检测到主机B的数据包(因为不在同一网段),只有利用TCP顺序号估算法来预测应答包的顺序号并将其发送给目标机B。如果猜测正确,B则认为收到的 ACK是来自内部主机A。此时,X即获得了主机A在主机B上所享有的特权,并开始对这些服务实施攻击。

要防止源IP地址欺骗行为,可以采取以下措施来尽可能地保护系统免受这类攻击:

·抛弃基于地址的信任策略: 阻止这类攻击的一种非常容易的办法就是放弃以地址为基础的验证。不允许r类远程调用命令的使用;删除.rhosts 文件;清空/etc/hosts.equiv 文件。这将迫使所有用户使用其它远程通信手段,如telnet、ssh、skey等等。
·使用加密方法: 在包发送到 网络上之前,我们可以对它进行加密。虽然加密过程要求适当改变目前的网络环境,但它将保证数据的完整性和真实性。
·进行包过滤:可以配置路由器使其能够拒绝网络外部与本网内具有相同IP地址的连接请求。而且,当包的IP地址不在本网内时,路由器不应该把本网主机的包发送出去。

有一点要注意,路由器虽然可以封锁试图到达内部网络的特定类型的包。但它们也是通过分析测试源地址来实现操作的。因此,它们仅能对声称是来自于内部网络的外来包进行过滤,若你的网络存在外部可信任主机,那么路由器将无法防止别人冒充这些主机进行IP欺骗。


ARP欺骗攻击

在局域网中,通信前必须通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)。ARP协议对网络安全具有重要的意义,但是当初ARP 方式的设计没有考虑到过多的安全问题,给ARP留下很多的隐患,ARP欺骗就是其中一个例子。而ARP欺骗攻击就是利用该协议漏洞,通过伪造IP地址和 MAC地址实现ARP欺骗的攻击技术。

 我们假设有三台主机A,B,C位于同一个交换式局域网中,监听者处于主机A,而主机B,C正在通信。现在A希望能嗅探到B->C的数据, 于是A就可以伪装成C对B做ARP欺骗——向B发送伪造的ARP应答包,应答包中IP地址为C的IP地址而MAC地址为A的MAC地址。 这个应答包会刷新B的ARP缓存,让B认为A就是C,说详细点,就是让B认为C的IP地址映射到的MAC地址为主机A的MAC地址。 这样,B想要发送给C的数据实际上却发送给了A,就达到了嗅探的目的。我们在嗅探到数据后,还必须将此数据转发给C, 这样就可以保证B,C的通信不被中断。
以上就是基于ARP欺骗的嗅探基本原理,在这种嗅探方法中,嗅探者A实际上是插入到了B->C中, B的数据先发送给了A,然后再由A转发给C,其数据传输关系如下所示:

B----->A----->C

B<----A<------C
 于是A就成功于截获到了它B发给C的数据。上面这就是一个简单的ARP欺骗的例子。

 ARP欺骗攻击有两种可能,一种是对路由器ARP表的欺骗;另一种是对内网电脑ARP表的欺骗,当然也可能两种攻击同时进行。但不管怎么样,欺骗发送后,电脑和路由器之间发送的数据可能就被送到错误的MAC地址上。

 防范ARP欺骗攻击可以采取如下措施:

·在客户端使用arp命令绑定网关的真实MAC地址命令
·在交换机上做端口与MAC地址的静态绑定。
·在路由器上做IP地址与MAC地址的静态绑定
·使用“ARP SERVER”按一定的时间间隔广播网段内所有主机的正确IP-MAC映射表。

DNS欺骗攻击

DNS欺骗即域名信息欺骗是最常见的DNS安全问题。当一个DNS服务器掉入陷阱,使用了来自一个恶意DNS服务器的错误信息,那么该DNS服务器 就被欺骗了。DNS欺骗会使那些易受攻击的DNS服务器产生许多安全问题,例如:将用户引导到错误的互联网站点,或者发送一个电子邮件到一个未经授权的邮 件服务器。网络攻击者通常通过以下几种方法进行DNS欺骗。

(1)缓存感染
黑客会熟练的使用DNS请求,将数据放入一个没有设防的DNS服务器的缓存当中。这些缓存信息会在客户进行DNS访问时返回给客户,从而将客户引导到入侵者所设置的运行木马的Web服务器或邮件服务器上,然后黑客从这些服务器上获取用户信息。

(2)DNS信息劫持
入侵者通过监听客户端和DNS服务器的对话,通过猜测服务器响应给客户端的DNS查询ID。每个DNS报文包括一个相关联的16位ID号,DNS服务器根据这个ID号获取请求源位置。黑客在DNS服务器之前将虚假的响应交给用户,从而欺骗客户端去访问恶意的网站。

(3)DNS重定向
攻击者能够将DNS名称查询重定向到恶意DNS服务器。这样攻击者可以获得DNS服务器的写权限。

防范DNS欺骗攻击可采取如下措施:

·直接用IP访问重要的服务,这样至少可以避开DNS欺骗攻击。但这需要你记住要访问的IP地址。
·加密所有对外的数据流,对服务器来说就是尽量使用SSH之类的有加密支持的协议,对一般用户应该用PGP之类的软件加密所有发到网络上的数据。这也并不是怎么容易的事情。

源路由欺骗攻击

通过指定路由,以假冒身份与其他主机进行合法通信或发送假报文,使受攻击主机出现错误动作,这就是源路由攻击。在通常情况下,信息包从起点到终点走 过的路径是由位于此两点间的路由器决定的,数据包本身只知道去往何处,但不知道该如何去。源路由可使信息包的发送者将此数据包要经过的路径写在数据包里, 使数据包循着一个对方不可预料的路径到达目的主机。下面仍以上述源IP欺骗中的例子给出这种攻击的形式:

主机A享有主机B的某些特权,主机X想冒充主机A从主机B(假设IP为aaa.bbb.ccc.ddd)获得某些服务。首先,攻击者修改距离X最近 的路由器,使得到达此路由器且包含目的地址aaa.bbb.ccc.ddd的数据包以主机X所在的网络为目的地;然后,攻击者X利用IP欺骗向主机B发送 源路由(指定最近的路由器)数据包。当B回送数据包时,就传送到被更改过的路由器。这就使一个入侵者可以假冒一个主机的名义通过一个特殊的路径来获得某些 被保护数据。

为了防范源路由欺骗攻击,一般采用下面两种措施:

·对付这种攻击最好的办法是配置好路由器,使它抛弃那些由外部网进来的却声称是内部主机的报文。
·在路由器上关闭源路由。用命令no ip source-route。