持續風險監測體系實踐:基于ATT&CK的APT高頻技術分析
ATT&CK作為一套反映網絡安全攻擊的知識模型,自2013年提出以來越來越受到安全行業的關注,已逐漸成為網絡攻擊事件分析的新標準,在眾多APT事件分析中得到廣泛應用。
針對不同APT組織的攻擊技術,必達實驗室安全技術專家黃慧敏依托于基于協同的持續性風險監測體系,追蹤APT組織活動軌跡,以ATT&CK為載體,分析了部分活躍且具有代表性的APT組織攻擊策略的整體情況,見《持續風險監測體系實踐——基于ATT&CK的APT攻擊策略分析》,本文進一步探討了高頻技術,梳理形成了APT組織常用技術清單。
為了更好的防范APT攻擊,作為防守的一方,尤其是一些敏感的受APT青睞行業的防守方,需要加強對這些APT常用的攻擊技術的主動防御,優化檢測、阻斷策略,降低APT攻擊的安全風險,從而保護資產免受損失。另一方面,這些高頻技術也能在紅藍對抗中,為攻擊方提供技術參考,以模擬APT攻擊,檢測當前防御狀況。
一、高頻技術檢測與優化
在《持續風險監測體系實踐——基于ATT&CK的APT攻擊策略分析》我們根據每個策略下APT的技術覆蓋率以及其真實高頻數與預期高頻數之間的關系,劃分了四個象限。本文依照每個象限的現實意義與特點,我們根據象限的曝光程度繪制了圖1-1四象限冰山圖,活躍者象限為曝光度最高的象限,而投機者象限位于水面,隱藏著、潛在者暴露較少,需要深挖。因此,我們建議從冰山上往下優化防御體系。

