![](https://hfnxjk.com/statics/images/logo.png)
“讓我們從頭開始,從一個很好的地方開始。”
電影《音樂之聲》中瑪利亞的建議同樣適用于構建有效的應用安全程序。這是充滿障礙的道路,對于尚未側重安全性的企業來說,這可能非常遙遠且復雜,甚至還無法開始。
其他企業則可能愿意部署前面的步驟,這是一件好事。Manicode Security公司聯合創始人Jim Manico建議:“企業需要去嘗試、犯錯,并堅持適合自己的方法。”
近日在羅馬舉行的2016年OWASP AppSec大會,專家們與來自全球各地近700名與會者探討了“從哪里開始”的問題。下面是從這些討論和對話中總結的技巧。
創建應用安全程序的第一步
“從管理的角度來看,企業可研究OWASP的SAMM(軟件保證成熟度模型)框架,并將從中大大受益,”Minded Security公司首席執行官Matteo Meucci建議,“SAMM帶領企業了解他們應該如何管理威脅建模、如何執行安全測試、如何執行安全代碼審查、如何管理漏洞等。”
SAMM工具集可通過圖形說明企業擁抱應用安全程序的能力。通過利用該儀表板,企業可建立發展成為更成熟企業的路線圖。
Meucci稱:“SAMM可很好地幫助企業了解在哪里投資以及如何改進。”
企業的應用安全程序通常是在軟件設計和構建后,即側重對應用的測試。然而,在AppSec大會很多人都認為在后期階段查看安全問題并不夠。
“有些企業從動態分析(動態應用安全測試DAST)開始,這只是在應用發布之前,”應用測試公司Checkmarx產品營銷主管Amit Ashbel稱,“這有時候會導致發布延遲,而且,開發人員需要從頭來過去解決問題。實際上,你應該在代碼編寫時靜態形勢下分析代碼,在最后的動態分析應該只是最后的檢查,不會對項目帶來影響,因為漏洞已經被修復。”
對應用安全的靜態和動態測試
Manico對這種非此即彼的立場有著不同的看法,他指出“任何明智的應用安全程序都應該同時涉及靜態和動態測試”。單獨依靠任一種測試都不足夠。
Meucci同意稱這種非此即彼的做法有風險。
“這些項目通常會失敗,”Meucci稱,“他們失敗的原因不是因為開發人員沒有時間回過頭去修復發現的漏洞,而是因為他們發現了太多漏洞不知道如何解決。”
風險分析公司Security Innovation國際渠道銷售總監Tony Luzza稱:“這個問題是兩面的,首先,首席信息安全官(CISO)在開發生命周期的后期才得到應用滲透測試結果,其次,他們將發現的結果交給不懂安全或者不具備修復漏洞技能的團隊。”
對于開發后進行測試的企業,很多人都有著錯誤的假設:他們可以發現漏洞、優先處理它們,并在修復漏洞后可銷售軟件。這并不是成功的做法,而且可能會有漏洞未被發現。為什么呢?軟件團隊承受著巨大的壓力,他們要在規定時間內推出產品。而且運行整個測試和發布過程是巨大的噩夢,特別是當存在很多安全漏洞需要對軟件架構進行更改時。
根據專家表示,最好的建議是:盡早測試以及頻繁測試。在編碼階段使用靜態應用安全測試(SAST)并使用動態測試來捕捉可能溜走的漏洞。
Ashbel稱:“企業通常忘記這并不是只使用一種類型的測試來節省資金。”
但這只是開始,想要構建有效的應用安全程序,還有很多工作要做。
“你應該進行靜態測試和動態測試,但這只是成熟安全軟件開發生命周期的部分元素,”Manico稱,“還應該考慮安全標準和要求、架構風險分析、設計風險分析、DevOps基礎設施、安全框架和庫??紤]開發人員培訓、測試規劃、卓越可用性中心,評估安全指標、測試評估和成熟安全SDLC的其他方面。”