2021年OWASP-TOP10
目錄
- A01:2021-失效的訪問控制Broken Access Control
- 常見CWE(弱點(diǎn)枚舉)
- 風(fēng)險說明
- 預(yù)防措施
- A02:2021-加密機(jī)制失效(敏感數(shù)據(jù)泄漏)Cryptographic Failures
- 常見CVE(弱點(diǎn)枚舉)
- 風(fēng)險說明
- 預(yù)防措施
- A03:2021-注入Injection
- 常見CWE(弱點(diǎn)枚舉)
- 風(fēng)險說明
- 預(yù)防措施
- A04:2021-不安全設(shè)計(jì)Insecure Design
- 常見CWE(弱點(diǎn)枚舉)
- 風(fēng)險說明
- 預(yù)防措施
- A05:2021-安全配置錯誤Security Misconfiguration
- 常見CWE(弱點(diǎn)枚舉)
- 風(fēng)險說明
- 預(yù)防措施
- A06:2021-自帶缺陷和過時的組件Vulnerable and Outdated Components
- 常見CWE(弱點(diǎn)枚舉)
- 風(fēng)險說明
- 預(yù)防措施
- A07:2021-身份識別和身份驗(yàn)證錯誤(無效的身份認(rèn)證)Identification and Authentication Failures
- 常見CWE(弱點(diǎn)枚舉)
- 風(fēng)險說明
- 預(yù)防措施
- A08:2021-軟件和數(shù)據(jù)完整性故障Software and Data Integrity Failures
- 常見CWE(弱點(diǎn)枚舉)
- 風(fēng)險說明
- 預(yù)防措施
- A09:2021-安全日志和監(jiān)控故障Security Logging and Monitoring Failures
- 常見CWE(弱點(diǎn)枚舉)
- 風(fēng)險說明
- 預(yù)防措施
- A10:2021-服務(wù)端請求偽造 Server-Side Request Forgery
- 風(fēng)險說明
- 預(yù)防措施
A01:2021-失效的訪問控制Broken Access Control
常見CWE(弱點(diǎn)枚舉)
Actor(將敏感信息泄漏給未經(jīng)授權(quán)的參與者)
Sent Data(通過發(fā)送的數(shù)據(jù)泄漏敏感信息)
風(fēng)險說明
訪問控制強(qiáng)制實(shí)施策略,使用戶無法在其預(yù)期權(quán)限之外進(jìn)行操作。失敗的訪問控制通常會導(dǎo)致未經(jīng)授權(quán)的信息泄露、修改或銷毀所有數(shù)據(jù)、或在用戶權(quán)限之外執(zhí)行業(yè)務(wù)功能。常見的訪問控制脆弱點(diǎn)包括:
預(yù)防措施
訪問控制只在受信服務(wù)器端代碼或無服務(wù)器API中有效,這樣攻擊者才無法修改訪問控制檢查或元數(shù)據(jù)。
擊機(jī)會窗口最小化。 對于時間較長的JWT,強(qiáng)烈建議遵循OAuth標(biāo)準(zhǔn)來撤銷訪問。
A02:2021-加密機(jī)制失效(敏感數(shù)據(jù)泄漏)Cryptographic Failures
常見CVE(弱點(diǎn)枚舉)
風(fēng)險說明
首先要確認(rèn):對傳輸中數(shù)據(jù)和存儲數(shù)據(jù)都有哪些保護(hù)需求。 例如,密碼、信用卡號、醫(yī)療記錄、個人信息和商業(yè)秘密需要額外保護(hù),尤其是在這些數(shù)據(jù)屬于隱私保護(hù)法(如:歐盟GDPR) 或法規(guī)條例(如:金融數(shù)據(jù)保護(hù)標(biāo)準(zhǔn)PCI DSS)適用范圍的情況下。 對于這些數(shù)據(jù),要確定:
預(yù)防措施
? 對應(yīng)用程序處理、存儲或傳輸?shù)臄?shù)據(jù)分類,并根據(jù)隱私法、監(jiān)管要求或業(yè)務(wù)需求確定哪些數(shù)據(jù)是敏感的。
? 對于沒有必要存儲的敏感數(shù)據(jù),應(yīng)當(dāng)盡快清除,或者通過PCI DSS標(biāo)記化或攔截。 未存儲的數(shù)據(jù)不能竊取。
? 確保加密存儲的所有敏感數(shù)據(jù)。
? 確保使用了最新的、強(qiáng)大的標(biāo)準(zhǔn)算法、協(xié)議和密鑰;并且密鑰管理到位。
? 確保加密傳輸過程中的數(shù)據(jù),如使用安全協(xié)議(例如具有前向保密 (FS) 密碼的 TLS、服務(wù)器的密碼優(yōu)先級
和安全參數(shù))。確保強(qiáng)制執(zhí)行數(shù)據(jù)加密,如使用HTTP 嚴(yán)格安全傳輸協(xié)議 (HSTS) 等指令。
? 禁用緩存對包含敏感數(shù)據(jù)的響應(yīng)。
? 根據(jù)數(shù)據(jù)分類應(yīng)用實(shí)施所需的安全控制。
? 不要使用FTP 和SMTP 等傳統(tǒng)協(xié)議來傳輸敏感數(shù)據(jù)。
? 使用具有工作因子(延遲因子)的強(qiáng)自適應(yīng)和加鹽散列函數(shù)存儲密碼,例如 Argon2、scrypt、bcrypt 或PBKDF2。
? 必須選擇適合操作模式的初始化向量。對于大多數(shù)模式,可以使用CSPRNG(密碼安全偽隨機(jī)數(shù)生成器)。
對于需要隨機(jī)數(shù)的模式,則初始化向量 (IV) 不需要使用CSPRNG。 在所有情況下,對于一個固定密鑰,永遠(yuǎn)不應(yīng)該使用兩次IV。
? 始終使用經(jīng)過驗(yàn)證的加密,而不僅僅是加密。
? 密鑰應(yīng)以加密方式隨機(jī)生成并作為字節(jié)數(shù)組存儲在內(nèi)存中。 如果使用密碼,則必須通過適當(dāng)?shù)拿艽a基密鑰派生函數(shù)將其轉(zhuǎn)換為密鑰。
? 確保在適當(dāng)?shù)牡胤绞褂眉用茈S機(jī)性,并且沒有以可預(yù)測的方式或低熵進(jìn)行播種。 大多數(shù)現(xiàn)代 API 不需要開發(fā)人員為 CSPRNG 設(shè)置種子以獲得安全性。
? 避免使用的已廢棄的加密函數(shù)和填充方案,例如 MD5、SHA1、PKCS number 1 v1.5。
? 單獨(dú)驗(yàn)證每個安全配置項(xiàng)的有效性。
A03:2021-注入Injection
常見CWE(弱點(diǎn)枚舉)
風(fēng)險說明
在以下情況下,應(yīng)用程序易受攻擊:
預(yù)防措施
防止注入需要將數(shù)據(jù)與命令和查詢分開:
程序需要特殊字符,例如移動應(yīng)用程序中的文本區(qū)域或API。
名、列名等)無法轉(zhuǎn)義,因此用戶提供的結(jié)構(gòu)名是危險的。這是報(bào)表編寫軟件中的常見問題。
A04:2021-不安全設(shè)計(jì)Insecure Design
2021年版的一個新類別,側(cè)重于與設(shè)計(jì)和體系結(jié)構(gòu)缺陷相關(guān)的風(fēng)險,呼吁更多地使用威脅建模、
安全設(shè)計(jì)模式和參考體系結(jié)構(gòu)。
常見CWE(弱點(diǎn)枚舉)
風(fēng)險說明
不安全設(shè)計(jì)是一個廣泛的類別,代表不同的弱點(diǎn),表示為“缺少或無效的控制設(shè)計(jì)”。不安全設(shè)計(jì)
不是所有其他前10個風(fēng)險類別的來源。不安全設(shè)計(jì)和不安全的實(shí)現(xiàn)之間存在差異。我們區(qū)分設(shè)計(jì)缺陷和實(shí)現(xiàn)缺陷是有原因的,它們有不同的根本原因和補(bǔ)救措施。安全設(shè)計(jì)仍然可能存在實(shí)現(xiàn)缺陷,從而導(dǎo)致可能被利用的漏洞。一個不安全設(shè)計(jì)不能通過一個完美的實(shí)現(xiàn)來修復(fù),因?yàn)楦鶕?jù)定義,所需的安全控制從未被創(chuàng)建來抵御特定的攻擊。導(dǎo)致不安全設(shè)計(jì)的因素之一是開發(fā)的軟件或系統(tǒng)中缺乏固有的業(yè)務(wù)風(fēng)險分析,因此無法確定需要何種級別的安全設(shè)計(jì)。
收集應(yīng)用程序的業(yè)務(wù)需求并與業(yè)務(wù)部門協(xié)商,包括所有數(shù)據(jù)資產(chǎn)和預(yù)期業(yè)務(wù)邏輯的機(jī)密性、完整性、可用性和真實(shí)性方面的保護(hù)需求。考慮應(yīng)用程序的公開程度,以及是否需要租戶隔離(除訪問控制外)。編制技術(shù)要求,包括功能性和非功能性安全要求。計(jì)劃和協(xié)商所有設(shè)計(jì)、建造、測試和運(yùn)營的預(yù)算,包括安全活動。
安全設(shè)計(jì)是一種文化和方法,它不斷評估威脅,并確保代碼經(jīng)過穩(wěn)健的設(shè)計(jì)和測試,以防止已知的攻擊方法。威脅建模應(yīng)整合到細(xì)化會議(或類似活動)中;查看數(shù)據(jù)流和訪問控制或其他安全控制中的更改。在用戶故事開發(fā)中,確定正確的流程和故障狀態(tài),確保責(zé)任方和受影響方充分理解并同意這些狀態(tài)。分析預(yù)期和故障流的假設(shè)和條件,確保其仍然準(zhǔn)確和可取。確定如何驗(yàn)證正確行為所需的假設(shè)和實(shí)施條件。確保結(jié)果記錄在用戶故事中。從錯誤中吸取教訓(xùn),并提供積極的激勵以促進(jìn)改進(jìn)。安全設(shè)計(jì)既不是附加組件,也不是可以添加到軟件中的工具。
安全的軟件需要安全開發(fā)生命周期、某種形式的安全設(shè)計(jì)模式、AppSec規(guī)劃方法、安全的組件庫、工具和威脅建模。在整個項(xiàng)目和軟件維護(hù)過程中,在軟件項(xiàng)目開始時聯(lián)系您的安全專家。考慮利用
OWASP軟件保證成熟度模型(SAMM)來幫助構(gòu)建您的安全軟件開發(fā)工作。
預(yù)防措施
A05:2021-安全配置錯誤Security Misconfiguration
常見CWE(弱點(diǎn)枚舉)
風(fēng)險說明
您的應(yīng)用程序可能受到攻擊,如果應(yīng)用程序是:
行安全配置。
缺少一個體系的、可重復(fù)的應(yīng)用程序安全配置過程,系統(tǒng)將處于高風(fēng)險中
預(yù)防措施
一個新安全環(huán)境的耗費(fèi)。
限)。
A06:2021-自帶缺陷和過時的組件Vulnerable and Outdated Components
常見CWE(弱點(diǎn)枚舉)
Components(使用未維護(hù)第三方組件)
風(fēng)險說明
如果滿足下面的某個條件,那么您的應(yīng)用就易受此類攻擊:
管理系統(tǒng)(DBMS)、應(yīng)用程序、API和所有的組件、運(yùn)行環(huán)境和庫。
預(yù)防措施
“A08:2021-軟件和數(shù)據(jù)完整性故障”)。
每個組織都應(yīng)該制定相應(yīng)的計(jì)劃,對整個軟件生命周期進(jìn)行監(jiān)控、評審、升級或更改配置。
A07:2021-身份識別和身份驗(yàn)證錯誤(無效的身份認(rèn)證)Identification and Authentication Failures
常見CWE(弱點(diǎn)枚舉)
風(fēng)險說明
預(yù)防措施
在可能的情況下,實(shí)施多因素認(rèn)證來防止自動化撞庫攻擊、暴力破解、以及遭竊認(rèn)證資訊被重復(fù)
利用的攻擊。
證據(jù)的密碼政策”的內(nèi)容保持一致。
警。
在URL中,必須被安全的儲存,并且在登出后、閑置、超時后被注銷。
A08:2021-軟件和數(shù)據(jù)完整性故障Software and Data Integrity Failures
常見CWE(弱點(diǎn)枚舉)
Integrity Check(不進(jìn)行完整性檢查的代碼下載)
Data(不可信數(shù)據(jù)的反序列化)。
風(fēng)險說明
軟件和數(shù)據(jù)完整性故障與無法防止違反完整性的代碼和基礎(chǔ)設(shè)施有關(guān)。這方面的一個例子是,應(yīng)用程序依賴于不受信任的源、存儲庫和內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)的插件、庫或模塊。不安全的CI/CD管道可能會帶來未經(jīng)授權(quán)的訪問、惡意代碼或系統(tǒng)安全風(fēng)險。最后,許多應(yīng)用程序現(xiàn)在包括自動更新功能。其中,更新包在沒有進(jìn)行充足完整性驗(yàn)證的情況下被下載,并應(yīng)用于以前受信任的應(yīng)用程序。攻擊者可能會上傳自己的更新包,以便在所有安裝上分發(fā)和運(yùn)行。另一個例子是,對象或數(shù)據(jù)被編碼或序列化為攻擊者可以看到和修改的結(jié)構(gòu),很容易受到不安全的反序列化的影響。
預(yù)防措施
托管一個經(jīng)過審核的、內(nèi)部已知合格的存儲庫。
A09:2021-安全日志和監(jiān)控故障Security Logging and Monitoring Failures
常見CWE(弱點(diǎn)枚舉)
風(fēng)險說明
如果不進(jìn)行日志記錄和監(jiān)測,就無法發(fā)現(xiàn)違規(guī)行為。任何時候都會發(fā)生日志記錄、檢測、監(jiān)視和主動響應(yīng)不足的情況:
效的訪問控制”)。
預(yù)防措施
開發(fā)人員應(yīng)根據(jù)應(yīng)用的風(fēng)險,實(shí)施以下部分或全部控制:
A10:2021-服務(wù)端請求偽造 Server-Side Request Forgery
風(fēng)險說明
一旦Web應(yīng)用在獲取遠(yuǎn)程資源時沒有驗(yàn)證用戶提供的URL,就會出現(xiàn)SSRF缺陷。它允許攻擊者強(qiáng)制應(yīng)用程序發(fā)送一個精心構(gòu)建的請求到一個意外目的地,即使是在有防火墻、VPN或其他類型的網(wǎng)絡(luò)訪問控制列表(ACL)保護(hù)的情況下。
隨著現(xiàn)代Web應(yīng)用為終端用戶提供便利的功能,獲取URL成為一種常見的場景。因此,SSRF安全攻擊事件也在不斷增加。此外,由于云服務(wù)和架構(gòu)的復(fù)雜性,SSRF的嚴(yán)重性也越來越高。
預(yù)防措施
開發(fā)者可以通過實(shí)現(xiàn)以下部分或全部防御手段,縱深防御來阻止 SSRF:
網(wǎng)絡(luò)層防御建議:
提示: 建立基于應(yīng)用的防火墻規(guī)則的所有權(quán)和生命周期。
應(yīng)用層防御建議:
需額外考慮的措施:
總結(jié)
以上是生活随笔為你收集整理的2021年OWASP-TOP10的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python3从零学习-5.11.2、
- 下一篇: 机械键盘达尔优A98_win和alt键互