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

我们可以看到 , 通过画K与cost function的关系曲线图 , 如左图所示 , 肘部的值(cost function开始时下降很快 , 在肘部开始平缓)做为K值 , K=4 。

PS:并不是所有的问题都可以通过画肘部图来解决 , 这里使用肘部图是为了方便让大家观察 。 这里 , 我们直接调用sklearn中的KMeans算法:

分类完成 , 发现异常情况 通过K-Means分类 , 我们可以发现这四类的情况: 0簇的用户最多 , 139个 , 根据我们的经验判断这139个用户是正常的 。 所以我们的重点可以放在后面3个簇中 , 即关注用户25284952的行为 。 这里我们观察一下这4个异常用户的访问情况 , 我们可以看到这几个异常用户确实是可疑用户 , 和我们之前通过阈值分析结果匹配 , 并且还有些行为特定 , 如突然某一天的访问量都突然增多 。

说明:

K-Means很多时候只能帮助我们进行分簇 , 并不能直接解决问题 , 分类之后的工作还是需要安全工程师人工进行分析 。 如果面对海量的用户访问数据 , 通常情况下正常用户的访问占大部分(特别是内部系统) , 所以使用算法能够帮助我们排除大量正常的数据 , 让安全工程师更专注于异常的数据分析 , 可以大大的提高我们的分析效率 。

推荐阅读