近年來(lái),得益于云計算、大數據、人工智能、區塊鏈等技術(shù)的發(fā)展,金融服務(wù)也更加多樣、便利及智能。與此同時(shí),由于巨額的利益驅使,金融服務(wù)行業(yè)成為了網(wǎng)絡(luò )攻擊的重點(diǎn)對象。如何做到更有效的安全防護成為業(yè)界的關(guān)注點(diǎn)。

金融服務(wù)機構經(jīng)常部署復雜的應用程序,與采用不同語(yǔ)言的分布式地理信息系統連接。它們通過(guò)多種協(xié)議進(jìn)行通信,其中一些使用的是多個(gè)平臺提供的免費開(kāi)源軟件。
這種復雜性使金融服務(wù)機構的網(wǎng)絡(luò )面臨更多漏洞。更糟糕的是,市場(chǎng)壓力迫使軟件行業(yè)要更快交付產(chǎn)品。在急于完成一個(gè)軟件時(shí),安全流程極有可能就被忽視了。
金融行業(yè)是黑客的重點(diǎn)攻擊對象之一,從ATM攻擊、DDoS攻擊、勒索軟件到APT攻擊等,犯罪手段層出不窮。
為了防患于未然,我們可以探討一下哪種防范方式更有效,能保護金融服務(wù)機構、應用程序及客戶(hù)資產(chǎn)。

1、軟件安全架構
軟件完整性是衡量一款軟件是否卓越的關(guān)鍵。完整性是指軟件質(zhì)量與安全。在每款應用開(kāi)發(fā)之初,安全專(zhuān)家和軟件架構師應該緊密合作,以開(kāi)發(fā)高度整合的、簡(jiǎn)化的軟件安全架構。風(fēng)險分析應該在軟件開(kāi)發(fā)早期階段進(jìn)行 -- 這通常被稱(chēng)為“左移”。
當所有安全決策都通過(guò)一個(gè)小型、集中式內核運行時(shí),它不太可能會(huì )省略某個(gè)安全決策(例如授權)。開(kāi)發(fā)團隊可以放心地去構建一個(gè)安全的應用程序,因為代碼在默認情況下從一開(kāi)始就是安全的。
2、威脅建模
威脅建模流程可以支持識別漏洞和潛在攻擊路徑,降低風(fēng)險。進(jìn)行威脅建模是持續風(fēng)險評估過(guò)程的一部分,可以幫助開(kāi)發(fā)團隊保持高度的安全警惕性。不斷提醒攻擊的可能性,并從攻擊者的角度考慮應用程序安全,有助于開(kāi)發(fā)團隊從不同角度進(jìn)行思考,并在開(kāi)發(fā)過(guò)程中進(jìn)行防御。
3、自動(dòng)安全測試
過(guò)去,應用程序安全測試通常在軟件開(kāi)發(fā)過(guò)程結束時(shí)或接近結束時(shí)才進(jìn)行。這就會(huì )導致如果有安全漏洞的話(huà),開(kāi)發(fā)人員要到后期才能發(fā)現,補救成本往往要更高。
早期發(fā)現漏洞不僅可以降低修復成本,還可以減少在后期階段修復漏洞的時(shí)間。這對于像金融等行業(yè)的快節奏開(kāi)發(fā)環(huán)境尤其重要。除了自動(dòng)連續測試之外,在整個(gè)軟件開(kāi)發(fā)過(guò)程中采取安全措施,可以在軟件投產(chǎn)之前就解決安全問(wèn)題,避免昂貴的補救成本。
現在市面上有許多自動(dòng)測試工具,每種工具都有優(yōu)缺點(diǎn)。動(dòng)態(tài)應用安全測試(DAST)工具(也稱(chēng)為黑盒測試)可識別正在運行的應用程序中的漏洞。 DAST可快速有效地查找到不同類(lèi)型的應用程序漏洞,包括身份驗證和授權問(wèn)題。而且,即使是不熟悉編碼語(yǔ)言的人也能使用這類(lèi)工具。
靜態(tài)應用安全測試(SAST)工具(也稱(chēng)為白盒測試)可供有權訪(fǎng)問(wèn)應用程序的源代碼、字節代碼或二進(jìn)制文件的人使用。它能識別應用程序中的潛在漏洞,例如程序正在使用不受信任的數據,并在沒(méi)有任何形式的驗證和/或編碼的情況下將其視為可信。黑盒測試用于正在運行的應用程序,在這個(gè)過(guò)程中不易發(fā)現的漏洞可以被 SAST工具檢測出來(lái)。
4、手動(dòng)安全測試
自動(dòng)化工具有一定的局限性,這就是為什么需要補充手動(dòng)安全測試的原因。例如,自動(dòng)化工具可能無(wú)法檢測到邏輯和設計缺陷,這時(shí)候就需要手動(dòng)代碼審查和滲透測試,用來(lái)識別和解決這些問(wèn)題。
5、專(zhuān)業(yè)人員與培訓計劃
軟件是一個(gè)團隊協(xié)作開(kāi)發(fā)的結果。開(kāi)發(fā)過(guò)程中的所有參與者都應在安全方面獲得充分的信息和培訓,從而在整個(gè)軟件開(kāi)發(fā)生命周期(SDLC)中推動(dòng)安全計劃進(jìn)展。推行安全計劃不能只靠軟件開(kāi)發(fā)人員,還需要了解常見(jiàn)漏洞和核心安全概念的質(zhì)量保證(QA)團隊和項目經(jīng)理。 QA團隊應該能夠進(jìn)行基本的安全測試工作。
創(chuàng )造具有安全意識的環(huán)境和培養這樣的團隊意味著(zhù)在SDLC早期就能發(fā)現安全問(wèn)題,并且在其成為沉重負擔前解決掉。
總結
金融服務(wù)機構受到高度的監管,應用程序運行環(huán)境復雜。市場(chǎng)日新月異,維持應用程序安全是一項有挑戰的任務(wù)。但部署安全系統及在SDLC早期(即“左移”)采取安全舉措可以為金融服務(wù)機構提供堅實(shí)的軟件安全保障。

新思科技軟件質(zhì)量與安全部門(mén)
管理顧問(wèn)Olli Jarva
管理顧問(wèn)Olli Jarva