從免費的WEB應用防火牆hihttps談機器學習之樣本採集

    hihttps是一款免費的web應用防火牆,既支持傳統的WAF的OWASP特徵工程檢查(如SQL注入、XSS、惡意漏洞掃描、密碼暴力破解、CC、DDOS等),也支持機器採集樣本無監督學習,自主對抗,重新定義web安全。今天筆者就從web安全的角度,介紹機器學習之樣本採集。 

一、 究竟什麼是web攻擊?

網絡安全專家通常認爲:web惡意攻擊很多是有其特殊的URL特徵,如

惡意掃描     GET /hihttps?cat ../…/../etc/passwd

SQL注入    GET /hihttps?user=123' or 1='1

XSS攻擊    GET /hihttps?user=<script>alert(1);</script>a

......這類攻擊確實有非常典型的特徵,傳統的waf和規則就可以防禦。

 

那麼下面的URL呢?

GET /hihttps?user=ls123

GET /hihttps?user=%0Als

……準確說,這類網絡安全專家也認爲是正常的請求,或者說無法辨別是否惡意攻擊。

 

      問題就來了,像GET /hihttps?user=ls123就一定是正常的請求嗎?不一定。

比如CVE-2019-11043高位漏洞:向Nginx + PHP-FPM的服務器 URL發送 %0a 時,可以執行任意遠程命令,從而控制整個服務器。也就是說:GET /hihttps?user=%0Als在某些環境就是一條成功的攻擊,並且執行了linux的ls命令;如果服務器沒安裝Nginx+PHP,也可以認爲是無害的。 

    再進一步,如果網站上根本沒有hihttps這個接口,那就是惡意掃描,一定要檢測出來並阻斷。但傳統的方法肯定不行了,那麼機器學習將是唯一的辦法。

二、 機器學習重新定義網絡安全

    和圖形圖像的機器學習相比,web安全採集樣本的成本是最低的,因爲只要把軟件在服務器上運行即可採集,甚至讀取web日誌文件,就可以拿到大量的樣本,而成本幾乎是0。

    但黑客攻擊樣本太稀缺了,根本無法拿完並且日新月異,從這個角度也可以說無監督或者半監督學習,纔是未來web安全的發展方向。下面舉例:

 

    如果從web服務器上https:// www.hihttps.com /hihttps.html?id=123,採集到的樣本參數大於99.9%都是“?id=數字”這種形態,那麼可以認爲下面的網址都視爲攻擊:

https://www.hihttps.com/hihttps.html?id=123' or 1='1

https:// www.hihttps.com /hihttps.html?id=<script>alert(1);</script>

https:// www.hihttps.com /hihttps.html?id=1234567890&t=123

https:// www.hihttps.com /hihttps.html?id=abc

    後面兩條網址,在傳統的waf是不可能檢測的,只有機器學習才能準確檢測出攻擊。所以機器學習的核心是:不是我服務器上的東西,都視爲非法攻擊,這樣有可能阻止未知漏洞和未知攻擊。這樣,web安全的概念和傳統的特徵工程完全不一樣了,機器學習重新定義了網絡安全。

三、 樣本採集原則

1、足夠的隨機化,在不同的IP地址之間隨機採集。

2、足夠多的樣本,保證99.99%的正確率,至少需要採集數萬份的樣本。

3、足夠的時間,至少在不同的時間段採集3-7天的樣本。

4、儘量是正常流量,樣本沒有被黑客攻擊污染。

5、完整的數據,樣本包括全部的HTTP 請求頭和body。

 

所以從web日誌裏面來讀取樣本數據是有限的,最好用WAF實際部署方式來採集。對於SSL加密的樣本採集通常用反向代理方式採集,可以參考hihttps源碼https://github.com/qq4108863

四、總結

1、現在的網絡攻擊都基於邏輯漏洞進行APT工具,就是高級持續威脅,傳統的waf規則很難對付未知漏洞和未知攻擊。

2、讓機器向人一樣學習,具有一定智能自動對抗APT攻擊或許是唯一有效途徑。但黑客技術本身就是人類最頂尖智力的較量,WEB安全仍然任重而道遠,

3、幸好hihttps這類免費的應用防火牆在機器學習、自主對抗中開了很好一個頭,未來web安全很可能是特徵工程+機器學習共同完成,筆者將在下一篇文章中介紹怎麼從樣本中提取特徵,自動生成對抗規則,未來WEB安全必然是AI的天下。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章