ATT&CK 在野數據分析
根據威脅防御中心的統計,在 2019 年 4 月至 2021 年 7 月一共在野觀測到 184 項技術,共計超過六百萬次。

按頻次分布,其中 TOP 15 的技術項占發現總技術項的 90%,且這些技術中的大多數都濫用了合法的系統工具。

技術項如下所示:
- 計劃任務(T1053)
- 命令/腳本解釋器(T1059)
- 劫持執行流(T1574)
- 代理(T1090)
- 偽裝(T1036)
- 代理執行(T1218)
- 創建/修改系統進程(T1543)
- 進程注入(T1055)
- 削弱防御(T1562)
- 混淆文件或信息(T1027)
- 遠程服務(T1021)
- 非應用層協議(T1095)
- WMI(T1047)
- 修改注冊表(T1112)
- 入侵工具轉送(T1105)
時間分布

T1574 從 2019 年幾乎沒有快速增長到 2020 年的第二大技術,實際上該技術項在 2020 年 3 月 12 日才添加進 ATT&CK 中。
共現技術
A 指向 B 代表在技術 A 出現的時候技術 B 往往會出現。

非應用層協議(T1095)與代理(T1090)是雙向連接的,攻擊者經常建立代理使用非應用層協議。
共現分析也是一個 ATT&CK 的新領域,威脅防御中心正在開發名為 Attack Flow 的項目,以一種可共享的數據格式來表示攻擊流。
戰術階段
TOP 15 的技術項實際上只涉及 14 個戰術階段中的 6 個,防御逃避(TA0005)是發現最多的戰術階段。

TOP 50 的技術項涉及 14 個戰術階段中的 11 個,僅偵察(TA0043)、資源開發(TA0042)和數據外帶(TA0010)戰術階段不存在,這是由于數據采集的局限。

子技術
單獨看子技術的情況下,TOP 15 如下所示:

如果考慮子技術,有 26 個子技術占到 90%。下面選取部分技術項進一步查看子技術項:
計劃任務(T1053)
計劃任務中針對 Windows 系統的計劃任務(T1053.005)和針對 Linux 與 macOS 系統的計劃任務(T1053.003)占絕大多數,前者甚至占比達 85%。

命令/腳本解釋器(T1059)
PowerShell(T1059.001)占比超過三分之一,而 Windows Command Shell 和 Unix Shell 合并占比超過四分之一。

劫持執行流(T1574)
該技術項被發現的幾乎所有都是 DLL 搜索順序劫持(T1574.001),只有 12 個是其他子技術項。
偽裝(T1036)
偽裝合法名稱/位置(T1036.005)是最常見的,其次是重命名系統實用程序(T1036.003)。

代理執行(T1218)
最常見的是 mshta(T1218.005)與 rundll32(T1218.011),其次是 regsvr32(T1218.010)與 cmstp(T1218.003)。

進程注入(T1055)
據大多數都是 T1055,其次就是占比超過 10% 的 Process Hollowing(T1055.012)。

遠程服務(T1021)
發現的絕大多數都屬于 SMB/Windows Admin Shares(T1021.002),且 Windows Remote Management(T1021.006)與 Remote Services(T1021)也有一定的占比。

此前認為,攻擊者會擁有有效賬戶(T1078)與該技術項聯動,但是數據中并沒有這種關聯。
總結
在公開的分析報告中,攻擊者使用的新技術被廣泛報道,而哪些被反復使用的基礎技術則鮮有人提及。這也許會帶來認知的偏差,對組織來說必須先通過扎實的基礎防御把高頻常見的攻擊技術項防住再考慮這些花里胡哨的東西。而對安全公司來說,必須在基礎之上做得更好,才能應對攻擊者不斷翻新的花樣。報告中對這些技術項都提供了很多檢測方法與預防措施,值得有需要的同學擴展閱讀。
數據的分析不可避免地會受限于數據的視野,比如合作方的采集位置、檢測偏好等都會影響數據分析的結果。數據越多,范圍越廣,場景越復雜實際上就越貼近真實情況,當然分析的難度和復雜度也相應提高。