如何使用人工智慧保護API的安全

  • 2019 年 10 月 3 日
  • 筆記

數字轉型是基於一種可驅動新的操作模型的API,提供對業務邏輯、應用程式和數據的直接訪問。雖然這種訪問對於員工,合作夥伴和客戶來說非常方便,但它也使API成為黑客和惡意網路的攻擊目標。隨著越來越多的攻擊和漏洞,擴展安全性現在變得越來越重要。

現有的解決方案(例如訪問控制,速率限制等)提供基本保護,但不足以完全阻止惡意攻擊。今天的安全團隊需要識別並響應動態變化的攻擊,這些攻擊利用了各個API的自我漏洞而提高了攻擊的成功率。想想在未來,人工智慧可以檢測API以及其他泄露數據的異常行為,自動阻止對整個API基礎架構的攻擊,並設計完善解決方案是多麼值得期待的事。此方法為IT基礎架構提供了深入的可見性,並使安全團隊能夠在識別出惡意行為時立即採取行動。

API違規

2019年,澳大利亞最大的房地產估價公司LandMark White發生API漏洞,導致房產估價細節和客戶資訊泄露。在這種情況下,本來只供內部使用的API卻可以從公司域外訪問。

這些漏洞導致了不同程度的公司違規行為,包括賬戶被接管,私人資訊和照片被盜以及信用卡號碼的提取。在此次違規行為之後,該公司的良好聲譽遭到破壞,他們的客戶和銀行合作夥伴急忙尋找其他替代品。

從泄露到發現漏洞整個過程持續了數周或數月才被檢測到,同時其他類似的違規行為已經花了將近一年時間才能完全解決。除LandMark White外,到目前為止許多人資訊仍是沒有保障的,這是一件十分危險的事情。要了解如何防範這些威脅,我們必須首先了解API所帶來的潛在漏洞。

API漏洞

許多企業目前依靠不充分的安全措施來保護其API。雖然API管理工具提供了一些重要的安全功能,包括身份驗證和速率限制,但這些做法通常無法阻止專門為違反API及其提供訪問許可權的數據和系統而構建的攻擊。

1.不完整的驗證

缺少許可權審查是最近一系列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模式,這些模式只定義簡單的規則類型,需要人工干預才能識別特定驗證的需要,並確保正確的配置和測試。

2.API缺乏可見性

就目前來看,API數量的激增只會增加其漏洞。API的部署速度比以往任何時候都要快,而且很多不同的團隊在某些情況下,要求創新、減少摩擦和創造新收入流的持續壓力會導致API不可用的意外影響。

因此,許多利益相關者報告其組織部署的所有API缺乏可見性,這並不奇怪。事實上,許多API相關的漏洞已經被發現幾個月,甚至是幾年,這進一步說明了整體API設計缺乏可見性。

此外,一些API並不是公開的,可能只被視為總體項目的實施細節。這使他們會被從安全性的角度隱藏起來,但反過來又導致缺乏特定的安全考慮因素。在其他情況下,從組織的不同部分出現的API可會因為異構平台導致不一致的安全策略。

無論如何,這些API可能與公共API一樣容易受到攻擊,因為它們同樣容易被黑客反向設計。為彌補這些差距,我們需要清楚地了解需要保護的內容,對API流量的深入洞察為改善網路安全提供了起點。

 

3.超越Token驗證的思考

驗證Token並驗證請求用戶的身份通常不足以支援API基礎結構。在API層應用粒度訪問控制的能力不僅符合邏輯,而且隨著API成為訪問開發人員的數據的最常用渠道,它將成為常態。

此外,定義應允許個人請求哪些數據的規則不僅由API提供商定義,還由用戶定義。這些決策允許用戶在涉及他們擁有的數據時限制應用程式,因此用戶API的管理策略與核心API安全性概念緊密相關。

API基礎安全的核心是審查和治理流程的定義,更新的API必須經過審核,首先要確定問題的答案,包括:

  • 訪問API需要哪些許可權?
  • 誰是預期的請求者?
  • 該服務將利用哪些資料庫和數據進行讀寫?
  • 該API與之交互的其他服務是什麼?
  • 輸入和輸出參數是什麼樣的,它們應該如何被限制?

這些問題的答案會告訴我們預備發布的新API應該採取哪些安全策略。

4.擴展舊的基礎API安全性

即使有正確的基礎,安全性也只能保持與其配置的程度相當而已。當配置受到人為錯誤的影響時,API漏洞使其經過測試並投入生產的風險隨著API層複雜性的增加而增加。即使你已採取一切措施來防止它,仍然可能面臨在API本身上暴露漏洞的風險。

例如,黑客經常通過網路釣魚攻擊竊取tokens,這些攻擊允許他們構成合法的應用程式。此外,代表用戶調用API的客戶端應用程式也存在缺陷,並且在保密方面非常糟糕。這可以像通過查看應用程式的JavaScript程式碼或通過HTTPS代理查看API流量而進行反向破解API密鑰一樣簡單。

例如,北卡羅來納州立大學的一項研究表明,GitHub是一個用於調用API的應用程式機密寶庫,超過100,000個存儲庫泄漏了API token和加密密鑰。GitHub通過實施新的安全功能從提交到其平台的程式碼中掃描token來實現這一發現。

