獵影計劃:從密流中捕獲 Cobalt Strike 的隱秘身影
在由 SSL/TLS 編織的現(xiàn)代網(wǎng)絡(luò)“靜默區(qū)”中,黑客的指令如同加密電臺中的摩爾斯電碼般悄然傳輸。傳統(tǒng)安全設(shè)備如同戴著眼罩的衛(wèi)兵,只能聽見電流的白噪音。直到我們用模型為攻擊行為刻下無法偽造的“行為指紋”,賦予了機器“聽見加密心跳”的能力,Cobalt Strike 這個深度潛伏的“隱身刺客”才徹底暴露在安全防護的視野之下,再無藏身之所。
一、故事開篇:一次看似正常的“心跳通信”
在某大型企業(yè)的SOC中心,安全工程師注意到一臺員工終端設(shè)備會訪問到互聯(lián)網(wǎng)上某個看似正常的IP,流量大小和頻次等亦無明顯特征,看似毫無威脅。然而,正是這看似正常的流量會話,觸發(fā)了我們的檢測模型告警:“高疑似Cobalt Strike beacon流量”。幾秒鐘內(nèi),系統(tǒng)自動抓取完整會話,推送IOC,最終確認該終端已被惡意植入,被用于紅隊測試中的隱蔽上線。而傳統(tǒng)防火墻、WAF與IPS完全未檢測出相關(guān)問題。
“就像在暴風(fēng)雨中尋找特定的一片雪花” —— 受害企業(yè)CSO的嘆息,折射出行業(yè)痛點。
二、問題背景:加密流量下的“隱形刀鋒”
Cobalt Strike 已成為主流APT組織的常用工具,通過以下方式實現(xiàn)高度隱匿:
- 全程加密: HTTPS傳輸,內(nèi)容層不可見
- 混淆變種泛濫: 破解版本廣泛傳播,變異嚴重,HTTPS證書可以自定義,傳統(tǒng)特征庫無法準(zhǔn)確匹配
- Beacon機制: 通信周期隨機且低頻,難以捕獲準(zhǔn)確通信特征
- Malleable C2配置: 定制協(xié)議/HTTP字段,模擬正常Web訪問
在加密世界里,內(nèi)容失語,唯有行為在說話,檢測的未來,不再是內(nèi)容,而是行為。
三、技術(shù)破壁:三層解碼引擎穿透加密鎧甲
我們構(gòu)建了一套以多模態(tài)流量表征+模態(tài)融合與平衡+集成陽性清洗為核心的多模態(tài)檢測框架:
3.1 第一階段:多模態(tài)流量表征模型預(yù)訓(xùn)練
類似于多模態(tài)大模型結(jié)合文本、圖像、音頻等多種模態(tài)輸入以強化跨領(lǐng)域任務(wù)能力的思路,融合統(tǒng)計流量特征、原始流量序列與原始數(shù)據(jù)包字節(jié)等多種流量表征/模態(tài)進行分析,有助于幫助智能模型自動挖掘加密流量及其變種的行為模式,實現(xiàn)不同任務(wù)場景下對加密流量的準(zhǔn)確分類。
然而,統(tǒng)計流量特征、原始流量序列與原始數(shù)據(jù)包字節(jié)等現(xiàn)有流量表征形式差異大,需要分別建立針對性的模態(tài)表征模型與預(yù)訓(xùn)練任務(wù),如:
Flags 輸入模態(tài)
- 輸入數(shù)據(jù):流量會話的狀態(tài)與類型特征,例如
特征字段 | 流量含義 |
session_type | 會話類型,如TCP單邊會話、無SYN包TCP會話 |
session_flags | 會話狀態(tài),如CLIENT_SEND_FIN、SERVER_SEND_RST |
app_status | 會話結(jié)束方式,如FIN、TIMEOUT |
protocol | 協(xié)議號 |
dir_flag | 會話方向和上下行是否一致(通過目的ip列表算出) |
- 模型架構(gòu)及預(yù)訓(xùn)練任務(wù):Embedding Layer 將離散數(shù)值映射為 embedding 向量 + AutoEncoder 重構(gòu)預(yù)訓(xùn)練
Statistics 輸入模態(tài)
- 輸入數(shù)據(jù):流量會話中數(shù)據(jù)包時序、數(shù)量等信息相關(guān)的統(tǒng)計特征,例如
特征字段 | 流量含義 |
up_rtt_num | rtt上行數(shù)量 |
ttl_down | 次包的Time To Live |
syn_synack_delay | TCP建鏈響應(yīng)時延(微秒),即從syn到syn_ack消息的時延(icmp表示icmp up status) |
client_flow_bytes | 上行流量字節(jié)數(shù) |
recv_p_pkts | 會話非控制報文數(shù) |
- 子模態(tài)劃分:在預(yù)訓(xùn)練數(shù)據(jù)集中對不同統(tǒng)計特征的數(shù)值分布進行層次聚類,按照分布相似性分成若干組子模態(tài)
- 模型架構(gòu)及預(yù)訓(xùn)練任務(wù):Mean-Std 特征歸一化 + AutoEncoder 重構(gòu)預(yù)訓(xùn)練
Sequences 輸入模態(tài)
- 輸入數(shù)據(jù):流量中數(shù)據(jù)包的長度序列、到達時間序列(前 20 個包)
- 模型架構(gòu)及預(yù)訓(xùn)練任務(wù):BERT-based 模型 + Same Original-Direction-Flow
- Sequences 輸入模態(tài)
Bytes 輸入模態(tài)
- 輸入數(shù)據(jù):流量中數(shù)據(jù)包的原始字節(jié)序列(前 5 個包,每個包取 ethernet header 之后的前 64 個 bytes)
- 模型架構(gòu)及預(yù)訓(xùn)練任務(wù):BERT-based 模型 + Masked Language Modeling
3.2 第二階段:模態(tài)融合與平衡微調(diào)算法
在綜合多模態(tài)信息對基座模型進行微調(diào)的過程中,由于不同模態(tài)所含信息有效性與學(xué)習(xí)速度不同,基座模型很容易過度依賴某些模態(tài)進行流量分析而忽略對其余模態(tài)的學(xué)習(xí)。因此,需要在模態(tài)融合機制中對不同模態(tài)信息的學(xué)習(xí)程度進行量化感知,并設(shè)計微調(diào)任務(wù)平衡各模態(tài)信息的學(xué)習(xí)速度:
- Step 1(模態(tài)融合):使用全部輸入模態(tài),經(jīng)過 Self-Attention 模態(tài)融合后輸入 BERT-based 模型,進行 m 個 Epoch 的準(zhǔn)確性微調(diào)訓(xùn)練
- Step 2(隨機模態(tài)挑選): 平等初始化各個模態(tài)對分類結(jié)果的影響權(quán)重,并按權(quán)重隨機挑選一個模態(tài) x
- Step 3(模態(tài)影響評估): 針對所選擇模態(tài) x 進行平衡性微調(diào),首先將模態(tài) x 移除,觀察模型分類準(zhǔn)確率相較于使用所有模態(tài)時的損失程度
- Step 4(模態(tài)平衡): 若移除模態(tài) x 后準(zhǔn)確率損失超過閾值(5%),說明對模態(tài) x 依賴較強,為防止過度依賴、加強對其他模態(tài)的使用,在去除模態(tài) x 的情況下微調(diào)訓(xùn)練 n 個 Epoch
若移除模態(tài) x 后準(zhǔn)確率損失低于閾值(5%),說明對模態(tài) x 依賴較差,為加強對模態(tài) x 的使用,在只使用模態(tài) x 的情況下訓(xùn)練 n 個 Epoch
根據(jù) n 個 Epoch 后準(zhǔn)確率的提升程度重置模態(tài) x 的影響權(quán)重,使對平衡性改善明顯的模態(tài)更頻繁的被選取,缺乏有效信息的模態(tài)不會頻繁影響訓(xùn)練
3.3 第三階段:降低誤告警的陽性清洗
現(xiàn)網(wǎng)中流量規(guī)模巨大且正常流量與攻擊流量比例懸殊,基于機器學(xué)習(xí)的流量檢測模型需要在海量的正常流量數(shù)據(jù)中盡可能避免誤告警,為單一模型的訓(xùn)練帶來了巨大挑戰(zhàn)。
我們將降低誤告警這一困難問題拆解為兩個子問題加以有效解決:
- 首先,在多模態(tài)流量檢測模型的訓(xùn)練過程當(dāng)中,通過假陽性與假陰性感知過濾掉模糊標(biāo)注的攻擊樣本,降低訓(xùn)練數(shù)據(jù)中的噪聲為模型訓(xùn)練所帶來的干擾
- 其次,在多模態(tài)流量檢測模型產(chǎn)生告警樣本后,集成多個輕量化的決策樹模型對其中的誤告警進行清洗,若存在任一假陽性清洗模型將告警樣本判定為假陽性,則召回該告警樣本為正常流量
3.4 實戰(zhàn)鋒刃:在攻防演練中驗證的硬指標(biāo)
指標(biāo) | 定義 | 數(shù)值 |
日均告警數(shù)目 | 正式轉(zhuǎn)安全事件運營告警總數(shù) | 2.14 |
精確率(precision) | 真實告警數(shù) / 每周正式轉(zhuǎn)安全事件運營告警總數(shù) | 90% |
演練攻擊召回率 (recall) | 攻防演練告警數(shù) / 攻防演練安全事件總數(shù) | 100% |
檢測吞吐性能 | 單個 CPU 核平均每秒能檢測的會話數(shù)量 | 單核 3600 session/s |
四、總結(jié):未來安全,必須“預(yù)測型防御”
Cobalt Strike只是一個縮影,更多APT攻擊將走向“無簽名、加密、碎片化”?;鹕揭嬖瓢踩珗F隊,正在將這套檢測能力進一步拓展至冰蝎、哥斯拉、Sliver以及Mythic等多種C2工具及平臺。
?? 我們相信,真正的安全不僅僅是堵住所有風(fēng)險,而且要精準(zhǔn)地識別敵人藏身之地。
五、關(guān)于火山引擎網(wǎng)絡(luò)安全團隊
火山引擎網(wǎng)絡(luò)安全團隊匯聚業(yè)界資深安全專家,依托在云防火墻、高級網(wǎng)絡(luò)威脅檢測系統(tǒng)、WAF以及Anti-DDoS 防護等核心安全產(chǎn)品領(lǐng)域的多年技術(shù)積淀與實戰(zhàn)經(jīng)驗,構(gòu)建起多層級多場景流量防護體系。同時在大模型時代下,網(wǎng)絡(luò)安全團隊推出大模型應(yīng)用防火墻,為大模型推理提供AII in one 安全防護能力。網(wǎng)絡(luò)安全團隊不僅為抖音、今日頭條、西瓜視頻等業(yè)務(wù)提供全鏈路安全護航,同時依托火山引擎為客戶打造專業(yè)化、高可靠的安全防護方案。