已經發表於 chip
一、從影片特技到蜜罐技術
《特洛伊》裡龐大的希臘艦隊、《終結者2》裡隨意改變形體的「液體金屬」、《侏羅紀公園》裡滿地亂跑的恐龍們、《黑客帝國》裡的「子彈時間」……隨著計算機技術的不斷發展,越來越多的電腦特技被應用在電影領域,不需要工資的虛擬演員不知辛勞地日夜工作,這些電腦技術使得導演可以構思現實中不可能存在的情節環境,也減少了影片開支。但是,在計算機的資訊保安領域裡,網路管理員要面對的是黑客真槍實幹的入侵破壞,難道在電腦技術大量應用的今天,安全領域卻得不到一點援助?答案是有的,它就是在安全領域裡代替網路管理員上陣的「虛擬演員」——蜜罐技術。
蜜罐,或稱honeypot,與應用於電影的特技相比,它並不神秘——所謂蜜罐,就是一台不作任何安全防範措施而且連線網路的計算機,但是與一般計算機不同,它內部執行著多種多樣的資料記錄程式和特殊用途的「自我暴露程式」——要**貪嘴的黑熊上鉤,蜂蜜自然是不可少的。在入侵者的角度來看,入侵到蜜罐會使他們的心情大起大落——從一開始偷著樂罵管理員傻帽到最後明白自己被傻帽當成猴子耍的過程。(圖1.蜜罐**)
二、為什麼要使用蜜罐
《終結者2》裡阿諾讓約翰把自己放入熔爐,《特洛伊》裡achilles被王子射殺,戰爭片裡的機槍掃射,甚至《黑衣人》裡外星人發射的核彈毀滅了北極!如果這一切是真實的話,我們的明星已經成為牆上的**了,拍一部片要死多少人?況且,我們只有乙個地球,值得為了一部影片炸掉某個地區?所以人們必須採用電腦特技完成這些不能真實發生的劇情。同樣,管理員也不會為了記錄入侵情況而讓入侵者肆意進入伺服器搞破壞,所以蜜罐出現了。
前面說過了,蜜罐是一台存在多種漏洞的計算機,而且管理員清楚它身上有多少個漏洞,這就像狙擊手為了試探敵方狙擊手的實力而用槍支撐起的鋼盔,蜜罐被入侵而記錄下入侵者的一舉一動,是為了管理員能更好的分析廣大入侵者都喜歡往哪個洞裡鑽,今後才能加強防禦。
另一方面是因為防火牆的侷限性和脆弱性,因為防火牆必須建立在基於已知危險的規則體系上進行防禦,如果入侵者發動新形式的攻擊,防火牆沒有相對應的規則去處理,這個防火牆就形同虛設了,防火牆保護的系統也會遭到破壞,因此技術員需要蜜罐來記錄入侵者的行動和入侵資料,必要時給防火牆新增新規則或者手工防禦。
三、深入蜜罐
既然使用蜜罐能有那麼多好處,那麼大家都在自己家裡做個蜜罐,豈不是能最大程度防範黑客?有這個想法的讀者請就此打住!蜜罐雖然在一定程度上能幫管理員解決分析問題,但它並不是防火牆,相反地,它是個危險的入侵記錄系統。蜜罐被狡猾的入侵者反利用來攻擊別人的例子也屢見不鮮,只要管理員在某個設定上出現錯誤,蜜罐就成了打狗的肉包子。而一般的家庭使用者電腦水平不可能達到專業水平,讓他們做蜜罐反而會引火燒身——蜜罐看似簡單,實際卻很複雜。雖然蜜罐要做好隨時犧牲的準備,可是如果它到最後都沒能記錄到入侵資料,那麼這台蜜罐根本就是純粹等著挨宰的肉雞了,蜜罐就複雜在此,它自身需要提供讓入侵者樂意停留的漏洞,又要確保後台記錄能正常而且隱蔽的執行,這些都需要專業技術,如果蜜罐能隨便做出來,我們在家裡也能拍攝《黑客帝國》了——故意開著漏洞卻沒有完善的記錄處理環境的伺服器不能稱為蜜罐,它只能是肉雞。
所以,我們必須了解蜜罐,它到底是什麼樣的?
1.蜜罐的定義
首先我們要弄清楚一台蜜罐和一台沒有任何防範措施的計算機的區別,雖然這兩者都有可能被入侵破壞,但是本質卻完全不同,蜜罐是網路管理員經過周密布置而設下的「黑匣子」,看似漏洞百出卻盡在掌握之中,它收集的入侵資料十分有價值;而後者,根本就是送給入侵者的禮物,即使被入侵也不一定查得到痕跡……因此,蜜罐的定義是:「蜜罐是乙個安全資源,它的價值在於被探測、攻擊和損害。」(圖2.john daly的蜜罐模型)
設計蜜罐的初衷就是讓黑客入侵,藉此收集證據,同時隱藏真實的伺服器位址,因此我們要求一台合格的蜜罐擁有這些功能:發現攻擊、產生警告、強大的記錄能力、欺騙、協助調查。另外乙個功能由管理員去完成,那就是在必要時候根據蜜罐收集的證據來起訴入侵者。
2.涉及的法律問題
蜜罐是用來給黑客入侵的,它必須提供一定的漏洞,但是我們也知道,很多漏洞都屬於「高危」級別,稍有不慎就會導致系統被滲透,一旦蜜罐被破壞,入侵者要做的事情是管理員無法預料的,例如,乙個入侵者成功進入了一台蜜罐,並且用它做「跳板」(指入侵者遠端控制一台或多台被入侵的計算機對別的計算機進行入侵行為)去攻擊別人,那麼這個損失由誰來負責?設定一台蜜罐必須面對三個問題:設陷技術、隱私、責任。
設陷技術關係到設定這台蜜罐的管理員的技術,一台設定不周全或者隱蔽性不夠的蜜罐會被入侵者輕易識破或者破壞,由此導致的後果將十分嚴重。
對於管理員而言,最倒霉的事情就是蜜罐被入侵者成功破壞了。有人也許會認為,既然蜜罐是故意設計來「犧牲」的,那麼它被破壞當然合情合理,用不著小題大做吧。對,蜜罐的確是用來「受虐」的,但是它同時也是一台連線網路的計算機,如果你做的一台蜜罐被入侵者攻破並「借」來對某大學伺服器進行攻擊,因此引發的損失恐怕只能由你來承擔了。還有一些責任是誰也說不清的,例如,你做的一台蜜罐不幸引來了slammer、sasser、blaster等大名鼎鼎的「爬蟲類」病毒而成了傳播源之一,那麼這個責任誰來負擔?
3.蜜罐的型別
世界上不會有非常全面的事物,蜜罐也一樣。根據管理員的需要,蜜罐的系統和漏洞設定要求也不盡相同,蜜罐是有針對性的,而不是盲目設定來無聊的,因此,就產生了多種多樣的蜜罐……
3.1.實系統蜜罐
實系統蜜罐是最真實的蜜罐,它執行著真實的系統,並且帶著真實可入侵的漏洞,屬於最危險的漏洞,但是它記錄下的入侵資訊往往是最真實的。這種蜜罐安裝的系統一般都是最初的,沒有任何sp補丁,或者打了低版本sp補丁,根據管理員需要,也可能補上了一些漏洞,只要值得研究的漏洞還存在即可。然後把蜜罐連線上網路,根據目前的網路掃瞄頻繁度來看,這樣的蜜罐很快就能吸引到目標並接受攻擊,系統執行著的記錄程式會記下入侵者的一舉一動,但同時它也是最危險的,因為入侵者每乙個入侵都會引起系統真實的反應,例如被溢位、滲透、奪取許可權等。
3.2.偽系統蜜罐
什麼叫偽系統呢?不要誤解成「假的系統」,它也是建立在真實系統基礎上的,但是它最大的特點就是「平台與漏洞非對稱性」。
大家應該都知道,世界上作業系統不是只有windows一家而已,在這個領域,還有linux、unix、os2、beos等,它們的核心不同,因此會產生的漏洞缺陷也就不盡相同,簡單的說,就是很少有能同時攻擊幾種系統的漏洞**,也許你用lsass溢位漏洞能拿到windows的許可權,但是用同樣的手法去溢位linux只能徒勞。根據這種特性,就產生了「偽系統蜜罐」,它利用一些工具程式強大的模仿能力,偽造出不屬於自己平台的「漏洞」,入侵這樣的「漏洞」,只能是在乙個程式框架裡打轉,即使成功「滲透」,也仍然是程式製造的夢境——系統本來就沒有讓這種漏洞成立的條件,談何「滲透」?實現乙個「偽系統」並不困難,windows平台下的一些虛擬機器程式、linux自身的指令碼功能加上第三方工具就能輕鬆實現,甚至在linux/unix下還能實時由管理員產生一些根本不存在的「漏洞」,讓入侵者自以為得逞的在裡面瞎忙。實現跟蹤記錄也很容易,只要在後台開著相應的記錄程式即可。(圖3.實系統與偽系統)
這種蜜罐的好處在於,它可以最大程度防止被入侵者破壞,也能模擬不存在的漏洞,甚至可以讓一些windows蠕蟲攻擊linux——只要你模擬出符合條件的windows特徵!但是它也存在壞處,因為乙個聰明的入侵者只要經過幾個回合就會識破偽裝,另者,編寫指令碼不是很簡便的事情,除非那個管理員很有耐心或者十分悠閒。(圖4.蜜罐指令碼)
4.使用你的蜜罐
既然蜜罐不是隨隨便便做來玩的,管理員自然就不會做個蜜罐然後讓它賦閒在家,那麼蜜罐做來到底怎麼用呢?
4.1.迷惑入侵者,保護伺服器
一般的客戶/伺服器模式裡,瀏覽者是直接與**伺服器連線的,換句話說,整個**伺服器都暴露在入侵者面前,如果伺服器安全措施不夠,那麼整個**資料都有可能被入侵者輕易毀滅。但是如果在客戶/伺服器模式裡嵌入蜜罐,讓蜜罐作為伺服器角色,真正的**伺服器作為乙個內部網路在蜜罐上做網路埠對映,這樣可以把**的安全係數提高,入侵者即使滲透了位於外部的「伺服器」,他也得不到任何有價值的資料,因為他入侵的是蜜罐而已。雖然入侵者可以在蜜罐的基礎上跳進內部網路,但那要比直接攻下一台外部伺服器複雜得多,許多水平不足的入侵者只能望而卻步。蜜罐也許會被破壞,可是不要忘記了,蜜罐本來就是被破壞的角色。
在這種用途上,蜜罐不能再設計得漏洞百出了。蜜罐既然成了內部伺服器的保護層,就必須要求它自身足夠堅固,否則,整個**都要拱手送人了。
4.2.抵禦入侵者,加固伺服器
入侵與防範一直都是熱點問題,而在其間插入乙個蜜罐環節將會使防範變得有趣,這台蜜罐被設定得與內部網路伺服器一樣,當乙個入侵者費盡力氣入侵了這台蜜罐的時候,管理員已經收集到足夠的攻擊資料來加固真實的伺服器。
採用這個策略去布置蜜罐,需要管理員配合監視,否則入侵者攻破了第一台,就有第二台接著承受攻擊了……
4.3.誘捕網路罪犯
這是乙個相當有趣的應用,當管理員發現乙個普通的客戶/伺服器模式**伺服器已經犧牲成肉雞的時候,如果技術能力允許,管理員會迅速修復伺服器。那麼下次呢?既然入侵者已經確信自己把該伺服器做成了肉雞,他下次必然還會來檢視戰果,難道就這樣任由他放肆?一些企業的管理員不會罷休,他們會設定乙個蜜罐模擬出已經被入侵的狀態,做起了姜太公。同樣,一些企業為了查詢惡意入侵者,也會故意設定一些有不明顯漏洞的蜜罐,讓入侵者在不起疑心的情況下乖乖被記錄下一切行動證據,有些人把此戲稱為「監獄機」,通過與電信局的配合,可以輕易揪出ip源頭的那雙**。(圖5.蜜罐的應用)
三、結語
隨著網路入侵型別的多樣化發展,蜜罐也必須進行多樣化的演繹,否則它有一天將無法面對入侵者的肆虐。這也對網路管理員的技術能力有了更高的要求,因為蜜罐——這個活躍在安全領域的虛擬演員,它的一舉一動,都是通過你來設計的,我們無法讓蜜罐像t-x那樣變化無常,但是,至少要防止我們設計的阿諾再次被t-x踏斷脖子注入反叛指令。
**於《計算機網路論壇》
電腦(計算機)
大家都知道計算機,通常都是用來辦公與娛樂,但絕大部分人不怎麼了解它的歷史與組成 什麼事計算機 計算機 computer 俗稱電腦,是現代一種高速計算的電子計算機器,可以進行數值計算,邏輯計算,還具有儲存記憶功能。是能夠按照程式執行,自動,高速處理海量資料的現代智慧型電子裝置。計算機的發展史 約翰 馮...
計算機與電腦的概念差異
計算機 的概念最大,包括大型機 中型機 小型機以微型計算機等。而 微機 是 微型計算機 的簡稱。電腦 是人們對微型計算機的一種比喻的叫法。所以,從概念上講,電腦 和 微機 應當是等價的。我們最常見的就是這些被人們稱作 電腦 的微型計算機。一些中型機 小型機 如ibmas400,ibmrs 6000 ...
計算機與電腦科學初識
1.為何要學習計算機與計算科學?這是乙個智慧型化與資料化的時代,計算解決自然社會問題,已經成為這個資料時代的基本需求了。而計算機自動化高效處理大量問題這種機器計算也已成為一種常態,為實現機器更好的自動計算,計算科學這門藝術便誕生了。計算科學從一種思維高度來決定我們對於計算的認知,讓我們更好把握計算的...