淺談虛假日志干擾SIEM平臺安全監測機制
為確保網絡安全,減少攻擊者入侵的可能性,組織機構中部署的安全信息和事件管理系統(SIEM)需要對進出網絡的行為執行實時的日志收集、分析和預警處理,SIEM系統中會涉及到大量的日志收集設備。但也存在另外一種可能,攻擊者可以對SIEM系統中的日志收集設備形成虛假日志,實現干擾SIEM的安全行為監測目的。本文就來探討身處內網的攻擊者如何對日志收集設備發起虛假日志攻擊,文章僅為思路分享,不代表實戰觀點。
1. 理論思路
要對SIEM系統日志收集設備形成虛假日志,主要有兩步:
- 發現目標日志收集設備的日志格式
- 按格式生成相應的虛假日志
前提條件:身處目標網絡中的一臺設備。可以點擊Letsdefend.io的SIEM仿真實驗室進行練手。
(1) 發現目標日志收集設備的日志格式
如果目標日志收集設備使用的是擴展的日志格式(LEEF),而我們向其發送了通用的事件格式(CEF),那就會出現解析問題。這里我們可以用以下兩種方法判斷目標監控設備的日志格式:
(2) 應用程序識別
識別目標日志收集設備在網絡中監測的前端應用程序,然后對該應用程序的屬性和日志流進行分析;
網絡流量監測分析,如果網絡系統中的日志信息未經加密進行傳輸,一般都能發現其具體的日志格式。
(3) 生成虛假日志
根據上一階段的分析,構造虛假日志發送給目標日志收集設備。
2. 實例測試
用以下簡單的網絡系統為例,網絡架構中部署了一臺針對客戶端的日志收集設備,它是基于Splunk的日志系統,其收集的日志信息會傳遞給監測分析設備進行關聯分析,并給出威脅報警。
攻擊者潛入網絡,開始信息探測,按照上述步驟首先來識別日志收集設備的日志收集格式。這一步他應該會對日志收集設備執行端口掃描:
從掃描結果可以看出,日志收集設備系統中運行有Splunk服務,假設端口514和1234用于日志信息收集,之后,攻擊者通過網絡流量監聽,會發現端口1234用于TCP包的傳輸:
從實際的傳輸包中可以看到,整個網絡數據并未采取加密措施,因此可以從中發現具體的日志格式:
有了這種明文的日志格式,接下來就是構造日志的問題了。這里虛假日志的目的各有不同,例如可以發送大體積日志以堵塞日志收集功能,或是用虛假攻擊日志欺騙系統管理員(Analyst),也可即時發送大量日志消息延遲日志處理機制,等等。為了分散系統管理員的注意力,基于上述格式,攻擊者可以偽造出以下嘗試SQL注入的日志格式:
- 192.168.131.23 – – [19/Apr/2020:11:33:23 -0700] “GET /read.php?id=1%27%20UNION%20ALL%20SELECT%20LOAD_FILE(%27/etc/passwd%27) HTTP/1.1” 404 208 “-” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36”
之后,把類似大量的日志發往日志收集設備的1234端口:
管理員在日志收集設備中看到以下的記錄信息,攻擊者也成功實現了干擾目的。
預防措施
- 針對日志收集設備實施白名單通信機制;
- 監控即時日志流量,對異常的增加/減少日志發出警報;
- 對日志傳輸信息進行加密處理。