
摘要:隨著網絡攻擊日益頻發、隱蔽和復雜,傳統的被動防御手段難以及時、有效地識別新型威脅。文章介紹了Cowrie蜜罐的基本原理和實現機制,闡述了機房網絡主動誘捕的系統架構設計,具體論述了蜜罐部署、數據收集和分析等核心部分,最后基于實驗測試環境驗證了該系統捕獲攻擊行為的有效性。
關鍵詞:機房網絡安全;主動誘捕;Cowrie;交互式蜜罐
中圖分類號::TN915.08" ""文獻標志碼:A
作者簡介:趙仲力(1992— ),男,工程師,本科;研究方向:網絡安全。
0" 引言
近年來,隨著互聯網技術的飛速發展和廣泛應用,網絡安全問題日益凸顯。網絡攻擊事件頻發,呈現出智能化、隱蔽化和多樣化的特點,給個人隱私、企業機密和國家安全帶來嚴峻挑戰。根據Cloudflare在2024年1月發布的《2023年第四季度DDoS威脅趨勢報告》,2023年第四季度的網絡層DDoS攻擊數量同比增長了175%,環比增長了25%,其中針對IDC(Internet Data Center)機房的攻擊尤為突出。Cowrie是一款優秀的交互式SSH和Telnet蜜罐系統,模擬了多種真實環境,被廣泛應用于SSH口令猜解、僵尸網絡分析等場景。基于Cowrie蜜罐系統,本文提出了一種面向IDC機房網絡的主動誘捕技術。
1" Cowrie蜜罐系統工作原理
Cowrie是一款基于Python開發的高交互型蜜罐系統,工作內容包括攻擊誘捕、行為記錄和數據分析。Cowrie首先對外暴露一個SSH或Telnet服務,如默認的弱口令root/123456等,吸引攻擊者嘗試暴力破解[1]。一旦攻擊者成功登錄,就會進入Cowrie提供的虛擬shell環境。Cowrie會詳細記錄攻擊者在虛擬環境中的所有操作,包括執行的命令、命令的參數和結果、登錄的IP和時間、上傳和下載的文件,管理員可以通過日志分析攻擊者的行為模式、使用工具與攻擊目的。
2" 機房網絡主動誘捕技術
主動誘捕(Active Deception)的核心思想是主動設置誘餌,引誘攻擊者對虛假目標發起攻擊,是一種以情報為驅動的智能安全防御思路。蜜罐產生的交互式數據包含了豐富的威脅情報,通過分析攻擊者的行為、手法、工具等,可以洞察攻擊者的真實意圖和能力,為后續的威脅狩獵、態勢感知提供高價值線索,實現情報的持續反哺和防御策略的動態調優。
3" 基于Cowrie蜜罐系統的主動誘捕技術設計
3.1" 部署思路
本文研究提出的蜜罐系統整體基于一種分層架構設計,該架構由數據采集層、數據處理層、數據存儲層、數據分析層和數據可視化層組成,如圖1所示。在數據采集層,分別在機房網絡的接入層、匯聚層和核心層部署一組高交互型Cowrie蜜罐。利用Kafka構建數據總線,接收來自各節點的數據流,過濾噪聲數據,進行字段提取、格式轉換、時間同步等處理,然后通過Kafka分發給下游的存儲和分析模塊,在分析完成后為管理員提供可視化數據總覽。
3.2" 核心模塊的功能實現
3.2.1" 蜜罐模塊
(1)蜜罐節點部署。
接入層部署一組SSH和Telnet蜜罐,模擬常見的Linux服務器,在蜜罐上開放常見的服務端口(如22、23、80、443等),并設置較弱的密碼口令,誘使攻擊者嘗試暴力破解或者口令猜解。匯聚層和核心層部署一組SSH、Telnet、SFTP、RDP等蜜罐,模擬企業內網中的JumpServer跳板機、代碼倉庫服務器、OA辦公服務器、監控服務器等關鍵資產,用于捕獲來自內網的橫向滲透攻擊,引誘攻擊者使用弱口令字典和社工手段滲透。接入層Web服務器蜜罐中部署了常見的Web漏洞;核心層的代碼倉庫蜜罐中部署了Git源碼泄露、SVN未授權訪問等漏洞。
(2)交互環境模擬。
提供仿真的交互式終端環境,當攻擊者使用SSH/Telnet協議登錄蜜罐后,會看到一個與真實Linux系統幾乎一致的Shell界面,可以執行常見的操作系統命令ls、ps、cat、wget等。蜜罐支持與攻擊者多輪交互,根據攻擊者的輸入,動態生成相應的命令行輸出。
def buildProtocol(self, addr):
# 創建SSH連接協議
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
在后臺,Cowrie蜜罐基于Python的Twisted框架,設計一套虛擬文件系統,預設“誘餌”文件(/etc/passwd、/var/log/messages等),誘使攻擊者駐留更長時間[2]。當攻擊者下載并執行惡意腳本時,后臺記錄腳本內容,同時返回預設的命令執行結果。
(3)攻擊行為捕獲。
蜜罐不僅記錄攻擊者的登錄賬號、密碼、來源IP等基本信息,還實時記錄攻擊者輸入的每一條命令及其對應的執行結果。針對網絡流量,蜜罐采用內置的數據包嗅探和解析引擎捕獲攻擊者與蜜罐之間的所有流量,除了原始的pcap包,還解析關鍵的流量元數據,如HTTP請求/響應頭、FTP命令/文件傳輸等。當攻擊者通過SFTP、SCP、HTTP POST等方式向蜜罐上傳文件時,蜜罐會自動將其重定向到指定目錄,并提取文件的數字指紋(如MD5、SHA256等),與已知惡意代碼庫比對,識別其惡意類型。
3.2.2" 數據采集與分析
(1)蜜罐數據采集。
模塊采用基于Agent的數據采集框架。在每個蜜罐節點上部署一個輕量級的采集Agent,通過安全通道發送到中央數據處理節點[3]。采集Agent主要獲取網絡流量數據、文件操作數據、命令執行數據,將各類數據統一轉換為JSON格式,并通過Kafka消息隊列實時推送到數據處理節點。
(2)實時數據流處理與威脅檢測。
數據處理節點采用Spark Streaming框架,對Kafka中的采集數據進行實時流式處理,將異構數據轉換為結構化的特征向量,基于特征向量構建多種檢測模型。數據處理流程基于DStream模型,通過函數式API連接和調度各個處理階段。
# 數據輸入
packet_stream = KafkaUtils.createDirect Stream(...)
log_stream = KafkaUtils.createDirectStream(...)
# 數據解析
parsed_packet_stream = packet_stream.map(parse_packet)
parsed_log_stream = log_stream.map(parse_log)
# 數據聚合
aggregated_stream = parsed_packet_stream.union(parsed_log_stream)
# 特征提取
feature_stream = aggregated_stream.map(extract_feature)
# 攻擊檢測
attack_stream = feature_stream.filter(detect_attack)
# 更新威脅情報庫
attack_stream.foreachRDD(lambda rdd: rdd.foreach(update_threat_db))
4" 實驗結果與分析
4.1" 環境搭建
本文參考某企業真實的機房網絡拓撲,研究搭建了一個涵蓋核心交換區、辦公接入區、Web服務區、數據庫區等典型分區的實驗環境。整個環境由10臺物理服務器、5臺交換機、2臺防火墻、1臺Cowrie蜜罐管理平臺組成。
4.2" 實驗數據結果與主動測試分析
實驗數據收集歷時1個月。在此期間,Cowrie蜜罐節點共計上線運行705 h,模擬開放了22號(SSH)、23號(Telnet)、3389號(RDP)等端口,對外暴露了多種常見應用層協議漏洞(如Openssh、Tomcat、Spring等)[4]。經過1個月的運行,各Cowrie蜜罐節點共捕獲到來自互聯網和內網的惡意流量1350672次,日志數據量126 GB。其中,Web服務區的蜜罐節點捕獲的惡意流量最多,為753291次,占比55.76%;其次是辦公接入區,捕獲流量374108次,占比27.69%;數據庫區排名第三,為223273次,占比16.55%。實驗期間,Cowrie管理平臺共收到安全事件告警28937次。人工復核了所有告警,去除重復項后,最終確認獨立攻擊事件9372起,平均每小時發生13起攻擊事件。
為進一步驗證主動誘捕系統捕獲攻擊行為的有效性,在實驗環境中人工構造了一系列典型的滲透攻擊場景,測試包括:
(1)暴力破解。在攻擊者主機上使用Hydra工具對蜜罐的SSH服務發起密碼猜解攻擊。結果顯示,當字典長度為1000時,系統平均3 s內即可捕獲該攻擊行為;當字典長度增大到100000時,捕獲時間也不超過1 min。
(2)SQL注入。在攻擊者主機上使用sqlmap工具對蜜罐的Web應用發起SQL注入攻擊。結果顯示,系統能夠捕獲全部的注入嘗試,識別出使用的注入方法(布爾盲注、時間盲注、報錯注入、聯合查詢注入等),并成功地提取出數據庫banner、表名、列名等敏感信息。
(3)Webshell上傳。在攻擊者主機上編寫PHP Webshell,通過菜刀等工具上傳到蜜罐Web目錄。結果顯示,系統能夠實時檢測出Webshell上傳行為,記錄攻擊者執行的命令,并自動隔離Webshell文件。
5" 結語
主動誘捕是從攻擊者的視角出發,利用蜜罐模擬真實系統,誘使攻擊者對虛假目標發起攻擊,從而主動發現攻擊企圖,獲取攻擊情報。Cowrie蜜罐系統專為交互式登錄攻擊而設計,能夠全面模擬Shell環境,捕獲攻擊者執行的命令、上傳的文件等,非常適合機房網絡這種高交互環境的安全監測需求,對于維護關鍵信息基礎設施的安全穩定運行具有重要的作用。
參考文獻
[1]秦玉杰.基于蜜罐的內網威脅感知技術研究[D].鄭州:鄭州大學,2018.
[2]康紅蓮.基于蜜罐的欺騙防御系統的設計與實現[D].北京:北京郵電大學,2020.
[3]毛偉杰.基于蜜罐的內網威脅捕獲系統的研究與實現[D].鎮江:江蘇科技大學,2021.
[4]張志安,周婧瑩,黎宇,等.基于蜜罐誘導的主動威脅狩獵防御方法[J].網絡安全技術與應用,2024(1):1-2.
(編輯" 沈" 強)
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