為提供您更佳的服務,本網站使用 Cookies。當您使用本網站,即表示您同意 Cookies 技術支援。更多資訊請參閱隱私權聲明確定

5G 生態系統及供應鏈安全核心 – 軟體安全


思科台灣首席資安顧問 游証硯 (Allen Yu)

綜所周知從 5G 發展到營運,在我們的生活中已有初步的成效,雖未見超級應用服務在 5G 架構或平台上展現。但由於 5G 涉及層面甚廣,尤其對於台灣製造業的供應鏈實為大發展的商機。然而,在過去二年來,太多的安全產品及服務供應商,著重於 5G 架構及設備的外部防禦及保護。甚少提及 5G 產業及生態下的開發安全;5G 上之應用及服務隨使用的需求或場域需要因應而生,因此自主發展的商機隨處可見,所以軟體安全便是一個重要的課題。

Cisco 使用自主性發展的安全開發生命週期方法論 (Cisco Secure Development Lifecycle,CSDL) 來對 5G 硬體及軟體的發展準則;CSDL 是可重複且可衡量的 5G 軟體安全開發準則。CSDL 流程在提高 5G 產品的彈性和可信賴性。CSDL 應用行業領先的實踐和技術用來建立 5G 供應鏈可信賴的安全體系。

Cisco Secure Development Lifecycle 主要分為六個軟體開發安全循環元素來控管 5G 相關軟硬體的發展,對於各元素著重的相關內容闡述如下:

- Product Security Requirements:產品安全基準 (PSB) 定義所有產品的流程和技術要求,且須針對所有技術、流程和文件要求執行差距分析。

- 3rd Party Security:使用第三方軟體或組件時審視相關安全技術及流程來確保產品整體安全。

- Secure Design:通過考量已知的威脅和攻擊減少設計的漏洞。

- Secure Coding:通過最佳做法,安全和訓練減少設計過程中因人為因素產生的漏洞。

- Secure Analysis:使用靜態分析方法模組化的安全檢測技術找出程序性安全錯誤。

- Vulnerability Testing:篩選是否存在已知的漏洞和易受到攻擊的方向及內容。


一、 Product Security Requirements 產品安全要求

產品安全要求來自二個面向的內容,產品安全基準和市場標準。這些要求是根據已知風險從思科產品安全基準 (PSB) 定義和外部來源 (產品適用所在行業) 匯總而來及客戶期望和行業最佳實踐。產品需要符合這兩種類型的要求:

1. PSB (Product Security Baseline) 定義:安全性相關功能、開發過程以及產品組合的期望,且專注於重要的安全組件,例如軟硬憑證和密鑰管理、加密標準、防欺詐功能、軟體完整性、防篡改功能、通訊層會話控制、資料流控管、敏感資料處理和日誌記錄功能等內容。在 PSB 這個關鍵的要求是不斷增強以融合新技術新基準,並在建立強韌性的保護標準以應對層出不窮的威脅。

2. 市場要求及標準:政府、金融、醫療及關鍵基礎設施等行業或市場通常會需要額外的安全保障。這些要求可能會超出 PSB 定義的要求,思科致力於滿足或超越行業需求。要求的產品認證可能包括:

- 各國商務及海關輸出入的組件、功能或產品的批准管理。

- 國際及各國技術通用標準或 ISO 體系驗證

- 加密功能產品密碼驗證

- IPv6 認證

二、 Third-Party Security 第三方軟體安全

資訊行業慣例是將商業和第三方開放原始碼合併將軟體整合到產品中。因此,在大多數情況下產品和客戶可能會受到影響,例如:發現第三方漏洞或組件的缺陷。為了最大程度地減少影響,使用整合性工具了解其潛在的第三方軟體安全威脅,包括以下內容:

1. 知識產權 (Intellectual property) 系統與入庫管理:內部使用第三方產品軟體通過集中維護的系統及儲存。此一作法需要輸入相關來源地、取得日期、版本資訊、保管人、軟體程式模組組件及內部使用的產品等相關的任何原始資訊及數據,一旦如果發現漏洞,可以快速識別所有受影響的產品。

2. 第三方軟體威脅知識庫:為促進準確性和對第三方漏洞快速應變的機制。建立第三方軟體威脅和漏洞的通知,自動發送警報不斷更新的已知第三方軟體威脅列表中的產品團隊及漏洞,快速進行調查和風險緩解。使用工具對第三方軟體進行掃描、分解及檢查原始碼與 Image Files,以提高第三方軟體庫的準確性和完整性。

三、Secure Design 安全設計

