第191期 / September 5, 2013

分享到臉書!分享到維特!分享到噗浪!分享到Google+!分享到微博!轉寄友人友善列印

駭客止步--誘捕系統Honeypot研究

作者/郭毅志

[發表日期:2013/8/19]

Honeypot前言

至古以來,許多軍事將領運用欺敵策略誘使敵軍下錯誤的決策,例如在第二次世界大戰期間,盟軍誘使德軍誤以為盟軍會從加來登入,因此在盟軍登陸諾曼第時,希特勒相信是聲東擊西,未能及時做出反應;此外,1991年的沙漠風暴軍事中,美軍利用部分士兵、軍營來分散伊拉克軍隊的注意力,同時從別處進攻伊拉克,這些誘騙策略實際運作在戰場上,同樣的也可以運作在十面埋伏的網路世界,而這就是「誘捕系統(Honeypot)」。

Honeypot簡介

誘捕系統,原文「Honeypot」,其設計目的為佈署讓攻擊者攻陷之假系統,如同蜂蜜捕捉昆蟲般,誘使攻擊者偵測、攻擊該系統,此概念最初是由Cliff Stoll以及Bill Cheswick於1990年提出,主要用於觀察網路於被入侵的同時進行觀察、紀錄,如此一來,便可攻擊行為追蹤或是發現新型的攻擊模式;從防禦的角度來看,當我們將Honeypot與真實主機佈署在一起時,會增加攻擊者探測系統主機的時間成本,進而增加管理員的緩衝空間,另一方面,攻擊者在進行攻擊行動前,通常會先做掃描動作,用以尋找弱點主機,以此作為攻擊起點,誘捕系統可針對掃描做紀錄外,同時,也是另一種的預警系統,使得管理者可以即早發現並做出反應;此外,誘捕系統不同於其他入侵偵測系統,會產生誤報的情況,主要原因在於,此系統並非一般使用者會連結的系統,因為所有進入誘捕系統之連線,皆可視為具攻擊嫌疑之連結。

Honeypot類型

Honeypot種類繁多,在此主要以三種區別方式做區分,分別為『目的』、『互動』、『行為』等三種方式:

一、目的區別

1.研究型

主要目的在於收集攻擊資訊,用以了解攻擊者的攻擊行為、步驟、方法以及可能使用的工具等,藉由這些資訊可以修補並且強化網路與系統的安全性,此外,為了盡可能收集到完整的資訊,與真實系統的相似度較高,相對的複雜度也較高。

2.產品型

主要目的在於提升組織內的安全,透過攻擊偵測、找出攻擊者等方式,做出相對應的反應,而不同於研究型Honeypot,產品型Honeypot所能收集的資訊相對較少,攻擊防禦才是其主要任務。



《圖一》


二、互動區別

1.高互動型

此類Honeypot的運作訴求在於高度的真實性,絕大部分這類型的誘捕系統,會以真實系統去架設、佈署,而非透過模擬,因此,此類Honeypot可以收集到非常完整的資訊,但是相對的需要花費大量的成本做維運;此外,也由於基於真實系統,在面對攻擊時,所隱藏的風險也相對較高,若安全措施不足的情況下,可能反而被攻擊者拿來做為攻擊的跳板。

2.低互動型

不同於高互動型Honeypot,通常是採用程式的方式,做系統以及服務的模擬,相對的,由於在模擬程式與攻擊者互動的過程中,所能提供的資訊被模擬程式所侷限,增加被攻擊者識破的風險,也因為並非真實系統,攻擊者的一切行為會被侷限在模擬環境中,相較於以真實系統為基礎的Honeypot是較為安全的;此外,因為其系統服務是模擬的,所收集到關於攻擊的資訊也較少。



《圖二》


三、行為區別

1.被動型
  
此類型Honeypot於佈署時,會故意將已知弱點或設定缺失置入環境中,當佈署完成後,不會對外有任何動作,僅會持續對系統做監控,等待攻擊者進入,當與真實主機設置在一起時,可減少真實主機被直接攻擊的風險,並且達到預警的效果,供管理者提前做出反應,此種Honeypot適用於防護以及資訊收集。

2.主動型
  
不同於被動型Honeypot,它會主動去連結惡意網站或執行惡意程式,透過模擬使用者行為的方式,收集相關的步驟、程式或方法,此種Honeypot主要目的在於收集資訊,作為資安的重要依據。



《圖三》


實例介紹 – Honeyd

一、簡介

