導(dǎo)語:R2D2數(shù)據(jù)保護(hù)技術(shù),不但可以保護(hù)虛擬機(jī)內(nèi)的數(shù)據(jù)免受現(xiàn)代數(shù)據(jù)擦除類惡意軟件的攻擊,而且還可以提供了一些安全的文件刪除方法。
普渡大學(xué)(Purdue University)的科學(xué)家們開發(fā)了一種名為“Reactive Redundancy for Data Destruction (R2D2)”的數(shù)據(jù)保護(hù)技術(shù),該技術(shù)不但可以保護(hù)虛擬機(jī)內(nèi)的數(shù)據(jù)免受現(xiàn)代數(shù)據(jù)擦除類惡意軟件的攻擊,而且還可以提供了一些安全的文件刪除方法。
研究人員表示:
在我們的測試實驗中,這項新技術(shù)成功地阻止了擦除類惡意軟件如Shamoon (v1和v2)、StoneDrill和Destover對實驗數(shù)據(jù)的刪除。
近年來,針對文件系統(tǒng)和MBR等以擦除攻擊為主要手段的破壞性攻擊代碼愈來愈多。這類惡意軟件也成為很多APT攻擊組織在攻擊后掩蓋其蹤跡的主要手段。
擦除類攻擊分兩種:單純擦除和多功能擦除。
單純擦除
這些惡意軟件旨在破壞數(shù)據(jù)或影響目標(biāo)系統(tǒng)正常啟動,通常通過接收來自攻擊者的命令或預(yù)定時間執(zhí)行。
這類惡意軟件包括:Killdisk,WhiteRose,DarkSeoul,DestFallen,Destover等。
多功能擦除
這類惡意代碼被攻擊者用來執(zhí)行多種任務(wù),其中包括擦寫被感染系統(tǒng)。這類惡意軟件包括:BlackEnergy 2 DSTR Plugin,Shamoon/Disttrack,Gh0st RAT等。
R2D2如何運(yùn)作
R2D2在設(shè)計時針對的操作環(huán)境是虛擬機(jī),也就是說你不能在常規(guī)操作系統(tǒng)上運(yùn)行R2D2,這是因為R2D2需要處于可以觀察整個操作系統(tǒng)的位置。
Purdue研究人員在上個月發(fā)表的一篇論文中寫道:
我們的R2D2的原型是在一個虛擬機(jī)監(jiān)控(VMM)中實現(xiàn)的,它可以通過虛擬機(jī)自省(VMI)監(jiān)視用戶虛擬機(jī)中的數(shù)據(jù)損壞情況。
R2D2使用VMI接口來攔截受保護(hù)的操作系統(tǒng)(虛擬機(jī)上的用戶操作系統(tǒng))上的文件打開和文件寫入之類的操作。
如果檢測到有文件打開和文件寫入之類的操作時,R2D2就會利用一系列的防護(hù)策略來評估這些操作是否屬于已知的攻擊性操作。如果在防御掃描時觸發(fā)了安全警告,VMM將創(chuàng)建一個臨時檢查點(diǎn),這樣操作員就可以使用它來作為系統(tǒng)恢復(fù)點(diǎn)。
通過這樣的設(shè)計,R2D2將忽略那些模塊化或標(biāo)準(zhǔn)化的刪除操作,這些操作會取消鏈接文件,并在稍后需要將其他數(shù)據(jù)保存在磁盤上時將其保留在存儲介質(zhì)上。
但是,R2D2將查找有意打開和重寫文件的刪除操作,這種攻擊行為已經(jīng)在所謂的“安全刪除”應(yīng)用程序和擦除類惡意軟件中被攻擊者應(yīng)用了。
通過如此的設(shè)計,R2D2將查找嘗試用隨機(jī)數(shù)據(jù)或重復(fù)的代碼模式重寫文件的操作。目前,R2D2可以適用于13種已知的擦除方法,這些方法已在所謂的“安全刪除”應(yīng)用程序和惡意軟件中經(jīng)常出現(xiàn)。
R2D2支持“安全刪除”應(yīng)用程序和數(shù)據(jù)擦除類惡意軟件的原因是由于惡意軟件作者可能試圖將這些應(yīng)用程序合并到未來的擦除類惡意軟件中,而不是使用自定義技術(shù)。
此外,通過支持流行應(yīng)用程序使用的“安全刪除”算法,R2D2還可以保護(hù)計算機(jī)免受惡意的內(nèi)部人員的物理訪問,攻擊者最有可能使用“安全刪除”應(yīng)用程序而不是數(shù)據(jù)擦除類惡意軟件。
測試中,研究人員還發(fā)現(xiàn)R2D2在識別具有破壞性的擦除行為時,具有非常高的準(zhǔn)確性。
雖然R2D2目前只在測試階段,但市面上還沒有哪一個軟件可以由此功能。
研究人員進(jìn)行的測試表明,雖然R2D2在檢測惡意破壞性操作方面非常準(zhǔn)確,但仍需要在一些性能指標(biāo)上持續(xù)改進(jìn)。例如,測試表明,在989次破壞性操作中,R2D2錯誤地將兩次破壞性重寫確定為良性(假陰性率為0.2%),而在989次良性寫入中,R2D2將5次操作誤判定為具有破壞性的行為(假陽性率為0.51%)。
但是最大的問題是R2D2當(dāng)前版本在保護(hù)vm上的延遲反應(yīng)。Purdue研究人員表示:
對于簡單的任務(wù),延遲率從1%到4%不等,而對于復(fù)雜的任務(wù)來說延遲率從9%到20%不等。
如何改進(jìn)R2D2性能
研究人員表示,改進(jìn)R2D2性能并不是一個大問題,因為目前R2D2的原型并沒有對性能進(jìn)行優(yōu)化,如果投入實戰(zhàn),還有很大的改進(jìn)空間。
例如,由于超過90%的延遲是因為R2D2在主機(jī)操作系統(tǒng)的VMI接口內(nèi)運(yùn)行,所以提高性能的最簡單方法是讓R2D2在其他位置運(yùn)行,這樣設(shè)備的運(yùn)行性能就不會出現(xiàn)大幅度下降。
再比如,R2D2可以在操作系統(tǒng)內(nèi)插入寫入存儲介質(zhì),將R2D2放置在操作系統(tǒng)內(nèi)可以避免與VMI相關(guān)的損耗,而這也是研究者所發(fā)現(xiàn)的最重要的性能損耗。但是,這種改進(jìn)方法的主要缺點(diǎn)是對文件版本控制系統(tǒng)和其他R2D2機(jī)制的控制都位于受保護(hù)的系統(tǒng)中,而不是與潛在的不可信的操作系統(tǒng)隔離。如果對手可可以破壞操作系統(tǒng),那他們就可以禁用R2D2。
其實,R2D2的另一個合理的運(yùn)行位置是在硬件附近。在將數(shù)據(jù)寫入存儲設(shè)備之前,存儲設(shè)備上的硬件控制器可以檢查寫入緩沖區(qū)是否具有破壞性功能。然而,將R2D2放置在硬件控制器中的挑戰(zhàn)是記錄和保存對用戶,系統(tǒng)管理員或取證人員有意義的數(shù)據(jù)。將底層磁盤操作映射到文件對于磁盤存儲而言是一個眾所周知的語義鴻溝問題。或者,網(wǎng)絡(luò)文件系統(tǒng)也可以使用R2D2,類似于檢查惡意行為的文件交互過程。
這樣做一個優(yōu)點(diǎn)是R2D2可以與攻擊者隔離,除非攻擊者能夠覆蓋硬件控制器或獲取網(wǎng)絡(luò)文件存儲服務(wù)器。
由于一些加密勒索軟件變種有時與某些擦除類惡意軟件相似,因此R2D2也可能會會被用于檢測一些勒索軟件。盡管如此,研究人員并不認(rèn)為R2D2是一個檢測勒索軟件感染的好系統(tǒng)。不過研究人員表示:
可以通過密切關(guān)注R2D2的這個檢測勒索軟件的功能,來判斷它的性能好壞。因為這表明目前R2D2正在執(zhí)行大量的數(shù)據(jù)加密程序,而不是關(guān)注文件打開和文件寫入之類的操作。
目前,R2D2只在VM內(nèi)運(yùn)行的Windows 7操作系統(tǒng)上進(jìn)行過測試,不過該研究小組表示:
雖然只在Windows 7操作系統(tǒng)上進(jìn)行過測試,但我們認(rèn)為R2D2可以在各種版本的Windows上使用。從理論上講,它也應(yīng)該能在Linux、Mac OS和其他系統(tǒng)中得到推廣。