設計階段注重二個層面的管理,例如:設計人員安全知識及產品設計的威脅鑑別,以識別設計缺陷或漏洞可能來自設計人員、過程等,並考慮緩解這些威脅的方法。

 1.設計人員安全知識:安全設計需要對設計人員專業提升。內部安全培訓計劃鼓勵參與開發設計的專家提高安全意識,同時鼓勵深入研究安全學習。通過持續不斷發展的威脅意識及利用槓桿作用,遵循行業標準原則和高度安全的審查流程,致力創造設計更加安全的產品。

2. 產品設計的威脅鑑別:產品開發過程中對程式威脅建模是一個軟體開發組織對於安全深度鑑別的一種方式,且可明確的發掘威脅亦可重複的使用,目的在了解和確定威脅的優先等級、系統安全風險、程式模組的安全銜接性及參數與函數對於威脅的強固性。在對威脅進行建模時,以威脅模組追蹤程式內運行的通訊流、資料流,並確定可能會破壞通訊及資料的信任邊界。一旦識別出潛在的漏洞和威脅,就可以採取緩解策略降低風險。使用威脅建模工具以公開適用的內容簡化了流程,使開發人員明確的找出通訊流及資料流和信任邊界的威脅。

四、Secure Coding 安全編碼

安全編碼需提供更高的完整性和真實性保證,運用 FIPS 140-3 標準以防止拆卸或修改的實體及竄改防護機制,並在安全啟動平台時提供可靠的軟體。在啟動過程中檢查 Hash 值後,Signed Image 確保保護軟體的完整性。

1.由產品項目及組織的要求,程式設計人員必須遵循一套統一的規則和準則。資深開發人員知道編碼和程式實現錯誤可能導致潛在的安全漏洞。組織要求產品開發設計團隊都應承擔責任,且確保抗威脅代碼的不應存在於各產品開發項目中。對於各層級的開發人員實施不定期的安全編碼訓練,學習學習安全編碼準則和最佳做法。

2.準備及使用越來越多經過審查後的強固性安全模組,作為補充安全編碼最佳實踐。這些安全模組的目的在於減少安全問題,同時增強工程師自信地編寫程式及安全功能的能力。至於 CiscoSafeC、CiscoSSL 及 OWASP ESAPI 和其他程式庫則專注於安全通信、編碼和資訊儲存等內容。

五、Secure Analysis 靜態分析

開發用於檢測程式碼的靜態分析 (SA) 工具識別程式內關鍵安全程序,以檢測程式碼C語言和Java語言中的漏洞。通過內部總體流程技術分析、整體模組檢測試驗,確定一組檢查程序以最大程度地檢測安全性問題。如:buffer overflows、tainted inputs and integer overflows 為目標,必須是 False 誤值或程序錯誤等最小化或歸零,且在查看所有檢測後的風險須列示修復高優先級的問題。總體而言靜態分析是以不影響流程式運作流程安全、資料安全、通訊安全等最為高風險控制要求。

六、Vulnerability Testing 漏洞弱點測試

擁有多樣多種的測試工具,從網路層測試至應用層,首先從各通訊協定進行測試最後是應用測試及攻擊測試等;亦使用 20 種以上的 Open Source 進行測試。

漏洞弱點測試有助於確保對產品進行安全缺陷測試。首先確定以下內容為每種產品網路層的檢測分析:

1. 產品中實現的所有通訊協定,亦是檢測在產品開發初期所定義之通訊流中所使用的通訊埠。

2. 基本溝通的通訊埠及服務,確保不因外在因素通過此部份內容危害侵害運作中的程式。

3. 個別產品因系統配置、產品特性及客戶特殊接軌需求等,所需使用的通訊協定、通訊埠及服務。

然後對產品應用層進行評估,以確定其抵禦探測和攻擊的能力;至少三個以上的漏洞弱點應用測試內容:

1. 通訊協定及通訊埠穩健性、模糊性測試,將一堆亂數據輸入到一個程式中,並監視通訊流及程式異常行為是否可能產品安全漏洞。

2. 常見的原始碼弱點和商業性駭客工具可進行常見的攻擊和掃描。

3. 應用面如 Web Applications 應用程序掃描。

要執行有效的安全封裝測試計劃,需要使用多種安全工具,亦可將安全測試全部合併為一個易於安裝的單個工具。這有助於測試團隊以一致且可重複的方式測試安全缺陷。產品團隊設計了定製測試流程及內容,以補充標準的安全測試套件。如:專門的滲透測試和安全風險評估也可以提供進一步的服務識別並解決潛在的安全漏洞。

總之,5G 時代來臨應運而生的架構開發、應用服務開發在供應鏈的生態體系,開發安全實為不可忽視的一環,相關投入資源都應將開發安全注重的內容置放在開發循環中,避免影響整體 5G 的服務。而下一步須關注在 5G 應用軟體的弱點管理,如何將因軟體內外在因素所產生的弱點,以更妥善的處理思維,協助各方安全的應用弱點管理亦是另一項重點。"