校園網(wǎng)中蜜罐技術(shù)應(yīng)用方案
蜜罐技術(shù)概述
蜜罐是一種安全資源,其價值在于被掃描、攻擊和攻陷。傳統(tǒng)蜜罐有著不少的優(yōu)點,比如收集數(shù)據(jù)的保真度,蜜罐不依賴于任何復(fù)雜的檢測技術(shù)等,因此減少了漏報率和誤報率。使用蜜罐技術(shù)能夠收集到新的攻擊工具和攻擊方法,而不像目前的大部分入侵檢測系統(tǒng)只能根據(jù)特征匹配的方法檢測到已知的攻擊。但是隨著應(yīng)用的廣泛,傳統(tǒng)蜜罐的缺點也開始暴露了出來,綜合起來主要有3個方面:
(1)蜜罐技術(shù)只能對針對蜜罐的攻擊行為進(jìn)行監(jiān)視和分析,其視圖不像入侵檢測系統(tǒng)能夠通過旁路偵聽等技術(shù)對整個網(wǎng)絡(luò)進(jìn)行監(jiān)控。
(2)蜜罐技術(shù)不能直接防護(hù)有漏洞的信息系統(tǒng)并有可能被攻擊者利用帶來一定的安全風(fēng)險。
(3)攻擊者的活動在加密通道上進(jìn)行(IPSec,SSH,SSL,等等)增多,數(shù)據(jù)捕獲后需要花費時間破譯,這給分析攻擊行為增加了困難。
針對以上問題出現(xiàn)了蜜網(wǎng)技術(shù)。蜜網(wǎng)技術(shù)實質(zhì)上是一類研究型的高交互蜜罐技術(shù),與傳統(tǒng)蜜罐技術(shù)的差異在于,蜜網(wǎng)構(gòu)成了一個黑客誘捕網(wǎng)絡(luò)體系架構(gòu),在這個架構(gòu)中,可以包含一個或多個蜜罐,同時保證了網(wǎng)絡(luò)的高度可控性,以及提供多種工具以方便對攻擊信息的采集和分析。
蜜網(wǎng)中蜜罐所面臨的挑戰(zhàn)
蜜網(wǎng)是一個體系結(jié)構(gòu),成功地部署一個蜜網(wǎng)環(huán)境,這里有兩個嚴(yán)格的需求,這也是針對傳統(tǒng)蜜罐的缺點而提出來的。這兩個需求是:數(shù)據(jù)控制和數(shù)據(jù)捕獲。數(shù)據(jù)控制就是限制攻擊者活動的機制,它可以降低安全風(fēng)險。數(shù)據(jù)捕獲就是監(jiān)控和記錄所有攻擊者在蜜網(wǎng)內(nèi)部的活動,包括記錄加密會話中擊鍵,恢復(fù)使用SCP拷貝的文件,捕獲遠(yuǎn)程系統(tǒng)被記錄的口令,恢復(fù)使用保護(hù)的二進(jìn)制程序的口令等。這些捕獲的數(shù)據(jù)將會被用于分析,從中學(xué)習(xí)黑客界成員們使用的工具、策略以及他們的動機。這正是蜜罐所要做的工作。
蜜罐應(yīng)用解決方案
1捕獲工具隱藏
1.1隱藏模塊。
捕獲數(shù)據(jù)的工具是以模塊化的機制在Linux系統(tǒng)啟動后動態(tài)地加載到內(nèi)核成為內(nèi)核的一部分進(jìn)行工作的。當(dāng)捕獲程序的模塊被加載到內(nèi)核時,一個記載已加載模塊信息的安裝模塊鏈表里面就記錄下已加載模塊的信息,用戶可以通過內(nèi)存里動態(tài)生成的proc文件系統(tǒng)下的module文件來查看到。當(dāng)特權(quán)用戶root調(diào)用/sbin/insmod命令加載模塊時會有一個系統(tǒng)調(diào)用sys_create_module,這個函數(shù)在Linux2.4的源代碼中位于kernel/module.c。它會將含有新加載的模塊信息的數(shù)據(jù)結(jié)構(gòu)struct module插入到名為moudle_list的模塊鏈表中去。
當(dāng)一個模塊加載時,它被插入到一個單向鏈表的表頭。黑客們在攻入蜜罐系統(tǒng)后,可以根據(jù)以上存在的漏洞,找出他們認(rèn)為是可疑的蜜罐捕獲模塊并從內(nèi)核卸載模塊,這樣蜜罐也就失去了它的功能。為了達(dá)到隱藏模塊的目的就必須在加載模塊后,將指向該模塊的鏈表指針刪除,這樣通過遍歷表查找時就再也無法找到該模塊了。
1.2進(jìn)程隱藏。
進(jìn)程是一個隨執(zhí)行過程不斷變化的實體。在Linux系統(tǒng)運行任何一個命令或程序系統(tǒng)時都會建立起至少一個進(jìn)程來執(zhí)行。這樣蜜罐捕獲程序必定會在系統(tǒng)中運行多個進(jìn)程,利用類似于ps這樣查詢進(jìn)程信息的命令便可以得到所有的進(jìn)程信息,這樣很容易就會暴露蜜罐的存在。由于在Linux中不存在直接查詢進(jìn)程信息的系統(tǒng)調(diào)用,類似于ps這樣查詢進(jìn)程信息的命令是通過查詢proc文件系統(tǒng)來實現(xiàn)的。
proc文件系統(tǒng)是一個虛擬的文件系統(tǒng),它通過文件系統(tǒng)的接口實現(xiàn),用于輸出系統(tǒng)運行狀態(tài)。它以文件系統(tǒng)的形式,為操作系統(tǒng)本身和應(yīng)用進(jìn)程之間的通信提供了一個界面,使應(yīng)用程序能夠安全、方便地獲得系統(tǒng)當(dāng)前的運行狀況以及內(nèi)核的內(nèi)部數(shù)據(jù)信息,并可以修改某些系統(tǒng)的配置信息。由于proc以文件系統(tǒng)的接口實現(xiàn),因此可以象訪問普通文件一樣訪問它,但它只存在于內(nèi)存之中,所以可以用隱藏文件的方法來隱藏proc文件系統(tǒng)中的文件,以達(dá)到隱藏進(jìn)程的目的。
判斷文件是否屬于proc文件系統(tǒng)是根據(jù)它只存在于內(nèi)存之中,不存在于任何實際設(shè)備之上這一特點,所以Linux內(nèi)核分配給它一個特定的主設(shè)備號0以及一個特定的次設(shè)備號1,除此之外在外存上沒有與之對應(yīng)的i節(jié)點,所以系統(tǒng)也分配給它一個特殊的節(jié)點號PROC_ROOT_INO(值為1),而設(shè)備上的1號索引節(jié)點是保留不用的。這樣可以得出判斷一個文件是否屬于proc文件系統(tǒng)的方法。得到該文件對應(yīng)的inode結(jié)構(gòu)
- d_inode;(2)if(d_inode->i_ino==PROC_ROOT_INO.&&!MAJO(d_inode->i_dev)&;MINOR(d_inode->i_dev)==1){該文件屬于proc文件系統(tǒng)}
蜜罐技術(shù)在校園網(wǎng)中的應(yīng)用,本文只為大家介紹了一部分,希望大家已經(jīng)掌握以上的內(nèi)容,在下一節(jié)中我們將會介紹此方案,希望大家多多掌握。下一篇:校園網(wǎng)中蜜罐技術(shù)應(yīng)用方案 續(xù)
【編輯推薦】