在“活躍者”象限中,需要加強防范網絡釣魚攻擊(T1566),子技術包括“魚叉附件攻擊”、“魚叉鏈接攻擊”,針對魚叉攻擊中的惡意魚叉附件、魚叉鏈接,我們建議通過部署威脅監測設備,結合威脅情報,通過流量層的沙箱進行檢測告警,并聯合終端EDR類防護系統,對附件進行查殺阻斷。對于“T1078有效帳號利用”,“T1133外部遠程服務利用”技術的檢測,可通過威脅監測系統中的用戶行為畫像、流量層特征,聯動終端登錄事件、服務日志等對其進行持續性監測,在發現異常登錄、異常遠程服務連接時及時告警。
在“投機者”象限中,需要注意隱蔽性較高的兩個技術:“T1071應用層協議利用”和“T1021遠程服務”。對于此類技術的檢測,我們建議部署全流量威脅監測設備,其流量層基于特征與算法的檢測有其獨到的優勢,尤其是檢測識別DNS、ICMP等隧道,以及SMB協議漏洞利用等攻擊。
在“隱藏者”象限中,其中尤其關注的技術有“T1059命令與腳本解釋器利用”、“T1003操作系統憑證轉儲”、“T1505服務器軟件組件利用”,其中T1059中需要重點關注的子技有“PowerShell利用”、“Unix Shell利用”、“Windows CMD利用”,T1505中需要重點關注的子技術有“WebShell利用”。對于上述技術的檢測,我們建議以終端EDR檢測為主,以流量層威脅監測為輔的思路進行聯動檢測,該部分主機層的安全設備更具有優勢,而流量層監測設備則能夠結合主機告警進行追蹤溯源,在流量層進行宏觀的把控,以供云端專家對其發展態勢發展作出預判,并及時下發阻斷策略。
在“潛在者”象限中,“T1070主機痕跡清除”值得重點關注。“主機痕跡清除”可作為指標性技術告警,痕跡清理通常是作為入侵后的收尾工作,即避免攻擊行為被發現。對于該項技術,我們建議通過在終端上部署EDR系統,監控系統日志、歷史記錄等相關位置的清空、刪除等敏感操作,以檢測“主機痕跡清除”。
基于篇幅限制,我們僅對高頻技術中的部分的技術給出了檢測建議,完整的高頻技術清單請見附表一。正如四象限冰山圖那樣,觀察到的總是冰山一角,往往容易忽略水下的深層攻擊,如何讓冰山慢慢浮出水面,則是防守方不斷努力和攻克的方向。顯然在網絡攻擊形勢日趨嚴峻的今天,對于APT的防御與檢測已經無法依靠傳統的設備堆疊方案來滿足需求了,這時需要構建全方位的監測體系,基于此我們提出了基于協同的持續性風險監測體系,該體系從主機層、流量層、應用層三個維度出發,結合威脅情報應用、沙箱動態行為分析、入侵特征與行為分析、大數據異常行為分析、多事件關聯分析等一系列手段,對威脅進行全方位、持續性監測,并將威脅匯總至后端的安全“智大腦”,對威脅進行全面的分析和計算。無論是主機層、流量層,還是應用層,緊密聯動,環環相扣,一旦某一環節產生了告警,就能夠結合協同監測中心和威脅情報中心進行分析、溯源、確認,而后聯動相應的防護設備進行處置、阻斷,從而有效實現了威脅的發現、響應、處置的閉環。
二、高頻技術攻擊案例探討
我們從四個象限中分別選取一個具有代表性的技術進行探討,根據技術的使用熱度、流行趨勢,我們選取了“T1189水坑攻擊”、“T1071應用層協議利用”、“T1059命令與腳本解釋器利用”三個技術。其中T1059包含子技術較多,這里以其中的“T1059.001 PowerShell利用”為例進行探討。而“潛在者”象限并無合適的技術,這里不進行探討。“水坑攻擊”是近年來較為流行的攻擊方式,大有增長之勢,“水坑攻擊”也一直以“淪陷第三方站點”,迂回攻擊路線的特點,游離于傳統防御監測體系之外,一直是監測的難點。而“應用層協議利用”、“PowerShell利用”則一直活躍的出現在我們持續性風險監測的事件之中,二者都有規避檢測的效果,前者在流量層規避檢測,后者在主機層規避檢測,對這兩個的技術的檢測也充滿了挑戰性。基于上述技術的挑戰性與代表性,我們結合了自身持續性風險監測業務開展過程中遇到的真實案例對上述三個技術進行展開討論,以便于更好的應對此類攻擊。
1、水坑攻擊
即通過攻陷受害者日常瀏覽的網站,一旦受害者瀏覽該網站,就會成為攻擊的目標。水坑攻擊已經成為APT攻擊的一種常用手段,相比于魚叉鏈接、附件攻擊,水坑攻擊根據隱蔽性,受害者往往警惕性較低,難以覺察網站異常。且攻擊的網站往往屬于第三方網站,并不在防御體系內,大大提升了檢測的難度。
我們在監測過程中也發現“水坑式攻擊”有增長的趨勢,在對某地方人民政府的持續性風險監測活動中,某日我們發現一臺PC終端從當地地方晚報下載了惡意文件,行為可疑,之前因業務需要該PC終端經常訪問當地地方晚報官網,經過進一步確認我們確定該地方晚報被黑客攻陷并掛馬,繼而受害者訪問后,在辦公終端上下載并執行惡意文件。對于該起事件,我們的威脅監測系統通過流量層對請求頁面代碼的審計,及時發現了問題,并產生了告警,且終端EDR也第一時間進行了阻斷,并上報告警事件至SOC平臺,通過主機層與流量層的協同確認,證據充足,攻擊路徑明確,于是我們及時以事件專報形式通告了用戶,避免其他終端再訪問該掛馬網站,進而有效阻斷了風險的傳播,避免了損失。

