拿来就能用!如何用 AI 算法提高安全运维效率? | 技术头条(12)
这些条件还可以组合 , 综合一些规则条件来处理 。 当然 , 再复杂一点就是一个简单的日志行为分析系统了 。 我们考虑一些场景 , 如果是一些应急的分析需求 , 日志量有不小 , 我们怎么来快速进行分析呢?或者是已经有很多日志数据了 , 因为数据量太大而没有利用起来 , 我们是否能挖掘其中的价值呢? 这里我们尝试使用机器学习的算法来进行一些分析 。 具体实例——发现异常用户 很多时候 , 我们的需求是发现异常用户行为 , 所以需要有工具帮助我们快速提取异常的用户行为 。 有过日志分析经验的同学应该会有这样的经验:通常情况下 , 大部分的用户基本都是正常请求;有部分用户的请求是异常;但是异常的情况之间往往有很大的差异 。 简单来说就是正常的人都差不多 , 奇葩的人可能有各种奇葩 。 那么 , 我们怎么去提取这些“奇葩”呢? 最理想的情况就是通过机器学习的算法 , 直接区分出正常和异常的用户 。 正如我们前面提到的 , 异常的情况可能是多种多样 , 所以这里我们不能简单的进行二分类 , 而是考虑使用聚类算法 , 先进行分类 , 再针对各类的用户进行针对性的分析 , 这里我们尝试使用K-Means算法 。
上图就是通过K-Means算法分簇效果展示 , 通过图表相信大家比较容易理解 。 很多时候一开始分析日志时 , 我们并不清楚正常访问和异常访问具体的特征和区别 , 所以这里使用 K-Means算法 , K-Means本身是无监督学习算法 , 所以我们在使用时并不需要花费大量的时间来搜集样本 , 并进行模型训练(终于不用像识别图片验证码那样整理一大堆的样本文件了) 。 另外一个很重要的原因就是K-Means算法非常容易实现 , 上手也比较容易 , 简单的来说就是先根据请求的特性进行分类 , 然后我们去掉正常的请求(通常情况下数量最多的一簇) , 针对其他簇(异常)进行深入分析 。 K-Means算法的思想很简单 , 对于给定的样本集 , 按照样本之间的距离大小 , 将样本集划分为K个簇 。 让簇内的点尽量紧密的连在一起 , 而让簇间的距离尽量的大 。 有关“簇”和“质心”参考下图:
推荐阅读
- steam|何广智首秀金铲铲之战?上来就要PK神超红莲,这位是来搞笑的吧?
- edg战队|青史待留名!多么希望这些中国队员们能用我们中国人自己的名字
- 阴阳师|阴阳师:这几位看似过气实则偶尔确实能用 六星练度务必一直保留
- 原神|原神:托马培养方案一览,胡桃不来就算了,他总没那么大面子吧?
- 金泰相|LOL:Doinb知耻而后勇,直播苦练妖姬和佐伊,希望明年能用到
- ag战队|英雄联盟手游,拳头本来就懒得做,谁知道他怎么开窍了
- 赤色要塞|玩经典游戏《赤色要塞》魔改版:吉普车也能用激光炮,童年梦想实现了
- lpl|为什么LPL被淘汰的三支战队不能用“可惜”这个词?
- 剑网3|梦幻西游:龙宫的新经脉怪物能用吗?抗法爆属性的灵饰要涨价了
- 谛听|梦幻西游:涛哥千亿领须弥,12JN谛听合出来就是四轮车