盡管全球經濟形勢趨于嚴峻,但API經濟仍在繼續增長。對于大多數行業來說,API促進了幾乎所有應用程序或服務的即時交易,加快了商品和服務的交易速度。應用交付網絡和業務解決方案提供商F5公司最近發布的一份報告以這種方式描述了API的快速增長:“如果說數據是新的石油,那么API將成為新的塑料。”
開放API(或公共API)提供了許多機會和競爭優勢。企業可以利用開放API來重塑其供應和交付鏈。企業可以利用廣泛的開發人員人才庫和不斷增長的軟件資源庫。此外,企業可以將其商業開發的API作為開放API發布。通過這樣做,他們可以吸引新客戶、提高品牌忠誠度,并提升他們的市場形象。
然而,開放API也帶來了固有的風險和挑戰,企業需要在開始這一旅程之前解決這些問題。
本文將為IT工程師、領導團隊成員和網絡安全專業人員提供對開放API生態系統的10種威脅的快照。
API經濟:機遇與威脅
開放API提供了許多機會,其中包括改進企業與供應商、服務提供商和客戶的聯系和協作,最終這有助于改善客戶體驗。通過API端點連接的微服務使企業能夠利用適合用途的技術,擺脫了使用繁瑣的單一系統的束縛。從而提高了生產力。所有這些都將顯著地降低應用程序開發、部署和維護的成本。
然而,從本質上說,開放API也吸引了網絡犯罪分子的注意。由于API是交易性的,因此它們也容易受到意外或惡意泄露個人、財務和其他敏感信息的影響。未受保護的端點或未經驗證的客戶端請求可能會將API暴露給DDoS、SQL注入或勒索軟件等潛在威脅。這些都會嚴重影響開放API的開發人員和消費者。
參與開放API生態系統需要對此做好周全的準備,而準備工作從威脅識別開始。
開放API(或任何API)的10個威脅
網絡安全行業已投入大量資源來識別、分類和分級API攻擊向量。基于這項研究,以下列出了開放API面臨的10種值得注意的威脅。
(1)對象級入侵
API依賴于經常處理對象ID的端點。此類對象可以是任何資源,例如文件、數據庫表或端口。糟糕的應用程序設計可能會利用隨客戶端請求發送的對象ID。
為了防止這種情況發生,API的代碼在每次獲取對象數據或對其進行任何操作時都必須執行對象級別的授權檢查。此類檢查確保發出請求的用戶或應用程序具有執行此類功能的最低權限。具有最佳實踐的傳統實施使用最小權限原則和基于角色的訪問控制來進行這些檢查。
(2)用戶身份驗證漏洞
惡意行為者利用破壞用戶身份驗證的API來欺騙有效用戶,獲得對系統不同部分的未經授權的訪問,并發動進一步的攻擊。
使用強大的身份驗證機制保護API端點對于防范這種威脅至關重要。用戶身份驗證通過要求客戶端提供有效憑據(如用戶名/密碼組合或API訪問密鑰)來保護API。
(3)無意的數據暴露
糟糕的編碼實踐通常會在代碼中暴露對象屬性、數據或其他敏感信息。客戶端應用程序必須在將結果返回給用戶之前過濾掉這些信息。但是,此類數據(例如其他API的密鑰、憑據或個人信息)可能會保留在代碼中,并且當API代碼托管在公共存儲庫上時,它們會在無意中對外泄露。
(4)分布式拒絕服務(DDoS)
如果沒有對請求訪問速率的限制,API端點很容易受到分布式拒絕服務(DDoS)攻擊。此類攻擊涉及惡意攻擊者從多個來源(通常是受感染的系統)向API端點發起大量請求,使端點不堪重負,并使其脫機。而目前流行的開放API可能是此類攻擊的常見目標。
速率限制將客戶端請求的數量限制在給定時間內的特定最大值。在此期間收到的任何其他客戶請求都將被拒絕。在通常情況下,API網關會執行這一限速任務。
(5)授權黑客
復雜的對象和功能訪問控制策略有時可以具有多個層次結構、組、角色和權限。這種復雜的安全機制笨重且難以維護。開發人員或管理員有時可能會為用戶或應用程序分配更高的權限以規避問題。這通常會導致黑客通過針對個人帳戶或完全繞過訪問控制中的缺陷來利用更高的權限。
(6)批量分配的弱點
這種威脅也稱為自動綁定或對象注入漏洞。現代應用程序框架鼓勵開發人員使用將客戶端請求輸入值鏈接到代碼變量和其他內部對象的自動功能,以簡化和加速開發。利用此框架帶來的副作用,網絡攻擊者可以更改或覆蓋開發人員從未打算公開的關鍵對象的屬性。
(7)安全錯誤配置缺陷
安全錯誤配置的示例包括不安全的默認設置、不充分或未跟蹤的配置更改、不安全的存儲、錯誤配置的HTTP標頭、允許的跨域資源共享(CORS)以及包含敏感信息的詳細錯誤消息。而部署和配置支持開放API運行的基礎設施資源需要特別注意安全性。
(8)代碼注入漏洞
代碼注入涉及惡意玩家利用糟糕的輸入驗證在API請求中嵌入SQL或其他命令。當不能很好地防范此類攻擊的API代碼運行時,這些命令可能會暴露敏感數據、執行數據修改或刪除,或促進進一步的滲透。
(9)資產管理不善
由于API比傳統的Web應用程序暴露更多的端點,維護不當的文檔、接口描述、版本控制或資產列表可能導致忽略重要的攻擊面,并帶來不安全因素。
(10)記錄和監控不足
日志記錄和監控不足導致未報告關鍵安全事件,也未發送主動警告。此外,缺失或有缺陷的事件響應過程允許網絡攻擊者繼續其活動而不被注意。許多數據違規事件表明,監管不力導致數據泄露違規行為在發生200多天之后才被發現。
應對開放API威脅
為了應對以上討論的威脅和漏洞,有必要在API的設計和開發階段采用安全最佳實踐。以下是一些需要考慮的基本安全控制措施:
•監控軟件供應鏈和分析軟件組成可以識別易受網絡攻擊的組件,例如不安全的第三方庫。
•靜態應用程序安全測試(SAST)審查應用程序代碼,并可以識別漏洞。
•動態應用程序安全測試(DAST)在應用程序代碼運行時模擬對它的攻擊,從而發現可能的弱點。
•安全事件和事件管理(SIEM)解決方案可以掃描應用程序日志以發現可能的違規、可疑活動、趨勢或異常。
•安全編排、自動化和響應(SOAR)解決方案通過在檢測到安全異常或威脅時執行運行手冊中的補救步驟,并進一步發展。
•強大的身份驗證機制允許驗證API用戶。同樣,強大的授權機制使用戶能夠只執行允許執行的特定操作。
•使用對稱密鑰加密數據,并使用SSL/TLS證書保護API端點,確保數據在靜態時和傳輸中受到保護。
•經過測試的強大災難恢復計劃可確保API得到修復并快速恢復在線,即使API已被破壞。
此外,API網關還可以通過向其托管的API提供服務發現、路由、負載均衡、高可用性和可觀察性服務,極大地增強API的安全性和穩定性。它允許企業使用SSL/TLS輕松保護所有通信通道,實施速率限制以防止DDoS攻擊,并限制客戶端請求有效負載和API響應大小。API網關還可以與Web應用程序防火墻(WAF)一起使用,以提供額外的安全層。
結論
正如人們所見,企業可以通過使用開放API構建強大的應用程序來參與API經濟。但是,開放API并非沒有威脅。以上簡要介紹了10種安全威脅以及應對措施。API網關可以促進其中的一些措施,并提供高級管理功能。
版權聲明:本文為企業網D1Net編譯,轉載需注明出處為:企業網D1Net,如果不注明出處,企業網D1Net將保留追究其法律責任的權利。