電腦特技與虛擬演員--計算機蜜罐技術(shù)
|
文章整理:網(wǎng)絡(luò)技術(shù)論壇???作者:小金???
|
??????? 一、從影片特技到蜜罐技術(shù)
《特洛伊》里龐大的希臘艦隊、《終結(jié)者2》里隨意改變形體的“液體金屬”、《侏羅紀(jì)公園》里滿地亂跑的恐龍們、《黑客帝國》里的“子彈時間”……隨著計算機技術(shù)的不斷發(fā)展,越來越多的電腦特技被應(yīng)用在電影領(lǐng)域,不需要工資的虛擬演員不知辛勞地日夜工作,這些電腦技術(shù)使得導(dǎo)演可以構(gòu)思現(xiàn)實中不可能存在的情節(jié)環(huán)境,也減少了影片開支。但是,在計算機的信息安全領(lǐng)域里,網(wǎng)絡(luò)管理員要面對的是黑客真槍實干的入侵破壞,難道在電腦技術(shù)大量應(yīng)用的今天,安全領(lǐng)域卻得不到一點援助?答案是有的,它就是在安全領(lǐng)域里代替網(wǎng)絡(luò)管理員上陣的“虛擬演員”——蜜罐技術(shù)。
蜜罐,或稱Honeypot,與應(yīng)用于電影的特技相比,它并不神秘——所謂蜜罐,就是一臺不作任何安全防范措施而且連接網(wǎng)絡(luò)的計算機,但是與一般計算機不同,它內(nèi)部運行著多種多樣的數(shù)據(jù)記錄程序和特殊用途的“自我暴露程序”——要誘惑貪嘴的黑熊上鉤,蜂蜜自然是不可少的。在入侵者的角度來看,入侵到蜜罐會使他們的心情大起大落——從一開始偷著樂罵管理員傻帽到最后明白自己被傻帽當(dāng)成猴子耍的過程。
二、為什么要使用蜜罐
《終結(jié)者2》里阿諾讓約翰把自己放入熔爐,《特洛伊》里Achilles被王子射殺,戰(zhàn)爭片里的機槍掃射,甚至《黑衣人》里外星人發(fā)射的核彈毀滅了北極!如果這一切是真實的話,我們的明星已經(jīng)成為墻上的照片了,拍一部片要死多少人?況且,我們只有一個地球,值得為了一部影片炸掉某個地區(qū)?所以人們必須采用電腦特技完成這些不能真實發(fā)生的劇情。同樣,管理員也不會為了記錄入侵情況而讓入侵者肆意進(jìn)入服務(wù)器搞破壞,所以蜜罐出現(xiàn)了。
前面說過了,蜜罐是一臺存在多種漏洞的計算機,而且管理員清楚它身上有多少個漏洞,這就像狙擊手為了試探敵方狙擊手的實力而用槍支撐起的鋼盔,蜜罐被入侵而記錄下入侵者的一舉一動,是為了管理員能更好的分析廣大入侵者都喜歡往哪個洞里鉆,今后才能加強防御。
另一方面是因為防火墻的局限性和脆弱性,因為防火墻必須建立在基于已知危險的規(guī)則體系上進(jìn)行防御,如果入侵者發(fā)動新形式的攻擊,防火墻沒有相對應(yīng)的規(guī)則去處理,這個防火墻就形同虛設(shè)了,防火墻保護(hù)的系統(tǒng)也會遭到破壞,因此技術(shù)員需要蜜罐來記錄入侵者的行動和入侵?jǐn)?shù)據(jù),必要時給防火墻添加新規(guī)則或者手工防御。
三、深入蜜罐
既然使用蜜罐能有那么多好處,那么大家都在自己家里做個蜜罐,豈不是能最大程度防范黑客?有這個想法的讀者請就此打住!蜜罐雖然在一定程度上能幫管理員解決分析問題,但它并不是防火墻,相反地,它是個危險的入侵記錄系統(tǒng)。蜜罐被狡猾的入侵者反利用來攻擊別人的例子也屢見不鮮,只要管理員在某個設(shè)置上出現(xiàn)錯誤,蜜罐就成了打狗的肉包子。而一般的家庭用戶電腦水平不可能達(dá)到專業(yè)水平,讓他們做蜜罐反而會引火燒身——蜜罐看似簡單,實際卻很復(fù)雜。雖然蜜罐要做好隨時犧牲的準(zhǔn)備,可是如果它到最后都沒能記錄到入侵?jǐn)?shù)據(jù),那么這臺蜜罐根本就是純粹等著挨宰的肉雞了,蜜罐就復(fù)雜在此,它自身需要提供讓入侵者樂意停留的漏洞,又要確保后臺記錄能正常而且隱蔽的運行,這些都需要專業(yè)技術(shù),如果蜜罐能隨便做出來,我們在家里也能拍攝《黑客帝國》了——故意開著漏洞卻沒有完善的記錄處理環(huán)境的服務(wù)器不能稱為蜜罐,它只能是肉雞。
所以,我們必須了解蜜罐,它到底是什么樣的?
1.蜜罐的定義
首先我們要弄清楚一臺蜜罐和一臺沒有任何防范措施的計算機的區(qū)別,雖然這兩者都有可能被入侵破壞,但是本質(zhì)卻完全不同,蜜罐是網(wǎng)絡(luò)管理員經(jīng)過周密布置而設(shè)下的“黑匣子”,看似漏洞百出卻盡在掌握之中,它收集的入侵?jǐn)?shù)據(jù)十分有價值;而后者,根本就是送給入侵者的禮物,即使被入侵也不一定查得到痕跡……因此,蜜罐的定義是:“蜜罐是一個安全資源,它的價值在于被探測、攻擊和損害。”
設(shè)計蜜罐的初衷就是讓黑客入侵,借此收集證據(jù),同時隱藏真實的服務(wù)器地址,因此我們要求一臺合格的蜜罐擁有這些功能:發(fā)現(xiàn)攻擊、產(chǎn)生警告、強大的記錄能力、欺騙、協(xié)助調(diào)查。另外一個功能由管理員去完成,那就是在必要時候根據(jù)蜜罐收集的證據(jù)來起訴入侵者。
2.涉及的法律問題
蜜罐是用來給黑客入侵的,它必須提供一定的漏洞,但是我們也知道,很多漏洞都屬于“高危”級別,稍有不慎就會導(dǎo)致系統(tǒng)被滲透,一旦蜜罐被破壞,入侵者要做的事情是管理員無法預(yù)料的,例如,一個入侵者成功進(jìn)入了一臺蜜罐,并且用它做“跳板”(指入侵者遠(yuǎn)程控制一臺或多臺被入侵的計算機對別的計算機進(jìn)行入侵行為)去攻擊別人,那么這個損失由誰來負(fù)責(zé)?設(shè)置一臺蜜罐必須面對三個問題:設(shè)陷技術(shù)、隱私、責(zé)任。
設(shè)陷技術(shù)關(guān)系到設(shè)置這臺蜜罐的管理員的技術(shù),一臺設(shè)置不周全或者隱蔽性不夠的蜜罐會被入侵者輕易識破或者破壞,由此導(dǎo)致的后果將十分嚴(yán)重。
由于蜜罐屬于記錄設(shè)備,所以它有可能會牽涉到隱私權(quán)問題,如果一個企業(yè)的管理員惡意設(shè)計一臺蜜罐用于收集公司員工的活動數(shù)據(jù),或者偷偷攔截記錄公司網(wǎng)絡(luò)通訊信息,這樣的蜜罐就已經(jīng)涉及法律問題了。
對于管理員而言,最倒霉的事情就是蜜罐被入侵者成功破壞了。有人也許會認(rèn)為,既然蜜罐是故意設(shè)計來“犧牲”的,那么它被破壞當(dāng)然合情合理,用不著小題大做吧。對,蜜罐的確是用來“受虐”的,但是它同時也是一臺連接網(wǎng)絡(luò)的計算機,如果你做的一臺蜜罐被入侵者攻破并“借”來對某大學(xué)服務(wù)器進(jìn)行攻擊,因此引發(fā)的損失恐怕只能由你來承擔(dān)了。還有一些責(zé)任是誰也說不清的,例如,你做的一臺蜜罐不幸引來了Slammer、Sasser、Blaster等大名鼎鼎的“爬蟲類”病毒而成了傳播源之一,那么這個責(zé)任誰來負(fù)擔(dān)?
3.蜜罐的類型
世界上不會有非常全面的事物,蜜罐也一樣。根據(jù)管理員的需要,蜜罐的系統(tǒng)和漏洞設(shè)置要求也不盡相同,蜜罐是有針對性的,而不是盲目設(shè)置來無聊的,因此,就產(chǎn)生了多種多樣的蜜罐……
3.1.實系統(tǒng)蜜罐
實系統(tǒng)蜜罐是最真實的蜜罐,它運行著真實的系統(tǒng),并且?guī)е鎸嵖扇肭值穆┒矗瑢儆谧钗kU的漏洞,但是它記錄下的入侵信息往往是最真實的。這種蜜罐安裝的系統(tǒng)一般都是最初的,沒有任何SP補丁,或者打了低版本SP補丁,根據(jù)管理員需要,也可能補上了一些漏洞,只要值得研究的漏洞還存在即可。然后把蜜罐連接上網(wǎng)絡(luò),根據(jù)目前的網(wǎng)絡(luò)掃描頻繁度來看,這樣的蜜罐很快就能吸引到目標(biāo)并接受攻擊,系統(tǒng)運行著的記錄程序會記下入侵者的一舉一動,但同時它也是最危險的,因為入侵者每一個入侵都會引起系統(tǒng)真實的反應(yīng),例如被溢出、滲透、奪取權(quán)限等。
3.2.偽系統(tǒng)蜜罐
什么叫偽系統(tǒng)呢?不要誤解成“假的系統(tǒng)”,它也是建立在真實系統(tǒng)基礎(chǔ)上的,但是它最大的特點就是“平臺與漏洞非對稱性”。
大家應(yīng)該都知道,世界上操作系統(tǒng)不是只有Windows一家而已,在這個領(lǐng)域,還有Linux、Unix、OS2、BeOS等,它們的核心不同,因此會產(chǎn)生的漏洞缺陷也就不盡相同,簡單的說,就是很少有能同時攻擊幾種系統(tǒng)的漏洞代碼,也許你用LSASS溢出漏洞能拿到Windows的權(quán)限,但是用同樣的手法去溢出Linux只能徒勞。根據(jù)這種特性,就產(chǎn)生了“偽系統(tǒng)蜜罐”,它利用一些工具程序強大的模仿能力,偽造出不屬于自己平臺的“漏洞”,入侵這樣的“漏洞”,只能是在一個程序框架里打轉(zhuǎn),即使成功“滲透”,也仍然是程序制造的夢境——系統(tǒng)本來就沒有讓這種漏洞成立的條件,談何“滲透”?實現(xiàn)一個“偽系統(tǒng)”并不困難,Windows平臺下的一些虛擬機程序、Linux自身的腳本功能加上第三方工具就能輕松實現(xiàn),甚至在Linux/Unix下還能實時由管理員產(chǎn)生一些根本不存在的“漏洞”,讓入侵者自以為得逞的在里面瞎忙。實現(xiàn)跟蹤記錄也很容易,只要在后臺開著相應(yīng)的記錄程序即可。
這種蜜罐的好處在于,它可以最大程度防止被入侵者破壞,也能模擬不存在的漏洞,甚至可以讓一些Windows蠕蟲攻擊Linux——只要你模擬出符合條件的Windows特征!但是它也存在壞處,因為一個聰明的入侵者只要經(jīng)過幾個回合就會識破偽裝,另者,編寫腳本不是很簡便的事情,除非那個管理員很有耐心或者十分悠閑。
4.使用你的蜜罐
既然蜜罐不是隨隨便便做來玩的,管理員自然就不會做個蜜罐然后讓它賦閑在家,那么蜜罐做來到底怎么用呢?
4.1.迷惑入侵者,保護(hù)服務(wù)器
一般的客戶/服務(wù)器模式里,瀏覽者是直接與網(wǎng)站服務(wù)器連接的,換句話說,整個網(wǎng)站服務(wù)器都暴露在入侵者面前,如果服務(wù)器安全措施不夠,那么整個網(wǎng)站數(shù)據(jù)都有可能被入侵者輕易毀滅。但是如果在客戶/服務(wù)器模式里嵌入蜜罐,讓蜜罐作為服務(wù)器角色,真正的網(wǎng)站服務(wù)器作為一個內(nèi)部網(wǎng)絡(luò)在蜜罐上做網(wǎng)絡(luò)端口映射,這樣可以把網(wǎng)站的安全系數(shù)提高,入侵者即使?jié)B透了位于外部的“服務(wù)器”,他也得不到任何有價值的資料,因為他入侵的是蜜罐而已。雖然入侵者可以在蜜罐的基礎(chǔ)上跳進(jìn)內(nèi)部網(wǎng)絡(luò),但那要比直接攻下一臺外部服務(wù)器復(fù)雜得多,許多水平不足的入侵者只能望而卻步。蜜罐也許會被破壞,可是不要忘記了,蜜罐本來就是被破壞的角色。
在這種用途上,蜜罐不能再設(shè)計得漏洞百出了。蜜罐既然成了內(nèi)部服務(wù)器的保護(hù)層,就必須要求它自身足夠堅固,否則,整個網(wǎng)站都要拱手送人了。
4.2.抵御入侵者,加固服務(wù)器
入侵與防范一直都是熱點問題,而在其間插入一個蜜罐環(huán)節(jié)將會使防范變得有趣,這臺蜜罐被設(shè)置得與內(nèi)部網(wǎng)絡(luò)服務(wù)器一樣,當(dāng)一個入侵者費盡力氣入侵了這臺蜜罐的時候,管理員已經(jīng)收集到足夠的攻擊數(shù)據(jù)來加固真實的服務(wù)器。
采用這個策略去布置蜜罐,需要管理員配合監(jiān)視,否則入侵者攻破了第一臺,就有第二臺接著承受攻擊了……
4.3.誘捕網(wǎng)絡(luò)罪犯
這是一個相當(dāng)有趣的應(yīng)用,當(dāng)管理員發(fā)現(xiàn)一個普通的客戶/服務(wù)器模式網(wǎng)站服務(wù)器已經(jīng)犧牲成肉雞的時候,如果技術(shù)能力允許,管理員會迅速修復(fù)服務(wù)器。那么下次呢?既然入侵者已經(jīng)確信自己把該服務(wù)器做成了肉雞,他下次必然還會來查看戰(zhàn)果,難道就這樣任由他放肆?一些企業(yè)的管理員不會罷休,他們會設(shè)置一個蜜罐模擬出已經(jīng)被入侵的狀態(tài),做起了姜太公。同樣,一些企業(yè)為了查找惡意入侵者,也會故意設(shè)置一些有不明顯漏洞的蜜罐,讓入侵者在不起疑心的情況下乖乖被記錄下一切行動證據(jù),有些人把此戲稱為“監(jiān)獄機”,通過與電信局的配合,可以輕易揪出IP源頭的那雙黑手。
三、結(jié)語
隨著網(wǎng)絡(luò)入侵類型的多樣化發(fā)展,蜜罐也必須進(jìn)行多樣化的演繹,否則它有一天將無法面對入侵者的肆虐。這也對網(wǎng)絡(luò)管理員的技術(shù)能力有了更高的要求,因為蜜罐——這個活躍在安全領(lǐng)域的虛擬演員,它的一舉一動,都是通過你來設(shè)計的,我們無法讓蜜罐像T-X那樣變化無常,但是,至少要防止我們設(shè)計的阿諾再次被T-X踏斷脖子注入反叛指令。