軟件的最大優(yōu)勢(shì)在于它可以改變——它可以針對(duì)新需求和新情況進(jìn)行增強(qiáng)、升級(jí)、修復(fù)和修改。同時(shí),軟件的最大弱點(diǎn)是可以更改和修改以復(fù)制不良行為。
軟件安全的一個(gè)主要目標(biāo)是僅允許被授權(quán)實(shí)體更改軟件,并防止未經(jīng)授權(quán)的實(shí)體更改軟件。如果做不到這一點(diǎn),您希望能夠檢測(cè)軟件是否已更改。這一目標(biāo),即預(yù)防和檢測(cè)未經(jīng)授權(quán)的更改,是受信任軟件的核心。
問(wèn)題是,你怎么知道你可以信任一個(gè)軟件?一種方法是讓您信任的實(shí)體證明該軟件是可信的。這方面的一個(gè)例子是僅安裝來(lái)自“已知良好”或受信任來(lái)源的軟件。您還應(yīng)該使用加密技術(shù)檢查軟件的簽名。例如,開(kāi)發(fā)人員可以使用Linuxrpm 軟件包格式和 rpm 實(shí)用程序在安裝之前驗(yàn)證其軟件包的加密哈希。這是使用 rpm 的正常部分,有助于檢測(cè)通過(guò)惡意操作或數(shù)據(jù)損壞修改的軟件包。
然而,這僅僅是個(gè)開(kāi)始——信任和驗(yàn)證必須貫穿整個(gè)軟件開(kāi)發(fā)鏈。例如,執(zhí)行轉(zhuǎn)速檢查的軟件必須是可信的??梢允褂孟到y(tǒng)完整性實(shí)用程序檢查 rpm 軟件。但是,系統(tǒng)完整性實(shí)用程序也必須是可信的。這可以在Linux內(nèi)核中完成(它集成了某些系統(tǒng)完整性檢查功能。然后,Linux 內(nèi)核必須由引導(dǎo)加載程序進(jìn)行驗(yàn)證,這可以通過(guò) UEFI 固件和安全啟動(dòng)進(jìn)行驗(yàn)證。UEFI 固件可以檢查其自身的完整性。是信任自始至終!
但 UEFI 固件是軟件。特殊軟件,具有多次完整性檢查和特殊更新過(guò)程,但它仍然是軟件。如果資源充足,即使是 UEFI 固件也可能受到損害。一旦系統(tǒng)固件遭到入侵,系統(tǒng)中的任何其他內(nèi)容都無(wú)法信任。
在系統(tǒng)之外,公鑰加密(PKC)可以提供一種強(qiáng)大的方法來(lái)驗(yàn)證系統(tǒng)的身份并執(zhí)行安全操作。PKC 使用一對(duì)密鑰 – 公鑰和私鑰。只要私鑰受到保護(hù),加密就是安全的。不幸的是,如果系統(tǒng)受到損害,私鑰也會(huì)受到損害,并且實(shí)際的加密操作可能會(huì)被暫停。如果您需要信任系統(tǒng),這不是一件好事!
一個(gè)答案是使用不可變的硬件。例如,通過(guò)在生產(chǎn)過(guò)程中熔斷一組芯片級(jí)保險(xiǎn)絲,可以在硬件中固定 CPU 序列號(hào)。不幸的是,此CPU序列號(hào)將由軟件讀取和傳輸。如果系統(tǒng)遭到入侵,軟件可以返回任何序列號(hào)。
另一個(gè)答案是使用特殊的安全處理器 - 專(zhuān)用計(jì)算機(jī),它只執(zhí)行一小部分安全和加密功能,并提供不可變的硬件信任根,其中包括幾個(gè)關(guān)鍵屬性。在硬件信任根中,安全處理器及其軟件和內(nèi)存是獨(dú)立的,旨在抵御物理攻擊或危害。軟件硬編碼到芯片中,無(wú)法修改或更新;它是真正的只讀。安全處理器中包含有限數(shù)量的非易失性存儲(chǔ);此存儲(chǔ)器主要用于存儲(chǔ)加密密鑰和哈希。安全處理器包括一組強(qiáng)大的加密功能,包括加密和解密、哈希和加密密鑰生成,所有這些都是使用定義良好的 API 執(zhí)行的。
使用硬件信任根,可以在安全處理器內(nèi)生成公鑰和私鑰對(duì)。私鑰可以保留在處理器內(nèi)部,永遠(yuǎn)不會(huì)暴露給系統(tǒng)。在此模式下,私鑰永遠(yuǎn)不會(huì)存在于處理器之外,并且無(wú)法檢索或泄露。
這種安全處理器可用于為構(gòu)建可信系統(tǒng)提供起點(diǎn),方法是使用它來(lái)證明最低級(jí)別的 UEFI [統(tǒng)一可擴(kuò)展固件接口] 固件的完整性,然后構(gòu)建完整且受信任的軟件堆棧。這正是將受信任的處理模塊 (TPM) 與 UEFI 安全啟動(dòng)結(jié)合使用以實(shí)現(xiàn)受信任啟動(dòng)時(shí)所做的操作。
TPM 在服務(wù)器、臺(tái)式機(jī)和筆記本電腦系統(tǒng)中廣泛使用。它還可用于高端物聯(lián)網(wǎng) (IoT) 和嵌入式系統(tǒng)。
TPM通常作為單獨(dú)的芯片實(shí)現(xiàn),安全處理器也被集成到標(biāo)準(zhǔn)CPU中。這方面的例子包括 ARM TrustZone 和 AMD 安全處理器。英特爾正在添加軟件防護(hù)擴(kuò)展 (SGX),提供硬件強(qiáng)制的安全功能。
不幸的是,這些安全功能并沒(méi)有像它們應(yīng)該的那樣廣泛使用。我鼓勵(lì)任何實(shí)施安全敏感系統(tǒng)(實(shí)際上應(yīng)該是所有系統(tǒng))的人考慮在其系統(tǒng)上使用可用硬件信任根的安全功能。
審核編輯:郭婷
-
處理器
+關(guān)注
關(guān)注
68文章
19100瀏覽量
228814 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2900文章
44062瀏覽量
370245 -
Linux
+關(guān)注
關(guān)注
87文章
11207瀏覽量
208721
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論