什麼是運行時應用程序自我保護(RASP)Runtime Application Self-Protection

說明

在這裏插入圖片描述
在企業中部署的應用程序位於由網絡,操作系統和數據庫組成的複雜且分散的環境中。這通常會導致應用程序的安全體系結構分散,再加上缺乏精確且可靠的安全路線圖。運行時應用程序自我保護(RASP)的概念已得到很大發展,以解決開發人員面對威脅時採用的即席方法。

最新數據表明,有38%的iOS移動應用程序和43%的Android移動應用程序帶有高風險漏洞。由於安全架構的弱點,其中很大一部分(針對iOS的74%和針對Android的57%)會影響移動應用程序。不安全的進程間通信也是38%的Android應用程序和22%的iOS應用程序中發現的漏洞。
在這裏插入圖片描述
開發人員沒有解決應用程序中的設計缺陷,而是傾向於採用靜態和傳統的AppSec方法,這些方法通常會因複雜的安全威脅而失敗。這種分散的安全控制層通常成爲應用程序,基礎結構和安全層上多個組件的瓶頸,但是隨着RASP解決方案的到來,應用程序安全性不再是對威脅的隨意反應。

什麼是RASP?

在這裏插入圖片描述
運行時應用程序自我保護(RASP)是應用程序安全生態系統中的一項創新,可通過提供對隱藏漏洞的更多可見性來處理對軟件應用程序層的運行時攻擊。它本質上是一種安全軟件,可與應用程序或其運行時環境集成在一起,並不斷攔截對應用程序的調用以檢查其安全性。RASP軟件無需等待威脅影響應用程序。相反,它會主動在進入應用程序的流量中尋找惡意軟件,並防止在應用程序內部執行欺詐性呼叫。

通過留在應用程序中,RASP解決方案消除了已知漏洞,並保護了應用程序免受未知的零日攻擊,而無需任何人工干預。因此,與傳統的安全方法(如Web應用程序防火牆(WAF))相比,RASP提供了與概念上不同的安全性範式,後者僅通過阻止所有可疑流量來保護應用程序。
在這裏插入圖片描述

爲什麼需要RASP?

應用程序上的攻擊媒介已經變得如此智能,以至於只有通過人工干預才能輕易檢測到它們。一個看似無害的HTTP請求(模仿真實的傳入流量)可用於使應用程序崩潰並危及關鍵業務流程。現代應用程序使用API​​,JSON和XML格式與用戶,後端服務器和數據庫進行交互。如果這些應用程序和服務器組件的安全性不足,則黑客可以輕鬆控制應用程序代碼和/或用戶數據。

由於對功能升級的持續要求,軟件公司採用敏捷開發模型已使現代安全協議成爲該應用程序整體架構必不可少的。因此,由於RASP實時阻止了攻擊,因此它是對這種持續要求和威脅感知的完美答案。

傳統的安全方法,例如Web應用程序防火牆(WAF),通常位於Web應用程序的前面,檢查傳入的HTTP請求流量以瞭解已知的攻擊有效負載和異常使用模式。WAF僅在已知攻擊且可以在WAF中建立防火牆規則的情況下才能很好地工作。但是,對於新出現的威脅,它變得無效,因爲開發人員無法編寫阻止它們的規則。另一方面,RASP集成在應用程序中,不僅可以檢測威脅矢量,還可以採取措施阻止威脅矢量。RASP的無縫,無代碼部署和集成也使對應用程序整體性能的影響降到了最低,因此使其成爲必備的安全解決方案。

RASP如何工作?

RASP層與應用程序代碼並排放置,並監視到服務器和應用程序API的傳入流量。一旦檢測到任何威脅源,RASP就會應用運行時保護措施並保護應用程序免受惡意行爲的侵害。所有請求都通過位於應用程序和服務器之間的RASP層進行審覈,而不會影響應用程序的性能。

隨着雲計算的出現,發現傳統的外圍解決方案缺乏全面保護託管在雲上的應用程序的能力。另一方面,可以將RASP程序集成爲框架或模塊,以與應用程序的代碼一起使用。RASP有時與動態應用程序安全測試結合使用,它具有強大的功能,不僅可以像WAF一樣檢測威脅矢量,而且還可以採取措施來抵消允許執行威脅時可能造成的損害。根據實現的不同,這可能意味着簡單地終止用戶會話或在運行時分析流量並監視漏洞對應用程序的影響。由於RASP靠近應用程序內部的易受攻擊的代碼,因此觸發的誤報更少。

部署RASP的好處

