iT邦幫忙

2022 iThome 鐵人賽

DAY 19
2
Security

做IT必備的資安觀念!手把手帶你攻防實戰系列 第 19

Day 19 : 比較篇 - OWASP Top10 : 2013、2017、2021 的變動為何

  • 分享至 

  • xImage
  •  

大家好,今天想在實作篇裡打岔一篇比較篇
主要是比較 OWASP Top10 的 2013、2017、2021 版本有那些差異、變動為何等

那我們就先來介紹 OWASP 是什麼東西!


OWASP 是什麼?

OWASP 的全名為開放式 web 應用安全專案(Open Web Application Security Project),它是一個線上的社群,主要提供 web 安全相關的文章、方法、工具、技術等。而 OWASP Top10 則是其中一個知名的項目,它會列出「當下」最常見的十大安全風險漏洞,並發布出來讓大家留意,大約每 3~4 年會更新一次

那我們就先來比較 2013 和 2017 版的差異,待會會再比較 2017 和 2021 版的,並在最後將它們三個放在一起進行比較


2013 vs 2017

這邊我有整理一張圖表供大家參考,方便大家進行比對
https://ithelp.ithome.com.tw/upload/images/20221007/20141088icJCY975Zq.png

再來我會分成三個部分來進行介紹,分別為

  • 2013 到 2017 有什麼樣的變化?
  • 2013 有哪些漏洞被刪除了?
  • 2017 有新增了哪些漏洞?

1. 2013 到 2017 有什麼樣的變化?

這裡我會照著 2013 的順序「由上往下」進行介紹

  • A1 - 注入攻擊 (Injection)

    • 它在 2017 一樣維持在 A1 的位置,hacker 會輸入惡意的程式碼,藉此執行意外的動作,訪問未經授權的資料
  • A2 - 無效的身分驗證和會話管理 (Broken Authentication and Session Management)

    • 它在 2017 一樣維持在 A2 的位置,但它的名字被重新命名成無效的身分驗證 (Broken Authentication)
  • A3 - 跨站腳本攻擊 (Cross-Site Scripting (XSS))

    • 它在 2017 從 A3 往下掉到 A7 的位置,但它仍是一個很嚴重的風險,只是因為出現了可以自動規避 XSS 的語言(如 Ruby),所以它的風險排名往下掉了
  • A4 - 不安全的直接物件引用 (Insecure Direct Object References)、A7 - 缺少功能級別的訪問控制 (Missing Function Level Access Control)

    • A4 和 A7 在 2017 被合併成A5 - 無效的訪問控制 (Broken Access Control),因為這兩個漏洞有著相同的根本原因,就是缺少訪問的控制權限,因此在 2017 直接將這個原因當成名字重新命名
  • A5 - 不安全的組態設定 (Security Misconfiguration)

    • 它在 2017 從 A5 往下掉到 A6 的位置,指的是有些預設的安全配置應該被定義,但實際上並沒有,進而產生安全上的漏洞
  • A6 - 敏感資料外洩 (Sensitive Data Exposure)

    • 它在 2017 往上升到 A3 的位置,指的是機密資料的保護度不足(如使用明文傳輸,或使用不安全的加密法加密資料),當 hacker 入侵系統後,就能輕易取得機密資料,並對其進行其他的犯罪行為
  • A9 - 使用已有漏洞的元件 (Using Components with Known Vulnerable)

    • 它在 2017 一樣維持在 A9 的位置,如果你知道它有這個漏洞,但還是使用它,則 hacker 可以利用這些漏洞,取得最高權限,這將會造成一系列的攻擊及損失

2. 2013 有哪些漏洞被刪除了?

