ARP緩存感染攻擊解析
對人們撒謊,即所謂的“社會工程”,還包含了策略(已獲罪的黑客Kevin Mitnick有具體實施),例如假扮成一個公司的雇員這樣就可以和真正的雇員交換公司機密。要騙過計算機則包括許多不同的技術,一個常用的是——ARP緩存中毒(ARP Cache Poisoning)——這是本文的核心。ARP中毒能讓局域網內的黑客在其網內造成巨大的網絡破壞。由于它通常是“不可治愈”的,因此每一個網絡管理員都應該明白這種攻擊究竟是如何進行的。
回顧ARP
在“計算機網絡基礎:什么是NIC, MAC和ARP?” ( 參見譯者的這篇譯文 ) 一文中,我們解釋了地址解析協(xié)議 (ARP, Address Resolution Protocol) 是如何將網絡設備的MAC地址和其IP地址關聯(lián)起來的,這樣在同一個局域網內的設備就能相互知道彼此的存在。ARP基本上就是一種網絡上的點名。
ARP,一個十分簡單的協(xié)議,僅僅只包含了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映射表確保該設備不會向它已經通訊過的設備重復發(fā)送ARP請求。