微軟研究院開發了一個雲端安全分析引擎Freta,可掃描Linux系統的記憶體快照,找出感測器和作業系統遭破壞的證據,自動對雲端Linux虛擬機器進行指紋辨識並稽核記憶體快照,以發現新型態的Rootkit和進階的惡意程式。現在Freta分析引擎以入口網站的形式,公開雛形給大眾使用。

Freta具備處理大規模虛擬機器的能力,能以低成本的方式,同時對超過1萬臺Azure虛擬機器,進行自動記憶體鑑識稽核,微軟提到,Freta使數位鑑識從原屬高價的顧問諮詢服務,轉變為內建在雲端平臺的自動化服務。

以快照為基礎的記憶體鑑識領域已經發展超過十年,但微軟提到,目前尚無可用於商業雲端,在無侵入式捕捉機制以及事先鑑識準備的情況下,對數千臺虛擬機器進行全記憶體稽核的功能,而Freta專案的目標則是要讓虛擬機器鑑識自動化與普及化。

虛擬機器鑑識普及化可以將雲端惡意軟體的開發成本,提高至理論的最高值,微軟表示,由於在資訊安全的領域,是以證據來驅動防禦方法,但這造成了倖存者偏誤現象,當攻擊者摸透安全偵測器模型,並且設計出避開觸發偵測器的方法時,系統便不會發出攻擊警報,而人們也會因為沒有攻擊報告,誤以為系統是安全的。另外,當攻擊者直接針對安全偵測器、安全代理和特權作業系統元件發動攻擊,就可能關閉攻擊警報系統,因此也不會留下任何攻擊的痕跡。

Freta專案設計的概念是以倖存者偏誤為核心,極大程度提高攻擊者逃避偵測器的成本,並且在技術上,盡可能讓攻擊者無法逃避偵測。微軟提到,事實上的確有辦法讓攻擊者無法觸碰安全偵測器,就像是零售商店將監視錄影機設置在搶匪觸碰不到的地方一樣,但是之所以沒有在雲端中應用,為的是要能夠向後相容,無法像是行動裝置經過重新設計,分離計算平面和安全平面。

在雲端,計算平面和安全平面分離的情況,主要出現在虛擬機器管理程式上,租戶工作負載能以虛擬機器管理程序屏障,和供應者工作負載分離,但微軟提到,現有研究證明,系統管理程式屏障可能不夠強健,攻擊者仍可穿透屏障並且規避安全偵測器,他們認為,要結束與惡意程式的軍備競賽,以漸進式的方法改變端點技術是不夠的,因為只要攻擊者和防禦者共用一個微基礎架構,無論防禦者以什麼方式防禦,攻擊者總是可以破解。

微軟提到,要對所有用戶提供即時鑑識服務是一件困難的事,挑戰包括生成攻擊者無法取用的鑑識成像(Forensic Imaging),由於不少現存的鑑識方法都需要執行像是複製KASLR金鑰等明確的指令,而這就足以讓惡意軟體捕捉到相關的事件,使惡意程式能抹除自己的足跡。

而Freta支援4,000多種Linux核心版本,可在沒有金鑰或是上下文的情況,對經安全機制擾亂的記憶體進行解碼。由於支援Linux核心較為困難,因此微軟先實作了Linux版本,Windows將會在後續更新支援。

Freta還必須要能以雲端規模執行,微軟設定分析引擎的能力,要能在短時間且低成本的情況下,最少可對10萬臺機器進行程式化稽核,也就是說,Freta的基礎架構設計採用批次處理的概念,而且Freta還需要能支援具有100 GB以上記憶體的高效能虛擬機器。

而考量到Freta可能本身成為攻擊目標,為了避免攻擊者利用記憶體漏洞來攻擊Freta,微軟以記憶體安全程式語言Rust,在不使用任何現有軟體的情況下,從頭打造整個專案,微軟提到,Freta是一個高效能的分析引擎,可以儲存任何大小的記憶體成像,並且內建記憶體安全性。

目前這個版本的Freta分析引擎,以整個Linux系統的揮發性記憶體快照作為輸入,並且能夠擷取系統物件列舉,Freta能夠自動辨識部分核心掛鈎(Kernel Hooking),可檢測新型態的Rootkit,而且Freta支援各類型的快照,包括使用Hyper-V檢查點生成的VMRS檔案,或是轉換VMWare快照產生CORE檔案等。當快照經過Freta分析之後,用戶可以使用REST和Python API取用報告資料。

Freta的第二個重要元件是Azure偵測器,可讓用戶在不中斷執行的同時,即時搬遷揮發性記憶體資料到離線分析環境,微軟提到,這個感測器與Freta分析引擎結合,可以對上萬虛擬機器進行低成本的記憶體鑑識稽核。


Advertisement

更多 iThome相關內容