面對越來越複雜的逃避技術,以及採用加密技術來保護網路通訊,防止被竊聽的協議越來越多,入侵檢測系統能提供的有用資訊越來越少,入侵檢測系統也受到高誤報率的困擾,從而進一步降低了它們的作用。蜜罐技術能夠幫助我們解決一些問題。

企業安全建設之蜜罐技術的應用(一)

蜜罐技術做為安全工具已經有了近20年的發展。1991年1月, 一群荷蘭駭客試圖進入貝爾實驗室的一個系統。 而當時貝爾實驗室的一個研究團隊將這夥駭客引導到了他們自己管理的一個”數字沙盒“。 這被認為是第一個蜜罐技術的應用。

一個蜜罐的價值可以由它可獲取的資訊來衡量,透過監測進出蜜罐的資料來收集NIDS無法獲得的資訊。例如,即使使用了加密技術保護網路流量,我們仍然能夠記錄一個互動式會話中的按鍵。為了檢測惡意行為,入侵檢測系統需要已知攻擊特徵,而通常檢測不到未知的攻擊。另一方面,蜜罐可以檢測未知的攻擊,例如,透過觀察離開蜜罐的網路流量,我們可以檢測到漏洞威脅,即使是使用從未見過的漏洞利用手段。——因為蜜罐沒有生產價值,任何連線蜜罐的嘗試都被認為是可疑的。因此,分析蜜罐收集的資料所產生的誤報比入侵檢測系統收集到的資料導致的誤報少。在蜜罐的幫助下,我們所收集的大部分資料可以幫助我們瞭解攻擊。

企業安全建設之蜜罐技術的應用(一)

蜜罐的部署方式和誘餌的複雜程度各不相同。對不同型別的蜜罐進行分類的一種方法是透過它們的參與程度或互動程度:

高互動蜜罐通常基於真實的應用環境來構建,能提供真實的服務。高互動蜜罐可用來獲取大量的資訊,能夠捕獲攻擊者多種操作行為,從而具備發現新的攻擊方式和漏洞利用方法的能力。由於高互動蜜罐給攻擊者提供了一個相對真實的應用環境,因此風險較大,通常會注重資料控制方面的功能。

低互動蜜罐,該類蜜罐通常只提供少量的互動功能,蜜罐在特定埠監聽連線並記錄資料包,可以用來實現埠掃描和暴力破解的檢測 。低互動蜜罐結構簡單,易於安裝部署,由於模擬程度低功能較少,收集資訊有限但風險也較低。

高互動蜜罐提供了一個攻擊者可以互動的真實系統,相反,低互動蜜罐只能模擬一部分功能,例如網路堆疊。

高互動蜜罐可以完全被攻陷,允許對手獲得對系統的完全訪問,並實施進一步的網路攻擊。相反,低互動蜜罐只是模擬一些服務,低手不能利用這些服務獲得對蜜罐的完全訪問。低互動蜜罐有更多限制,但它們有助於在更高層面上收集資訊。例如,瞭解網路探測或蠕蟲活動,它們也可以用於分析垃圾郵件,或主動防範蠕蟲。

高互動蜜罐與低互動蜜罐對比:

高互動蜜罐

低互動蜜罐

真實的服務、作業系統或應用程式

模擬的TCP/IP協議棧、弱點等

高風險

低風險

難以部署和維護

容易部署和維護

鋪貨大量的資訊

捕獲有關攻擊的定量資訊

蜜罐還分為物理蜜罐和虛擬蜜罐。

物理蜜罐通常指真實的物理計算機,安裝了相應的作業系統並具備網路環境,它能提供部分或完全真實的應用服務。物理蜜罐通常成本較高。

虛擬蜜罐通常是利用虛擬機器技術模擬而成的蜜罐,成本相對物理蜜罐較低。但由於虛擬機器本身的特點,虛擬蜜罐容易被有經驗的攻擊者識別。還有這兩年流行的基於Docker的蜜罐。

虛擬機器蜜罐具有可度量性和易維護性,在一臺機器上可以有數以千計的蜜罐,部署它們代價低,並且幾乎每個人都可以容易地使用它們。

企業安全建設之蜜罐技術的應用(一)

