安全系統發展生命週期

SSDLC原則

在「資通安全責任等級分級辦法」附表十「資通系統防護基準」,要求落實「安全系統發展生命週期(Secure Software Development Life Cycle, SSDLC)」,系統發展過程的需求、設計、開發、測試、部署維運等每個階段都應該納入必要的安全項目考量。

但是,這部分所提的只是SSDLC原則,像是需求階段應以檢核表確認安全需求、開發階段應針對安全需求實作必要控制措施、部署階段應針對資安威脅進行更新修補。但是,SSDLC如何更具體執行呢?

防護基準即SSDLC項目

其實,「資通系統防護基準」就是各機關自行或委外開發之資通系統應執行的控制措施,例如存取控制構面下的帳號管理措施,可以看到右圖標示紅色底線處,必然是要在系統需求、設計、開發等三個階段應該著手進行的,才能在最後完成的系統具備這些項目所訂的安全措施。

所以,只要將防護基準所有項目一一釐清應該哪些階段進行探討,其實就是一種SSDLC的做法。

防護基準項目的實作指引

而在技服中心發布的「資通系統委外開發RFP」就有針對防護基準每個項目做更具體的說明,這些說明其實就是很明確的實作指引,讓系統開發人員知道具體的處理邏輯。

實際上,在教育部稽核計畫提供的「資通系統防護基準自我檢核表」就有納入前述具體說明,讓各機關學校在進行資通系統發展時可以參考依循。但是,應該還要進一步定義各項目應該在SSDLC的哪些階段必須探討執行,好讓系統開發人員能逐步完成每個階段相關項目的確認。「教育機構資安驗證中心」基於協助教育部實地稽核之責任,著手設計下列檢核表,提供各界可依循的SSDLC執行方案。

整個複製到自己的雲端硬碟使用

將這個Google試算表「SSDLC檢核表」(最新版本:依防護基準110.08.23修正) 建立副本到你自己的雲端硬碟

個人帳號下的副本

建立的副本隨即被開啟,可以從右上角個人圖示確認是建立在你的帳號之下,而檔名最後多了"副本"字樣。


資安專責人員應先處理的是「文件制修訂記錄」工作表,記錄每個版次的修訂內容摘要。

資安專責人員應先將這個檢核表納入單位的第四階文件,加以命名並賦予文件編號、機密等級、版本編號,並且在每個工作表的第1列填入正確的頁首資料。

完成之後,再公告給單位內的系統開發人員取得使用。

系統開發人員填寫

決定系統分級

系統開發人員取得資安專責人員完成命名、賦予編號的檢核表,一樣是自己再另建副本進行填寫。

特別注意!!! 首先應該在「系統資訊」工作表的第3列勾選系統分級是普/中/高的其中一個核取方塊,這裡一旦勾選之後,其他構面1~7工作表之中應為更高等級才需要做的項目自動設定為"不適用" (因為該項目的C欄有設定條件公式)。

填寫檢核項目

構面1~7的工作表都要填寫,在D~H欄若為核取方塊,就代表該項目應在該階段加以探討,系統開發人員就目前系統發展到哪個階段而勾選該階段的核取方塊,勾選後的格子底色會變綠,如此更容易檢視是否都完成該勾選的項目。同時,還要先就目前狀況在C欄選擇是"符合"、"部分符合"、"不符合"、"不適用",擇定後的格子底色就會分別變成綠/紫/紅/灰來加以區隔。

至於執行方式的說明或佐證則記錄於I欄,而該項目的實作指引可以參考J欄的實施方式參考建議。

防護基準有幾個項目是在完成一個階段的所有項目檢核後就可以勾選的,該項目的J欄實施方式參考建議就會特別以紅字標示 "階段的所有檢核項目都完成填答後,即可勾選此項"。

檢核表除了防護基準既有項目,還有在構面5工作表特別將開發階段的漏洞控制措施加入OWASP TOP 10及CWE/SANS TOP 25項目,希望系統開發人員都能逐一檢視是否已經避免這些常見漏洞了。

資安專責人員應持續關注OWASP及CWE/SANS是否對於常見漏洞項目有所更新,再自行調整這些項目。

完成評估之後

至於「系統資訊」工作表,有一些必要的系統資訊欄位要填寫,以及分別在需求、設計&開發、測試&部署完成之後的三個時間點,於紅框處記錄日期。

列印

系統開發人員應該在需求、設計&開發、測試&部署完成之後的三個時間點,就應該先行列印出來由系統開發人員及其主管蓋章,確認完成該階段檢核程序。

列印設定步驟,一開始先選擇要列印「工作簿」,但所選範圍取消勾選「文件制修訂記錄」工作表,然後按下「套用」。

列印選擇以橫向頁面輸出比較合宜,也建議在「頁首和頁尾」勾選「頁碼」及「目前日期」,然後按「下一步」進行列印。

列印前最後預覽看看是否無誤,再按下「列印」。

再次提醒,應該在需求、設計&開發、測試&部署完成之後的三個時間點,分別列印出來由系統開發人員及其主管蓋章,確認完成該階段檢核程序,也就是整個系統生命週期留下三份紙本記錄可供查核