論軟件生命周期的信息安全管理
時間:2022-09-11 04:27:42
導(dǎo)語:論軟件生命周期的信息安全管理一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
在各主流IT或信息安全評價體系中,都或多或少對軟件生命周期中的信息安全控制進行了要求和規(guī)定,本文綜合了流行的ISO27000,Cobit5,PCI-DSS等評價體系,結(jié)合國家信息安全標(biāo)準(zhǔn),及審計咨詢公司常用的SOX,SAS70等第三方評價標(biāo)準(zhǔn),就如何設(shè)計與實施軟件生命周期中信息安全的相關(guān)控制點歸納總結(jié)如下
1.1軟件生命周期中信息安全的整體要求
(1)制定并正式的軟件生命周期控制文件:明確說明開發(fā)過程的控制方法和人員的行為準(zhǔn)則,并應(yīng)充分考慮對信息安全方面的要求,確保開發(fā)出來的系統(tǒng)可以滿足公司整體信息安全的需要、相關(guān)法律法規(guī)的信息安全要求,以及特殊部門或流程的信息安全需要。(2)軟件生命周期中對信息安全的總體要求:雖然由于系統(tǒng)所對應(yīng)企業(yè)、部門、業(yè)務(wù)或流程的差異,每個系統(tǒng)的安全要求有所不同,例如通常來講,金融行業(yè)對安全的要求較高,金融行業(yè)里,涉及客戶信息、財務(wù)信息的系統(tǒng)安全要求較高等等。每個企業(yè)、部門必須根據(jù)自己的流程評估風(fēng)險,確定對數(shù)據(jù)完整性、安全性、可用性的要求,從而進一步確定信息安全要求。
1.2對環(huán)境的要求
(1)確保開發(fā)環(huán)境與實際運行環(huán)境物理相分離,開發(fā)環(huán)境應(yīng)該由一系列足以支持開發(fā)工作且盡量與生產(chǎn)環(huán)境接近的設(shè)備搭建而成,所有的開發(fā)和測試工作均應(yīng)該在此開發(fā)環(huán)境中進行。在實際工作中,也可以實行開發(fā)環(huán)境、測試環(huán)境及生產(chǎn)環(huán)境的分離控制,或開發(fā)環(huán)境、測試環(huán)境、用戶驗收測試環(huán)境及生產(chǎn)環(huán)境的分離控制。在上述環(huán)境中,開發(fā)環(huán)境可以相對較弱,以可以支持代碼開發(fā)、進行模塊測試及基本的集成測試為標(biāo)準(zhǔn);測試環(huán)境,特別是用戶驗收測試的測試環(huán)境,則要求較高,應(yīng)與實際環(huán)境保持一致或盡可能接近。(2)對開發(fā)環(huán)境(及測試環(huán)境)實施安全控制:例如未經(jīng)授權(quán)的人員不得訪問開發(fā)環(huán)境(測試環(huán)境),對開發(fā)(測試)中的軟件實施嚴格的版本控制,開發(fā)(測試)環(huán)境的機器必須安裝殺毒軟件并及時更新病毒庫,并及時對操作系統(tǒng)及相關(guān)應(yīng)用軟件進行補丁修正和升級。
1.3對人員的要求
(1)軟件生命周期中的工作人員必須具有足夠的專業(yè)勝任能力及職業(yè)道德素養(yǎng),足以從事相關(guān)工作。(2)對開發(fā)人員和測試人員實施職責(zé)分離,開發(fā)人員未經(jīng)授權(quán)不得訪問或修改生產(chǎn)環(huán)境的程序或數(shù)據(jù)。1.4業(yè)務(wù)需求階段在業(yè)務(wù)需求制定階段,應(yīng)注重對信息安全方面的需求制定。在業(yè)務(wù)需求書中,應(yīng)明確對系統(tǒng)安全的詳細要求,并在系統(tǒng)設(shè)計階段開始之前,由各利益相關(guān)方(含信息安全的負責(zé)人)書面確認。業(yè)務(wù)需求階段完成后,任何對系統(tǒng)安全需求的修改,也應(yīng)視為對業(yè)務(wù)需求書的修改,需經(jīng)過正式的系統(tǒng)變更流程。
1.5系統(tǒng)設(shè)計階段
(1)對系統(tǒng)進行整體設(shè)計和詳細設(shè)計,通過分析系統(tǒng)的數(shù)據(jù)流,包括數(shù)據(jù)錄入、系統(tǒng)內(nèi)部模塊間的數(shù)據(jù)傳輸、信息存儲、數(shù)據(jù)庫訪問及管理、系統(tǒng)間數(shù)據(jù)傳輸,、數(shù)據(jù)輸出等,確保實現(xiàn)所有過程中對數(shù)據(jù)的全面保護,特別是對特定業(yè)務(wù)的特定數(shù)據(jù)進行保護,例如密碼,客戶信息,財務(wù)數(shù)據(jù)等,對重要數(shù)據(jù)的存儲和傳輸設(shè)置權(quán)限和校驗,并進行加密。(2)在軟件的應(yīng)用層面應(yīng)至少包含如下的控制設(shè)計:i)輸入檢查:對系統(tǒng)的輸入數(shù)據(jù)進行驗證,比如設(shè)置強制輸入完成才可進一步處理的字段;對輸入數(shù)據(jù)的類型或范圍進行檢查,例如日期;對輸入數(shù)據(jù)的長度進行檢查,例如手機號碼位數(shù);對數(shù)據(jù)進行正確性校驗,例如利用身份證校驗碼策略檢查身份證號碼,對比身份證號碼與出生日期。ii)數(shù)據(jù)處理過程中的檢查:對系統(tǒng)處理過程中的數(shù)據(jù)進行檢查,比如在自動化轉(zhuǎn)換或傳輸過程中,比對數(shù)據(jù)記錄的總條數(shù)和數(shù)據(jù)總和;設(shè)置流程,提醒將系統(tǒng)數(shù)據(jù)與紙質(zhì)數(shù)據(jù)進行比對驗證。iii)輸出檢查:對輸出結(jié)果的合理性進行系統(tǒng)檢測,以及設(shè)置流程提示將系統(tǒng)輸出數(shù)據(jù)與手工證據(jù)進行核對等。
1.6系統(tǒng)實施階段
制定代碼編寫安全規(guī)范,要求開發(fā)人員參照規(guī)范編寫代碼;嚴格禁止不安全的實施方法,例如將用戶名或密碼編寫在程序中,使用未經(jīng)審核過的代碼包,使用未授權(quán)的網(wǎng)絡(luò)工具等。對源代碼的訪問和修改必須嚴格控制,例如通過配置管理工具進行代碼訪問及代碼版本控制。
1.7系統(tǒng)測試階段
(1)系統(tǒng)測試整體要求:對系統(tǒng)測試驗收的控制方法和人員行為準(zhǔn)則應(yīng)進行書面規(guī)定,確保系統(tǒng)在開發(fā)期間直至驗收需對軟件、硬件、服務(wù)等元素進行一系列的測試,確保系統(tǒng)及數(shù)據(jù)的完整性和可用性。對源于生產(chǎn)環(huán)境的測試數(shù)據(jù)去敏感化,如客戶身份證信息等,在傳輸過程中進行加密,并確保在測試后被完全清除。(2)測試通常應(yīng)覆蓋業(yè)務(wù)需求書中的所有要求,包括系統(tǒng)功能、軟硬件性能、平臺兼容性、系統(tǒng)容量、系統(tǒng)恢復(fù)等,也應(yīng)特別保護對信息安全的測試,如防攻擊測試、穿透性測試等。(3)用戶接受測試:接收測試的測試人員應(yīng)由非開發(fā)人員擔(dān)當(dāng),且必須包含業(yè)務(wù)人員。測試范圍應(yīng)涉及系統(tǒng)所有的功能,包括數(shù)據(jù)庫及操作系統(tǒng)。接收測試也應(yīng)特別注意對系統(tǒng)安全方面的測試,例如審查關(guān)鍵代碼,查找后門程序及穿透性測試等。(4)測試結(jié)果:測試結(jié)果需書面記載,與用戶期望結(jié)果進行比對和確認。此記錄及確認中需包含對信息安全方面的測試結(jié)果,確認測試結(jié)果符合系統(tǒng)設(shè)計及公司整體的信息安全需要,或已經(jīng)授權(quán)采取了充分、恰當(dāng)?shù)难a償性措施。
1.8系統(tǒng)上線
(1)系統(tǒng)上線前需進行如下確認,信息安全評估已充分進行,安全方面的缺陷已被充分確認及記錄,系統(tǒng)的性能和容量可以滿足要求,所有與系統(tǒng)相關(guān)的補丁或更新已經(jīng)實施,所有開發(fā)中遇到的問題已得到妥善解決,建立了充分恢復(fù)措施,測試數(shù)據(jù)已被擦除,服務(wù)水平協(xié)議已經(jīng)建立,以及各利益相關(guān)者已經(jīng)對系統(tǒng)上線做了批準(zhǔn)等。(2)系統(tǒng)上線時需進行的操作:對初始數(shù)據(jù)遷移或輸入的確認,對技術(shù)人員及用戶進行培訓(xùn),設(shè)置恰當(dāng)?shù)纳暇€窗口期并對可能產(chǎn)生的業(yè)務(wù)中斷進行準(zhǔn)備,明確新舊系統(tǒng)交接程序,制定詳細的系統(tǒng)交付清單,提供軟件的使用指南,確保上線后對系統(tǒng)提供持續(xù)性支持(例如IT服務(wù)臺)。另外,對舊系統(tǒng)信息,包括系統(tǒng)配置、操作手冊、支持軟件、系統(tǒng)數(shù)據(jù)等進行歸檔。(3)上線后審核:系統(tǒng)運行一段時間后對系統(tǒng)進行評估,評價系統(tǒng)對業(yè)務(wù)的滿足情況,其中包含信息安全的符合情況、信息安全控制措施的運行效果和效率,發(fā)生的信息安全事故以及潛在的需要改進的信息安全措施。
1.9質(zhì)量控制
在整個軟件生命周期中實施質(zhì)量控制以確保信息安全策略的有效實施,包括評價系統(tǒng)風(fēng)險(例如與業(yè)務(wù)需求、技術(shù)、效果、成本、時間相關(guān)的風(fēng)險),評估及定義系統(tǒng)的安全需求,且在整個軟件生命周期的節(jié)點上進行檢查,以確保安全需求在開發(fā)的系統(tǒng)中進行了充分實施。
2結(jié)論
本文通過九個方面,就如何在軟件開發(fā)生命周期中進行信息安全管理,提出了較為全面和系統(tǒng)的設(shè)計與實施辦法,可以滿足當(dāng)前流行的絕大多數(shù)信息安全評價體系的要求,對企事業(yè)單位的信息安全和軟件質(zhì)量管理有一定的參考意義。
本文作者:周蓓工作單位:廣東工貿(mào)職業(yè)技術(shù)學(xué)