什么產(chǎn)品可以定義為 RASP?
RASP 英文為 Runtime application self-protection,它是一種新型應(yīng)用安全保護(hù)技術(shù),它將保護(hù)程序想疫苗一樣注入到應(yīng)用程序和應(yīng)用程序融為一體,能實(shí)時檢測和阻斷安全攻擊,使應(yīng)用程序具備自我保護(hù)能力,當(dāng)應(yīng)用程序遇到特定漏洞和攻擊時不需要人工干預(yù)就可以進(jìn)行自動重新配置應(yīng)對新的攻擊。
這意味著,RASP 運(yùn)行在程序執(zhí)行期間,使程序能夠自我監(jiān)控和識別有害的輸入和行為。
其實(shí),RASP 不同于傳統(tǒng)的安全技術(shù)僅在網(wǎng)絡(luò)周邊或者終端設(shè)備上進(jìn)行保護(hù),它能夠讓應(yīng)用程序具備自我保護(hù)能力。而實(shí)時是 RASP 非常重要的特點(diǎn),因?yàn)閾碛袘?yīng)用程序的上下文,它不僅可以分析應(yīng)用程序的行為也可以結(jié)合上下文對行為進(jìn)行分析,而且這些能持續(xù)不斷的進(jìn)行分析,一旦發(fā)現(xiàn)有攻擊行為能立刻進(jìn)行響應(yīng)和處理。
RASP工作原理探秘
首先,RASP 是以什么形態(tài)存在?通常來說 RASP 將安全保護(hù)代碼嵌入到運(yùn)行中的服務(wù)器應(yīng)用程序,它會實(shí)時攔截所有的系統(tǒng)調(diào)用并確保調(diào)用安全,最終實(shí)現(xiàn)應(yīng)用程序自我保護(hù)。

RASP 可以應(yīng)用在 Web 應(yīng)用程序和非 Web 應(yīng)用程序,對應(yīng)用程序的代碼設(shè)計沒有任何影響,不需要修改任何代碼,只需要簡單的配置就可以將安全保護(hù)功能在服務(wù)器程序在運(yùn)行時注入。
當(dāng)前,RASP 只在 Java 虛擬機(jī)和 .NET 通用運(yùn)行環(huán)境得到實(shí)現(xiàn),其他語言的 RASP 實(shí)現(xiàn)目前還沒有,筆者估計在2015年必然會有 PHP 實(shí)現(xiàn)上市,其他語言還需要技術(shù)更成熟。
RASP什么時候進(jìn)行保護(hù)?
一旦 RASP 探測到每個用戶訪問違反預(yù)設(shè)定的安全條件,RASP 就會接管系統(tǒng)并執(zhí)行必要合理的保護(hù)行為。一個例子就是當(dāng)用戶執(zhí)行訪問數(shù)據(jù)庫的 SQL 命令,如果 RASP 認(rèn)為這個是一個 SQL 注入攻擊就可以執(zhí)行 SQL 注入保護(hù)行為。
RASP 有檢測和保護(hù)兩種模式,檢測模式在檢測到安全攻擊時只是記錄下來并發(fā)送警告給用戶,保護(hù)模式不僅能夠檢測同時能夠?qū)崟r攔截潛在的安全攻擊。
RASP 的保護(hù)行為可以一下幾種方式:
終止用戶會話
停止用戶程序(不影響服務(wù)器上其他程序):這是針對非常嚴(yán)重的攻擊,比如DDOS。
發(fā)送警報給專門的安全人員
發(fā)送警告給用戶
防火墻 vs. RASP
RASP 和防火墻一樣都能檢測流量和內(nèi)容,也能夠終止用戶會話。 然而防火墻不擁有應(yīng)用上下文,不能在應(yīng)用層檢測用戶流量,必然安全威脅攔截的準(zhǔn)確性肯定沒有 RASP 高,誤報率也會大大提高。而且在現(xiàn)在移動互聯(lián)網(wǎng)和云計算盛行的今天,網(wǎng)絡(luò)邊界已經(jīng)越來越不清晰了,這樣也使防火墻的安全防護(hù)效果也越來越差。
Gartner 的 Joseph Feinman 非常精確的把防火墻比喻為簇?fù)碓诖笕宋镏車谋gS,大人物去哪里都帶著保鏢,看起來防御力爆棚,但是大人物本人肌肉不發(fā)達(dá)也沒有武功,一旦保鏢被突破或者保鏢被調(diào)虎離山,那么這個大人物就沒有任何保護(hù)了,就非常危險了。RASP 可以讓沒有武功的人在很短的時間并且付出的代價不高的情況下?lián)碛泻芨叩淖晕冶Wo(hù)能力(聽起來有點(diǎn)像神話)。
RASP 的優(yōu)點(diǎn)
RASP 能夠看到系統(tǒng)里所有用戶行為的細(xì)節(jié),這樣對于提高安全攻擊識別的準(zhǔn)確性有非常大的幫助。 比如RASP能非常清楚的理解用戶的邏輯,配置以及數(shù)據(jù)和事件流,這就給非常精確的探測和攔截安全攻擊行為提供了堅石的基礎(chǔ)。
另外 RASP 能夠自我保護(hù)數(shù)據(jù),能夠保護(hù)數(shù)據(jù)從創(chuàng)建到消亡的全過程。
RASP 和應(yīng)用程序運(yùn)行在一起,擁有用戶的數(shù)據(jù),RASP 在安全保護(hù)上想象的空間非常的大,RASP 可以滿足很多企業(yè)級的數(shù)據(jù)保護(hù)需求, 比如數(shù)據(jù)透明加解密,一些只在系統(tǒng)內(nèi)使用保密數(shù)據(jù)就可以使用加密,即使黑客將數(shù)據(jù)偷竊出去,也無法破解和解密,這樣更不存在其他的問題了。
RASP 不足之處
沒有任何安全解決方案是完美的,每個方案都有優(yōu)點(diǎn)也有缺點(diǎn),RASP 也一樣,雖然它很多獨(dú)特的優(yōu)勢,但也存在一些不可忽視的不足,需要安全研發(fā)人員不斷的改善。
首先 RASP 是針對應(yīng)用程序的,每個應(yīng)用程序都必須有獨(dú)立的探針,不能像防火墻一樣只在入口放置一個設(shè)備就可以了。這樣增加了部署困難和防范不完整的風(fēng)險。
另外一個比較的不足就是對系統(tǒng)性能的影響,RASP 實(shí)時攔截,深入檢測用戶數(shù)據(jù)流,這是對精確度和誤判率都有很大的幫助,但是對用戶性能有一些影響,這些性能消耗也必然影響到用戶的體驗(yàn),這也是影響企業(yè)客戶部署 RASP 的很大一方面原因?,F(xiàn)在 RASP 的提供商在優(yōu)化方面做了很大努力,大部分 RASP 對性能影響在5%左右。
最后使用 RASP 并不是真正建立一個安全的應(yīng)用,系統(tǒng)中存在的漏洞還是存在,應(yīng)用了 RASP 后臨時提供一個虛擬補(bǔ)丁修補(bǔ)上已知漏洞,當(dāng)不用 RASP 后這些漏洞還是存在。另外 RASP 也不能修復(fù)所有的漏洞,漏洞時刻在更新。企業(yè)應(yīng)該將 RASP 和掃描工具結(jié)合起來將更有價值。RASP 軟件提供商也應(yīng)該提供實(shí)時漏洞更新功能,實(shí)現(xiàn)真正零日攻擊防御。