日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux环境OpenRASP使用教程,OpenRASP技术分析

發(fā)布時間:2024/9/19 linux 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux环境OpenRASP使用教程,OpenRASP技术分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

閱讀:

11,455

Open-RASP 將新興的RASP(Run-time Ap-pli-ca-tion Self-Pro-tec-tion)安全防護技術普及化,使其迅速成為企業(yè)Web安全防護中的一個重要武器,有效增強防御體系縱深和對漏洞防護的適應能力。本文主要針對OpenRASP進行原理介紹和應用。

OpenRASP介紹

百度云分析團隊開源的自適應安全產品

https://rasp.baidu.com/??? 文檔 https://rasp.baidu.com/doc/;

目前只支持JAVA;?以-javaagent 方式啟動Tomcat。

安裝

java –jar? raspInstall.jar 可源碼安裝;

攻擊檢測告警日志(XSS):

安全基線檢查告警日志:

OpenRASP – 初始化流程

OpenRASP – 類字節(jié)碼修改流程(instrument方式)

OpenRASP – 攻擊檢測流程

在進入到被修改類的函數(shù)時,調用事先注入的檢測函數(shù),最終調用pluginCheck函數(shù)。

1.pluginCheck(CheckParameter.Type type, Object params);

(type為檢查的掛載點類型,params為函數(shù)原始調用參數(shù))

2.遍歷執(zhí)行該掛載點類型的所有JavaScript檢測函數(shù);

3.如果檢測函數(shù)沒有返回block,繼續(xù)執(zhí)行;

4.否則記錄攻擊日志到alarm.log中,并執(zhí)行Block操作(重定向到一個提示異常的頁面)

(重定向的異常頁面可通過配置修改)

OpenRASP防護原理

Tomcat安全基線檢查

啟動Tomcat時檢查允許環(huán)境和配置是否符合安全規(guī)范

檢測類:org/apache/catalina/startup/Catalina

檢測函數(shù):start (Tomacat的啟動函數(shù))

檢測掛載點:startup

檢測方法:沒有使用js插件函數(shù),直接通過代碼檢測。

是否以admin啟動

是否開啟http only

tomacat管理員是否有弱密碼

是否刪除默認webapps

SQL權限控制

檢測類:java/sql/DriverManage

檢測函數(shù):getConnection

檢測掛載點:sql(但沒有使用)

檢測方法:沒有使用js插件函數(shù),直接通過代碼檢測。

解析數(shù)據(jù)庫類型、登錄用戶,限制通過管理員用戶登錄。

SQL慢查詢檢測

SELECT語句執(zhí)行時間超過3s(尚未實現(xiàn))

SELECT語句一次讀取數(shù)據(jù)行數(shù)超過配置的閾值

檢測類:select查詢結果返回的類,每種數(shù)據(jù)庫的類不同,如PostgreSql的ResultSet類

檢測函數(shù):next(取下一條記錄的函數(shù))

檢測掛載點:sql_result_set (但沒有使用)

檢測方法:沒有使用js插件函數(shù),直接通過代碼檢測。

如果返回結果大于配置值,認為是慢查詢,提示告警:

SQL注入檢測

檢測類:sql語句執(zhí)行類,每種數(shù)據(jù)庫的類不同,如PostgreSql的PgStatement類

檢測函數(shù):execute/executeUpdate

/executeQuery/addBatch

檢測掛載點:sql

檢測方法:使用js插件函數(shù)檢測

如下params.query為sql語句

params.server為sql數(shù)據(jù)庫類型

context.parameter為http請求實體

SQL注入檢測

方法一:結合Hook截獲的http請求參數(shù)做檢測

如果請求參數(shù)中包含了sql語句,認為是webshell-數(shù)據(jù)庫管理器,block掉

從SQL語句中去掉用戶輸入,再和原語句進行比較,關鍵字個數(shù)相差太多則認為查詢邏輯變化,block掉

方法二:數(shù)據(jù)庫語句異常檢測

禁止多條sql語句;

禁止16禁止字符串;

禁止MySQL版本號注釋/*!

禁止常量比較操作

禁止執(zhí)行敏感函數(shù)

方法三:簡單正則匹配檢測/\bupdatexml\s*\(|\bextractvalue\s*\(|\bunion.*select.*(from|into|benchmark).*\b/i

任意文件上傳檢測

原理:

攻擊者通過上傳木馬文件,直接得到WEBSHELL

形成原因:

代碼作者沒有對訪客提交的數(shù)據(jù)進行檢驗或者過濾不嚴,可以直接提交修改過的數(shù)據(jù)繞過擴展名的檢驗。

危害:

可以得到WEBSHELL;

上傳木馬文件,可以導致系統(tǒng)癱瘓

檢測類:org/apache/commons/fileupload/disk/DiskFileItem

檢測函數(shù):setHeaders

檢測掛載點:fileUpload

檢測方法:使用js插件函數(shù)檢測,判斷文件名后綴是否合法

var scriptFileRegex= /\.(jspx?|php[345]?|phtml)\.?$/i

var ntfsRegex= /::\$(DATA|INDEX)$/i//其他的stream都沒啥用

遠程命令執(zhí)行檢測

檢測類:java/lang/ProcessBuilder

檢測函數(shù):start

檢測掛載點:command

檢測方法:使用js插件函數(shù)檢測

(不允許遠程執(zhí)行命令)

XSS跨站攻擊檢測

檢測類:apache/catalina/core/ApplicationFilterChain

檢測函數(shù):doFilter

檢測掛載點:request

檢測方法:使用js插件函數(shù)檢測

(檢查http參數(shù)中是否含有特殊字段)

反序列化用戶輸入檢測

檢測類:java/io/ObjectInputStream

檢測函數(shù):resolveClass

檢測掛載點:deserialization

檢測方法:使用js插件函數(shù)檢測

(檢查反序列化的類名是否合法,使用黑名單檢驗)

ObjectOutputStream類的writeObject()方法實現(xiàn)序列化;ObjectInputStream類的readObject()方法用于反序列化。

Struts 2的Ognl表達式執(zhí)行漏洞檢測

OGNL是Object-Graph Navigation Language的縮寫,全稱為對象圖導航語言,是一種功能強大的表達式語言,它通過簡單一致的語法,可以任意存取對象的屬性或者調用對象的方法,能夠遍歷整個對象的結構圖,實現(xiàn)對象屬性類型的轉換等功能。

檢測類:ognl/Ognl

檢測函數(shù):parseExpression(在此函數(shù)中執(zhí)行表達式)

檢測掛載點:ognl

檢測方法:使用js插件函數(shù)檢測

(檢查structpayload中是否含有非法信息)

SIEM

security information and event management(安全信息和事件管理)

OpenRASP 支持兩種類型的SIEM插件,分別是 Splunk 和 Kibana,它們采集OpenRASP的日志并展示。

支持郵件告警

OneASP

總結

?OpenRASP框架已完成,并支持大部分攻擊類型的檢查

?可新增JS插件和HooK類進行二次開發(fā)

?深入了解每種攻擊類型,常見攻擊方法,再豐富插件和代碼

?對應用程序的性能影響需要測試

?管理平臺:? 探針的管理、插件的管理、WEB展現(xiàn)

?結合自身與WAF的優(yōu)點,聯(lián)合WAF進行防護

總結

以上是生活随笔為你收集整理的linux环境OpenRASP使用教程,OpenRASP技术分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。