999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Simhash算法的Webshell檢測方法*

2018-03-21 00:56:33孔德廣蔣朝惠
通信技術 2018年3期
關鍵詞:檢測方法

孔德廣,蔣朝惠,郭 春,周 燕

0 引 言

Webshell是一種黑客對服務器進行控制的后門程序[1]。如果黑客發現Web應用存在文件上傳漏洞,46%的黑客都會上傳Webshell進行后續的攻擊[2]。根據《2016年中國互聯網網絡安全報告》[3]的統計,CNCERT/CC共監測到境內82 072個網站被植入了后門(Webshell)。黑客可以暗中對Web服務器進行遠程控制,上傳、查看、修改、刪除網站服務器上的文件,讀取并修改網站數據庫的數據,甚至可以直接在網站服務器上運行系統命令。文件上傳漏洞普遍存在于網站中,各大SRC也相繼爆出過嚴重的文件上傳漏洞[4-5]。文件上傳漏洞雖然數量上不如SQL注入漏洞,但一旦爆發,危害要比SQL注入漏洞大很多,可以直接上傳Webshell,從而拿下Web服務器。

目前,檢測Webshell主要還停留在事前和事后。事前防御有可能被繞過,事后防御屬于亡羊補牢,只有做到事中,才能確保Web服務器的安全。什么造成了文件上傳漏洞?主要是因為程序員在編寫網站的過程中,缺乏安全開發經驗[6-9]。目前,主要防御文件上傳漏洞的方法是客戶端校驗、服務端校驗和WAF校驗。

(1)客戶端校驗

不少程序員為了省事,直接在前端編寫限制文件上傳的過濾規則,通常有白名單也有黑名單形式。但是,這種做法會導致攻擊者通過直接捕獲數據包進行改包而繞過客戶端校驗。

(2)服務端校驗

服務端校驗是確保網站安全最基本的一個要求,主要方法有文件頭Content-type字段校驗、文件內容頭校驗、后綴名黑名單校驗、后綴名白名單校驗和自定義正則校驗等手段。但是,如果程序員在編寫服務端代碼時考慮不周全,以上幾種防御手段都可以繞過。同時,黑客可以結合文件包含漏洞、服務器解析漏洞、操作系統文件命名規則、Cms或者編輯器漏洞等繞過服務端校驗,從而上傳木馬得到Webshell。

(3)WAF校驗

目前,主流的防御方法是服務端校驗配合WAF校驗。但是,有些主機WAF為了不影響服務器的性能,會對校驗的用戶上傳數據設置大小上限。這種情況可以使用垃圾數據進行填充,當超過設置的校驗數據大小上限時,再填充木馬,從而達到繞過WAF上傳木馬的目的。不同的WAF都存在或多或少的繞過方式,大部分原因在于WAF設置的檢測策略存在缺陷。

此外,黑客還可以通過其他方式上傳Webshell,如網站權限過大,SQL注入能將Webshell寫入Web服務器;部分命令執行漏洞可以寫入Webshell,這給防御帶來了很多麻煩。因此,提出一種阻止黑客將Webshell寫入Web服務器的方法迫在眉睫。

1 相關工作

為了抵御Webshell對網站的持續性危害,研究人員對Webshell的檢測進行了大量研究。目前,主要的檢測手段包括靜態分析和動態分析兩種。Truong Dinh Tu等人[10]采用靜態分析的手段,檢測文件中是否包含系統命令執行函數、惡意文件操作函數,并統計關鍵字出現的頻率,設置閾值來判斷被檢文件是否為Webshell,但該方法不能檢測代碼混淆的Webshell。石劉洋等人[11]采用動態分析手段,從Web服務器日志中提取相關特征,如URL特征、網站交互頻率、文本特征匹配以及頁面關聯性分析等識別Webshell,但日志過多,導致該檢測方法效率很低。此外,由于WebShell是通過80端口與遠程主機進行數據交換的,隱蔽性強導致檢測效果不高。2006年,Jesse Kornblum[12]提出了模糊哈希算法,主要用于文件相似性比較,后被用于取證和惡意代碼檢測。而Jason Sherman將該算法應用于SSdeep[13],同時最新版的ModSecurity也增加了SSdeep檢測Webshell的接口[14]。

