




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
OWASP
API
Top10解讀銀行智能城市零售運(yùn)輸API自動駕駛汽車業(yè)務(wù)核心數(shù)據(jù)PII數(shù)據(jù)物聯(lián)網(wǎng)OWASP風(fēng)險評級方法OWASP
API
To
p
10
2019API1:2019-API2:2019-失效的對象級授
效的用戶身份失API3:2019-過度的數(shù)據(jù)暴露權(quán)認(rèn)證API5:2019–失API4:2019-資API6:2019-批量分配&限制源缺失
速率
效的功能級別授權(quán)API7:2019-全配置錯誤API8:2019–入API9:2019-資產(chǎn)管理不當(dāng)安注API10:2019-日志和監(jiān)控不足API
1:失效的對象級授權(quán)攻擊案例場景在線電子商務(wù)平臺監(jiān)控可穿戴設(shè)備?HTTPPATC
H請求中的自定義請求頭部字段
X-User-Id:54796?
獲取商戶的利潤表:/shops/{shopName}/revenue_data.json?
獲取商戶列表:/shops?
基于用戶策略和繼承關(guān)系來實(shí)現(xiàn)適當(dāng)?shù)氖跈?quán)機(jī)制;?
在接收用戶輸入并訪問數(shù)據(jù)庫的所有函數(shù)中,都通過一種授權(quán)機(jī)制來檢查該登錄用戶是否有權(quán)在該記錄上執(zhí)行其所請求的操作;?
建議使用不可預(yù)測的隨機(jī)GUID作為信息記錄的ID;?
通過測試來評估授權(quán)機(jī)制。不要部署帶有脆弱點(diǎn)的變更,這將破壞測試。API安全管理論壇API
2:失效的用戶身份認(rèn)證攻擊案例場景憑據(jù)填充SMS驗證碼?
密碼驗證器/api/system/verification-codes發(fā)起一個POST請求并在請求體中提供用戶名來啟動重置密碼工作流??
/api/system/verification-codes/{smsToken}發(fā)送請求
來嘗試所有可能的驗證碼組合?
使用OWASP
AuthenticationCheatSheet;如有可能,盡量使用多因素認(rèn)證;?
確保您知曉所有用于API認(rèn)證的工作流(移動應(yīng)用、Web應(yīng)用、執(zhí)行一鍵認(rèn)證的DeepLinks等);?
通過測試來評估授權(quán)機(jī)制。不要部署帶有脆弱點(diǎn)的變更,這將破壞測試;??
在您的認(rèn)證端上使用反暴力破解機(jī)制來緩解憑據(jù)填充、字典攻擊和暴力破解風(fēng)險。此機(jī)制應(yīng)該比您一般API具有更嚴(yán)格的請求頻率限制;?
詢問您的工程師看是否存在您遺漏了的工作流;?
閱讀您所使用的認(rèn)證機(jī)制文檔,確保您理解它是如何使用的。OAuth是一種協(xié)議,它不是一種認(rèn)證,也不是APIKey;?
實(shí)現(xiàn)賬號鎖定、驗證碼機(jī)制來防止對特定用戶的暴力破解實(shí)現(xiàn)弱密碼檢查;?APIKey不用于用戶認(rèn)證,而用于客戶端應(yīng)用程序或項目認(rèn)證。?
不要在認(rèn)證、憑據(jù)生成、密碼存儲方面自創(chuàng)算法,使用標(biāo)準(zhǔn)的算法;?
憑據(jù)重置、忘記密碼端應(yīng)被視作認(rèn)證端點(diǎn),在暴力破解、請求頻率限制和鎖定保護(hù)上同等對待;API安全管理論壇API
3:過度的數(shù)據(jù)暴露攻擊案例場景嗅探移動應(yīng)用流量視頻監(jiān)控系統(tǒng)?
/api/articles/{articleId}/comments/{commentId}在article
視圖中展示comments??API會觸發(fā)調(diào)用/api/sites/111/
cameras來接收可用攝像頭傳輸?shù)臄?shù)據(jù),并顯示在顯示屏上?
使用通用的toJSON()方法,將對象序列化API返回了站點(diǎn)內(nèi)所有攝像頭的完整列表?
不要依賴客戶端來過濾敏感數(shù)據(jù);?
檢查API的響應(yīng),確認(rèn)其中僅包含合法數(shù)據(jù);?
在開放一個新的API端點(diǎn)前,后端工程師應(yīng)當(dāng)反復(fù)確認(rèn)“誰才是真正的數(shù)據(jù)使用者?”?
避免使用to_json()和to_string()之類的通用方法,而是選用您真正想要返回的特定屬性;?
將您的應(yīng)用存儲和工作所使用的敏感信息及個人識別信息(PII)進(jìn)行分類,并檢查所有返回上述信息的API調(diào)用,確認(rèn)這些響應(yīng)是否構(gòu)成安全問題;?
執(zhí)行schema-based響應(yīng)驗證機(jī)制作為額外的安全措施。這種機(jī)制定義并強(qiáng)制檢查所有方法返回的數(shù)據(jù),包括錯誤信息。API安全管理論壇API
4:資源缺失
&
速率限制攻擊案例場景上傳圖片檢索用戶列表使用/api/users?page=1&size=100查詢從服務(wù)器中檢索用戶列表?
向/api/v1/images發(fā)送POST請求來上
傳大尺寸的圖像?
Docker可以輕松地限制內(nèi)存、CPU、重啟次數(shù)、文件描述符和進(jìn)程;?
對用戶調(diào)用API的頻率執(zhí)行明確的時間窗口限制;?
在突破限制時通知客戶,并提供限制數(shù)量及限制重置的時間;?
在服務(wù)器端為字符串查詢和主體參數(shù)請求提供適當(dāng)?shù)尿炞C尤其是那些在響應(yīng)中控制返回記錄數(shù)量的驗證;?
定義并強(qiáng)制驗證所有傳入?yún)?shù)和有效負(fù)荷的最大數(shù)據(jù)量,例如字符串的最大長度和數(shù)組中元素的最大數(shù)量。API
5:失效的功能級別授權(quán)攻擊案例場景創(chuàng)建管理員用戶獲取所有用戶?
GET/api/invites/
{invite_guid}的API調(diào)
用?
POST
/api/invites/new?GET/api/admin
/v1/users/all{“email”:”hugo@”,”role”:”admin”}?
強(qiáng)制執(zhí)行機(jī)制應(yīng)拒絕所有訪問,要求顯式授予特定角色才能訪問每個功能;?
在考慮應(yīng)用程序和組層次結(jié)構(gòu)的業(yè)務(wù)邏輯的同時,針對功能級授權(quán)缺陷檢查API端點(diǎn);?
確保所有管理控制器都從管理抽象控制器繼承,該抽象控制器根據(jù)用戶的組/角色實(shí)施授權(quán)檢查;?
確保常規(guī)控制器內(nèi)的管理功能根據(jù)用戶的組和角色實(shí)施授權(quán)檢查。API
6:批量分配攻擊案例場景共享乘車應(yīng)用程序視頻共享?
請求GET/api/v1/users/me包含一個附加credit_balance屬性:?GET/api/v1/videos/{videoid}/metadata返回具有視頻屬性的JSON對象。屬性之一是”mp4_conversion_
Params”:
”-v
codech264”,表示應(yīng)用程序使用shell命令來轉(zhuǎn)換視頻{"user_name":"inons","age":24,"credit_balance":10}.?
重播第一個請求:{"user_name":"attacker","age":60,"credit_balance":99999}?
mp4_conversion_params”:”-v
codech264&&format
C:/”?
如果可能,請避免使用將客戶輸入自動綁定到代碼變量或內(nèi)部對象中的函數(shù);?
僅將客戶端可更新的屬性列入白名單;?
使用內(nèi)置功能將客戶端不應(yīng)訪問的屬性列入黑名單;?
如果可能,為輸入數(shù)據(jù)有效負(fù)載準(zhǔn)確、明顯的定義和實(shí)施schema格式。API
7:安全配置錯誤攻擊案例場景遺留文件默認(rèn)配置?
攻擊者在服務(wù)器的根目錄下找?
主機(jī)
正在運(yùn)行主流的數(shù)據(jù)庫管理系統(tǒng),該系統(tǒng)正在偵聽默認(rèn)端
口。主機(jī)使用的是默認(rèn)配置,默認(rèn)情況下禁用了身份驗證,攻擊者可以訪問包含PII、個人首選項和身份驗證數(shù)據(jù)在內(nèi)
的數(shù)百萬條記錄到.bash_history文件,
該文件包含DevOps團(tuán)隊用于訪問API的命令:$curl-XGET'https://api.server/endpoint/'
-H'authorization:
BasicZm9vOmJhcg=='?
確定API只能被特定HTTP方法訪問,其他HTTP方法訪問都應(yīng)該被禁止(如,HEAD方法);?
用于所有API交互訪問靜態(tài)資源(如,圖像)的安全通信通道;?
一個可重復(fù)的加固流程,可快速、輕松地部署一個適當(dāng)封閉的環(huán)境;?
在整個API堆棧中檢查和更新配置的任務(wù)。審查應(yīng)包括:文件編排、API組件和云服務(wù)(如,S3bucket權(quán)限);?對于主要是瀏覽器客戶端(如,WebApp前端)訪問的API應(yīng)該實(shí)現(xiàn)正確的CORS(跨域資源共享)策略。?
用于所有API交互訪問靜態(tài)資源(如,圖像)的安全通信通道;?
在所有環(huán)境中持續(xù)評估配置和設(shè)置有效性的自動化過程;?
為了防止異常追蹤和其他有價值的信息被傳回攻擊者,如果可以,定義和強(qiáng)制使用統(tǒng)一的API響應(yīng)格式,包括錯誤信息;API
8:注入攻擊案例場景物聯(lián)網(wǎng)固件刪除記錄?
家長控制設(shè)備的固件提供了一個接口/api/CONFIG
/restore,期望將appId作為multipart參數(shù)進(jìn)行傳送?DELETE/api/bookings?bookingId=678?
攻擊者試圖刪除其他用戶的預(yù)定操作。DELETE/api/bookings?bookingId[$ne]=678?
攻擊者使用以下命令就可關(guān)閉任何使用帶有該缺陷固件的設(shè)備:
$curl-k"https://${deviceIP}:4567/api/CONFIG/restore"
-F'appid=$(/etc/pod/power_down.sh)'?
防止注入需要將數(shù)據(jù)與命令和查詢分開;?
使用統(tǒng)一、可信并且活躍的庫執(zhí)行數(shù)據(jù)驗證;?
對客戶端提供的數(shù)據(jù)、或其他來自集成系統(tǒng)的數(shù)據(jù)進(jìn)行驗證、過濾和清理;應(yīng)使用目標(biāo)解釋器的特定語法對特殊字符進(jìn)行轉(zhuǎn)義;?
首選提供參數(shù)化查詢的安全API;?
總是限制返回記錄的數(shù)量,以防止注入引起大量數(shù)據(jù)泄漏;?
使用足夠多的過濾器驗證輸入的數(shù)據(jù),保證每一個輸入?yún)?shù)只允許有效的值通過;?
為所有字符串參數(shù)定義數(shù)據(jù)類型和嚴(yán)格模式。API
9:資產(chǎn)管理不當(dāng)攻擊案例場景本地搜索社交網(wǎng)絡(luò)重置密碼?
一個沒有保護(hù)且運(yùn)行中的舊API版本(/v1)并且其能訪問用戶數(shù)據(jù)庫?
一個社交網(wǎng)絡(luò)實(shí)現(xiàn)了一種速率限制機(jī)制,阻止攻
擊者使用暴力猜測重置密碼令牌。?
beta
API主機(jī)(),其中包括重置密碼機(jī)制,但速率限制機(jī)制還沒有到位?
為所有公開版本的API使用外部保護(hù)措施,如API安全防?
列出所有API主機(jī)并記錄所有重要信息,重點(diǎn)放在API的環(huán)境上(如,生產(chǎn)、準(zhǔn)備、測試、開發(fā)環(huán)境),誰應(yīng)該對主機(jī)具有網(wǎng)絡(luò)訪問權(quán)(如,公共、內(nèi)部、合作伙伴)和API版本;火墻,不只是針對當(dāng)前的產(chǎn)品版本;?避免在非生產(chǎn)API部署中使用生產(chǎn)數(shù)據(jù)。如果這是不可避免的,這些端點(diǎn)應(yīng)該得到與生產(chǎn)端點(diǎn)相同的安全處理;?
當(dāng)較新的API版本包含安全改進(jìn)時,實(shí)施風(fēng)險分析以確定舊版本得到所需的風(fēng)險緩解措施:如,是否可能在不破壞API兼容性的情況下支持這些改進(jìn),或者需要迅速刪除舊版本并強(qiáng)制所有客戶端遷移到最新版本。?
對集成服務(wù)進(jìn)行清點(diǎn)并記錄重要信息,如它們在系統(tǒng)中的角色、交換了什么數(shù)據(jù)(數(shù)據(jù)流)及其敏感性;?
記錄API的所有信息,如,身份驗證、錯誤、重定向、速率限制、跨域資源共享(CORS)策略和端點(diǎn),包括它們的參數(shù)、請求和響應(yīng);?
采用開放標(biāo)準(zhǔn)自動生成文檔,包括在CI/CD管道中構(gòu)建的文檔;?
向授權(quán)使用API的人提供API文檔;API
10:日志和監(jiān)控不足攻擊案例場景API訪問密鑰泄漏視頻共享平臺?
管理API的訪問密鑰泄漏到公共存儲庫中。存儲庫
所有者收到了關(guān)于潛在泄漏的電子郵件通知,但在事件發(fā)
生后花費(fèi)了48個小時采取行動,那么訪問密鑰暴露就可能
導(dǎo)致敏感數(shù)據(jù)被訪問。由于日志記錄不足,公司無法評估
惡意訪問者訪問了哪些數(shù)據(jù)。?
一個視頻共享平臺遭到了“大規(guī)?!钡膽{據(jù)填充
攻擊。盡管登錄失敗,但在攻擊期間沒有觸發(fā)警報。作為
對用戶投訴的回應(yīng),我們分析了API日志并檢測到了攻擊。
該公司不得不發(fā)布公告,要求用戶重置密碼,并向監(jiān)管部
門報告此事。?
記錄所有失敗的身份驗證嘗試、拒絕訪問和輸入驗證錯誤;?
日志應(yīng)該使用適合日志管理解決方案的格式來編寫,并且應(yīng)該包含足夠詳細(xì)的信息來識別惡意的行動者;?
日志應(yīng)作為敏感數(shù)據(jù)處理,其完整性應(yīng)在空閑和傳輸時得到保證;?
配置一個監(jiān)控系統(tǒng),以持續(xù)監(jiān)視基礎(chǔ)設(shè)施、網(wǎng)絡(luò)和API功能;?
使用安全信息和事件管理系統(tǒng)(SIEM)來整合和管理來自API和主機(jī)的所有組件的日志;?
配置自定義儀表板和警報,能夠更早地檢測和響應(yīng)可疑活動。OWASP
API
To
p
10與OWASP
To
p
10A1失效的訪問控制API1失效的對象級別授權(quán)API2失效的用戶身份認(rèn)證A2加密失敗A3注入API3過度的數(shù)據(jù)暴露API4資源缺乏與速率限制
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度手店面轉(zhuǎn)租合同:電競主題客棧轉(zhuǎn)租管理協(xié)議
- 2025年度離婚協(xié)議書模板:離婚后子女撫養(yǎng)權(quán)及贍養(yǎng)費(fèi)協(xié)議
- 2025年度自愿離婚協(xié)議及財產(chǎn)分割執(zhí)行合同
- 二零二五年度物業(yè)賠償業(yè)主裝修期間意外事故協(xié)議
- 2025年度時尚服裝加盟店合作協(xié)議
- 2025年度餐飲服務(wù)業(yè)勞動合同解除協(xié)議
- 二零二五年度反擔(dān)保合同匯編:農(nóng)業(yè)產(chǎn)業(yè)化項目融資風(fēng)險控制
- 二零二五年度順豐快遞員績效獎金合同
- 二零二五年度耕地租賃與農(nóng)業(yè)文化遺產(chǎn)保護(hù)合同
- 企業(yè)信息管理軟件開發(fā)合同
- 50型拖拉機(jī)驅(qū)動橋
- 【講座培訓(xùn)】《中小學(xué)教育懲戒規(guī)則(試行)》解讀課件
- 中科大《無機(jī)化學(xué)》課件1氣體、液體和溶液的性質(zhì)
- 復(fù)婚合同協(xié)議書模板
- U8-EAI二次開發(fā)說明
- 2006 年全國高校俄語專業(yè)四級水平測試試卷
- 浙江省勞動保障監(jiān)察員培訓(xùn)監(jiān)察執(zhí)法程序(林琳)
- 新人教版數(shù)學(xué)四年級下冊全冊表格式教案
- 閩教版(2020版)六年級下冊信息技術(shù)整冊教案
- 二手房買賣合同正式版空白
- 食品銷售經(jīng)營者食品安全管理制度(零售)
評論
0/150
提交評論