管理API安全風險的10大方法

banq發表於2022-11-27

無論API是從無到有還是從第三方來源整合,確保其安全都需要有組織的、積極的端到端可視性。API在軟體交付生命週期中佔有重要地位,其安全性取決於CI/CD工作流程對API開發的最佳實踐的遵循程度。

1.API發現
一個好的API發現解決方案可以確保徹底瞭解API端點、引數、屬性和使用的API協議(包括gRPC、GraphQL、SOAP和REST)的解釋,以及發現任何第三方API配置。它還應該發現任何API的變化和版本更新,同時也發現應用程式的使用模式。

隨著API的變化和新版本的開發,很容易錯過未跟蹤的更新和未記錄的引數,這些都可能成為攻擊者的進入點。根據Forrester Research的首席分析師Sandy Carielli的說法,"公司不知道他們的API庫存的程度,以及這些應用介面是否安全"。這就是為什麼API發現是確保適當的API資產管理的最佳做法。API發現讓你對API攻擊面有一個廣泛的瞭解,沒有盲點,並能持續更新庫存。


2.API風險檢測和補救
一個好的API管理框架應該能夠檢測和補救你的API威脅,以防止其升級。你必須首先了解敏感資料暴露的程度,以及受影響的API端點和政策違反的風險等級。此外,它應該利用這些先驗知識來識別、優先處理所發現的API安全和合規風險。
你的API的安全態勢主要由你能夠根據威脅的嚴重程度來管理威脅的效率和速度決定。

3.API執行時的維護
在執行時,由於攻擊者試圖在不同的端點滲透到應用程式中,因此API安全面臨著風險。一個好的API安全解決方案透過檢測和防止攻擊,以及保護敏感資料不被滲出,來確保執行時的API保護。它還可以標記任何異常情況,跟蹤最近新增或刪除的API,並監控API漂移。

4.所有請求和響應的資料加密
資料加密是將人類可讀的純文字轉換為另一種形式的過程,如編碼文字或密碼文字。加密的資料只能用加密金鑰來訪問,而解密的資料則用解密金鑰來訪問。在API中,請求和響應的加密確保使用者和API伺服器之間傳輸的任何資料受到保護,免受攻擊。它保證,如果資料在任何時候被截獲,對攻擊者都沒有用處,因為攻擊者不會有加密金鑰。

5.實施API閘道器
API閘道器是一種軟體模式,它將客戶與一組後端服務連線起來。它接受來自客戶的所有API請求,並將它們路由到相關的微服務。在安全方面,API閘道器作為守門人運作,檢查你的身份(認證)和你是否有進入的許可權(授權)。這樣一來,API閘道器就提供了一個額外的安全和控制層。它們還使用其服務配置中指定的認證方法來驗證傳入的請求,然後再將其傳送到API後端。

6.使用OAuth和OpenID連線
認證和授權的訪問控制是API安全管理的一個關鍵部分。開放認證(OAuth)與OpenID Connect合作,使認證和授權標準化。OAuth是一種開放標準的授權機制,它使用令牌來允許第三方網站或應用程式從另一個系統獲取資訊,而不暴露使用者的憑證。OpenID Connect是一個建立在OAuth協議之上的簡單覆蓋,允許客戶端驗證終端使用者身份並獲得個人資料資訊。

7.識別漏洞
確保API安全的一個主要方法是瞭解API生命週期的哪些階段可能被利用,從而破壞系統,並由於不安全因素而暴露敏感資料。透過執行常規測試和審查,特別是在早期開發階段和新程式碼更新時,可以發現API的漏洞。滲透測試也可以確保API的安全性。

8.使用配額和節流
API是DDoS攻擊的主要目標,因為它們用來自多個來源的請求淹沒API伺服器。這最終會使系統的整體效能下降而無法執行。節流和API配額是我們可以用來管理API使用的工具,它們限制了使用者在一定時間內的API呼叫數量。

對於節流,我們使用一個節流計數器,當傳入的客戶端請求滿足一定的條件時,該計數器會增加。API配額決定了根據節流設定,在設定的時間內可以進行的最大呼叫數量。如果達到API配額,來自該特定客戶端的流量將被禁止。

9.驗證API引數
在驗證API引數時,來自API請求和響應的資料要與精確的模式結構進行比較。這保證了與API整合的系統或應用程式是安全的,並且只有授權的輸入和資料被共享。它可以表明具體請求的資源的成功或失敗。它還可以防止資訊過度共享,因為這可能會暴露敏感資料而被利用。

10.建立威脅模型
這是對潛在的API安全漏洞進行系統化表述的過程,包括如何以及何時可以緩解這些漏洞。開發威脅模型的關鍵步驟包括定義安全標準、識別可能的風險、評估威脅、減輕威脅和確認減輕威脅。威脅模型有助於描述API攻擊,這使得風險管理決策更加明智。
 

相關文章