資訊中心管理
Secure Code Warrior 安全程式培訓平台 培訓課程協助開發人員 達到 NIST 要求水準
前往目錄
Secure Code Warrior有符合NIST標準的課程,是根據美國政府行政命令的指導方針所建構,能有效幫助開發人員提高安全意識和技能

最近在資訊安全領域中醞釀著一股情緒…… 許多企業組織開始將「優先考慮安全性」的概念植入軟體發展過程中,而且最好是在發展初期就考慮安全性。關於這點,美國總統拜登近期也針對網路安全頒布了一個行政命令,該行政命令涉及網路安全的許多面向,並且首次具體概述了開發人員對安全性的影響,強調開發人員擁有安全技能認證和資安意識認證的必要性。在這個氛圍下,不管是民間單位或是政府單位,對於開發人員如何制定一套安全程式碼撰寫原則的討論都有了更多的進展。

然而,在相關討論中有個重點經常被遺漏。雖然行政命令建議開發人員需要具有安全技能的認證,但至今尚無這類官方認證。因此而許多公司在追求合規性和更高的軟體安全標準時,仍然遵循 NIST 提供的更新指南;但若想要大幅減少漏洞、同時結合適當的工具、又要保持軟體的發佈速度,多數的策略都太過籠統,無法創造出理想的結果。這就是許多公司陷入困境的原因,因為傳統的開發人員培訓效果有限,又或是離開發程式的場景太遠,以至於開發人員沒能掌握開發時真正用得上的技能。

每個有安全意識的開發人員都不是天生就有安全意識的。但有了正確的工具,開發人員的安全能力可以更快地獲得培養和提升。在此,我們很高興地宣布:Secure Code Warrior 具有符合 NIST 標準的課程,是根據美國政府行政命令的指導方針所建構,能有效幫助開發人員提高安全意識和技能。

提供開發人員 更有意義、更貼近開發實務的協助

我們參考 NIST 所發布的行政命令關鍵型軟體指南(EO-critical),依據指南中指出的五個關鍵目標來建構課程。這些關鍵目標的目的是幫助最高層政府單位提高核心軟體的安全性,並期許為軟體開發安全立下更高品質的標準。

我們認為,開發團隊的安全技能要突破到新的高度,需要的不只是紙上談兵的理論課。一定要透過反覆的實戰訓練,才能真正的學以致用。一般來說,工程師會依可完成的工作項目做為工作目標,然而傳統開班培訓的方式占用太多的開發時間,還會影響敏捷衝刺的進度,導致開發時程延宕,而讓工程師感到困擾,甚至排斥。

解決這些問題最好的方法是:讓實務培訓與日常工作融合,避免中斷開發進程,讓開發人員可以保持敏捷的步調。而我們的課程實踐了微學習(Microlearning)的理念,這種簡短、專注學習的方式更符合開發人員的需求,不僅能自行安排培訓進度,臨時遇到陌生漏洞也能快速習得必要知識。企業更可以根據開發團隊的工作需求,組合出令人難忘且具實用性的安全培訓計畫。

現在來看看我們在 NIST 課程中是如何設計的吧:

目標1

保護關鍵軟體(EO-critical software)和關鍵軟體平台(EO-critical software platforms), 防止其未經授權的訪問和使用。

安全錯誤配置(Security Misconfiguration)和不當的認證(Improper Authentication)兩類漏洞常被攻擊者用來成功滲透系統、接管帳戶和竊取數據。這兩類漏洞都是很常見的錯誤,如果被成功利用,將會導致巨大的問題。

Secure Code Warrior 的學習平台上,開發人員可以透過挑戰真實世界裡的程式碼片段來提升技能,這些程式碼片段精確地反映了日常工作中可能會遇到的程式碼錯誤(bug)或漏洞,讓開發人員能夠找到最為適當的解決方案來保護程式碼。

而對於 DevOps 工程師而言,他們的職責則是要確保基礎架構上的安全,像是安全縝密地設定存取控制權限。為此,Secure Code Warrior 在 基礎架構即程式碼(IaC)語言中都有設置專門的挑戰課程來滿足這樣的培訓要求,像是Terraform、CloudFormation 和 Ansible, 以及在Docker 和 Kubernetes 均有對應的課程提供給開發者做為培訓內容。

