开展网络劫持攻击时,攻击者首先需要确定其所期望劫持的数据对象,并根据这些数据对象的特征,正确地从网络通信流量中进行识别和提取;然后采用特定的技术手段,对劫持对象数据的正常通信过程进行攻击。这种攻击主要有:伪造、欺骗、改变路径、重放、篡改、破坏等。例如,通过提取通信过程中的身份标识信息,然后伪造与之相同的信息与其他对象通信,实现用户身份的冒用,经典的Cookie劫持即属于此类攻击。再比如,对DNS协议工作过程进行干扰,当目标计算机期望获得某一DNS域名地址时,攻击者伪造一个虚假的地址发送给它,并通过技术手段破坏正常的DNS解析结果的送达,从而实现DNS劫持攻击。
网络劫持攻击的危害非常大。以网络通信数据为对象的网络劫持攻击能够干扰、破坏正常的网络通信过程。攻击者往往会针对网络通信过程中的关键信息进行欺骗、伪造和破坏等攻击,实现攻击目的。比如针对网络通信过程中的身份信息的伪造,实现网络通信身份的劫持。针对网络通信过程中的域名服务器地址、会话ID等关键信息伪造,实现DNS劫持、会话劫持等。针对网络通信过程的设备进行劫持,实现网络通信路径的改变,进而导致网络通信数据有被窥视、篡改的风险。
网络劫持攻击包括很多种具体的劫持攻击。针对特定协议的网络劫持攻击,包括DNS劫持、HTTP劫持、ICMP劫持等。针对网络数据的功能或特定数据格式的网络劫持攻击,包括Cookie劫持、点击劫持等。还有些通过对部署在网络通信链路中的设备作为切入点网络劫持攻击,包括集线器(Hub)嗅探、路由劫持等。
互联网自诞生以来,网络劫持就层出不穷,在早期,网络劫持主要包括Hub嗅探、MAC地址欺瞒欺骗、MAC地址替换、ARP防火墙攻击、DHCP服务钓鱼、DNS劫持、Cookie劫持等。网络劫持也是一个不断发展的概念,在实际网络安全研究中,随着不同的劫持数据对象、劫持方式的变化等,也出现了一些新型的网络劫持方法,比如:路由劫持、点击劫持、CDN入侵等。