由于銀行應用系統中涉及資金、客戶信息等重要、敏感的數據,應用系統始終面臨著外部和內部攻擊的威脅,為此需要采取有效的手段確保應用系統安全。
一、訪問控制安全
(一)“嚴禁”原則
嚴禁使用明文或在程序/腳本文件中寫死密碼,應用系統中涉及的任何密碼,均嚴禁使用明文,并嚴禁將密碼寫在代碼/腳本文件中。嚴禁在網頁源碼中暴露應用處理邏輯,嚴禁在網頁源代碼中出現類似SQL、腳本、條件判斷等應用處理邏輯。
嚴禁在超鏈接中出現參數信息,嚴禁基于Web的應用將數據庫連接用戶、密碼等重要參數信息放在超鏈接中,超鏈接中參數信息、服務調用信息應進行變形(亂碼)或者隱藏,以防止SQL注入攻擊,避免黑客猜測數據庫表結構、數據庫連接用戶和密碼。嚴禁應用系統設計留有“后門”,嚴禁以維護、技術支持或者特殊操作為由,設計違反或者繞過安全規則的任何類型的入口和設計文檔中未說明的任何模式的隱藏入口。
(二)必須原則
身份識別是信息安全服務的基礎,基本原則是要做到用戶區分的唯一性,認證是基于身份識別的,身份識別最常見的形式就是用戶ID,與密碼組合標識一個用戶身份。
密碼分為交易密碼和用戶登錄密碼等。應用系統應對交易密碼的全部使用環節進行硬加密,包括密碼的產生、密碼錄入、密碼修改、密碼的傳輸、密碼的保存。應用系統應支持聯機密鑰修改,避免加密設備密鑰變更對應用系統正常運行的影響。
應用系統應對系統的使用用戶密碼進行加密(可以是軟加密),包括密碼的產生、密碼錄入、密碼修改、密碼的傳輸、密碼的保存。軟加密時應確保軟加密算法具有足夠的強度,并且確保密鑰存儲安全,對密鑰的訪問應嚴格控制。同時,還應采取必要的措施,確保軟加密算法的安全。
必須保證密碼安全傳遞,應用系統應建立完善的密碼傳遞機制,如采用硬件轉加密、密碼信封等方式,確保密碼在系統和使用用戶(人)之間的安全傳遞。
應用系統必須設計密碼強度檢查機制,密碼錯誤次數限制等措施,避免用戶使用簡單密碼,防止黑客對密碼進行暴力破解。,必須提供用戶賬戶鎖定功能,當用戶帳戶幾次登錄嘗試失敗后,必須禁用該帳戶并將事件寫入日志。同時必須提供用戶帳戶解鎖功能。必須在設計階段將這些策略明確下來。
必須支持密碼有效期,密碼不應固定不變。作為常規密碼維護的一部分,通過設置密碼有效期強制應用系統用戶對密碼進行定期更改。在應用程序設計階段,必須考慮提供這種類型的功能。,必須對前端輸入信息進行驗證
將輸入驗證策略作為應用程序設計的核心要素。應假定所有的輸入都是惡意的,不要依賴于客戶端的驗證,雖然使用客戶端驗證可以減少客戶端和服務器之間的信息傳遞次數。
要做到限制、拒絕或者凈化輸入,輸入驗證的首選方法是從開始就限制允許輸入的內容。按照已知的有效類型、模式和范圍驗證數據要比通過查找已知有害字符的數據驗證方法容易。設計應用程序時,應了解應用程序需要輸入什么內容。與潛在的惡意輸入相比,有效數據的范圍通常是更為有限的集合。為了使防御更為徹底,可能還需要拒絕已知的有害輸入,達到凈化輸入的效果。
(三)盡可能原則
盡可能實現用戶的權限最小化,應用用戶的權限最小化,控制應用用戶對文件、數據的訪問,記錄并統計登錄歷史;對重要信息資源設置敏感標記并控制對設置敏感標記資源的操作。
二、運行安全
(一)“嚴禁”原則
為方便使用,無論是軟件還是硬件,都存在缺省配置參數,比如訪問權限、網絡服務端口號、用戶ID及密碼等。如果在系統上線前不對缺省配置進行修改或者禁止,就會遺留安全隱患。為此,應用系統上線前,必須調整、修改系統缺省配置,尤其諸如用戶ID、密碼等涉及系統安全的缺省參數。
(二)“必須”原則
應用系統必須關閉所有未用網絡端口,尤其要關閉能夠遠程控制系統的網絡端口,如Windows遠程桌面管理端口。以防止黑客利用系統應用缺陷,通過網絡端口攻擊、滲透。
應用系統交付前必須進行信息安全評估,信息系統安全已經是銀行面臨的重大問題,監管部門對信息系統安全問題是零容忍。信息系統安全包括對外安全和對內安全。所謂對外安全是能夠有效避免來自互聯網等外部系統的攻擊、滲透;所謂對內安全是指能夠有效避免來自銀行內部的攻擊,包括運維人員的違法、違規、違章操作等。
應用系統在交付時,必須提交對信息系統安全的評估報告,說明系統采取了哪些安全措施,經過了何種安全測試及結果;說明系統還存在哪些安全隱患;說明在運維時還需執行何種安全防護措施;等等。必須假設外部系統是不安全的,如果需要從一個不能完全控制的系統接收數據,則接收到的任何數據都應該被認為是不安全的。當接收用戶輸入的時候,這一點尤其重要。用戶是從用戶界面或應用程序客戶端執行命令的,許多攻擊者都是利用服務端缺陷,通過繞過客戶端,將有惡意的數據發送給服務器。
“緩沖區溢出”是一個眾所周知的安全問題,其根本原因是向一個內存空間(可能是棧,也可能是堆)復制比內存空間大的數據量。包括靜態緩沖區溢出、堆溢出、數組索引越界、格式化字符串缺陷、Unicode和ANSI的緩沖區大小不匹配等多種情況。通常這些情況是在用像C/C++這樣可以靈活操縱內存的語言編寫程序造成的。必須嚴格檢查這類程序代碼,消除“緩沖區溢出”隱患。
(三)“盡可能”原則
盡可能具有防木馬程序設計,應用系統盡可能設計必要的措施防止木馬程序對密碼的截取。,盡可能使用成熟穩定版本的軟件或者工具,軟件產品或者工具升級換代非常的迅速,雖然新的版本會帶來很多功能上的提升,但是也可能隱藏著新的缺陷。所以盡可能在功能滿足的情況下使用經過驗證的成熟穩定的版本。
盡可能保證關鍵信息安全傳遞,應用系統盡可能完善各種關鍵信息(例如:磁道信息、卡片校驗碼、制卡文件等)傳遞機制,如采用硬件轉加密、密碼信封等方式,確保關鍵信息在系統和使用用戶(人)之間的安全傳遞。盡可能提供安全審計功能,在應用系統中發生的各種與安全相關的事件,應盡可能記錄下來。審計記錄應包括安全事件的主體、客體、時間、事件類型、事件內容、事件結果等內容。應提供審計記錄查詢、分類、分析和存儲保護;能對特定安全事件進行報警;確保審計記錄不被破壞或非授權訪問。應為安全管理中心提供接口;對不能由系統獨立處理的安全事件,提供由授權主體調用的接口。并提供審計功能的啟動和關閉功能。
評論
查看更多