高互動蜜罐

一個高互動蜜罐是一個常規的計算機系統,如商用現貨(commercial off-the-shelf ,COTS)計算機、路由器或交換機。該系統在網路中沒有常規任務,也沒有固定的活動使用者,因此,除了執行系統上的正常守護程序或服務,它不應該有任何不正常的程序,也不產生任何網路流量。這些假設幫助檢測攻擊:每個與高互動蜜罐的互動都是可疑的,可以指向一個可能的惡意行為。因此,所有出入蜜罐的網路流量都被記錄下來。此外,系統的活動也被記錄下來備日後分析。

用於虛擬高互動蜜罐的最重要的可選項:VMware和使用者模式Linux(UML),這兩個工具允許我們在一臺物理機器上併發執行多個系統和應用程式,便於收集資料。

VMware

企業安全建設之蜜罐技術的應用(一)

基於VMware的高互動蜜罐設定

如圖給出了VMware虛擬高互動蜜罐的示意,主機系統是你的物理機器,我們在上面安裝VMware,深灰色系統是客戶虛擬機器,它在一個模擬的環境中執行。正如你所看到的,我們將為蜜罐配置一個專用網路範圍內的IP地址。

企業安全建設之蜜罐技術的應用(一)

橋接網路示意圖

如圖,客戶虛擬機器的虛擬網路介面與主機的網路介面相互配合,並使用它向本地網路傳送資料包,主機系統把所有目的主機是虛擬機器的資料包路由到正確的虛擬機器,整個過程對虛擬機器是透明的,也就是說,攻擊者(幾乎)不能辨別主機是否作為一個虛擬機器在執行。

在主機系統上,可以監視幾個方面。首先,可以捕捉所有進出蜜罐系統的網路資料,既然所有這些資料都透過主機系統,可以在用於連線客戶虛擬系統和網路的介面上使用tcpdump或Wireshark/Tshark。因此,我們就可以捕獲蜜罐所有的網路通訊,以後可以利用這些資訊研究攻擊。這個過程對蜜罐系統是透明的,不留跡象,不會暴露這一監視。

此外,也應該在主機系統上啟動防火牆。作為一個附加的防禦層,也可以在主機系統上啟動一個入站防火牆,阻止自主傳播的惡意程式碼訪問常用埠。最好的方法,建議你阻止TCP和UDP埠445、135、139和1025的入站和出站流量,以降低風險。透過阻止入站連線,確保在你的蜜罐上沒有發生“鑽孔攻擊”。此外,也可以在主機系統上安裝入侵檢測系統IDS,如Snort(

http://

snort。org

),以便了解更多對你蜜罐的實際攻擊。

使用者模式Linux

使用者模式Linux是另一個可以用來建立虛擬蜜罐的系統,建立系統非常簡單,而且是免費的,但是當與VMware相比時,它的主要缺點是它只能模擬Linux系統。

UML是一個Linux核心的體系結構埠,系統內稱為介面。因此,Linux核心本身可以作為一個使用者程序執行,實際的Linux核心(“主機系統”)執行另外一個Linux核心(“客戶系統”)例項,把它作為一個程序。這與你在有關VMware章節中學到的虛擬機器類似,每個UML例項是一個完整的虛擬機器,與一個真實的計算機幾乎沒有什麼區別。這就使得有了一個簡單的方法,用於建立一個高互動蜜罐。

UML作為一個作業系統只能執行在Linux上,所以,如果你正在執行Windows或BSD的各種版本,不能使用這種方式建立蜜罐。

像基於VMWare的蜜罐一樣,還需要設定一些額外的工具來監視基於UML的蜜罐。首先你可能對網路日誌感興趣,從中可以得到攻擊者的詳細資料。如果在tap0介面上使用tcpdump或者Wireshark/ Tshark,你將監視所有進出蜜罐的流量。此外,你可能需要在主機系統上安裝一個入侵檢測系統,以獲得更詳細的惡意網路活動的資訊

蜜牆