這邊的刪除不是真的刪除喔!它只是威脅程度「相對」來講比較低,所以名次往下掉出前 10 名了,但不代表這些漏洞就不存在!(筆記)

  • A8 - 跨站請求偽造攻擊 (Cross-Site Request Forgery (CSRF))

    • 它是一種利用「信任的網站」來發送惡意請求的攻擊,根據 OWASP 的說法,它會掉出前 10 名的原因是,因為現在有很多框架含有 CSRF 的防禦,目前僅剩 5 % 的系統裡還存在著這樣的漏洞,所以發生的機率相對較小,名次也就掉出去了
  • A10 - 未驗證的重定向和轉發 (Unvalidated Redirects and Forwards)

    • 重定向通常被運用在網路釣魚,會和其他的漏洞一起使用,以造成更大的安全漏洞。而它掉出前 10 名的原因和 A8 一樣,目前僅在大約 8 % 的系統裡發現到這個漏洞,比 A8 的比例高一點,但還是被 XXE 淘汰掉了

3. 2017 有新增了哪些漏洞?

  • A4 - XML 外部處理器漏洞 (XML External Entities (XXE))

    • XML 是一種用來傳輸和儲存資料的標籤語言,方便在不同平台上互相傳遞、儲存、分享等。而 XXE 就是利用這樣的便利性,透過外部(如網址列)注入 XML 的惡意程式碼,進而造成資料外洩、DoS等資安問題
  • A8 - 不安全的反序列化 (Insecure Deserialization)

    • 序列化是把物件轉換成易於傳輸或讀取的字串(Json 就是其中一種),而反序列化則相反,當 hacekr 把惡意程式碼放入序列化的對象中,而 web 如果沒有檢查,就直接反序列化它並執行,就會導致遠端程式碼執行、DoS、越權等攻擊發生
  • A10 - 記錄和監控不足 (Insufficient Logging & Monitoring)

    • 它其實不算漏洞,算是一個管理上的疏忽,因為 Log 如果沒有即時的做監控並記錄、發送警報,管理員就沒辦法及時發現是不是有人正在進行攻擊,進而做出相對應的防護措施。

既然比較完 2013 和 2017,那我們就換比較 2017 和 2021 的差異吧!

2017 vs 2021

這邊我一樣有整理一張圖表供大家參考,方便大家進行比對
https://ithelp.ithome.com.tw/upload/images/20221008/20141088AmLJsDdP8b.png

那我一樣會分成三個部份來進行介紹

  • 2017 到 2021 有什麼樣的變化?
  • 2017 有哪些漏洞被刪除了?
  • 2021 有新增了哪些漏洞?

1. 2017 到 2021 有什麼樣的變化?

