在上一期中,我們深入探討了API鑒權(quán)問題可能帶來的安全風(fēng)險(xiǎn)。特別值得注意的是,接口未鑒權(quán)或弱鑒權(quán)所引發(fā)的數(shù)據(jù)泄露問題,已成為近年來頻繁出現(xiàn)且直接威脅用戶業(yè)務(wù)安全的重要風(fēng)險(xiǎn)點(diǎn)?;ヂ?lián)網(wǎng)、金融、醫(yī)療、教育等多個(gè)行業(yè)均面臨著不同程度的接口數(shù)據(jù)泄露風(fēng)險(xiǎn)。
為了應(yīng)對這一挑戰(zhàn),本期我們將聚焦在API接口數(shù)據(jù)安全的識別與防范上。通過深入剖析這一問題的本質(zhì),提出有效的識別和防范策略,以助您更好地保護(hù)業(yè)務(wù)數(shù)據(jù)和用戶隱私。
為什么說API接口已經(jīng)成為數(shù)據(jù)泄露的主要途徑之一?
API多用于提供數(shù)據(jù)服務(wù),權(quán)限難以控制,對外暴露不可避免。不論是前后端系統(tǒng)交互、第三方業(yè)務(wù)協(xié)同等場景,API接口通常都是用來調(diào)用數(shù)據(jù)的直接途徑,因此也是對外暴露的主要通道,盡管有加密、混淆包括權(quán)限控制等一系列保障手段,但仍然難以保證客戶端的絕對可信,一旦API接口給出,業(yè)務(wù)方很難確定調(diào)用是否安全可靠;
API涉及的敏感數(shù)據(jù)類型多,有賬號類數(shù)據(jù),也有個(gè)人隱私等。API接口可以用于登錄認(rèn)證、信息核驗(yàn)和數(shù)據(jù)調(diào)取等多種場景,也廣泛應(yīng)用在政務(wù)、金融、醫(yī)療等各種行業(yè)領(lǐng)域,因此涉及多種類型的敏感信息,既有賬號密碼等數(shù)據(jù),也涉及身份信息、聯(lián)系方式以及企業(yè)敏感數(shù)據(jù)等各類信息,如果違規(guī)使用或接口權(quán)限設(shè)置不嚴(yán)格,則很容易造成數(shù)據(jù)過度暴露等風(fēng)險(xiǎn),從而被惡意爬取下載,造成泄露風(fēng)險(xiǎn)。
針對API接口數(shù)據(jù)泄露,WAF能做什么?
大部分對外提供服務(wù)的API接口均依托于HTTP協(xié)議通信,因此也面臨Web類攻擊的威脅,但無法單純依賴WAF對其進(jìn)行安全防護(hù):
WAF善于防范基于規(guī)則的典型攻擊。對外交互的API接口多采用HTTP協(xié)議通道,如Restful格式等,因此API的會話活動(dòng)也會經(jīng)過WAF的檢測分析。WAF的工作原理是基于規(guī)則或算法來對攻擊特征進(jìn)行識別,因此能夠?qū)QL注入、跨站腳本攻擊、非法掃描攻擊等典型攻擊類型進(jìn)行檢測防護(hù);
WAF難以識別邏輯漏洞利用攻擊。WAF可以防范明確的攻擊行為,但無法理解API的邏輯設(shè)計(jì),也難以對API的調(diào)用活動(dòng)做長期跟蹤,因此對于無顯性攻擊特征的邏輯漏洞攻擊行為,如接口越權(quán)訪問、數(shù)據(jù)違規(guī)調(diào)用、低頻數(shù)據(jù)爬取等威脅類型缺乏有效的識別與控制手段。
用了DLP方案,還會發(fā)生API接口數(shù)據(jù)泄露嗎?
防君子難防小人。DLP是最常見的數(shù)據(jù)防泄露手段,能夠依賴規(guī)則和策略來識別敏感數(shù)據(jù)并對其進(jìn)行訪問控制,可以針對各種數(shù)據(jù)通道來制定保護(hù)策略,但隨著API接口的開放,尤其是數(shù)據(jù)服務(wù)類接口的廣泛應(yīng)用,敏感數(shù)據(jù)的傳輸活動(dòng)越來越多但權(quán)限卻難以鑒別,而權(quán)限的根本控制點(diǎn)在于人,因此說DLP無法解決人為的錯(cuò)誤設(shè)定;
安全投入難平衡。企業(yè)級的DLP解決方案覆蓋系統(tǒng)、終端、網(wǎng)絡(luò)及應(yīng)用等各個(gè)節(jié)點(diǎn),需要全面部署和持續(xù)維護(hù),尤其是一些新型的DLP技術(shù)可能要從數(shù)據(jù)產(chǎn)生之初即參與控制,投入成本高、建設(shè)周期長,難以適用于所有的用戶單位。
API接口問題導(dǎo)致的數(shù)據(jù)泄露風(fēng)險(xiǎn)都有哪些常見情況?
信息查詢接口未作權(quán)限控制,可以直接訪問獲取數(shù)據(jù)
接口名稱:批量獲取用戶列表
接口URL:/api/v1/users/bulk
問題描述:該接口用于一次性獲取大量用戶的信息,以提高效率。然而,該接口沒有實(shí)施適當(dāng)?shù)臋?quán)限驗(yàn)證和請求限制,任何知道接口URL的外部實(shí)體都可以發(fā)送請求并獲取大量的用戶數(shù)據(jù),一方面可能導(dǎo)致數(shù)據(jù)泄露,另一方面還可能造成系統(tǒng)過載,由于缺乏權(quán)限控制,攻擊者可以發(fā)送大量的請求,導(dǎo)致系統(tǒng)過載、響應(yīng)延遲甚至崩潰。
信息校驗(yàn)接口未作細(xì)分限制,過度暴露個(gè)人隱私信息
接口名稱:用戶信息查詢接口
接口URL:/api/v1/users/info
問題描述:該接口用于返回用戶的基本信息,如姓名、性別、年齡等,由于接口沒有對返回?cái)?shù)據(jù)做足夠的限制,因此可能會過度暴露用戶的個(gè)人隱私類信息,比如身份證號碼、詳細(xì)地址、銀行卡信息等,一旦被未授權(quán)的第三方獲取,則可能導(dǎo)致嚴(yán)重的隱私泄露。
訪客身份ID可被任意修改,接口被遍歷返回賬號信息
接口名稱:獲取用戶詳細(xì)信息
接口URL:/api/v1/users/{userId}/details
問題描述:該接口用于提供指定用戶的詳細(xì)信息,包括用戶名、郵箱地址、手機(jī)號碼、家庭地址等敏感信息。然而,該接口沒有實(shí)施任何身份驗(yàn)證和授權(quán)機(jī)制,通過修改userID即可遍歷訪問該接口,并獲取到大量其他用戶的敏感數(shù)據(jù)。
針對API接口的數(shù)據(jù)安全保護(hù)應(yīng)該怎么做?
從接口安全設(shè)計(jì)的角度而言,有以下措施可以參考:
定期檢查身份驗(yàn)證和授權(quán),確保只有經(jīng)過合法權(quán)限的用戶才能訪問敏感數(shù)據(jù)接口;
限制可信的訪問范圍,即白名單機(jī)制,可以通過限定IP范圍來進(jìn)行訪問限制;
數(shù)據(jù)脫敏和加密,即在數(shù)據(jù)傳輸和存儲過程中通過加密等技術(shù)來保護(hù)數(shù)據(jù)的安全性;
數(shù)據(jù)最小化處理,即僅返回必要的數(shù)據(jù)字段,避免返回非必要的詳細(xì)信息;
設(shè)定請求頻率限制,通過設(shè)定合理的請求頻率或數(shù)據(jù)量的限制,防止攻擊者發(fā)送大量請求來爬取數(shù)據(jù)甚至造成系統(tǒng)過載;
訪問審計(jì)及監(jiān)控,通過對接口訪問情況進(jìn)行詳細(xì)的安全審計(jì),檢測數(shù)據(jù)泄露的風(fēng)險(xiǎn)行為。
盡管在接口開發(fā)設(shè)計(jì)當(dāng)中可以增加足夠的安全性設(shè)計(jì),但接口的主要目的是靈活的提供服務(wù),且會隨著業(yè)務(wù)的調(diào)整、規(guī)模的變化等情況而改變使用模式,很難在業(yè)務(wù)層面直接設(shè)定過于嚴(yán)格的安全限制,因此從安全保護(hù)的角度而言,還需要依賴專用的API風(fēng)險(xiǎn)監(jiān)測與防護(hù)能力,一方面針對接口權(quán)限進(jìn)行行為監(jiān)測和安全加固,另一方面針對返回?cái)?shù)據(jù)做識別審計(jì)和訪問限制,從而能夠協(xié)同業(yè)務(wù)系統(tǒng)或API網(wǎng)關(guān)來做好業(yè)務(wù)可用性與安全性的平衡。
API安全防護(hù)系統(tǒng)(RayAPI)有哪些優(yōu)勢特點(diǎn)?
盛邦安全API安全防護(hù)系統(tǒng)(以下簡稱“RayAPI”)是一款從API接口活動(dòng)監(jiān)測審計(jì)出發(fā),通過權(quán)限識別、數(shù)據(jù)識別等機(jī)制,對數(shù)據(jù)流轉(zhuǎn)進(jìn)行安全檢測與加固防護(hù)的專用產(chǎn)品,主要具有如下幾點(diǎn)技術(shù)優(yōu)勢:
全面的敏感數(shù)據(jù)識別能力
RayAPI可以從接口活動(dòng)流量中自動(dòng)識別可能包含的敏感信息,包括個(gè)人隱私信息、企業(yè)敏感數(shù)據(jù)、業(yè)務(wù)敏感信息等,除預(yù)定義的敏感信息類型之外,還可以根據(jù)實(shí)際情況來自定義添加識別規(guī)則,從而實(shí)現(xiàn)全面的敏感數(shù)據(jù)發(fā)現(xiàn)能力。
直觀的數(shù)據(jù)流轉(zhuǎn)監(jiān)控能力
RayAPI可以對數(shù)據(jù)調(diào)用源、調(diào)用區(qū)域、調(diào)用賬號、調(diào)用接口、關(guān)聯(lián)資產(chǎn)和詳細(xì)請求信息進(jìn)行關(guān)聯(lián)分析與跟蹤統(tǒng)計(jì),既能夠?yàn)閿?shù)據(jù)保護(hù)策略提供分析依據(jù),還能夠以直觀的分析視角進(jìn)行監(jiān)控審計(jì),從而幫助管理員實(shí)現(xiàn)清晰的監(jiān)控管理。
豐富的敏感數(shù)據(jù)保護(hù)策略
RayAPI支持豐富的敏感數(shù)據(jù)保護(hù)策略,包括數(shù)據(jù)接口調(diào)用頻率限制、數(shù)據(jù)調(diào)用數(shù)量限制、隱私信息監(jiān)控統(tǒng)計(jì)與脫敏保護(hù)策略,可以應(yīng)對機(jī)器人攻擊、低頻撞庫、非法爬蟲、數(shù)據(jù)竊取等攻擊類型,避免數(shù)據(jù)多度暴露等脆弱性風(fēng)險(xiǎn)。此外,RayAPI還可以結(jié)合訪問權(quán)限、數(shù)據(jù)標(biāo)簽等綜合條件設(shè)定監(jiān)控策略,及時(shí)發(fā)現(xiàn)數(shù)據(jù)異動(dòng)、數(shù)據(jù)泄露等風(fēng)險(xiǎn)情況并提供對應(yīng)的加固保護(hù)能力。
敬請關(guān)注“大話API安全系列”,讓我們共同守護(hù),網(wǎng)絡(luò)空間的安全和有序。