信息系統(tǒng)開發(fā)與維護(hù)安全管理是為了提高軟件開發(fā)安全水準(zhǔn),規(guī)范軟件安全開發(fā)過程活動,適用于信息系統(tǒng)軟件開發(fā)生命周期的安全技術(shù)及安全開發(fā)過程的全面管理。整個軟件開發(fā)生命周期分成六步:軟件需求、軟件設(shè)計、軟件實現(xiàn)、軟件上線、軟件的運維、軟件的廢棄。在整個軟件開發(fā)生命周期中的安全活動分成四類:安全目標(biāo)確定、安全風(fēng)險評估、安全控制實現(xiàn)、安全運行管理。
在軟件需求與設(shè)計階段進(jìn)行的安全活動:安全開發(fā)培訓(xùn)、安全風(fēng)險評估、安全需求分析、安全目標(biāo)確定、安全需求審查、安全設(shè)計、設(shè)計審查。 在軟件實現(xiàn)階段進(jìn)行的安全活動:安全設(shè)備采購、安全編碼、安全測試、代碼審查、過程文檔審查。 在軟件上線階段進(jìn)行的安全活動:配置檢查、工具掃描、滲透測試。 在軟件的運維階段進(jìn)行的安全活動:安全設(shè)計、安全管理培訓(xùn)、管理流程檢查、工具掃描、滲透測試、安全監(jiān)控、日志審查、風(fēng)險分析、安全運行管理。 - 在軟件的廢棄階段進(jìn)行的安全活動:剩余信息檢查和描述各項安全控制內(nèi)容。
軟件安全需求是為保障實現(xiàn)業(yè)務(wù)功能而對安全需求分析和安全需求方案制定提出機密性、完整性和可用性的要求。
在安全需求分析階段,需進(jìn)行業(yè)務(wù)安全性和合規(guī)性分析,確定軟件的業(yè)務(wù)安全需求。在安全需求方案制定階段,軟件開發(fā)人員通過風(fēng)險分析,提出軟件的安全目標(biāo)并最終體現(xiàn)在安全需求方案中。在軟件安全需求階段的主要安全活動有: 開發(fā)安全培訓(xùn):對業(yè)務(wù)人員及技術(shù)人員提供安全需求、安全控制、開發(fā)流程、安全意識、安全技術(shù)方面的必要培訓(xùn)。 業(yè)務(wù)需求分析: 業(yè)務(wù)人員提出綜合業(yè)務(wù)的合規(guī)性和安全性方面的需求,包括但不限于:數(shù)據(jù)安全需求、訪問控制需求、交易安全需求、審計要求等。 安全風(fēng)險評估:針對系統(tǒng)運行環(huán)境、業(yè)務(wù)合規(guī)性和安全性的需求進(jìn)行分析,對系統(tǒng)進(jìn)行初步風(fēng)險評估:分析安全環(huán)境、標(biāo)識資產(chǎn)及其面臨的威脅、確定初步的安全目標(biāo)。 安全需求目標(biāo):結(jié)合業(yè)務(wù)安全需求和合規(guī)性要求,提出應(yīng)用系統(tǒng)的安全目標(biāo),形成安全需求方案報告。 - 安全需求審查:根據(jù)安全風(fēng)險評估結(jié)果,制定適宜的和安全的需求方案報告。
在軟件設(shè)計階段,需要根據(jù)安全需求方案確定的安全目標(biāo),對初步風(fēng)險評估確定的控制措施進(jìn)行方案設(shè)計,其中包括概要設(shè)計和詳細(xì)設(shè)計兩個階段。
在軟件設(shè)計階段的安全活動主要有: 在軟件實現(xiàn)階段,需要根據(jù)安全設(shè)計規(guī)格說明書的要求,技術(shù)人員通過編寫源代碼,實現(xiàn)應(yīng)用系統(tǒng)的目標(biāo)碼。在此過程中需要進(jìn)行充分的測試工作,以保證軟件的開發(fā)質(zhì)量。軟件實現(xiàn)主要包括開發(fā)與測試兩個階段:
- 開發(fā)階段是編程人員通過書寫程序語句、指令或編程語言進(jìn)行編碼,編碼經(jīng)編譯器編譯成計算機可以運行的二進(jìn)制目標(biāo)代碼。
- 軟件測試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而設(shè)計一批測試用例,并利用這些測試用例去運行程序,以發(fā)現(xiàn)程序錯誤的過程。包括單元測試、集成測試、系統(tǒng)測試、驗收測試。
在軟件開發(fā)與測試階段的安全活動主要有: 應(yīng)用系統(tǒng)通過用戶驗收,并且在相關(guān)配套資源到位后,需求部門依據(jù)驗收報告,提出系統(tǒng)上線申請,與運行部門、使用部門、開發(fā)部門會簽后,方可實施上線。上線一般包括上線申請、上線審批、數(shù)據(jù)轉(zhuǎn)換、上線試運行三個階段。 在軟件上線階段的安全活動主要有: 配置檢查:軟件環(huán)境配置檢查(如:操作系統(tǒng)/應(yīng)用平臺/網(wǎng)絡(luò)/物理)、軟件配置檢查、數(shù)據(jù)庫配置檢查、密碼設(shè)備/模塊配置檢查。 建立試運行環(huán)境:在系統(tǒng)初始上線時,應(yīng)當(dāng)把應(yīng)用系統(tǒng)部署在試運行環(huán)境之中,利用真實的數(shù)據(jù)及生產(chǎn)環(huán)境進(jìn)行最后適用性測試。 維護(hù)性開發(fā):為確保系統(tǒng)的正確運行,在上線后的一段時間內(nèi),軟件開發(fā)部門派人到運行現(xiàn)場參與維護(hù),現(xiàn)場維護(hù)期的長短可根據(jù)系統(tǒng)運行的實際狀況而定。 工具掃描:在試運行階段,對網(wǎng)絡(luò)、系統(tǒng)/平臺、數(shù)據(jù)庫、應(yīng)用進(jìn)行工具掃描,以發(fā)現(xiàn)生產(chǎn)環(huán)境可能存在的風(fēng)險。 應(yīng)用系統(tǒng)安全檢查:對應(yīng)用系統(tǒng)從系統(tǒng)開發(fā)、部署與運行管理、身份鑒別、訪問控制、交易安全、數(shù)據(jù)保密性、備份與故障恢復(fù)、日志與審計等方面進(jìn)行安全評估。 - 滲透測試:利用已知漏洞和社會工程的方法,模擬入侵攻擊,以揭示可能存在的安全風(fēng)險。
試運行結(jié)束后,在確定應(yīng)用系統(tǒng)穩(wěn)定可靠的基礎(chǔ)上,可以正式啟用。在軟件運維階段的主要安全活動: 由于軟件無法滿足業(yè)務(wù)的要求,或者更新?lián)Q代時,應(yīng)將應(yīng)用軟件退出生產(chǎn)運行環(huán)境。軟件廢棄包括:軟件廢棄申請、軟件廢棄實施二個階段。在軟件廢棄階段的主要安全活動:
|