對web應用程式安全的常見誤解

zktq2021發表於2022-09-26

軟體開發讓事情工作起來,並創造新的功能來解決問題。然而根據網安公司的一項研究顯示,32%的Web開發人員每天至少花5個小時來解決安全問題。通常情況下,低效溝通及不充分的工具會導致開發人員將與安全相關的請求視為沒有明確原因或干擾,同時還會存在很多誤解。

誤解 1:安全不是開發問題

現實:應用程式安全是現代web開發的重要組成部分,尤其是當你轉向DevSecOps時。

對多數團隊來說,關注點通常在構建軟體上而將安全性拋在腦後。web應用程式如此複雜,並且可以以多種方式受到攻擊,因此提高安全性應該成為每個人的事情,從開發到結束。在開發中發現漏洞時,可以及時進行修復並在上線前將問題解決。

誤解 2:我們的Web框架負責安全性

現實:一個高質量的框架可以防止許多安全缺陷,但僅靠它本身是遠遠不夠的。

選擇一個具有可靠安全記錄的框架是必須的,因為它可以幫助完全避免某些型別的技術漏洞,但只能避免某些型別的技術漏洞,並且僅在按預期使用框架時。框架也只能防止典型用例中的一小部分漏洞,因此它們只是安全編碼的起點。

誤解 3:在 IDE 中執行安全檢查,所以很安全

現實:在IDE中執行的靜態程式碼檢查僅涵蓋整個應用程式安全性的一部分。

Web 開發工具集現在通常包括某種程式碼安全檢查器,有時甚至作為免費外掛。這樣做的好處是可以從第一行程式碼中強制執行一定程度的安全意識,但缺點在於只能識別有限的問題。透過增加專業的靜態程式碼檢測工具,可以有效發現更多的已知/未知漏洞及執行時缺陷,在開發中提高軟體安全性。

誤解 4:瀏覽器有針對攻擊的內建保護

現實:瀏覽器安全性是應用程式安全性的補充。

大約十年前,在跨站點指令碼(XSS)盛行時期,瀏覽器供應商嘗試在瀏覽器本身中構建XSS過濾器。雖然這些安全措施從來都不是完全有效的,而且已經從大多數現代瀏覽器中刪除了,但這造成一個誤解,即防止對web應用程式的攻擊是瀏覽器的工作。實際上,瀏覽器安全是網路安全的一個完全獨立(而且至關重要)的領域,不應該將瀏覽器作為應用程式的額外防線。

誤解 5:我們所有的網站都使用 HTTPS,因此是安全的

現實:HTTPS只保護你免受窺探和篡改,而不是惡意流量。

看到掛鎖圖示和“本網站是安全的”的資訊會產生一種“安全感”,如果到處都是HTTPS,所有的流量都是加密的,那就意味著一切都是安全的?然而並不是,這無法對對威脅參與者已經擁有有效連線的應用程式級攻擊提供保護。如果攻擊者可以在一個脆弱的僅面向http的應用程式中訪問或建立一個有效的使用者帳戶,那麼他們就可以自由地嘗試SQL隱碼攻擊、特權升級和其他攻擊,所有這些都是在一個安全加密的連線中進行的。

誤解6:應用程式只在內部網路上執行,所以安全不是問題

現實:高階攻擊者可以使用被破壞的面向web的系統來間接攻擊脆弱的應用程式,甚至在內部網路中。

實際上,存在像伺服器端請求偽造(SSRF)這樣的漏洞,如果出現在生產應用程式中,高階攻擊者甚至可以透過另一個伺服器攻擊內部系統。此外,在雲優先的世界中,許多組織不再擁有物理上隔離的內部網路,除非是私有云。

誤解 7:只允許虛擬專用網路訪問,所以應用程式是安全的

現實:虛擬專用網路是保護網際網路隱私的強大工具,但不是保護網路資產的全面解決方案。

遠端工作的轉變已經使虛擬專用網路從專業工具轉變為企業 IT 的主要工具,充當物理辦公室網路的遠端工作對應物。儘管它們確實提供了額外的隔離和訪問控制,就像內部網路一樣,但不應將 VPN 視為 Web 應用程式的安全保證。如果攻擊者確實設法訪問了 虛擬專用網路(例如,使用被盜的憑據、洩露的員工帳戶或一些社會工程),任何易受攻擊的內部應用程式都將很容易受到攻擊。

誤解 8:Web 應用程式防火牆將阻止任何攻擊

現實:WAFs並不是被設計成唯一的應用程式防禦線,特別是當它們可以被攻擊者繞過時。

Web應用程式防火牆(WAFs)是網路防火牆的Web模擬,過濾HTTP流量(希望)檢測和阻止攻擊嘗試。WAFs通常還充當負載平衡器,它提供了額外級別的安全性,對於臨時阻止0 day攻擊,直到實現修復是非常寶貴的。然而,它們不能(也不打算)檢測所有可能的攻擊,只要存在潛在的漏洞,攻擊者就可能找到繞過WAF規則的方法來利用它。

誤解 9:有備份,如果發生網路攻擊可以恢復

現實:備份對於資料儲存和業務連續性很重要,但不能減少資料洩露的附帶損害。

備份策略一直是整個安全策略的關鍵組成部分,沒有什麼可以替代良好的備份和可靠的恢復計劃。但是,即使是最好的備份也不能防止網路安全事件的發生。備份只能防止資料丟失,並不能幫助解決網路攻擊的其他潛在後果,從停機時間到聲譽損失。首先確保應用程式安全與始終為恢復做好準備一樣重要。

誤解 10:沒有人可能想攻擊我們

現實:大多數網路攻擊都是自動的、不分青紅皂白的,所以每個組織都可能成為攻擊目標。

不可否認的是,這種誤解體現了人類普遍的信念,即壞事只會發生在別人身上。對於那些沒有充分認識到其攻擊面範圍之廣的企業來說,從認為自己不是有吸引力的目標的小公司到組織,希望應用程式安全並不真正與他們有關,因為他們不會被攻擊。

事實是,真正的網路犯罪分子是有組織的犯罪組織,它們每天 24 小時在全球網路上進行自動攻擊探測。事實上,惡意機器人佔所有 Internet 流量的 39% ,一旦機器人發現一個已知的缺陷(想想Log4Shell),存在這個缺陷的企業就危險了。

現代的web應用程式安全是複雜的、多層的、不斷變化的,就像web應用程式本身一樣。漏洞會不斷重新出現,並在不斷增加的積壓中堆積更多的問題。從這個角度來看,在開發過程中由於上面列出的任何原因而忽略應用程式安全性不僅是危險的,而且產生的工作可能比節省的工作量還要多。將有效的安全測試和補救直接構建到軟體開發生命週期(SDLC)中更有意義。


來源:

https://www.invicti.com/blog/web-security/security-misconceptions-web-application-developers/


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000012/viewspace-2916250/,如需轉載,請註明出處,否則將追究法律責任。

相關文章