摘要:隨著網(wǎng)絡(luò)攻擊日益頻發(fā)、隱蔽和復(fù)雜,傳統(tǒng)的被動(dòng)防御手段難以及時(shí)、有效地識(shí)別新型威脅。文章介紹了Cowrie蜜罐的基本原理和實(shí)現(xiàn)機(jī)制,闡述了機(jī)房網(wǎng)絡(luò)主動(dòng)誘捕的系統(tǒng)架構(gòu)設(shè)計(jì),具體論述了蜜罐部署、數(shù)據(jù)收集和分析等核心部分,最后基于實(shí)驗(yàn)測(cè)試環(huán)境驗(yàn)證了該系統(tǒng)捕獲攻擊行為的有效性。
關(guān)鍵詞:機(jī)房網(wǎng)絡(luò)安全;主動(dòng)誘捕;Cowrie;交互式蜜罐
中圖分類號(hào)::TN915.08" ""文獻(xiàn)標(biāo)志碼:A
作者簡(jiǎn)介:趙仲力(1992— ),男,工程師,本科;研究方向:網(wǎng)絡(luò)安全。
0" 引言
近年來(lái),隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展和廣泛應(yīng)用,網(wǎng)絡(luò)安全問(wèn)題日益凸顯。網(wǎng)絡(luò)攻擊事件頻發(fā),呈現(xiàn)出智能化、隱蔽化和多樣化的特點(diǎn),給個(gè)人隱私、企業(yè)機(jī)密和國(guó)家安全帶來(lái)嚴(yán)峻挑戰(zhàn)。根據(jù)Cloudflare在2024年1月發(fā)布的《2023年第四季度DDoS威脅趨勢(shì)報(bào)告》,2023年第四季度的網(wǎng)絡(luò)層DDoS攻擊數(shù)量同比增長(zhǎng)了175%,環(huán)比增長(zhǎng)了25%,其中針對(duì)IDC(Internet Data Center)機(jī)房的攻擊尤為突出。Cowrie是一款優(yōu)秀的交互式SSH和Telnet蜜罐系統(tǒng),模擬了多種真實(shí)環(huán)境,被廣泛應(yīng)用于SSH口令猜解、僵尸網(wǎng)絡(luò)分析等場(chǎng)景?;贑owrie蜜罐系統(tǒng),本文提出了一種面向IDC機(jī)房網(wǎng)絡(luò)的主動(dòng)誘捕技術(shù)。
1" Cowrie蜜罐系統(tǒng)工作原理
Cowrie是一款基于Python開(kāi)發(fā)的高交互型蜜罐系統(tǒng),工作內(nèi)容包括攻擊誘捕、行為記錄和數(shù)據(jù)分析。Cowrie首先對(duì)外暴露一個(gè)SSH或Telnet服務(wù),如默認(rèn)的弱口令root/123456等,吸引攻擊者嘗試暴力破解[1]。一旦攻擊者成功登錄,就會(huì)進(jìn)入Cowrie提供的虛擬shell環(huán)境。Cowrie會(huì)詳細(xì)記錄攻擊者在虛擬環(huán)境中的所有操作,包括執(zhí)行的命令、命令的參數(shù)和結(jié)果、登錄的IP和時(shí)間、上傳和下載的文件,管理員可以通過(guò)日志分析攻擊者的行為模式、使用工具與攻擊目的。
2" 機(jī)房網(wǎng)絡(luò)主動(dòng)誘捕技術(shù)
主動(dòng)誘捕(Active Deception)的核心思想是主動(dòng)設(shè)置誘餌,引誘攻擊者對(duì)虛假目標(biāo)發(fā)起攻擊,是一種以情報(bào)為驅(qū)動(dòng)的智能安全防御思路。蜜罐產(chǎn)生的交互式數(shù)據(jù)包含了豐富的威脅情報(bào),通過(guò)分析攻擊者的行為、手法、工具等,可以洞察攻擊者的真實(shí)意圖和能力,為后續(xù)的威脅狩獵、態(tài)勢(shì)感知提供高價(jià)值線索,實(shí)現(xiàn)情報(bào)的持續(xù)反哺和防御策略的動(dòng)態(tài)調(diào)優(yōu)。
3" 基于Cowrie蜜罐系統(tǒng)的主動(dòng)誘捕技術(shù)設(shè)計(jì)
3.1" 部署思路
本文研究提出的蜜罐系統(tǒng)整體基于一種分層架構(gòu)設(shè)計(jì),該架構(gòu)由數(shù)據(jù)采集層、數(shù)據(jù)處理層、數(shù)據(jù)存儲(chǔ)層、數(shù)據(jù)分析層和數(shù)據(jù)可視化層組成,如圖1所示。在數(shù)據(jù)采集層,分別在機(jī)房網(wǎng)絡(luò)的接入層、匯聚層和核心層部署一組高交互型Cowrie蜜罐。利用Kafka構(gòu)建數(shù)據(jù)總線,接收來(lái)自各節(jié)點(diǎn)的數(shù)據(jù)流,過(guò)濾噪聲數(shù)據(jù),進(jìn)行字段提取、格式轉(zhuǎn)換、時(shí)間同步等處理,然后通過(guò)Kafka分發(fā)給下游的存儲(chǔ)和分析模塊,在分析完成后為管理員提供可視化數(shù)據(jù)總覽。
3.2" 核心模塊的功能實(shí)現(xiàn)
3.2.1" 蜜罐模塊
(1)蜜罐節(jié)點(diǎn)部署。
接入層部署一組SSH和Telnet蜜罐,模擬常見(jiàn)的Linux服務(wù)器,在蜜罐上開(kāi)放常見(jiàn)的服務(wù)端口(如22、23、80、443等),并設(shè)置較弱的密碼口令,誘使攻擊者嘗試暴力破解或者口令猜解。匯聚層和核心層部署一組SSH、Telnet、SFTP、RDP等蜜罐,模擬企業(yè)內(nèi)網(wǎng)中的JumpServer跳板機(jī)、代碼倉(cāng)庫(kù)服務(wù)器、OA辦公服務(wù)器、監(jiān)控服務(wù)器等關(guān)鍵資產(chǎn),用于捕獲來(lái)自內(nèi)網(wǎng)的橫向滲透攻擊,引誘攻擊者使用弱口令字典和社工手段滲透。接入層Web服務(wù)器蜜罐中部署了常見(jiàn)的Web漏洞;核心層的代碼倉(cāng)庫(kù)蜜罐中部署了Git源碼泄露、SVN未授權(quán)訪問(wèn)等漏洞。
(2)交互環(huán)境模擬。
提供仿真的交互式終端環(huán)境,當(dāng)攻擊者使用SSH/Telnet協(xié)議登錄蜜罐后,會(huì)看到一個(gè)與真實(shí)Linux系統(tǒng)幾乎一致的Shell界面,可以執(zhí)行常見(jiàn)的操作系統(tǒng)命令ls、ps、cat、wget等。蜜罐支持與攻擊者多輪交互,根據(jù)攻擊者的輸入,動(dòng)態(tài)生成相應(yīng)的命令行輸出。
def buildProtocol(self, addr):
# 創(chuàng)建SSH連接協(xié)議
t=HoneyPotTransport()
t.factory=self
t.portal=portal.Portal(HoneyPotRealm())
t.portal.registerChecker(HoneyPotPublicKey Checker())
t.portal.registerChecker(HoneyPotPassword Checker())
t.packetizer=CowrieSSHPacketizer(t)
t.packetizer.avatar = HoneyPotAvatar(self.backend, self.pool_handler)
t.factory.sessions[t.transport.sessionno]=t
return t
在后臺(tái),Cowrie蜜罐基于Python的Twisted框架,設(shè)計(jì)一套虛擬文件系統(tǒng),預(yù)設(shè)“誘餌”文件(/etc/passwd、/var/log/messages等),誘使攻擊者駐留更長(zhǎng)時(shí)間[2]。當(dāng)攻擊者下載并執(zhí)行惡意腳本時(shí),后臺(tái)記錄腳本內(nèi)容,同時(shí)返回預(yù)設(shè)的命令執(zhí)行結(jié)果。
(3)攻擊行為捕獲。
蜜罐不僅記錄攻擊者的登錄賬號(hào)、密碼、來(lái)源IP等基本信息,還實(shí)時(shí)記錄攻擊者輸入的每一條命令及其對(duì)應(yīng)的執(zhí)行結(jié)果。針對(duì)網(wǎng)絡(luò)流量,蜜罐采用內(nèi)置的數(shù)據(jù)包嗅探和解析引擎捕獲攻擊者與蜜罐之間的所有流量,除了原始的pcap包,還解析關(guān)鍵的流量元數(shù)據(jù),如HTTP請(qǐng)求/響應(yīng)頭、FTP命令/文件傳輸?shù)?。?dāng)攻擊者通過(guò)SFTP、SCP、HTTP POST等方式向蜜罐上傳文件時(shí),蜜罐會(huì)自動(dòng)將其重定向到指定目錄,并提取文件的數(shù)字指紋(如MD5、SHA256等),與已知惡意代碼庫(kù)比對(duì),識(shí)別其惡意類型。
3.2.2" 數(shù)據(jù)采集與分析
(1)蜜罐數(shù)據(jù)采集。
模塊采用基于Agent的數(shù)據(jù)采集框架。在每個(gè)蜜罐節(jié)點(diǎn)上部署一個(gè)輕量級(jí)的采集Agent,通過(guò)安全通道發(fā)送到中央數(shù)據(jù)處理節(jié)點(diǎn)[3]。采集Agent主要獲取網(wǎng)絡(luò)流量數(shù)據(jù)、文件操作數(shù)據(jù)、命令執(zhí)行數(shù)據(jù),將各類數(shù)據(jù)統(tǒng)一轉(zhuǎn)換為JSON格式,并通過(guò)Kafka消息隊(duì)列實(shí)時(shí)推送到數(shù)據(jù)處理節(jié)點(diǎn)。
(2)實(shí)時(shí)數(shù)據(jù)流處理與威脅檢測(cè)。
數(shù)據(jù)處理節(jié)點(diǎn)采用Spark Streaming框架,對(duì)Kafka中的采集數(shù)據(jù)進(jìn)行實(shí)時(shí)流式處理,將異構(gòu)數(shù)據(jù)轉(zhuǎn)換為結(jié)構(gòu)化的特征向量,基于特征向量構(gòu)建多種檢測(cè)模型。數(shù)據(jù)處理流程基于DStream模型,通過(guò)函數(shù)式API連接和調(diào)度各個(gè)處理階段。
# 數(shù)據(jù)輸入
packet_stream = KafkaUtils.createDirect Stream(...)
log_stream = KafkaUtils.createDirectStream(...)
# 數(shù)據(jù)解析
parsed_packet_stream = packet_stream.map(parse_packet)
parsed_log_stream = log_stream.map(parse_log)
# 數(shù)據(jù)聚合
aggregated_stream = parsed_packet_stream.union(parsed_log_stream)
# 特征提取
feature_stream = aggregated_stream.map(extract_feature)
# 攻擊檢測(cè)
attack_stream = feature_stream.filter(detect_attack)
# 更新威脅情報(bào)庫(kù)
attack_stream.foreachRDD(lambda rdd: rdd.foreach(update_threat_db))
4" 實(shí)驗(yàn)結(jié)果與分析
4.1" 環(huán)境搭建
本文參考某企業(yè)真實(shí)的機(jī)房網(wǎng)絡(luò)拓?fù)?,研究搭建了一個(gè)涵蓋核心交換區(qū)、辦公接入?yún)^(qū)、Web服務(wù)區(qū)、數(shù)據(jù)庫(kù)區(qū)等典型分區(qū)的實(shí)驗(yàn)環(huán)境。整個(gè)環(huán)境由10臺(tái)物理服務(wù)器、5臺(tái)交換機(jī)、2臺(tái)防火墻、1臺(tái)Cowrie蜜罐管理平臺(tái)組成。
4.2" 實(shí)驗(yàn)數(shù)據(jù)結(jié)果與主動(dòng)測(cè)試分析
實(shí)驗(yàn)數(shù)據(jù)收集歷時(shí)1個(gè)月。在此期間,Cowrie蜜罐節(jié)點(diǎn)共計(jì)上線運(yùn)行705 h,模擬開(kāi)放了22號(hào)(SSH)、23號(hào)(Telnet)、3389號(hào)(RDP)等端口,對(duì)外暴露了多種常見(jiàn)應(yīng)用層協(xié)議漏洞(如Openssh、Tomcat、Spring等)[4]。經(jīng)過(guò)1個(gè)月的運(yùn)行,各Cowrie蜜罐節(jié)點(diǎn)共捕獲到來(lái)自互聯(lián)網(wǎng)和內(nèi)網(wǎng)的惡意流量1350672次,日志數(shù)據(jù)量126 GB。其中,Web服務(wù)區(qū)的蜜罐節(jié)點(diǎn)捕獲的惡意流量最多,為753291次,占比55.76%;其次是辦公接入?yún)^(qū),捕獲流量374108次,占比27.69%;數(shù)據(jù)庫(kù)區(qū)排名第三,為223273次,占比16.55%。實(shí)驗(yàn)期間,Cowrie管理平臺(tái)共收到安全事件告警28937次。人工復(fù)核了所有告警,去除重復(fù)項(xiàng)后,最終確認(rèn)獨(dú)立攻擊事件9372起,平均每小時(shí)發(fā)生13起攻擊事件。
為進(jìn)一步驗(yàn)證主動(dòng)誘捕系統(tǒng)捕獲攻擊行為的有效性,在實(shí)驗(yàn)環(huán)境中人工構(gòu)造了一系列典型的滲透攻擊場(chǎng)景,測(cè)試包括:
(1)暴力破解。在攻擊者主機(jī)上使用Hydra工具對(duì)蜜罐的SSH服務(wù)發(fā)起密碼猜解攻擊。結(jié)果顯示,當(dāng)字典長(zhǎng)度為1000時(shí),系統(tǒng)平均3 s內(nèi)即可捕獲該攻擊行為;當(dāng)字典長(zhǎng)度增大到100000時(shí),捕獲時(shí)間也不超過(guò)1 min。
(2)SQL注入。在攻擊者主機(jī)上使用sqlmap工具對(duì)蜜罐的Web應(yīng)用發(fā)起SQL注入攻擊。結(jié)果顯示,系統(tǒng)能夠捕獲全部的注入嘗試,識(shí)別出使用的注入方法(布爾盲注、時(shí)間盲注、報(bào)錯(cuò)注入、聯(lián)合查詢注入等),并成功地提取出數(shù)據(jù)庫(kù)banner、表名、列名等敏感信息。
(3)Webshell上傳。在攻擊者主機(jī)上編寫(xiě)PHP Webshell,通過(guò)菜刀等工具上傳到蜜罐Web目錄。結(jié)果顯示,系統(tǒng)能夠?qū)崟r(shí)檢測(cè)出Webshell上傳行為,記錄攻擊者執(zhí)行的命令,并自動(dòng)隔離Webshell文件。
5" 結(jié)語(yǔ)
主動(dòng)誘捕是從攻擊者的視角出發(fā),利用蜜罐模擬真實(shí)系統(tǒng),誘使攻擊者對(duì)虛假目標(biāo)發(fā)起攻擊,從而主動(dòng)發(fā)現(xiàn)攻擊企圖,獲取攻擊情報(bào)。Cowrie蜜罐系統(tǒng)專為交互式登錄攻擊而設(shè)計(jì),能夠全面模擬Shell環(huán)境,捕獲攻擊者執(zhí)行的命令、上傳的文件等,非常適合機(jī)房網(wǎng)絡(luò)這種高交互環(huán)境的安全監(jiān)測(cè)需求,對(duì)于維護(hù)關(guān)鍵信息基礎(chǔ)設(shè)施的安全穩(wěn)定運(yùn)行具有重要的作用。
參考文獻(xiàn)
[1]秦玉杰.基于蜜罐的內(nèi)網(wǎng)威脅感知技術(shù)研究[D].鄭州:鄭州大學(xué),2018.
[2]康紅蓮.基于蜜罐的欺騙防御系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2020.
[3]毛偉杰.基于蜜罐的內(nèi)網(wǎng)威脅捕獲系統(tǒng)的研究與實(shí)現(xiàn)[D].鎮(zhèn)江:江蘇科技大學(xué),2021.
[4]張志安,周婧瑩,黎宇,等.基于蜜罐誘導(dǎo)的主動(dòng)威脅狩獵防御方法[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2024(1):1-2.
(編輯" 沈" 強(qiáng))
Application research of active capture technology for computer room networks based on Cowrie honeypot system
ZHAO" Zhongli1, LI" Qing2
(1.Tianjin Baodi District Public Emergency Warning Information Release Center, Tianjin 301800, China;
2.Tianjin weather modification office in Jinnan District, Tianjin 300350, China)
Abstract: With the increasing frequency,stealth,and complexity of network attacks,traditional passive defense methods struggle to identify new threats in a timely and effective manner.Firstly,the basic principles and implementation mechanisms of Cowrie honeypots are introduced.Next,the system architecture design for active capture in computer room networks is elaborated,specifically discussing the core components of honeypot deployment,data collection,and analysis.Finally,the effectiveness and real-time performance of the system in capturing attack behaviors are validated based on an experimental test environment.
Key words: computer room network security; active capture; Cowrie; interactive honeypot