目前,市面上檢測工具非常多,NeoPI[15]就是一款國外流行的基于統計特征的Webshell檢測工具。但是,該工具并沒有提供一個閾值來確定哪些文件是Webshell,需要依靠專家知識來判斷。而著名的Webshell檢測工具D盾,主要使用規則是對文件靜態特征進行匹配,但檢測效果依賴于規則的有效性,很容易被繞過。目前,大部分檢測工具基本都是事后查殺Webshell,即Webshell已經存留于服務器很長時間后才被查殺。這種檢測方案缺陷很大,黑客有可能早已獲得了相關隱私文件,達到了滲透的目的。因此,本文提出了一種基于Simhash的Webshell檢測方法。該方法檢測效率高,可以實現事中檢測,即黑客上傳成功Webshell后,在黑客還沒采取后續行動前就能檢測出Webshell并將其清除。

2 基于Simhash的Webshell檢測方法及關鍵點

2.1 Simhash計算

Simhash是一種局部敏感散列算法,在2002年被Charika等人[16]提出,后來谷歌Manku等人[17]將該算法用于海量網頁去重。該算法可將文本降維,生成一串位數較小的指紋。目前,Simhash算法在多種研究中得到應用,但在Webshell檢測上還沒有相關應用。

本文將每一個Webshell當成一個文本,經過分詞、散列、加權、合并、降維,最終生成64 bit的Simhash值。因為Webshell與網頁和文本具有不同特性,所以對Simhash的傳統算法做如下2點改動。

分詞。因為Webshell的特殊性,需要調用一些命令執行類函數、文件系統函數、數據庫操作函數,回調函數、反射函數等特殊關鍵字,所以本文將Webshell按照換行符和特殊關鍵字進行分詞。

權值。在文本分類中,一般依據分詞的頻率、屬性計算權值。在Webshell的Simhash計算中,將各分詞設置一個基礎權值。由于Webshell中存在一些特殊關鍵字,如pwd、password、username、system、fopen等,可對這類字符進行加權,將其權值設為其他分詞權值的2倍。

具體過程如下:

輸入:Webshell文件

輸出:每個Webshell的Simhash值

(1)創建一個64 bit向量,將其初始化為0。

(2)將Webshell文件進行分詞處理,一般按照換行符進行分詞,特殊情況下將特殊關鍵字單獨分詞。

(3)對特殊關鍵字進行加權,如system、popen、fopen、opendir、pathinfo、mysql_query、array_filter、array_reduce等特殊字符,將其權值設為其他分詞權值的2倍。

(4)對每個Webshell分詞進行散列,取其中64 bit散列值。

(5)加權合并。

(6)降維。

2.2 Simhash指紋庫構建

目前,黑客使用的Webshell基本是前人寫好的,也不排除有黑客使用新型的未知Webshell,但這些未知Webshell其中的大部分功能函數也是以前寫好的函數。如圖1所示,在網站內測過程中,收集市面上功能結構不重復的Webshell,通過Simhash算法生成Simhash初始指紋庫。當網站運行期間,如果發現新增可疑文件是Webshell且Simhash指紋庫中沒有收錄此指紋,即海明距離不等于零且最小值小于閾值時,就將其Simhash指紋更新至初始Simhash指紋庫。

圖1 Simhash指紋庫構建

2.3 基于Simhash算法的webshell檢測方法

如圖2所示,對Web應用站點所有具有寫權限的文件夾進行監控。當文件夾有新增文件即可疑文件時,計算可疑文件的Simhash值,然后與Simhash指紋庫進行海明距離比較。如果海明距離等于0,則該可疑文件就是Webshell,直接刪除該文件,并發郵件提醒網站管理員此網站正在遭受黑客攻擊。如果海明距離的最小值小于閾值,則該可疑文件是變種Webshell,即黑客對Webshell代碼進行了混淆。此時,將該變種Webshell的Simhash指紋添加到Simhash指紋庫,刪除該文件并通知網站管理員。如果海明距離大于閾值,則該文件為用戶上傳的正常文件。

圖2 Simhash指紋庫構建

3 實驗與分析

為了選取合適的閾值,本實驗搜集了200個功能結構不重復的Webshell,然后使用Simhash算法計算生成200個Webshell指紋,以構建Simhash指紋庫。

