前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通过ZAT结合机器学习进行威胁检测

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

作者头像
FB客服
发布2020-07-28 10:39:33
1.1K0
发布2020-07-28 10:39:33
举报
文章被收录于专栏:FreeBufFreeBuf

机器学习概述

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

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

通过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日志数据

输出带有时间戳的字典

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

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

输出结果:

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

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

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

输出结果

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

输出结果

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

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

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

运行后输出如下效果

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

输出异常分组

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

输出结果如下:

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 机器学习概述
  • 通过zat处理zeek全流量日志数据
相关产品与服务
主机安全
主机安全(Cloud Workload Protection,CWP)基于腾讯安全积累的海量威胁数据,利用机器学习为用户提供资产管理、木马文件查杀、黑客入侵防御、漏洞风险预警及安全基线等安全防护服务,帮助企业构建服务器安全防护体系。现支持用户非腾讯云服务器统一进行安全防护,轻松共享腾讯云端安全情报,让私有数据中心拥有云上同等级别的安全体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档