跳板攻击溯源中,我们需要先确定本地网络中是否存在攻击者的跳板。具体可参考(跳板攻击原理及如何追踪定位攻击者主机(上))
那么在本地网络中发现跳板后,又要如何追踪定位攻击者主机?
这种情况下需要和其上游的网络管理域进行协作,按照相同的方法进行检测,直至发现真正的网络攻击源,检测方法如下:
由于这一过程需要人工参与,在《Cooperative intrusion traceback and response architecture (CITRA)》一文中给出了一个自动协作的框架机制。该方法综合各个网络域中的网络设备,如防火墙、路由器等,通过多个网络域的协作来追踪攻击源。
《Inter-packet delay-based correlation for tracing encrypted connections through stepping stone》一文指出,可以对攻击路径上的各个跳板采用计算机取证的方法,通过各个跳板的日志记录来进行追踪。但这种方法受限较大,因为攻击者可能已经完全控制了跳板主机,那么这些跳板主机上的日志记录也可能已被攻击者所修改。
上述方法需要各个网络域的协作,但如果上游攻击路径上有一个或多个网络管理域无法进行合作,则很难定位真正的攻击者。
根据检测人员所掌握的资源,可以分为两种情况:
1. 检测人员可以在网络上部署传感器
根据攻击者的数据包是否加密, 可以分为两种情况
(1) 数据包未加密
文献《Sleepy watermark tracing: an active network-based intrusion response framework》给出了一个主动的方法,即在回传给攻击者的数据包中注入水印特征,在攻击路径上部署传感器,从而追踪到攻击者。
(2) 数据包加密
文献《Robust correlation of encrypted attack traffic through stepping stones by flow watermarking》对这种情况进行了研究,所提方法实际上是《 Robust correlation of encrypted attack traffic through stepping stones by manipulation of interpacket delays》这种情况下的自然延伸。通过改变回送给攻击者的数据包的时序特征,也就是以数据包之间的间隔时间为载体来填加水印信息,从而追踪数据包的流向。
还有研究员采用对数据包的来回时间进行测量。该方法基于这样一个假设,正常的数据包发送和回复时间相差应该在一个有限的时间内, 而回传数据包经过跳板进行中继,这个时间必然远高于正常的时间差。这个时间越长,说明检测点离攻击者主机的距离越远。
2. 检测人员无法在网络上部署传感器
在这种情况下,攻击源定位问题仍然是一个开放的问题。目前暂未发现有研究员在这一约束条件下进行研究。
但部分研究员也有一个朴素的想法,类似于针对僵尸网络溯源的方法。
如果检测人员在攻击者未察觉的情况下能控制跳板主机在跳板主机回传给攻击者的消息中插入可执行代码,当攻击者接收到消息后, 可执行代码在攻击者主机上运行,把攻击者主机的信息发送给检测人员。不过这一思路需要根据攻击者所使用的软件工具,挖掘其漏洞,难度较大,且不具有通用性。
综上所述,对于在本地网络中发现跳板后,如何追踪定位攻击者主机?主要是以下几种解决方案:
跳板攻击的隐匿性性,给互联网安全带来了很大的隐患。未来,网络安全的难度和整个网络架构的设计都将面临更大的挑战。