RASP技術的最大好處是它可以在應用程序內部運行,而不是像防火牆一樣作爲隔離的網絡保護方法保留。此特性使RASP可以提供上下文服務-從代碼庫,API,系統配置,運行時數據,邏輯流等中獲取必要的信息。

RASP具有廣泛的保護功能以及在識別和處理安全威脅方面的更高準確性,具有許多優勢:

  1. RASP解決方案具有成本效益且物有所值,並且被認爲比更通用的傳統Web應用程序防火牆(WAF)解決方案更具針對性。
  2. RASP帶來了機載直觀的方式來處理應用程序安全性,這恰恰是因爲RASP駐留在應用程序之內而不是沒有。這將誤報限制在最低限度,並使全面的安全解決方案成爲當今的現實,因爲保護關鍵的API和Web應用程序免受WebSocket連接和其他第三方接口的影響對於構建健壯的安全框架至關重要。
  3. 恪守格言“預防勝於治療”,RASP的核心是密切監視應用程序是否存在不良行爲,包括網絡嗅探,篡改代碼,反向工程和未經身份驗證的數據泄漏。由於大膽的攻擊已成爲一種慣例,而不是例外,因此,持續監視和快速行動以解決防呆方法中的漏洞,以防範特立獨行的黑客。藉助默認情況下具有事件管理和事件日誌記錄功能的當代RASP解決方案,可見跡線可幫助企業瞭解在何處進行投資以獲取最大回報。
  4. 與敏捷環境中的持續集成和持續交付(CI / CD)方法保持一致,RASP在部署了雲的敏捷應用程序的整個支點中都處於良好的位置。RASP解決方案具有可擴展性,並且通常不受攻擊源的影響–無論是來自API還是來自Web服務,數據庫SQLite等。在不斷變化的環境中構建持久的安全性,並與功能和特性保持同步,確實是一項艱鉅的任務。RASP的信息透明性和持續監控非常適合通過開發和安全團隊之間的協調來幫助敏捷驅動的項目成功交付。
  5. 滲透測試是檢測應用程序中的安全漏洞以使其免受將來的安全威脅的最受追捧的技術之一。RASP可以通過信息可見性來補充開發團隊的筆測試工作。通過儀表板,可以將應用程序威脅情報與有關已測試部分,大多數不安全部分,存在安全漏洞的確切代碼行,交易信息等信息結合在一起。這對於跟蹤筆測試工作並幫助應用程序所有者確定和確定至關重要將其資源調整爲關鍵業務流程。
  6. 通過使用內置的事件記錄兼響應解決方案,RASP被發現可以有效地應對應用層攻擊。RASP不僅能夠解決已知漏洞,其實際實力還來自其應對未知安全威脅的能力。RASP允許在應用程序中記錄自定義事件/觸發,從而從不破壞業務關鍵組件。
  7. 開發團隊通常對實現對應用程序性能產生不利影響的安全解決方案持懷疑態度。AppSealing的RASP方法消耗最少的資源,其性能延遲通常在可接受範圍內。與通常會影響應用程序性能的傳統安全工具相比,RASP安全層對應用程序性能的影響最小。
  8. 說服利益相關者說服要採用的安全策略,並且投資回報從未像使用RASP一樣容易,因爲RASP具有移動環境友好性併爲應用擁有者的自帶設備(BYOD)策略提供支持公司。當RASP解決方案的自我保護情報在後臺運行時,讓利益相關者能夠清楚地瞭解其應用程序在處理安全威脅方面所處的位置將不是一件容易的事。

如果結合其他AppSec框架(例如筆測試,WAF等)在適當的情況下應用,則RASP可以證明是您的公司迫切需要將您的應用程序推向更高安全性的基礎的遊戲規則改變者。

RASP部署模式有哪些?

RASP通常採用以下模式,並且可以根據要求以任何一種方式進行部署:

  • 關閉模式,既不提供 監視功能也不提供呼叫阻止功能。在這裏,所有請求都可以簡單地傳遞,而RASP解決方案不會採取任何措施。
    在這裏插入圖片描述
  • 監視/診斷模式,其中RASP程序監視應用程序中的威脅,記錄日誌併發出警報,但不阻止請求;
    在這裏插入圖片描述
  • 阻止模式, RASP程序前進一步,阻止所有非法請求;
    在這裏插入圖片描述
  • 在周界模式下進行阻止,類似於阻止模式,不同之處在於,甚至爲RASP解決方案指定了某些預定義的規則和必需的操作,以阻止攻擊,甚至在應用程序對其進行處理之前也是如此。如果攻擊媒介與指定的規則不匹配,則RASP解決方案將對其進行報告並將其阻止。在這種模式下,RASP程序的行爲類似於WAF。

