GSS資安電子報0209期 【強化軟體供應鏈安全,讓駭客無從下手!】

訂閱電子報
2023年四月06日(四) AM 09:00
翻譯及整理:叡揚資訊 資訊安全事業處
資料來源:Mend-Building a Modern AppSec Strategy: How to Secure Applications
         

    

    當今惡意攻擊活動逐漸將目標鎖定在應用系統層面,對於仍採用傳統應用系統資安策略的公司面臨極大的挑戰。為了在變化快速的威脅環境中自我防護,公司需要建立新型的應用系統策略,才能應付瞬息萬變的局勢,但該怎麼做呢?
在最近的一場線上研討會中,Mend產品管理副總裁 Jeff Martin 與 Forrester 的資深分析師 Janet Worthington 討論如何維護新一代應用系統資安的最佳策略。

      

從 Shift Left 到 Shift Everywhere

    主流關心的趨勢大概就是資安工具在軟體開發生命週期(SDLC)的哪一個階段執行。近幾年來,Forrester 在其應用系統資安調查年報中指出「Shift Left」的概念越來越受推崇,我們看到許多公司表示在開發階段開始執行靜態分析。業界大多數人逐漸有了共識,認為不該等到上線階段才開始資安測試,而是應該在 SDLC 早期階段,在問題還未複雜化前,更容易執行修復。

    Worthington 提到業界開始會在開發、測試、上線階段甚至於設計階段就要設想更多。包括資安的 Shift Left 以及 Shift Right,將此統稱為「Shift Everywhere」,其中的原則是:若想維護應用系統以及應用層面的資安,便不能僅僅在單一時間點評估安全性。開發者一定要考慮到延續整個軟體開發生命週期的安全性,並且將資安測試投入於產品發表前的開發層面。Worthington 表示:「業界越來越多的團隊已經將資安測試與自動化整合進 pipeline,所以一切更簡單了。不必特別記得要開始這些工作,因為它已經整合在你的 pipeline 裡了。我們發現越來越多人想要在開發和測試階段採用這樣的技術,而軟體組成分析(SCA)便是其中的先峰,在所有的測試工具中,它是最多人使用的。」

    不過業界也會採用其他測試種類,Forrester調查中,42% 的受訪者規畫在開發階段採用動態分析,44% 的受訪者則是規劃在測試階段時採用。在過去,動態分析通常會在 SDLC 即將結束時進行,但最新調查顯示此工作正在 Shift Left,讓資安測試平均分布在整個 SDLC 中。

    Martin 表示:「我喜歡 Shift Everywhere 這個做法,因為在現實層面,每個人都知道不能只在一個環節測試資安,或至少大家開始理解測試應該要在各個階段進行,而只靠一種應用系統資安防護是遠遠不夠的。SAST(靜態應用系統安全測試)測試的是程式中特定種類的缺陷;SCA(軟體組成分析)能測試你的函式庫和已知漏洞,特別是來自開源軟體這種可重複使用的元件;DAST(動態分析)能幫助你過濾並找出真正的風險因子。事實上,這些措施沒有任何一個能單獨撐起新一代應用系統資安的解決方案。你一定要考量這些不同的測試機制,同時需要讓各工具間有相互的關聯,才能全方位的找出潛在的風險與解決。在各個階段、利用各式測試工具進行資安測試。不止專家這麼認為,由這份調查結果也顯示業界已經普遍領悟這個道理了。

        

