京東雲RASP雲原生安全免疫創新實踐

語言: CN / TW / HK

作者:京東雲 劉一鑫

1 背景

隨着網絡攻擊事件整體呈上升趨勢,應用作為網絡入口承載着大量業務和流量,因此成為了安全的重災區。黑客往往藉助自動化的工具以及安全漏洞,對Web進行漏洞掃描和探測,進而利用漏洞攻擊,達到竊取Web應用的敏感數據或者入侵服務器的目的,這大大加劇了應用面臨的安全風險。以前一段時間出現的log4j2漏洞為例、這是近十年來最嚴重的漏洞,由於使用廣泛和漏洞利用簡單,影響70%以上的企業線上業務系統,官方發佈漏洞修復補丁後依舊被多次繞過,幾乎所有互聯網公司都在通宵加急處理漏洞、修復更新,避免造成黑客攻擊事件。除此之外,還有像fastjson、Xstream等相關漏洞,此類漏洞還是會長期與應用共存。

2 傳統應用安全防護方案

2.1 WAF

傳統應用安全的解決方案,大部分安全從業者都會想到WAF(Web Application Firewall, 應用程序防火牆),WAF是一種專門用於分析HTTP/HTTPS流量的專用防火牆,可以深入到每一次HTTP/HTTPS請求和詳情中去檢查是否包含敏感字段,然後放行正常行為,攔截惡意行為,就像自來水過濾器一樣,把“雜質”從龐大的流量中剔除出去,這樣應用程序就只會響應正常的請求,從而達到保護應用程序的目的。



但隨着黑客攻擊應用程序的威脅不斷演變,基於規則對流量進行檢測的分析手段容易被繞過,並且需要根據不斷演變的漏洞進行規則的持續更新。

2.2 黑白盒掃描

應用安全解決方案除了WAF以外,還可以通過黑盒和白盒掃描的方式。

SAST或稱為“白盒測試”已經存在了十多年。它使開發人員可以在軟件開發生命週期的早期,在應用程序源代碼中找到安全漏洞。

DAST或稱為“黑盒測試”可以發現正在運行的應用程序中的安全漏洞和弱點。它通過在應用程序上採用注入技術來識別常見的安全漏洞(例如SQL注入和跨站點腳本)來做到這一點。

但他們都無法解決已經在運行中的應用安全問題,只能通過事前的掃描發現安全漏洞,並且也需要根據不斷演變的漏洞進行規則的持續更新。

3 京東雲RASP應用運行時自我保護技術實踐

21年12月Apache Log4j 開源組件被曝出嚴重漏洞,被認為是“21年最重要的安全威脅之一”,22年4月Spring 開源應用開發框架也被爆出了一個嚴重高危漏洞。

針對0day漏洞攻擊頻發,安全形勢日益嚴峻的現狀,京東雲自主創新雲原生安全RASP應用運行時自我保護技術(英文全稱:Runtime Application self-protection運行時應用時自我保護(簡稱RASP)),通過注入安全疫苗的方式將防護引擎嵌入到應用內部,與應用程序融為一體,使應用程序具備自我防護能力,對0day漏洞、內存馬等攻擊實現免疫防護。

3.1 工作原理



相比於傳統的邊界安全產品,RASP不過度依賴檢測規則持續更新。從原理上來看,RASP是從應用內部對關鍵函數操作的數據進行分析,即使原始請求經過加密和混淆,但是它在應用內傳播到最終的底層函數時將會以明文方式被RASP截獲,並根據應用當前上下文精準識別攻擊事件,給予實時阻斷,因此相比WAF能減少大量的誤報和漏報問題。基於此特性,RASP還能為安全人員和開發人員提供更為詳盡的攻擊鏈路,包括攻擊原始 Payload、代碼調用堆棧等信息,方便他們進行漏洞定位、復現以及修復。

對於一些經常爆發漏洞的開源軟件和第三方組件而言,漏洞存在位置和利用方法可能不同,但是在進行利用時,執行到應用代碼底層,往往都會聚集到一些“敏感”函數上,如反序列化、數據庫執行、命令執行、文件操作、響應返回等相關函數。如果通過RASP技術對這些底層“敏感”函數調用做一定識別阻斷,即可免疫大部分0day攻擊。因此,從此類實踐應用出發,RASP天然可作為漏洞熱修復和免疫0day漏洞的應用安全疫苗。

3.2 0day漏洞防護示例

接下來,我們通過 fastjson 反序列化漏洞的攻擊場景來演示 RASP應用安全的實際防護效果,fastjson 的反序列化過程主要如下:



當執行上述代碼時,在反序列時如果存在惡意的方法則會觸發命令執行。但在部署了RASP的應用中,發生上述反序列漏洞時,RASP應用安全會識別到序列化漏洞產生的命令執行行為,從而直接阻斷該反序列化動作併發送告警通知,在攻擊詳情還可以進一步分析攻擊源以及漏洞代碼位置。

fastjson 反序列化漏洞的利用核心,還是在於尋找可以造成代碼執行的類,實際上在 java 龐大的 jdk 類庫以及第三方類庫中存在着大量的可利用類,傳統流量產品如 WAF,往往需要在防禦時去窮舉這些可能被利用的類,可能經常會出現遺漏,而基於 RASP 的上下文分析能力與基於行為的攻擊發現方式,將會捕獲掉所有由 fastjson 造成的代碼執行、惡意文件上傳、敏感文件讀寫等行為,而無需去針對特定代碼實現做精準匹配,所以不會存在被繞過的可能性。

