[發(fā)明專利]基于內(nèi)存隔離的文件系統(tǒng)安全保護方法在審
| 申請?zhí)枺?/td> | 202310477825.1 | 申請日: | 2023-04-28 |
| 公開(公告)號: | CN116522348A | 公開(公告)日: | 2023-08-01 |
| 發(fā)明(設(shè)計)人: | 明銘;孫建華 | 申請(專利權(quán))人: | 湖南大學 |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57;G06F21/55;G06F12/14;G06F11/36 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 410082 湖南省*** | 國省代碼: | 湖南;43 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 內(nèi)存 隔離 文件 系統(tǒng)安全 保護 方法 | ||
本發(fā)明涉及文件系統(tǒng)的安全領(lǐng)域,具體內(nèi)容涉及到通過模糊測試發(fā)現(xiàn)文件系統(tǒng)中的漏洞后,使用eBPF技術(shù)針對漏洞對系統(tǒng)進行保護的方法。本發(fā)明的方法包括:對文件系統(tǒng)進行模糊測試,根據(jù)給定文件系統(tǒng)生成種子構(gòu)建種子池,選取種子進行變異并生成測試用例,然后執(zhí)行測試用例進行模糊測試,篩選種子,輸出漏洞報告和簡化PoC,最后重復執(zhí)行模糊測試直到達到預期要求;利用eBPF技術(shù)對文件系統(tǒng)進行內(nèi)存隔離防護,首先根據(jù)內(nèi)核源代碼和模糊測試階段獲取的漏洞報告對內(nèi)核進行反向污點分析識別脆弱對象,然后利用eBPF程序?qū)Υ嗳鯇ο笏诘膬?nèi)存空間進行隔離。其流程如圖1所示。該方法能夠?qū)崿F(xiàn)對文件系統(tǒng)的安全防護。
技術(shù)領(lǐng)域
本發(fā)明涉及文件系統(tǒng)的安全領(lǐng)域,具體內(nèi)容涉及到通過模糊測試文件系統(tǒng)發(fā)現(xiàn)漏洞,然后使用eBPF技術(shù)進行動態(tài)內(nèi)存隔離來對文件系統(tǒng)進行保護的方法。
背景技術(shù)
文件系統(tǒng)是操作系統(tǒng)的基本系統(tǒng)服務(wù)和重要組成部分,對于現(xiàn)代計算機系統(tǒng)中的數(shù)據(jù)完整性和安全性至關(guān)重要。盡管文件系統(tǒng)已經(jīng)發(fā)展了幾十年,并應(yīng)用了許多數(shù)據(jù)保護技術(shù),例如訪問控制和健全性檢查,但其仍然遭受著大量惡意軟件攻擊。目前,大部分常規(guī)的文件系統(tǒng),如ext4、XFS、Btrfs和F2FS等都運行在內(nèi)核之中,因此文件系統(tǒng)中的錯誤可能會給系統(tǒng)造成巨大的危害,例如死鎖、內(nèi)核恐慌、數(shù)據(jù)不一致,甚至造成整個系統(tǒng)受損。此外,這些錯誤還構(gòu)成嚴重的安全威脅。例如,攻擊者通過安裝精心制作的惡意磁盤映像或調(diào)用易受攻擊的文件系統(tǒng)特定操作來利用各種文件系統(tǒng)漏洞,進而在受害計算機上執(zhí)行代碼或提升權(quán)限,對文件系統(tǒng)的可靠性和安全性造成了不利的影響。因此,查找和修復文件系統(tǒng)中的錯誤是一項持續(xù)且必不可少的活動。然而,隨著性能優(yōu)化和新功能的不斷發(fā)展,流行的文件系統(tǒng)已經(jīng)變得極其復雜,人工挖掘文件系統(tǒng)中的每個錯誤變成了一項極大的挑戰(zhàn)。
近年來,隨著模糊測試(Fuzzing)技術(shù)的發(fā)展和使用,研究人員發(fā)現(xiàn)該技術(shù)是一個自動化挖掘各類文件系統(tǒng)漏洞有效且實用的方法。目前大部分開發(fā)中的文件系統(tǒng)都依賴于已知的回歸測試框架,例如xfstests、fsck、Linux測試項目等,這些框架主要側(cè)重于回歸,只是臨時的測試集合,無法處理文件系統(tǒng)中各種類型的錯誤,并且所需的手寫的測試用例遠遠不足以覆蓋文件系統(tǒng)執(zhí)行中的巨大輸入空間。除此之外,還有一些工作應(yīng)用模型檢查來查找文件系統(tǒng)錯誤,這需要檢測人員對文件系統(tǒng)和操作系統(tǒng)狀態(tài)都有深入的了解,由于現(xiàn)代文件系統(tǒng)的復雜性越來越高,對文件系統(tǒng)建模變得不切實際。模糊測試是動態(tài)測試的過程,通過給定初始化種子,在遺傳算法的迭代中篩選種子,并在該種子的基礎(chǔ)上變異生成測試用例,然后將其注入目標程序執(zhí)行以觸發(fā)錯誤。常見的模糊測試方法以代碼覆蓋率為標準。整個檢測過程包括測試用例的生成均自動化,并且測試人員對目標檢測軟件有基本的了解即可。
文件系統(tǒng)漏洞的修復具有滯后性,因此在漏洞被提交至正式修復之前可以通過eBPF技術(shù)對文件系統(tǒng)的安全性進行保護。eBPF是一套通用執(zhí)行引擎,其基于系統(tǒng)或程序可以高效安全地執(zhí)行特定代碼。eBPF程序從用戶空間加載,可以由特定的內(nèi)核事件觸發(fā),并且能夠通過BPF映射結(jié)構(gòu)維護和訪問內(nèi)存空間,BPF映射結(jié)構(gòu)具有存儲任意數(shù)據(jù)結(jié)構(gòu)的能力,其大小必須由用戶在創(chuàng)建應(yīng)用程序時指定;此外,eBPF程序還可以通過調(diào)用內(nèi)核提供的一組輔助函數(shù)與系統(tǒng)進行交互,并且能夠訪問敏感內(nèi)核數(shù)據(jù)。因此,為了保證系統(tǒng)的安全性和穩(wěn)定性,Linux內(nèi)核在每次加載eBPF程序時都會調(diào)用內(nèi)核中的eBPF驗證器來保證程序不會執(zhí)行敏感操作,并且強制限制了執(zhí)行步驟的復雜性,每當驗證指令的數(shù)量達到限制閾值時,eBPF程序就會被拒絕繼續(xù)執(zhí)行。常見的文件系統(tǒng)錯誤類型包含堆溢出(heap?overflow)、釋放后重用(use-after-free)、雙重釋放(double?free)等,這些漏洞都涉及到了對于內(nèi)存的訪問和利用,針對這種漏洞,惡意攻擊者通常是通過兩個對象重疊的內(nèi)存空間來利用或篡改內(nèi)核中的敏感數(shù)據(jù)和對象。本發(fā)明可以使用自定義的eBPF程序在不違反其執(zhí)行復雜性限制的情況下對文件系統(tǒng)提供內(nèi)存隔離保護,保證存放敏感信息的內(nèi)存空間不會重疊,使攻擊者更難甚至不可能操縱堆布局。
發(fā)明內(nèi)容
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于湖南大學,未經(jīng)湖南大學許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202310477825.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





