2022年11月04日
萬圣節(jié)并非僵尸、影子和幽靈出沒的唯一時刻。其實,這些令人厭惡的問題正以API的形式隱藏在企業(yè)的數字化基礎設施中,不斷擴展組織的網絡攻擊面。而產生這些可怕的僵尸API、影子API和幽靈API的主要原因就是API蔓延(API Sprawl),這已經成為現代企業(yè)數字化轉型發(fā)展的重大挑戰(zhàn)。
API蔓延的原因
當組織缺乏適當的API可見性、治理機制和生命周期策略時,僵尸、影子和幽靈等可怕的API威脅就會出現,并給企業(yè)業(yè)務開展造成損害。
揮之不去的“僵尸”API(Zombie API)
僵尸API是指一些暴露的API或已經過時、被拋棄的API端點。當一個組織沒有對遷移、棄用和淘汰的舊API進行適當控制時,這些API可能會永遠存在,并由此形成“僵尸”API。因為它們基本上被遺忘和忽略了,沒有任何功能或安全方面的持續(xù)補丁、維護或更新,因此僵尸API會帶來嚴重的安全風險。事實上,據Salt Security State發(fā)布的《API安全研究報告》顯示,僵尸API是組織需要關注的首要API安全問題。
藏匿風險的“影子”API(Shadow API)
影子API是創(chuàng)建和部署在安全監(jiān)控范圍外的API端點,這些令人厭惡的API有時是從影子IT中產生的。開發(fā)人員通常希望更快地部署API或端點這也造成了影子API大量出現。影子API會帶來的安全風險包括:
沒有適當的身份驗證和授權;
不正確地暴露敏感數據;
沒有遵循最佳實踐,更容易受到攻擊。
無所不在的“幽靈”API(Ghost API)
幽靈API的概念是指第三方開發(fā)(或代寫)的API,并在組織生產環(huán)境中公開使用。幽靈API可以暴露在任何地方:打包的應用程序(商業(yè)的和開源的)、基于SaaS的服務、基于本地和云的基礎設施組件(例如虛擬設備上的admin API)等等。許多組織有意地在其擴展基礎設施中依賴第三方開發(fā)的API,作為其功能數字供應鏈和日常基礎設施管理的一部分。然而,有時第三方API會在無意中暴露。此外,由于第三方開發(fā)的API并非在完善的devops周期中發(fā)布,因此它們通常沒有得到適當的治理、測試、監(jiān)視和維護,這也為應用程序帶來了大量的安全風險。
根據最新研究數據統(tǒng)計,目前公共和私人API的應用數量已接近2億,而到2031年,這個數字可能會超過10億。鑒于這種快速的應用增長趨勢,API蔓延問題在各種組織中已經表現得非常廣泛,其主要原因包括:
缺乏關于API的全球標準是API蔓延如此普遍的原因之一。標準缺失意味著需要創(chuàng)建多個獨立的API來服務于一個功能。如果沒有將API配置為協(xié)同工作,就會導致兼容性問題;
大多數企業(yè)都在向微服務體系結構發(fā)展,而API通常是微服務體系結構和容器化的重要組成部分,這也導致它們的受歡迎程度有所上升;
持續(xù)的軟件開發(fā)是API蔓延的另一個常見原因。每個新版本都會有新的API,或者需要現有API版本升級;
不同部門之間缺乏溝通也是API蔓延的一個常見原因,因為每個部門可能會開發(fā)自己的API;
邊緣計算或“一切即服務”(EaaS)等新技術的興起導致更多的API被創(chuàng)建應用。
API蔓延的風險
企業(yè)如今依賴的許多服務都依賴API。如果組織不能將適當的API治理部署到位,整個數字化業(yè)務系統(tǒng)就會有崩潰的可能。以下是API蔓延帶來的主要風險:
1. 浪費時間和資源
在當今高度飽和的商業(yè)世界中,保持競爭力對企業(yè)來說可謂前所未有的重要。因此,領導者必須考慮每一個減少開支和削減成本的機會。開發(fā)、實現和部署不需要的軟件,無疑是在燒錢。通過減少API蔓延來節(jié)省資金,可以讓企業(yè)將這些資源投資到更有價值的追求上,從而幫助實現業(yè)務增長。
2. 表現不佳或使產品受損
未受管理或管理不當的API容易導致服務中斷。通常,API基礎設施就像紙牌搭成的房子,某一塊的損壞,都可能讓整座房子倒塌??紤]到用戶對系統(tǒng)正常運行的期望和需求,這就是為什么需要在API失控之前阻止它蔓延的另一個原因。
3. 引發(fā)安全風險
未經管理和過時的API是網絡中常見的安全風險來源。了解所有API的位置、它們在做什么,以及什么在與什么交互,這對于保障系統(tǒng)安全非常重要。隨著API的數量和應用程序的復雜性不斷增長,跟蹤API位置將變得愈發(fā)困難。在組織內外發(fā)現它們可能很困難,并且會影響到端到端連通性。此外,API還容易出現欺詐和惡意行為。外部API訪問必須持續(xù)驗證才能獲得信任,但如果內部API密鑰被泄露,攻擊者就能夠輕松訪問關鍵的基礎設施和數據。
API蔓延的防護措施
API蔓延會加劇企業(yè)在業(yè)務開展和安全運營方面的挑戰(zhàn),需要盡早采取積極的措施應對API蔓延。
1. 制定API治理計劃
指定一個集中式API管理計劃在防止API失控方面有很大幫助。它還使查找、連接和保護API變得更加容易,這也有助于避免API蔓延。擁有集中式API治理策略可以幫助組織概念化諸如API架構、層次結構等內容。實現企業(yè)范圍的API策略(如速率限制或授權)也更容易。
2. 集中統(tǒng)一管理API
跟蹤API本就是件棘手的事情,當API蔓延失控時,它會變得更加復雜。擁有一個集中式API發(fā)現和管理解決方案可以實現所有API的集中統(tǒng)一管理,這樣每個人都可以快速找到并使用它們,此舉也有助于避免影子API或有風險的僵尸端點。
3. 跟蹤API指標
API架構可能很快就變得非常復雜。根據規(guī)模的不同,組織可能需要一個完整的開發(fā)人員團隊來跟蹤每個API的位置以及它們的交互方式。通過監(jiān)測API指標,企業(yè)可以看到所有API在整個組織中的執(zhí)行情況。沒有這一點,想要優(yōu)化或保護網絡應用系統(tǒng)將非常困難。
4. 在整個組織中規(guī)范API安全性
目前,90%使用了API的組織都經歷了某種不同程度的安全事件??梢哉f,每創(chuàng)建一個新的API,就可能會為網絡犯罪分子創(chuàng)造更多的可利用空間。這也可能導致API被誤用和濫用,從而導致API進一步蔓延。
5. 尋求通用的解決方案
API的采用只會日益增加。因此,最好在問題失控之前就解決API蔓延問題。創(chuàng)建一個通用的解決方案,確保所有API都是可發(fā)現的,并且能夠彼此通信,這將有助于阻止API的蔓延,并緩解許多其他問題。
6. 遵循API規(guī)范
遵循API規(guī)范(如OpenAPI)并不復雜,但卻可以有效減少API的蔓延,因為它使觀察發(fā)現API及其所有組件變得更加容易。這大大降低了API在混亂中丟失或被遺忘的可能性。此外,遵循API規(guī)范可以使API應用生成自動化文檔,從而進一步降低API蔓延的風險。
文章來源:安全牛