webshell檢測思路?
webshell就是以asp、php、jsp或者cgi等網頁文件形式存在的一種命令執行環境,也可以將其稱做為一種網頁后門。
黑客通過瀏覽器以HTTP協議訪問Web Server上的一個CGI文件,是一個合法的TCP連接,TCP/IP的應用層之下沒有任何特征,只能在應用層進行檢測。黑客入侵服務器,使用webshell,不管是傳文件還是改文件,必然有一個文件會包含webshell代碼,很容易想到從文件代碼入手,這是靜態特征檢測;webshell運行后,B/S數據通過HTTP交互,HTTP請求/響應中可以找到蛛絲馬跡,這是動態特征檢測。
靜態檢測
靜態檢測通過匹配特征碼,特征值,危險函數函數來查找webshell的方法,只能查找已知的webshell,并且誤報率漏報率會比較高,但是如果規則完善,可以減低誤報率,但是漏報率必定會有所提高。
優點是快速方便,對已知的webshell查找準確率高,部署方便,一個腳本就能搞定。缺點漏報率、誤報率高,無法查找0day型webshell,而且容易被繞過。
靜態檢測配合人工
動態檢測
Linux下就是nobody用戶起了bash,Win下就是IIS User啟動cmd,這些都是動態特征。再者如果黑客反向連接的話,那很更容易檢測了,Agent和IDS都可以抓現行。Webshell總有一個HTTP請求,如果我在網絡層監控HTTP,并且檢測到有人訪問了一個從沒反問過得文件,而且返回了200,則很容易定位到webshell,這便是http異常模型檢測,就和檢測文件變化一樣,如果非管理員新增文件,則說明被人入侵了。
缺點也很明顯,黑客只要利用原文件就很輕易繞過了,并且部署代價高,網站時常更新的話規則也要不斷添加。
日志檢測
使用Webshell一般不會在系統日志中留下記錄,但是會在網站的web日志中留下Webshell頁面的訪問數據和數據提交記錄。日志分析檢測技術通過大量的日志文件建立請求模型從而檢測出異常文件,稱之為:HTTP異常請求模型檢測。
語法檢測
實現關鍵危險函數的捕捉方式
統計學檢測
webshell由于往往經過了編碼和加密,會表現出一些特別的統計特征,根據這些特征統計學習。 典型的代表: NeoPI – https://github.com/Neohapsis/NeoPI
回答所涉及的環境:聯想天逸510S、Windows 10。
webshell就是以asp、php、jsp或者cgi等網頁文件形式存在的一種命令執行環境,也可以將其稱做為一種網頁后門。
黑客通過瀏覽器以HTTP協議訪問Web Server上的一個CGI文件,是一個合法的TCP連接,TCP/IP的應用層之下沒有任何特征,只能在應用層進行檢測。黑客入侵服務器,使用webshell,不管是傳文件還是改文件,必然有一個文件會包含webshell代碼,很容易想到從文件代碼入手,這是靜態特征檢測;webshell運行后,B/S數據通過HTTP交互,HTTP請求/響應中可以找到蛛絲馬跡,這是動態特征檢測。
靜態檢測
靜態檢測通過匹配特征碼,特征值,危險函數函數來查找webshell的方法,只能查找已知的webshell,并且誤報率漏報率會比較高,但是如果規則完善,可以減低誤報率,但是漏報率必定會有所提高。
優點是快速方便,對已知的webshell查找準確率高,部署方便,一個腳本就能搞定。缺點漏報率、誤報率高,無法查找0day型webshell,而且容易被繞過。
靜態檢測配合人工
動態檢測
Linux下就是nobody用戶起了bash,Win下就是IIS User啟動cmd,這些都是動態特征。再者如果黑客反向連接的話,那很更容易檢測了,Agent和IDS都可以抓現行。Webshell總有一個HTTP請求,如果我在網絡層監控HTTP,并且檢測到有人訪問了一個從沒反問過得文件,而且返回了200,則很容易定位到webshell,這便是http異常模型檢測,就和檢測文件變化一樣,如果非管理員新增文件,則說明被人入侵了。
缺點也很明顯,黑客只要利用原文件就很輕易繞過了,并且部署代價高,網站時常更新的話規則也要不斷添加。
日志檢測
使用Webshell一般不會在系統日志中留下記錄,但是會在網站的web日志中留下Webshell頁面的訪問數據和數據提交記錄。日志分析檢測技術通過大量的日志文件建立請求模型從而檢測出異常文件,稱之為:HTTP異常請求模型檢測。
語法檢測
實現關鍵危險函數的捕捉方式
統計學檢測
webshell由于往往經過了編碼和加密,會表現出一些特別的統計特征,根據這些特征統計學習。 典型的代表: NeoPI – https://github.com/Neohapsis/NeoPI
回答所涉及的環境:聯想天逸510S、Windows 10。