拿来就能用!如何用 AI 算法提高安全运维效率? | 技术头条(18)

然后取正样例中出现次数最多的300个词 , 构成词汇表(其他词统一用特定的字符如“NSRC”替代) , 使用gensim模块的word2vec类处理 。

我们可以看看XSS Payload的部分分词情况:

分类完成 , 挖掘XSS攻击 同样的 , 我们把正常样本也进行类似的处理 , 然后这里我们使用支持向量机(Support Vector Machines SVM)算法进行识别 。 SVM比较适合二分类问题 , 即我们所说的好/坏的情况 。

SVM是一种监督学习算法 , 在学习复杂的非线性方程时 , 能够提供一种更为清晰和更加强大的方式 。 之前很多有使用SVM进行图片验证码识别 , 识别的效果也是挺不错的 。

而在Python中 , 我们通过直接引入sklearn的 SVM 算法实现即可直接调用: from sklearn.svm import LinearSVC 通过已有的数据测试 , SVM数据的准确率基本上是98% , 召回率是97% 。 这时候我们就开始对日志进行分析 , 通过SVM的训练模型进行查找 , 确实发现了很多我们之前没有发现的情况 。 对发现的日志进行人工分析 , 有些场景的误报比较多 , 特别是参数值包含http请求的情况 , 这个和我们之前提取的特征有密切关系 。

推荐阅读