蜜罐技術(shù):如何跟蹤攻擊者的活動(dòng)?
你們中的許多人可能對(duì)專業(yè)術(shù)語“蜜罐(honeypot)”和“蜜網(wǎng)(honeynets)”比較熟悉。雖然從嚴(yán)格意義上講,有人可能認(rèn)為它們是安全研究人員的工具,如果使用得當(dāng),它們也可以使企業(yè)受益。在本文中,我們所使用的“蜜罐”和“蜜網(wǎng)”表示的是同一個(gè)意思,蜜罐一般試圖模擬一個(gè)更大更多樣化的網(wǎng)絡(luò),為黑客提供一個(gè)更加可信的攻擊環(huán)境。
蜜罐是一個(gè)孤立的系統(tǒng)集合,其首要目的是:利用真實(shí)或模擬的漏洞或利用系統(tǒng)配置中的弱點(diǎn)(如一個(gè)容易被猜出的密碼),引誘攻擊者發(fā)起攻擊。蜜罐吸引攻擊者,并能記錄攻擊者的活動(dòng),從而更好地理解擊者的攻擊。蜜罐一般分為兩種類型:高交互蜜罐和低交互蜜罐。
類型和折中
高交互蜜罐是一部裝有真正操作系統(tǒng)(非模擬),并可完全被攻破的系統(tǒng)。與攻擊者進(jìn)行交互的是一部包含了完整服務(wù)棧(service stack)的真實(shí)系統(tǒng)。該系統(tǒng)的設(shè)計(jì)目的是捕獲攻擊者在系統(tǒng)中詳盡的活動(dòng)信息。而低交互蜜罐只是模擬出了真正操作系統(tǒng)的一部分(如,網(wǎng)絡(luò)堆棧、過程和服務(wù)),例如模擬某個(gè)版本的FTP(文件傳輸協(xié)議)服務(wù),其中的代碼存在漏洞。這可能會(huì)吸引蠕蟲查找服務(wù)脆弱部分的漏洞,由此可以深入觀察到蠕蟲的行為。
不過,在你使用這兩種蜜罐時(shí),需要做出一些折中。用于網(wǎng)絡(luò)安全的高交互蜜罐提供了真實(shí)操作系統(tǒng)的服務(wù)和應(yīng)用程序,使其可以獲得關(guān)于攻擊者更可靠的信息,這是它的優(yōu)勢。它還可以捕獲攻擊者在被攻破系統(tǒng)上的大量信息。這一點(diǎn)可能會(huì)非常有幫助,比如說,在組織想要收集關(guān)于攻擊者是如何找到攻破特定類型系統(tǒng)的詳細(xì)真實(shí)數(shù)據(jù),以便增加適當(dāng)?shù)姆烙臅r(shí)候。另一方面,這些蜜罐系統(tǒng)部署和維護(hù)起來十分困難,而且需要承擔(dān)很高的副作用風(fēng)險(xiǎn):例如,被攻破的系統(tǒng)可能會(huì)被用來攻擊互聯(lián)網(wǎng)上其他的系統(tǒng)。
雖然低交互蜜罐容易建立和維護(hù),且一般對(duì)攻擊者產(chǎn)生了免疫,但模擬可能不足以吸引攻擊者,還可能導(dǎo)致攻擊者繞過系統(tǒng)發(fā)起攻擊,從而使蜜罐在這種情況下失效。到底部署哪種蜜罐取決于你最終的目標(biāo)是什么:如果目標(biāo)是捕獲攻擊者與系統(tǒng)的詳細(xì)交互情況,那么高交互蜜罐是一個(gè)更好的選擇;如果目標(biāo)是捕獲針對(duì)某個(gè)有漏洞的服務(wù)版本的惡意軟件樣本,使用低交互蜜罐就足夠了。
在你決定使用哪種蜜罐部署時(shí),另一個(gè)需要考慮的重要因素是:蜜罐是安裝在物理系統(tǒng)上,還是安裝在物理系統(tǒng)的幾臺(tái)虛擬機(jī)上。這將直接影響到系統(tǒng)維護(hù)的工作量。雖然虛擬系統(tǒng)自身的確有一系列安全問題,但虛擬系統(tǒng)允許快速回復(fù),并能顯著縮短部署和重新部署的時(shí)間。
蜜罐部署
無論是高交互蜜罐還是低交互蜜罐,都被設(shè)計(jì)成在互聯(lián)網(wǎng)上不進(jìn)行傳統(tǒng)目的活動(dòng)。換句話說,除操作系統(tǒng)要求的以外,蜜罐系統(tǒng)不運(yùn)行其他的進(jìn)程、服務(wù)和后臺(tái)程序。這種思想實(shí)際上把所有與蜜罐有關(guān)的交互作用都當(dāng)作具有惡意活動(dòng)嫌疑的對(duì)象,這樣一來反而有利于檢測攻擊活動(dòng)。在探討蜜罐部署的最佳做法之前,先讓我們來看一下常用的高交互和低交互蜜罐。
通常情況下,高交互蜜罐不需要專用軟件就可以進(jìn)行底層操作系統(tǒng)的安裝。一般來說,安裝一個(gè)VMware工作站或者用一個(gè)類似QEMU的虛擬機(jī),就足以滿足蜜罐對(duì)操作系統(tǒng)的要求了(典型情況是,主機(jī)上的客戶操作系統(tǒng)運(yùn)行虛擬軟件)。底層操作系統(tǒng)安裝好后,下一步的重點(diǎn)就是進(jìn)行設(shè)置,以對(duì)蜜罐(客戶操作系統(tǒng))進(jìn)行合理的監(jiān)測。這一設(shè)置要分為兩部分:監(jiān)測主機(jī)操作系統(tǒng)和監(jiān)測客戶操作系統(tǒng)。主機(jī)操作系統(tǒng)應(yīng)該重點(diǎn)對(duì)進(jìn)出蜜罐的流量進(jìn)行抓包,這一過程可以利用像tcpdump 或Wireshark之類的程序來完成。同時(shí),如果客戶操作系統(tǒng)被感染,惡意帶外連接會(huì)造成潛在的附加危害,對(duì)這一情況用戶希望提前被警告,這也被叫做擠壓檢測(extrusion detection)。這一點(diǎn)可以利用類似iptables(或者基于主機(jī)的防火墻)的本地訪問控制列表來完成。執(zhí)行帶內(nèi)過濾實(shí)質(zhì)上是對(duì)蜜罐所受攻擊的類型實(shí)施部分控制。用戶可以把主機(jī)操作系統(tǒng)流量過濾和入侵檢測系統(tǒng)(例如Snort)結(jié)合起來,從而獲得針對(duì)已知攻擊媒介的附加報(bào)警能力(也就是基于簽名的報(bào)警)。
對(duì)客戶操作系統(tǒng),或者是攻擊的實(shí)際目標(biāo)進(jìn)行監(jiān)測,需要捕捉到攻擊者的所有活動(dòng),比如跟蹤鍵盤記錄活動(dòng)、記錄攻擊者所用的工具和記載權(quán)限擴(kuò)大嘗試。Sebek就是一款能夠完成上述大規(guī)模數(shù)據(jù)搜集活動(dòng)的工具。另外一些值得關(guān)注的虛擬化高交互蜜罐還有用戶模式的Linux和Argos系統(tǒng)。
與高交互蜜罐不同,低交互蜜罐需要在主機(jī)操作系統(tǒng)上安裝特殊的軟件,另外還要進(jìn)一步配置,以便有效地模擬有缺陷的服務(wù)。較受歡迎的低交互蜜罐技術(shù)有Nepenthes,以及后續(xù)產(chǎn)品Dionaea和mwcollectd。
低交互蜜罐創(chuàng)造性地配置了多種檢測功能,包括廣泛記錄功能、惡意軟件捕捉功能、實(shí)時(shí)安全事件通知,以及提交惡意軟件活動(dòng)進(jìn)行遠(yuǎn)程分析。它們的功能還可以進(jìn)一步提高,方法是使用Nepenthes中的log-IRC附加模塊,通過Dionaea和p0f模塊一同使用還可以獲得被動(dòng)識(shí)別遠(yuǎn)程操作系統(tǒng)的能力。Dionaea同樣支持XMPP(可擴(kuò)展消息現(xiàn)場協(xié)議)模塊,該模塊可以在企業(yè)之間和安全社區(qū)中實(shí)現(xiàn)惡意軟件二進(jìn)制共享,從而提高用戶的安全意識(shí)。
筆者接觸過一些與高交互蜜罐監(jiān)測有關(guān)的部署最佳實(shí)踐,這些實(shí)踐中執(zhí)行了帶內(nèi)和帶外的過濾,以及網(wǎng)絡(luò)入侵檢測。這些功能有待于增強(qiáng),還需要強(qiáng)化蜜罐和正常網(wǎng)絡(luò)之間的隔離。理想的情況是,蜜罐環(huán)境應(yīng)該部署在自己專用的互聯(lián)網(wǎng)入口上,而主機(jī)的操作系統(tǒng)管理則放在另一個(gè)獨(dú)立的網(wǎng)絡(luò)上。另一方面,低交互蜜罐無法被攻擊者全部攻破,因此它們的保護(hù)工作要簡單一些。利用chroot之類的程序,可以把低交互蜜罐系統(tǒng)隔離到一個(gè)較小的文件系統(tǒng)中。另外,低交互蜜罐系統(tǒng)也要與正常網(wǎng)絡(luò)徹底隔離,否則低交互蜜罐仍舊會(huì)暴露在與高交互蜜罐相同的威脅下。
典型應(yīng)用
蜜罐的主要用途之一是收集惡意軟件樣本。這些樣本可能利用零日漏洞(zero-day vulnerabilities),或已知的攻擊向量。蜜罐可以讓研究者對(duì)上述攻擊有更好的了解。例如,通過監(jiān)測IRC控制通道,蜜罐就可以提供實(shí)時(shí)攻擊流量。它們還具備被動(dòng)識(shí)別攻擊者操作系統(tǒng)類型,或存儲(chǔ)/重演攻擊活動(dòng)的能力。另外,它們?cè)试S研究者共享威脅信息(例如XMPP),或者把樣本提交給在線沙盒和多反病毒掃描工具(如VirusTotal、Jotti、ThreatExpert和CWSandbox)進(jìn)行進(jìn)一步分析。
蜜罐收集惡意軟件活動(dòng)的領(lǐng)域可以擴(kuò)展到僵尸系統(tǒng)(bot)和僵尸網(wǎng)絡(luò)(botnet)。僵尸網(wǎng)絡(luò)擁有分布式的特點(diǎn),依賴于遠(yuǎn)程命令通道的使用(一般是通過IRC和 HTTP),利用的往往是零日攻擊或已知攻擊向量,這種體系結(jié)構(gòu)使得蜜罐可以很好的對(duì)其進(jìn)行跟蹤和分析。
對(duì)企業(yè)而言,蜜罐的實(shí)用性遠(yuǎn)大于上述情況。然而,蜜罐的有效性很大程度上取決于能否有一個(gè)好的設(shè)計(jì)。任何設(shè)計(jì)缺陷(比如,不充分的隔離、缺乏監(jiān)測和實(shí)時(shí)報(bào)警能力)都可能把蜜罐變?yōu)閲?yán)重的負(fù)債,而不是可以對(duì)危險(xiǎn)進(jìn)行管理的資產(chǎn)。使用蜜罐時(shí),適當(dāng)?shù)男⌒暮椭?jǐn)慎很必要。如果你沒有充足的經(jīng)驗(yàn)卻希望使用蜜罐,那你就需要時(shí)常向訓(xùn)練過的專業(yè)人士咨詢。
作者:Anand Sastry
【編輯推薦】