API或應(yīng)用程序編程接口是多個計算機程序相互通信的一種方式。例如,網(wǎng)站可以使用API??從數(shù)據(jù)庫請求信息或?qū)⑿畔鬟f給第三方服務(wù)。移動應(yīng)用程序經(jīng)常使用API??將數(shù)據(jù)來回發(fā)送到中央服務(wù)器。傳統(tǒng)的網(wǎng)站正迅速被高度交互的基于API的網(wǎng)站所取代。API也是企業(yè)應(yīng)用程序的關(guān)鍵,它取代了原有的信息交換機制。
根據(jù)Akamai公司今年早些時候發(fā)布的一份報告,API調(diào)用現(xiàn)在占所有Web流量的83%。這意味著提供了功能更強大、功能更豐富的應(yīng)用程序,但同時也意味著更大的安全風(fēng)險。根據(jù)調(diào)研機構(gòu)Gartner公司的調(diào)查,到2021年,將有90%的啟用Web的應(yīng)用程序以暴露的API而非用戶界面的形式具有更大的攻擊面,而2019年為40%。到2022年,API濫用將成為最常見的攻擊。
例如,麥當(dāng)勞公司的API公開了其移動交付應(yīng)用程序用戶的個人數(shù)據(jù)。由于API導(dǎo)致數(shù)據(jù)泄露的其他公司包括Facebook、Twitter、Panera Bread、T-Mobile、Instagram、Salesforce和Snapchat。甚至美國國稅局也遭遇了API數(shù)據(jù)泄漏的事件。
總部位于波士頓的安全機構(gòu)Cyber??eason公司的首席信息安全官Israel Barak表示,“在過去的五六年中,API成為越來越大的問題。業(yè)務(wù)、系統(tǒng)和應(yīng)用程序之間的互連性的增加加速了面向公眾的API的采用。然后便是微服務(wù)和容器等服務(wù)的使用。”
以一個用于預(yù)訂航班的網(wǎng)絡(luò)應(yīng)用為例。如果它是傳統(tǒng)的整體應(yīng)用程序,則用戶將選擇一個航班,獲取報價,付款并預(yù)定。他們將按順序完成所有這些步驟。Barak說,“交易過程確保第一步發(fā)生在第二步之前。”
現(xiàn)在,網(wǎng)絡(luò)上的同一應(yīng)用程序可能是一組獨立功能,每個功能都調(diào)用一個單獨的API。一個乘客可能會向支付系統(tǒng)發(fā)送請求。另一個乘客可能會向航空公司發(fā)送預(yù)訂航班的請求。利用公開的API,黑客可以跳過付款步驟而直接進(jìn)入預(yù)訂步驟。此外,攻擊者也可能劫持確認(rèn)所有用戶信息,并獲取其他客戶的姓名、地址和付款明細(xì)的API。
有時,即使是完全無害的API也會造成損害,Barak說。例如,在用戶選擇城市所在的國家/地區(qū)后,網(wǎng)絡(luò)表單通常會提供城市列表。如果城市列表是通過API提供的,則攻擊者可以發(fā)送大量假請求,足以關(guān)閉該特定服務(wù)-并使整個Web表單停止運行。Barak說,“而且不能使用驗證碼,因為另一邊沒有人。”
總部位于圣馬特奧的網(wǎng)絡(luò)安全機構(gòu)PerimeterX公司聯(lián)合創(chuàng)始人兼首席技術(shù)官Ido Safruti表示,當(dāng)人們使用API??來驗證信用卡且訪問權(quán)限未得到適當(dāng)鎖定時,還會發(fā)生另一種常見的API濫用。他說:“我可以直接采用API并嘗試驗證被盜的信用卡或者禮品卡,這更容易,因為不需要用戶的姓名或郵政編碼。”
他補充說,“這種第三方API的使用非常難以鎖定。作為數(shù)據(jù)中心運營商,如果其應(yīng)用程序在數(shù)據(jù)中心之外調(diào)用API,那么可能對此完全一無所知。”
從后臺到前臺
在以往,企業(yè)的應(yīng)用程序在內(nèi)部網(wǎng)絡(luò)內(nèi)相互通信,可以安全地隱藏在防火墻后面。應(yīng)該說,這意味著訪問和身份驗證問題對開發(fā)人員的壓力并不大。實施大量安全檢查會很麻煩,會減慢開發(fā)速度并干擾功能。如今,在混合數(shù)據(jù)中心和萬物實現(xiàn)云化的情況下,但API并沒有企業(yè)的防火墻防護(hù),但是開發(fā)人員經(jīng)常忘記這一事實,并意外地將其公開。
BTB Security公司顧問Humberto Gauna說,“保護(hù)API并不難。但這需要一定的資源,將會增加公司的成本。”他建議,在構(gòu)建新的API時,企業(yè)應(yīng)讓安全專業(yè)人員參與早期階段。
通常情況下,數(shù)據(jù)中心安全管理人員對開發(fā)人員如何編寫其API并沒有什么要求。但它們可以確保內(nèi)部數(shù)據(jù)庫和服務(wù)器得到適當(dāng)?shù)谋Wo(hù),并確?;谠朴嬎愕姆?wù)得到適當(dāng)?shù)呐渲?。他們還可以為內(nèi)部部署環(huán)境和云計算部署設(shè)置API網(wǎng)關(guān)。
API網(wǎng)關(guān)的優(yōu)缺點
并非所有專家都認(rèn)為API網(wǎng)關(guān)是一個好主意。
當(dāng)企業(yè)通過一個或多個API網(wǎng)關(guān)匯集所有API流量時,它們可以確?;镜陌踩呗?如加密、身份驗證和訪問控制)得到充分實施。網(wǎng)關(guān)還可以執(zhí)行其他操作,如負(fù)載均衡和DDoS保護(hù)。
可以為內(nèi)部部署數(shù)據(jù)中心設(shè)置API網(wǎng)關(guān),大多數(shù)主要的云計算提供商都將它們作為基礎(chǔ)設(shè)施上托管的系統(tǒng)的服務(wù)來提供。Cyber??eason公司的Barak說,該過程從創(chuàng)建數(shù)據(jù)中心公開的所有API的目錄開始。他說,“這是一個良好的安全平臺的核心組成部分,但很多人沒有采用它。使目錄保持最新是很困難的,特別是當(dāng)開發(fā)新的微服務(wù)并在幾天甚至幾小時內(nèi)推出時。”
接下來,企業(yè)必須使用自己的令牌(例如API密鑰或OpenID標(biāo)識符)來標(biāo)識每個API,并根據(jù)這些令牌控制對數(shù)據(jù)和服務(wù)的訪問。Barak說,“沒有授權(quán)令牌,企業(yè)的開發(fā)人員不能公開新的API,而是必須注冊該API。”
最后,數(shù)據(jù)中心可以為API流量設(shè)置網(wǎng)關(guān)。他說,通過實施包括加密和簽名的安全通道,數(shù)據(jù)中心可以對API安全性產(chǎn)生巨大影響。
但是一些專家說,要讓企業(yè)的所有開發(fā)人員都參與進(jìn)來可能很困難。
總部位于圣何塞的安全廠商Malwarebytes Labs的主管Adam Kujawa說,“這將是一個理想的選擇。但是數(shù)據(jù)中心運營商不能強迫他們的客戶這樣做。但是,它可以做的是向其客戶或企業(yè)用戶提供API網(wǎng)關(guān)作為服務(wù)。如果他們不使用該服務(wù),需要確保將它們隔離開來,以免感染數(shù)據(jù)中心的其他部分。”
另一個挑戰(zhàn)是,API網(wǎng)關(guān)不能總是部署到所有平臺上,并且提供商之間存在差異,這給管理帶來了挑戰(zhàn)。
此外,API網(wǎng)關(guān)可能是單點故障,并增加了復(fù)雜性和管理開銷??偛课挥谂谅灏柾械膽?yīng)用程序安全供應(yīng)商數(shù)據(jù)定理的首席運營官Doug Dooley說,“我們的客戶正在構(gòu)建微服務(wù),其中一種應(yīng)用程序具有難以置信的規(guī)模,并已在全球數(shù)十個數(shù)據(jù)中心中部署,有不同離散形式的代碼,它們都通過API進(jìn)行通信,企業(yè)中有成千上萬個API。”
他說,“在這種情況下,試圖通過API網(wǎng)關(guān)強制執(zhí)行所有操作都是沒有意義的。它不具有可擴展性或成本效益,繞過這個瓶頸很簡單。”
FireMon公司技術(shù)聯(lián)盟副總裁Tim Woods提出了一種API安全的分布式方法。這種方法可能更加動態(tài)和靈活。對于邊緣計算應(yīng)用程序來說,速度也更快。他說:“每當(dāng)企業(yè)必須到中央清算倉庫或中央網(wǎng)關(guān)時,都必須擔(dān)心延遲。”
Barracuda 網(wǎng)絡(luò)公司應(yīng)用程序安全產(chǎn)品管理副總裁Nitzan Miron表示,企業(yè)在尋找基礎(chǔ)設(shè)施中所有活動的API時也遇到了問題。當(dāng)基礎(chǔ)設(shè)施包括公共云時尤其如此。他說,“傳統(tǒng)的網(wǎng)絡(luò)資源清冊(掃描IP范圍)在IP都由公共云提供商甚至多個提供商動態(tài)分配的情況下是毫無價值的。”
但是他補充說, API網(wǎng)關(guān)工具已經(jīng)日趨成熟,并且最近開始添加功能來正確審核和控制API訪問。他說:“隨著這些工具的成熟和易于使用,找到合適的工具并安裝在所有公司的API和應(yīng)用程序上而不會造成業(yè)務(wù)中斷的挑戰(zhàn)將會越來越小。”
版權(quán)聲明:本文為企業(yè)網(wǎng)D1Net編譯,轉(zhuǎn)載需注明出處為:企業(yè)網(wǎng)D1Net,如果不注明出處,企業(yè)網(wǎng)D1Net將保留追究其法律責(zé)任的權(quán)利。
版權(quán)聲明:本文為企業(yè)網(wǎng)D1Net編譯,轉(zhuǎn)載需注明出處為:企業(yè)網(wǎng)D1Net,如果不注明出處,企業(yè)網(wǎng)D1Net將保留追究其法律責(zé)任的權(quán)利。