第一天开通博客,以此来对学习过程中的心得加以记录,个人对机器学习在网络安全中的应用颇为感兴趣,尝试使用tensorflow实现sql注入、xss等攻击的识别。记录一下过程。
tensorflow是google开源深度学习框架,因其卓越的表现迅速成为深度学习领域的主流工具。
首先是数据集的准备,安全渗透类的数据集并不是很多,搜索了很久后终于找到一个可用的,git地址:https://github.com/foospidy/payloads。样本格式:
sql注入:admin") or ("1"="1
admin") or ("1"="1"--
xss: <img src=1 href=1 οnerrοr="javascript:alert(1)"></img>
<audio src=1 href=1 οnerrοr="javascript:alert(1)"></audio>
使用卷积神经网络识别攻击的思想是将攻击报文转换成44x44的图像矩阵,然后做图像识别。将样本字符串转换成1936维度的向量,如“ admin") or ("1"="1 ”转换为[1,1,0,0,0,0,1,1,1,0,0,1,0,0,1,1,0,1,1,0,1,1,1,0,1,0,0,1,1,1,0
,1,1,1,0,0,1,0,0,0,1,0,0,1,0,1,0,0,1,0,1,0,0,0,0,0,1,1,0,1,1,1,1,1,1,1,0,0,1,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,
0,1,0,0,1,1,0,0,0,1,0,1,0,0,0,1,0,0,1,1,1,1,0,1,