【中圖分類號】X913.2 【文獻標識碼】A 【文章編號】1672—5158(2012)08-0018-02
信息系統的安全要求確保安全成為信息系統的內置部分。這將包括操作系統、基礎設施、業務應用、非定制的產品、服務和用戶開發的應用。支持應用或服務的業務過程的設計和實施可能是安全的關鍵。在信息系統開發之前應標識出并商定全要求。應在項目的要求階段標識出所有安全要求,并證明這些安全要求是正確的,對這些安全要求加以商定,并且將這些安全要求形成文檔作為信息系統整個業務情況的一部分。
1.1 安全要求分析和規范
新的信息系統或對現有信息系統的更新的業務要求聲明中應規定安全控制的要求。控制需求規范應考慮在系統中所包含的自動化控制以及支持人工控制的需要。當評價業務應用(開發或購買)的軟件包時,應進行類似的考慮。安全要求和控制應反映出所涉及信息資產的業務價值和潛在的業務損壞,這可能是由于安全失敗或缺少安全引起的。信息安全系統需求與實施安全的過程應該在信息安全工程的早期階段集成。在設計階段引入控制其實施和維護的費用明顯低于實現期間或實現后所包含的控制費用。
如果產品是購買的,則購買產品之后就進行常規的測試和需求處理。與供貨商簽的合同上應確切地標明安全需求。一旦推薦商品的安全功能不能滿足安全要求,則在購買商品之前應重新考慮引進和相關控制的風險。如果產品的附加功能引起了一些安全風險,則這個產品是不能用的,或者增加的功能優點突出,則可以對推薦的控制結構重新討論決定。
1.2 應用系統的正確處理
防止應用系統信息的錯誤、丟失、未授權的修改或誤用,應用系統(包括用戶開發的應用)內應設計合適的控制以確保處理的正確性。這些控制應包括輸入數據、內部處理和輸入數據的確認。對于處理敏感的、有價值的或關鍵的組織資產的系統或對組織資產有影響的系統可以要求附加控制。這樣的控制應在安全要求和風險評估的基礎上加以確定。
1.2.1 輸入數據確認
對于企業系統應考慮在應用中對輸入數據進行自動檢查和確認,以減少出錯的風險,防止緩沖區溢出和代碼注入等標準攻擊,驗證應用系統輸入數據,以確保正確和適當。
檢驗應適用于業務事務處理、常備數據和參數表的輸入。應考慮下列控制策略:
1 雙輸入或其他輸入檢驗,比如邊界檢查或者限制具體范圍的輸入數據,以檢測下列差錯:
1)范圍之外的值;
2)數據字段中的無效字符;
3)丟失或不完整的數據;
4)超過數據的上下容量極限;
5)未授權的或不相容的控制數據;
2 周期性評審關鍵字段或數據文件的內容,以證實其有效性和完整性;
3 檢查硬拷貝輸入文檔是否有任何未授權的變更輸入數據(輸入文檔的所有變更均應予以授權);
4 響應確認差錯的程序;
5 測試輸入數據真實性的程序;
6 定義在數據輸入過程中所涉及的全部人員的職責;
7 創建一個數據輸入過程中的行為日志。
1.2.2 內部處理控制
正確輸入的數據可能被硬件錯誤、處理錯誤和故意的行為破壞。確認性檢查的需求取決于應用的特點和毀壞的數據對業務的。應用系統中應包含確認檢查,以檢測數據處理過程中的錯誤。應用系統的設計與實施應確保由于處理失敗導致的完整性被損壞的風險減至最小。考慮的特定風險包括:
1 使用程序中的增加、修改和刪除功能,以實現數據變更;
2 防止程序以錯誤次序運行或在前面的處理故障后運行的程序;
3 使用從失效中恢復的正確程序,以確保正確處理數據。
4 防止利用緩沖區溢出進行的攻擊。
應該準備適當的檢測列表,檢測行為需要記錄文檔,檢測結果要保持安全。可以包括的檢驗的項目包括如下:
1 會話或批量控制,以便在事務處理更新之后調解數據文件平衡;
2 平衡控制,對照先前的封閉平衡來檢驗開放平衡,即:
1)運行至運行的控制;
2)文件更新總量;
3)程序至程序的控制;
3 確認系統生成的輸入數據;
4 檢驗在中央計算機和遠程計算機之間所下載或上載的數據或軟件的完整性、真實性或者其他任何安全特性;
5 求所有記錄和文件的散列函數值;
6 檢驗以確保應用程序在正確時刻運行;
7 檢驗以確保程序以正確的次序運行并且在故障情況下終止;進一步處理被停止,直到解決問題為止。
8 創建—個有關處理的行為日志。
1.2.3 輸出數據確認
應該確認應用系統輸出的數據,以確保存儲的信息的處理是正確的并與環境相適宜。輸出確認可以包括:
1 真實性檢驗,以測試輸出數據是否合理;
2 調解控制計數,以確保處理所有數據;
3 對信息閱讀者或后續處理系統提供足夠的信息,以確定信息的準確性、完備性、精確性和分類;
4 響應輸出確認測試的程序;
5 定義在數據輸出過程中所涉及的全部人員的職責;
6 創建—個輸出數據確認行為的日志。
1.3 加密控制
對于企業來說信息是寶貴的,應該通過加密手段來保護信息的保密性、真實性或完整性。對于重要的系統來說加密主要通過設置用戶密碼和控制用戶權限來實現。
1.4 技術脆弱點管理
減少由利用公開的技術脆弱點帶來的風險,技術脆弱點管理應該以一種有效的、系統的、可反復的方式連同可確保其有效性的措施來實施。這些考慮應包括在用操作系統和任何其它的應用。
1.4.1 技術脆弱點控制
應及時獲得企業所使用的信息系統的技術脆弱點的信息,評估企業對此類技術脆弱點的保護,并采取適當的措施。
當前的完整的財產清單是進行有效技術脆弱點管理的先決條件。支持技術脆弱點管理需要的特定信息包括軟件供應商、版本號、軟件部署的當前狀態(即在什么系統上安裝什么軟件),和機構內負責軟件的人員。
要采取適當的、及時的行動來確認潛要的技術脆弱點。建立有效的技術脆弱點管理流程要遵循以下原則:
1 企業應當定義和建立與技術脆弱點管理相應的角色和責任,這包括脆弱點監視、脆弱點風險評估、打補丁、資產跟蹤、和任意需要的等價責任。
2 確認軟件和其它技術的相關技術脆弱點的信息資源應予以標識(基于資產詳細列表,這些信息應根據清單列表的變化而更新,當發現其它新的或有用的信息后,信息資源也應該更新;
3 制定時間表對潛在的相關技術脆弱點通知做出反映;
4 一旦潛在的技術脆弱點被確認,機構應該確認相關的風險并采取措施;這些措施可能包括對脆弱點系統打補丁,或者應用其它控制;
5 根據技術脆弱點需要解決的緊急程度,根據改變管理相關的控制,或者根據信息安全事故應答規程完成采取的行為;
6 如果要安裝補丁,則應先評估安裝補丁可能帶來的風險(脆弱點引起的風險應該同安裝補丁帶來的風險進行比較)。
7 補丁在安裝之前應該進行測試與評估,以確保補丁是有效的,且不會帶來副作用;如果沒有合適的補丁,應該考慮采取其它控制措施,如:
1)關掉與脆弱點有關的服務和性能;
2)在網絡邊界上采用或增加訪問控制,如防火墻;
3)增加監控以檢測或防止實際的攻擊;
4)提高對脆弱點的意識能力;
8 對行為的所有過程應做審核日志;
9 應定期對技術脆弱點管理過程進行監控和評估,以確保其效力和效率;
10 處理高風險的系統應該先解決。
企業的技術脆弱點管理過程的正確實施對企業來說都是非常重要的,因此應該定期對其進行監控。要對潛在的相關技術脆弱點進行確認,一個準確的詳細列表是最基本的。技術脆弱點管理可看作變化管理的一個子功能,因此可以利用變化管理的流程和規范。
供貨商往往是在面對很大的壓力下才發布補丁,因此一個補丁可能不能準確地解決問題,也可能存在負作用。在某些情況下,一旦補丁被安裝后,很難被卸載。