安全運營之攻擊溯源
前言
根據(jù)美國國防部安全事故處置流程,攻擊溯源作為安全事故中事后響應(yīng)的重要組成部分,一定程度上還原攻擊者的攻擊路徑與攻擊手法,從切入角度上看,安全告警事件,漏洞視角,網(wǎng)絡(luò)和主機層面的異常以及APT攻擊都可以幫助安全運營人員發(fā)現(xiàn)攻擊源頭,并且?guī)椭渫瓿伤菰垂ぷ?。在傳統(tǒng)的安全運營工作中,如果我們不知道黑客是怎么進(jìn)入到系統(tǒng)內(nèi)部,其實我們無法徹底根除安全隱患。從用戶角度也會常常碰到這種情況,特別是高層無法理解為啥安全事件層出不窮。那么加大對溯源能力的投入,可以緩解這種情況的出現(xiàn)。

溯源切入詳細(xì)分析
從安全運營的角度上切入,用戶最想要的是,通過安全系統(tǒng)的分析,能捕捉到整個攻擊鏈?zhǔn)录?。知道攻擊路徑和攻擊手段。攻擊階段一般定義為:攻擊入口、載荷投放、權(quán)限提升、逃逸檢測、權(quán)限未知、橫向移動、遠(yuǎn)程公職、數(shù)據(jù)泄露、痕跡清楚、影響破壞。
首先聊聊攻擊入口,ATT&CK其實也定義的非常明晰,針對服務(wù)器端攻擊,最常用的方式:
@1、T1190、公開漏洞攻擊&0day攻擊 (自定義掃描腳本,比如這次HW用的比較多的fastjson漏洞等)
@2、T1133、外部遠(yuǎn)程服務(wù)攻擊(暴力破解)
@3、T1078、合法賬號攻擊(弱口令/社工庫)
檢測手段:
@1、通過WAF感知到漏洞入侵,或者通過主機安全發(fā)現(xiàn)漏洞利用程序運行事件,發(fā)送告警事件到安全運營中心綜合分析。
@2、通過主機安全產(chǎn)品感知,暴力破解成功(SSH/RDP)、Redis執(zhí)行異常指令、Java應(yīng)用執(zhí)行異常指令、Postgres導(dǎo)出功能被誤用寫入可疑UDF庫文件、Mysql導(dǎo)出功能誤用寫入可疑文件、Redis入侵后修改Crontab、Linux可疑命令序列、訪問敏感文件,發(fā)送告警事件到安全運營中心綜合分析。
@3、異地登錄、異常IP、異常時間登陸、弱口令賬戶登錄,發(fā)送告警事件到安全運營中心綜合分析。
處置手段:
@1、當(dāng)安全運營中心通過綜合分析,發(fā)現(xiàn)主機層面存在相關(guān)的漏洞,并且進(jìn)程正在運行,并且有網(wǎng)路層數(shù)據(jù)已經(jīng)觸達(dá)到主機,可調(diào)用WAF阻斷該IP的訪問。
@2、主機層暴力破解阻斷,這個目前主機安全軟件都有。
@3、禁用賬號,還有一些攻擊切入點主要是通過入侵客戶端,然后進(jìn)入數(shù)據(jù)中心的曲線救國方法,也就是我們常說的APT攻擊。
T1189、水坑攻擊
T1093、附件釣魚攻擊、T1092鏈接釣魚攻擊、T1094、服務(wù)釣魚攻擊
T1095、供應(yīng)鏈攻擊
T1200、硬件添加攻擊
T1199、利用可靠關(guān)系
檢測手段:需要通過OA網(wǎng)絡(luò)中的終端安全產(chǎn)品來完成。需要同時把這部分告警日志接入到安全運營中心分析。
處置手段:隔離終端電腦
真實的海蓮花(APT32)攻擊事件,攻擊鏈分析:T1093(附件釣魚攻擊)- > T1037(安裝木馬) - > T1563(橫向移動) - >T1189(水坑攻擊) - > T1567(通過web服務(wù)泄漏數(shù)據(jù))
由于篇幅有限,先分析到這。其他攻擊技術(shù)都可以按照以上的方法分析。
產(chǎn)品解決方案
要想實現(xiàn)攻擊鏈分析展示,我們需要組成攻擊鏈的ATT&CK告警事件;要想得到ATT&CK告警事件就需要圖分析、時序分析、統(tǒng)計分析等多種計算形式組合;同時也需要安全運營人員的手工編寫規(guī)則的加持;要想自動或者人工的規(guī)則有更好的效果,我們需要提供有價值的基礎(chǔ)數(shù)據(jù)。那么整個產(chǎn)品解決方案可通過架構(gòu)圖展示:

1.數(shù)據(jù)采集層
主要是分兩個層面:在網(wǎng)絡(luò)層面需要獲取netflow流信息,主要是對外信息泄露監(jiān)控。DNS對外請求的信息主要是為了分析外聯(lián),http流量解析對比IDS規(guī)則、對比威脅情報;通過LB或者硬件解密卡處理https流量對比IDS規(guī)則,對比威脅情報。更重要的一點是需要和CMDB資產(chǎn)服務(wù)對接,找到這些網(wǎng)絡(luò)連接所對應(yīng)的主機。
在主機層,針對linux服務(wù)器,需要采集與主機進(jìn)程關(guān)聯(lián)的網(wǎng)絡(luò)連接、文件訪問、計劃任務(wù)、賬號、登陸流水、軟件信息等。這些數(shù)據(jù)都可以導(dǎo)入圖分析軟件中,分析出攻擊路徑,根據(jù)不同時間段的過濾會得出不同的結(jié)論。
針對windows服務(wù)器,我們可通過集成sysmon中采集指標(biāo)達(dá)到我們的目的,包括:主機進(jìn)程、與主機進(jìn)程關(guān)聯(lián)網(wǎng)絡(luò)連接、文件訪問、注冊表、命令行、DNS請求、WMI等。
2.規(guī)則處理層
主要是安全運營人員編寫ATT&CK攻擊規(guī)則,并且通過規(guī)則轉(zhuǎn)換器,轉(zhuǎn)換成上層分析引擎能識別的機器語言。
例如:T1168 - Local Job Scheduling
There are 2 ways to capture Crontab replace
1.bash_history : track the command "crontab" - you may need to look for the commands crontab index=linux sourcetype=bash_history bash_command="crontab *" | table host, user_name, bash_command
2. /var/log/cron : look for "crontab" & "REPLACE" in the cron logsindex=linux crontab replace
3. /var.log/crom - track CMD command cat /var/log/cron | grep CMD | cut -d " " -f 9 |sort | uniq -c | sort -rn will give you all the jobs which run in the environment with its number starting from high to low. You can look for a suspecious job/s which are not a part of a whitelisted jobs.
4. index=linux sourcetype=bash_history at
3.規(guī)則引擎層
這部分可以通過上一步安全運營人員編寫的規(guī)則,并且通過規(guī)則轉(zhuǎn)換器轉(zhuǎn)換,上層的全量日志分析引擎可快速的把人容易理解的規(guī)則轉(zhuǎn)換成可機讀的規(guī)則。
4.業(yè)務(wù)展示層
這部分主要有3個業(yè)務(wù)需求,ATT&CK攻擊告警事件展示,攻擊鏈展示,監(jiān)管溯源查詢。
運營效率提升
通過產(chǎn)品化攻擊溯源,安全運營人員投入比現(xiàn)有降低50%。