SSDLC (Secure Software Development Life Cycle)
安全系統發展生命週期
[TOC]
1. 存取控制
1.1 帳號管理
建立帳號管理機制,包含帳號之申請、建立、修改、啟用、停用及刪除之程序。
已逾期之臨時或緊急帳號應刪除或禁用。
資訊系統閒置帳號應禁用。
定期審核資訊系統帳號之申請。
公司應定義各系統之閒置時間或可使用期限與資訊系統之使用情況及條件。
逾越公司所許可之閒置時間或可使用期限時,系統應自動將使用者登出。
應依公司規定之情況及條件,使用資訊系統。
監控資訊系統帳號,如發現帳號違常使用時回報管理者。
1.2 最小權限
採最小權限原則,僅允許使用者(或代表使用者行為之程序)依機關任務及業務功能,完成指派任務所需之授權存取。
1.3 遠端存取
對於每一種允許之遠端存取類型(如遠端桌面連線、ssh、網路芳鄰或FTP),均應先取得授權,建立使用限制、組態需求、連線需求及文件化,使用者之權限檢查作業應於伺服器端完成。
使用者之權限檢查作業應於伺服器端完成。
應監控資通系統遠端連線。
資通系統應採用加密機制。
資通系統遠端存取之來源應為機關已預先定義及管理之存取控制點。
2. 事件日誌與可歸責性
2.1 記錄事件
訂定日誌之記錄時間週期及紀錄留存政策,並保留日誌至少六個月。
確保資通系統有記錄特定事件之功能,並決定應記錄之特定資通系統事件。
應記錄資通系統管理者帳號所執行之各項功能。
應定期審查機關所保留資通系統產生之日誌。
2.2 日誌記錄內容
資通系統產生之日誌應包含事件類型、發生時間、發生位置及任何與事件相關之使用者身分識別等資訊,並採用單一日誌紀錄機制,確保輸出格式之一致性,並應依資通安全政策及法規要求納入其他相關資訊。
2.3 日誌儲存容量
依據日誌紀錄(Audit Logs)儲存需求,配置所需之儲存容量。
2.4 日誌處理失效回應
資通系統於日誌處理失效時,應採取適當之行動。
機關規定需要即時通報之日誌處理失效事件發生時,資通系統應於機關規定之時效內,對特定人員提出警告。
2.5 時戳及校時
資通系統應使用系統內部時鐘產生日誌紀錄(Audit Logs)所需時戳,並可以對應到世界協調時間(UTC)或格林威治標準時間(GMT)。
系統內部時鐘應定期與基準時間源進行同步。
2.6 日誌資訊之保護
對日誌(Audit Logs)之存取管理,僅限於有權限之使用者。
應運用雜湊或其他適當方式之完整性確保機制。
定期備份日誌至原系統之外其他實體系統。
3. 營運持續計畫
3.1 系統備份
訂定系統可容忍資料損失之時間要求。
執行系統源碼與資料備份。
應定期測試備份資訊,以驗證備份媒體之可靠性及資訊之完整性。
應將備份還原,做為營運持續計畫測試之一部分。
應在與運作系統不同地點之獨立設施或防火櫃中,儲存重要資通系統軟體與其他安全相關資訊之備份。
3.2 系統備援
訂定資通系統從中斷後至重新恢復服務之可容忍時間要求。
原服務中斷時,於可容忍時間內,由備援設備或其他方式取代並提供服務。
4. 識別與鑑別
4.1 內部使用者之識別與鑑別
資通系統應具備唯一識別及鑑別機關使用者(或代表機關使用者行為之程序)之功能,禁止使用共用帳號。
對資通系統之存取採取多重認證技術。
4.2 身分驗證管理
使用預設密碼登入系統時,應於登入後要求立即變更。
身分驗證相關資訊不以明文傳輸。
具備帳戶鎖定機制,帳號登入進行身分驗證失敗達五次,至少15分鐘內不允許該帳號繼續嘗試或使用機關自建之失敗驗證機制。
使用密碼進行驗證時,應強制最低密碼複雜度、強制密碼最短及最長之效期限制。(但對於非內部使用者可依機關自行規範辦理)
密碼變更時,至少不可以與前三次使用過之密碼相同。(但對於非內部使用者可依機關自行規範辦理)
身分驗證機制應防範自動化程式之登入或密碼更換嘗試。
密碼重設機制對使用者重新身分確認後,發送一次性及具有時效性符記。
4.3 鑑別資訊回饋
資通系統應遮蔽鑑別過程中之資訊。
4.3 加密模組鑑別
資通系統如以密碼進行鑑別時,該密碼應加密或經雜湊處理後儲存。
4.4 非內部使用者之識別與鑑別
資通系統應識別及鑑別非機關使用者(或代表機關使用者行為之程序)。
5. 系統發展生命週期
5.1 系統發展生命週期需求階段
針對系統安全需求(含機密性、可用性、完整性),以檢核表方式進行確認。
5.2 系統發展生命週期設計階段
根據系統功能與要求,識別可能影響系統之威脅,進行風險分析及評估。
將風險評估結果回饋需求階段之檢核項目,並提出安全需求修正。
5.3 系統發展生命週期開發階段
應針對安全需求實作必要控制措施。
應注意避免軟體常見漏洞及實作必要控制措施。
OWASP TOP 10
CWE/SANS TOP 25
發生錯誤時,使用者頁面僅顯示簡短錯誤訊息及代碼,不包含詳細之錯誤訊息。
執行「源碼掃描」安全檢測。
具備系統嚴重錯誤之通知機制。
5.4 系統發展生命週期測試階段
執行「弱點掃描」安全檢測。
執行「滲透測試」安全檢測。
5.5 系統發展生命週期部署與維運階段
於部署環境中應針對相關資通安全威脅,進行更新與修補,並關閉不必要服務及埠口。
資通系統相關軟體,不使用預設密碼。
於系統發展生命週期之維運階段,應執行版本控制與變更管理。
5.6 系統發展生命週期委外階段
資通系統開發如委外辦理,應將系統發展生命週期各階段依等級將安全需求(含機密性、可用性、完整性)納入委外契約。
5.7 獲得程序
開發、測試及正式作業環境應為區隔。
6. 系統與通訊保護
6.1 傳輸之機密性與完整性
資訊系統應採用加密機制,以防止未授權之資訊揭露或偵測資訊之變更。但傳輸過程中有替代之實體保護措施者,不在此限。
使用公開、國際機構驗證且未遭破解之演算法。
支援演算法最大長度金鑰。
加密金鑰或憑證應定期更換。
伺服器端之金鑰保管應訂定管理規範及實施應有之安全防護措施。
6.2 資料儲存之安全
資訊系統重要組態設定檔案及其他具保護需求之機密資訊應加密或以其他適當方式儲存。
7. 系統與資訊完整性
7.1 漏洞修復
系統之漏洞修復應測試有效性及潛在影響,並定期更新。
定期確認資訊系統相關漏洞修復之狀態。
7.2 資訊系統監控
發現資訊系統有被入侵跡象時,應通報相關人員。
監控資訊系統,以偵測攻擊與未授權之連線,並識別資訊系統之未授權使用。
資訊系統應採用自動化工具監控進出之通信流量,並於發現不尋常或未授權之活動時,針對該事件進行分析。
7.2 軟體及資訊完整性
使用完整性驗證工具,以偵測未授權變更特定軟體及資訊。
使用者輸入資料合法性檢查應置放於應用系統伺服器端。
發現違反完整性時,資訊系統應實施公司指定之安全保護措施。
應定期執行軟體與資訊完整性檢查。
Last updated