摘要
针对基于监督学习的SQL注入检测方法在某些场景下不适用的问题,本文提出一种基于自训练的半监督SQL注入检测方法(self-training based semi-supervised SQL injection detection, S4ID)。S4ID首先对SQL语句进行特征提取,包括基于语法树的模式提取和基于词袋模型的特征向量表示;然后使用基于自训练的半监督算法进行训练,通过从未标记样本中选取部分样本并打上伪标记,实现训练集的扩充,从而改善机器学习模型。实验结果表明,在有标记样本有限的情况下,S4ID可以利用未标记样本,取得比监督学习方法更好的SQL注入检测效果。
-
单位福建省电力有限公司电力科学研究院; 计算机软件新技术国家重点实验室; 南京大学