這裡我會照著 2017 的順序「由上往下」進行介紹

  • A1 - 注入攻擊 (Injection)A7 - 跨站腳本攻擊 (Cross-Site Scripting (XSS))

    • A1 和 A7 在 2021 被合併成A3 - 注入攻擊 (Injection),因為 XSS 其實也是透過注入惡意程式碼來進行攻擊,所以就把它們歸類在一起
  • A2 - 無效的身分驗證 (Broken Authentication)

    • 它在 2021 從 A2 往下掉到 A7 的位置,並重新命名為A7 - 識別和認證失敗 (Identification and Authentication Failures),會掉下來的原因是,現在有很多系統提供生物辨識(如指紋、Face ID)、行動OTP(一次性密碼)等高級身分驗證技術進行登入,以防 hacker 使用暴力破解對密碼、憑證等漏洞進行攻擊
  • A3 - 敏感資料外洩 (Sensitive Data Exposure)

    • 它在 2021 從 A3 往上升到 A2 的位置,並重新命名為A2 - 加密失敗 (Cryptographic Failures),因為之前的名字有點太廣泛了,它們想把問題定義的更明確一點,所以這次使用Cryptographic(密碼學)這個單字進行命名,把問題定義成和「加密」有關
  • A4 - XML 外部處理器漏洞 (XML External Entities (XXE))A6 - 不安全的組態設定 (Security Misconfiguration)

    • A4 和 A6 在 2021 被合併成A5 - 不安全的組態設定 (Security Misconfiguration),因為 XXE 攻擊發生的前提是 XML 解析器太弱或配置有誤,而這和 A6 其實有點類似,所以它們在 2021 被歸類在一起
  • A5 - 無效的訪問控制 (Broken Access Control)

    • 這個最厲害了,它在 2021 從 A5 直接上升到 A1 的位置,因為系統權限如果控管不當,讓 hacker 操作到預期權限外的動作,就有可能導致機密資料遭到外洩、竄改、破壞等,因此它的排名上升到 A1,成為目前最關鍵的安全風險漏洞
  • A8 - 不安全的反序列化 (Insecure Deserialization)

    • 它在 2021 和 A8 - 軟件和數據完整性失敗 (Software and Data Integrity Failures) 合併在一起。新的 A8 會發生是因為系統缺乏資料完整性的驗證。而舊的 A8 是因為系統「沒有檢查序列化的內容」,就「反序列化它並執行」所造成的,其本質上是一樣的,所以它們在 2021 被歸類在一起
  • A9 - 使用已有漏洞的元件 (Using Components with Known Vulnerable)

    • 它在 2021 從 A9 往上升到 A6 的位置,並重新命名為A6 - 易受攻擊和過時的組件 (Vulnerable and Outdated Components),因為「已有漏洞」這個說法有可能是「已被修補完的漏洞」,它們想把問題定義的更明確一點,希望「已有漏洞」指的是「尚未被修補的漏洞」,所以在 2021 特別改名強調這件事
  • A10 - 記錄和監控不足 (Insufficient Logging & Monitoring)

    • 它在 2021 從 A10 往上升到 A9 的位置,並重新命名為A9 - 安全日誌記錄和監控失敗 (Security Logging and Monitoring Failures),多了Security(安全)這個單字,把問題定義的更明確一點

2. 2017 有哪些漏洞被刪除了?

2017 到 2021 的版本更新,並沒有漏洞被除或掉出前 10 名,都是被合併或重新命名


3. 2021 有新增了哪些漏洞?

  • A4 - 不安全的設計 (Insecure Design)

    • 它不一定是指系統設計有誤,而是指可能被 hacker 利用,進而造成安全漏洞的設計。最著名的例子是:當你忘記密碼,你可以根據之前設定的問題,去回答問題並找回密碼。這樣看似安全的設計,其實有安全的疑慮在
    • 像下面這個例子,hacker 看看你在 IG、FB 的打卡文,就大概知道你去過哪了。所以你即使完美的設計出這樣的問答機制,它也不一定是安全的
      https://ithelp.ithome.com.tw/upload/images/20221008/20141088nUJMYNYdRE.png
  • A8 - 軟件和數據完整性失敗 (Software and Data Integrity Failures)

    • 這個上面有稍微提到過(在介紹變化的地方),它是因為系統缺乏資料完整性的驗證,導致資料被加料或竄改,進而造成攻擊的發生
  • A10 - 服務器端請求偽造 (Server-Side Request Forgery (SSRF))

    • 它是指當 web 在接收使用者的資源時,沒有驗證使用者提供的 URL(網址),則 hacker 就有可能利用這個漏洞,誘導伺服端向「非預期的位置(如 hacker 偽造的 URL)」發送請求,進而造成機密資料外洩、越權等問題發生

2013 vs 2017 vs 2021

這裡我有把它們三個的內容放在一起,並做成一張圖表,方便大家進行比較
https://ithelp.ithome.com.tw/upload/images/20221009/20141088Rwzvry3Xm8.png


以上就是今天的介紹
希望大家看完能對 OWASP Top10 2013、2017、2021 的版本內容更加了解


上一篇
Day 18 : 實作篇 - 如何使用 Burp Suite Proxy 對 web 進行封包攔截
下一篇
Day 20 : 實作篇 - OWASP Top10 (2021:A1) - Broken Access Control(無效的訪問控制)
系列文
做IT必備的資安觀念!手把手帶你攻防實戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言