論軟件生命周期的信息安全管理

時間:2022-09-11 04:27:42

導語:論軟件生命周期的信息安全管理一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

論軟件生命周期的信息安全管理

1軟件生命周期中信息安全管理控制

在各主流IT或信息安全評價體系中,都或多或少對軟件生命周期中的信息安全控制進行了要求和規(guī)定,本文綜合了流行的ISO27000,Cobit5,PCI-DSS等評價體系,結合國家信息安全標準,及審計咨詢公司常用的SOX,SAS70等第三方評價標準,就如何設計與實施軟件生命周期中信息安全的相關控制點歸納總結如下

1.1軟件生命周期中信息安全的整體要求

(1)制定并正式的軟件生命周期控制文件:明確說明開發(fā)過程的控制方法和人員的行為準則,并應充分考慮對信息安全方面的要求,確保開發(fā)出來的系統(tǒng)可以滿足公司整體信息安全的需要、相關法律法規(guī)的信息安全要求,以及特殊部門或流程的信息安全需要。(2)軟件生命周期中對信息安全的總體要求:雖然由于系統(tǒng)所對應企業(yè)、部門、業(yè)務或流程的差異,每個系統(tǒng)的安全要求有所不同,例如通常來講,金融行業(yè)對安全的要求較高,金融行業(yè)里,涉及客戶信息、財務信息的系統(tǒng)安全要求較高等等。每個企業(yè)、部門必須根據(jù)自己的流程評估風險,確定對數(shù)據(jù)完整性、安全性、可用性的要求,從而進一步確定信息安全要求。

1.2對環(huán)境的要求

(1)確保開發(fā)環(huán)境與實際運行環(huán)境物理相分離,開發(fā)環(huán)境應該由一系列足以支持開發(fā)工作且盡量與生產環(huán)境接近的設備搭建而成,所有的開發(fā)和測試工作均應該在此開發(fā)環(huán)境中進行。在實際工作中,也可以實行開發(fā)環(huán)境、測試環(huán)境及生產環(huán)境的分離控制,或開發(fā)環(huán)境、測試環(huán)境、用戶驗收測試環(huán)境及生產環(huán)境的分離控制。在上述環(huán)境中,開發(fā)環(huán)境可以相對較弱,以可以支持代碼開發(fā)、進行模塊測試及基本的集成測試為標準;測試環(huán)境,特別是用戶驗收測試的測試環(huán)境,則要求較高,應與實際環(huán)境保持一致或盡可能接近。(2)對開發(fā)環(huán)境(及測試環(huán)境)實施安全控制:例如未經(jīng)授權的人員不得訪問開發(fā)環(huán)境(測試環(huán)境),對開發(fā)(測試)中的軟件實施嚴格的版本控制,開發(fā)(測試)環(huán)境的機器必須安裝殺毒軟件并及時更新病毒庫,并及時對操作系統(tǒng)及相關應用軟件進行補丁修正和升級。

1.3對人員的要求

(1)軟件生命周期中的工作人員必須具有足夠的專業(yè)勝任能力及職業(yè)道德素養(yǎng),足以從事相關工作。(2)對開發(fā)人員和測試人員實施職責分離,開發(fā)人員未經(jīng)授權不得訪問或修改生產環(huán)境的程序或數(shù)據(jù)。1.4業(yè)務需求階段在業(yè)務需求制定階段,應注重對信息安全方面的需求制定。在業(yè)務需求書中,應明確對系統(tǒng)安全的詳細要求,并在系統(tǒng)設計階段開始之前,由各利益相關方(含信息安全的負責人)書面確認。業(yè)務需求階段完成后,任何對系統(tǒng)安全需求的修改,也應視為對業(yè)務需求書的修改,需經(jīng)過正式的系統(tǒng)變更流程。

1.5系統(tǒng)設計階段

(1)對系統(tǒng)進行整體設計和詳細設計,通過分析系統(tǒng)的數(shù)據(jù)流,包括數(shù)據(jù)錄入、系統(tǒng)內部模塊間的數(shù)據(jù)傳輸、信息存儲、數(shù)據(jù)庫訪問及管理、系統(tǒng)間數(shù)據(jù)傳輸,、數(shù)據(jù)輸出等,確保實現(xiàn)所有過程中對數(shù)據(jù)的全面保護,特別是對特定業(yè)務的特定數(shù)據(jù)進行保護,例如密碼,客戶信息,財務數(shù)據(jù)等,對重要數(shù)據(jù)的存儲和傳輸設置權限和校驗,并進行加密。(2)在軟件的應用層面應至少包含如下的控制設計:i)輸入檢查:對系統(tǒng)的輸入數(shù)據(jù)進行驗證,比如設置強制輸入完成才可進一步處理的字段;對輸入數(shù)據(jù)的類型或范圍進行檢查,例如日期;對輸入數(shù)據(jù)的長度進行檢查,例如手機號碼位數(shù);對數(shù)據(jù)進行正確性校驗,例如利用身份證校驗碼策略檢查身份證號碼,對比身份證號碼與出生日期。ii)數(shù)據(jù)處理過程中的檢查:對系統(tǒng)處理過程中的數(shù)據(jù)進行檢查,比如在自動化轉換或傳輸過程中,比對數(shù)據(jù)記錄的總條數(shù)和數(shù)據(jù)總和;設置流程,提醒將系統(tǒng)數(shù)據(jù)與紙質數(shù)據(jù)進行比對驗證。iii)輸出檢查:對輸出結果的合理性進行系統(tǒng)檢測,以及設置流程提示將系統(tǒng)輸出數(shù)據(jù)與手工證據(jù)進行核對等。

