- 相關(guān)推薦
arp協(xié)議的作用_ARP協(xié)議的安全問(wèn)題和安全威脅
在學(xué)習(xí)、工作生活中,協(xié)議的使用成為日常生活的常態(tài),簽訂協(xié)議可以約束雙方履行責(zé)任。想寫協(xié)議卻不知道該請(qǐng)教誰(shuí)?下面是小編幫大家整理的arp協(xié)議的作用_ARP協(xié)議的安全問(wèn)題和安全威脅,歡迎大家分享。
在實(shí)現(xiàn)TCP/IP協(xié)議的網(wǎng)絡(luò)環(huán)境下,一個(gè)IP包走到哪里、要怎么走是靠路由表定義的,但是,當(dāng)IP包到達(dá)該網(wǎng)絡(luò)后,哪臺(tái)機(jī)器響應(yīng)這個(gè)IP包卻是靠該IP包中所包含的硬件MAC地址來(lái)識(shí)別的。也就是說(shuō),只有機(jī)器的硬件MAC地址和該IP包中的硬件MAC地址相同的機(jī)器才會(huì)應(yīng)答這個(gè)IP包,因?yàn)樵诰W(wǎng)絡(luò)中,每一臺(tái)主機(jī)都會(huì)有發(fā)送IP包的時(shí)候,所以,在每臺(tái)主機(jī)的內(nèi)存中,都有一個(gè)arp--〉硬件MAC的轉(zhuǎn)換表。通常是動(dòng)態(tài)的轉(zhuǎn)換表(該arp表可以手工添加靜態(tài)條目)。也就是說(shuō),該對(duì)應(yīng)表會(huì)被主機(jī)在一定的時(shí)間間隔后刷新。這個(gè)時(shí)間間隔就是ARP高速緩存的超時(shí)時(shí)間。通常主機(jī)在發(fā)送一個(gè)IP包之前,它要到該轉(zhuǎn)換表中尋找和IP包對(duì)應(yīng)的硬件MAC地址,如果沒(méi)有找到,該主機(jī)就發(fā)送一個(gè)ARP廣播包,于是,主機(jī)刷新自己的ARP緩存。然后發(fā)出該IP包。
了解這些常識(shí)后,現(xiàn)在就可以介紹在以太網(wǎng)絡(luò)中ARP欺騙是如何產(chǎn)生了,可以看看如下一個(gè)例子。
1.同網(wǎng)段ARP欺騙分析
如下所示,三臺(tái)主機(jī)的IP地址和MAC地址分布如下:
A: IP地址192.168.0.1硬件地址AA:AA:AA:AA:AA:AA;
B: IP地址192.168.0.2硬件地址BB:BB:BB:BB:BB:BB;
C: IP地址192.168.0.3硬件地址CC:CC:CC:CC:CC:CC。
一個(gè)位于主機(jī)B的入侵者想非法進(jìn)入主機(jī)A,可是這臺(tái)主機(jī)上安裝有防火墻。通過(guò)收集資料他知道這臺(tái)主機(jī)A的防火墻只對(duì)主機(jī)C有信任關(guān)系(開放23端口(telnet))。而他必須要使用telnet來(lái)進(jìn)入主機(jī)A,這個(gè)時(shí)候他應(yīng)該如何處理呢?
入侵者必須讓主機(jī)A相信主機(jī)B就是主機(jī)C,如果主機(jī)A和主機(jī)C之間的信任關(guān)系是建立在IP地址之上的。如果單單把主機(jī)B的IP地址改的和主機(jī)C的一樣,那是不能工作的,至少不能可靠地工作。如果你告訴以太網(wǎng)卡設(shè)備驅(qū)動(dòng)程序,自己IP是192.168.0.3,那么這只是一種純粹的競(jìng)爭(zhēng)關(guān)系,并不能達(dá)到目標(biāo)。我們可以先研究C這臺(tái)機(jī)器,如果我們能讓這臺(tái)機(jī)器暫時(shí)當(dāng)?shù),?jìng)爭(zhēng)關(guān)系就可以解除,這個(gè)還是有可能實(shí)現(xiàn)的。在機(jī)器C宕掉的同時(shí),將機(jī)器B的IP地址改為192.168.0.3,這樣就可以成功的通過(guò)23端口telnet到機(jī)器A上面,而成功的繞過(guò)防火墻的限制。
上面的這種想法在下面的情況下是沒(méi)有作用的,如果主機(jī)A和主機(jī)C之間的信任關(guān)系是建立在硬件地址的基礎(chǔ)上。這個(gè)時(shí)候還需要用ARP欺騙的手段,讓主機(jī)A把自己的ARP緩存中的關(guān)于192.168.0.3映射的硬件地址改為主機(jī)B的硬件地址。
我們可以人為地制造一個(gè)arp_reply的響應(yīng)包,發(fā)送給想要欺騙的主機(jī),這是可以實(shí)現(xiàn)的,因?yàn)閰f(xié)議并沒(méi)有規(guī)定必須在接收到arp_echo后才可以發(fā)送響應(yīng)包。這樣的工具很多,我們也可以直接用Wireshark抓一個(gè)arp響應(yīng)包,然后進(jìn)行修改。
可以人為地制造這個(gè)包?梢灾付ˋRP包中的源IP、目標(biāo)IP、源MAC地址、目標(biāo)MAC地址。這樣你就可以通過(guò)虛假的ARP響應(yīng)包來(lái)修改主機(jī)A上的動(dòng)態(tài)ARP緩存達(dá)到欺騙的目的。
下面是具體的步驟。
(1)他先研究192.0.0.3這臺(tái)主機(jī),發(fā)現(xiàn)這臺(tái)主機(jī)的漏洞。
。2)根據(jù)發(fā)現(xiàn)的漏洞使主機(jī)C宕掉,暫時(shí)停止工作。
。3)這段時(shí)間里,入侵者把自己的IP改成192.0.0.3。
。4)他用工具發(fā)一個(gè)源IP地址為192.168.0.3源MAC地址為BB:BB:BB:BB:BB:BB的包給主機(jī)A,要求主機(jī)A更新自己的ARP轉(zhuǎn)換表。
(5)主機(jī)更新了ARP表中關(guān)于主機(jī)C的IP-->MAC對(duì)應(yīng)關(guān)系。
。6)防火墻失效了,入侵的IP變成合法的MAC地址,可以telnet了。
。7)上面就是一個(gè)ARP的欺騙過(guò)程,這是在同網(wǎng)段發(fā)生的情況,但是,提醒注意的是,在B和C處于不同網(wǎng)段的時(shí)候,上面的方法是不起作用的。
2.不同網(wǎng)段ARP欺騙分析
假設(shè)A、C位于同一網(wǎng)段而主機(jī)B位于另一網(wǎng)段,三臺(tái)機(jī)器的ip地址和硬件地址如下:
A: IP地址192.168.0.1硬件地址AA:AA:AA:AA:AA:AA;
B: IP地址192.168.1.2硬件地址BB:BB:BB:BB:BB:BB;
C: IP地址192.168.0.3硬件地址CC:CC:CC:CC:CC:CC。
在現(xiàn)在的情況下,位于192.168.1網(wǎng)段的主機(jī)B如何冒充主機(jī)C欺騙主機(jī)A呢?顯然用上面的辦法的話,即使欺騙成功,那么由主機(jī)B和主機(jī)A之間也無(wú)法建立telnet會(huì)話,因?yàn)槁酚善鞑粫?huì)把主機(jī)A發(fā)給主機(jī)B的包向外轉(zhuǎn)發(fā),路由器會(huì)發(fā)現(xiàn)地址在192.168.0.這個(gè)網(wǎng)段之內(nèi)。
現(xiàn)在就涉及另外一種欺騙方式--ICMP重定向。把ARP欺騙和ICMP重定向結(jié)合在一起就可以基本實(shí)現(xiàn)跨網(wǎng)段欺騙的目的。
ICMP重定向報(bào)文是ICMP控制報(bào)文中的一種。在特定的情況下,當(dāng)路由器檢測(cè)到一臺(tái)機(jī)器使用非優(yōu)化路由的時(shí)候,它會(huì)向該主機(jī)發(fā)送一個(gè)ICMP重定向報(bào)文,請(qǐng)求主機(jī)改變路由。路由器也會(huì)把初始數(shù)據(jù)報(bào)向它的目的地轉(zhuǎn)發(fā)。
我們可以利用ICMP重定向報(bào)文達(dá)到欺騙的目的。下面是結(jié)合ARP欺騙和ICMP重定向進(jìn)行攻擊的步驟。
(1)為了使自己發(fā)出的非法IP包能在網(wǎng)絡(luò)上能夠存活長(zhǎng)久一點(diǎn),開始修改IP包的生存時(shí)間TTL為下面的過(guò)程中可能帶來(lái)的問(wèn)題做準(zhǔn)備。把TTL改成255。(TTL定義一個(gè)IP包如果在網(wǎng)絡(luò)上到不了主機(jī)后,在網(wǎng)絡(luò)上能存活的時(shí)間,改長(zhǎng)一點(diǎn)在本例中有利于做充足的廣播)。
。2)下載一個(gè)可以自由制作各種包的工具(例如hping2)。
。3)然后和上面一樣,尋找主機(jī)C的漏洞按照這個(gè)漏洞宕掉主機(jī)C。
。4)在該網(wǎng)絡(luò)的主機(jī)找不到原來(lái)的192.0.0.3后,將更新自己的ARP對(duì)應(yīng)表。于是他發(fā)送一個(gè)原IP地址為192.168.0.3硬件地址為BB:BB:BB:BB:BB:BB的ARP響應(yīng)包。
(5)現(xiàn)在每臺(tái)主機(jī)都知道了,一個(gè)新的MAC地址對(duì)應(yīng)192.0.0.3,一個(gè)ARP欺騙完成了,但是,每臺(tái)主機(jī)都只會(huì)在局域網(wǎng)中找這個(gè)地址而根本就不會(huì)把發(fā)送給192.0.0.3的IP包丟給路由。于是他還得構(gòu)造一個(gè)ICMP的重定向廣播。
。6)自己定制一個(gè)ICMP重定向包告訴網(wǎng)絡(luò)中的主機(jī):"到192.0.0.3的路由最短路徑不是局域網(wǎng),而是路由,請(qǐng)主機(jī)重定向你們的路由路徑,把所有到192.0.0.3的IP包丟給路由。"
。7)主機(jī)A接收這個(gè)合理的ICMP重定向,于是修改自己的路由路徑,把對(duì)192.0.0.3的通信都丟給路由器。
。8)入侵者終于可以在路由外收到來(lái)自路由內(nèi)的主機(jī)的IP包了,他可以開始telnet到主機(jī)的23口。
其實(shí)上面的想法只是一種理想話的情況,主機(jī)許可接收的ICMP重定向包其實(shí)有很多的限制條件,這些條件使ICMP重定向變得非常困難。
TCP/IP協(xié)議實(shí)現(xiàn)中關(guān)于主機(jī)接收ICMP重定向報(bào)文主要有下面幾條限制。
。1)新路由必須是直達(dá)的。
(2)重定向包必須來(lái)自去往目標(biāo)的當(dāng)前路由。
。3)重定向包不能通知主機(jī)用自己做路由。
。4)被改變的路由必須是一條間接路由。
由于有這些限制,所以ICMP欺騙實(shí)際上很難實(shí)現(xiàn)。但是我們也可以主動(dòng)地根據(jù)上面的思維尋找一些其他的方法。更為重要的是我們知道了這些欺騙方法的危害性,我們就可以采取相應(yīng)的防御辦法。
3.ARP欺騙的防御原則
我們給出如下一些初步的防御方法。
。1)不要把你的網(wǎng)絡(luò)安全信任關(guān)系建立在IP地址的基礎(chǔ)上或硬件MAC地址基礎(chǔ)上,(RARP同樣存在欺騙的問(wèn)題),理想的關(guān)系應(yīng)該建立在IP+MAC基礎(chǔ)上。
。2)設(shè)置靜態(tài)的MAC→IP對(duì)應(yīng)表,不要讓主機(jī)刷新你設(shè)定好的轉(zhuǎn)換表。
。3)除非很有必要,否則停止使用ARP,將ARP作為永久條目保存在對(duì)應(yīng)表中。在Linux下用ifconfig -arp可以使網(wǎng)卡驅(qū)動(dòng)程序停止使用ARP。
。4)使用代理網(wǎng)關(guān)發(fā)送外出的通信。
。5)修改系統(tǒng)拒收ICMP重定向報(bào)文。在Linux下可以通過(guò)在防火墻上拒絕ICMP重定向報(bào)文或者是修改內(nèi)核選項(xiàng)重新編譯內(nèi)核來(lái)拒絕接收ICMP重定向報(bào)文。在Win 20xx下可以通過(guò)防火墻和IP策略拒絕接收ICMP報(bào)文。
【arp協(xié)議的作用_ARP協(xié)議的安全問(wèn)題和安全威脅】相關(guān)文章:
ARP協(xié)議的安全問(wèn)題和安全威脅09-15
基于網(wǎng)絡(luò)中ARP問(wèn)題的分析及對(duì)策論文03-02
探析數(shù)字圖書館網(wǎng)絡(luò)防治ARP病毒的策略03-19
電腦信息安全的威脅和管理策略11-19
TCP/IP協(xié)議網(wǎng)絡(luò)安全問(wèn)題分析論文05-06
七號(hào)信令中SCCP協(xié)議的安全問(wèn)題研究11-22
意大利留學(xué)安全問(wèn)題03-29
關(guān)于安全問(wèn)題的作文04-05