通过机器学习识别恶意 URLs
一、主要内容
识别恶意url,即将url分为正常的url和恶意url。属于机器学习中的二分类问题。本次实验使用逻辑回归[1]和 SVM 机器学习方法建立监测模型,对未知URLs进行恶意检测。
二、实验整体思路
-
分别拿到正常请求和恶意请求的数据集。
-
对无规律的数据集进行处理得到特征矩阵。
-
使用逻辑回归方式使用特征矩阵训练检测模型。
-
最后计算模型的准确度,并使用检测模型判断未知 URL 请求是恶意的还是正常的。
2.1 获取数据集[2]
good_fromE 某系统的某天的正常访问url,已去重
good_fromE2 同上
bad_fromE 利用sql注入某系统产生的url记录
badqueries 来源于网上数据(数据量较大)
goodqueries 来源于网上数据 (数据量较大)
恶意请求部分样本:
/top.php?stuff='uname >q36497765 #/h21y8w52.nsf?<script>cross_site_scripting.nasl</script>/ca000001.pl?action=showcart&hop=\"><script>alert('vulnerable')</script>&path=acatalog//scripts/edit_image.php?dn=1&userfile=/etc/passwd&userfile_name= ;id; /javascript/mta.exe/examples/jsp/colors/kernel/loadkernel.php?installpath=/etc/passwd\x00/examples/jsp/cal/feedsplitter.php?format=../../../../../../../../../../etc/passwd\x00&debug=1/phpwebfilemgr/index.php?f=../../../../../../../../../etc/passwd/cgi-bin/script/cat_for_gen.php?ad=1&ad_direct=../&m_for_racine=</option></select><?phpinfo();?>/examples/jsp/cal/search.php?allwords=<br><script>foo</script>&