從源頭抓起 實(shí)現(xiàn)應(yīng)用系統(tǒng)安全
隨著銀行業(yè)務(wù)創(chuàng)新的快速發(fā)展,針對(duì)新業(yè)務(wù)需求的應(yīng)用系統(tǒng)開(kāi)發(fā)任務(wù)日益增多,而銀行的很多應(yīng)用系統(tǒng)都直接與客戶的資金有關(guān),這就對(duì)應(yīng)用系統(tǒng)自身的安全性提出很高的要求。根據(jù)Gartner公司的分析,目前對(duì)網(wǎng)絡(luò)的攻擊有70%以上是集中在應(yīng)用層,并且這一數(shù)字呈上升趨勢(shì)。應(yīng)用層的攻擊有可能會(huì)造成非常嚴(yán)重的后果,因此,對(duì)具體應(yīng)用系統(tǒng)的有效保護(hù)就顯得越發(fā)重要。
我國(guó)商業(yè)銀行信息科技風(fēng)險(xiǎn)管理指引和國(guó)家等級(jí)保護(hù)要求,都指出銀行必須構(gòu)建一個(gè)完整的開(kāi)發(fā)安全管理體系,以實(shí)現(xiàn)對(duì)信息系統(tǒng)整個(gè)生命周期的控制。這個(gè)體系應(yīng)該是一個(gè)從需求分析、設(shè)計(jì)、編碼實(shí)現(xiàn)、測(cè)試到上線全生命周期的安全管理體系。軟件工程的相關(guān)研究表明,在軟件開(kāi)發(fā)周期的早期就修補(bǔ)安全漏洞更高效而且更具成本效益。因此,銀行在防范金融風(fēng)險(xiǎn)的過(guò)程中,必須充分重視開(kāi)發(fā)安全管理體系的建設(shè),控制具體應(yīng)用系統(tǒng)的開(kāi)發(fā)過(guò)程,同步進(jìn)行安全建設(shè),避免應(yīng)用系統(tǒng)開(kāi)發(fā)完成后再考慮安全問(wèn)題。
開(kāi)發(fā)安全從規(guī)范開(kāi)始
銀行在建設(shè)應(yīng)用系統(tǒng)開(kāi)發(fā)安全管理體系時(shí),應(yīng)當(dāng)首先考慮制定相應(yīng)的制度與流程。通過(guò)對(duì)各種類型應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程的研究,發(fā)現(xiàn)其中面臨的各種與安全相關(guān)的并且具有一定通用性的問(wèn)題,銀行需要針對(duì)這些問(wèn)題制定相應(yīng)的開(kāi)發(fā)安全規(guī)范,以保證安全不被忽視。開(kāi)發(fā)安全規(guī)范的制定應(yīng)該依照組織的整體方針和業(yè)務(wù)目標(biāo),并引用其他參考文檔(如通用準(zhǔn)則、安全標(biāo)準(zhǔn)、組織過(guò)程資產(chǎn)以及最佳實(shí)踐等等)來(lái)識(shí)別與控制風(fēng)險(xiǎn),提出與開(kāi)發(fā)安全有關(guān)的方針、目標(biāo)、指標(biāo)、過(guò)程和程序。
開(kāi)發(fā)安全規(guī)范一般包括安全需求分析指南、安全技術(shù)方案設(shè)計(jì)規(guī)范、安全編碼規(guī)范和安全測(cè)試規(guī)范等。依據(jù)開(kāi)發(fā)安全規(guī)范,銀行在進(jìn)行應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程中,對(duì)于各個(gè)階段的安全問(wèn)題加以相應(yīng)的控制,確保應(yīng)用系統(tǒng)在開(kāi)發(fā)中的安全管理。
全生命周期的安全規(guī)劃和管理
應(yīng)用系統(tǒng)的開(kāi)發(fā)階段是其生命周期內(nèi)的一個(gè)重要階段,在此階段,將主要完成應(yīng)用軟件的需求分析、設(shè)計(jì)、實(shí)現(xiàn)及測(cè)試等工作,此階段的工作將極大程度地決定系統(tǒng)本身的安全性。因此,要確保安全性要求在此階段的各個(gè)具體工作過(guò)程中的貫徹和實(shí)施,以便交付具有高安全特性的應(yīng)用軟件,為將來(lái)應(yīng)用系統(tǒng)的安全投產(chǎn)運(yùn)行奠定堅(jiān)實(shí)的基礎(chǔ)。
(一)需求分析階段
安全技術(shù)人員在需求分析階段主要對(duì)需求文檔中的安全需求情況進(jìn)行分析,重點(diǎn)從系統(tǒng)的重要信息或數(shù)據(jù)、面臨的安全威脅、系統(tǒng)基礎(chǔ)環(huán)境的安全需求等角度入手,分析安全需求的全面性和完整性。
在安全功能需求中,身份鑒別、認(rèn)證與授權(quán)、輸入和數(shù)據(jù)驗(yàn)證、敏感數(shù)據(jù)安全、會(huì)話管理、異常管理等需求應(yīng)進(jìn)行明確詳細(xì)的說(shuō)明。以電子銀行的數(shù)據(jù)安全為例,敏感數(shù)據(jù)要求特別保護(hù),該類數(shù)據(jù)的傳輸、存取和存儲(chǔ),必需采取加密措施保護(hù),僅能通過(guò)內(nèi)置的軟硬件加解密模塊進(jìn)行管制。
(二)方案設(shè)計(jì)階段
方案設(shè)計(jì)階段是整個(gè)生命周期中最為關(guān)鍵的部分,在這個(gè)階段不僅要包括系統(tǒng)的功能、性能、開(kāi)發(fā)費(fèi)用與周期等要求,還要明確規(guī)定系統(tǒng)的安全要求,并據(jù)此確定具體采用的安全控制措施,如用戶身份認(rèn)證體系的強(qiáng)度設(shè)計(jì)、認(rèn)證失敗后的處理方式設(shè)計(jì)等。
在方案設(shè)計(jì)階段應(yīng)該根據(jù)安全需求和安全技術(shù)規(guī)范,選擇和設(shè)計(jì)相應(yīng)的安全控制方法。安全技術(shù)人員主要分析系統(tǒng)設(shè)計(jì)文檔中關(guān)于安全設(shè)計(jì)的完整性、合理性,分析安全設(shè)計(jì)是否能夠滿足安全需求、是否達(dá)到相應(yīng)的安全強(qiáng)度等。
(三)編碼實(shí)現(xiàn)階段
程序員可使用各種通用以及特定的編程指導(dǎo)規(guī)范來(lái)防止開(kāi)發(fā)中的普通安全問(wèn)題,特定的編程指導(dǎo)規(guī)范主要集中在Perl、Java和C/C++語(yǔ)言。大多數(shù)情況下,使用這些編程指導(dǎo)規(guī)范將可以避免許多會(huì)導(dǎo)致安全漏洞的錯(cuò)誤,比如非法數(shù)據(jù)輸入、緩沖區(qū)溢出、SQL注入等常見(jiàn)問(wèn)題。
在編碼實(shí)現(xiàn)階段,應(yīng)重點(diǎn)關(guān)注由于程序員有意或無(wú)意的編碼而導(dǎo)致的安全缺陷。安全技術(shù)人員需要抽查重要的代碼進(jìn)行安全性分析,確認(rèn)編碼是否滿足相應(yīng)編碼安全規(guī)范,是否存在安全編碼缺陷等。
(四)安全測(cè)試階段
應(yīng)用系統(tǒng)在正式上線前應(yīng)對(duì)安全性進(jìn)行測(cè)試,驗(yàn)證應(yīng)用系統(tǒng)的安全性是否符合安全設(shè)計(jì)及安全需求。在系統(tǒng)測(cè)試階段,應(yīng)重點(diǎn)關(guān)注對(duì)于應(yīng)用系統(tǒng)安全功能的測(cè)試情況,應(yīng)確保安全功能測(cè)試的全面性。僅在用戶管理這一項(xiàng)上,就需要從用戶角色、賬號(hào)權(quán)限、口令保護(hù)、弱口令檢測(cè)、口令修改等大量重點(diǎn)分析點(diǎn)來(lái)進(jìn)行測(cè)試。因此,在實(shí)際測(cè)試中需要制定準(zhǔn)確周密的測(cè)試計(jì)劃和測(cè)試腳本,特別是驗(yàn)收的標(biāo)準(zhǔn)必須非常詳細(xì)。
在測(cè)試過(guò)程中,應(yīng)模擬真實(shí)應(yīng)用場(chǎng)景搭建測(cè)試的軟硬件環(huán)境,并進(jìn)行嚴(yán)格的控制保護(hù)。系統(tǒng)測(cè)試如果需要使用真實(shí)的數(shù)據(jù),應(yīng)對(duì)這些數(shù)據(jù)進(jìn)行脫敏處理,并嚴(yán)格控制對(duì)這些數(shù)據(jù)的操作行為。在與其他系統(tǒng)進(jìn)行互操作性測(cè)試時(shí),應(yīng)充分考慮對(duì)其他系統(tǒng)的影響,選擇適當(dāng)?shù)臅r(shí)間和方式進(jìn)行。
應(yīng)用系統(tǒng)的安全性不應(yīng)該是霧里看花,也不應(yīng)該是空中樓閣。對(duì)于安全的信心應(yīng)該來(lái)自于我們?cè)谡麄€(gè)生命周期中對(duì)風(fēng)險(xiǎn)的識(shí)別、關(guān)注和準(zhǔn)備。銀行可以通過(guò)建設(shè)開(kāi)發(fā)安全管理體系,加強(qiáng)應(yīng)用系統(tǒng)開(kāi)發(fā)的安全管理,提高銀行應(yīng)用系統(tǒng)開(kāi)發(fā)安全管理的制度化、規(guī)范化水平,健全銀行信息安全管理體系。