以資料為程式碼,Imperva 推出網站應用即時保護 (RASP)

2020-07-10

談到企業級網站應用程式防護的產品,絕大多數人想到的都是網站應用程式防火牆(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 Application Protection Cooeration

相較於一般的網站應用程式防護系統,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