首款基於機器學習的web應用防火牆hihttps開源

一、HiHTTPS是首款基於機器學習、自主對抗未知攻擊的高性能SSL WEB應用防火牆( SSL WAF),源碼完整並且兼容ModSecurity正則規則。
[開源版提供完整的源碼和防護]
1. 惡意Web漏洞掃描
2. 數據庫SQL注入
3. 跨站腳本攻擊(XSS)
4、CC & DDOS防護
5、密碼暴力破解
6. 危險文件上傳檢測
7. 非法URL/文件訪問
8. 兼容OWASP的ModSecurity正則規則
9. epoll模型單核數萬併發連接
10.無監督機器學習、自主生成對抗規則
.....


二、編譯運行
1. 安裝OpenSSL和libpcre
CentOS :
yum install openssl openssl-devel
yum install -y pcre pcre-devel

Debian/Ubuntu:
sudo apt-get install openssl libssl-dev
apt-get install libpcre3 libpcre3-dev

2.編譯
解壓到任意目錄,make後生成可執行文件hihttps
[rules]是規則目錄,[train]是樣本採集目錄,[vector]是自然語言word2doc向量生成目錄,[src]是源碼目錄。


3.規則
規則放在和hihttps同一級的rules目錄,更多規則在https://github.com/SpiderLabs/owasp-modsecurity-crs/ 下載。


4.運行
通常是hihttps前端運行443(https)端口,後端反向代理80端口; 首先保證Web服務器80端口運行正常,443端口沒佔用。
./hihttps默認讀取當前目錄下的confg.cfg文件, 或者./hihttps --config /dir/config.cfg, 打印出規則就成功。

三、測試
1.ModSecuriyt規則測試
rules/main.rule默認加載了一條SQL語句檢測規則,可以訪問https://serverip/select.html?testsql=delete * from test
或者用Kali系統的漏洞掃描器nikto運行:./nikto -host serverip -ssl -port 443 -C all
如果產生了報警記錄,則代表正常!


2.機器學習/自主對抗規則測試方法:

機器學習是核心,但採集樣本需要一定時間,爲了方便測試,默認了一條hihttps.html對抗規則:
如果訪問https://serverip/hihttps.html?id=123採集到的樣本大於99%都是這種形態,那麼下面的網址都將產生攻擊報警:

https://serverip/hihttps.html?id=123' or 1='1
https://serverip/hihttps.html?id=<script>alert(1);</script>
https://serverip/hihttps.html?id=1234567890&t=123
https://serverip/hihttps.html?id=abc

3、要測試併發連接,可以用wrk等工具在相同環境對比和nginx反向代理的性能。
wrk -c 25 -t 25 -d 10 https://127.0.0.1/

源碼地址:https://github.com/qq4108863/hihttps

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