天天看點

什麼是實時應用程式自我保護(RASP)?

什麼産品可以定義為 RASP?

RASP 英文為 Runtime application self-protection,它是一種新型應用安全保護技術,它将保護程式想疫苗一樣注入到應用程式和應用程式融為一體,能實時檢測和阻斷安全攻擊,使應用程式具備自我保護能力,當應用程式遇到特定漏洞和攻擊時不需要人工幹預就可以進行自動重新配置應對新的攻擊。

這意味着,RASP 運作在程式執行期間,使程式能夠自我監控和識别有害的輸入和行為。

其實,RASP 不同于傳統的安全技術僅在網絡周邊或者終端裝置上進行保護,它能夠讓應用程式具備自我保護能力。而實時是 RASP 非常重要的特點,因為擁有應用程式的上下文,它不僅可以分析應用程式的行為也可以結合上下文對行為進行分析,而且這些能持續不斷的進行分析,一旦發現有攻擊行為能立刻進行響應和處理。

RASP工作原理探秘

首先,RASP 是以什麼形态存在?通常來說 RASP 将安全保護代碼嵌入到運作中的伺服器應用程式,它會實時攔截所有的系統調用并確定調用安全,最終實作應用程式自我保護。

什麼是實時應用程式自我保護(RASP)?

RASP 可以應用在 Web 應用程式和非 Web 應用程式,對應用程式的代碼設計沒有任何影響,不需要修改任何代碼,隻需要簡單的配置就可以将安全保護功能在伺服器程式在運作時注入。

目前,RASP 隻在 Java 虛拟機和 .NET 通用運作環境得到實作,其他語言的 RASP 實作目前還沒有,筆者估計在2015年必然會有 PHP 實作上市,其他語言還需要技術更成熟。

RASP什麼時候進行保護?

一旦 RASP 探測到每個使用者通路違反預設定的安全條件,RASP 就會接管系統并執行必要合理的保護行為。一個例子就是當使用者執行通路資料庫的 SQL 指令,如果 RASP 認為這個是一個 SQL 注入攻擊就可以執行 SQL 注入保護行為。

RASP 有檢測和保護兩種模式,檢測模式在檢測到安全攻擊時隻是記錄下來并發送警告給使用者,保護模式不僅能夠檢測同時能夠實時攔截潛在的安全攻擊。

RASP 的保護行為可以一下幾種方式:

終止使用者會話

停止使用者程式(不影響伺服器上其他程式):這是針對非常嚴重的攻擊,比如DDOS。

發送警報給專門的安全人員

發送警告給使用者

防火牆 vs. RASP

RASP 和防火牆一樣都能檢測流量和内容,也能夠終止使用者會話。 然而防火牆不擁有應用上下文,不能在應用層檢測使用者流量,必然安全威脅攔截的準确性肯定沒有 RASP 高,誤報率也會大大提高。而且在現在移動網際網路和雲計算盛行的今天,網絡邊界已經越來越不清晰了,這樣也使防火牆的安全防護效果也越來越差。

Gartner 的 Joseph Feinman 非常精确的把防火牆比喻為簇擁在大人物周圍的保镖,大人物去哪裡都帶着保镖,看起來防禦力爆棚,但是大人物本人肌肉不發達也沒有武功,一旦保镖被突破或者保镖被調虎離山,那麼這個大人物就沒有任何保護了,就非常危險了。RASP 可以讓沒有武功的人在很短的時間并且付出的代價不高的情況下擁有很高的自我保護能力(聽起來有點像神話)。

RASP 的優點

RASP 能夠看到系統裡所有使用者行為的細節,這樣對于提高安全攻擊識别的準确性有非常大的幫助。 比如RASP能非常清楚的了解使用者的邏輯,配置以及資料和事件流,這就給非常精确的探測和攔截安全攻擊行為提供了堅石的基礎。

另外 RASP 能夠自我保護資料,能夠保護資料從建立到消亡的全過程。

RASP 和應用程式運作在一起,擁有使用者的資料,RASP 在安全保護上想象的空間非常的大,RASP 可以滿足很多企業級的資料保護需求, 比如資料透明加解密,一些隻在系統内使用保密資料就可以使用加密,即使黑客将資料偷竊出去,也無法破解和解密,這樣更不存在其他的問題了。

RASP 不足之處

沒有任何安全解決方案是完美的,每個方案都有優點也有缺點,RASP 也一樣,雖然它很多獨特的優勢,但也存在一些不可忽視的不足,需要安全研發人員不斷的改善。

首先 RASP 是針對應用程式的,每個應用程式都必須有獨立的探針,不能像防火牆一樣隻在入口放置一個裝置就可以了。這樣增加了部署困難和防範不完整的風險。

另外一個比較的不足就是對系統性能的影響,RASP 實時攔截,深入檢測使用者資料流,這是對精确度和誤判率都有很大的幫助,但是對使用者性能有一些影響,這些性能消耗也必然影響到使用者的體驗,這也是影響企業客戶部署 RASP 的很大一方面原因。現在 RASP 的提供商在優化方面做了很大努力,大部分 RASP 對性能影響在5%左右。

最後使用 RASP 并不是真正建立一個安全的應用,系統中存在的漏洞還是存在,應用了 RASP 後臨時提供一個虛拟更新檔修補上已知漏洞,當不用 RASP 後這些漏洞還是存在。另外 RASP 也不能修複所有的漏洞,漏洞時刻在更新。企業應該将 RASP 和掃描工具結合起來将更有價值。RASP 軟體提供商也應該提供實時漏洞更新功能,實作真正零日攻擊防禦。