攻擊者還使用遠程訪問特洛伊木馬來竊​​取憑據,如Mimikatz。然後,他們使用竊取的憑據來冒充用戶並獲取token。另一個常見漏洞是授權伺服器上的憑據填充,利用從先前漏洞中挖掘的憑證集合。

在每種情況下,攻擊者都會利用用戶調用客戶端應用程式或授權伺服器上的漏洞獲取token,而不是API本身。這提出了許多問題,因為這些token似乎是合法的,黑客看起來像一個有效的用戶。這為用戶數據“通過API泄漏”設置了台階,即使有適當的訪問控制策略和運行時實施,這些攻擊除了那些涉及API本身漏洞的攻擊,也不會被傳統的API安全工具檢測到,而且通常持續數月甚至數年。

安全團隊可以投入大量精力教育用戶和API開發人員關於客戶端應用程式安全性和身份基礎架構,但他們仍然可能面臨生產API漏洞和憑據泄露的風險。API提供商必須在其安全措施中考慮這一點,無論API是內部還是外部。但其實可以通過應用人工智慧(AI)來加速攻擊檢測和自動阻止攻擊。

將AI應用於安全性

安全團隊可以根據用戶通常展示的API行為來培訓機器學習引擎。通過使用AI,團隊可以識別好的和壞的流量,並在沒有人工干預的情況下識別未遂的攻擊和持續的攻擊。

1.用AI檢測非典型行為

每個API調用時,訪問token或cookie的數據以及某些操作的時間和順序都可以提供給AI模型。在運行時,此機器學習引擎利用行為模型來識別潛在威脅的跡象,例如特定token或cookie是否在合法應用程式之外使用,數據是否被泄露或更改等。

利用基於AI的異常使用檢測可顯著加速威脅可見性,將攻擊發現從數月轉換為數分鐘或數秒。檢測到可疑API活動後,用於獲取API訪問許可權的訪問token或Cookie可以列入黑名單或撤銷,立即停止在所有API端點上使用該token從任何一方進行訪問。如果這些攻擊背後存在相同的用戶身份,則必須將用戶身份本身列入黑名單並相應地進行標記。在沒有人為干預的情況下實現這種類型的監視,攻擊檢測和阻止。

2.使用API​​誘餌

API陷阱的使用也可以加速API黑客攻擊的檢測。這涉及添加偽造的API資源,這些資源會向請求者返回看似有效的響應。陷阱利用黑客傾向於以合法應用程式不具備的方式進行搜索,有效地轉變為桌面以利用圍繞典型黑客行為的知識。

當黑客陷入這些陷阱時,他們會立即得到認可。同時,他們的相關IP地址和訪問token(如果他們當時擁有它們)會自動被視為已泄露並列入黑名單。陷阱偵聽器能夠識別出這些請求不可能從真正的應用程式傳入,因為這些API資源不合法存在。這些安全措施不需要自定義規則或擴展配置。

3.阻止和修復

當然,檢測只是解決方案的一部分,系統如何回饋同樣重要。一旦發現客戶私人資訊(例如token)已被泄露,該資訊必須立即被撤銷或列入黑名單。此外,必須記錄這些事件以供後續審核,並且必須通知安全資訊和事件管理(SIEM)系統以應對接下來類似的情況。

應記錄有關在檢測和阻止受損憑據之前調用的方法和資源的詳細資訊,以報告形式提供的資訊允許API提供者、DevOps團隊或安全團隊採取必要措施來修復或逆轉攻擊造成的損害。

保護API的技術和工具

使用合適的技術和工具來保障API的安全性,是一種最易實現的舉措。現在,有許多技術和工具可以最大程度上的保護API免受網路攻擊和黑客入侵,最簡單的就是用API gateway(API網關),通過流量過濾和節點監控等方式去防止未知的攻擊和入侵。諸如國外的Amazon API Gateway(亞馬遜旗下)、中國的 GOKU API GatewayEOLINKER 旗下)等都能輕鬆的實現網關係統的要求。在 API gateway 這個領域,也有一些開源框架在活躍,如 Netflix Zuul,基於 Nginx 的 Kong 等,目前關注較少,就不展開介紹了。在選擇網關係統時,安全性、便捷性和本土化性需要特別關注的幾個關鍵因素,這些網關都對API的安全性有一定的保障,使得私密的資訊能免遭泄露。

結論

API安全性是數字化轉型計劃的重要組成部分,可以提高跨渠道的網路安全。在危機四伏的時代,採用以身份為中心的API安全基礎設施是現代數字化轉型戰略的核心。為了確保API的安全性,還需要深入了解API活動和AI驅動的漏洞檢測。兩者都需要在基本的API訪問控制上進行分層,以捕獲源自API漏洞的攻擊,並在傳統API安全系統的配置中修復人為錯誤的風險。


 

參考資料:Jinesh Thakkar,Secure APIs Using Artificial Intelligence

原文鏈接:https://dzone.com/articles/secure-apis-using-artificial-intelligence

圖片來源:互聯網