OpenRASP於2017年4月立項,其初衷是為了提供一套通用的安全框架,並提高應用對未知漏洞的防護能力。Struts2 系列漏洞屬於典型的未知漏洞。從 S2-001 到最新的 S2-057,它的特點是請求特徵在不斷變化,最終通過某種方式執行OGNL語句或者反序列化,接著獲取系統許可權。
RASP防護引擎運行與應用內部,可以很好的解決這個問題。無論是何種漏洞,它的最終目的無非是: 執行系統命令、上傳webshell、拖庫等等。於是我們實現了這樣的安全框架: 不依賴請求特徵檢測攻擊,而是在應用執行上述關鍵操作時,執行一段自定義的邏輯檢查是否存在異常。
本次發布 OpenRASP 1.1 版本,大幅度降低內存佔用,同時修復QQ群用戶反饋的各種問題。
重大變更
通用變更
- 升級 Google v8 到 7.2 版本
- 語法解釋器由antlr4替換為flex,降低內存佔用
PHP 版本
- 替換 libstdc++ 為 libc++
- 去除 pcre 依賴
- 二進位包增加 Thread Safety 版本
Java 版本
- 替換 rhino 為 openrasp-v8
- SQL、SSRF 檢測邏輯改為JS實現
- 暫時去除
JRockit JDK
支持,WebLogic 10.3.6 需要設置 JAVA_VENDOR=Sun
來改用 Oracle JDK
插件系統
- 精簡 console.log 函數,刪除顏色相關代碼
- 傳給檢測插件的堆棧,過濾掉 com.baidu.openrasp 相關內容
新增功能
通用變更
- SQL異常增加密碼錯誤監控
- 實現資料庫連接弱口令檢測
Java 版本
Bug 修復
通用修復
- 插件更新成功后,立即發出心跳,解決管理後台版本信息滯后問題
- 報警堆棧過濾掉 openrasp 相關內容
Java 版本
- 修復文件上傳檢測點誤報問題,改為在用戶使用了文件之後再檢測
- 修復 Windows下,openrasp.yml 文件編碼不正確的問題
- 修復 JBoss 12 以上無法自動安裝的問題
- 解決 JSP 無法獲取堆棧的問題
- 修復 Tomcat 下面 xss 攔截之後不會跳轉的問題
- 修復一次心跳失敗后,再也不會心跳的bug
- 解決 Tomcat 5 下面 html 注入功能不正常的問題
- 修復不重啟安裝,卸載后心跳線程殘留問題
- 與PHP版本統一 log.maxbackup 邏輯,配置為1時保留今天和昨天的日誌
管理後台
- 修複檢測插件重複上傳問題
- 前端首頁增加緩存失效設置
- 修復 debug_level 欄位不是數字的問題
- 當應用下面有在線主機,禁止刪除應用
- 修復應用加固里 nosniff 拼錯的問題,用戶保存一次配置即可修復