因為高互動蜜罐可能被攻擊者完全攻陷,在許多情況下,攻擊者使用被攻陷的機器-蜜罐,作為進一步攻擊其他人或組織機構的平臺。例如,我們可以利用一個被攻陷的蜜罐作為跳板,攻擊另一個系統,或讓它參與分散式拒絕服務攻擊。針對一個計算機系統或者網路,DDOS攻擊造成使用者服務丟失。

保護你的蜜罐防止攻擊者惡意的濫用,最簡單的方法是蜜牆。

蜜牆是第三代蜜網的核心,因為它能夠完成以下蜜網的所有主要任務:

資料捕捉:蜜網內的所有活動和進出蜜網的資訊,能夠在攻擊者不知道被監視的情況下被捕獲。

資料控制:控制進出蜜網的可疑流量,進一步地,該機制必須確保一旦蜜網中的蜜罐被攻陷,所有的惡意活動必須限制在蜜網內。

資料分析:幫助你作為蜜網操作員簡化捕獲資料分析,以及幫助計算機和網路取證。

從部署的角度來看,只有前兩項任務對於保護你的蜜罐是需要的,但是,一旦你有一個使用中的高互動蜜網,你也將從蜜牆的資料分析功能中受益,使你日常分析工作變得更容易。

企業安全建設之蜜罐技術的應用(一)

圖 展示了一個蜜牆部署設定的示意圖。通常蜜牆被設定為一個透明網橋,即一個工作在資料鏈路層的網路裝置。在這種情況下,透明意味著蜜牆在連線蜜罐與網際網路的兩個介面上均沒有IP地址,因此,攻擊者不容易檢測到在它們之間有一個網路裝置。可選地,也可以使用第三個網路介面,用於管理和維護蜜牆(如圖中的“管理”介面),這個網路介面有一個IP地址,因此還可以遠端訪問它。最好建立一個獨立的管理網路用於這種訪問。

這種設定幫助捕捉重要的資料(資料捕捉),並控制所有進出蜜網的流量(資料控制)。正如已經定義的,資料控制意味著我們想控制哪些資料包允許進入蜜網,哪些資料包允許離開蜜網。為了減少風險,應該控制流入和流出的流量。使用Linux核心的子系統netfilter / iptables,可以設定允許連線的上限,以減輕對其他主機實施拒絕服務攻擊(DoS)的風險。為了預防拒絕服務攻擊,每天流出的TCP流量限制為一定量的連線,同樣,只允許流出一定數量的ICMP資料包,必須小心地選擇這些值。一方面,它們要確保攻擊者可以連線到Internet上的其他系統,攻擊者應該可以從其他計算機上獲得工具,並連線到一個IRC伺服器,與其他人通訊。另一方面,攻擊者不應該由於攻擊其他主機而產生大量傷害。在我們的蜜網中,作為一種最佳實踐值,允許每小時有20個TCP連線、20個UDP資料包交換、50個ICMP資料包和20個其他連線(所有其他非IP協議的數字1、6和17),它包括兩個執行在VMware上的Linux虛擬蜜罐。

建立一個蜜牆非常簡單。蜜網計劃提供了一個可啟動CD-ROM,可以幫助你完成安裝和配置過程,有了這個工具的幫助,你可以在幾分鐘內建立一個蜜牆。

一旦你準備好了一臺機器打算作為蜜牆,可以開始安裝過程了。從

http://www。

honeynet。org/tools/cdro

m/

上下載蜜牆最新版本,一旦你已經下載了ISO映象,刻錄到CD-ROM上,使其可啟動。現在只需要從CD-ROM啟動,然後開始一個基於Linux系統的安裝。在你開始安裝過程之前,確認硬碟上沒有留下資料,因為所有的舊資料將被覆蓋。一旦你接受警告資訊,安裝過程將開始。將安裝一個基於Fedora Core的系統,同時安裝所有必需的包,以實現資料採集、資料控制和資料分析。根據你的硬體,安裝過程將花費5~20分鐘。

一旦啟動盤已經建立了基本系統,它將重新啟動,配置過程開始。使用使用者名稱roo和口令honey登入新系統,現在安裝過程完成,你可以根據需求配置蜜牆。

