應用編程接口已成為攻擊者鐘愛的目標。本文所列工具和平臺(無論商業還是開源)可幫助企業識別錯誤、漏洞和權限分配過大等問題。
應用編程接口(API)是大多數現代程序和應用的關鍵部分。事實上,云部署和移動應用都非常依賴于API,如果不用API管理遍布各處的組件,云部署和移動應用都將成為泡影。許多大公司,尤其是那些擁有大量在線業務的公司,甚至在其基礎設施中嵌入了成百上千個API。API的增長只會繼續加速。
API的巧妙之處在于,大多數API只是一小段代碼,而且所有API在網絡資源需求方面都很精簡,幾乎無感。更妙的是,API還很靈活,即使所交互或控制的程序發生變動,比如打上了補丁,API也能繼續運行并執行其主要功能。
但即使如此令人神往,API也存在自身的缺陷。因為可將API設計成能夠執行幾乎所有任務,無論是不斷重復的單一功能,還是精妙控制各種程序或平臺的高級操作,所以幾乎沒有任何標準來管理API的編寫。絕大多數API都是獨特的,很多企業就是根據需要不斷創建新的API。這對安全團隊來說可能是一場噩夢。
攻擊者看中API的另一方面是,很多API被賦予了過多的權限。即使只執行少數功能的API通常也具有幾乎相當于管理員的權限。個中想法是:API那么小,能有多大害呢?黑客就不這么想了,他們會侵入API,然后利用這些權限/憑證搞事情,例如數據泄露,或者進一步滲透網絡。根據安全公司阿卡邁進行的安全研究,近75%的現代憑證攻擊針對缺乏防護的API。
問題越來越嚴重。Gartner預測,2022年,所有網絡安全類別中,涉及API的漏洞將成為最常見的攻擊渠道。
API測試工具成救星
關鍵網絡和程序組件被攻擊者盯上就夠糟糕的了,落到API身上,情況卻更加糟心,因為API的創建根本沒有標準可依。很多企業可能壓根兒不知道自己使用了多少API,也不清楚這些API都在干些什么,或者擁有多高的權限級別,更遑論API里是否存在漏洞的問題了。
安全行業和私人團體推出API測試工具和平臺來幫助解決這些問題。一些測試工具旨在執行單一功能,例如錨定特定Docker API配置不當的原因。其他工具則對整個網絡采取更全面的方法,搜索API,然后提供關于API功能的信息,給出API可能存在漏洞或權限過多問題的原因分析。
目前有幾個著名的商業API測試平臺和大量免費或低成本的開源工具可供使用。商業工具通常具有更多的支持選項,并且可以通過云或者甚至作為服務進行遠程部署。一些開源工具可能在功能上堪比商業工具,還具備來自工具研發用戶社區的支持。具體選擇何種工具取決于你的需求、公司IT團隊的安全專業知識和你的預算。
下面我們列出市面上幾款頂級商業API測試工具及其主要功能,以及部分優秀的開源工具。
商業API測試工具與平臺
APIsec
APIsec可看作是針對API的滲透測試工具。很多工具可以掃描用于腳本注入等典型攻擊的常見漏洞,但APIsec重在測試目標API的方方面面,確保從核心網絡到訪問核心網絡的端點都免于遭受API代碼漏洞影響。
APIsec的一大優勢是可以在API開發階段就部署上。對構建過程中的應用執行全面掃描只需要幾分鐘,但其結果可媲美過去需要數天或數周才能完成的老式滲透測試。
AppKnox
AppKnox對購買并部署了其平臺的用戶助益良多。結合其易于使用的界面,AppKnox堪稱沒有大型安全團隊專門負責API的公司的理想選擇。AppKnox通過掃描定位在生產環境、端點或任何可能部署之處的API。定位后,用戶可以選擇API提交,進行進一步的測試。
AppKnox測試所有可能導致API中斷或被破壞的常見問題,例如HTTP請求命令注入漏洞、跨站跟蹤和SQL注入漏洞。測試包括對Web服務器、數據庫和服務器上與API交互的所有組件的完整分析。
執行了API掃描后,用戶可將其測試結果提交給人類安全研究員進行高級分析,高級分析過程通常需要三到五天。
Data Theorem API Secure
Data Theorem API Secure平臺旨在適應任何持續集成和持續交付/部署(CI/CD)環境,從而在開發的每個階段和生產環境中為API提供持續的安全。該分析器引擎會持續搜索網絡,查找新的API,并快速識別未授權API或屬于公司影子IT的那些API。
分析器引擎會自動收集最新的涉API漏洞信息,并不斷測試其保護范圍內的資產。Data Theorem API Secure本地環境和云環境都適用,可以確保沒有API會淪為最新威脅的受害者。為保持CI/CD過程清晰流暢,Data Theorem API Secure提供自動修復所發現問題的功能,無需人工干預。如此一來,只要能夠適應高度自動化,企業就可以確保所用API可抵御最新的威脅。
Postman
Postman完全具備作為API測試工具的資格,但其更為人所知的名號卻是打造安全API的全套協作平臺。數百萬Windows、Linux和iOS開發人員使用Postman不是沒有原因的。
Postman為開發人員提供了一整套API工具供設計新API使用,還為企業提供了安全的存儲庫,讓企業可以放心存儲逐漸累積的代碼。使用安全存儲庫可以確保未來的API從一開始就保持嚴格的安全和組織標準。
Postman提供的工作區旨在幫助開發人員組織自身工作。如果應用代碼開始偏離公司確立的安全模板或包含潛在漏洞,Postman還可以發出安全警告。這樣就可以遠早于問題進入生產環境之前防患于未然。
Smartbear ReadyAPI
除了安全測試之外,Smartbear ReadyAPI平臺還旨在優化API在任何環境中的使用和性能。Smartbear ReadyAPI支持一鍵執行API安全分析,也還支持其他關鍵功能,例如查看API處理非預期負載或使用量突增的性能。
還可以配置ReadyAPI,令其生成API需處理的特定類型流量。ReadyAPI還可以記錄實時API流量,以便校準未來的測試,針對將在其中運行的獨特環境加以配置。此外,該平臺可以導入幾乎任何規范或模式,讓用戶可以使用最流行的協議測試API。本地ReadyAPI支持Git、Docker、Jenkins、Azure DevOps、TeamCity等,且可早在API上線之前運行于從開發到質量保證的各個環境。
Synopsis API Scanner
Synopsis API Scanner之所以如此強大,其中一個原因就在于,除了安全測試之外,該工具還在其深度掃描與測試套件中融合了模糊測試。模糊測試引擎向API發送數以千計的非預期輸入、無效輸入或隨機輸入,查看這些API的行為方式,或者觀察其在遇到超大數字或異常命令之類的事情時是否會崩潰。
該引擎還可繪制整個API的所有路徑和邏輯,包括所有適用的端點、參數、認證和規范。使用該引擎,開發人員可以清楚地看到自己期望中API應該要執行的功能,與它們有時候實際執行的功能之間,存在哪些差異。這昭示了為什么API可能會受到意外行為或安全漏洞的影響。
開源API測試工具
盡管開源工具的支持通常不如商業產品,有經驗的開發人員仍然可以很輕松地部署這些開源工具(往往是免費的),用來增強或改善其API的安全。下面我們例舉幾款在開源社區備受推崇的API安全測試工具。
Astra
Astra主要專注于表征狀態轉移(REST)API。這類API由于經常不斷變化,極其難以維護安全。鑒于REST架構風格強調組件之間交互的可擴展性,隨著時間的推移,保持REST API安全可能很具挑戰性。Astra的效用在于幫助集成進CI/CD流水線,進行檢查,確保常見漏洞不會蔓延到所謂的安全REST API中。
crAPI
crAPI是可以連接到目標系統并使用根客戶端默認處理程序集提供基本路徑的少數封裝器之一,并且無需創建任何新連接即可完成此操作。高級API開發人員可以之節省大量時間。
Apache JMeter
Apache JMeter顯然是用Java編寫的,最初用作Web應用的負載測試器,但最近擴展到幾乎可以用于任何應用、程序或API。Apache JMeter精巧的套件可以測試靜態或動態資源的性能。它可以大量生成真實流量的模擬負載,供開發人員發現其API在壓力下的表現。
Taurus
Taurus可以很方便地將獨立API測試程序轉換為連續測試操作。從表面上看,Taurus簡單易用。安裝好Taurus,創建一個配置文件,就可以讓測試工具各司其職了。再深入了解一下,你可以找到生成交互式報告的方法,創建更復雜的場景來測試API,還可以設置故障標準,從而可以立即切入并修復發現的問題。
原文地址:https://mp.weixin.qq.com/s?__biz=MzkxNzA3MTgyNg==&mid=2247491699&idx=1&sn=ce71fa9e6b911c2af045bd2c610b5a06&chksm=c14492cef6331bd8f1209618274de0cab9cb52a39fc60b6db7de81480d319bd799aaefcc9043&mpshare=1&s