OWASP Top 10 2021 十大常見的弱點與風險,如何做好企業資安防護?

2022/02/22



今天介紹OWASP Top 10 2021 企業指南
第一章OWASP 組織與Top 10 的項目簡介
第二章 OWASP Top 10 2021 年度項目的變更狀況
第三章OWASP Top 10每一個項目的狀況及結果

OWASP 組織與 Top 10項目的簡介
OWASP 是一個網路安全的計畫,這個組織是一個全球性的非營利組織,
目前全球有82個分會,台灣目前也有一個台灣的分會,主要的目標是去解決目前網路軟體的安全標準,及工具和技術文件,所以整個 OWASP 的專案其實有囊括很多部份,除了Top 10網頁應用程式的安全標準之外,還有開發類似 ZAP 這樣的工具,它是一個很大型的非營利組織,在全球的資安業界有相當大的影響力!
而OWASP Top 10 是 OWASP 組織最知名的計畫,從 2003 年開始調查近年度各家資安公司或組織所執行的專案中所有漏洞的弱點與風險,包括 MICRO FOCUS、HCL、Bug Bounty 的 HackerOne、Contrast Security 、WhiteHat等公司,將其調查結果會總結出十大項的網站風險與弱點,則結果可以瞭解更多目前資安圈的狀況。
OWASP Top 10 2021 年度項目的變更狀況
我們先來看 OWASP Top 10這10 個項目的狀況,今年的有 3 項是新進榜的項目
分別新進榜的弱點是A04、A08 跟 A10 ,同時也有一些項目是被合併的,2017 的 Injection 跟 A07 Cross-Site Scripting 的部份這兩項是被合併的, 2021 與2017 相比變更情況說明:
A01 的 Injection 和A02 的 Broken Authentication 都有下降的狀況,其中 Injection 的部份下降之外,同時 A07 的 XSS 也被併進來 Injection 的內容,而Broken Authentication部份從 A02 降到 A07;A03 的 Sensitive Date Exposure 資料暴露將其它相關的一些加密問題合併了變成一個大的項目,所以從 A03 往上升到 A02;
Broken Access Control 從 A05 一次升到 A01,當中BAC 的項目從之前比較少的弱點大規模的合併了非常多 CWE 弱點;A06 的 Misconfiguration 設定錯誤的問題
從 A06 升到 A05;A09 的使用有問題元件的這個部份A09升到A06;A10 的 Insufficient Logging & Monitoring 的這個項目從 A10 拉到 A09,由此推論目前企業針對系統的紀錄及監控依舊相當重視。
接下來是合併的變化,A04 的 XML External Entities 從 A04 併進 A05 的原因是
XML 的 parser 的設定,目前是被視為一個 Security Misconfiguration ,因此從 A04 合併A05 為一個合併性檢視; A07 的 Cross-Site Scripting 的弱點是一個前端的 Injection以目前的情況是協會認定可以被合併去計算的,所以從 A07 合併 A03 做一個合併的檢視;A08 的 Insecure Deserialization反序列化的問題,是一個在傳輸的過程中完整性校驗不足,所以將反序列化的問題合併於軟體及資料的完整性失敗的問題,這是OWASP發布今年2021的Top 10 變更的狀況。
OWASP Top 10每一個項目的狀況及結果
A01 Broken Access Control 權限控制失效的介紹
A01 2021 權限控制失效的這個部份基本上會先去確認使用者的權限控制,存取控制措施讓使用者不能執行在預期權限之外的行動,意指所有的頁面都需要有權限的控制,包括伺服器上所有的資源都需要做存取控制的措施。如果這個措施的失效會不會導致資訊洩漏?或是資料被修改?或是資料會有損壞的情況?或者可以做提權?讓使用者可以執行超出原本自己權限的功能。
這個項目涵蓋很廣,從早期的 IDOR 這樣子的項目已經拉寬到除了一些驗證的問題之外,也包含 csrf的問題,以下列了幾點:
1.違反最小權限或是預設拒絕的,很常見的問題一個頁面可以讓任何人來存取。
2.透過修改 URL 或是 HTML 頁面過存取控制的檢查,開發者在前端做一些權限控制,或是在 URL用流水號的方式去記錄資料,讓攻擊者可以輕易的透過一些修改繞過存取控制的檢查。
3.竄改主鍵可以修改其他用戶的紀錄,在 IDOR的項目中的流水號的問題。
4.缺少存取控制的 API 是可以直接進行 POSTPUT ,或是 DELETE 的操作,指的是 API 是沒有權限可以直接做存取。
5.權限的提升
6.中繼資料操作,例如 :JWT 的 token 跟 cookie 都是可以被重送(篡改、修改)一些隱藏的欄位,而導致這項的狀況。
7. CORS 錯誤的設定,目前大部分網站的 Web API的 CORS 的 Header 都會有一些錯誤的設定。
8.未經身份驗證的使用者可以強制去瀏覽一些需要驗證的頁面,與第1點類似。
A01 Broken Access Control 如何做修補跟預防
首先需要確認所有的存取控制都應該在伺服器端,或是無伺服器的 API 做執行,因為有少數的開發者會在網頁前端做一些驗證的動作,攻擊者透過修改封包可以繞過這些驗證,所以很重要的觀念是在伺服器端須身份的確認。
逐項的說明如下
●除了公開的資源之外,預設為拒絕存取
例如: Amazon S3 的 buggin 的 resource通常是設定為公開的,如果有儲存一些機敏資料的時候,它應該要是拒絕存取的情況,所以網站的所有資源都應該一次性的做盤點,確認網站中的資源是公開,或者是私人的情況,預設應該是拒絕存取的情況。
●一次性的去建立你的存取控制的措施,後面在整個 Web 裡面重複的去使用透過 SDK 或者是 Library 的方式去建立 Access Control,每一個頁面可以去引用這一個功能,比較全面性的身份存取的驗證措施。
●模型的存取控制措施應該要去紀錄它的所有權每一次存取、創建資料,或是更新、刪除紀錄的時候,比對這個使用者跟紀錄之間的關係。
●獨特的應用程式的業務限制,應該要用領域模型做強化領域模型的部份可以去設定目前的業務流程應該要是什麼樣子。
●停用 Web 伺服器的目錄列表確認備份的檔案或是檔案中繼的資料不在 Web 的目錄中,例如:git 這樣子的檔案或是備份的檔案,如果被攻擊者抓下來之後,攻擊者可以確認整個 Web 應用程式中的所有程式碼的部份。
●紀錄你的存取控制失效,一個適當的時間內去警示管理員例如:一個重複性的登入失敗,可能是暴力破解的狀況,應該要做適當的紀錄跟警告。
●對 API 和 controller 進行流量限制重複性失效自動化工具做暴力破解的攻擊產生大量封包時,應該要有一個流量限制。例如:五分鐘內登入十次錯誤,會將使用者先暫時阻擋掉,讓他不能登入
這樣的情況應該要納入程式設計裡面
●Session網站辨識身份機制的狀態,分成兩個部分
(1)有狀態的 Session
例如: cookie的內容登出之後在伺服器端讓它失效。
(2)無狀態的 Session 的對話紀錄
例如: JWT 的 token設定一個最短存取時間,本身的內容去做完整性驗證,
以確認 token 的有效性,所以設定存取時間的時候,須設定一個最短可以使用的存取時間去最小化攻擊者的機會所;而JWT 的 token 需要做一個比較長時間存取的時候
應該要去遵循 OAuth 的標準,讓它會有一個失效的情況。
以上幾點Broken Access Control 修補方式的概念,開發工程師和QA 測試工程師在 QA 的期間應納入跟存取控制有關係的單元測試和整合測試,如果提早事前預防問題,或是遇到問題時可以盡快解決。
A01 Broken Access Control攻擊情境的範例
1.accountInfo
URL 的後面 acct 後面放入使用者的編號,透過使用者的編號可以去存取使用者的資料。通常使用者一開始進到頁面是看到自己的資料,當資料的細節在後端驗證的時候沒有去驗證目前這個 acct 編號與使用者本人是否為同一個人,故此在這情況下如果我去修改成別的使用者的編號,我就可以去存取其他使用者的資料,所以大部分應用程式中都有可能會有這樣的問題。
2.提權
appinfo是可以讓使用者去看到當下的一個頁面的狀況,或者是一個應用程式的狀況,假如說他去猜測到了另外一個管理員是admin_getappinfo的頁面,直接去存取而沒有去做驗證確認使用者是不是管理員,使用者就可以做一個垂直的提權,可以存取管理員所存取的資料。
A01 Broken Access Control對應的CWE 列表
Authorization Bypass 的項目包括了 CWE-566、CWE-639都是可透過一些 Key 的方式去修改資料,存取原本這個使用者不應該存取的資料,特別的是 CWE-352 CSRF 的部份列入了 Broken Access Control,這是一個比較特別的修改。再來,包括Path Traversal也列入了 Broken Access Control 的部份,所以OWASP 目前將 Access Control 的範圍擴大,其原本權限的限制變更到每一個部份。

