[發(fā)明專利]基于Linux的ELF文件數(shù)據(jù)完整性保護(hù)方法在審
| 申請(qǐng)?zhí)枺?/td> | 202010720818.6 | 申請(qǐng)日: | 2020-07-24 |
| 公開(公告)號(hào): | CN113971297A | 公開(公告)日: | 2022-01-25 |
| 發(fā)明(設(shè)計(jì))人: | 張靖棠;宗華 | 申請(qǐng)(專利權(quán))人: | 張靖棠;宗華 |
| 主分類號(hào): | G06F21/64 | 分類號(hào): | G06F21/64;G06F21/10 |
| 代理公司: | 南京新慧恒誠(chéng)知識(shí)產(chǎn)權(quán)代理有限公司 32424 | 代理人: | 李曉靜 |
| 地址: | 211106 江*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 linux elf 文件 數(shù)據(jù) 完整性 保護(hù) 方法 | ||
本發(fā)明公開了基于Linux的ELF文件數(shù)據(jù)完整性保護(hù)方法,提供一個(gè)對(duì)標(biāo)準(zhǔn)的二進(jìn)制可執(zhí)行文件格式ELF文件進(jìn)行簽名的工具,能夠?qū)?shù)字簽名附加到ELF文件的段中;在Linux內(nèi)核初始化時(shí),會(huì)將所有可執(zhí)行文件格式的處理函數(shù)組織為一個(gè)鏈表,在所述鏈表中添加一個(gè)ELF簽名驗(yàn)證處理函數(shù),所述ELF簽名驗(yàn)證處理函數(shù)專門用于提取并驗(yàn)證ELF中的數(shù)字簽名;在Linux內(nèi)核中,ELF二進(jìn)制可執(zhí)行文件格式的標(biāo)準(zhǔn)執(zhí)行流程之前,先從ELF文件中提取數(shù)字簽名,再對(duì)ELF文件中的數(shù)字簽名進(jìn)行驗(yàn)證;如果數(shù)字簽名通過(guò)驗(yàn)證,則內(nèi)核正常執(zhí)行該ELF文件;如果數(shù)字簽名沒有通過(guò)驗(yàn)證,內(nèi)核禁止該ELF文件被執(zhí)行;可以有效保護(hù)基于Linux內(nèi)核的操作系統(tǒng)的安全性,避免內(nèi)核執(zhí)行經(jīng)過(guò)惡意篡改后的可執(zhí)行文件。
技術(shù)領(lǐng)域
本發(fā)明涉及(計(jì)算機(jī))系統(tǒng)安全領(lǐng)域,具體涉及基于Linux的ELF文件數(shù)據(jù)完整性保護(hù)方法。
背景技術(shù)
數(shù)字簽名是網(wǎng)絡(luò)安全的核心技術(shù)之一,能夠保證信息交換的完整性、發(fā)送信息的不可否認(rèn)性、簽名方身份的確定性等。數(shù)字簽名是附加在數(shù)據(jù)單元上的一些數(shù)據(jù),或是對(duì)數(shù)據(jù)單元所作的密碼變換,這種數(shù)據(jù)和變換允許數(shù)據(jù)單元的接收者用以確認(rèn)數(shù)據(jù)單元來(lái)源和數(shù)據(jù)單元的完整性,并保護(hù)數(shù)據(jù),防止被別人偽造。
在實(shí)際使用中,軟件開發(fā)者需要通過(guò)網(wǎng)絡(luò)來(lái)分發(fā)自己實(shí)現(xiàn)的軟件。當(dāng)用戶在自己的計(jì)算機(jī)上接收他人分發(fā)的軟件并使用時(shí),需要檢驗(yàn)該軟件是否經(jīng)過(guò)了惡意篡改而成為可能威脅計(jì)算機(jī)安全的惡意軟件。目前,主要的解決方案是,在開發(fā)者分發(fā)軟件之前,用受信密鑰生成數(shù)字簽名并附加在軟件中,與軟件共同分發(fā)。接收方在安裝或使用軟件之前,首先對(duì)數(shù)字簽名進(jìn)行檢驗(yàn),如果檢驗(yàn)通過(guò),才允許安裝或運(yùn)行軟件;否則,軟件經(jīng)過(guò)了第三方的篡改而被視為不再安全。
現(xiàn)有方案主要分為兩類。
一類是在用戶空間(與操作系統(tǒng)中的內(nèi)核空間相對(duì))對(duì)軟件包進(jìn)行驗(yàn)證。例如Debian系統(tǒng)中的軟件包管理工具APT(Advanced Package Tool),會(huì)在接收到軟件包或安裝軟件包前對(duì)附加在軟件或壓縮包中的GPG簽名進(jìn)行驗(yàn)證。如果驗(yàn)證失敗則無(wú)法解壓縮、安裝軟件。
一類是操作系統(tǒng)在內(nèi)核空間對(duì)軟件中的數(shù)字簽名進(jìn)行驗(yàn)證,比如macOS中的“門禁”會(huì)檢查在Mac App Store以外來(lái)源的app中是否配有受信開發(fā)者的簽名,避免用戶下載和安裝惡意軟件。
對(duì)于在用戶空間中對(duì)數(shù)字簽名進(jìn)行驗(yàn)證的方案,只能對(duì)其管理范圍內(nèi)的軟件進(jìn)行保護(hù),無(wú)法保護(hù)整個(gè)操作系統(tǒng)內(nèi)核免于惡意軟件的危害。攻擊者可以通過(guò)其它手段輕易繞開簽名驗(yàn)證機(jī)制。
對(duì)于操作系統(tǒng)內(nèi)核空間中的簽名驗(yàn)證功能,具體實(shí)現(xiàn)方式因不同操作系統(tǒng)實(shí)現(xiàn)不同而不同,因此方案互不兼容。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)存在的問(wèn)題,本發(fā)明提供一種基于Linux的ELF文件數(shù)據(jù)完整性保護(hù)方法,可以有效保護(hù)基于Linux內(nèi)核的操作系統(tǒng)的安全性,避免內(nèi)核執(zhí)行經(jīng)過(guò)惡意篡改后的可執(zhí)行文件,保護(hù)用戶的數(shù)據(jù)安全與隱私。
本發(fā)明的技術(shù)方案是:基于Linux的ELF文件數(shù)據(jù)完整性保護(hù)方法,具體步驟如下:
步驟一、提供一個(gè)對(duì)標(biāo)準(zhǔn)的二進(jìn)制可執(zhí)行文件格式ELF文件進(jìn)行簽名的工具,能夠?qū)?shù)字簽名附加到ELF文件的段中;
步驟二、在Linux內(nèi)核初始化時(shí),會(huì)將所有可執(zhí)行文件格式的處理函數(shù)組織為一個(gè)鏈表,在所述鏈表中添加一個(gè)ELF簽名驗(yàn)證處理函數(shù),所述ELF簽名驗(yàn)證處理函數(shù)專門用于提取并驗(yàn)證ELF中的數(shù)字簽名;
步驟三、在Linux內(nèi)核中,ELF(Executable and Linkable Format)二進(jìn)制可執(zhí)行文件格式的標(biāo)準(zhǔn)執(zhí)行流程之前,先從ELF文件中提取數(shù)字簽名,再對(duì)ELF文件中的數(shù)字簽名進(jìn)行驗(yàn)證;如果數(shù)字簽名通過(guò)驗(yàn)證,則內(nèi)核正常執(zhí)行該ELF文件;如果數(shù)字簽名沒有通過(guò)驗(yàn)證,內(nèi)核禁止該ELF文件被執(zhí)行。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于張靖棠;宗華,未經(jīng)張靖棠;宗華許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010720818.6/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過(guò)保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過(guò)保護(hù)特定的外圍設(shè)備,如鍵盤或顯示器
G06F21-06 .通過(guò)感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過(guò)限制訪問(wèn)計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過(guò)限制訪問(wèn)或處理程序或過(guò)程
- LINUX內(nèi)核動(dòng)態(tài)加載方法
- 一種Linux嵌入式系統(tǒng)的安全啟動(dòng)方法
- 一種加快嵌入式Linux系統(tǒng)啟動(dòng)的方法
- Linux文件系統(tǒng)的多點(diǎn)備份和實(shí)時(shí)保護(hù)方法
- 基于硬件的Linux軟件開發(fā)系統(tǒng)及其構(gòu)建方法
- 將VxWorks任務(wù)移植到Linux的方法及裝置
- 一種Linux內(nèi)核接管socket鏈接的方法和裝置
- 一種Linux系統(tǒng)的備份和還原方法
- 一種基于Linux系統(tǒng)盤的寫過(guò)濾系統(tǒng)和方法
- 一種基于Linux系統(tǒng)盤的熱插拔方法和系統(tǒng)





