wordpress添加主題設(shè)置選項/搜索引擎優(yōu)化是指
摘? 要
根據(jù)當前API技術(shù)發(fā)展的趨勢,從實際應(yīng)用中發(fā)生的安全事件出發(fā),分析并討論相關(guān)API安全運營問題。從風(fēng)險角度闡述了API接口安全存在的問題,探討了API檢測技術(shù)在安全運營中起到的作用,同時針對API安全運營實踐,提出了幾個方面的設(shè)想以及能夠帶來的運營價值。
?0 1? ?
?背 景
近年來數(shù)據(jù)的價值逐漸凸顯,數(shù)據(jù)應(yīng)用場景不斷拓展,數(shù)據(jù)交易持續(xù)增加。參與交易流通的數(shù)據(jù)類型從金融數(shù)據(jù)逐步擴展到醫(yī)療、交通、工業(yè)等多種類型的數(shù)據(jù),數(shù)據(jù)需求方涉及公共服務(wù)、影視娛樂、交通、醫(yī)療、金融、廣告營銷等眾多領(lǐng)域。然而,隨著數(shù)據(jù)的集中匯聚及開放,數(shù)據(jù)共享面臨著新的安全風(fēng)險。相比傳統(tǒng)的數(shù)據(jù)庫層數(shù)據(jù)共享技術(shù),當前大量數(shù)據(jù)通過各類API傳輸,傳統(tǒng)的網(wǎng)絡(luò)安全防護體系已經(jīng)難以滿足當前的數(shù)據(jù)安全保護需求,而針對API的安全防護和運營也引起了人們的高度關(guān)注。
?0 2? ?
API及其安全風(fēng)險
2.1 API概述
在應(yīng)用編程實踐中,由于系統(tǒng)的復(fù)雜性,在設(shè)計階段就將其劃為較小的部分,不同部分之間的規(guī)范約定就是應(yīng)用程序接口(Application Programming Interface,API)(官方api接口接入方式)。良好的接口設(shè)計可以降低系統(tǒng)各部分的相互依賴,提高組成單元的內(nèi)聚性,降低組成單元間的耦合程度,從而提高系統(tǒng)的維護性和擴展。一方通過API發(fā)送遠程請求,無需了解對方內(nèi)部系統(tǒng)的邏輯,即可訪問對方開放的資源,實現(xiàn)數(shù)據(jù)和服務(wù)的互動。目前,API已成為數(shù)據(jù)傳輸共享的重要手段。
2.2 API面臨的挑戰(zhàn)
2.2.1 API安全事件頻發(fā)
API的數(shù)量急劇增長,與之相關(guān)的安全風(fēng)險也在同步增加。近年來基于API安全所引發(fā)的事件屢屢發(fā)生:2018年Facebook公布了通過數(shù)據(jù)共享API被大規(guī)模網(wǎng)絡(luò)攻擊事件的細節(jié),此次事件造成了3 000萬用戶的賬號信息被泄漏;2020年淘寶報警稱有黑產(chǎn)通過mtop訂單評價API繞過平臺風(fēng)控批量爬取加密數(shù)據(jù),共計11.8億條。由此可見,API已經(jīng)成為影響企業(yè)數(shù)據(jù)安全的重要風(fēng)險來源。
2.2.2 API安全風(fēng)險挑戰(zhàn)
從API自身特點來看,除了常見的傳統(tǒng)Web攻擊威脅外,API還面臨著越權(quán)訪問、數(shù)據(jù)暴露、憑證失陷等威脅。同時,這些威脅檢測涉及到了API接口發(fā)現(xiàn)、參數(shù)檢測、行為識別、訪問控制等多個環(huán)節(jié),任何環(huán)節(jié)的缺失或不足都會影響到整體防護效果。所以,保護API安全的難點有以下幾點。
a)場景復(fù)雜,無法通用。API應(yīng)用業(yè)務(wù)場景十分豐富。在不同的業(yè)務(wù)場景下,一些風(fēng)險特征或模型很難通用;同時,企業(yè)內(nèi)部混合著十幾年前的應(yīng)用系統(tǒng)和新上線的系統(tǒng),系統(tǒng)的實現(xiàn)可能不一致,API存在多樣化的復(fù)雜性。
b)缺乏指導(dǎo),難分主次。API安全防護雖然一直在發(fā)展,但目前還是處于探索階段,業(yè)界對如何解決API安全問題,還沒有形成一個普遍認可的最佳實踐,所以在落地API運營建設(shè)的時候容易缺乏指導(dǎo),難分主次。
c)能力分散,無法閉環(huán)。即使在一些安全建設(shè)比較領(lǐng)先的行業(yè),也大多存在能力分散、產(chǎn)品孤島的問題,產(chǎn)品能力、工作流程之間沒有很好地打通,同時缺少對漏洞和風(fēng)險的生命周期管理,沒有形成閉環(huán),實際運營的效率比較低。
2.3 安全風(fēng)險分析
原生API大多從易用性、便利性等角度進行設(shè)計,往往缺乏對自身威脅的防護。而在API的設(shè)計實現(xiàn)中,也存在多種原因造成API之間的安全問題。同時,敏感數(shù)據(jù)被封裝在業(yè)務(wù)場景中,通過API進行交換,如果沒有采用安全標記、多級授權(quán)、訪問控制、安全審計等安全機制構(gòu)建安全的交換空間,也難以確保數(shù)據(jù)的安全。
針對API的可利用性弱點、普遍性弱點、可檢測性、技術(shù)影響、業(yè)務(wù)影響等方面,本文著重介紹其中影響較大的幾個問題。
2.3.1 對象級授權(quán)失效
通常API采用令牌方式對用戶請求進行鑒權(quán),服務(wù)器會在用戶登錄之后生成一組不重復(fù)的字符作為令牌,在調(diào)用API時需要攜帶令牌由服務(wù)器進行校驗。這種機制的失效通常會導(dǎo)致未經(jīng)授權(quán)的信息泄露、篡改或破壞。對象級授權(quán)失效如圖1所示。
?圖1 對象級授權(quán)失效
2.3.2 用戶身份驗證失效
如果身份認證機制出現(xiàn)問題,將使攻擊者得以暫時甚至永久冒充其他用戶身份,導(dǎo)致API的整體安全性降低。用戶身份驗證失效如圖2所示。
圖2 用戶身份驗證失效
2.3.3 對象屬性級授權(quán)失效
當允許用戶通過API接口訪問數(shù)據(jù)時,需要驗證用戶是否具備訪問對象的特定屬性訪問權(quán)限,如果API接口上存在用戶不應(yīng)該讀取或訪問的屬性,即使是不敏感的數(shù)據(jù),被大量收集后,也會暴露個人隱私,造成數(shù)據(jù)的泄露。對象屬性級授權(quán)失效如圖3所示。
??0 3? ?
API安全運營研究
3.1 API安全運營思路
API由于數(shù)量大、更新快且關(guān)聯(lián)敏感數(shù)據(jù)和賬號的變更,對其進行盤點和統(tǒng)計是后續(xù)安全防護的基礎(chǔ)。但大部分企業(yè)并沒有把API資產(chǎn)納入到資產(chǎn)盤點的范疇,未做好全面的資產(chǎn)梳理工作,會導(dǎo)致混亂、復(fù)雜的API資產(chǎn)臺賬。如應(yīng)用API域名、IP、端口、路徑的復(fù)用或拆分使用,呈現(xiàn)千“業(yè)務(wù)”千“API”的局面。
很多無用API沒有及時下線,形成了僵尸API,可能導(dǎo)致嚴重的安全風(fēng)險。傳統(tǒng)上安全部門對API的盤點是依賴于業(yè)務(wù)部門的上報,但由于統(tǒng)計不全或更新不及時等種種原因,API資產(chǎn)很難通過有限人力以靜態(tài)的方法來完成持續(xù)有效的梳理。并且由于安全技術(shù)人員對業(yè)務(wù)鮮有了解,難以準確理解API的各類業(yè)務(wù)屬性,無法建立起資產(chǎn)、告警、業(yè)務(wù)、業(yè)務(wù)人員的逐一對應(yīng)視圖,因此必須借助API檢測技術(shù)對API臺賬進行梳理。
API檢測是一種軟件測試實踐,通常采用主動掃描的方式,直接測試API的功能表現(xiàn)、可靠性、性能表現(xiàn)和安全性。API測試可以通過工具模擬請求的發(fā)送與接收,如Postman、JMeter等;或者代碼模擬請求的發(fā)送與接收,如JAVA自帶的Web、HttpClient等。除此之外,還有以流量監(jiān)測為基礎(chǔ)的API流量分析技術(shù),可實現(xiàn)對API數(shù)據(jù)暴露面的治理和對數(shù)據(jù)攻擊行為持續(xù)發(fā)現(xiàn)。
API的指數(shù)級應(yīng)用使得API安全的條件變得異常嚴苛,也將企業(yè)推入了一個“高壓”的局面,企業(yè)應(yīng)該圍繞閉環(huán)性、可持續(xù)性的API建設(shè)思路進行安全體系的設(shè)計和實施,基于均衡取舍研究的結(jié)果來定義系統(tǒng)安全設(shè)計元素,并且向系統(tǒng)安全設(shè)計元素分配安全機制,確定所期望的安全機制和實際有效的安全機制前端是否一致或相當,檢驗并最終確定設(shè)計元素和系統(tǒng)接口,制定安全規(guī)范等。
可以從以下幾個方面開展API安全運營實踐(見圖4)。
?圖4 API安全運營重點方向
a)全量API資產(chǎn)洞察。主動發(fā)現(xiàn)網(wǎng)站、小程序、APP等全量API資產(chǎn),提供API類型、級別、形態(tài)、生命周期等全方位的API資產(chǎn)描述。從應(yīng)用系統(tǒng)、數(shù)據(jù)標簽組合、敏感等級、訪問域、最近活躍時間、訪問量等多種維度進行分析、篩選,形成重點API清單。
b)API暴露面管理。通過API數(shù)據(jù)暴露面管理、重點API清單篩選,輔助實現(xiàn)攻擊面管理(ASM),完成泄露資產(chǎn)的發(fā)現(xiàn)及脆弱性檢測。對接入侵&攻擊模擬能力(BAS),評估企業(yè)安全技術(shù)措施的有效性,同時幫助滲透測試人員去更好更深度地滲透,持續(xù)加固API數(shù)據(jù)暴露面的管理。
c)API弱點全面評估。識別評估API脆弱性,包括接口權(quán)限類、數(shù)據(jù)暴露類、安全規(guī)范類、口令認證類、高危接口類等問題,能夠覆蓋OWASP API Top 10相關(guān)問題點,并滿足主管部門及監(jiān)管機構(gòu)的合規(guī)要求。
d)API弱點確認與修復(fù)。對接企業(yè)的安全SOC平臺,推動API的弱點修復(fù)流程;同時集成到企業(yè)現(xiàn)有的ITSM/SIEM工作流中,形成弱點/漏洞工單處理流程;也可以基于弱點的危害性和風(fēng)險影響面,直接通過郵件、釘釘?shù)菼M軟件推送給負責(zé)的業(yè)務(wù)部門去整改修復(fù)。在API弱點修復(fù)后,通過流量分析持續(xù)驗證弱點是否完成修復(fù),從而形成閉環(huán)。
e)API訪問行為風(fēng)險發(fā)現(xiàn)。由于在不同的業(yè)務(wù)場景下,一些風(fēng)險特征或模型很難通用,因此在風(fēng)險規(guī)則的基礎(chǔ)上提出了新的解決思路:以接口為中心,針對業(yè)務(wù)安全場景,識別并刻畫業(yè)務(wù)接口關(guān)鍵參數(shù)關(guān)系畫像,從而能夠以此畫像為基線,發(fā)現(xiàn)接口的訪問行為風(fēng)險。能夠識別的API新型攻擊風(fēng)險類型包括異常API請求/響應(yīng)、異常訪問行為模式、異常接口訪問軌跡、異常數(shù)據(jù)調(diào)用行為等。
f)API風(fēng)險研判與處置閉環(huán)。通過集成或?qū)油{情報,實現(xiàn)可疑行為的進一步驗證,通過旁路阻斷、聯(lián)動防護設(shè)備等方式完成驗證后的風(fēng)險處置。
g)事件溯源分析補漏。針對API的異常風(fēng)險事件,通過下發(fā)溯源任務(wù),主動進行關(guān)聯(lián)事件的相關(guān)性檢索分析,對數(shù)據(jù)行為進行精準審計并將結(jié)果匯總,便于及時補漏安全缺口。
h)異常行為持續(xù)分析。通過HTTP全流量日志存儲檢索與分析,對敏感API、人員賬號、IP行為等要素進行組合檢索,持續(xù)監(jiān)測異常行為,將API安全運營做到更高的高度。
i)集中管理統(tǒng)一運營。通過威脅情報管理、暴露面治理、風(fēng)險聚集性挖掘、異常行為審計分析等API運營手段,匯聚分析API風(fēng)險并進行集中管理,打破孤島效應(yīng),提升運營效率。
從企業(yè)視角來看,忽略API資產(chǎn)加劇了整個API風(fēng)控運營體系的實施。建議企業(yè)結(jié)合自身的業(yè)務(wù)狀況,打造API運營中心,以主動發(fā)現(xiàn)API資產(chǎn)、完成API接口資產(chǎn)清單為安全基建,逐步打造API弱點評估、風(fēng)險監(jiān)測、威脅攔截、異常行為審計、集中管理等能力,最終實現(xiàn)API安全運營閉環(huán)的落地。API風(fēng)險運營流程如圖5所示。
圖5 API風(fēng)險運營流程
3.2 API安全運營價值
3.2.1 數(shù)據(jù)流動態(tài)勢識別
可識別自定義的流入、流出應(yīng)用系統(tǒng)的敏感數(shù)據(jù)(包括Web頁面內(nèi)和傳輸文件內(nèi)的敏感數(shù)據(jù))的種類和數(shù)量,記錄存儲訪問系統(tǒng)傳輸敏感數(shù)據(jù)的詳細信息,包括用戶IP、姓名、部門、訪問對象、訪問時間以及訪問內(nèi)容等詳情,構(gòu)建應(yīng)用系統(tǒng)的敏感數(shù)據(jù)流動地圖,提供記錄的多維度查詢功能,可以快速、全面地知曉什么人在什么時間通過什么方式獲取了什么敏感數(shù)據(jù)。
3.2.2 應(yīng)用系統(tǒng)接口管理
針對每個業(yè)務(wù)系統(tǒng),梳理其接口數(shù)量和情況,形成應(yīng)用接口清單。從是否傳輸敏感數(shù)據(jù)、接口的活躍程度、上傳/下載等方面將接口進行分類分級,檢測接口存在的無鑒權(quán)訪問、后門接口等暴露面,并進行分類匯總展示,實現(xiàn)暴露面可還原,幫助安全人員摸清接口的脆弱性,推動系統(tǒng)側(cè)進行應(yīng)用系統(tǒng)設(shè)計和運維方面的問題整改。
3.2.3 敏感數(shù)據(jù)風(fēng)險預(yù)警
建立各類敏感數(shù)據(jù)風(fēng)險監(jiān)控指標,構(gòu)建分析模型,對數(shù)據(jù)行為建立用戶基線、接口基線、系統(tǒng)基線等,實時監(jiān)控多個維度的運行狀態(tài),實時發(fā)現(xiàn)非正常時間訪問、大量數(shù)據(jù)異常下載、敏感數(shù)據(jù)未脫敏、偽脫敏等各類異常行為,并及時告警,防止大規(guī)模的敏感數(shù)據(jù)泄露、竊取、濫用等風(fēng)險。
3.2.4 數(shù)據(jù)泄露事件溯源
實現(xiàn)敏感數(shù)據(jù)流動地圖的可視化展示,能夠清晰地展示應(yīng)用系統(tǒng)、接口等清單報表和運行安全性,自定義敏感數(shù)據(jù)標簽和風(fēng)險指標,詳細記錄日志并針對脆弱性、風(fēng)險事件進行分類統(tǒng)計、分析和展示。在完整記錄敏感數(shù)據(jù)流動、訪問操作的基礎(chǔ)上,做好數(shù)據(jù)內(nèi)容、賬號、接口等多維度的溯源,還原風(fēng)險路徑、評估影響面。
? ?0 4? ?
API安全運營總結(jié)
從長遠來看,可以通過將本文的解決方案與用戶現(xiàn)有的工作流程無縫集成以及與用戶現(xiàn)有的平臺/技術(shù)緊密融合,從而建立一個有效的閉環(huán)驗證機制。同時,還可以利用API接口上下文畫像,建立正常行為的基線,并檢測異常和離群的風(fēng)險,實現(xiàn)風(fēng)險規(guī)則的自動調(diào)整,加強風(fēng)險自動化運營能力。考慮到企業(yè)內(nèi)部職責(zé)邊界的情況,設(shè)計清晰的用戶使用路徑,使參數(shù)配置可視化并實現(xiàn)精細化運營。這些舉措將提升API風(fēng)險管控機制的建設(shè)與運營實踐水平,真正實現(xiàn)API安全運營落地,為企業(yè)發(fā)展帶來持續(xù)的收益和效益。