流量劫持是如何產(chǎn)生的拒迅?(一)
1. Hub嗅探
集線器(Hub)這種設(shè)備如今早已銷聲匿跡了骚秦,即使在十年前也少有人用她倘。作為早期的網(wǎng)絡(luò)設(shè)備,它唯一的功能就是廣播數(shù)據(jù)包:把一個(gè)接口的收到的數(shù)據(jù)包群發(fā)到所有接口上作箍。且不吐槽那小得驚人的帶寬硬梁,光是這轉(zhuǎn)發(fā)規(guī)則就是多么的不合理。任何人能收到整個(gè)網(wǎng)絡(luò)環(huán)境的數(shù)據(jù)胞得,隱私安全可想而知荧止。
嗅探器成了那個(gè)時(shí)代的頂尖利器。只要配置好過(guò)濾器阶剑,不多久就能捕捉到各種明文數(shù)據(jù)跃巡,用戶卻沒(méi)有任何防御對(duì)策。
防范措施:還在用的趕緊扔了吧牧愁。
這種設(shè)備目前唯一可用之處就是旁路嗅探素邪。利用廣播的特性,可以非常方便分析其他設(shè)備的通信猪半,例如抓取機(jī)頂盒的數(shù)據(jù)包而不影響正常通信兔朦。
2. MAC 欺騙
交換機(jī)的出現(xiàn)逐漸淘汰了集線器。交換機(jī)會(huì)綁定 MAC 地址和接口磨确,數(shù)據(jù)包最終只發(fā)往一個(gè)終端烘绽。因此只要事先配置好 MAC 對(duì)應(yīng)的接口,理論上非常安全了俐填。
不過(guò)安接,很少有人會(huì)那么做,大多為了偷懶英融,直接使用了設(shè)備默認(rèn)的模式 —— 自動(dòng)學(xué)習(xí)盏檐。設(shè)備根據(jù)某個(gè)接口發(fā)出的包,自動(dòng)關(guān)聯(lián)該包的源地址到此接口驶悟。
然而這種學(xué)習(xí)并不智能胡野,甚至太過(guò)死板,任何一個(gè)道聽(tīng)途說(shuō)都會(huì)當(dāng)作真理痕鳍。用戶發(fā)送一個(gè)自定義源 MAC 地址的包是非常容易的硫豆,因此交換機(jī)成了非常容易被忽悠的對(duì)象。只要偽造一個(gè)源地址笼呆,就能將這個(gè)地址關(guān)聯(lián)到自己的接口上熊响,以此獲得受害者的流量。
不過(guò)诗赌,受害者接著再發(fā)出一個(gè)包汗茄,綁定關(guān)系又恢復(fù)原先正常的。因此只要比誰(shuí)發(fā)的頻繁铭若,誰(shuí)就能競(jìng)爭(zhēng)到這個(gè) MAC 地址的接收權(quán)洪碳。如果偽造的是網(wǎng)關(guān)地址递览,交換機(jī)就誤以為網(wǎng)關(guān)電纜插到你接口上,網(wǎng)絡(luò)環(huán)境里的出站流量瞬間都到了你這里瞳腌。
當(dāng)然绞铃,除非你有其他出站渠道,可以將竊取的數(shù)據(jù)代理出去嫂侍;否則就別想再轉(zhuǎn)發(fā)給被你打垮的真網(wǎng)關(guān)了儿捧,被劫持的用戶也就沒(méi)法上外網(wǎng)。所以這招危害性不是很大吵冒,但破壞性很強(qiáng),可以瞬間集體斷網(wǎng)西剥。
防范措施:機(jī)器固定的網(wǎng)絡(luò)盡量綁定 MAC 和接口吧痹栖。貌似大多數(shù)網(wǎng)吧都綁定了 MAC 和接口,極大增強(qiáng)了鏈路層的安全性瞭空。同時(shí)揪阿,獨(dú)立的子網(wǎng)段盡可能劃分 VLAN,避免過(guò)大的廣播環(huán)境咆畏。
大學(xué)里見(jiàn)過(guò)千人以上還不劃分 VLAN 的南捂,用一根短路網(wǎng)線就可以毀掉整個(gè)網(wǎng)絡(luò)。
3. MAC 沖刷
之前說(shuō)了集線器和交換機(jī)的轉(zhuǎn)發(fā)區(qū)別旧找。如果交換機(jī)發(fā)現(xiàn)一個(gè)暫時(shí)還未學(xué)習(xí)到的 MAC 地址溺健,將會(huì)把數(shù)據(jù)包送往何處呢?為了不丟包钮蛛,只能是廣播到所有接口鞭缭。
如果能讓交換機(jī)的學(xué)習(xí)功能失效,那就退化成一個(gè)集線器了魏颓。由于交換機(jī)的硬件配置有限岭辣,顯然不可能無(wú)限多的記錄地址對(duì)應(yīng)條目。我們不停偽造不重復(fù)的源地址甸饱,交換機(jī)里的記錄表很快就會(huì)填滿沦童,甚至覆蓋原有的學(xué)習(xí)記錄,用戶的數(shù)據(jù)包無(wú)法正常轉(zhuǎn)發(fā)叹话,只能廣播到所有接口上了偷遗。
防范措施:還是 MAC 和接口綁定。一旦綁定驼壶,該接口只允許固定的源地址鹦肿,偽造的自然就失效了。當(dāng)然辅柴,好一點(diǎn)的交換機(jī)都有些策略箩溃,不會(huì)讓一個(gè)接口關(guān)聯(lián)過(guò)多的 MAC 地址瞭吃。
必須得選一個(gè) VLAN 內(nèi)的、并且實(shí)際存在的地址做為目標(biāo) MAC涣旨,以免產(chǎn)生大量的數(shù)據(jù)風(fēng)暴歪架。