校園網(wǎng)中蜜罐技術(shù)應(yīng)用方案 續(xù)
蜜罐技術(shù)在校園網(wǎng)內(nèi)中的應(yīng)用
2捕獲加密會(huì)話(huà)數(shù)據(jù)
為了觀察入侵者使用加密的會(huì)話(huà),就必須找到破解加密會(huì)話(huà)的方法,不過(guò)許多組織已經(jīng)證明這是非常困難的。強(qiáng)攻不行就只能智取,加密的信息如果要使用就肯定會(huì)在某些地方不是被加密的,繞過(guò)加密進(jìn)程就可以捕獲未加密的數(shù)據(jù)。這是解密工作的基本機(jī)制,然后獲得訪問(wèn)未保護(hù)的數(shù)據(jù)。
使用二進(jìn)制木馬程序是對(duì)付加密的一種辦法。當(dāng)入侵者攻破蜜罐,他可能會(huì)使用如SSH的加密工具來(lái)登陸被攻陷的主機(jī),登陸的時(shí)候肯定要輸入命令,這時(shí)木馬shell程序會(huì)記錄他們的動(dòng)作。不過(guò)二進(jìn)制木馬程序隱蔽性不高,而且入侵者可能會(huì)安裝他們自己的二進(jìn)制程序。
從操作系統(tǒng)內(nèi)核訪問(wèn)數(shù)據(jù)將是一個(gè)很好的捕獲方法。不管入侵者使用什么二進(jìn)制程序,都可以從內(nèi)核捕獲數(shù)據(jù)并且可以記錄它們的行為。而且,由于用戶(hù)空間和內(nèi)核空間是分開(kāi)的,所以在技術(shù)上還可以實(shí)現(xiàn)對(duì)所有包括root在內(nèi)的用戶(hù)隱藏自己的動(dòng)作。
數(shù)據(jù)捕獲是由內(nèi)核模塊來(lái)完成的,所以要使用這個(gè)模塊獲得蜜罐機(jī)操作系統(tǒng)內(nèi)核空間的訪問(wèn),從而捕獲所有read()和write()的數(shù)據(jù)。捕獲模塊通過(guò)替換系統(tǒng)調(diào)用表的read()和write()函數(shù)來(lái)實(shí)現(xiàn)這個(gè)功能,這個(gè)替換的新函數(shù)只是簡(jiǎn)單的調(diào)用老read()和write()函數(shù),并且把內(nèi)容拷貝到一個(gè)數(shù)據(jù)包緩存。
3數(shù)據(jù)傳輸隱蔽通道的建立
當(dāng)蜜罐捕獲到數(shù)據(jù)后,那么它需要在入侵者沒(méi)有察覺(jué)的情況下把數(shù)據(jù)發(fā)送到蜜網(wǎng)網(wǎng)關(guān)服務(wù)端。蜜罐通常都是布置在局域網(wǎng)內(nèi),如果捕獲模塊只是簡(jiǎn)單使用UDP流來(lái)給服務(wù)端發(fā)送數(shù)據(jù),入侵者只需監(jiān)聽(tīng)網(wǎng)絡(luò)上的數(shù)據(jù)傳輸就可以判斷是否有蜜罐系統(tǒng)的存在了。不過(guò)捕獲模塊還是可以使用UDP來(lái)給服務(wù)端發(fā)送數(shù)據(jù),只不過(guò)它需要修改內(nèi)核使用戶(hù)無(wú)法看到這些數(shù)據(jù)包,包括其它主機(jī)發(fā)送的該類(lèi)型使用相同配置的數(shù)據(jù)包。當(dāng)捕獲模塊把這些數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)的時(shí)候,操作系統(tǒng)也無(wú)法阻止這些數(shù)據(jù)包的傳輸。
如果一個(gè)局域網(wǎng)上每個(gè)蜜罐安裝了按照以上方法改進(jìn)后的數(shù)據(jù)捕獲模塊,入侵者將不能發(fā)現(xiàn)任何捕獲模塊的數(shù)據(jù),然而服務(wù)端能夠完全訪問(wèn)這些由蜜罐客戶(hù)端捕獲的數(shù)據(jù)。每個(gè)read()或write()調(diào)用請(qǐng)求都會(huì)產(chǎn)生一個(gè)或多個(gè)日志數(shù)據(jù)包,每個(gè)數(shù)據(jù)包都包含了一點(diǎn)關(guān)于這個(gè)調(diào)用內(nèi)容的信息和這個(gè)調(diào)用訪問(wèn)的數(shù)據(jù)。每個(gè)包還包含了一個(gè)記錄,這個(gè)記錄包含一些產(chǎn)生調(diào)用的進(jìn)程描述、調(diào)用產(chǎn)生的時(shí)間和記錄數(shù)據(jù)的大小。
這些包完全由捕獲模塊產(chǎn)生,而不是使用TCP/IP協(xié)議棧來(lái)產(chǎn)生或發(fā)送數(shù)據(jù)包,所以系統(tǒng)無(wú)法看到或阻斷這些數(shù)據(jù)包。當(dāng)數(shù)據(jù)包創(chuàng)建好的時(shí)候就直接發(fā)送給驅(qū)動(dòng)設(shè)備,這就繞過(guò)了原始套接字代碼和包過(guò)濾代碼。由于嗅探器通常都是基于libpcap的,而libpcap使用原始套接字接口來(lái)收集數(shù)據(jù)包,所以嗅探器不能看到運(yùn)行在蜜罐主機(jī)上由捕獲模塊產(chǎn)生的數(shù)據(jù)包。
同時(shí)還有一個(gè)要解決的問(wèn)題,就是要阻止蜜罐A檢測(cè)到蜜罐B的捕獲到的數(shù)據(jù)包。使用以太交換不能解決這個(gè)問(wèn)題,因?yàn)閿?shù)據(jù)包不是通過(guò)ARP獲取目標(biāo)IP地址對(duì)應(yīng)的目標(biāo)MAC地址,所以它對(duì)ARP欺騙有自然免疫能力。但是在有些情況下,A可以看到B的數(shù)據(jù)包,這樣入侵者就可以在蜜罐A運(yùn)行嗅探器來(lái)看到局域網(wǎng)上來(lái)自蜜罐B的捕獲到的數(shù)據(jù)包。
為了解決這個(gè)問(wèn)題,捕獲模塊的包產(chǎn)生機(jī)制應(yīng)該實(shí)現(xiàn)自己獨(dú)特的原始套接字實(shí)現(xiàn),從而實(shí)現(xiàn)安靜地忽略來(lái)自局域網(wǎng)中的其他蜜罐發(fā)送出數(shù)據(jù)包。在發(fā)送的數(shù)據(jù)包頭定義了預(yù)先設(shè)定的目標(biāo)UDP端口和固有的特定數(shù)字,如果這兩個(gè)值都匹配了,那么這個(gè)數(shù)據(jù)包就會(huì)被忽略。這樣蜜罐A在收到蜜罐B的數(shù)據(jù)包時(shí)就會(huì)丟棄它們并且移到隊(duì)列里的下一個(gè)數(shù)據(jù)包,這使得入侵者用嗅探器也無(wú)法捕獲數(shù)據(jù)包。
校園網(wǎng)中蜜罐技術(shù)應(yīng)用方案結(jié)論
針對(duì)傳統(tǒng)的蜜罐的局限性和缺點(diǎn),出現(xiàn)了蜜網(wǎng)技術(shù),蜜網(wǎng)是由許多用來(lái)與攻擊者進(jìn)行交互的蜜罐組成的網(wǎng)絡(luò)。本文針對(duì)蜜網(wǎng)中蜜罐所面臨的問(wèn)題:隱藏自身、加密會(huì)話(huà)數(shù)據(jù)捕獲以及和蜜網(wǎng)網(wǎng)關(guān)建立隱蔽數(shù)據(jù)傳輸通道,給出了詳細(xì)的解決方案。但同時(shí)也存在著一些不足,比如本文中所提到的隱藏蜜罐數(shù)據(jù)捕獲模塊和進(jìn)程的方法,雖然達(dá)到了保護(hù)自身的目的,但也帶來(lái)了一些負(fù)面問(wèn)題:
捕獲模塊被加載就再也無(wú)法卸載,root用戶(hù)再也無(wú)法找到它,一旦捕獲模塊中出現(xiàn)bug,由于無(wú)法管理,可能會(huì)引起內(nèi)核的不穩(wěn)定甚至系統(tǒng)崩潰等,這將會(huì)影響到蜜罐的正常工作,從而影響整個(gè)蜜網(wǎng)的性能。這些問(wèn)題都有待進(jìn)一步的。
【編輯推薦】