從蜜罐的發展中不難看出,蜜罐透過對環境的模擬細化和感知增強,煥發著愈發強大的攻擊感知能力,從傳統蜜罐的終端系統層面模擬和互動感知,到商業蜜罐方案的應用層面模擬以及互動感知和駐留,再到目前攻擊欺騙方案的主動誘捕、反滲透以及更為細化檔案模擬和洩漏溯源,技術在不斷嘗試和磨合中不斷進行著看似微不足道實際效果驚人的自我創造,形成了日新月異的技術進步。

用蜜罐收集惡意軟體

為什麼要收集惡意軟體呢:“瞭解你的敵人”,使你更好地防禦這些軟體和類似軟體,一般來說,對正在傳播的惡意軟體瞭解得越多,我們的防禦就能組織得越好。

透過Nepenthes、Honeytra來了解蜜罐對惡意軟體的收集

Nepenthes

Nepenthes一種執行在linux系統上虛擬蜜罐平臺,提供足夠的通用Windows服務的模擬技術以欺騙多數自動的攻擊,並能自動下載惡意的負載以收集惡意程式碼樣本。Nepenthes的主要思想是模擬網路服務的漏洞,而不是部署一個可以被自主傳播惡意軟體利用的帶有漏洞的服務的高互動蜜罐,該程式只是模擬這些服務。

Nepenthes和Honeyd的規模相當,但是Honeyd很難模擬複雜的協議,如NetBIOS。

Nepenthes它允許我們並行部署數千個蜜罐,同時只需要中等的硬體和維護量。如果你在一臺連線到internet上不帶防火牆的機器上執行Nepenthes,你會很快發現有多少惡意軟體在網路上游蕩。

Nepenthes基於一個非常靈活、模組化的設計,其核心是處理網路介面、協調其他模組的動作。目前有幾種不同型別的模組:

漏洞模組:模擬網路服務的有漏洞部分,對於效率來講這是關鍵,它並不是模擬整個系統或服務,僅是模擬必要的部分。

Shellcode分析模組:分析漏洞模組接受到的有效載荷,這些模組分析接收到的shellcode,一種組合語言程式,並從中提取有關傳播惡意軟體的資訊。

提取模組:使用shellcode分析模組提取的資訊,從遠端位置下載惡意軟體。這些連結並不一定要求是HTTP或FTP的URL,它們可以是TFTP或其他協議,也可能僅僅是由這些模組產生的內部描述。

提交模組:處理下載的惡意軟體,例如,儲存二進位制到硬碟上,儲存到資料庫中,或者把它傳送給反病毒軟體廠商。

日誌模組:記錄模擬過程的有關資訊,並幫助從收集到的資料中得到模式的概貌。

此外,還有一些元件對Nepenthes平臺的功能和效率非常重要:shell模組,對每一個被模擬的shell提供一個虛擬檔案系統;嗅探模組:瞭解更多特定埠上的新活動;

Nepenthes的侷限性:Nepenthes只能收集自主傳播的惡意軟體——-透過掃描有漏洞的系統然後利用他們進一步傳播,因此,不能用Nepenthes工具收集rootkit或特洛伊木馬,因為這型別的惡意軟體通常不能進行自我傳播。這就是Nepenthes與大多數基於蜜罐的方法一樣所具有的一個侷限性。一個包含瀏覽器漏洞利用的網站,只要在該網站被訪問時才可能被觸發,因為它們的被動自然屬性,這樣的網站將不會被常規的蜜罐檢測到。走出這種兩難局面的方法是使用像HoneyMonkeys或Kathy Wang的honeyclient這樣的客戶端蜜罐,檢測這些型別的攻擊。

Nepenthes應該放在你內部網路的哪個地方,一種可能是,把它部署在有周邊防禦系統(如防火牆)保護的網路之內,在那裡它應該永遠不會受到攻擊。這個蜜罐捕獲的任何流量,將指示該網路內的另一個計算機已經被某種自主傳播的惡意軟體感染了,它也可能指示來自你的網路的內部攻擊。因此Nepenthes可以作為一個入侵檢測系統。