黑客在使用Webshell前,最可能做的是只更改Webshell的登錄口令。少部分黑客會刪除作者信息、敏感特征,以繞過安全檢測。極少數黑客會進行代碼復用,重新編寫Webshell并進行代碼混淆。本文根據黑客心理,分別對200個Webshell進行編輯:修改登錄口令,刪除作者信息和注釋,刪除或者添加功能函數,增加無用代碼進行混淆處理。計算它的Simhash指紋,并與未修改前的Webshell指紋比較海明距離。如表1所示,200個Webshell修改登錄口令、作者信息、注釋前后,海明距離不是0就是1;添加或刪除功能函數、代碼混淆前后,海明距離也在1~3波動。所以,本次實驗將閾值設定為4,即如果海明距離小于4,則該可疑文件是Webshell。

表1 閾值變化情況

為了測試本文提出的檢測方法的有效性,另外收集100個Webshell和1 000個正常文件混合作為實驗樣本。然后,分別使用本文檢測方法、SSdeep、D盾進行檢測。如表2所示,基于Simhash算法的檢測方法一共檢測出94個Webshell,有6個未檢測出來,主要是因為Simhash指紋庫指紋量較少所致。SSdeep只檢測出84個Webshell,主要因為SSdeep閾值變化較大,在確保沒有誤報的情況下,漏報就會增多。D盾漏報較少,但誤報較高,這與其檢測規則有很大關系。通過對比可以發現,本文檢測方法在低誤報的情況下,能較好地檢測出Webshell。同時,在檢測時間方面,SSdeep所使用的比較算法會影響其檢測速度;D盾檢測規則大量運用正則匹配,嚴重影響檢測速度;而本文提出的方法檢測時間較短。究其原因,主要在于Simhash算法生成指紋效率高,計算海明距離速度快。

表2 市面上其他檢測工具和本文檢測方法效果對比

4 結 語

Webshell后門一直是我國面臨的巨大威脅,本文提出一種基于Simhash算法的Webshell檢測方法。該檢測方法和傳統的檢測方法相比,誤報大大降低。同時,由于Simhash算法的高效性,可以做到Webshell的實時檢測,給應急響應留下了充足時間。但是,該檢測方法的有效性需依靠完備的Simhash指紋庫,僅依靠樣本數據和少量更新的數據,不能滿足新的安全需求,還要不斷進行研究。

[1] Stranieri A,Zeleznikow J.WebShell:The Development of Web Based Expert Systems[J].Research and Development in Intelligent Systems XVIII,2002:245-258.

[2] Canali D,Balzarotti D.Behind the Scenes of Online Attacks:An Analysis of Exploitation Behaviors on the Web[C].20th Annual Network & Distributed System Security Symposium(NDSS 2013),2013.

[3] National Internet Emergency Center.China Internet Security Report in 2016[EB/OL].(2017-06-23)[2017-12-18].http://www.cert.org.cn/publish/main/upload/File/2016_cncert_report.pdf.

[4] CNVD.PHPEMS File Upload Vulnerability[EB/OL].(2017-11-20)[2017-12-18].http://www.cnvd.org.cn/flaw/show/CNVD-2017-35716.

[5] CNVD.Berta CMS Any File Upload Vulnerability[EB/OL].(2017-11-20)[2017-12-18].http://www.cnvd.org.cn/flaw/show/CNVD-2017-34604.

[6] Kieyzun A,Guo P J,Jayaraman K,et al.Automatic Creation of SQL Injection and Cross-site Scripting Attacks[C].Software Engineering,ICSE,2009:199-209.

[7] Martin M,Lam M S.Automatic Generation of XSS and SQL Injection Attacks with Goal-directed Model Checking[C].Proceedings of the 17th Conference on Security Symposium USENIX Association,2008:31-43.

[8] Balzarotti D,Cova M,Felmetsger V,et al.Saner:Composing Static and Dynamic Analysis to Validate Sanitization in Web Applications[C].Security and Privacy,2008:387-401.

[9] Appelt D,Nguyen C D,Briand L C,et al.Automated Testing for SQL Injection Vulnerabilities:an Input Mutation Approach[C].Proceedings of the 2014 International Symposium on Software Testing and Analysis,2014:259-269.