政府的促成與SBOM的興起

    說到資安,便不能不說到 2021 年 5 月美國總統針對改善國家網路安全頒布的行政命令。Worthington 形容該行政命令「可能是過去好幾年以來,資安產業中最令人振奮的消息。」她尤其關注此命令對於改善軟體供應鏈的要求,特別是命令美國國家電信暨資訊管理局(NTIA)將軟體物料清單(SBOM)列入最低規範的要求。Worthington 認為,SBOM 是真正知道軟體商品的內容物以及是否帶有任何風險的關鍵。而對於了解購買或下載的任何開源產品中哪些元件,SBOM也同樣重要。如此一來,當出現如同 Log4j 的漏洞時,便能有所警覺,並迅速採取必要措施來避免或減輕損害。這種漏洞事件更證明公司及政府機關在購買或取用軟體時務必僅任遵照規範。Worthington 表示:「我們需要軟體供應鏈呈現更多的透明度,也確實看到政府在落實這樣的觀念。」

    這樣的影響範圍是十分廣泛的,因為即使公司跟政府沒有合作交易,也需要確保資安軟體供應鏈並提供 SBOM。Martin 提到:「我們開始會在購買軟體時要求提供軟體物料清單。當你向大型、規模龐大的企業販售軟體時,已經有明文規定須提供軟體物料清單了。我想這就是我們邁進的第一步,建立軟體商之間更加透明且正規的信任流程。」

     事實上,這是有跡可循的,這種方式已經在醫療器材產業中實施70年。在器材植入某個人體內之前,一定必須知道每個零件以及每根螺絲是從哪裡來的。

    Martin表示:「基本上信任關係是需要記錄起來的,取得像軟體物料清單的產出物是必要的。而我認為再過三到五年這個階段大致完成後,將會看到更進一步的發展,業界可能會開始普遍要求提供已知漏洞清單的資訊。我們注意到現在很多人會談論 VEX平台(弱點資訊交換平台)。大家想要的不只是一份列出所有內容物的清單而已,還想知道從中知道了些什麼,這些元件有什麼問題,以及是怎麼解決這些問題的呢?所以,我想企業的規範很快就會比政府的政策更上一層樓了。」

        

如何建立好的SBOMs?

     以 Forrester 客戶來說,他們希望知道如何向賣方和供應商索取 SBOM,以及當顧客要求提供 SBOM 的時候該怎麼做。NTIA 的 SBOM 規範側重在以下主要領域,也就是一份好的 SBOM 基本的要素:

  • 資料欄位:SBOM 應包含哪些資訊能保證其全面性與可靠性。
  • 自動化:SBOM 的生產並非一次性的,應該要隨著應用系統的建構而不斷更新,如此才能提供最佳效益。
  • 格式:最常使用的兩個格式為 SPDX 與 CycloneDX。
  • 實踐與程序:更新 SBOM 的頻率、如何發布,以及有哪些人可以取得?

    然而,Worthington 極力主張組織須要求獲得比這些最低規範更多的資訊,對所有元件、相依項目和其相依關係有清晰的能見度與了解,如此一來才能真的知道購買的是什麼東西。進行以下步驟,即可幫助公司為此做好準備:

  • 盤點軟體供應鏈
  • 記錄任何供應鏈與第三方風險問題,並提出緩解方案
  • 與供應商溝通,索取 SBOM 與漏洞報告
  • 販售的軟體及套裝中的開源軟體自動化建立 SBOM
  • 跨部門合作以落實軟體供應鏈資安,包含法律、授權許可、資安,開發部門人員與其他利益關係人

    強烈建議供應商能夠積極主動並公開誠信,因為你不會希望客戶取得 SBOM 後卻回報更多漏洞,並且質問該如何解決。這會讓客戶心中疑慮油然而生,進而動搖信任。

    另外,SBOM 本質上就是機器可讀的格式且是由機器生成的,故其建立與使用應是可自動化的。人工建立的版本是絕對不夠詳盡的,建立的速度也不夠快速。SBOM 需要迅速涵蓋多層的相依項目,因此只有自動化才能隨時準備好在有需要的時候即時提供訊息。而且要知道,因為「Shift Everywhere」的關係,較晚進入建構週期的項目,像是部署、基礎架構以及Containers,都應建立物料清單。

      

軟體組成分析(SCA 的角色)

     根據美國國家電信暨資訊管理局提出的正式定義SBOM為「建構一特定軟體時所需組件、資料庫與模組之完整並正式建立之清單,以及其間的供應鏈關係。該組件可為開源或具版權、免費或付費,以及可自由取得或有存取權限。」在應用系統生命週期中加入 SCA 工具,多數的 SCA 工具就會建立SBOM,讓軟體開發商能夠分析 SBOM,找到元件與其漏洞,並將 SBOM透過前面提到的任何其中一種格式提供給客戶。

    除此之外,優秀的SCA工具能夠幫助識別惡意元件,並把它們從 SDLC 中移除。Martin 表示:「每一個程式都應該要加裝 SCA,即便你沒有特別在意資安也一樣,因為 SCA 可以幫助建立庫存,甚至更進一步整頓,知道有哪些風險和漏洞,而好的解決方案也能協助決定處理這些問題的優先順序。上述的功能同時有助於授權許可的合規。這樣看來,也不難想像總統行政命令特別強調 SBOM,讓這個方法獲得更多認可。根據 Forrester 的報告,SCA 在設計、開發、測試及上市階段均已經非常廣泛地被採用,且許多受訪者也規劃要超越目前的使用率,因為如果在建立 SBOM 前,你就能確保有採用符合你標準的開源和第三方資料庫,那麼就能為未來的自己省下許多麻煩。」