另一種可能是Nepenthes直接連線到Internet而沒有任何保護措施。在這種部署場景下,你可以收集對你的蜜罐的實時攻擊,在幾分鐘內你應該能看到第一個攻擊,甚至可能收集到第一個惡意軟體的二進位制程式碼,你的ISP應該不會過濾自主傳播惡意軟體所使用的常用TCP埠,如TCP埠445或135,如果沒有這樣的過濾,你應該會收到相當多的惡意網路流量。

如果你想使用Nepenthes作為你的IDS基礎結構的一個額外構成模組,只需將它放在你的非軍事區內,有了這個結構,你可以看到對準你非軍事區的惡意網路流量。

產品型蜜罐一般屬於低互動蜜罐。高互動蜜罐則完全提供真實的作業系統和網路服務,沒有任何的模擬,從駭客角度上看,高互動蜜罐完全是其垂涎已久的“活靶子”,因此在高互動蜜罐中,我們能夠獲得許多駭客攻擊的資訊。高互動蜜罐在提升駭客活動自由度的同時,自然地加大了部署和維護的複雜度及風險的擴大。研究型蜜罐一般都屬於高互動蜜罐,也有部分蜜罐產品,如ManTrap,屬於高互動蜜罐。

企業安全建設之蜜罐技術的應用(一)

低互動蜜罐

因為許多不同的原因,低互動蜜罐很有吸引力,存在很多非商業解決方案,而且很容易建立。即使你沒有多少經驗,也可以在短時間內建立一個由數百個低互動虛擬蜜罐組成的網路。

當敵手利用了一個高互動蜜罐時,她能獲得安裝新軟體和修改作業系統的能力,在低互動蜜罐中情況則不同。低互動蜜罐提供對作業系統有限的訪問,按照設計,它並不打算扮演一個完整功能的作業系統,通常不能被完全利用。因此,一個低互動蜜罐不適用於捕捉零天(zero-day)漏洞利用攻擊 。不過,它可以用來檢測已知的漏洞利用攻擊,測量你的網路受攻擊的頻率。“低交蜜罐”這一術語意味著,一個敵手在和一個模擬環境互動,該環境試圖在一定程度上欺騙他,但不構成一個完全成熟的系統。一個低互動蜜罐通常模擬有限數量的網路服務,實現僅僅夠用的網際網路協議,通常是TCP和IP,允許與敵手互動,使敵手相信他正在與一個真正的系統連線。

Honeytrap

Honeytrap是一個低互動蜜罐,也是以自動化方式收集惡意軟體為目的,它使用與Nepenthes類似的方法,主要思想是欺騙入站漏洞利用程式,傳送其完整的有效載荷,然後可以自動或人工分析。

在蜜罐技術中,一個經典方法是模擬服務,在上一個文章中Nepenthes就是模擬服務,但是,如果你想觀察未知的攻擊,這就不起作用了,如所謂的0天攻擊,Nepenthes需要一個漏洞模組來模擬服務的漏洞。攻擊的特徵對一個0天攻擊是不可能用的,因此Nepenthes不能處理此類攻擊。但是Honeytrap採用了略有不同的方法,動態響應入站資料。該工具在入站連線請求時動態地開啟TCP埠,因此每次一個漏洞利用程式試圖攻擊蜜罐時,伺服器會按照需要形刑事,透過這種通用方法,可以響應大部分基於網路的攻擊。

Honeytrap使用所謂的連線監視器,從網路流中提取TCP的連線企圖,有兩種不同型別的連線監視器可用:基於libpcap的網路嗅探器,一個包捕獲動態庫,搜尋本地主機產生的帶有序列號為0的RST包,對於linux系統,可以使用linux核心的netfilter\iptables子系統的ip_queue介面來攔截流入的連線請求。我們可以建立一個iptables規則表,把與新連線有關的SYN包交付給Honeytrap。

基於上面兩種連線監視器,Honeytrap可以動態地開啟TCP埠。

Honeytrap可觀察針對TCP或UDP服務的攻擊,作為一個守護程式模擬一些知名的服務,並能夠分析攻擊字串,執行相應的下載檔案指令,當不產生TCP或者UDP協議的時候Honeytrap捕獲不到任何資訊,但有攻擊者試圖使用一些安全工具進行掃描的時候,Honeytrap即可捕獲到連線資訊。將Dashboard更換到Honeytrap模式