1.6系統(tǒng)實施階段

制定代碼編寫安全規(guī)范,要求開發(fā)人員參照規(guī)范編寫代碼;嚴格禁止不安全的實施方法,例如將用戶名或密碼編寫在程序中,使用未經(jīng)審核過的代碼包,使用未授權的網(wǎng)絡工具等。對源代碼的訪問和修改必須嚴格控制,例如通過配置管理工具進行代碼訪問及代碼版本控制。

1.7系統(tǒng)測試階段

(1)系統(tǒng)測試整體要求:對系統(tǒng)測試驗收的控制方法和人員行為準則應進行書面規(guī)定,確保系統(tǒng)在開發(fā)期間直至驗收需對軟件、硬件、服務等元素進行一系列的測試,確保系統(tǒng)及數(shù)據(jù)的完整性和可用性。對源于生產環(huán)境的測試數(shù)據(jù)去敏感化,如客戶身份證信息等,在傳輸過程中進行加密,并確保在測試后被完全清除。(2)測試通常應覆蓋業(yè)務需求書中的所有要求,包括系統(tǒng)功能、軟硬件性能、平臺兼容性、系統(tǒng)容量、系統(tǒng)恢復等,也應特別保護對信息安全的測試,如防攻擊測試、穿透性測試等。(3)用戶接受測試:接收測試的測試人員應由非開發(fā)人員擔當,且必須包含業(yè)務人員。測試范圍應涉及系統(tǒng)所有的功能,包括數(shù)據(jù)庫及操作系統(tǒng)。接收測試也應特別注意對系統(tǒng)安全方面的測試,例如審查關鍵代碼,查找后門程序及穿透性測試等。(4)測試結果:測試結果需書面記載,與用戶期望結果進行比對和確認。此記錄及確認中需包含對信息安全方面的測試結果,確認測試結果符合系統(tǒng)設計及公司整體的信息安全需要,或已經(jīng)授權采取了充分、恰當?shù)难a償性措施。

1.8系統(tǒng)上線

(1)系統(tǒng)上線前需進行如下確認,信息安全評估已充分進行,安全方面的缺陷已被充分確認及記錄,系統(tǒng)的性能和容量可以滿足要求,所有與系統(tǒng)相關的補丁或更新已經(jīng)實施,所有開發(fā)中遇到的問題已得到妥善解決,建立了充分恢復措施,測試數(shù)據(jù)已被擦除,服務水平協(xié)議已經(jīng)建立,以及各利益相關者已經(jīng)對系統(tǒng)上線做了批準等。(2)系統(tǒng)上線時需進行的操作:對初始數(shù)據(jù)遷移或輸入的確認,對技術人員及用戶進行培訓,設置恰當?shù)纳暇€窗口期并對可能產生的業(yè)務中斷進行準備,明確新舊系統(tǒng)交接程序,制定詳細的系統(tǒng)交付清單,提供軟件的使用指南,確保上線后對系統(tǒng)提供持續(xù)性支持(例如IT服務臺)。另外,對舊系統(tǒng)信息,包括系統(tǒng)配置、操作手冊、支持軟件、系統(tǒng)數(shù)據(jù)等進行歸檔。(3)上線后審核:系統(tǒng)運行一段時間后對系統(tǒng)進行評估,評價系統(tǒng)對業(yè)務的滿足情況,其中包含信息安全的符合情況、信息安全控制措施的運行效果和效率,發(fā)生的信息安全事故以及潛在的需要改進的信息安全措施。

1.9質量控制

在整個軟件生命周期中實施質量控制以確保信息安全策略的有效實施,包括評價系統(tǒng)風險(例如與業(yè)務需求、技術、效果、成本、時間相關的風險),評估及定義系統(tǒng)的安全需求,且在整個軟件生命周期的節(jié)點上進行檢查,以確保安全需求在開發(fā)的系統(tǒng)中進行了充分實施。

2結論

本文通過九個方面,就如何在軟件開發(fā)生命周期中進行信息安全管理,提出了較為全面和系統(tǒng)的設計與實施辦法,可以滿足當前流行的絕大多數(shù)信息安全評價體系的要求,對企事業(yè)單位的信息安全和軟件質量管理有一定的參考意義。

本文作者:周蓓工作單位:廣東工貿職業(yè)技術學