日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

API安全风险与防范

發布時間:2024/8/1 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 API安全风险与防范 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • API安全風險與防范
    • 前言
    • API安全風險與防范
      • 未授權訪問
      • 越權問題
      • 數據竊聽
      • DDoS攻擊
      • 資源耗盡攻擊
      • 重放攻擊(Replay Attack)
      • 注入攻擊
      • 篡改數據
      • 代碼泄漏
      • 數據泄漏
      • API URL泄漏
      • 服務端被黑
    • 攻擊者的常用手段
    • API安全小結
    • 安全三要素
    • 參考文檔
    • 擴展閱讀

API安全風險與防范

前言

本文就API安全面臨的常見風險和如何防范,淺談了一下個人見解,供API設計和開發時參考。

API安全風險與防范

未授權訪問

風險:攻擊者知道API地址和傳入參數后,訪問未授權的數據或操作。

防范:

  • 前端調用后端的接口,必須由后端作二次校驗,不能只相信前端頁面控制;
  • 系統對系統的接口,需要用身份認證機制(比如,appId和appSecret機制、token機制)
  • 參見:

    • 移動應用微信登錄開發指南

    越權問題

    風險:攻擊者試圖訪問權限范圍外(水平越權或垂直越權)的數據或操作。

    防范:

  • 不信任接口調用傳入參數,必須由后端對訪問作嚴格的權限控制,不要偷懶;
  • 前端調用后端的接口,必須由后端作二次校驗,不能只相信前端頁面控制;
  • 不相信前端傳進來的和權限有關的參數(或者不要讓前端傳進來和權限有關的參數),而是后端自動獲取當前登錄用戶的權限相關的信息;
  • 后端不能只判斷用戶是否登錄,而是還要判斷當前用戶是否有權限;
  • 特別小心傳入id來查詢或操作的場景,一定要校驗當前用戶是否有該id的權限;
  • 參見:

    • Web業務安全測試方法(1)—越權測試

    數據竊聽

    風險:在調用API的傳輸過程中,數據可能會被竊聽,比如惡意WIFI、DNS劫持、網絡設備被黑等。

    防范:

  • 盡量在安全的網絡中傳輸,比如內網、專線等;
  • 采用HTTPS協議對傳輸過程加密;
  • 對傳輸的數據進行加密。
  • DDoS攻擊

    風險:攻擊者控制一群肉雞,發起DDoS攻擊(分布式拒絕服務攻擊),導致接口被網絡請求堵塞,無法正常服務。

    防范:

  • 采用WAF和防火墻;
  • 采用流量清洗和黑洞技術;
  • 設置IP白名單;
  • 對接口調用頻率和調用次數進行限制。
  • 資源耗盡攻擊

    風險:攻擊者利用接口漏洞來耗盡服務端資源。

    防范:

  • 限制上傳文件類型和文件大小;
  • 限制分頁查詢時每頁的最大記錄數;
  • 限制接口調用頻率和調用次數;
  • 限制其它可能耗盡服務端資源的行為。
  • 重放攻擊(Replay Attack)

    風險:攻擊者獲取一段報文后,重復多次請求接口。

    防范:

  • 在請求報文中加入隨機數(nonce)和簽名,如果隨機數重復則服務端認為是無效請求;(該方法的不足是需要維護一張隨機數的全表記錄,如果用Redis來存儲可能會占用較大內存)
  • 在請求報文中加入時間戳(timestamp)和簽名,如果請求報文的時間戳與服務端的時間差較大(比如1分鐘),則認為是無效請求;(該方法的不足是在允許的時間差內,仍然有被重放攻擊的風險)
  • 結合nonce和timestamp機制(只在允許的時間差內維護隨機數的全表記錄,比如在Redis中隨機數全表記錄有效期只保留1分鐘,這樣就可以節約內存);
  • 一次性token機制,token使用一次后就失效。
  • 參見:

    • 防止重放機制
    • https://www.kaspersky.com/resource-center/definitions/replay-attack

    注入攻擊

    風險:攻擊者傳入一些畸形數據,讓接口執行一些意想不到的操作。

    防范:

  • 程序和數據分離,不允許調用者來控制如何執行程序;
  • 使用預編譯SQL,而不是動態拼接SQL;
  • 在接口入參對象中只放必要的屬性,且操作時只修改必要的屬性。(防止利用JSON字符串和Object自動綁定特性,來傳入多余的JSON屬性,來更新整個對象)。
  • 篡改數據

    風險:攻擊者獲得一段報文后,篡改報文中的內容,再請求接口。

    防范:

  • 采用API簽名(sign)方式來防止數據被篡改;
  • 客戶端對請求報文進行簽名,服務端驗簽通過后,才響應請求;
  • 服務端對響應報文進行簽名,客戶端驗簽通過后,才相信響應報文;
  • 常用的簽名算法包括SHA256或MD5,推薦使用SHA256(哈希算法,簽名不可逆計算出原始值);
  • 簽名時需要同時考慮防止簽名被預測和重放攻擊,需要將nonce和timestamp一起簽名,保證每次簽名(sign)值都不同;
  • 參見:

    • 微信支付-小程序支付安全規范

    代碼泄漏

    風險:代碼或程序中含有敏感信息,當代碼或程序泄漏后,敏感信息也被泄漏。

    防范:

  • 不要在前端代碼中存放secret等敏感信息,即使已經加密過的secret;
  • 正確配置.gitignore,不要將一些不應該提交的代碼或配置文件放到了Web服務器上,特別是前端代碼;
  • 代碼中含有一些測試用的管理用的“秘密”API URL;
  • 代碼中含有一些過時且保護不當的API URL;
  • 防止泄漏代碼到互聯網上,比如GitHub;
  • 在后端服務器上,在受控的服務配置中心來配置敏感信息;
  • 數據泄漏

    風險:接口返回了過多的數據,包括敏感數據。

    防范:

  • 只返回必要的數據給前端,不要依賴前端來隱藏數據;
  • 由后端來對敏感數據進行脫敏,不要依賴于前端進行脫敏。
  • API URL泄漏

    風險:使用HTTP GET調用API時,API URL上帶有參數,因為API URL是明文傳輸的,因此網絡中的網絡節點都可能竊取這些參數數據。

    防范:

  • 不要在API URL中放敏感信息;
  • 盡量使用HTTP POST,來在HTTP Request body中傳輸參數,再采用HTTPS協議對傳輸過程加密;
  • 服務端被黑

    風險:雖然大多數攻擊都發生在客戶端向服務端的調用過程,但是如果服務端被黑,也會導致客戶端面臨風險。

    防范:

  • 做好服務端安全防范工作,最小權限原則,網絡隔離,開放最少端口,設置安全組,漏洞掃描,入侵檢測,告警等;
  • 客戶端對服務端的返回數據也要驗簽,防止響應數據被篡改(比如攻擊者在服務端前安插了一個代理服務器來篡改返回的數據);
  • 攻擊者的常用手段

    攻擊者的常用手段:

  • 網絡竊聽;
  • 抓包工具;
  • Chrome瀏覽器開發者工具;
  • 編寫Python程序進行來請求接口;
  • 病毒程序。
  • API安全小結

  • 互不信任原則:接口提供方不信任接口調用方的請求參數,接口調用方不信任接口提供方的返回數據;
  • 不信任網絡原則:假設網絡傳輸過程是不安全的,網絡中的每一個節點都是不安全的;
  • 采用HTTPS協議,保證傳輸過程安全;
  • 作最壞的打算,即使數據被竊聽,也無法解密;
  • 設立網絡安全邊界,采用WAF、防火墻、網絡隔離、IP白名單、流量清洗和黑洞技術來防止DDoS攻擊;
  • 使用API網關,在API網關上實現安全機制和限流,簡化API實現;
  • 采用包含了nonce和timestamp的API簽名來防止數據被篡改和重放攻擊;
  • 時刻關注水平越權問題;
  • 注意編碼安全,防止代碼泄漏和API URL泄漏;
  • 安全三要素

    簡化的安全三要素:

    • 加密(Encryption):數據傳輸過程加密,敏感數據存儲加密。
    • 認證(Authentication):識別是誰,定義哪些是公開資源,哪些是需要用戶登錄后才能訪問的資源。
    • 鑒權(Authorization):允許或拒絕用戶的某些操作。

    參考文檔

    • 移動應用微信登錄開發指南
    • 微信支付-小程序支付安全規范

    擴展閱讀

    • OWASP TOP 10
    • OWASP Top 10 Web Application Security Risks

    總結

    以上是生活随笔為你收集整理的API安全风险与防范的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 91视频最新地址 | 色婷久久 | 91操碰| 梦梦电影免费高清在线观看 | 欧美日韩一区二区在线播放 | 精品无码国产污污污免费网站 | 亚洲一区二区成人 | 免费观看的毛片 | 最近中文字幕第一页 | 在线观看麻豆视频 | 中国一级特黄录像播放 | 欧美3p在线观看 | 国产成人高清在线 | 熟妇毛片 | 亚洲操操| 国产精品jizz在线观看无码 | 色01看片网 | 中文字幕av解说 | 欧美成人午夜免费视在线看片 | 十八岁世界在线观看高清免费韩剧 | 婷色| 中文字幕第一 | 青青草操 | 久久久久噜噜噜亚洲熟女综合 | xxxx999 | 熊猫电影yy8y全部免费观看 | 久久美女av | 国产亚洲精品精品精品 | 国产无遮挡又黄又爽又色视频 | 国产精品国产精品国产 | www.国产视频.com | 九色论坛| 国产精品成人久久久久 | 成人乱码一区二区三区av | 国产一区二区三区免费 | 天天碰天天摸 | 欧洲天堂网 | 国产精品美女www爽爽爽视频 | 国产精彩视频一区 | 妻色成人网| 91综合国产| 2018国产大陆天天弄 | 黄色激情视频网站 | 四虎福利视频 | 非洲黑人狂躁日本妞 | 樱桃国产成人精品视频 | 国产无套精品 | 51成人做爰www免费看网站 | 日韩在线视频观看免费 | 交专区videossex非洲 | 成人网站免费观看 | 99精品小视频| 视频在线91 | 中文字幕23 | 女性私密整形视频 | 精品一区在线播放 | japanese24hdxxxx日韩 | 少妇高潮惨叫久久久久 | 国产成人一区在线观看 | 精品国产一区二区三区在线观看 | 国产xxxxx | 国产chinasex麻豆videos | 国产超级av | 欧美日韩免费高清一区色橹橹 | 新天堂网| 看全色黄大色黄大片大学生 | 永久免费未满视频 | 黄网站色 | 国产免费内射又粗又爽密桃视频 | 欧美性爱精品在线 | 九九综合网 | 亚洲精品在线中文字幕 | 国产亚洲精品成人 | 六月色| 国产婷婷久久 | 色戒电影未测减除版 | 欧洲精品久久一区二区 | 伊人久久视频 | 国产精品蜜臀av | 吞精囗交69激情欧美 | 一区二区国产在线观看 | 色婷婷欧美 | 国产精品二区在线 | 亚洲美女精品视频 | 清纯粉嫩极品夜夜嗨av | 亚洲一二三| 蜜色影院| 国产视频aaa | 国产成人自拍网站 | 在线观看亚洲免费视频 | 日日躁夜夜躁 | 午夜肉伦伦 | 国产污在线观看 | 国产成人精品一区二区三区福利 | 欧美日韩不卡一区 | 成人xx视频 | 天堂福利视频 | 视频一区二区中文字幕 | 九九av在线 |