容器化 Linux:物聯網安全的秘密
許多軟體開發團隊傾向於在一般的 Linux 發行版上開發工業系統設計,甚或是自行內部開發系統。然而從系統安全觀點而言,這卻不一定值得推薦;因為正規化安全開發實務的導入需要耗費龐大成本與時間,偏離了提供加值工業產品的最初目標。
開放原始碼的 Linux 社群雖然長年以來均可靠地提供錯誤修正及安全修補,但這樣的安全網卻可能因內部的程式碼基底與社群基線漸行漸遠而使開發團隊的效益隨時間縮減。軟體開發團隊在工業嵌入式裝置的整個部署生命週期當中,不僅須負責確保核心 Linux 發行版的安全,同時也需為持續增加且複雜化的應用程式程式碼確保安全。
企業必須判斷開放原始碼 Linux 型開發環境所帶來的靈活彈性與敏捷性是否提供足夠效益,值得在產品壽命全程維護安全的程式碼基底。
安全軟體的價值與成本
目前,逾 500 項有效弱點影響著 Linux 核心,包括記憶體溢位和繞道,以及隱私權相關的程式錯誤。
支援安全 Linux 發行版的一大缺點即在於安全功能難以轉化收益,並不受顧客重視。安全已經成為一種前提,僅在失效時才受人矚目。
但是從安全軟體開發生命週期 (SDLC) 的觀點而言,卻存在許多不容忽視的考量。其中包括在 SDLC 的評估、架構、設計、實作與部署的每一個階段導入最佳實務,並於軟體實際部署至物聯網裝置後,繼續進行監控及維護所需的安排。
而在這些實務的背後,則隱藏著解決科技、營運以及生命週期需求的各種策略(圖 1)。其中包括軟體堆疊如何與底層電路互動、如何使用哪些開發與測試工具、第三方服務的整合方法、網路加密連線,以及裝置管理和更新程序等。
另外,物聯網裝置也因本身特性而需能夠監控各種威脅,例如列於 MITRE 安全資料庫中通用漏洞披露 (CVE) 清單上的威脅,以利在裝置部署後仍繼續防範新興威脅。為此,開發團隊必須保持靈活敏捷,以迅速辨識漏洞、通知用戶端,並於損害發生前在線上 (OTA) 及時提供安全修補與錯誤修正。
架設與導入這種基礎架構不僅需耗費龐大成本,更可能需要數年時間反覆將其妥善微調。
連結開放原始碼的靈活彈性與工業級的安全性
另一種做法,即是與已落實安全的 SDLC 及實務的廠商合作。例如 Wind River Pulsar Linux,就是以 Yocto Project 工具和程序為基礎而開發的容器化 Linux 發行版,為軟體工程師提供開放原始碼環境的靈活彈性及商業級的錯誤與漏洞修正支援(圖 2)。
Pulsar Linux 的安全與彈性源自於其容器架構,在工業裝置上將 Linux 核心和使用者空間程式庫等重大軟體元件隔離,不接觸其後部署的應用程式(圖 3)。在這些容器中,應用程式之間亦互相隔離,可有效分離單一應用程式漏洞的影響範圍,不危害其他的敏感程式碼或資源。
此架構不僅有助於整合其他如 Red Hat 或 Ubuntu 等熱門 Linux 發行版本的應用程式,更將軟體元件分隔而減少依存關係,使程式碼基底的更新與管理更加容易。
Pulsar 作業系統核心沿用傳統 Wind River Linux 的套件與中介軟體,包括安全、虛擬化與電信業等級功能方面適用之特定市場的設定檔(如上方圖 3)。這套作業系統使用 Wind River 的安全架構來開發,善加發揮 Intel® 處理器上的安全功能,如 Intel® 受信任執行技術、安全開機,以及使用 Intel® Advanced Encryption Standard New Instructions (Intel® AES-NI) 進行硬體加速的加密演算法。
不過,Pulsar 對於工業組織與開發人員最主要的助益,仍在於能夠提供統包式的軟體基礎架構平台。客戶無需將 Pulsar 移植至硬體平台並自行建立和維護發行版本,而可取用由 Wind River 與 OEM 為特定硬體目標所提供並持續維護的已認證二進位映像檔。
在 Wind River 的維護作業當中,即包括監控 MITRE 之類的安全資料庫,確認任何可能衝擊 Pulsar 軟體元件的漏洞,並發佈修補程式供使用者直接從線上支援系統存放庫下載。其後,即可將這些修補程式安裝於任何適用的作業系統容器。
開放原始碼的靈活彈性、商業級的安全防護,還是兩者兼具?
當工業物聯網技術的市場趨近成熟,工程開發的價值亦越發呈現於應用程式層,而非在系統底層的基礎架構。
Wind River Pulsar Linux 將此概念更進一步提升,把商業級的安全發行版本與已認證的硬體平台搭售,讓工程團隊能夠在熟悉的開放原始碼環境下專心投入於應用程式開發。這種聯合的解決方案能以單一物料清單 (BOM) 項目提供且包含維護。
根據 Wind River 研究指出,商用 Linux 解決方案可將一個物聯網產品在生命週期全程為了開發、部署與維護安全 Linux 發行版本的總持有成本 (TCO) 節省高達百分之 53,更遑論若發生安全漏洞而可能造成的衝擊。
如需深入瞭解 Wind River Pulsar Linux 如何讓軟體工程部門更加靈活敏捷,請觀看「為網路邊緣提供安全的物聯網平台」(Providing Secure IoT Platforms at the Edge) 網路研討會。