企業安全建設之蜜罐技術的應用(一)

嘗試使用安全工具對honeytrap進行掃描(模擬TCP/UDP流量攻擊)

企業安全建設之蜜罐技術的應用(一)

企業安全建設之蜜罐技術的應用(一)

經確認已收到告警郵件。

HoneyBot

HoneBot構造入侵檢測系統,Honeybot一款很牛的殭屍網路跟蹤工具。是一個基於WINDOWS的低互動蜜罐解決方案,它的基本思想類似於Honeytrap。能夠在網路上模仿超過1000個易受攻擊的服務的Windows蜜罐程式,可以捕獲和記錄入侵和襲擊企圖。它運行於Windows 2000及以上版本,是AtomicSfotwareSolutions公司的產品。

企業安全建設之蜜罐技術的應用(一)

Honeyd

honeyd 是一款非常優秀的虛擬蜜罐軟體,能完成蜜罐的大部分功能,花費的資源相對較少,並能完成對網路拓撲的模擬,對抗指紋探測。honeyd 的使用也很方便,僅需要一個配置檔案,就可以完成響應的部署。此外,honeyd 的使用也是相當廣泛。在引誘駭客攻擊,反蠕蟲,遏制垃圾郵件等方面都有廣泛的應用。

Honeyd 是一個小的守護程式,它能夠產生虛擬的主機,這些主機能夠被配置以提供任意的服務,系統特徵也是與之相適應,以至於使之看起來像真實的系統在執行。在一個區域網的網路模擬中,Honeyd 能夠使單個主機擁有許多 IP(多達 65536 個)。透過提供對威脅探測和評估的機制,增強了計算機的安全性,透過隱藏真實的系統在虛擬的系統中,也達到了阻止敵手的目的。

企業安全建設之蜜罐技術的應用(一)

Honeyd透過路由器或代理ARP為其虛擬蜜罐接收流量。對每一個蜜罐,honeyd可以模擬不同作業系統的網路棧行為

honeyd 對駭客在終端的輸入提供了完善的日誌,該日誌檔案在執行honeyd 時已經指定,即使用-f引數加指定的日誌檔名。一般指定日誌檔案為/var/log/honeyd,可以透過檢視該日誌獲得駭客登陸的資訊和一些攻擊的方法。

Opencanary

pirogue

大神二次開發後再進行開源維護的Opencanary。當前0。4版本與官方保持同步,支援16種協議,24種攻擊特徵識別。專案地址:

https://

github。com/p1r06u3/open

canary_web

web服務端架構:

Tornado+Vue+Mysql+APScheduler+Nginx+Supervisor

登入頁面:

企業安全建設之蜜罐技術的應用(一)

詳細功能介紹參考他本人文章:

https://www。

secpulse。com/archives/9

5135。html

低互動蜜罐的一個缺點是缺乏保真度。他們不能完全被敵手攻陷,因為如此,他們不能產生像可以完全被敵手控制的高互動蜜罐一樣多的資訊。當然,這使得更容易保護你的低互動蜜罐,你不用擔心有太多的危險。例如,模擬服務通常不允許攻擊者安裝包洪泛工具,並從你的計算機上發起拒絕服務攻擊。這是假設你正在執行的蜜罐是完全安全的,如果蜜罐自身有漏洞,你的低互動蜜罐可能突然變成一個高互動蜜罐,這是我們真正想避免的。

下面將介紹一些安全增強手段,幫助減少蜜罐所受到的威脅:

1、使用chroot命令,可以把一個應用程式限制到檔案系統的一小部分。實現方法是把應用程式的根改變到一個特定目錄。

2、Systrace是一個許多UNIX系統可用的應用程式“沙盒”,用來限制應用程式對系統的訪問。

低互動蜜罐的主要特點:系統只是模擬出來的,不支援對計算機系統的完全攻陷。另一方面,它們通常提供更高的效能,且更容易部署。

作者:Lemon

歡迎來

安全脈搏

檢視更多的乾貨文章和我們一起交流互動哦!

脈搏地址:安全脈搏 | 分享技術,悅享品質

微博地址:Sina Visitor System

【注:安全脈搏所有文章未經許可,謝絕轉載】