在過去幾年中,API 驅(qū)動(dòng)的應(yīng)用程序在企業(yè)級云平臺上部署以擴(kuò)展規(guī)模興起。它們能夠根據(jù)用戶需求進(jìn)行擴(kuò)展,徹底改變了應(yīng)用程序的編寫和部署方式。通常,這些分布式應(yīng)用程序部署在 Kubernetes 平臺上,以便更輕松地管理、編排和部署微服務(wù)容器。
DevOps 團(tuán)隊(duì)投入了大量資源,以確保他們在 Kubernetes 基礎(chǔ)設(shè)施平臺上運(yùn)行的應(yīng)用程序安全可靠,不會被利用。這可以包括強(qiáng)化操作系統(tǒng),通過跨集群的微分段防止橫向移動(dòng),以及通過嚴(yán)格的 RBAC 控制來限制訪問來防止未經(jīng)授權(quán)的訪問。
然而,這只是成功的一半。從 Kubernetes 平臺上移,部署的 API 驅(qū)動(dòng)的應(yīng)用程序有自己的安全問題類別,需要不同的方法來實(shí)現(xiàn)適當(dāng)級別的安全保護(hù)。API 驅(qū)動(dòng)的應(yīng)用程序的興起助長了一類新的 API 漏洞,這些漏洞無法被現(xiàn)有的應(yīng)用程序安全產(chǎn)品保護(hù)。
隱藏在底層 API 中的漏洞可能會暴露等待被利用的弱點(diǎn),從而暴露關(guān)鍵業(yè)務(wù)數(shù)據(jù)。網(wǎng)絡(luò)犯罪分子已經(jīng)注意到并正在開發(fā)新的攻擊向量,以便在企業(yè)向 API 經(jīng)濟(jì)發(fā)展時(shí)利用它們。
需要一種新的方法來擺脫專注于保護(hù)單體應(yīng)用程序的應(yīng)用程序安全性,并專注于 API 驅(qū)動(dòng)的應(yīng)用程序如何運(yùn)行以提供適當(dāng)級別的保護(hù)。
以下是企業(yè)在評估 API 安全解決方案時(shí)應(yīng)考慮的一些關(guān)鍵標(biāo)準(zhǔn)。
1. API 可見性和監(jiān)控:你無法保護(hù)看不到的東西
盡管 API 使用量呈爆炸式增長,但許多安全和開發(fā)團(tuán)隊(duì)仍無法回答有關(guān)其 API 程序的基本問題——例如我們有多少、誰擁有它們以及它們做什么。在當(dāng)今復(fù)雜的威脅環(huán)境中,這給企業(yè)帶來了巨大的安全風(fēng)險(xiǎn)。
為了防范安全風(fēng)險(xiǎn),企業(yè)了解其 API 程序的所有方面及其相關(guān)的安全挑戰(zhàn)至關(guān)重要。這可以更好地幫助領(lǐng)導(dǎo)者通過適當(dāng)?shù)木徑獠呗愿纳破浣M織的安全狀況。
大多數(shù)企業(yè)都公開了許多內(nèi)置的 API,并為客戶和合作伙伴開源。它們由不同的團(tuán)隊(duì)發(fā)布,使用不同的應(yīng)用程序堆棧和不同的程序。因此,很難跟蹤和了解潛在風(fēng)險(xiǎn)在哪里。以下是企業(yè)應(yīng)該考慮的一些關(guān)鍵 API 可見性挑戰(zhàn):未知 API:影子、已棄用或隱藏的 API 可能會超出安全團(tuán)隊(duì)的可見范圍,這通常會導(dǎo)致它們不受保護(hù)。這些 API 可能會傳輸敏感數(shù)據(jù)并危及組織的合規(guī)地位。API 參數(shù):API 漏洞(例如批量分配)允許攻擊者將用戶配置文件更改為“管理員”,從而導(dǎo)致權(quán)限提升,這可能導(dǎo)致欺詐、數(shù)據(jù)丟失。敏感數(shù)據(jù)暴露:在響應(yīng)代碼或錯(cuò)誤消息中暴露機(jī)密或敏感數(shù)據(jù)可用于竊取數(shù)據(jù)或作為大規(guī)模攻擊的偵察形式。業(yè)務(wù)邏輯缺陷:應(yīng)用程序業(yè)務(wù)邏輯缺陷可以使不良行為者通過帳戶接管、抓取、虛假帳戶創(chuàng)建和其他形式的 API 濫用進(jìn)行欺詐。
在尋求解決這些常見的 API 安全挑戰(zhàn)時(shí),提出問題以評估和降低風(fēng)險(xiǎn)程度會有所幫助。有許多問題需要考慮:我們擁有的 API 有什么作用?API 所有者是誰?哪些 API 需要遵守法律或法規(guī)?我們?nèi)绾伪O(jiān)控 API 中的漏洞?我們的 API 是否會暴露敏感數(shù)據(jù)或 PII,這是否會導(dǎo)致我們不合規(guī)?我們?nèi)绾螠y試和衡量 API 監(jiān)控的有效性?
2. API 安全性:不同類型的應(yīng)用程序安全性
大多數(shù)擁有 Web 應(yīng)用程序的企業(yè)都將擁有 Web 應(yīng)用程序防火墻 (WAF) 以進(jìn)行安全保護(hù)。然而,隨著企業(yè)繼續(xù)擴(kuò)大其 API 驅(qū)動(dòng)的應(yīng)用程序,他們發(fā)現(xiàn)傳統(tǒng)的 WAF 無法很好地適應(yīng)單體應(yīng)用程序的需求,無法滿足現(xiàn)代 API 驅(qū)動(dòng)的應(yīng)用程序的需求。
由于 API 驅(qū)動(dòng)的應(yīng)用程序的編寫方式非常獨(dú)特,這使其成為一個(gè)單獨(dú)的可利用漏洞類別,這些漏洞與其 OWASP 前 10 名 Web 兄弟非常不同。有效保護(hù)單體 Web 應(yīng)用程序漏洞免受 OWASP 的 10 大 Web 漏洞攻擊的安全方法在 API 世界中并不能很好地轉(zhuǎn)化。
使用傳統(tǒng)的 Web 安全方法很難防御 BOLA(損壞的對象級授權(quán))和批量分配等關(guān)鍵 API 漏洞。越來越多的客戶逐漸意識到,部署 WAF 來保護(hù)他們的 API 就像在槍戰(zhàn)中拿刀一樣,是低級且錯(cuò)誤的武器。
現(xiàn)在出現(xiàn)了一種新的 API 安全產(chǎn)品類別,它取代了 Web 應(yīng)用程序防火墻,更符合保護(hù) API 驅(qū)動(dòng)的應(yīng)用程序免受利用的特定要求。這些 API 安全解決方案是圍繞應(yīng)用程序的日常行為方式構(gòu)建的。這些安全解決方案由機(jī)器學(xué)習(xí) (ML) 提供支持,專注于學(xué)習(xí)應(yīng)用程序行為和發(fā)現(xiàn)異;顒(dòng)。
構(gòu)建應(yīng)用程序機(jī)器學(xué)習(xí)模型可以為發(fā)現(xiàn)嵌入在數(shù)百個(gè)微服務(wù)中的內(nèi)在業(yè)務(wù)邏輯缺陷和 API 漏洞奠定基礎(chǔ)。用戶驅(qū)動(dòng)的流量為機(jī)器學(xué)習(xí)模型的開發(fā)提供動(dòng)力,并捕捉應(yīng)用程序的微服務(wù)如何協(xié)同工作以交付應(yīng)用程序業(yè)務(wù)邏輯。
如果企業(yè)正在尋找 API 安全解決方案,應(yīng)該考慮以下三個(gè)標(biāo)準(zhǔn):發(fā)現(xiàn):識別企業(yè)環(huán)境中的所有 API。理想情況下,API 安全工具應(yīng)該知道定義允許的 API 請求的 API 參數(shù)。例如,API 應(yīng)該只允許用戶響應(yīng) 255 個(gè)字符串字符。通常,未經(jīng)驗(yàn)證的 API 響應(yīng)可用于利用應(yīng)用程序漏洞。學(xué)習(xí):API 安全工具應(yīng)該能夠從用戶驅(qū)動(dòng)的流量中學(xué)習(xí) API 行為。這允許 API 安全解決方案的機(jī)器模型了解定義正常應(yīng)用程序行為的所有細(xì)微差別。用戶行為的輕微和突然偏差會通過警報(bào)向安全運(yùn)營團(tuán)隊(duì)顯示。適應(yīng):在敏捷環(huán)境中開發(fā)的大多數(shù)現(xiàn)代應(yīng)用程序都在迅速變化。API 安全解決方案應(yīng)該能夠自動(dòng)調(diào)整其安全模型以不斷適應(yīng)所有新變化,以確保應(yīng)用程序安全始終與 DevOps 保持同步。
3. 威脅分析:在網(wǎng)絡(luò)攻擊發(fā)生時(shí)檢測它們
當(dāng)網(wǎng)絡(luò)犯罪分子從應(yīng)用程序中泄露敏感數(shù)據(jù)時(shí),他們會采取必要的預(yù)防措施來逃避檢測。為了對抗它們,需要威脅分析來檢測訪問您的應(yīng)用程序的用戶之間的惡意活動(dòng)。
從應(yīng)用程序中獲得的數(shù)據(jù)的質(zhì)量和廣度將決定企業(yè)的安全保護(hù)級別,并影響其在多長時(shí)間內(nèi)檢測到即將發(fā)生的網(wǎng)絡(luò)攻擊。隨著應(yīng)用程序變得更加復(fù)雜和分布式,更多地了解應(yīng)用程序的內(nèi)部工作原理、工作方式、業(yè)務(wù)邏輯以及與其他第三方技術(shù)合作伙伴的交互變得更加重要。
收集應(yīng)用程序內(nèi)所有點(diǎn)的數(shù)據(jù)交互可確保其全面了解所有用戶與應(yīng)用程序的交互。數(shù)據(jù)集越豐富,就越容易將惡意與合法用戶交易區(qū)分開來,并使企業(yè)的安全團(tuán)隊(duì)能夠盡快發(fā)現(xiàn)數(shù)據(jù)泄露。
API 安全平臺應(yīng)使安全團(tuán)隊(duì)能夠執(zhí)行以下操作:威脅搜尋:安全分析師可以通過數(shù)據(jù)湖搜索正在進(jìn)行的活動(dòng)。跟蹤攻擊者:當(dāng)攻擊者深入挖掘應(yīng)用程序時(shí),您可以跟蹤殺傷鏈活動(dòng),例如偵察或掃描活動(dòng)。事后分析:安全分析師可以獲得事后取證,以了解網(wǎng)絡(luò)攻擊如何利用應(yīng)用程序的業(yè)務(wù)邏輯或漏洞。
結(jié)論
快速變化的 API 驅(qū)動(dòng)應(yīng)用程序有助于加快產(chǎn)品上市速度,但也釋放了可被網(wǎng)絡(luò)犯罪分子快速利用的 API 漏洞?梢院芎玫乇Wo(hù)單體 Web 應(yīng)用程序的應(yīng)用程序安全產(chǎn)品在保護(hù) API 驅(qū)動(dòng)的應(yīng)用程序方面無法很好地?cái)U(kuò)展。
由于跨更復(fù)雜和分布式應(yīng)用架構(gòu)的快速變化,API 安全的要求與市場上現(xiàn)有的應(yīng)用安全產(chǎn)品有著根本的不同。在評估 API 安全解決方案時(shí),一定要關(guān)注解決方案如何提供可見性、它對應(yīng)用程序的理解程度以及威脅分析的質(zhì)量和深度。
獲得專門針對 API 應(yīng)用程序的適當(dāng)應(yīng)用程序安全解決方案將幫助企業(yè)更好地防御不斷增加的 API 驅(qū)動(dòng)的網(wǎng)絡(luò)攻擊,這些攻擊旨在利用企業(yè)最有價(jià)值的資產(chǎn)——數(shù)據(jù)。