我國商業銀行信息科技風險管理指引和國家等級保護要求,都指出銀行必須構建一個完整的開發安全管理體系,以實現對信息系統整個生命周期的控制。這個體系應該是一個從需求分析、設計、編碼實現、測試到 上線全生命周期的安全管理體系。軟件工程的相關研究表明,在軟件開發周期的早期就修補安全漏洞更高效而且更具成本效益。因此,銀行在防范金融風險的過程 中,必須充分重視開發安全管理體系的建設,控制具體應用系統的開發過程,同步進行安全建設,避免應用系統開發完成後再考慮安全問題。
開發安全從規范開始
銀行在建設應用系統開發安全管理體系時,應當首先考慮制定相應的制度與流程。通過對各種類型應用系統開發過程的研究,發現其中面臨的各種與安全 相關的並且具有一定通用性的問題,銀行需要針對這些問題制定相應的開發安全規范,以保證安全不被忽視。開發安全規范的制定應該依照組織的整體方針和業務目 標,並引用其他參考文檔(如通用准則、安全標准、組織過程資產以及最佳實踐等等)來識別與控制風險,提出與開發安全有關的方針、目標、指標、過程和程序。
開發安全規范一般包括安全需求分析指南、安全技術方案設計規范、安全編碼規范和安全測試規范等。依據開發安全規范,銀行在進行應用系統開發過程中,對於各個階段的安全問題加以相應的控制,確保應用系統在開發中的安全管理。
全生命周期的安全規劃和管理
應用系統的開發階段是其生命周期內的一個重要階段,在此階段,將主要完成應用軟件的需求分析、設計、實現及測試等工作,此階段的工作將極大程度 地決定系統本身的安全性。因此,要確保安全性要求在此階段的各個具體工作過程中的貫徹和實施,以便交付具有高安全特性的應用軟件,為將來應用系統的安全投 產運行奠定堅實的基礎。
(一)需求分析階段
安全技術人員在需求分析階段主要對需求文檔中的安全需求情況進行分析,重點從系統的重要信息或數據、面臨的安全威脅、系統基礎環境的安全需求等角度入手,分析安全需求的全面性和完整性。
在安全功能需求中,身份鑒別、認證與授權、輸入和數據驗證、敏感數據安全、會話管理、異常管理等需求應進行明確詳細的說明。以電子銀行的數據安全為例,敏感數據要求特別保護,該類數據的傳輸、存取和存儲,必需采取加密措施保護,僅能通過內置的軟硬件加解密模塊進行管制。
(二)方案設計階段
方案設計階段是整個生命周期中最為關鍵的部分,在這個階段不僅要包括系統的功能、性能、開發費用與周期等要求,還要明確規定系統的安全要求,並據此確定具體采用的安全控制措施,如用戶身份認證體系的強度設計、認證失敗後的處理方式設計等。