其他訊息
嚇!手遊資安危機 數小時恐喪失上億營收

嚇!手遊資安危機 數小時恐喪失上億營收

2016/08/10
Pokemon Go越紅公司損失越大! 歷時兩年開發,上市不到72小時就被駭

Pokemon Go越紅公司損失越大! 歷時兩年開發,上市不到72小時就被駭

2016/07/20
注意!金融業已成為駭客攻擊目標,4個防範手機App的資安威脅!

注意!金融業已成為駭客攻擊目標,4個防範手機App的資安威脅!

2016/07/15
準行政團隊Line國事作法急轉彎,準經長受命客製臺版即時通

準行政團隊Line國事作法急轉彎,準經長受命客製臺版即時通

2016/04/29
從Google Play下載App保證安全!? 資安業者:超過100款惡意程式會偷資料、點擊詐騙

從Google Play下載App保證安全!? 資安業者:超過100款惡意程式會偷資料、點擊詐騙

2016/04/27
網銀App漏洞 金管會關注

網銀App漏洞 金管會關注

2016/04/07
Google釋出Nexus Android 4月份更新,一次修補近40項漏洞

Google釋出Nexus Android 4月份更新,一次修補近40項漏洞

2016/04/07
Android逆向之旅---靜態分析技術來破解Apk

