新聞中心
自1960年代結(jié)構(gòu)化編程出現(xiàn)以來(lái),API一直是軟件開(kāi)發(fā)的重要因素。API是一組函數(shù)或例行程序,其目的是完成特定任務(wù)或提供一種簡(jiǎn)單方法來(lái)與軟件組件交互,這通常允許對(duì)通用流程進(jìn)行自動(dòng)化以更好地與在其他機(jī)器運(yùn)行的服務(wù)交互。

創(chuàng)新互聯(lián)是一家專(zhuān)業(yè)提供將樂(lè)企業(yè)網(wǎng)站建設(shè),專(zhuān)注與成都網(wǎng)站制作、網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為將樂(lè)眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
現(xiàn)在,保護(hù)API變得越來(lái)越重要。雖然API已經(jīng)被使用了幾十年,而近年來(lái)Web 2.0和云計(jì)算的到來(lái)讓API的數(shù)量和使用都大幅增加,目前有超過(guò)14萬(wàn)公共API。其中Facebook、谷歌、Twitter、eBay和Amazon提供的API可能是最著名的,還有很多其他企業(yè)也通過(guò)提供API來(lái)提供對(duì)其內(nèi)部數(shù)據(jù)的訪問(wèn)。例如,Salesforce公司的客戶可以使用其API來(lái)整合Salesforce服務(wù)到他們的系統(tǒng),正如Facebook Platform API讓開(kāi)發(fā)人員可以創(chuàng)建數(shù)千應(yīng)用和服務(wù)來(lái)訪問(wèn)Facebook數(shù)據(jù)一樣。
API帶來(lái)的商業(yè)機(jī)會(huì)幾乎是不可抗拒的,但API提供商和API消費(fèi)者需要確保API部署的安全性,讓攻擊者無(wú)法使用它們來(lái)攻擊企業(yè)或其用戶。根據(jù)云安全聯(lián)盟表示,不安全的API是云計(jì)算面臨的最大的威脅之一。
API安全風(fēng)險(xiǎn)的性質(zhì)
API提供了對(duì)應(yīng)用功能的訪問(wèn)權(quán)限,這意味著它們?cè)黾恿斯裘?,并且,攻擊者?huì)盡全力濫用或?qū)ふ伊餍蠥PI代碼中的漏洞,因?yàn)樗鼈兛梢员挥脕?lái)攻擊大量應(yīng)用和用戶。為了說(shuō)明這一點(diǎn),讓我們假設(shè)一個(gè)虛構(gòu)的公司:MashOurDataInc公司,該公司提供API以允許開(kāi)發(fā)人員從其數(shù)據(jù)中心提取數(shù)據(jù)。攻擊者已經(jīng)成功地將惡意腳本注入到主要數(shù)據(jù)庫(kù),如果MashOurDataInc公司的API代碼在響應(yīng)API請(qǐng)求發(fā)送數(shù)據(jù)之前沒(méi)有清洗數(shù)據(jù),那么,攻擊者的惡意腳本可能會(huì)發(fā)送到使用MashOurDataInc的API的任意應(yīng)用,這意味著成千上萬(wàn)的用戶將受到影響。
保護(hù)API來(lái)降低風(fēng)險(xiǎn)
如果開(kāi)發(fā)人員在構(gòu)建應(yīng)用或服務(wù)時(shí)通過(guò)API使用第三方數(shù)據(jù),那么,在代碼中使用這些API之前,開(kāi)發(fā)人員必須完全明白它們的工作原理以及應(yīng)該如何調(diào)用它們,以免制造潛在的漏洞。這就是說(shuō),開(kāi)發(fā)人員需要閱讀所有相關(guān)的API文檔,其中應(yīng)該包含保護(hù)API函數(shù)或例行程序的部分,例如如何調(diào)用API、需要怎樣的身份驗(yàn)證、哪些數(shù)據(jù)將會(huì)返回以及以何種格式,可能出現(xiàn)哪些錯(cuò)誤。
對(duì)正在使用的API構(gòu)建威脅模型可以幫助企業(yè)了解攻擊面,并確定潛在的安全問(wèn)題,從而在一開(kāi)始就可以構(gòu)建適當(dāng)?shù)陌踩徑獯胧?。Firebug和Chrome Developer Tools等調(diào)試工具可以幫助確定和檢查API生成的數(shù)據(jù)流,并突出應(yīng)如何保護(hù)API。
如果應(yīng)用接收第三方傳輸?shù)臄?shù)據(jù),則不應(yīng)該認(rèn)為這些數(shù)據(jù)已經(jīng)被清洗或正確驗(yàn)證。開(kāi)發(fā)人員必須構(gòu)建數(shù)據(jù)清洗和驗(yàn)證例行程序以防止標(biāo)準(zhǔn)注入漏洞和跨站請(qǐng)求偽造攻擊,特別是對(duì)于傳輸JSON和XML消息或用戶生成的內(nèi)容的API,因?yàn)樗羞@些數(shù)據(jù)都來(lái)自不受信任來(lái)源。此外,在調(diào)用API之前,企業(yè)還需要驗(yàn)證用戶或設(shè)備具有正確的權(quán)限來(lái)查看、編輯或刪除請(qǐng)求的數(shù)據(jù);很多開(kāi)發(fā)人員在用戶經(jīng)過(guò)身份驗(yàn)證后沒(méi)有進(jìn)行二次訪問(wèn)控制檢查。
企業(yè)開(kāi)發(fā)API以允許他人來(lái)訪問(wèn)其內(nèi)部數(shù)據(jù)系統(tǒng)時(shí),應(yīng)該專(zhuān)注于構(gòu)建和測(cè)試控件來(lái)管理對(duì)API的訪問(wèn)權(quán)限。這些控制應(yīng)該明確他人對(duì)不同類(lèi)別的數(shù)據(jù)可以做什么以及不能做什么。此外,在允許查看、編輯或刪除數(shù)據(jù)前應(yīng)該進(jìn)行二次訪問(wèn)控制檢查。
企業(yè)還應(yīng)該記錄保護(hù)API的要求,這會(huì)讓企業(yè)更容易確保后續(xù)代碼更改仍然滿足針對(duì)個(gè)人或敏感信息的數(shù)據(jù)處理政策要求。同時(shí),企業(yè)還需要記錄哪些信息應(yīng)該進(jìn)行日志記錄以捕捉誰(shuí)、什么以及何時(shí)在訪問(wèn)API,以滿足審計(jì)要求。企業(yè)應(yīng)該分析這些日志記錄--最好通過(guò)安全信息和事件管理工具,從而檢測(cè)和阻止任何異常行為(例如暴力攻擊)。
API可以創(chuàng)造無(wú)數(shù)的機(jī)會(huì)來(lái)提高客戶服務(wù)和互動(dòng),并可幫助提高生產(chǎn)效率和利潤(rùn);它們甚至成為有些公司立足的產(chǎn)品或服務(wù)。然而,考慮到API帶來(lái)的潛在風(fēng)險(xiǎn),企業(yè)應(yīng)該將風(fēng)險(xiǎn)緩解作為任何API集成戰(zhàn)略的核心。
分享標(biāo)題:抵御攻擊的關(guān)鍵——保護(hù)API
鏈接分享:http://www.5511xx.com/article/codepdd.html


咨詢
建站咨詢
