什麼是OWASP TOP 10?
OWASP TOP 10 是由全球性非營利組織 OWASP(The Open Web Application Security Project)所提出的十大網路應用程式安全風險,其中列出了最常見的10種網路應用程式風險,並按照其嚴重性和頻率進行排名。
OWASP TOP 10發表的目的為提高企業和開發者對網路應用程式安全問題的警覺,並提供一些防範和解決的方案,以減少網路應用程式安全漏洞的發生。這些風險會隨著時代的變化不斷更新,是網路應用程式開發和測試中必不可少的參考依據,也因此每一年的OWASP TOP 10項目也不盡相同。
目前來說,最新的OWASP TOP 10版本是2021年,其中所歸納的十大弱點如下:
A1. 權限控制失效(Broken Access Control)
說明:應用程式在身份驗證、授權和Session管理等方面出現不當配置或實作,導致攻擊者能夠訪問未經授權的資源或執行未經授權的操作。
舉例:當應用程式沒有對使用者身份進行適當的驗證,或者在授權方面存在錯誤的權限控制時,就可能會導致攻擊者能夠以其他使用者的身份訪問敏感資源,或者執行他們本來沒有權限執行的操作。另外,如果應用程式在Session管理方面存在問題,攻擊者也可能使用會話固定攻擊(session fixation attack)來接管現有的會話,以繞過身份驗證和授權檢查。
A2. 加密機制失效(Cryptographic Failures)
說明:軟體應用程式中所使用的加密方式或加密實作出現錯誤,導致加密過程的失敗,最終可能會使攻擊者能夠以某種方式讀取或修改敏感資訊,或者是讓攻擊者能夠對系統進行未授權的操作。因此,實施良好的加密方式和加密管理對於確保系統安全至關重要。
舉例:軟體使用了不安全的加密演算法、使用不安全的密碼、密鑰管理不當、隨機數生成不足夠隨機、沒有妥善保護加密金鑰等等。當攻擊者發現這些漏洞時,就可以使用各種攻擊技術來解密或竄改數據,進而獲取機密信息或對系統造成危害。
A3. 注入式攻擊(Injection)
說明:在應用程式中,未對使用者輸入的資料進行充分驗證或過濾,導致攻擊者能夠向應用程式的執行環境中插入並執行惡意指令或程式碼。此弱點包括但不限於 SQL Injection、XML Injection、LDAP Injection、OS Command Injection、Code Injection 等。通常是多編程人員沒有正確地對使用者輸入的資料進行驗證、過濾或轉義,或是使用了不安全的程式庫或方法所導致。
舉例:攻擊者可以利用這種漏洞對資料庫、網站、應用程式等系統進行未經授權的操作,如取得敏感資訊、修改數據、繞過身份驗證等。
A4. 不安全的設計(Insecure Design)
說明:軟體設計上有缺陷,導致系統無法有效地防禦攻擊。這些缺陷可能包括不當的系統架構、不完善的安全模型、安全風險分析不充分、權限管理不當等,進而造成系統易受到各種攻擊。因此,必須在設計階段進行全面的安全風險評估和漏洞分析,以確保系統設計的安全性和完整性。
舉例:如果在系統設計階段沒有充分考慮到權限管理機制,就可能導致某些使用者能夠訪問他們本應該無權訪問的敏感資料,這便是由於軟體設計上的錯誤而引起的問題。
A5. 不安全的設定配置(Security Misconfiguration)
說明:因為應用程式和系統的未經適當配置、更新、保護和監控,使其容易受到攻擊和入侵。攻擊者可能會利用這些設定上的漏洞,取得未授權的存取權限,並竊取敏感資料或者破壞系統。故開發團隊需要對所有系統和應用程式的安全設定進行評估和管理,並定期檢查和更新這些設定,以確保它們與最新的威脅和漏洞相容並且保持最佳的安全性能。
舉例:使用預設的系統帳戶和密碼、未更新軟體版本、未啟用安全協定、未禁用不必要的服務、未經適當的驗證控制和權限管理等。
A6. 易受攻擊和過時元件(Vulnerable and Outdated Components)
說明:應用程式中使用的外部組件、資料庫、框架等元件存在安全漏洞或已經過時,攻擊者可以利用這些漏洞對應用程式進行攻擊。此類型的漏洞通常可以透過更新到已修復的版本來解決,或者在安裝和配置時遵循最佳安全實踐來減少風險。
舉例:攻擊者利用已知的漏洞來執行任意代碼、提升權限、訪問機密數據等。
A7. 身分認證、驗證失效(Identification and Authentication Failures)
說明:系統無法適當地識別和驗證使用者的身分,這種漏洞可能發生於帳號密碼管理不當、session管理不當、未能保護身分識別憑證、身分識別管理不當等。攻擊者甚至可以利用這些漏洞深入到系統中,繞過系統安全控制,從而對系統和資料造成威脅和損害。因此,應該確保系統可以適當地識別和驗證使用者的身分,以確保系統的安全性。
舉例:攻擊者可以使用未經授權的身分進入系統,或是提升已有的權限。
A8. 軟體和資料完整性錯誤(Software and Data Integrity Failures)
說明:在應用程式中,未能防止恶意的修改、刪除或篡改資料或軟體。這可能會導致應用程式運行失常,或是開啟了不當的訪問權限,進而造成機密性和可用性的風險。攻擊者可以利用這些漏洞進行資料竊取、篡改數據、執行未授權的操作等行為,嚴重影響了應用程式的完整性。建議應用程式使用更強的加密算法、保持軟體和系統更新、限制敏感資料的存儲和傳輸,以及實現完整性驗證、日誌記錄和溯源功能等方式來強化安全性。
舉例:使用未經身份驗證的路徑訪問、在不安全的環境下存儲或傳輸敏感資料、使用弱加密算法或者配置錯誤的加密方法等。
A9. 資安記錄和監控失效(Security Logging and Monitoring Failures)
說明:網站或應用程式缺乏有效的安全監控機制,無法將所有安全事件、錯誤、攻擊等記錄下來並及時做出相應的反應。缺乏適當的監控機制可能會導致被攻擊後且未能發現。為了預防這種弱點,應該建立有效的監控機制,及時收集和分析日誌數據,並采取必要的措施來保護系統安全,例如設置安全警報和通知系統,建立安全事件反應計劃,以及定期進行測試和評估。
舉例:錯誤的安全配置、缺乏安全測試、管理不善或缺乏人員培訓。
A10. 伺服器端請求偽造SSRF(Server-Side Request Forgery)
說明:當應用程式未能適當限制外部用戶端所提交的請求,或者未能適當驗證應用程式所收到的請求時,攻擊者可以利用這個漏洞向受害系統發出任意請求。防範SSRF攻擊的方法包括限制用戶端提交的請求,限制應用程式的出站連接,以及驗證應用程式所收到的請求,特別是限制用戶可以發出的請求範圍。
舉例:攻擊者基於 Web 的管理控制面板或雲端服務,向內部網路的其他系統發出請求,或者從應用程式的伺服器上下載機密數據。
OKWASP檢測所有OWASP TOP 10 2021所規範的風險弱點
現今資安意識抬頭,市面上有很多弱點掃描工具可以協助我們找到這些漏洞,不過如果沒有選好適當的工具,可能只會發現部分的問題,屆時沒被掃出來的弱點依然可能受到攻擊。
如果是網站部分有弱點掃描的需求,可以參考OKWASP弱點掃描工具,OKWASP除了結合國外知名弱點掃描服務,能運用最全面、最精確的動態掃描工具,查核所有弱點類別外,同時亦遵循法規管理,滿足主要的安全合規標準,包含OWASP、 PCI DSS、DISA STIG、NIST 800-53、ISO 27K 和 HIPAA等。
也就是說上述提到的OWASP TOP 10,只要使用OKWASP弱點掃描工具,就可以全部找出,不用擔心遺漏重大漏洞。當然,OKWASP提供完整的數據報告,讓企業能夠監控系統的弱點趨勢,管理整體企業的應用程式安全風險。
資安的防護是一段長期的工程,必須定期更新維護,才能保證安全性,降低被攻擊的機會與損害。
更多弱點掃描的相關資訊:https://okwasp.com/
文章圖片來源:https://owasp.org/www-project-top-ten/
Comentários