OWASP十大漏洞
什麼是OWASP?
OWASP(開放式Web應用程式安全專案)是一個致力於提高軟體安全的非營利組織。OWASP基於“開放社群”模式,允許任何人參與並貢獻專案、活動、線上討論和其他活動。OWASP的指導思想是其網站上的所有資源和資訊對任何人都是免費且易於訪問的。
OWASP提供各種工具、論壇、專案和活動等等。簡而言之,OWASP是網路應用程式安全領域的一站式資源,由其開放社群貢獻者的集體智慧和經驗支援。
OWASP十大安全風險是什麼?
OWASP十大安全風險是一個OWASP網站上的線上出版物,它對十大最關鍵的Web應用程式安全漏洞進行排名,並提供修復幫助。該報告基於安全專業人員的國際共識。
這些風險的排名基於公開的安全漏洞頻率、漏洞的嚴重程度及其潛在後果的範圍。該報告的目的是為了提供對最常見安全風險的見解,以便開發人員和Web應用程式安全專業人員可以將研究結果和建議納入其安全流程中,從而減少這些已知風險在其應用程式中的出現頻率。
OWASP十大安全風險的重要性是什麼?
OWASP十大安全風險是一項研究工作,對十大最危險的Web應用程式安全威脅進行排名,並提供修復建議。該研究基於全球安全專家的共識。這些風險的分類基於漏洞的嚴重程度、已隔離安全漏洞的頻率以及其潛在後果的嚴重程度。
這項研究的目的是為了讓Web應用程式安全專業人員和開發人員更好地瞭解最常見的安全問題,以便他們可以將結果整合到他們的安全流程中。這有助於限制已知風險在其Web應用程式中的出現。
自2003年以來,OWASP一直負責管理十大安全風險列表。每2-3年,他們都會更新列表以反映AppSec領域的改變和進步。對於世界上許多最大的企業來說,OWASP提供了可操作的資訊,並作為重要的檢查清單和內部Web應用程式開發指南。
審計人員通常將組織未能解決OWASP十大安全風險視為合規標準達不到要求的標誌。在其軟體開發生命週期 (SDLC) 中包含十大安全風險,表明廣泛理解了業界最佳安全標準。
OWASP十大漏洞
以下是OWASP列出的十大漏洞和Web應用程式安全威脅:
SQL注入
身份驗證失效
敏感資料洩露
XXE注入
訪問控制問題
安全配置錯誤
跨站指令碼攻擊 (XSS)
不安全的軟體設計
使用已知漏洞的元件
日誌記錄和監控不足
讓我們詳細瞭解一下這些漏洞。
SQL注入
注入攻擊的目標是將SQL、NoSQL、OS和LDAP資料注入應用程式。這可以透過應用程式的輸入介面作為SQL查詢來完成。如果SQL注入成功,資料庫的敏感資料可能會被洩露。
SQL注入可用於使用插入、更新和刪除語句編輯資料庫資料,並僅使用SQL注入來關閉DBMS(資料庫管理系統)。
由於缺乏輸入驗證和資料清理,這可能直接將輸入暴露到查詢中,因此當資料從不受信任的來源輸入程式時,就會發生注入。這種注入漏洞幾乎可以在任何網站上找到,這表明它的嚴重性。任何接受引數作為輸入的內容都可能容易受到注入攻擊。
身份驗證失效
身份驗證失效是OWASP十大重要漏洞之一,攻擊者可以使用它來線上冒充有效使用者。
會話管理和憑證管理是此漏洞始終存在這兩個位置。這兩個都被歸類為身份驗證失效,因為它們都可以用來竊取登入憑據或劫持會話ID。攻擊者使用各種技術來利用這些漏洞,從憑據填充到其他高度針對性的方法來獲取對某人憑據的未授權訪問。
敏感資料洩露
這是OWASP十大資料洩露漏洞之一,需要保護。這通常被稱為資訊洩露或洩漏。當程式或網站無意中將敏感資訊洩露給無權檢視或訪問資訊的人時,通常會發生這種情況。
根據OWASP,以下是一些可能公開的詳細資訊:
財務資訊
登入資訊
商業或與業務相關的資料
病歷
關於應用程式或網站的技術資訊
即使您沒有使用DEBUG=True,在管理配置引數時也必須小心。
XXE注入
根據OWASP,XML外部實體注入(也稱為XXE)是一個安全漏洞,允許惡意人員訪問處理XML資料或解析XML輸入的應用程式。
由於包含對外部實體的引用的XML輸入由配置不正確的XML解析器處理,因此此攻擊始終有效。如果此漏洞成功利用,攻擊者可以檢查應用程式伺服器上的檔案,並與應用程式可以訪問的任何其他後端或外部系統互動。
透過伺服器端請求偽造 (SSRF) 攻擊,此XXE攻擊可用於破壞其他後端或底層系統。
漏洞不在於您以XML格式提供給伺服器的資料;而是在XML的解析方式。
當支援DTD檢索的XML解析器沒有足夠的XML資料輸入驗證時,它們可能容易受到XXE注入的攻擊,這允許攻擊者將命令或內容注入XML文件。
訪問控制問題
使用者不能超出其預期許可權的行為,因為訪問控制強制執行策略。失敗通常會導致未經授權的資訊洩露、修改或破壞所有資料,以及在使用者能力之外執行業務功能。
安全配置錯誤
根據OWASP,安全配置錯誤也是當今可能影響應用程式的十大漏洞之一。對Web伺服器、資料庫、網路服務、平臺、應用程式伺服器、框架、自定義程式碼、虛擬機器、容器甚至儲存的攻擊都可能發生在應用程式堆疊的任何級別。
這種型別的配置問題可能允許攻擊者未經授權訪問某些系統資料或功能,從而導致系統完全被破壞和關閉。
跨站指令碼攻擊 (XSS)
根據OWASP,跨站指令碼攻擊(也稱為XSS)是一種客戶端程式碼注入。在這種型別的攻擊中,攻擊者試圖將惡意指令碼注入可信網站。此指令碼採用JavaScript程式碼的形式,它可以不知不覺地將受害者從其真實站點重定向到攻擊者站點。
攻擊者可以使用應用程式中的此漏洞來竊取cookie和使用者會話,從而獲得對系統的未授權訪問。跨站指令碼攻擊有時可以與其他漏洞結合使用,以對應用程式造成更強大的攻擊。
不安全的軟體設計
對於安全軟體的建立,編碼前的任務至關重要。在開發生命週期的設計階段應收集安全需求和模型威脅,並且應安排開發時間以滿足這些需求。
隨著軟體的發展,您的團隊應該測試預期和故障流的假設和條件,以確保它們保持準確和理想。未能做到這一點將導致關鍵資訊落入攻擊者手中,以及未能預見創新的攻擊途徑。
使用已知漏洞的元件
此漏洞是由於開發人員使用具有已知弱點(可能危及整個系統)的元件、框架、庫或某些依賴項而造成的。
當此類元件以完全許可權執行且存在漏洞時,入侵者可以輕鬆利用它們,這可能導致災難性的資料丟失或伺服器接管。
還有一個獲取版本函式,可以讓您隨時瞭解應用程式正在使用哪個版本的庫。您還可以搜尋庫的當前版本以瞭解POC和漏洞。
日誌記錄和監控不足
由於不當的日誌記錄可能導致資訊洩露,因此透過充分的日誌記錄和監控來保護網站或應用程式的重要性怎麼強調都不為過。
儘管不存在百分之百的安全,但有一些技術可以定期檢查我們的網站或應用程式,以便在我們注意到異常情況時,能夠迅速採取措施防止攻擊。如果您的網站沒有有效的日誌記錄和監控方法,則容易受到攻擊,並可能損害應用程式或網站的聲譽。因此,如果我們希望瞭解或發現對我們的程式或網站的任何可疑更改,則保持審計記錄至關重要。
此審計日誌是一個系統,它捕獲網站上發生的每個事件,以便可以識別任何不規則之處並立即糾正。
根據OWASP,在沒有可用補丁的情況下,您仍然可以使用虛擬補丁,如果您網站或應用程式上執行的是過期元件,這可以幫您解決燃眉之急。
如果您使用WordPress構建網站,則可以使用一些WordPress安全外掛來記錄和監控您的站點,這將節省您大量設定審計日誌系統的時間和精力。