Apriori算法在web安全机器学习中应用的思考

apriori

apriori算法是在数据挖掘领域中出现的较高的对于频繁项的提取。频繁项的意义就是某几项物品出现的联系。

网络安全主要预防的问题

现在网络安全主要遇到的问题是web攻击的相关问题,而这些问题则又集中在sql注入,xss攻击等方式进行攻击,随着机器学习的发展。

也越来越多的人开始尝试机器学习在web安全上的相关应用。

url进行识别

目前做的比较多的网络安全的预测方式一是通过tf对url进行聚类处理,一种则是通过一些url的特征变量来进行模型训练。这两种方式的准确率也因项目不同而不一定。

apripri在web机器学习中的应用

我们现在提取到了一些特征变量,通过url长度等等。但是这种都不是强关联性,我们可以通过高危词等构造强关联特征。但是好像也不是特别准确因为各种危险词汇大都是自己造的,你无法确定即将出现的攻击的危险词在你的特征库里。

一些思考

我们通过频繁项来预测用户的对于某个商品关联其他的商品。那换种思路,如果该用户买了a商品很大可能性上会买b商品。是不是也在说同时买了a商品和b商品的是一类人呢。

我们在开推测一下,如果一个url中出现了select = 这些字符是一个危险的url是不是也是在说。

同时出现select = 均出现在url中则很可能就是异常数据。我们现在拿一批攻击的url进行频繁项提取,那么只要我们的样本量足够大。是不是就是这种频繁项是决定这个访问是否是攻击的重要依据。

需要解决的难题

难点1

其实我们进行频繁项提取,首先我们先要进行对url进行分词。但是目前来说,并没有主流的对url分词的框架或者包。我们无论是使用jieba、或者hanlp发现分的词都不算理想。我们只能尽量去通过停用词表或词性表去尽量的提高我们的准确度。

但是效果都不算好。我尝试不考虑分词而是对url进行两两组合,或者三三组合这种方式进行分词。但是效果仍然不算好。所以一套定制化的url分词工具是十分必要的。

甚至可以说这个分词工具比算法更能够影响我们实验的准确性。

难点2

如果对url进行频繁项提取,因为我们的数据不像商品订单能很容易产生共集。url攻击的分词结果未知,所以较大的数据量是我们提取的保证。而一个站点很难有足够多的攻击数据,所以我们如何获取足够多的攻击数据同样是一个难点。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值