RASP方法有哪些不同?

RASP已演變成一個成熟的應用程序內安全性概念,它使開發人員可以通過多種方式來消除威脅。根據開發人員希望在應用程序或服務器中實現RASP安全層的方式,他們使用以下四種方法之一:

  1. Servlet過濾器,SDK和插件已實現到Apache Tomcat或Web服務器中,以便在傳入的HTTP請求和數據有效負載到達應用程序代碼之前對其進行監視和檢查。那些類似的漏洞被阻止,並且RASP根據部署模式採取糾正措施。
    在這裏插入圖片描述
  2. 二進制工具包括將監視和控制元素構建到應用程序中,前者標識正在運行的應用程序中的安全事件,而後者記錄此類事件的日誌並阻止它們。

在這裏插入圖片描述
3. JVM的替換包括用RASP層替換標準庫– JAR或JVM(對於Java)– RASP層,偵聽對支持庫的調用並在攔截調用時應用規則。因此,RASP具有應用程序代碼庫的總體視圖,並且系統調用路由框架使RASP通過被動監視應用程序調用來了解機器行爲和序列流。
在這裏插入圖片描述
4. 虛擬化也稱爲容器化運行時保護,它通過使用規則來控制應用程序的保護方式,來創建應用程序副本並在副本上的運行時中檢測應用程序的行爲。RASP監視並學習應用程序代碼路徑,邏輯結構,參數化和生成的輸出等,然後將其應用於應用程序請求。這有助於區分清晰的請求與惡意的請求,並允許採取適當的補救措施。
在這裏插入圖片描述

選擇RASP解決方案時應考慮什麼?

開發人員應仔細選擇RASP解決方案,並在以下參數上權衡:

  • 它應該易於部署並且需要最少的維護,否則,當威脅的性質發生變化時,它可能會失效。
  • 它應該具有相當廣泛的能力來檢測和處理範圍廣泛的傳統和未知漏洞
  • 它應該對應用程序的性能指標產生最小的影響,否則安全層將失去所有意義。沒有開發者會爲了獲得額外的安全功能而犧牲用戶的舒適度
  • RASP解決方案應準確無誤,以免阻塞真正的用戶流量
  • 它應與WAF等其他安全工具無縫協作
  • 它應該爲多種框架和語言提供支持
  • RASP解決方案必須是自治的,並通過全天候監視爲雲分析提供支持,並阻止惡性請求
  • 最重要的是,它應該提供有關所有已處理的運行時威脅的全面且可操作的報告,並從應用程序的運行時行爲中學習,以動態保護其免受被動和主動事件的侵害。

RASP的用例

重要的是要了解RASP可以在哪裏應用,以瞭解其在現代安全框架中的全面性和適用性。以下是一些用例:

  • RASP可以處理對應用程序中已知和未知漏洞的攻擊,包括CSRF,CSS攻擊,SQLi,HTTP方法篡改,Regex DOS等。
  • 應用程序開發的敏捷性和分佈式性日益增強,使得RASP成爲一種特別有效的安全解決方案。在開發團隊識別和修復漏洞時,RASP可以充當保護層,在CI / CD DevOps和期限緊迫的敏捷工作流中尤其有用。
  • RASP對於保護關鍵的API變得特別方便,這些API通常比典型的網站複雜,並且經常使用批註將數據路由到代碼庫中的方法以進行適當的參數設置。API通常使用非HTTP協議,例如WebSocket。RASP在應用程序層工作,因此,在完成網絡協議和數據解析之後,它可以保護API免受相關攻擊。
  • RASP還可以保護應用程序環境免受數據庫,文件共享接口,第三方連接,數據源和套接字連接的影響。
  • 應用程序威脅情報對於詳細瞭解正在遭受攻擊的應用程序,實施攻擊的技術以及對立即修復有用的詳細應用程序級別詳細信息至關重要。這種可視性對於將來對內部和外部企業應用程序進行驗證都是必不可少的。
  • RASP提供增強的安全日誌記錄,以識別,調試和診斷安全事件對應用程序的影響。

結論

結合AppSec測試和WAF解決方案,RASP解決方案可以證明是組織快速有效地應對複雜威脅形勢所需的變革者。藉助RASP的監視,流量分析和學習功能,可以爲應用程序配備RASP層,該層具有阻止高精度攻擊的能力。

超越傳統的安全方法;利用RASP進行更快,更具成本效益的應用內保護。

參考

https://www.appsealing.com/what-is-runtime-application-self-protection/

https://www.onespan.com/sites/default/files/2019-11/OneSpan-A4-Datasheet-App-Shielding.pdf

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章