ARP 攻击就以攻击方法简单、攻击速度快、攻击效果好而深受越来越多恶作剧者的青睐, 从而导致在近 1 年多的时间里, 网络中的 ARP 攻击无处不在, 各大论坛从未停止过 ARP 攻击的讨论, 一些遭受过 ARP 攻击的用户甚至到了谈“ARP”色变的程度。
根据攻击者的真实性, ARP 攻击可以分为三类:
1. 攻击者的 IP 和 MAC 都是真实的;
2. 攻击者的 IP 更改, MAC 是真实的;
3. 攻击者的 IP 和 MAC 均更改, 甚至伪造。
对于前两种情况, 我们知道借助科来网络分析系统的智能诊断功能, 可以轻松地定位攻击源。 但第 3 种情况, 这种方法则不能有效定位攻击源, 而这种情况的 ARP 攻击, 正日渐增多, 所以对这种同时更改 IP 和 MAC 的 ARP 攻击的排查, 成为了目前 ARP 攻击排查工作的重中之重。
下面我们对同时更改 IP和 MAC 的 ARP 攻击进行讨论(第 1 种和第 2 种 ARP 攻击不此讨论范围之内), 并给出这种情况下的解决方案。
我们以一个实例的方式进行分析, 首先请看网络拓扑。
网络非常简单, A、B、C、D 四台机器同时连接到一个交换机, 再通过一个路由器连接到 Internet, 同时将安装科来的分析用笔记本, 接在交换机的镜像端口。
在图 1 所示的网络中, 假设 A发起 ARP 攻击, 但却将攻击数据包的源 MAC 和源 IP 均改为机器 D 的。 在这种情况下, 如果我们直接使用图 1 的方式进行抓包, 那么我们分析后, 将会认为机器 D 存在 ARP 攻击, 而这样的结果将会使用D 蒙冤而 A却逍遥法外。 接下来, 我们就来看, 如何查找到元凶
这种情况下, 我们的解决方案是:科来网络分析系统+分路器。
在这种解决方案中, 科来网络分析系统用于捕获数据, 分路器(TAP)用于物理单向镜像数据。 二者结合使用, 可实现物理单向的数据捕获。 针对前面的网络拓扑, 以单端口分路器为例, 部署后的拓扑如图 2 所示。
从图 2 可知, 我们将 4 台机器分成了两部分, 其中两台(这里是 A 和 B)首先通过一个二层交换机到分路器, 然后再连接到中心交换机, 同时将安装科来的笔记本接到分路器上进行数据捕获。
我们再来分析刚才所举的例子, 即 A发起 ARP 攻击, 但却将攻击数据包的源 MAC 和源 IP 均改为机器 D 的。 在部署分路器后, 我们在科来网络分析系统中, 只捕获并分析 A和B两台机器发出的数据包, 这时, 我们将抓到源 MAC 和源 IP 都是 D 的数据。 抓到这些数据后, 我们即可确定, 真正的罪魁祸首在 A和 B两台机器之间, 然后再单独对 A和 B进行单向抓包, 即可确定最终的元凶。 相对应的, 如果我们在这种情况下抓到的数据包全是正常的(源 IP 和源 MAC 都是 A或 B), 则表示罪魁祸首不是 A和 B, 那么需要使用相同的方法对 C 和D 进行检测分析。
同样, 当攻击者将 IP 和 MAC 都改为不存在的假地址时, 我们也可采用上述方法找到真凶。 此方法不仅适用于上述例子中几台机器的小型网络, 在大规模的网络中一样可行, 排查的故障也不仅仅是例子所说的 ARP 攻击, 而是伪造 IP和 MAC 的任意攻击行为。
现将此方法的步骤归纳如下:
1. 将所有客户端分为两部分, 一部分接入位置保持不变, 另一部份接入分路器;
2. 将安装科来的笔记本接入到分路器中, 仅捕获发出的数据包;
3. 如果捕获到的数据包中, 出现源 MAC 或 IP 不是这部分的正确 IP或 MAC 的数据, 则表示这部分机器中存在伪造地址攻击;如果捕获到的数据包没有出现这种数据, 则表示攻击者在另一部分机器中;
4. 将认定有问题的那部分机器再细分成两部份, 使用和上面相同的方法进行捕获分析, 进而将攻击者定位在更小的范围内;
5. 采用上述的方法逐渐缩小范围, 直至最终找出攻击者(具体的步骤数与网络相关)。
在网络安全日益重要的今天, 通过该方法查找网络中的恶意攻击者, 虽然步骤显得有些繁琐, 但个人认为, 却不失为一种行之有效的手段。
本文仅提供一种思路, 不对的地方敬请指出, 同时欢迎大家共同探讨。
……