談到企業級網站應用程式防護的產品,絕大多數人想到的都是網站應用程式防火牆(WAF),不過,在 2018 年的 DevOpsDays Taipei 大會,以及 2019 年臺灣資安大會,許多講者都提到一種新作法,稱為「執行期間應用系統自我防護(Runtime Application Self-Protection,RASP)」,能跟著應用系統一同運作,若偵測到攻擊行為,RASP 會予以攔截,提供自我保護的作用。
但當時著重的使用層面,主要是應用程式安全測試、程式碼安全掃描,以及軟體安全開發流程整合,與 SAST、DAST、IAST 等應用程式安全測試工具並列。事實上,RASP 還可以用於網站應用系統正式上線之後,「就近」在執行時期提供即時保護。
Imperva App Protect 拓展 RASP 產品線
原本就以網站應用程式防火牆(WAF)而聞名的 Imperva,之所以有 RASP 產品,主要是 2018 年併購 Prevoty 而來,原本的 Autonomous Application Protection(AAP),就是現在我們看到的 Imperva RASP。
相較於一般的網站應用程式防護系統,Imperva RASP 是從應用系統內部的執行時期著手,抵禦那些可能危害應用系統的威脅,它會利用單一的外掛程式來填補應用系統的資安漏洞,能夠同時保護傳統與新開發的應用系統,並且涵蓋內部、外部的應用程式、第三方程式碼,以及相依性元件。
同時,這樣的外掛程式具有自主能力、可移植性,適用於任何部署架構,像是內部環境、雲端服務、容器。基本上,Imperva RASP 可以是應用程式、服務、API 的一部分,與所要防護的應用系統之間,不需要額外配置網路連線與調整網路架構。
運用 LangSec 技術,將使用者輸入的資料當做程式碼,檢驗與預防不良意圖
在攻擊手法的快速偵測上,Imperva RASP 採用的作法相當特別,稱為程式語言理論安全性(Language Theoretic Security,LangSec),系統可藉此了解惡意程式如何在特定環境執行的脈絡,以及抵消已知與零時差攻擊行為的方式,達成預設安全性的要求,因應各種潛在的應用程式弱點。
LangSec 會處理與評估所有輸入的應用程式資料,而且毋須仰賴預先設置的定義、模式、正規表示式、感染分析或行為學習。它會理解資料在特定環境中如何執行,有效預防輸入任何資料模糊、混淆的狀況,並且能透過前後文脈絡,緩解或阻擋已知的資安威脅,即時使其失效並進行記錄,進而守護機密資料與使用者安全。
在適用場景上,Imperva RASP 可以整合在軟體開發週期,也能針對傳統應用系統安全性的弱點管理作法,提供補充防護,並基於真實攻擊的資料來進行攻擊威脅的減緩處理。
而在功能面上,Imperva RASP 可以指出攻擊濫用的漏洞,甚至深入程式碼確切的行數位置所在,還能防護各種漏洞,讓企業能有更多時間去修補,對於實際受到攻擊的漏洞,也能提升了解的程度。
Imperva RASP 為何能在應用程式執行時提供更好的透明度?
Imperva RASP 會針對每個企圖發動惡意行為的威脅,產生深層、詳細的資訊,像是程式碼當中的被其他人所發現的弱點、使用者與位置的初始量測等,而有了這樣層級的資料,就能在持續性威脅攻擊發生時,縮短反應時間,並且替未來的應用程式開發提供更好的資安情報。而這些資料可能也會選擇性地傳送至用戶自定的資料儲存區,或餵送至 Splunk、QRadar、ArcSight 等安全資訊與事件管理系統(SIEM)。
易於部署,透過外掛方式就近為應用程式提供保護
就系統架構而言,Imperva RASP 分成兩大部分:執行時期代理程式和管理主控台。
✅ 執行時期代理程式
能夠自主監控應用程式行為、分析使用者輸入與資料的內容裝載、偵測威脅,以及對資料進行消毒,以便讓這些資料能夠在應用程式內部安全執行。目前 RASP 代理程式可支援多種程式語言,主要是 Java 與 .NET 。Java 部份,是以 JAR 檔的形態來實作,.NET 部份是以 MSI 檔案型態的 HTTP 模組來實作。而在 2019 年 10 月,Imperva 宣布 RASP 支援 .NET Core,能夠運用基於 LangSec 的決策引擎,防護以這套語言寫成的應用程式,抵禦各種已知攻擊、零時差漏洞濫用攻擊。
✅ 管理主控臺
提供網頁管理主控台,讓用戶能夠設定應用程式組態、建立資安政策,隨後將這樣的設定檔,下載、複製到應用系統內部,即可套用。此外,用戶也能以圖像化的方式查看事件記錄。
參考來源:iThome