摘要
为有效检测SQL注入(structured query language injection,SQLI),对机器学习的基本方法进行研究,通过朴素贝叶斯(Naive Bayes)分类算法对SQLI检测分类。对用户可能输入的字符序列,经特征提取与词法分析后,生成特定顺序标记(Token)的特征向量,通过朴素贝叶斯模型对其分类,评估出SQLI与非SQLI (non-SQLI)两个类别。对预处理阶段加以细化,包括对特征提取方法的改进与词法分析标记原子化;在机器学习阶段,针对预处理后的特征向量,提出一种可去噪声的SQLI检测算法。实验结果表明,在给定的预先确定了SQL语句类别的数据集的情况下,该方案可以有效地检测SQLI攻击。
- 单位