摘要
SQL注入是一种常见的Web安全漏洞,其利用方式简单,破坏力强。对抗机器学习是一种针对检测模型的攻击方法,通过改变检测样本的内容和结构,从而使得检测模型大大降低对其检测的效果。现如今有许多针对SQL注入检测模型的研究,然而多数研究未考虑对抗样本下的检测效果和防御手段,这种危害巨大的攻击手段配合对抗机器学习对Web应用的安全产生了巨大威胁。为保障检测模型的健壮性,预防该攻击手段的潜在危害,本文通过分析现有的和本文提出的对抗机器学习方法所产生的对抗样本,提出了一种新的检测方法。首先,针对MySQL数据库,文本加入了抗语法干扰的预处理操作。随后,本文通过SQL语法解析方法对SQL注入样本进行token化处理,防止语义干扰。最后引入word2vec和LSTM方法对SQL注入样本进行检测。通过实验证明,本文所提出的检测方法大大缓解了对抗机器学习所产生的危害,针对对抗样本的检测率仅下降了3.18%。
- 单位