209 1 您計劃在應用程序開發生命週期的哪個階段實施 SCA

圖1 - 您計劃在應用程式開發生命週期的哪個階段實施 SCA?

資料來源:Forrester State of Application Security Report 2022

    根據Forrester的研究,相較於沒有遭遇過資安侵害的受訪者,在過去一年中曾通報資安侵害的受訪者中,有很大的比例都計畫採用 SCA。 Martin說:「不要等到家裡遭小偷才想到要鎖門。數字顯示 86% 的業界人士不是早已經採用這項技術,就是正計畫要使用。不知道剩下那 14% 的人還在等什麼,但是可以保證,被侵駭過一次之後,就會加入那 86% 人的行列。」

  

API 資安與最佳實踐

    Worthington 和 Martin 同時深入討論了 API 安全。Forrester 詢問受訪者他們計畫在 SDLC 的哪個階段實行 API 安全。結果可以看到,受訪者在開發、測試與上線等階段回答非常的統一,許多 API 資安測試是從產品上線階段開始執行,因此有各式的工具可以選擇。但是 Worthington 強調 Shift Left 的思考模式在這種情況下依然十分重要。她建議在生命週期早期就建立 API,才能確保你在進入上線階段前就發現問題,在初期是相對容易進行變動來解決漏洞問題的。

209 2 許多公司正在整個生命週期中採用 API 安全措施

圖2 - 許多公司正在整個生命週期中採用 API 安全措施

資料來源:Forrester State of Application Security Report 2022

    考慮到這點,Worthington 對於 API 最佳實踐建議圍繞在「了解使用的是什麼」、「採用的是哪個 API 版本」,並且確保資安及開發團隊在 SDLC 早期就有這些考量。最佳實踐的重點則為:

  • 實踐安全程式設計、開發與測試,讓資安與開發團隊一同參與
  • 每一處皆需驗證,並且要時常進行
  • 盤點與記錄 API 清單
  • 阻擋惡意 API 流量

      

結論

    Martin 提倡的設計開發思路,是在設計階段即開始整合應用系統資安,而不是將工作推遲至更末端的階段。雖然對舊有應用系統而言極為困難,但新一代應用系統開發都必須這麼做。

    Wothington 補充道,成功的程式也需要一種開發團隊、資安團隊以及其他團隊同心協力的文化。憑藉這樣的文化,整合資安工具與方法將會簡單許多,因為團隊間早已相互了解彼此的重要性。那麼,所有人就能夠共同在 SDLC 的過程中,一點一滴地努力改進,把資安防護打造得更滴水不漏。

相關文章

資安通報:Apache Struts CVE-2023-50164

Apache Struts 近日被通報高風險漏洞,目前通報等級為 9.8 分,其攻擊方式主要透過攻擊者操縱上傳文件的參數,引發路徑遍歷(Path Traversal)攻擊。這可以讓攻擊者上傳惡意文件,並最終執行遠端程式碼(Remote Code Execution),從而掌控應用程式或伺服器。
2024/01/08

軟體供應鏈必學資安課題,如何拉近開發與資安的距離?

今年 IT 圈最熱門的話題之一,便是資本額達百億元以上的上市櫃公司須在年底前完成設立資安長及資安專責單位。以往資深資安人才本就難尋,如今更是炙手可熱。日前台灣資安主管聯盟的成立大會上,會長金慶柏曾指出,目前全台資安人才缺口超過 4 萬人!既然對外招募不容易,那麼從企業內部培養資安人才、提升人員資安意識便是另一途徑。
2022/06/17

金融業恐淪Log4j漏洞風暴最大受害者!可能有高達一半比例的公司使用10個以上有...

企業如果想要因應Log4j漏洞的危機,首先要先清查自己到底有多少系統使用了有漏洞的Log4j版本,而根據國內一家廠商對用戶進行的調查,許多產業都無法倖免,但其中,金融業所要處理的Log4j漏洞管理作業可能最繁重,因為他們的金融業用戶中,使用有漏洞Log4j版本超過10個的公司,竟高達50%
2022/01/03

數位政府、開放金融 (open banking)、 數位生態圈 你準備好了嗎?

iThome: https://www.ithome.com.tw/pr/125569 叡揚資訊攜手 Axway 帶領客戶進行數位轉型。 由左至右:叡揚資訊系統事業處 何玉雲處長、Axway 亞太區 ...
2018/08/31