牧雲(CloudWalker)開源|如約而至: Webshell核心檢測引擎
相關背景閱讀:
7月13日《牧雲開源的背後》(點選進入)
9月14日 ofollow,noindex">牧雲(CloudWalker)開源手記|Webshell監控檢測策略初探 (點選進入)

牧雲(CloudWalker)伺服器安全平臺
核心檢測引擎之Webshell檢測
前言
作為主機安全監控掃描的核心功能之一,Webshell 檢測一直是令安全運維人員頭疼的命題。傳統的 Webshell 檢測以規則掃描為主,動輒幾百上千的伺服器,如果要挨個手動排查 Webshell,幾乎是不可能完成的任務。
顛覆以規則掃描為主的傳統,牧雲瞄準的是全自動、高度智慧化的伺服器安全平臺。因此我們首先從 Webshell 檢測引擎開始,以全新的理念重塑之。這正契合長亭一貫的“化繁為簡、智慧安全”的精益產品理念。
開源計劃的第一步:開放命令列版本的 Webshell 檢測引擎
本次開源作為開源計劃的第一步,僅包含 Webshell 檢測引擎部分,重點調優 Webshell 檢測效果。目前放出的是一個可執行的命令列版本 Webshell 檢測工具。
我們會根據使用者反饋,不斷優化檢測效果。
後續三個月,將陸續開放整體產品框架與外掛體系。
正文
Webshell 檢測引擎之命令列版本
檢測思路與程式碼結構
整個程式碼入口為一個依賴於 PHP-Ast 外掛的 Detector,全部檢測工作會在 Detector 內部進行。

Detector 結構內部會根據多個不同維度的指標進行評分。這些評分包括認定為惡意樣本的正向評分,也包括認定為非惡意樣本的負向評分,在保證召回率的同時,使得檢測精確率得到穩定控制。

為了減少降維對源資料特徵向量的影響,使用多層次進行學習,並在 processor 的最頂層部分合並。

在每個測試用例中,對資料進行多次清洗,並儘可能少地對 Ast 進行遍歷,兼顧處理速度和處理精度。


整體程式碼的層次結構如下圖所示:

GitHub獲取地址
Http://github.com/chaitin/cloudwalker
檢測介面和 HTML 報告

測試演示
命令列 gif 演示: http:// g.recordit.co/nVfELJPZI P.gif

HTML 報告 gif 演示: http:// g.recordit.co/HCbHc9yq3 o.gif

使用環境要求
可執行檔案使用方法
使用者可以直接執行可執行檔案,引數可以是單個檔案或目錄(軟連結)。對於目錄會進行遞迴檢測,但是不會跟進軟連結。使用者可用 `-output` 選項將檢測結果匯出到檔案,推薦新增 `-html` 選項使用 HTML 文件格式進行匯出。

手動編譯使用方法
使用者可以在 `/php` 目錄中執行 `make` 編譯 PHP-Ast 解析外掛,之後進入 `/bin` 目錄使用 `go build` 編譯程式主體,待編譯完成後該目錄下執行可執行檔案。
後記
牧雲(CloudWalker)的方向是基於Agent的深度伺服器工作負載安全平臺,在雲端計算技術發展的大語境下,給混合雲的複雜環境提供一個不同的、從內部進行觀察的安全視角,提升資產能見度並有效防禦入侵。根據專案計劃會逐步覆蓋伺服器資產管理、威脅掃描、Webshell 查殺、基線檢測等各項功能。
牧雲(CloudWalker)開源計劃也將秉持自由、共享的開源精神,持續營造社群。希望更多朋友參與進來,共同打造出具有更強大功能和更人性的管理思路的牧雲(CloudWalker)。
長亭科技也是一個長期致力開源社群的網路安全企業,其他系列開源工具,瞭解一下:
https:// github.com/chaitin/pass ionfruit 是iOS應用逆向與分析工具,可以大大加速iOS應用安全分析過程;
https:// github.com/chaitin/yans hi 是長亭雷池(SafeLine)下一代Web應用防火牆核心引擎使用到的程式碼生成工具。