Linux防禦談
HardenedLinux 寫道
"Green Hills 的 Dan O’Dowd 於 2004 年發表的名爲 Linux in Defense 的系列文章通過一系列的分析試圖向公衆解釋爲什麼 Linux 內核不適合一些場景特別是國家防禦,在第一篇 ( FAA Safety-critical Certified Operating Systems Deliver The Reliability and Security Required by Defense Systems; Linux Does Not) 文章中談到了大衆認爲 Linux 內核作爲通用操作系統可以用到除了桌面和服務器外的場景比如國家防禦系統,Dan 認爲不應該考慮在 FCS(陸軍未來戰士系統),JTRS(聯合戰術) 以及 GIG 中使用 Linux,對關於高安全性系統方面提出了探討:
*) 必須滿足 DO-178B Level A 的合規要求
*) 雖然 EAL7 的要求非常困難,特別是形式化驗證從而保證軟件真正意義上的 bug-free 所帶來的防禦能力方面,工業界和學術界都對 Orange book 的最高形式抱有期望,所以 Linux 應該滿足 EAL7 才能用於國家防禦體系
第二篇 ("Many Eyes" - No Assurance Against Many Spies) 文章中談到了當時流行的觀點,即開放源代碼的系統更安全,因爲有更多的人去閱讀代碼和查找 bug,但 Dan 認爲:
*) Linux 的代碼是由全世界(包括中國和俄羅斯)開發者貢獻,這對美國的國家防禦造成了潛在的風險,因爲哪怕一個硬件廠商提供的驅動有漏洞或者後門就會導致嚴重的後果,而 GNU/Linux 發行版的生態衆多也導致維護方面的安全風險
*) 針對 DO-178B Level A 認證的只有數千行源代碼的實時操作系統進行後門植入幾乎是不可能完成的任務
*) 植入後門到 Linux 內核不是一件困難的事情,比如參考 Ken Thompson 也植入過難以審計和發現的後門的例子
第三篇 (Linux Security: Unfit for Retrofit) 談到:
*) 開源並沒有讓 Linux 比 Windows 更安全
*) 當時的 GNU/Linux 只能滿足 EAL2,而 Windows 已經可以滿足 EAL4
*) NSA 的 SELinux 並不是解決方案,因爲 SELinux 當時只是一個原型研究
*) “Security through obscurity” 是 Linux 內核社區處理安全的方式,但並對於安全性的並沒有幫助
*) 公開所有的東西是有利於攻擊者,所以封閉系統更有優勢
第四篇 (Linux in Defense: Free Software is Just Too Expensive) 談到:
*) Linux 比專利操作系統更昂貴,比如當時 MontaVista 的嵌入式 Linux 軟件在費用上比 Green Hills 的專有實時操作系統費用更高
*) Linux 增加國防廠商的開發時間和成本
*) Linux 由於代碼量大所以提升了硬件成本
*) Linux 也無法滿足國家防禦系統要求的長期維護的問題
第五篇 (Linux in Defense: An Urgent Threat to National Security) 中談到 Linux 漏洞衆多,修復也需要時間,這和 EAL7 的系統無法比擬,爲什麼 Linux 事關國家安全呢?因爲中國和俄羅斯都會針對 Linux 開發數字軍火進而打擊美國的防禦。
此文從發表至今已經有 13 年之久,但有一些事情卻很相似:
*) Windows 10 的安全性高於目前的 Linux 4.12,Windows 10 啓用了近期 x86 硬件的一些特性進行了加固,包括 HVCI/CFG / 不完整 RFG
*) Linux 內核社區依然堅持 "Security through obscurity" 的哲學,依舊沒有建立安全風險評估體系
*) 依靠 “many eyes" 讓軟件變得安全經過了斯諾登大爺事件後被證明是不靠譜的,一方面沒有那麼人會” 好心 “的幫忙審計代碼,另外開源只能保證可審計性,雖然可以一定程度上有助於制定防護方案,但並不直接等同於安全防護能力
*) 開源服務依然昂貴,大廠商要麼得組建自己的團隊 (GCP/AWS/BAT3H) 去評估和維護業務依賴的開源軟件,要麼的高價購買相關解決方案和服務
當然,也有一些情況和 2004 年時還是不同:
*) SUSE 和 RedHat 的系統擁有了 EAL4 + 的認證
*) 除了 Five Eyes 國家的政府部門,SELinux 在 GNU/Linux 上的部署兩遠遠沒有在 Android 上多
*) 俄羅斯軍方基於 Debian GNU/Linux 開發了 Astra 操作系統
*) 基於 GNU/Linux 平臺的場景化加固方案對於高安全性環境的部署大幅度增加,側面證明了開放系統並沒有 Dan 認爲的那麼不安全
*) 除了桌面和服務器,Linux 內核進入了更多的領域包括:數據通信領域的高速網絡設備以及小型嵌入式系統等
"