Android逆向之旅---靜態分析技術來破解Apk

2015/11/28
Xcode Ghost事件說明及處理建議

Xcode Ghost事件說明及處理建議

2015/09/22
NEW-【第一季資安報告】加密勒索軟體感染翻兩倍;行動惡意威脅App突破500萬大關!

NEW-【第一季資安報告】加密勒索軟體感染翻兩倍;行動惡意威脅App突破500萬大關!

2015/06/01
Critical GHOST vulnerability affects most Linux Systems

Critical GHOST vulnerability affects most Linux Systems

2015/01/30
會員、個人資料外洩怎麼辦?4個預防資料外洩方法一次看懂!

會員、個人資料外洩怎麼辦?4個預防資料外洩方法一次看懂!

2017/03/10
駭客工具的氾濫VS企業所面對的資安威脅

駭客工具的氾濫VS企業所面對的資安威脅

2017/05/26
API 安全問題探討

API 安全問題探討

2017/09/09
JAVA世界中不安全的反序列化風險

JAVA世界中不安全的反序列化風險

2018/01/05
來自外部的威脅 - XXE漏洞攻擊成因

來自外部的威脅 - XXE漏洞攻擊成因

2018/06/15
網路詐騙手法!釣魚信件、釣魚網站的社交工程駭客常見3手法!

網路詐騙手法!釣魚信件、釣魚網站的社交工程駭客常見3手法!

2019/06/04
要如何預防駭客攻擊?6步驟教你如何提升網路資安的安全性!

要如何預防駭客攻擊?6步驟教你如何提升網路資安的安全性!

2020/01/22
注意!行動裝置App資安檢測最需要注意「防記憶體偵測」技術!

注意!行動裝置App資安檢測最需要注意「防記憶體偵測」技術!

2021/06/22
什麼是Web Cache?3分鐘快速帶你瞭解Web Cache的功能及使用方式!

什麼是Web Cache?3分鐘快速帶你瞭解Web Cache的功能及使用方式!

2021/07/13
如何防範網站速度的延遲及停機?看國外在特賣期間是如何做到的!

如何防範網站速度的延遲及停機?看國外在特賣期間是如何做到的!

2021/07/13
常見手機APP駭客工具-FRIDA,預防你的網站遭受駭客攻擊!

常見手機APP駭客工具-FRIDA,預防你的網站遭受駭客攻擊!

2021/07/13
App手機行動裝置的Xposed軟件攻擊模式,該如何防禦網路資安?

App手機行動裝置的Xposed軟件攻擊模式,該如何防禦網路資安?

2021/07/22
手機被駭怎麼辦?5分鐘一次教你破解Mobile App駭客攻擊手法!

手機被駭怎麼辦?5分鐘一次教你破解Mobile App駭客攻擊手法!

2021/07/30
支付、網銀金融App安全嗎?你必知的白帽App資安漏洞分析!

支付、網銀金融App安全嗎?你必知的白帽App資安漏洞分析!

2021/08/09
預防駭客行動詐騙!看懂App網路資訊安全「原始碼加密」技術!

預防駭客行動詐騙!看懂App網路資訊安全「原始碼加密」技術!

2021/08/13
什麼是ApkCrack?3步驟瞭解駭客工具並完美預防駭客攻擊!

什麼是ApkCrack?3步驟瞭解駭客工具並完美預防駭客攻擊!

2021/08/20
新型Android安卓駭客破解工具Mhook出現!當心被手機駭客攻擊!

新型Android安卓駭客破解工具Mhook出現!當心被手機駭客攻擊!

