作為數(shù)字經(jīng)濟和信息社會的核心資源,數(shù)據(jù)對國家治理、經(jīng)濟運行機制、社會生活方式等產(chǎn)生著深刻影響。數(shù)據(jù)在流動、分享、加工和處理的過程中創(chuàng)造價值,但其前提是保障數(shù)據(jù)安全無虞。因為龐大的數(shù)據(jù)足以勾勒出數(shù)以億計的人物畫像,而支撐這些龐大數(shù)據(jù)高速傳輸?shù)闹匾ǖ辣闶茿PI。
如今API接口的運用已經(jīng)十分廣泛,API 接口如果沒有經(jīng)過安全處理,則很容易出現(xiàn)信息截獲、篡改與泄露等安全問題。目前,90%使用了API的組織都經(jīng)歷了某種不同程度的安全事件?梢哉f,每創(chuàng)建一個新的API,就可能會為網(wǎng)絡(luò)犯罪分子創(chuàng)造更多的可利用空間。Twitter API 密鑰泄露事件就是如此,所以API 接口的安全不容小覷。
Gartner 預(yù)測, API 濫用將成為最常見的黑客攻擊媒介,并將導(dǎo)致許多數(shù)據(jù)泄露。根據(jù)OWASP API 安全項目提供的 API 安全前 10 名(2019 年)列表,通過關(guān)注 API 的前 10 大安全風(fēng)險,優(yōu)先考慮保護(hù) API 的工作。下文將向您展示攻擊者如何列表中的前六個漏洞,后四個 API 安全挑戰(zhàn),則與安全機制的不當(dāng)應(yīng)用有關(guān),本文不涉及。
一些 API 公開對象標(biāo)識符,這對于訪問控制機制至關(guān)重要。這些機制驗證用戶只能訪問他們有權(quán)訪問的資源。為了利用對象級授權(quán)被破壞的 API,攻擊者在 API 調(diào)用中更改請求資源的身份驗證數(shù)據(jù)并獲取對受保護(hù)數(shù)據(jù)的訪問權(quán)限。比如通過可預(yù)測訂單ID值來查詢所有訂單信息即水平越權(quán),垂直越權(quán),參數(shù)遍歷。
開發(fā)者對API身份認(rèn)證機制設(shè)計存在缺陷或無保護(hù)設(shè)計,導(dǎo)致身份認(rèn)證機制無效,比如弱密碼、無鎖定機制而被暴露破解、Token未校驗或Token泄露導(dǎo)致認(rèn)證機制失效等。用戶身份驗證問題可能允許攻擊者冒充用戶、訪問他們的個人數(shù)據(jù)并濫用訪問權(quán)限。
當(dāng)開發(fā)人員為 API 和客戶端之間的通信實施通用機制時,可能會出現(xiàn)此 API 安全漏洞。在這種情況下,API 可能會向客戶端發(fā)送比它需要的更多的數(shù)據(jù),客戶端必須過濾數(shù)據(jù)并隱藏用戶不相關(guān)的信息。攻擊者可以嗅探此流量并從中提取敏感信息:身份驗證令牌、帳號、電子郵件地址等。
API 可以使用 CPU、RAM 和磁盤資源來處理請求。開發(fā)者通常會根據(jù)應(yīng)用程序的業(yè)務(wù)邏輯來選擇分配給 API 的資源。如果攻擊者設(shè)法繞過業(yè)務(wù)邏輯限制以造成 API 必須處理的請求超出其設(shè)計目標(biāo)的情況,則應(yīng)用程序?qū)⒑谋M資源并開始出現(xiàn)故障或變得不可用。比如用戶信息接口未做頻次限制導(dǎo)致所有用戶數(shù)據(jù)被盜;文本翻譯接口沒有速率限制導(dǎo)致大量文件上傳耗盡翻譯服務(wù)器資源。
與(損壞的對象級授權(quán))類似,只不過此處主要指功能級的控制,比如修改HTTP方法,從GET改成DELETE便能訪問一些非授權(quán)的API。錯誤配置的授權(quán)機制允許攻擊者未經(jīng)授權(quán)訪問敏感資源并竊取、編輯或創(chuàng)建新用戶帳戶。
一些開發(fā)人員設(shè)計他們的 API 以在將來自應(yīng)用程序的輸入綁定到代碼和內(nèi)部對象時自動分配對象屬性。許多框架提供批量分配功能以幫助加快開發(fā)速度。這種方法對開發(fā)人員來說很方便,但它也允許用戶更改他們不應(yīng)訪問的對象屬性。此外,攻擊者可以嘗試猜測對象屬性或根據(jù)他們的要求用新的屬性替換它們。如果 API 容易受到此類請求的攻擊,攻擊者可以獲取有關(guān)敏感對象的信息、閱讀文檔或修改數(shù)據(jù)對象。
信通院《API數(shù)據(jù)安全研究報告》認(rèn)為API安全是數(shù)據(jù)安全的一部分,它承擔(dān)不同復(fù)雜系統(tǒng)環(huán)境、組織機構(gòu)之間的數(shù)據(jù)交互、傳輸?shù)闹厝。許多API 直接連接到存儲敏感數(shù)據(jù)的后端數(shù)據(jù)庫。因此,API接口安全將很大程度決定了互聯(lián)網(wǎng)數(shù)據(jù)的安全。
針對企業(yè)API安全保護(hù),我們整理分享安全專家們給出的強化建議和解決方案。
企業(yè)要梳理API開放的數(shù)量、API的活躍狀況、僵尸API、影子API等,清理影子API;識別和分類流經(jīng)每個 API 的數(shù)據(jù);從是否授權(quán)訪問、越權(quán)訪問、關(guān)鍵數(shù)據(jù)未脫敏、數(shù)據(jù)偽脫敏、輸入?yún)?shù)可遍歷、返回數(shù)據(jù)過多等方面嚴(yán)格檢測、評估API的安全性。
對于企業(yè)來說,應(yīng)建立可信身份,然后使用分配給這些身份的令牌來控制對服務(wù)和資源的訪問。對數(shù)據(jù)安全的建設(shè),從數(shù)據(jù)訪問的邊界開始,構(gòu)建以API為基礎(chǔ)的流動數(shù)據(jù)的安全防護(hù)體系,如對敏感數(shù)據(jù)進(jìn)行識別和過濾,對敏感數(shù)據(jù)進(jìn)行脫敏等,在人員行為管控上,設(shè)置訪問權(quán)限、身份驗證等等。
確保操作系統(tǒng)、網(wǎng)絡(luò)、驅(qū)動程序和API組件保持最新狀態(tài)。了解如何全面實現(xiàn)協(xié)同工作,分析訪問流量,自動發(fā)現(xiàn)流量中的API接口,對API接口進(jìn)行自動識別、梳理和分組,以及識別將用于入侵您API的弱點,檢測安全問題并跟蹤數(shù)據(jù)泄露。
設(shè)置API調(diào)用頻率限額并跟蹤其使用記錄。若API調(diào)用的數(shù)量增加,很容易被濫用,也可能是編程錯誤,例如在無限循環(huán)中調(diào)用API,指定限流規(guī)則,防止API調(diào)用激增和拒絕服務(wù)攻擊。
良好的網(wǎng)關(guān)既能幫助您驗證流量的使用者身份,也能控制和分析您的API使用情況。企業(yè)應(yīng)從API管控技術(shù)和數(shù)據(jù)保護(hù)手段方面入手,增強數(shù)據(jù)安全治理、保護(hù)、監(jiān)管等多個維度的維護(hù)。
企業(yè)應(yīng)從多個維度來構(gòu)建防御體系,更需要基于風(fēng)險情報來構(gòu)建攻擊檢測模型,做到及早感知及時防御,從而保障企業(yè)及其用戶的數(shù)據(jù)安全。
應(yīng)用數(shù)據(jù)安全監(jiān)測系統(tǒng)采用網(wǎng)絡(luò)流量分析技術(shù),在對現(xiàn)有業(yè)務(wù)系統(tǒng)無侵入的情況下,幫助用戶全面盤點線上業(yè)務(wù)系統(tǒng)接口,及時發(fā)現(xiàn)大規(guī)模數(shù)據(jù)流動風(fēng)險,快速對數(shù)據(jù)泄露事件進(jìn)行溯源分析,宏觀掌控業(yè)務(wù)系統(tǒng)數(shù)據(jù)流動態(tài)勢。
企業(yè)數(shù)據(jù)安全建設(shè)第一步,最基礎(chǔ)的就是知道需要保護(hù)業(yè)務(wù)對象是誰,當(dāng)前是否有風(fēng)險,如何在不影響業(yè)務(wù)的情況下減少風(fēng)險發(fā)生的可能性。
確認(rèn)當(dāng)前需要保護(hù)的對象,識別業(yè)務(wù)系統(tǒng)及敏感數(shù)據(jù)分布情況。
明確業(yè)務(wù)系統(tǒng)中存在的數(shù)據(jù)泄露的弱點。
對業(yè)務(wù)數(shù)據(jù)資產(chǎn)分類分級,明確數(shù)據(jù)暴露情況。
日志留存是數(shù)據(jù)分析、風(fēng)險發(fā)現(xiàn)的基礎(chǔ),也是風(fēng)險真實發(fā)生后進(jìn)行止血的兜底方案,當(dāng)企業(yè)數(shù)據(jù)安全建設(shè)資源不足時,可以優(yōu)先建設(shè)留存日志的方案。
留存賬號行為操作日志。
對賬號行為日志進(jìn)行雙向?qū)徲嫛?
日志構(gòu)建靈活溯源分析能力。
建設(shè)行為風(fēng)險發(fā)現(xiàn)機制,對正式員工、外包、經(jīng)銷商、數(shù)據(jù)提供方等業(yè)務(wù)對象制定行為規(guī)范,并進(jìn)行定期行為審查,防微杜漸。同時對業(yè)務(wù)系統(tǒng)進(jìn)行定期數(shù)據(jù)安全使用評估,防止合法人員對數(shù)據(jù)進(jìn)行濫用。
脫敏規(guī)范落地審查。
賬號行為風(fēng)險多場景審計。
系統(tǒng)數(shù)據(jù)生命周期監(jiān)測。
建設(shè)統(tǒng)一運營分析平臺,將多維度數(shù)據(jù)進(jìn)行匯聚分析,提升安全運營工作質(zhì)量,將企業(yè)安全部門能力匯總,體現(xiàn)安全部門的工作成果。目標(biāo)結(jié)果可衡量,有意義。
建設(shè)多數(shù)據(jù)統(tǒng)一運營平臺。
建設(shè)多區(qū)域數(shù)據(jù)流動態(tài)勢。
數(shù)據(jù)運營平臺與工作流通打通,將安全能力服務(wù)化輸出給業(yè)務(wù)方。
不需要業(yè)務(wù)方改造,支持流量自動還原日志,并對日志雙向敏感內(nèi)容識別,自動關(guān)聯(lián)日志的行為對象,識別對象身份及賬號,保留日志溯源的關(guān)鍵五元素(賬號、時間、操作應(yīng)用、操作數(shù)據(jù)、行為特征)為后續(xù)溯源查找,行為風(fēng)險發(fā)現(xiàn),提供數(shù)據(jù)可行支撐。采用返回內(nèi)容結(jié)構(gòu)化提取技術(shù),對返回內(nèi)容中的關(guān)鍵數(shù)據(jù)(如個人隱私數(shù)據(jù))進(jìn)行記錄,既減少了存儲量,又可以對操作行為進(jìn)行細(xì)粒度審計、刻畫數(shù)據(jù)流動態(tài)勢,同時在數(shù)據(jù)泄露事件溯源中發(fā)揮重要作用。
自主研發(fā)的應(yīng)用系統(tǒng)賬號解析技術(shù),從網(wǎng)絡(luò)流量中還原業(yè)務(wù)系統(tǒng)的操作賬號,對操作行為的記錄將更加精細(xì)化,對用戶的畫像也更加豐富,也為風(fēng)險的識別提供了更多的維度(共用賬號、非常用地使用賬號);赨EBA的設(shè)計思路,對數(shù)據(jù)行為建立基線:包括用戶基線、系統(tǒng)基線、接口基線。并對用戶劃群,IP 劃段,系統(tǒng)分類,使用聚群分析,歷史行為對比分析,提升風(fēng)險報告準(zhǔn)確度,并對已報告出來的風(fēng)險行為自動進(jìn)行場景關(guān)聯(lián)分析,減少用戶運營風(fēng)險投入時間,提高產(chǎn)出效率。
內(nèi)置多種風(fēng)險場景,如:共用賬號、非常用地登陸、使用腳本訪問系統(tǒng)、非工作時間拉取數(shù)據(jù)、大規(guī)模數(shù)據(jù)異常流動等。同時提供豐富的監(jiān)控指標(biāo),企業(yè)可根據(jù)需要進(jìn)行自定義風(fēng)險策略。