張磊
近幾年,信創產業發展速度越來越快,規模越來越大。在短短三年的時間內,整個產業的規模從不到十億元成長到超過百億元,計算機臺套數從十萬量級增長到百萬量級;在五年的時間內,國產操作系統面向的主要用戶群已經從開發者、系統管理員變成了日常辦公的工作人員。在未來五年的時間之內,產業規模將再上臺階,計算機臺套數從百萬量級成長為千萬量級,而國產操作系統面向的主要用戶群也將迅速擴展到千行百業,遍及銀行、證券、電信、能源、交通等各個行業。
隨著產業規模的持續擴大與逐漸步入千行百業,在安全體系建設方面必然會面臨下面的問題:一是產業規模越大,則對安全的要求越高,若是安全性保持不變,則規模越大,絕對的安全風險也就越大。二是涉及行業越多,安全場景與安全策略要求就愈加多樣化、復雜化。三是產品市場越大,則涉及的安全生態也越多,如何站在用戶角度與生態伙伴構建完整的安全體系,使得用戶系統不要出現過低的短板與系統接合部的安全間隙,也是越來越值得重視的問題。
安全是一個整體性問題,整個系統的安全不在于單個子系統的安全,而在于整體系統中最短板的長度,以及各子系統之間的緊密配合程度。因此,安全體系建設的關鍵三問就是:
安全體系建設應該以什么為指引?現有國產操作系統以開源為基礎,開源軟件的發展沒有整體架構,那應該如何從整體上把握系統安全并展開規劃?以產品為安全根基,如何建設安全過程與規范以保障生態鏈安全?
如圖所示,經典的軟件開發過程是倒金字塔結構,橫向為時間,從左向右流逝,縱向為粒度,從上到下越來越細。除此之外,金字塔左側與右側位于同一平面上的工作又產生了一一對應的關系,例如需求分析對應的是用戶接收測試,高層設計對應的是系統測試,詳細設計對應的是集成測試,而代碼編寫對應的就是單元測試了。
但是在開源操作系統上,這個經典的軟件開發過程會遇到一些問題,其中最突出的問題體現在架構設計上。設計階段的第一步一般是架構設計,即要從最高層次對系統整體進行結構分解,給出各子系統之間的關系,以及子系統如何基于給定關系協同以達成整體系統的目標。軟件業界有大量的優秀架構模板可以選擇,架構師往往也是參考現有的架構展開設計的。
無論架構師選擇了哪個架構,還是自行發明了一個新的架構,他都是在做從頂至底的分解設計,每個子系統的目標需要配合整體系統的大目標。但是開源操作系統的開發與此過程有極大的差異,《大教堂與集市》將開源軟件的開發比喻成集市,將經典軟件的開發比喻成大教堂,前者是演化的而不是規劃的,后者是規劃的而不是演化的。不過由于安全是整體性問題,因此我們需要對系統架構有所把握,對應的解決方法就是開源操作系統的分層分類方法。
總體來說,在整個安全體系架構建設方面,需要做到多個方面的結合。在更高標準指引更強架構分析更開放與更開源的安全生態建設指導下,統信軟件首先從自身安全出發,基于安全研發過程保障整機安全與網側安全,通過根社區建設、SBOM治理與安全聯合實驗室保障供應鏈安全,并通過應用治理體系、安全生態建設、安全應急響應與安全接口規范與安全生態伙伴共同保障了生態安全,從而為數字化基礎設施的基礎軟硬件提供了全面的安全保障。