白宮呼吁加大內(nèi)存安全開發(fā)技術投資,事關國家安全
美國白宮國家網(wǎng)絡主任辦公室(ONCD)近日發(fā)布題為《回到基礎構件:通往安全軟件之路》的報告,呼吁業(yè)界加大內(nèi)存安全投資,并鼓勵技術社區(qū)積極采用內(nèi)存安全編程語言,例如Rust、Python、Swift、C#、Java和Go等。
內(nèi)存安全漏洞是指編程語言中以意外的方式訪問、寫入、分配或釋放內(nèi)存的一類漏洞。惡意行為者可能利用這類漏洞非法訪問、破壞數(shù)據(jù)或運行任意惡意代碼。
過去幾十年,軟件開發(fā)者通過各種方法不斷嘗試解決普遍存在的內(nèi)存安全漏洞問題(例如開發(fā)者培訓、代碼覆蓋、安全編碼指南、模糊測試、靜態(tài)/動態(tài)應用安全測試),但收效甚微。
75%的漏洞與內(nèi)存安全有關
根據(jù)Horizon3.ai發(fā)布的2023年漏洞利用分析報告,內(nèi)存安全問題是僅次于“注入”的第二大漏洞原因,75%的內(nèi)存安全漏洞被攻擊者作為零日漏洞利用。Horizon3.ai首席攻擊工程師ZachHanley表示,還有25%的漏洞起初由安全研究人員發(fā)現(xiàn),之后才追溯到曾被用于零日漏洞攻擊。
美國國家網(wǎng)絡總監(jiān)助理Anjana Rajan列舉了1988年的Morris蠕蟲、2003年的Slammer蠕蟲、2014年的Heartbleed漏洞、2016年的Trident漏洞以及2023年的Blastpass漏洞,指出這些漏洞的根源均為內(nèi)存安全問題。
Rajan表示,過去35年來,內(nèi)存安全漏洞一直困擾著數(shù)字生態(tài)系統(tǒng),但并非無解。白宮的ONCD報告由工程師編寫,旨在鼓勵開發(fā)者在選擇構建模塊時做出有利于安全性的決策,從而大幅縮小網(wǎng)絡攻擊面,保護數(shù)字生態(tài)系統(tǒng)乃至國家安全。
內(nèi)存安全語言與內(nèi)存安全硬件的價值
ONCD報告闡述了內(nèi)存安全編程語言和內(nèi)存安全硬件的形式化方法的重要性。這些方法可以幫助軟件開發(fā)人員避免多種軟件漏洞(不僅僅是內(nèi)存安全漏洞)。
報告還強調(diào)了內(nèi)存安全硬件的重要性,因為對于某些系統(tǒng)(例如太空系統(tǒng)),可能無法使用內(nèi)存安全語言,報告探討了如何通過硬件實現(xiàn)內(nèi)存安全的補充方法。例如,一些制造商已經(jīng)開發(fā)了新的內(nèi)存標簽擴展(MTE)來檢查內(nèi)存位置的指針的有效性。
報告指出,內(nèi)存安全編程語言(MSL)是減少內(nèi)存安全漏洞的最高效方法。將不安全的代碼庫遷移到內(nèi)存安全語言的長期收益遠大于短期的遷移成本。
Trail of Bits首席執(zhí)行官Dan Guido指出,形式化方法結合內(nèi)存安全編程語言,能夠提供一種消除軟件漏洞的強大框架,其精準度至今無出其右。
白宮強調(diào),ONCD報告旨在將網(wǎng)絡安全責任從個人和小企業(yè)轉移到大型科技公司和聯(lián)邦政府等大型組織身上。報告指出,美國網(wǎng)絡安全和基礎設施安全局(CISA)、美國國家安全局(NSA)、聯(lián)邦調(diào)查局(FBI)等機構聯(lián)合發(fā)布的《內(nèi)存安全路線圖指南》報告(鏈接在文末),為制造商提供了消除產(chǎn)品內(nèi)存安全漏洞的指導性步驟。
白宮報告還提及了軟件可測量性問題,并呼吁學術界參與其中,共同開發(fā)更好的診斷工具來評估網(wǎng)絡安全質(zhì)量。
行業(yè)專家觀點:從關鍵太空系統(tǒng)開始
霍尼韋爾互聯(lián)企業(yè)首席技術官Jason Urso認為,將內(nèi)存安全編程納入軟件設計流程,將成為網(wǎng)絡防御工具包的重要補充,該工具包中的其他工具還包括網(wǎng)絡隔離、高安全模型以及實時威脅和漏洞評估。
斯坦福大學計算機科學教授Dan Boneh則表示,如果能夠將所有現(xiàn)有軟件“神奇地“轉換為內(nèi)存安全語言,軟件質(zhì)量將會得到極大提升,但遺憾的是,這種“魔法棒”目前并不存在。
Boneh認為,白宮采取了務實的措施,建議從關鍵太空系統(tǒng)開始實施內(nèi)存安全編程,這是一個很好的測試平臺。防止內(nèi)存安全漏洞只是邁向更安全軟件的第一步,形式化驗證和限制技術也是重要的安全工具,很高興看到白宮呼吁加大對此類技術的投資。