如何在交付周期中保Web應用程序安全性(3)
Web應用程序架構和設計
由于已經定義了Web應用程序的架構和設計方案,下一步就需要評估安全問題。正是在這個階段,成本高昂的、難以糾正的安全問題可以在其最易于解決的時間修復。為了防止損失慘重的錯誤,應當從性能和安全兩個方面評估程序的架構。由于編制了詳細的設計規(guī)范,因而可以向開發(fā)人員展示出應當包括哪些安全控制,以及應用程序的組件如何與完整的Web應用程序進行交互。
將安全性集成到架構和設計階段的步驟
1、對于所建議的架構和部署環(huán)境執(zhí)行風險評估,以決定設計是否會帶來風險。
2、評估應用程序與原有系統(tǒng)進行交互時的安全意義和風險,以及不同的組件、層或系統(tǒng)之間的數據流的安全問題。
3、評述在實施或部署階段需要解決的任何具體的暴露問題(即依賴于應用程序的部署方式和部署位置的漏洞)。
4、考慮依賴關系以及與混搭關系、SOA及合伙服務的交互所引起的漏洞。將最終的設計交付安全和審計,以確定安全測試計劃和誤用情形。
其好處體現在五個方面:
1、可以精心協(xié)調風險評估分析過程和可重用的風險評估模型。
2、可以在早期階段確定由架構環(huán)境或部署環(huán)境所帶來的風險。
3、可重用的誤用案例可以節(jié)省測試階段的時間。
4、減少特定的設計漏洞。
5、如果有必要,可以調整或變更帶來風險的架構限制,如果無法完全清除風險,也可以用補償性控制來定義減輕風險的策略。
Web應用程序代碼執(zhí)行與編譯
在開發(fā)人員開始編寫代碼時,他們對安全控制必須擁有一套完整的風險評估設計和清晰指南,或通過經認可的服務來使用這種安全控制。集成到IDE中的自動化靜態(tài)代碼工具可以在編寫代碼時向開發(fā)人員提供檢查和指南。自動化的工具還可在編譯期間用于對照策略模板檢查代碼是否違規(guī),并可以深入查看代碼水平的安全問題。
將安全性集成到代碼執(zhí)行和編譯階段的步驟
1、安裝可與集成開發(fā)環(huán)境整合到一起的靜態(tài)源碼檢查工具。
2、作為一種選擇,開發(fā)人員在交付代碼之前可以用獨立的編碼工具來執(zhí)行自動化的代碼檢查。
3、安全和審核團隊抽查代碼模塊,看其是否遵循合規(guī)要求,并在編譯之前使用自動化的或手動的代碼檢查來檢查其安全風險。
4、在編譯過程中,執(zhí)行自動化的靜態(tài)代碼掃描,查找安全問題和策略的遵循情況。
5、使用工具跟蹤開發(fā)人員的編碼錯誤,并對其帶來的安全風險提供解釋性反饋和原因說明。
這會帶來如下的好處:
1、可將更清潔的或漏洞更少的代碼提交給質量評價人員。
2、隨著時間的推移開人人員可以提升安全編碼能力。
3、可重用策略可以提升風險分析的正確性。
4、在測試階段發(fā)現的編碼錯誤或漏洞更少,并會使開發(fā)周期更短。
【編輯推薦】
- 惡意釣魚網站數量超百萬
- 抵御Web威脅的十大方法
- 如何確保 Web應用安全
- 防范網站掛馬:審計與監(jiān)測并重 續(xù)
- 網站主機安全之系統(tǒng)與服務器安全管理
- 如何在交付周期中保Web應用程序安全性(1)
- 如何在交付周期中保Web應用程序安全性(2)