3.3 京東雲RASP雲原生安全免疫平台架構設計

目前京東雲 RASP雲原生安全免疫平台具體架構設計如下:



京東雲 RASP架構主要包括探針、客户端、雲端服務三個模塊。

探針模塊,主要通過將類轉換器添加到Instrumentation,在類加載前後,對字節碼進行操作,注入RASP的安全探針。在運行了RASP安全探針的 Java 程序中,字節碼的加載會經過自定義的類轉換器,過濾出存在攻擊風險的關鍵類,再將檢測的邏輯插入到字節碼文件中,統一進入JVM中執行,相當於在應用進程中加入 hook 點,當程序運行流程到了 hook 點時,實時採集Web 應用的高風險行為,並通過引擎實時對高風險行為阻斷並上報日誌。

客户端模塊,主要用於對探針模塊進行管理,雲端服務下發的指令都會通過客户端對探針進行管控,包括模型管理、升級管理、異常監控等。

雲端服務模塊包括三部分:一是日誌處理服務,通過流式分析引擎對上報的日誌進行處理二次分析,二是運營管控服務,通過運營管控服務對RASP客户端進行管理,三是數據可視化展示平台,將整體安全態勢,事件發現,資產、API等數據可視化展示出來。

3.4 RASP攻防對抗應用場景

 

從攻防角度看,應用層面積極防禦的建立可促進縱深防禦體系更加深入,推進業務應用實質性安全落地,京東雲RASP主要存在以下應用場景:

1)應用資產管理:藉助插樁節點推廣覆蓋,可梳理微服務應用IP、URL地址、API接口、第三方組件等,並繪製資產關聯圖譜;

2)運行時入侵檢測:基於應用污點分析和上下文分析技術,實時檢測應用遠程命令執行,惡意反序列化,敏感信息,錯誤的內容類型,OGNL注入,未授權網絡活動,未捕獲的異常,未驗證的請求,惡意文件操作,DNSLOG探測,惡意動態庫加載,內存馬,XXE注入等,並實時預警高危組件風險,定位具體應用;

3)攻擊威脅疫苗:免疫通用Web應用漏洞及第三方組件安全漏洞,防禦0day漏洞,並對EDR難以防禦的反序列化、代碼執行等攻擊進行更加有效的阻斷;

4)應用安全基線:符合性應用層基線配置檢測,覆蓋中間件、單應用、微服務等;

5)敏感數據審查:基於可獲取應用內部數據輸入、操作、內容的先天技術優勢,可針對業務側關注的個人信息、業務數據等敏感信息進行合規審查,敏感數據未授權訪問檢測等,必要時進行輸出阻斷和過濾;

6)應用熱補丁:對已上線的重要應用系統,當出現重大漏洞短時間難以修復時,可以動態下發熱補丁進行修復,在不中斷業務的同時為應用系統提供臨時防護,為漏洞修復爭取寶貴的時間;

7)東西向流量分析:以微服務架構作為基礎,除了對應用間流量和東西向流量描繪,更能深入呈現應用程序內部具體執行操作,為安全運營提供從網絡層到應用內部真實執行過程數據,分析攻擊鏈路。

4 京東雲RASP雲原生安全免疫平台最佳實踐案例

4.1 RASP安全運營定位



在日常京東雲RASP安全運營中,如何保證業務更穩定,運營更高效,應急更及時,是我們一直思考的問題。比如要如何做到攻擊告警可運營,包括攔截日誌,事件日誌,分級分類區別哪些需要關注,哪些必須後續處理,自動發單,漏洞修復等,做到運營閉環,事件閉環。在部署時,做到一鍵部署,為保證業務穩定,按半分比進行灰度部署,並且可回滾,通過配置策略告警,策略優化,監控應用各項性能指標,快速響應故障報警等。

4.2 大促防護

京東雲RASP已經歷了多次雙十一、618大促防護。在大促的業務高併發挑戰下,RASP基於自研運行時代碼植入框架、隔離保障機制、兼容性管理,對業務性能幾乎無影響,且無誤攔截事件產生,通過了攔截能力和性能壓力的雙重考驗。

4.3 國家級攻防演習對抗效果

 

在國家級攻防對抗實戰中,京東雲RASP也發揮了巨大作用。攻擊方主要把精力都放到尋找入侵點上,各種0day、Nday漏洞,經常會被用來尋找突破點。而作為防守方,京東的攻擊暴露面非常廣,防守困難,雖然有WAF、IPS、防火牆、零信任等多款安全產品的縱深防禦體系,但黑客突破邊界後,仍無有效工具能夠自動攔截黑客的入侵行為。當有0day或重大漏洞爆發時,相關廠商可能沒有快速解決方案,且有方案的話也需要安全人員進行大規模緊急修復,效率低、容易遺漏資產、業務體驗很差。但部署了RASP的應用可在攻防對抗中及時進行策略調整,快速有效地抵禦fastjson、shiro、反序列化、log4j等0day、Nday漏洞攻擊。

5 總結

RASP產品本身優點明顯,通過無感知的注入應用進程,可以更瞭解應用程序的上下文,減少大量的誤報和漏報問題,不依賴規則的更新,可對0day漏洞免疫。在縱深防禦體系中,RASP是現階段保障應用安全強有力的存在。但安全方面沒有所謂一攬子工程,不存在一款產品能解決所有問題,攻擊技術的發展演進會推動防護能力的創新。京東雲RASP也會在持續升級的攻防中不斷迭代優化,提高應用本身的“免疫力”。