近日,科技界迎來了一項(xiàng)引人注目的新進(jìn)展。據(jù)某知名科技媒體披露,微軟于3月21日向Linux內(nèi)核社區(qū)提交了一項(xiàng)創(chuàng)新的開源項(xiàng)目——Hornet。該項(xiàng)目專注于增強(qiáng)Linux系統(tǒng)的安全性,特別是針對eBPF(Extended Berkeley Packet Filter)程序的保護(hù)。
eBPF技術(shù),作為Linux內(nèi)核的一種強(qiáng)大擴(kuò)展手段,允許開發(fā)者在不改變內(nèi)核源碼或加載額外模塊的前提下,安全高效地添加新功能。這一技術(shù)一直受到微軟的積極推崇,而Hornet的推出,無疑是微軟在eBPF安全領(lǐng)域邁出的重要一步。
Hornet的核心功能在于對eBPF程序進(jìn)行簽名驗(yàn)證。它借鑒了內(nèi)核模塊的簽名機(jī)制,通過在eBPF程序的末尾附加pkcs7簽名,確保程序的完整性和真實(shí)性。當(dāng)這些程序被加載到內(nèi)核時(shí),Hornet會驗(yàn)證其簽名,從而有效防止惡意代碼的注入。
值得注意的是,Hornet在設(shè)計(jì)上區(qū)分了內(nèi)核內(nèi)部加載和用戶空間加載的eBPF程序。對于前者,Hornet默認(rèn)給予信任;而對于后者,則需要進(jìn)行嚴(yán)格的簽名驗(yàn)證。這種設(shè)計(jì)策略既保證了系統(tǒng)的安全性,又確保了合法程序的順暢運(yùn)行。
Hornet還支持輕量級加載器和靜態(tài)生成程序的簽名驗(yàn)證,進(jìn)一步擴(kuò)大了其保護(hù)范圍。這意味著,無論eBPF程序是如何生成的,只要它們運(yùn)行在內(nèi)核中,都必須經(jīng)過Hornet的簽名驗(yàn)證。
除了Hornet模塊本身,微軟還提議在Linux內(nèi)核源碼樹中引入一個(gè)名為sign-ebpf的新工具。這個(gè)工具專門用于對eBPF程序進(jìn)行簽名,從而方便開發(fā)者在開發(fā)和部署過程中遵循簽名驗(yàn)證的要求。
對于對Hornet感興趣的開發(fā)者來說,他們可以通過查閱相關(guān)的RFC補(bǔ)丁系列,深入了解該項(xiàng)目的具體實(shí)現(xiàn)細(xì)節(jié)。這些補(bǔ)丁不僅揭示了Hornet的工作原理,還提供了如何將其集成到現(xiàn)有Linux系統(tǒng)中的指導(dǎo)。
微軟的這項(xiàng)開源貢獻(xiàn),無疑為Linux系統(tǒng)的安全性帶來了新的提升。隨著Hornet的廣泛應(yīng)用,eBPF程序的安全性將得到更有效的保障,從而推動(dòng)Linux系統(tǒng)在各種應(yīng)用場景中的穩(wěn)健發(fā)展。