电脑疯子技术论坛|电脑极客社区

微信扫一扫 分享朋友圈

已有 1112 人浏览分享

通过ZAT结合机器学习进行威胁检测

[复制链接]
1112 0
机器学习概述

在机器学习中我们针对安全数据的处理显得异常重要针对不同的攻击类型数据我们需要选择合适
的算法但是大体过程都是分为以下几个步骤:

获取数据
特征抽取
特征预处理
特征降维
模型训练
模型评估

通过zat处理zeek全流量日志数据

这篇文章主要是介绍通过zat处理zeek的全流量数据的分析方法。
zeek是开源NIDS入侵检测引擎 目前使用较多的是互联网公司的风控业务
zeek中提供了一种供zeek分析的工具zat。

zat工具包处理zeek输出具备了多种的方法其中如下:

处理日志数据动态轮询
Zeek记录到Pandas数据框和Scikit-Learn
动态监视files.log并进行VirusTotal查询
动态监控http.log并显示“不常见”的用户代理
在提取的文件上运行Yara签名
检查x509证书
异常检测

处理zeek的dhcp.log日志数据

QQ截图20211124151738.png

输出带有时间戳的字典

QQ截图20211124151835.png

处理zeek的dns.log日志数据,并使用 Pandas 将dns.log文件输出

99999.png

99998.png

接下来我们用sklearn进行数据集划分,这里展示部分代码

99997.png

输出结果:

99996.png

对zeek的file.log日志进行病毒文件查询。这里展示部分代码 vt_query
是查询VirusTotal的相关库

2158.png

针对VirusTotal服务查询每个文件sha256 / sha1 值

100.png

针对zeek的http.log日志进行查询。这里主要是针对UA头的数据进行

99.png

输出结果

98.png

用Yara 动态监视 extract_files目录 当Zeek删除文件时 代码将对该文件运行一组Yara规则

97.png

输出结果

96.png

对域名进行检测,并对这些url进行“病毒总数的查询”

28.png

当你的机器访问 uni10.tk 时输出效果如下

26.png

针对x509.log的数据因为有些钓鱼或者恶意网站流量是加密的这个
我们可以通过证书来进行判断

22.png

运行后输出如下效果

21.png

针对异常检测我们可以使用孤立森林算法进行异常处理。一旦发现异常我们便可以使用聚类算法将
异常分组为有组织的部分,从而使分析师可以浏览输出组 而不用一行行去看。

20.png

输出异常分组

19.png

检测tor和计算端口号。通过遍历zeek的ssl.log文件来确定tor流量这里贴出部分代码

18.png

输出结果如下:

17.png

16.png

下一篇文章将会单独以zeek的dns.log日志为例介绍将dns.log数据进行sklearn特征工程并
使用numpy进行矩阵运算和pca降维等等。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

关注

0

粉丝

9021

主题
精彩推荐
热门资讯
网友晒图
图文推荐

Powered by Pcgho! X3.4

© 2008-2022 Pcgho Inc.