使用 ML&AI 断定不知道恶意程序

来源:嘶吼RoarTalk 2020年04月14日 12:07

0x01、前语

在上一篇 ML&AI 如安在云态势感知产品中落地中介绍了,为什么咱们要猜测不知道歹意程序,传统的安全产品现已无法满意现有的安全态势。那么咱们要运用新的技能手法装备咱们的安全产品,经过大数据的手法更好的处理不知道歹意程序给咱们带来的损害。

0x02、落地技能架构

一、怎么检测

上篇文章讲了大致的落地办法,本文首要是给咱们露出更多的技能细节。

1、IDS Agent 复原文件会核算一下 MD5hash 值与 FIleHash 缓存体系比照一下,假如有则直接陈述为歹意软件,而且附上歹意软件宗族分类,假如没有依据聚类算法分红不同的不知道分类,不存储该文件,更新缓存,把发作的时刻和次数记载一下,为下一步盛行度核算运用。

2、假如没有这个文件,那么存储到目标存储(公有云 IAAS 组件,OSS)。存储完结后向下一个环节投递,宣布 kafka Topic 音讯给主程序。规划这个是因为在公有云环境下需求判定的文件是海量的,需求一套大数据流通体系缓存。

3、主程序运用多线程的办法发动多个处理单元。接收到 kafka 音讯后,从音讯中取出 OSS 的文件途径,然后下载文件到本地,然后调用动态沙箱的文件送检 API 接口传递到下一个环节。然后等候沙箱回调函数,有回调音讯后,获取沙箱的 report,然后把相关信息填充到 kafka Topic 中向下传递。当然中心能够加数据补齐的流程等。在这有两个分支

分支一:把 APICall 信息传递给 SparkMlib 库做动态文件二分类器判别。这儿首要是运用 GBDT、XGBOOST (详细运用哪个算法需求看准确率、召回率 、F1_score 终究的成果选定)

分支二:网络流量从沙箱镜像出来,然后向网络重放一下。经过反常流量检测引擎,这四个检测又是 4 个 ML&AI 判别模型。

歹意 SSL 流量检测

特征工程,有详细含义特征 ->CNN

· flowMetadata [ 上行字节数 / 下行字节数 / 上行报数 / 下行包数 / 持续时刻 ]

· sequence of packet [ 长度序列 / 间隔时刻序列 ]

· Byte distribution [ 字节散布概率 ]

· TLS header [ TLS 加密套件 /TLS 扩展 / 公钥长度 ]

前 N 个包 payload 直接转化成图画 CNN

兼并两个检测成果判别歹意 SSL 流量

DNS 反常域名检测

经过 LSTM 聚类的办法,找出高度相关的域名和独立点。孤立点设为可疑域名。

DGA 域名检测

特征工程首要包括以下 3 点

· 域名随机性 ( 随机性和熵 )

· 域名长度较长

· n-gram ( bigram ( 相邻双字 ) )

躲藏通讯信道检测

运用随机森林算法

4、主程序一起需求做静态文件检测,依据不同文件类型送入到不同的类型静态文件分类器。

针对 PE/ELF 文件处理流程

需求经过 yara 文件简略判别一下是否加壳 & 加密。

未加壳 & 加密经过静态反编译效劳中,核算出汇编序列,然后送入到静态 PE/ELF 分类器判别。

针对其它类型文件,需求不同的 ML 学习模型判别。

比如说脚本文件 powershell,调研一般都有不同的操作码。这都需求深耕细作。

还有比如说 webshell 检测,也需求对不同的 webshell 做不同的处理。php 马是一个很典型的比如,还有菜刀等。

5、检测成果都发往决议计划中心。依据多类决议计划树判别。得出终究成果发往歹意文件宗族分类器。

歹意文件宗族分类一般运用两种多分类器办法。

机器学习算法引荐运用 k-means

深度学习办法主张运用卷积神经网络 CNN 算法

终究主张再过一遍聚类,找出孤立点。

6、构成歹意文件宗族和不知道歹意分类。终究存储到 ElasticSearch 便利提供给前端用户展现。

二、怎么练习

经过上述全栈机器学习和深度学习算法的描绘,一切模型加起来 15+。那么这么多模型怎么练习,怎么更新是本次换 " 芯 " 最重要的部分。

1、那么针对机器学习部分,咱们需求保存所提交的样本,无论什么方式都经过流量的方式发送到 kafka 终究存储到 HIVE 重,然后导入到 spark mlib 中进行模型核算。当然,还有一些公网中参加的是非样本,也是经过相同的方式进入到这个循环中。

2、那些针对深度学习的模型,需求咱们树立深度核算 GPU 效劳集群,设备需求标准:24 核 128G 内存 / 流量 50Gbps ( 20% https 流量 ) NVidia GeForceGTX1080 GPU https:7000QPS 核算文本和图画加起来需求 8 台物理效劳器。歹意软件病毒宗族分类看规划大约 8 台能够满意现在带宽情况下的文件复原速度(25 万个样本 /day)。

3、在有限的资源下,大约 1 周更新一次一切模型。

0x03、总结

经过以上描绘,咱们能够根本了解不知道要挟检测的 ML&AI 的大致原理。剩余的就是怎么代码完成其功用。当然算法调优也是一个绵长的进程。终究完成提高态势感知产品自动化程度,以及完成安全才能的智能化输出。

相关推荐
最新文章