2021/08/26
從零基礎學破解的駭客工具     Magisk Root,     看懂駭客攻擊如何操作!

從零基礎學破解的駭客工具 Magisk Root, 看懂駭客攻擊如何操作!

2021/09/06
什麼是幸運破解器Lucky Patcher?不得不正視的APP資安問題!

什麼是幸運破解器Lucky Patcher?不得不正視的APP資安問題!

2021/09/15
飛馬間諜軟體讓駭客監控你的手機!不點連結就能自動感染

飛馬間諜軟體讓駭客監控你的手機!不點連結就能自動感染

2021/09/16
什麼是DDoS攻擊?一次教你如何做好DDoS防護,保護你的網站!

什麼是DDoS攻擊?一次教你如何做好DDoS防護,保護你的網站!

2021/09/28
APP資安防禦不可輕忽!最新手遊作弊修改器GameGuardian!

APP資安防禦不可輕忽!最新手遊作弊修改器GameGuardian!

2021/10/04
什麼是滲透測試?從網路資安看Client-Side Template Injection

什麼是滲透測試?從網路資安看Client-Side Template Injection

2021/10/07
手機更新後銀行帳密全被盜!小心Flubot惡意軟體入侵

手機更新後銀行帳密全被盜!小心Flubot惡意軟體入侵

2021/10/07
如何提升網站速度及效能?推薦先搞懂動態v.s靜態網站的差 異!

如何提升網站速度及效能?推薦先搞懂動態v.s靜態網站的差 異!

2021/10/25
網站在中國速度很慢?中國網站加速的CDN內容傳遞最佳實務!

網站在中國速度很慢?中國網站加速的CDN內容傳遞最佳實務!

2021/10/25
如何提升網站效能優化?推薦5個改善網站速度的方法一次看!

如何提升網站效能優化?推薦5個改善網站速度的方法一次看!

2021/11/23
線上學習網站速度太慢怎麼辦?透過CDN達到網站加速!

線上學習網站速度太慢怎麼辦?透過CDN達到網站加速!

2021/12/13
遇到DDoS駭客攻擊怎麼辦?一站式的雲端安全管理有用嗎?

遇到DDoS駭客攻擊怎麼辦?一站式的雲端安全管理有用嗎?

2021/12/13
企業安全合規5式,做好DDOS防護提升您的網絡安全策略!

企業安全合規5式,做好DDOS防護提升您的網絡安全策略!

2021/12/27
「負載平衡」是什麼意思?網站加速與負載平衡也有關嗎?

「負載平衡」是什麼意思?網站加速與負載平衡也有關嗎?

2022/01/03
2021最大資安漏洞!修補方式一次完整揭露

2021最大資安漏洞!修補方式一次完整揭露

2022/01/05
SSTI惡意指令注入防不勝防,面對駭客惡意攻擊,要如何戒備與防範?

SSTI惡意指令注入防不勝防,面對駭客惡意攻擊,要如何戒備與防範?

2022/01/14
內容傳遞網路(CDN)提供哪些服務?Alibaba Cloud CDN如何?

內容傳遞網路(CDN)提供哪些服務?Alibaba Cloud CDN如何?

2022/01/18
網站速度太慢怎麼辦,速度也會影響到網站的轉換率嗎?

網站速度太慢怎麼辦,速度也會影響到網站的轉換率嗎?

2022/01/24
OWASP Top 10 2021 十大常見的弱點與風險,如何做好企業資安防護?

OWASP Top 10 2021 十大常見的弱點與風險,如何做好企業資安防護?

2022/02/22
源碼檢測是什麼?動態&靜態的弱點掃描測試有什麼不同?

源碼檢測是什麼?動態&靜態的弱點掃描測試有什麼不同?

2022/04/06
Hack Talk駭客論壇,深度剖析ICS攻擊與Windows提權威脅!

Hack Talk駭客論壇,深度剖析ICS攻擊與Windows提權威脅!

2022/04/11
2021年OWASP Top 10新規範,有效補強企業資安機制缺陷!

2021年OWASP Top 10新規範,有效補強企業資安機制缺陷!

2022/04/20
【企業案例】《今日新聞》融合CDN技術,網站流量成長 50%

【企業案例】《今日新聞》融合CDN技術,網站流量成長 50%

2022/05/04
2021 OWASP Top 10 A02加密機制失效的問題

2021 OWASP Top 10 A02加密機制失效的問題

2022/05/12
多層式安全防護機制教學!運用 Anti-DDoS、WAF、CDN 和 Cloud Firewall 鞏固線上業務

多層式安全防護機制教學!運用 Anti-DDoS、WAF、CDN 和 Cloud Firewall 鞏固線上業務

2022/06/09