這篇文章將為大家詳細講解有關RASP相關的技術(shù)實現(xiàn)和產(chǎn)品介紹是怎樣的,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
創(chuàng)新互聯(lián)長期為成百上千家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為榕江企業(yè)提供專業(yè)的成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設,榕江網(wǎng)站改版等技術(shù)服務。擁有10多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
自從2014年Gartner將RASP列為應用領域的關鍵趨勢后,互聯(lián)網(wǎng)企業(yè)愈來認識到其是在邊界模糊后的一種穩(wěn)健的解決方案。列位讀者首先需要認識到RASP和WAF并不是同一緯度的產(chǎn)品,“安全技術(shù)可以“內(nèi)建”于應用自身或者運行環(huán)境”的特點可以提供:
1. 應用的實時熱補?。簾o需在出現(xiàn)漏洞時修改源代碼,修改代理程序添加防護代碼即可。
2. 從根本上阻斷漏洞:不再考慮規(guī)則的被繞過等,直接在執(zhí)行層面分析敏感函數(shù)是否被調(diào)用,在應用程序內(nèi)部基于調(diào)用棧調(diào)用檢測模型阻斷0DAY。
3. 實現(xiàn)應用的全生命周期監(jiān)控,在可用性、不可抵賴性實現(xiàn)審計和日志收集功能。
4. 靈活集成SIEM工具,發(fā)揮代理的靈活優(yōu)勢。
缺點為會造成性能的消耗增加、應用穩(wěn)定性下降,上層業(yè)務不可知,模式以監(jiān)控記錄居多,阻斷模式很少。
國內(nèi)有百度開源的OpenRASP產(chǎn)品,實現(xiàn)對JAVA容器(未來會推出php版本)的支持??梢詫崿F(xiàn)攻擊檢測、CVE漏洞覆蓋、服務器安全基線檢查、支持SIEM插件。另外一款較早,為javaopenrasp,曾在kcon上發(fā)布過,似乎最近并未更新。商業(yè)產(chǎn)品為藍海訊通發(fā)布的oneasp,官網(wǎng)已經(jīng)打不開。國外有:HP: HP Application Defender、WARATEK: ApplicationSecurity for Java、OWASP: AppSensor 、Shandowd: Shadowd 、Prevoty: Prevoty Runtime Application Security
PHP RASP方案是通過擴展模塊實現(xiàn)對規(guī)則對應的惡意函數(shù)行為、上下文內(nèi)容的判斷和阻斷。而JAVA的技術(shù)方案相對已經(jīng)成熟,包括直接修改jvm(Waratek產(chǎn)品)和使用jvm編程接口(Jvm tool interface)。JDK1.5即提供JVM TI技術(shù),在程序main方法運行前,jvm啟動時添加-javaagent:參數(shù)調(diào)用使用lang.Instrument包編寫agent程序后,以premain方式從而實現(xiàn)對java類的動態(tài)操作。而 jdk1.6agentmain的方式提供對虛擬機啟動后的動態(tài)instrument和nativecode 的instrument。
技術(shù)實現(xiàn)方面,一般是使用premain方式接入程序,通過實現(xiàn)transform接口的ClassTransformer方法
測試用例如下:
可以看到rasp的鮮明技術(shù)特點有:
1. 可以通過inst獲取 VM 的各項信息;
2. agent和main 程序使用同一個 classloader,如果程序自定義加載器則需要進行適配;
3. 類的ProtectionDomain相同,并不能增減實現(xiàn)權(quán)限提升。
4. 通過操 作類的字節(jié)碼返回JVM 執(zhí)行,具體可以使用 asm或者 Javassist技術(shù)實現(xiàn)。
接下來就是實現(xiàn)具體的adapter和filter,實現(xiàn)業(yè)務層面操作和功能,不再贅述。已知防護層面較為簡單的實現(xiàn)是有:
SQL注入、CSRF、XSS、SSRF、任意文件讀取下載、任意文件刪除、可執(zhí)行文件上傳、命令執(zhí)行(OS 注入、Struts2命令執(zhí)行,反序列化)。
代碼編制完成后,在mf文件配置premain-class為agent類名,通過設置-javaagent即可實施代理監(jiān)控。
總的來說從工程化、系統(tǒng)化能力方面。目前針對中間件rasp實現(xiàn)還是言過其實,技術(shù)并不復雜,規(guī)則還是開發(fā)的核心,當前階段并不能做到“自適應”的預測、預防、監(jiān)測、響應,但這正是它后期將要蓬勃發(fā)展的著力點。
關于RASP相關的技術(shù)實現(xiàn)和產(chǎn)品介紹是怎樣的就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。