![](/uploadfile/2023/0316/20230316091709577.jpg)
架構NickMerritt是HaloSecurity公司主管安全產品和服務的副總裁,他已經負責并領導開展了超過300次的網絡安全滲透測試工作。通過在各類企業中的大量安全性測試實踐,NickMerritt從攻擊者的視角,總結了目前企業組織在信息化系統防護中的普遍弱點和常見錯誤,并給出了提升應用系統安全性的五點建議:
01自動化安全掃描還遠遠不夠
如果企業只是使用自動化工具掃描Web應用程序的安全性,那么很多安全漏洞都會成為漏網之魚,因為這類工具通常使用了模糊測試(一種將畸形數據注入系統來驗證安全的方法),而這種技術會產生大量的誤報和漏報。
企業應該明白,自動化掃描工具的研發還難以跟上現代Web應用程序開發的步伐,技術上的局限性讓掃描工具不能夠為JavaScript頁面應用、WebAssembly或圖技術(Graph)提供最佳的安全檢測結果。特別是對一些比較復雜的漏洞,企業安全團隊需要專門編寫有針對性的載荷才可以檢測出它們。
目前,要實現對安全漏洞和利用情況進行全面的分析還離不開安全專家的人工操作,而自動化安全掃描工具可作為輔助性的檢測手段,幫助安全分析師提升漏洞發現的效率。
02應用系統自帶的身份驗證通常不可靠
身份驗證是確保Web應用程序安全性的關鍵因素之一。但是在實際測試中發現,開發人員在應用系統中創建的身份驗證及密碼管理流程,通常都沒有采用安全、可靠的方式。
滲透測試人員很容易繞過系統自帶的驗證功能,輕松訪問其他用戶的隱私信息,或者擁有與其角色不相符的過多特權,這就會帶來橫向和縱向身份訪問控制方面的安全威脅問題。
企業必須要重視和加強對應用系統的身份管理和驗證,其關鍵在于相關的安全協議是否能夠得到有效實時。比如說,安全聲明標記語言(SAML)身份驗證是一種流行并且有效的單點登錄控制協議,但如果開發人員在系統開發時未能正確理解和引入,反而留下更多的安全漏洞。
03攻擊者更善于發現業務邏輯中的漏洞
開發人員在研發Web應用系統時,一般都是從產品的應用場景角度進行分析和設計,但是他們常常不會從攻擊者的角度去分析各種功能是否可能被惡意利用。一個典型的事例是電商網站中的購物車,它是這類網站的關鍵性應用,但常常不安全,存在嚴重的業務邏輯漏洞,比如攻擊者在結賬前將總數歸零,或者在完成付款后將低價商品替換成其他高價值商品。
我們不能過多苛責開發人員只關注系統的使用場景,而忽視其可能的風險場景。但是安全管理人員需要看到問題的各個方面,明白業務邏輯應該與安全邏輯相關聯。
04不存在“超范圍”的滲透測試觀念
Web應用程序已經變得非常復雜,會涉及較廣泛的資源和資產整合與利用。這就需要開發時通過后端API服務器利用,以支持主應用程序的各種功能。
企業應該向執行滲透測試的安全人員告知所有這些外部資產,以及它們如何與應用系統之間進行關聯交互,這對保障安全很重要。開發人員可能認為這些資產“超范圍”,因此不需要對它們負責。但攻擊者可不會遵守任何的攻擊界限,大量滲透測試結果也表明,企業中的資源和資產,沒有什么是“超范圍”的。
應用系統開發人員應該更好地與安全測試人員合作,減少滲透測試工作帶來的流程影響。開發人員只有兼顧創造力和安全框架,才能知道哪里可以自由編程,而哪里需要設置應用程序安全護欄機制。
05跨站腳本(XSS)攻擊不可忽視
XSS屬于被動式攻擊,是一種較盛行的Web應用程序漏洞利用方式。2021年,由于應用程序開發框架的改進,XSS首次跌出了OWASP(開放Web應用程序安全項目)前10名榜單,因此有人開始認為這種攻擊將會很少被應用。但事實上,“無孔不入”是網絡黑客們最基本的信念和意志表現,它仍是我們執行每次滲透測試任務中,最有效的模擬攻擊手法之一。
XSS攻擊造成的安全風險往往會很高,包括賬戶接管、數據竊取以及對應用程序基礎設施的全面破壞。許多開發人員以為,使用成熟的輸入驗證庫和配置適當的Cookie屬性就足夠防止XSS攻擊,但實際上這遠遠不夠。因為在今天的應用程序開發中,必然會使用大量自定義的代碼,此時XSS漏洞就會趁虛而入。以WordPress網頁為例,針對其的XSS攻擊非常危險,因為一旦獲取了管理員級訪問憑據,攻擊者就可以在應用中加載各種插件,并在應用服務器上執行代碼中的惡意載荷。
參考鏈接:
??https://www.darkreading.com/application-security/5-lessons-learned-from-hundreds-of-penetration-tests??