通常我們檢測水坑攻擊有兩種方式,第一種就是上文的流量層審計,但不適用于tls的加密流量。第二種是將業務網站進行周期性的監測,即主動發現水坑攻擊,并配合黑白網站名單的攔截。以上兩種方式結合,能夠有效的發現及避免“水坑式攻擊”。
2、應用層協議利用
攻擊者通過使用常見的標準化應用層協議進行通信,通過融入正常流量以減少被檢測到的可能。常見的應用場景是攻擊者利用標準應用層協議傳輸C2命令與命令執行結果。常被利用的標準協議包括HTTP、HTTPS、SMTP、POP3、DNS、FTP、SMB等。對于網絡內部的連接,如代理或樞紐節點與其他節點之間,通常使用的協議是RPC、SSH、RDP。
從檢測角度而言,相比使用非標準協議,使用標準協議更具迷惑性,例如利用HTTPS建立的隧道,本身已經加密,很難從內容上辨別是否惡意。當攻擊進入了C2部分時,意味著目標主機基本已經淪陷,攻擊者成功的躲過了層層檢測,那么對于已經運行的C2 agent的通訊流量的識別就至關重要了。
以下是某地方政府機關中發現的DNS協議隧道,期間其中一臺內網主機頻繁向DNS服務器請求ha*.monster域名的MX、CNAME、TXT、A記錄,且請求的子域名高度可疑。基于該條線索,我們鎖定受害終端,并結合終端EDR可疑行為相關日志,最終鎖定C2客戶端,經過逆向分析,確定該C2客戶端通過DNS隧道加密外發數據的行為。雖然C2客戶端進行免殺處理,但最終因為DNS的異常流量特征暴露了自己。此案例較為極端的是,下載C2客戶端的時候未觸發流量告警事件、威脅情報事件、病毒查殺事件,而是在數據滲出與命令控制環節產生了DNS隧道的異常流量告警事件,由此可見對于“應用層協議利用”技術的檢測的重要性,最終該起事件,我們啟動了應急響應流程得以圓滿解決。

對于上述利用標準協議傳輸數據、進行C2命令控制的流量,可通過結合每種協議數據包的長度、大小、通訊內容等特征,并配合威脅情報、機器學習算法綜合判斷異常,最后通過人工研判降低誤報,可以在很大程度上提升發現運用該技術進行攻擊的事件精度。
3、PowerShell利用
PowerShell是Windows操作系統中自帶的功能強大的交互式命令行界面和腳本環境。攻擊者可以使用PowerShell執行許多操作,包括信息探測和執行代碼。
利用PowerShell的攻擊已經非常成熟,成熟的工具如:Empire、PowerSploit、PSAttack。
仍然以我們自身監測事件為例,某地方重點3甲醫院感染BuleHero病毒事件,攻擊者利用Apache Struts2遠程代碼執行漏洞(CVE-2017-5638),進行遠程命令執行,通過cmd下載PowerShell腳本,最終釋放遠控木馬到C:\Windows\SysWOW64\rmnlik.exe目錄下,上線連接C2服務器地址。在這里PowerShell是一個下載器,僅為中間的一環(其他環節也已經暴露),為了規避檢測,進行代碼混淆,下圖為流量層沙箱對PowerShell惡意腳本的檢測,基本上確定了其腳本的行為。

對于PowerShell的檢測難點在于PowerShell本身為系統正常功能之一,存在誤報的問題。因此檢測除了常規的靜態分析引擎,對于函數、特征的分析外,還應該配備具有腳本分析能力的沙箱,提取行為特征、流量特征等,并進行威脅情報的匹配,多方結合從而降低誤報率。此外還能通過機器學習建立檢測模型,輔助查殺。
三、總結
本文通過對典型APT組織使用的技術進行ATT&CK映射分析,并對其進行象限劃分,明確了不同象限的應對策略,最終得出需要高度關注的高頻技術,并以其中3個具有代表性技術為例,結合基于協同的持續性風險監測業務中碰到的真實案例,對其有效檢測方法進行了探討。通過總結的APT常用的高頻技術,優化檢測規則,并逐步擴張低頻技術,從而更加從容的應對APT的攻擊。可以說,ATT&CK為防御檢測指明了方向,不再盲目的去防御。也正是得益于這一點,我們依托于持續性風險的監測經驗,結合ATT&CK的技術框架,最終總結出了企業應該高度重視的38項高頻技術,以及對應的27項子技術,以為企業進行防御體系建設提供參考(具體技術請見附表一)。
附表一、重點關注的38項高頻技術