「保護關鍵軟體(EO-critical software)和關鍵軟體平台(EOcritical software platforms),防止其未經授權的訪問和使用。」

eis109 10 1

「保護關鍵軟體(EO-critical software)和關鍵軟體平台(EOcritical software platforms)使用的資料的機密性、完整性和可用性。」

eis109 10 2

目標 2

保護關鍵軟體(EO-critical software)和關鍵軟體平台(EO-critical software platforms)使用的資料的機密性、完整性和可用性。
要達到這個目標,萬法不離其宗:做好存取控制(Access Control)。但過去很多開發人員都栽在這,使得無效的存取控制(Broken Access Control) 取代注入缺陷(Injection),晉身為 OWASP Top 10 2021 的第一名。這是一個極為嚴重的漏洞,開發人員需要有足夠的安全意識,才能盡早發現這個漏洞並及時修復。

Secure Code Warrior 備有許多「無效的存取控制」實例課程,在課程裡說明了撰寫程式時所需具備的「最小權限」概念,並以實際演練的方式教導開發人員在不同應用場景中,如何將使用者帳戶的訪問限制在必要區域的方法。

目標3

識別及維護關鍵軟體平台(EO-critical software platforms)及部署在這些平台上的軟體,以保護關鍵軟體(EO-critical software)不被惡意利用。

大型組織由於系統規模龐大,因此若要持續對當前所有有使用到的軟體、系統和元件進行安全上的監控,將會是組織的一大挑戰。當軟體、系統或元件涉及到風險管理或是有漏洞需更新修補時,則此議題將被視為是整個安全專案裡面最優先需處理的事項,開發人員需要提高警覺地進行安全維護。

為達到此目標,Secure Code Warrior 學習平台提供了一系列挑戰,其中就包含了幫助開發人員識別和修復脆弱的元件(Vulnerable Components), 以及基於權限的安全錯誤配置(Security Misconfiguration)等訓練課程。

目標 4

快速的檢測、應對、並修復有關於關鍵軟體(EO-critical software)及關鍵軟體平台(EO-critical software platforms)的威脅和事件。

雖然安全程式開發的議題逐漸開始被重視,但很遺憾的,許多組織在處理網路安全問題時,還是仍只然專注於事件發生後的處理方式,而不是專注於該如何針對事件進行預防措施。而我們也就正在努力嘗試改變這樣文化,希望開發人員在上完富有實際案例的安全培訓後,可以提供組織有關於預防性的相關支援。

目標 4 要求開發人員在其角色範圍內持續監控其環境中的安全,以及監控軟體及網路的端點安全。而「日誌和監控不足」是一個常見的、但卻不容易被發現的錯誤,因此,工程師在日常工作中能夠成功處理這個問題至關重要。

Secure Code Warrior 學習平台提供開發人員學習並磨練應對以上這些技巧,無論是網頁、API、甚至是雲端相關語言都有提供。

「預防人為疏失,對關鍵軟體(EO-critical software)及關鍵軟體平台(EO-critical software platforms)的相關人員加強安全意識。」

目標 5

預防人為疏失,對關鍵軟體(EO-critical software)及關鍵軟體平台(EO-criticalsoftware platforms)的相關人員加強安全意識。

這項目標雖然比較抽象,但卻是最重要的一個。如果前四個目標沒有掌握到,這個目標會更難達成。這項指南要求我們應經常進行「安全意識養成」的活動,並限制只有通過定期培訓的人員,才能對關鍵軟體進行「人類行為」(human actions),像是操作、功能開發、維護等等。

除了安全配置(security configurations)和存取控制(access control)之外,開發人員同時也是最接近程式碼的人。因此他們必須培養相關的安全技能,才能符合NIST 規定的高標準。而投入實作課程豐富的培訓是唯一能有效解決這個問題的方法,尤其是較大規模的開發團隊。

幫助您的開發人員取得珍貴的安全經驗值,事不宜遲,開始累積開發團隊的安全經驗跟能力吧!

eis109 10 3

eis109 10 4