一千個數據洩漏導致死亡:API 如何壓倒安全性

已發表: 2022-06-14

今天的攻擊面比以往任何時候都更廣泛,漏洞從應用程序中滲出,並存在於靈活的應用程序編程接口中,這些接口使科技世界不斷運轉。

不幸的是,雖然大多數人都知道傳統的 Web 應用程序威脅,但 API 仍然是一個模糊的安全領域。 當今龐大的威脅形勢需要一個稱職的雲 WAF,甚至需要對 WAAP 進行投資。

什麼是 API?

API 是將現代瀏覽體驗結合在一起的粘合劑。 API 通過允許單個 Web 應用程序交換數據來簡化軟件的使用和開發。 現在,通過應用程序向服務器發出請求由相關 API 處理,這要歸功於正確實現的 API 非常安全這一事實。

您的設備和相關 API 應該共享小數據包,而不是直接向服務器公開您的信息,只傳達必要的信息。

敏捷與 API:安全雙重困擾

敏捷是過去的商業流行語——它描述了一種放大“最小可行產品”的創業理念的生產形式。 敏捷的目標是在每個階段推出最小的產品; 與其說產品“完成”,不如說它只是循環到另一輪修補錯誤修復和改進中。

儘管這種永久修補對於安全性來說似乎很棒(持續的軟件支持?很好!)軟件生產的經濟現實意味著 API 的數量很快就會變得笨拙。

隨著開發團隊的快速發展,API 很少被全面記錄。 這使得窺探應用程序的內部機制並了解哪些 API 做了什麼變得非常困難。 這也使安全性變得無限困難,因為開發團隊本身並不知道他們 API 庫存的真實規模。 這將網絡安全置於低優先級; 總是被動的,從不主動。

被忽視的 API

當提到應用程序安全時,首先想到的是安全重量級人物。 跨站點腳本等攻擊; SQL 注入和 DDoS 攻擊都是眾所周知的。 應用程序本身通常受到外圍巡查 Web 應用程序防火牆等即插即用解決方案的良好保護。

很少有人關注 API,這極大地損害了健忘的組織及其客戶。 以 Uber 系統中出現的 API 漏洞為例。

當優步司機通過推薦鏈接加入優步時,他們會啟動應用程序並輸入推薦代碼。 按下回車按鈕後,應用瀏覽器會與 API 主機“bonjour.uber.com”進行通信。 從那裡,bonjour.uber 接收用戶 ID 參數並將有關驅動程序的詳細信息返回到用戶的應用程序,準備好輸入以下同意屏幕。

然而,這個 API 被認定犯有兩個重大的安全漏洞。 第一個是損壞的對象級別授權 (BOLA)。 API 沒有檢查用戶的 ID 是否與他們的 ID 參數匹配; 因此,只需更改用戶 ID 即可訪問其他用戶的數據。

第二個問題是過度的數據暴露。 API 的響應——返回用戶詳細信息——將所有信息捆綁到一個批次中,其中包含用戶的每一個詳細信息。 這意味著 API 返回了客戶端沒有明確需要的信息,違反了網絡安全最佳實踐的主要支柱。

現在考慮平均組織依賴超過 15,500 個 API,風險規模開始顯現。 值得慶幸的是,在發生任何重大損壞之前,Uber API 已被插入; 下面的公司就沒那麼幸運了。

佩洛頓問題

Peloton 的家庭健身品牌擁有超過 300 萬用戶。 現場健身課程是一個主要賣點,但如果您不願意與其他課程參與者分享您的醫療數據,那麼可以將您的 peloton 帳戶設置為私人帳戶。

不幸的是,許多 API 漏洞導致這些數據暴露給未經授權的用戶。 由於一個 API 端點無法驗證請求用戶,因此可能會大規模抓取課堂參與者的信息。 這允許未經授權的攻擊者獲得 Peloton 用戶的用戶名、位置、鍛煉 ID、性別和年齡。

多年來,API 一直是高調數據洩露的原因。 Facebook 在 2018 年和 2019 年期間不斷發生數據醜聞,主要是通過第三方開發人員 API 發生了一次又一次的數據洩露事件。 一個例子是 Groups API; 開發 B2B 社交媒體管理應用程序的開發人員可以自由訪問群組成員的姓名和更多個人信息。 雖然這個社交媒體管理應用程序旨在幫助群組管理員更有效地管理他們的群組,但 Facebook 不得不刪除它及其 API。

這些數據醜聞在 2021 年達到頂峰,超過 5.33 億 Facebook 用戶的黑市數據庫洩露了他們的姓名、電話號碼和 Facebook 用戶 ID。

防止 API 洩漏

開放式 Web 應用程序安全項目 (OWASP) 定期發布最嚴重和最廣泛的 Web 應用程序漏洞以引起關注。 API 所代表的日益嚴重的安全威脅足以保證其自己的 OWASP 前十名名單,該名單始終被 Broken Object Level Authorization 名列前茅。

值得慶幸的是,保護您的 API(除了要求較慢的開發週期之外)與保護整個組織的整體安全密切相關。 您的第一個呼叫點將是一個體面的 Web 應用程序防火牆 (WAF)。 此解決方案監控您的應用程序的邊界,防止 API 網關被重大漏洞利用。

Web 應用程序和 API 保護 (WAAP) 更進一步。 它完全位於應用程序面向公眾的邊界,分析所有傳入流量。 通過監控合法流量和請求的模式,WAAP 是專門設計用於保護 API 的高度專業化的安全工具。

WAAP 是一個端點級防禦系統,而運行時應用程序自我保護 (RASP) 解決方案則圍繞特定的 Web 應用程序。 不同於 WAF 的 RASP 解決方案還可以洞察其應用程序的內部工作和行為。 這樣,如果 API 被用作攻擊的立足點,並且查詢的信息超出了實際情況,RASP 可以主動關閉攻擊。

有了無數可用的 API 保護選項,保護您的應用程序和您的組織從未如此簡單。