Honeyd,是由Niels Provos於2007所發表的開源軟體,讓使用者可以在網路上建立多個虛擬設備,同時,這些虛擬設備也可以模擬不同的服務(例如:telnet),藉此將真實設備隱藏,以改善外部惡意掃描的威脅。

二、實例操作

《Case 1 – 建立虛擬電腦》

‧PC A、B為真實設備
‧B-1、B-2為Honeyd所產生的虛擬主機


《圖四》Honeyd Case 1


‧設定說明:


《圖五》


Honeyd是以模組化的方式建立虛擬設備,此指令目的在於建立一個名為linux的模組:

Create linux


對於不同的作業系統,會有不同的特徵,許多掃描工具可以針對這些特徵去識別,Honeyd收集許多此類的資訊以供設定,此處所使用的特徵為Linux 2.4.7(x86):

set linux personality "Linux 2.4.7 (X86)"


根據需要設定所要開啟的port:

add linux tcp port 22 open


除了設定port的狀態之外,同時也可以載入Script模擬服務:

add linux tcp port 25 "perl /usr/share/honeyd/scripts/smtp.pl"
add linux tcp port 110 "sh /usr/share/honeyd/scripts/pop3.sh"


而其他關閉的Port,針對TCP的連線,則回應RST:

set linux default tcp action reset


分別設定UID、GID以及網卡位置:

set linux uid 32762 gid 32762
set linux ethernet "00:0c:29:b1:7a:22"


最後將linux模組綁上192.169.1.100:

bind 192.169.1.100 linux


《case 2 – 建立虛擬網路》

‧rH1、rH2: 真實設備
‧vR1、vR2、vH1、vH2、vH3: 虛擬設備


《圖六》


‧設定說明:

《圖七》


分別產生五台虛擬設備,分別為兩台Router以及三台電腦,分別綁定IP:

bind 192.169.1.99 router1
bind 192.169.2.99 router2
bind 192.169.1.10 linux
bind 192.169.2.10 win
bind 192.169.3.10 win


建立虛擬網路入口,以192.169.1.99(router1)為虛擬網路之入口:

route entry 192.169.1.99 network 192.169.0.0/16


將192.169.2.0/24的網段,連結於192.169.1.99(router1)上:

route 192.169.1.99 link 192.169.2.0/24

在192.169.1.99(router1)新增一個子網段192.169.3.0/24,可透過192.169.2.99(router2)做連結:

route 192.169.1.99 add net 192.169.3.0/24 192.169.2.99


三、測試

以case2所產生的環境為例,分別用Ping、Traceroute、Telnet等方式對模擬出來的虛擬設備做驗證,同時觀察Honeyd所產生的Log訊息。

測試環境:

《圖八》


測試方式:

《圖九》


圖示:

《圖十》


測試結果:

《圖十一》


從Honeyd Log中可以看到,虛擬設備(192.169.2.10、192.169.3.10、192.169.2.99)分別對來至rH1的Ping,做出回應。


《圖十二》


從測試結果中可以看出,Honeyd確實模擬出網路路由。


《圖十三》


從Honeyd Log中可以看出,Client端可以與虛擬設備做telnet連線,同時可以看出,Client嘗試登入的錯誤訊息。

從以上三項測試中,可以看出Honeyd所產生之虛擬設備,確實對外部的偵測做出反應,並且做出相對應之互動。


結語
  
誘捕系統,在駭客新式攻擊手法、新型病毒等的蒐集與發現,有不少成績,此外,基於其單純性,凡是進入系統的連結都可判定為具高度威脅性的連結,因此可以有效降低誤判,並且做出早期預警,已達到對於內網之防護提升。
  
誘捕系統,由於其本身就是一個具有弱點之系統,即便是無論是使用真實或是模擬的系統、服務,仍然有可能反被惡意人士利用做為跳板,因此,誘捕系統建置完成後,仍須做維護與管理工作,並且對於所偵測到的可疑安全事件,做出即時的反應。

參考資料

1.【遠端惡意探測工具介紹與實做】,許勝翔
2.【惡意程式與誘捕系統簡介】,張宏昌
3.【誘捕式網路防禦技術應用於國軍網路管理異常偵防研究】,吳嘉龍,林弘憲
4.Honeynet,http://www.honeynet.org/
5.WIKI,http://en.wikipedia.org/wiki/Honeypot_(computing)
6.Honeyd,http://www.honeyd.org
7.Honeyd Manual Page,http://www.citi.umich.edu/u/provos/honeyd/
8.“Simulating Networks with Honeyd”, Roshen Chandran, Sangita Pakala