損壞的對象級別授權
API傾向于暴露那些處理對象識別的端點,造成了廣泛的攻擊面訪問控制問題。在每個能夠訪問用戶輸入數據的功能中,都應考慮對象級別授權檢查。
損壞的用戶身份驗證
身份驗證機制通常實施不正確,從而使攻擊者可以破壞身份驗證令牌或利用實施缺陷來臨時或永久地假冒其他用戶的身份。損害系統識別客戶端/用戶的能力會整體損害API安全性。
數據泄露過多
開發人員傾向于公開所有對象屬性而不考慮其個體敏感性,依靠客戶端執行數據過濾并顯示。
缺乏資源和速率限制
通常,API不會對客戶端/用戶可以請求的資源大小或數量施加任何限制。這不僅會影響API服務器的性能,從而導致拒絕服務(DoS),而且還為諸如暴力破解之類的身份驗證漏洞敞開了大門。
功能級別授權已損壞
具有不同層級、分組和角色的復雜訪問控制策略,以及管理功能和常規功能之間的模糊不清,往往會導致授權缺陷。通過利用這些問題,攻擊者可以訪問其他用戶的資源和/或管理功能。
批量分配
將客戶端提供的數據(例如JSON)綁定到數據模型,而沒有基于白名單的適當屬性過濾,通常會導致批量分配。無論是猜測對象屬性、瀏覽其他API端點、閱讀文檔或在請求有效負載中提供其他對象屬性,都是攻擊者可以修改權限之外的對象屬性。
安全性配置錯誤
最常見的安全配置錯誤是不安全的默認配置、不完整或臨時配置、開放的云存儲、錯誤配置的HTTP標頭,不必要的HTTP方法、跨域資源共享(CORS)以及包含敏感信息的冗長錯誤消息導致的。
注入
當不受信任的數據作為命令或查詢的一部分發送到解釋器時會發生注入缺陷,例如SQL、NoSQL的命令注入等。攻擊者的惡意數據可能會誘使解釋器執行非預期的命令,或未經授權訪問數據。
資產管理不當
與傳統的Web應用程序相比,API傾向于公開更多的端點,這使得文檔的準確性和及時更新顯得尤為重要。健康的主機和最新的API版本能夠有效減輕諸如API版本過期以及調試端點暴露之類的安全問題。
日志和監控不足
日志和監控不足,再加上事件響應的缺失或無效集成,使攻擊者可以進一步攻擊系統,長期駐留,并橫向移動到更多系統以篡改、提取或破壞數據。大量入侵調查研究表明,檢測到入侵的平均時間超過200天,而且入侵檢測警告通常來自外部第三方,而不是企業內部安全流程或監控來檢測。
回答所涉及的環境:聯想天逸510S、Windows 10。
損壞的對象級別授權
API傾向于暴露那些處理對象識別的端點,造成了廣泛的攻擊面訪問控制問題。在每個能夠訪問用戶輸入數據的功能中,都應考慮對象級別授權檢查。
損壞的用戶身份驗證
身份驗證機制通常實施不正確,從而使攻擊者可以破壞身份驗證令牌或利用實施缺陷來臨時或永久地假冒其他用戶的身份。損害系統識別客戶端/用戶的能力會整體損害API安全性。
數據泄露過多
開發人員傾向于公開所有對象屬性而不考慮其個體敏感性,依靠客戶端執行數據過濾并顯示。
缺乏資源和速率限制
通常,API不會對客戶端/用戶可以請求的資源大小或數量施加任何限制。這不僅會影響API服務器的性能,從而導致拒絕服務(DoS),而且還為諸如暴力破解之類的身份驗證漏洞敞開了大門。
功能級別授權已損壞
具有不同層級、分組和角色的復雜訪問控制策略,以及管理功能和常規功能之間的模糊不清,往往會導致授權缺陷。通過利用這些問題,攻擊者可以訪問其他用戶的資源和/或管理功能。
批量分配
將客戶端提供的數據(例如JSON)綁定到數據模型,而沒有基于白名單的適當屬性過濾,通常會導致批量分配。無論是猜測對象屬性、瀏覽其他API端點、閱讀文檔或在請求有效負載中提供其他對象屬性,都是攻擊者可以修改權限之外的對象屬性。
安全性配置錯誤
最常見的安全配置錯誤是不安全的默認配置、不完整或臨時配置、開放的云存儲、錯誤配置的HTTP標頭,不必要的HTTP方法、跨域資源共享(CORS)以及包含敏感信息的冗長錯誤消息導致的。
注入
當不受信任的數據作為命令或查詢的一部分發送到解釋器時會發生注入缺陷,例如SQL、NoSQL的命令注入等。攻擊者的惡意數據可能會誘使解釋器執行非預期的命令,或未經授權訪問數據。
資產管理不當
與傳統的Web應用程序相比,API傾向于公開更多的端點,這使得文檔的準確性和及時更新顯得尤為重要。健康的主機和最新的API版本能夠有效減輕諸如API版本過期以及調試端點暴露之類的安全問題。
日志和監控不足
日志和監控不足,再加上事件響應的缺失或無效集成,使攻擊者可以進一步攻擊系統,長期駐留,并橫向移動到更多系統以篡改、提取或破壞數據。大量入侵調查研究表明,檢測到入侵的平均時間超過200天,而且入侵檢測警告通常來自外部第三方,而不是企業內部安全流程或監控來檢測。
回答所涉及的環境:聯想天逸510S、Windows 10。