欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

电脑安全 ARP缓存感染攻击解析

程序员文章站 2022-03-03 16:41:49
电脑安全 ARP缓存感染攻击解析ARP中毒能让局域网内的黑客在其网内造成巨大的网络破坏。由于它通常是“不可治愈”的,因此每一个网络管理员都应该明白这种攻击究竟是如何进行的... 15-05-14...

   对人们撒谎,即所谓的“社会工程”,还包含了策略(已获罪的黑客kevin mitnick有具体实施),例如假扮成一个公司的雇员这样就可以和真正的雇员交换公司机密。要骗过计算机则包括许多不同的技术,一个常用的是——arp缓存中毒(arp cache poisoning)——这是本文的核心。arp中毒能让局域网内的黑客在其网内造成巨大的网络破坏。由于它通常是“不可治愈”的,因此每一个网络管理员都应该明白这种攻击究竟是如何进行的。

  回顾arp

  在“计算机网络基础:什么是nic, mac和arp?” ( 参见译者的这篇译文 ) 一文中,我们解释了地址解析协议 (arp, address resolution protocol) 是如何将网络设备的mac地址和其ip地址关联起来的,这样在同一个局域网内的设备就能相互知道彼此的存在。arp基本上就是一种网络上的点名。

  arp,一个十分简单的协议,仅仅只包含了4种消息类型:

  1. arp请求。计算机a询问整个局域网,“who has this ip address?” (“谁的ip地址是这个?”,英文为本来报文里的ascii码消息,译者注)

  2. arp响应。计算机b告诉计算机a,“i have that ip. my mac address is [whatever it is].” (我的ip地址是那个。我的mac地址是[xx:xx:xx:xx:xx:xx])

  4. 反向arp请求。和arp请求的概念一样,但是计算机a询问,“who has this mac address?” (谁的mac地址是这个?)

  4. 反向arp响应。计算机b告诉计算机a,“i have that mac. my ip address is [whatever it is]” (我的mac地址是那个。我的ip地址是xxx. xxx. xxx. xxx)

  所有的网络设备都有一个arp映射表,就是内存里的一小段存储着目前该设备已经匹配的ip地址和mac地址对。arp映射表确保该设备不会向它已经通讯过的设备重复发送arp请求。

  这里是一次常规的arp通信的例子。jessica,一个接待员,告诉word(指我们使用的微软文档编辑器,译者注)打印最新的公司通信录。这是她今天的第一个打印任务。她的计算机 (ip地址是192.168.0.16) 希望发送这个打印任务到办公室的惠普laserjet打印机 (ip地址是192.168.0.45)。所以jessica的计算机就会像整个局域网广播一个arp请求去询问,“who has the ip address, 192.168.0.45?” (谁的ip地址是192.168.0.45?),如图1.

电脑安全 ARP缓存感染攻击解析

  局域网内所有的设备都会忽略这个arp请求,除了惠普laserjet打印机。这台打印机发现它的ip地址就是请求里的ip地址,于是它发送一个arp响应:“嘿,我的ip地址是192.168.0.45. 这是我的mac地址:

  00:90:7f:12:de:7f”,如图2.

电脑安全 ARP缓存感染攻击解析

  现在jessica的计算机知道了这台打印机的mac地址。它现在能将这个打印任务发给正确的设备(打印机,译者注),并且在它的arp映射表里将打印机的mac地址00:90:7f:12:de:7f和它的ip地址192.168.0.45关联起来。