[10] Tu T D,Cheng G,Guo X,et al.Webshell Detection Techniques in Web Applications[C].International Conference on Computing,Communication and Networking Technologies IEEE,2014:1-7.

[11] 石劉洋,方勇.基于Web日志的Webshell檢測方法研究[J].信息安全研究,2016(01):66-73.SHI Liu-yang,FANG Yong.Webshell Detection Method Research Based on Web Log[J].Research on Information Security,2016(01):66-73.

[12] Kornblum J.Identifying Almost Identical Files Using Context Triggered Piecewise Hashing[J].Digital Investigation,2006,3(03):91-97.

[13] Jason S.Ssdeep Project[EB/OL].(2017-11-07)[2017-12-18].http://ssdeep.sourceforge.net.

[14] Ivan R.Modsecurity-handbook[EB/OL].(2017-07-15)[2017-12-18].https://www.feistyduck.com/books/modsecurity-handbook.

[15] Scott B,Ben H.NeoPI:Detection of Web Shells Using Statistical Methods[EB/OL].(2016-08-15)[2017-12-18].https://github.com/Neohapsis/NeoPI.

[16] Charikar M S.Similarity Estimation Techniques from Rounding Algorithms[C].Proceedings of the Thiryfourth Annual ACM Symposium on Theory of Computing ACM,2002:380-388.

[17] Manku G S,Jain A,Das Sarma A.Detecting Nearduplicates for Web Crawling[C].Proceedin gs of the 16th International Conference on World Wide Web ACM,2007:141-150.

猜你喜歡
檢測方法
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
“幾何圖形”檢測題
“角”檢測題
學習方法
小波變換在PCB缺陷檢測中的應用
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
主站蜘蛛池模板: 91小视频版在线观看www| 久久婷婷六月| 国产女人在线| 国产精品任我爽爆在线播放6080 | 国产精品熟女亚洲AV麻豆| 99久久国产综合精品女同| 成人福利视频网| 久久人搡人人玩人妻精品 | 99精品在线看| 久久国产精品国产自线拍| 国产三级毛片| 亚洲欧美另类日本| 青青草欧美| 77777亚洲午夜久久多人| 97精品久久久大香线焦| 激情六月丁香婷婷| 毛片网站观看| 1769国产精品视频免费观看| 国产福利不卡视频| 2022国产无码在线| 亚洲精品片911| 国产成人综合网| 国产性精品| 91破解版在线亚洲| 亚洲国产成人在线| 亚洲精品手机在线| 欧美自慰一级看片免费| 最新亚洲人成无码网站欣赏网| 亚洲国模精品一区| 农村乱人伦一区二区| 日本一区二区三区精品国产| 97久久超碰极品视觉盛宴| 精品国产Av电影无码久久久 | 婷婷色中文网| 三上悠亚一区二区| 国产激情第一页| 欧美精品二区| 亚洲国产中文精品va在线播放 | 亚洲人成电影在线播放| 四虎亚洲精品| 亚洲av无码久久无遮挡| 91久久精品国产| 另类重口100页在线播放| 最新国产高清在线| 国产一级在线播放| 91系列在线观看| 国产网站免费| 亚洲成人高清无码| 国产日本欧美亚洲精品视| 国产av一码二码三码无码 | 国产特级毛片| 成人日韩欧美| 在线免费观看a视频| 在线国产毛片手机小视频| 在线观看亚洲天堂| 亚洲91精品视频| 国产精品成人免费综合| 在线视频一区二区三区不卡| 国产99视频精品免费视频7| 日韩高清无码免费| 超碰色了色| 成人免费一级片| 久久a毛片| 国产精品性| 亚洲日韩精品欧美中文字幕| 国模极品一区二区三区| 国产91导航| 免费网站成人亚洲| 中文字幕在线视频免费| 美女无遮挡拍拍拍免费视频| 国产精品手机视频| 亚洲欧洲免费视频| 伦伦影院精品一区| 亚洲综合色吧| 亚洲婷婷六月| 国产一级毛片在线| 在线播放国产99re| 就去色综合| 美女被操黄色视频网站| 国产一级妓女av网站| 日本伊人色综合网| 久久久久国产精品嫩草影院|