據微軟365Defender數據顯示,從2020年8月到2021年1月,平均每月檢測到大約14萬次Webshell威脅,這幾乎是上一年平均每月檢出量的兩倍(77000次)。

與2019年相比,2020年下半年服務器Webshell攻擊頻次大幅增長,圖來自微軟官網而據埃森哲在去年(2021年)8月發布的《網絡調查、取證和響應(CIFR》報告》數據顯示, 2021年上半年的網絡入侵活動同比增長125%,其中Webshell增長最為迅猛,是惡意勒索行為最頻繁使用的入侵方式之一。
Webshell原本被網站管理員用於服務器和網站的日常管理,並能根據FSO(File System Object)權限查看數據庫、上傳下載文件,以及執行服務器系統的任意相關命令(如修改、刪除文件,或創建用戶等)。這些特性也讓Webshell成為網絡入侵者眼中的「香餑餑」,通過利用Web應用程序漏洞或配置漏洞,惡意Webshell被植入到web服務器中,然後……你懂的。Webshell攻擊之所以泛濫,一方面是因為web服務器天然暴露在互聯網中,且web漏洞更容易被入侵者利用之外;另一方面還在於利用Webshell入侵的靈活性與隱蔽性,不利於察覺,也很難檢出。比如Webshell可以用Web應用程序的任何一種語言編寫,其中PHP、ASP、Python與Unix Shell是最常用的語言,每種語言都有多種攻擊方式方法。同時,攻擊者在隱藏對抗方面也有許多「成熟」的經驗,比如文件偽裝、代碼隱藏等等。
上圖左中的文件名看似web服務器中的合法文件,但實際是由惡意Webshell文件偽裝;圖右則是混淆過的Webshell代碼,很難辨別具體作用Webshell的另一種隱藏方式是偽裝成不可執行的文件格式,比如PNG或JPG等圖片格式。這加大了檢出難度,因為web服務器加載和分析此文件時,會被誤認為是圖片,但當瀏覽器向服務器請求此文件時,惡意代碼就會在服務器上執行。
正是這些特點,讓Webshell很難被檢出,哪怕是經驗豐富的安全人員,也需要通過多種方式來仔細甄別才能做出最終判斷,這也讓大多數企業很難有效應對Webshell攻擊。
AI曾被認為是檢出Webshell威脅最理想的方法,在經過大量的數據訓練之後,基於AI技術的檢測引擎能夠將Webshell檢出率提升到95%左右,相比傳統方法的90%檢出率,確實有一定效果,但依然未達預期。
AI對Webshell檢出率的幫助不大?微步在線機器學習團隊負責人陳杰並不這麼認為。相反,他認為AI不僅可以大幅提升包括Webshell在內的威脅檢出率,同時還能極大地降低企業安全團隊的成本。但要使檢出準確率符合預期,在訓練時有兩點非常關鍵。首先是AI訓練所使用數據的質量——這是兩個詞——品質要高,量要大。微步在線在威脅情報領域耕耘多年,並成為國內威脅情報領域的領頭羊,高質量的威脅情報離不開海量的惡意樣本,正是基於這一優勢,陳杰對這個機器學習項目充滿信心。訓練數據量大、質量高只是必要條件,要充分發揮出來,還得深入利用機器學習。同樣是針對Webshell威脅的訓練,一些AI在訓練的時候「深度」不夠,可能只提取了惡意樣本中的敏感函數、信息熵、文件重合指數、標籤數等等特徵,然後通過傳統的機器學習或者簡單的深度學習進行訓練得到檢測模型。這樣的檢測模型也許在實驗室中會有很好的效果,但在實際使用中,可能就會出現新樣本檢出率低、線上線下效果差異大,以及無法有效解釋等問題。在訓練之前,必須要對惡意樣本的特徵進行細化,這就跟AI模型參數的道理相似,多不一定有效果,但少了肯定不行。經過大量實驗之後,陳杰團隊不僅細化了常規的特徵提取,還從多個維度抽取文件信息,以此讓AI訓練的結果更加準確。微步在線深度學習模塊架構,從多維度提取樣本特徵信息具體到Webshell的樣本訓練:
也會抽取敏感函數,但細化函數分類,更精準地確定函數執行位置和執行情況;
捨棄傳統的基於信息熵和文件重合指數的混亂度指標,使用更精準的計算代碼混亂度;
不僅從語法樹AST角度抽取信息,還從文本、字符、字節碼等維度抽取文本信息。
大量的高質量樣本,更細化的樣本特徵,經訓練獲得的檢出模型,集成到微步在線的Webshell引擎之後,讓檢出率提升到99%以上,可謂是一鳴驚人。都說Webshell威脅如同shell中的「幽靈」,那微步在線基於AI模型的Webshell引擎就如同「熒光粉」,讓Webshell威脅現原形。除了Webshell引擎之外,微步在線機器學習團隊還在Linux ELF格式的靜態檢測方面也獲得了豐碩成果,通過微步在線積累的海量惡意ELF樣本,從字節碼、字符串、二進制文件以及文件結構不同維度抽取的上萬個有效特徵,經訓練後獲得的ELF檢出模型成為ELF引擎的核心,在百萬級的樣本中,Linux ELF AI檢測在約30ms左右內可以精確識別惡意軟件,誤報率只有0.02%,檢出率達到99.4%,處於國際領先水準。Webshell引擎和Linux ELF引擎都是微步在線主機威脅檢測與響應平台OneEDR中的12款自研引擎之一,在4月底,OneEDR已升級到最新2.5版本,這個新版本已經全面集成了基於最新機器學習成果的Webshell引擎和Linux ELF文件檢測引擎,歡迎試用!OneEDR已升級到2.5版本
如有需要,歡迎聯繫我們
↓↓↓

5月18日19:00
攻防演練· 應急響應專題直播
↑ 戳藍字立即報名↑
如果不想錯過新的內容推送,可以設為星標
哦