雖然這種訪問對于企業的員工、合作伙伴、客戶來說非常寶貴,但它也使API成為黑客和僵尸網絡具有吸引力的目標。隨著越來越多的攻擊和API漏洞的增加,擴展安全性變得越來越重要。
現有的解決方案(例如訪問控制、速率限制等)提供基本的保護,但不足以完全阻止黑客的網絡攻擊。如今的安全團隊需要識別并響應動態變化的攻擊,這些攻擊旨在利用單個API的獨特漏洞。企業可以采用人工智能來檢測API和未暴露數據的異常行為,自動阻止對整個API基礎設施的攻擊,設計自學習解決方案是安全的未來。這種方法為IT基礎設施提供了深入的可視性,并使安全團隊能夠在識別惡意行為時立即采取行動。
API數據泄露
2019年,澳大利亞最大的房地產估價服務商LandMark White公司發生API數據泄露事件,導致房產估價內容和客戶信息泄露。在這種情況下,最初用于企業內部使用的API最終可以從外部訪問。
這些漏洞導致了不同程度的數據泄露行為,其中包括賬戶接管、私人信息和照片被盜,以及信用卡號碼被他人提取。在此次數據泄露事件之后,LandMark White公司的聲譽受到嚴重影響,而其很多客戶和銀行合作伙伴退出,并爭相與其他廠商合作。
數據泄露事件通常需要數周或數月才能檢測到,其他類似的違規行為幾乎需要一年時間才能完全解決。還有許多公司現在面臨這種情況。要了解如何防范這些威脅,人們必須首先了解API所帶來的潛在漏洞。
API漏洞
許多企業目前依靠不充分的安全措施來保護其API。雖然API管理工具提供了一組重要的安全功能,其中包括身份驗證和速率限制,但這些做法通常無法阻止專門為違反API及其提供訪問權限的數據和系統而構建的攻擊。
不完整和遺漏的驗證
缺少權利檢查是最近一系列API違規中頻繁出現的漏洞模式。這些缺失的權利檢查會在生產API中暴露漏洞。在某些情況下,完全缺乏訪問控制已經使API完全開放,使得具有基本技能的不良行為者可以進行惡意攻擊。
在Facebook、USPS和Verizon/LocationSmart公司的數據泄露案例中,黑客使用有效賬戶對API行為進行反向工程,以識別多個漏洞,其漏洞可以在沒有正確憑據檢查的情況下提供對來自其他賬戶的數據的訪問,同時看起來像普通用戶。這種技術有可能提供對大量賬戶的訪問,并用于破壞銀行和保險公司的賬戶。
使用調用API的應用程序時,不會暴露此類漏洞。通過跳過客戶端應用程序(例如,Web應用程序)并直接調用API來觀察數據和控制流,可以進行惡意訪問。客戶端應用程序極大地限制了通過用戶界面限制使用API??的方式。依賴應用程序可能會產生安全盲點,尤其是在API層的應用程序之外未執行測試時。
除了訪問控制之外,API安全性還必須包括內容驗證。在2019年初發現(并修補)的Kubernetes的API服務器的情況下,這種缺乏安全性是顯而易見的。被授權向Kubernetes API服務器發出補丁請求的用戶也可能發送過量消耗資源的特定補丁,這種偶然(或故意)的行為導致對API服務器的拒絕服務(DoS)攻擊。
利用此類漏洞可以極大地破壞服務。如果傳入的JSON補丁包含10,000多個操作,則Kubernetes API服務器修復包括返回413類型的錯誤。這種類型的內容驗證很容易在API網關中配置,但它經常被遺漏,因為這樣做需要超越自動生成的JSON模式,這些模式只定義簡單的規則類型,需要人工干預才能識別特定驗證的需要,并確保正確的配置和測試。
擴散和缺乏可見性
API的擴散只會增加其漏洞。API的部署速度比以往任何時候都要快,而且由許多不同的團隊負責。在某些情況下,持續不斷的創新、減少摩擦、創造新收入流的壓力會導致開放API可能產生意外的影響。
因此,許多利益相關者報告其組織部署的所有API缺乏可見性,這并不奇怪。事實上,許多API相關的漏洞在幾個月有時是幾年之后才被發現,這進一步說明了對整體API流量缺乏可見性。
此外,一些API并不是公開的,可能只被視為總體項目的實施細節。這使他們從安全從業者的角度隱藏起來,進而導致缺乏具體的安全考慮。在其他情況下,來自組織不同部分的API可能會利用異構平臺和不一致的安全策略。
無論如何,這些API可能與公共API一樣容易受到攻擊,因為它們同樣容易被黑客通過反向工程進行攻擊。為彌補這些差距,人們需要清楚地了解需要保護的內容。而對API流量的深入洞察將為改善網絡彈性提供基礎。
超越令牌驗證的思考
驗證令牌并驗證請求用戶的身份通常不足以支持API基礎設施。在API層應用粒度訪問控制的能力不僅符合邏輯,而且隨著API成為訪問開發人員需要管理的數據的最常用渠道,它將成為常態。
此外,定義應允許個人請求哪些數據的規則,不僅由API提供商定義,還由最終用戶定義。例如,在OAuth握手期間,將會要求最終用戶認可。這些決策允許用戶在涉及他們擁有的數據時限制應用程序代表他們行事的方式。因此,用戶認可的管理與核心API安全性概念緊密相關。
基礎API安全準備的核心是審查和治理流程的定義,它們將所有這些概念結合在一起。新的API或更新的API必須經過審核,首先要確定問題的答案,其中包括:
•訪問API需要哪些權限?
•預期的請求者是誰?
•此服務將利用哪些數據庫和數據進行讀寫?
•此API與之交互的其他服務是什么?
•輸入和輸出參數是什么樣的,應該如何限制它們?
這些問題的答案將告知哪些安全策略應該適用于正在發布的新API。
擴展基礎API安全性
即使有正確的基礎,安全性也只能與其配置一樣強大。當配置受到人為錯誤的影響時,隨著API層復雜性的增加,API漏洞通過測試并進入生產的風險也隨之增加。即使企業已采取一切措施來防止數據泄露,仍然可能面臨在API本身之外的不同向量暴露漏洞的風險。
例如,黑客經常通過網絡釣魚攻擊竊取令牌,這些攻擊允許他們構成合法的應用程序。此外,代表用戶調用API的客戶端應用程序也存在一些缺陷,并且在保密方面非常糟糕。這可能像API密鑰一樣簡單,這些密鑰是通過查看單頁應用程序的JavaScript代碼或通過HTTPS代理查看API流量而反向設計的。
例如,北卡羅來納州立大學的一項研究表明,GitHub是一個用于調用API的應用程序機密寶庫。該研究得出結論,如今已有10萬多個存儲庫泄漏了API令牌和加密密鑰。GitHub通過實施新的安全功能從提交到其平臺的代碼中掃描令牌來實現這一發現。
未檢測到的漏洞
攻擊者還使用遠程訪問特洛伊木馬來竊??取憑據,如Mimikatz。他們使用竊取的憑據來冒充用戶并獲取令牌。最后,另一個常見漏洞是授權服務器上的憑據填充,利用從先前漏洞中挖掘的憑證集合。
在這些場景中,攻擊者通過利用用戶、客戶端應用程序或授權服務器上的漏洞(而不是API本身)獲取令牌。這帶來了許多問題,因為這些令牌似乎是合法的,黑客像一個有效的用戶。即使企業采用了適當的訪問控制策略,除了涉及到API本身的漏洞之外,這些攻擊通常會在數月甚至數年的時間內也不會被傳統的API安全工具檢測到。
安全團隊可以投入大量精力,向用戶和API開發人員介紹客戶端應用程序安全和身份基礎設施,但他們仍然可能面臨生產API漏洞和憑據泄露的風險。API提供商必須在其安全措施中考慮這一點,無論API是內部還是外部。企業可以通過應用人工智能(AI)來加速攻擊檢測和自動阻止攻擊。
將人工智能應用于安全
安全團隊可以根據客戶、用戶和通常展示的API行為來訓練機器學習引擎。通過使用人工智能,安全團隊可以識別良好和惡意流量,并在沒有人工干預的情況下識別未遂的攻擊和持續的攻擊。
采用人工智能檢測非典型行為
每個API調用、訪問令牌或cookie的元數據以及某些操作的時間和順序都可以提供給AI模型。在運行時,此機器學習引擎利用行為模型來識別潛在威脅,例如特定令牌或cookie是否在合法應用程序之外使用,數據是否被泄露或更改等。
利用基于人工智能的異常使用檢測顯著加快了威脅可見性,將攻擊發現的時間從幾個月減少到幾分鐘或幾秒鐘。一旦檢測到可疑的API活動,用于獲取API訪問權限的訪問令牌或cookie將被列入黑名單或吊銷,立即停止所有API端點上使用該令牌的任何一方的訪問。如果這些攻擊背后隱藏著相同的用戶身份,那么必須將用戶身份本身列入黑名單并相應地進行標記。這種類型的監視、攻擊檢測和阻塞是在不需要操作人員采用自定義規則的情況下實現的。
使用API??誘餌
API誘餌的使用也可以加速API黑客攻擊的檢測。這涉及添加偽造的API資源,這些資源會向請求者返回看似有效的響應。誘餌利用黑客傾向于以合法應用程序不具備的方式進行搜索,有效地利用圍繞典型黑客行為的知識。
當黑客陷入這些陷阱時,他們會立即被識別出來。同時,他們的相關IP地址和訪問令牌(如果他們當時擁有它們)會自動被視為泄露,并列入黑名單。誘餌偵聽器能夠識別出這些請求不可能從真正的應用程序傳入,因為這些API資源并不是合法存在。這些安全措施不需要自定義規則或擴展配置。
阻止和修復
當然,檢測只是解決方案的一部分。安全系統如何反應同樣重要。一旦客戶機標識符(如用戶或令牌)被泄露,該標識符必須立即被撤銷或列入黑名單。這些信息需要在所有API強制點、API網關和代理之間廣泛傳播。此外,必須記錄這些事件以供后續審計,并且必須通知安全信息和事件管理(SIEM)系統以啟動任何標準響應過程。
企業應該記錄在檢測和阻止泄露的憑證之前調用的方法和資源的詳細信息。取證報告形式的信息允許API提供者、DevOps團隊或安全團隊采取必要的措施來修復或反向工程攻擊造成的損壞。還可利用取證來幫助遵守GDPR、PSD2和開放式銀行等法規。
保護API
Ping智能身份平臺提供了一套解決方案,可解決專為API流量設計的基礎API安全性和合規性實施。
PingAccess
PingAccess控制對企業內部和面向公眾的API的訪問。它作為反向代理部署在受保護網絡的邊界,或作為與API端點一起運行的代理部署。PingAccess支持精細的API訪問控制,將用戶限制為訪問令牌中包含的授權范圍所允許的API事務。
PingDataGovernance
PingDataGovernance通過啟用評估API請求和響應主體的策略,對API和通過API流出的數據實施細粒度授權。在API請求中,細粒度授權策略可以限制用戶在授權的API調用中可以做什么(例如,如果他們授權超過特定限制的支付,修改大量數據條目等)。在API響應中,PingDataGovernance根據未經授權、非預期、敏感或受限制數據的策略和同意記錄檢查出站數據,這些數據應在發布到客戶端之前動態修改或從響應中刪除。
針對API的PingIntelligence
PingIntelligence提供對API流量的深入可見性,自動發現API,提供基于AI的自動API攻擊檢測和阻止,并使用欺騙/蜜罐環境實時識別黑客攻擊。其人工智能引擎為PingAccess、API網關、API管理平臺和直接在App Server上實現的API(如Node.JS,WebLogic,Tomcat或WebSphere)帶來了網絡攻擊保護和深入洞察API活動。
結論
API安全性是數字化轉型計劃的重要組成部分,可以提高跨渠道的網絡彈性。
在零信任時代,采用以身份為中心的API安全基礎設施是現代數字化轉型戰略的核心。為了確保API的安全性,企業需要深入了解API活動和AI驅動的漏洞檢測。兩者都需要在基本的API訪問控制上進行分層,以捕獲源自API漏洞的攻擊,并在傳統API安全系統的配置中修復人為錯誤的風險。