本發(fā)明屬于安全加密,具體涉及一種基于cpu系統(tǒng)管理模式(smm模式)的加密型勒索軟件防御系統(tǒng)及方法。
背景技術(shù):
1、對于加密型勒索軟件,主流防御手段是基于進程行為特征的動態(tài)檢測技術(shù)。這種研究趨勢是由勒索軟件的特點所決定的。以加密型勒索軟件為例,其行為本質(zhì)與普通加密軟件幾乎完全一致,都是對數(shù)據(jù)進行加密,而不破壞系統(tǒng)文件或阻止系統(tǒng)正常運行,唯一的區(qū)別在于加密密鑰不掌握在使用者手中。而如果直接對代碼和控制流進行靜態(tài)分析,很難發(fā)現(xiàn)其惡意特征。另外,從用戶數(shù)據(jù)安全的角度來說,一旦加密型勒索軟件開始運行,用戶的文件數(shù)據(jù)就已經(jīng)開始被加密。因此,如何盡可能快地檢測并攔截勒索軟件,減少甚至避免用戶數(shù)據(jù)丟失,是勒索軟件動態(tài)檢測技術(shù)研究的一大挑戰(zhàn)。
2、為了保護用戶數(shù)據(jù)免遭加密型勒索軟件的攻擊,業(yè)界提出了三種類型的防御機制。第一類是基于操作系統(tǒng)的防御機制[andrea?continella,alessandroguagnelli,giovannizingaro,giuliodepasquale,alessandrobarenghi,stefanozanero,andfedericomaggi.shieldfs:aself-healing,ransomware-awarefilesystem.instephenschwab,william?k.robertson,and?davide?balzarotti,editors,proceedings?of?the?32nd?annual?conference?on?computer?securityapplications,acsac?2016,los?angeles,ca,usa,december?5-9,2016,pages?336–347.],即類似于傳統(tǒng)的反病毒軟件,以內(nèi)核進程或用戶進程的形式存在于操作系統(tǒng)中,通過監(jiān)控其他進程行為或i/o數(shù)據(jù),來識別勒索軟件進程。然而,這類防御機制存在自我保護能力不足的問題:由于部署在操作系統(tǒng)內(nèi)核中,因此,有可能被具有內(nèi)核級管理員權(quán)限的惡意進程終止或破壞,即無法抵御提權(quán)攻擊。第二類是基于虛擬化的防御機制[fei?tang,boyangma,jinku?li,fengwei?zhang,jipeng?su,and?jian?feng?ma.ransomspector:anintrospection-based?approach?to?detect?crypto?ransomware.comput.secur.,97:101997,2020.],即防御系統(tǒng)運行在操作系統(tǒng)之下的虛擬機管理層(hypervisor層)。然而,這類防御機制缺少數(shù)據(jù)保護與恢復能力。第三類是基于固態(tài)硬盤(ssd)的硬件特性(即異地更新)的防御機制[sungha?baek,youngdon?jung,aziz?mohaisen,sungjin?lee,and?daehun?nyang.ssd-insider:internal?defense?of?solid-state?drive?againstransomware?with?perfect?data?recovery.in?38th?ieee?international?conferenceon?distributed?computing?systems,icdcs2018,vienna,austria,july?2-6,2018,pages875–884.],即利用固態(tài)硬盤不能覆蓋寫入的硬件特性,實現(xiàn)無數(shù)據(jù)拷貝開銷的硬件級數(shù)據(jù)備份,保證被加密的原始數(shù)據(jù)的安全。然而,這類防御機制因缺少操作系統(tǒng)內(nèi)的高級語義信息,一方面無法實現(xiàn)高精度勒索軟件檢測,另一方面,會造成數(shù)據(jù)備份不足或冗余,從而導致數(shù)據(jù)丟失或存儲空間開銷過大。
技術(shù)實現(xiàn)思路
1、為了克服上述現(xiàn)有技術(shù)存在的問題,本發(fā)明的目的在于公開了一種基于cpu系統(tǒng)管理模式(smm模式)的加密型勒索軟件防御系統(tǒng)及方法,利用固態(tài)硬盤“異地更新”的硬件特性基礎(chǔ)上,將檢測模塊部署在主板固件內(nèi),并在ssd固態(tài)硬盤固件內(nèi),部署數(shù)據(jù)輸入輸出(i/o)的攔截模塊,以及數(shù)據(jù)備份恢復模塊;如此,檢測模塊可以在cpu的系統(tǒng)管理模式下,獲取操作系統(tǒng)內(nèi)部的上下文信息(如進程、文件活動等),并基于這些信息實現(xiàn)高精度勒索軟件檢測;同時,為了確保檢測模塊在smm模式下,準確獲取與所攔截的i/o密切相關(guān)的上下文信息;本發(fā)明還提出了一種由固態(tài)硬盤發(fā)起中斷信號,使cpu進入系統(tǒng)管理模式的方法;該方法利用消息信號中斷(msi-x中斷),向主機發(fā)送特殊模式(smi模式)的msi-x中斷,使cpu將該中斷信號識別為smi中斷,而smi中斷是進入smm模式的唯一途徑,從而最終使cpu進入smm模式。
2、為了實現(xiàn)上述目的,本發(fā)明采用以下的技術(shù)方案:
3、一種基于cpu系統(tǒng)管理模式(smm模式)的加密型勒索軟件防御系統(tǒng),包括主板固件及ssd設備固件,所述主板固件中嵌入有信息收集模塊、檢測模塊和第一通信模塊,并將信息收集模塊、檢測模塊和第一通信模塊封裝為一個smi中斷處理子程序,并將該smi中斷處理子程序注冊到主板固件的smi中斷處理程序列表中;所述ssd設備固件中嵌入有攔截模塊、仲裁模塊、第二通信模塊以及數(shù)據(jù)備份恢復模塊;主板固件對勒索軟件檢測并輸出檢測結(jié)果;ssd設備固件根據(jù)檢測結(jié)果識別和處理每個傳入ssd設備固件的i/o命令,保留所有被勒索軟件攻擊的數(shù)據(jù)。
4、所述ssd設備固件中的攔截模塊的信號輸入端與操作系統(tǒng)內(nèi)的nvme驅(qū)動程序連接,攔截所有nvme驅(qū)動程序發(fā)向ssd設備的i/o命令,攔截模塊的信號輸出端分別與仲裁模塊及主板固件中的信息收集模塊的信號輸入端通信連接,仲裁模塊的信號輸出端與數(shù)據(jù)備份恢復模塊的信號輸入端通信連接,數(shù)據(jù)備份恢復模塊的輸出端與nand閃存連接,信息收集模塊的信號輸出端與檢測模塊信號輸入端通信連接,檢測模塊的信號輸出端與第一通信模塊的信號輸入端通信連接,第一通信模塊與ssd設備固件中第二通信模塊通信交互,第二通信模塊與仲裁模塊通信交互。
5、基于上述防御系統(tǒng)的防御方法,具體包括:
6、首先,攔截模塊攔截所有nvme驅(qū)動程序發(fā)向ssd設備的i/o命令,并向cpu發(fā)送特殊模式的msi-x中斷,使cpu識別為smi中斷,并進入cpu的smm模式;
7、其次,主板固件中的信息收集模塊,收集與所攔截i/o命令相關(guān)的上下文信息,并將這些信息發(fā)送至檢測模塊;
8、然后,檢測模塊基于操作系統(tǒng)內(nèi)部的上下文信息,分析所收到的上下文信息,并判斷收到的信息是否匹配勒索軟件行為;
9、接著,主板固件中的第一通信模塊將檢測結(jié)果發(fā)送至ssd設備固件,由ssd設備固件中的第二通信模塊接收檢測結(jié)果;
10、最后,ssd設備固件中的仲裁模塊根據(jù)檢測結(jié)果,執(zhí)行不同流程。
11、所述特殊模式的msi-x中斷即msi-x中斷消息的分發(fā)模式(delivery?mode)字段被設置為smi模式。
12、所述ssd設備固件中的仲裁模塊根據(jù)檢測結(jié)果,執(zhí)行不同流程,具體為:當所攔截i/o命令來自勒索軟件進程,并且為寫請求,則由數(shù)據(jù)備份恢復模塊執(zhí)行保留原始數(shù)據(jù)的操作;當所攔截i/o命令不是來自勒索軟件進程,則進一步判斷所攔截i/o命令是否來自數(shù)據(jù)備份恢復模塊中的數(shù)據(jù)恢復程序,如果是,并且為讀請求,則由數(shù)據(jù)備份恢復模塊執(zhí)行恢復原始數(shù)據(jù)的操作;如果所攔截i/o命令不是來自數(shù)據(jù)恢復程序,則執(zhí)行正常讀寫數(shù)據(jù)操作。
13、與現(xiàn)有技術(shù)相比,本發(fā)明具有益效果如下:
14、1、本發(fā)明通過一個硬件級防御系統(tǒng),其檢測系統(tǒng)運行在cpu的smm模式下,相比已有的基于操作系統(tǒng)內(nèi)核、虛擬化技術(shù)的檢測系統(tǒng),安全權(quán)限更高,因此隔離性和安全性更強。
15、2、本發(fā)明在操作系統(tǒng)外部檢測勒索軟件行為,相比已有的實現(xiàn)該功能的基于虛擬化技術(shù)的檢測系統(tǒng),本發(fā)明在smm模式下,獲取操作系統(tǒng)內(nèi)的高級語義信息(如進程、文件對象等),并基于這些豐富的上下文信息,實現(xiàn)高精度勒索軟件檢測;避免了對虛擬機管理層(hypervisor)的依賴,擁有更廣泛的硬件兼容性和適用性,性能更高,且安全性更高。
16、3、本發(fā)明利用固態(tài)硬盤的硬件特性,以獨立功能模塊的形式可以部署到任何主板固件和ssd設備固件中,不依賴操作系統(tǒng)內(nèi)核,也不依賴設備制造商的特定技術(shù),實現(xiàn)了高效的硬件級數(shù)據(jù)備份,確保原始數(shù)據(jù)的安全。
17、綜上,本發(fā)明基于主板固件的設計不僅擺脫了對虛擬機管理層(hypervisor)的依賴,還有效克服了純基于ssd設備固件的解決方案存在的計算算力和語義信息不足的限制,從而在保持高精度檢測能力的同時還大幅提升了自身安全性。其次,該技術(shù)的檢測模塊在cpu的smm模式中運行,能夠安全且透明地獲取操作系統(tǒng)內(nèi)部的上下文信息,用以實現(xiàn)基于高級語義的高精度勒索軟件檢測。第三,該技術(shù)是一個實時防御系統(tǒng),可以根據(jù)檢測結(jié)果,精確識別和處理每個傳入ssd的i/o命令,并通過基于ssd硬件特性的備份技術(shù),保留所有被勒索軟件攻擊的數(shù)據(jù)。