0x01、云态势感知如何集成
针对网络犯罪来说 , 速度是制胜法宝 , 在暗网中发布的恶意软件平均 9 分钟 , 有企业被发布的恶意程序攻击 , 平均只需要四个小时窃取其目标的财务信息 , 敲诈资金或造成广泛的破坏。全球范围内的杀软大厂统计的数据 , 检测到并阻止的所有恶意软件文件中大约有 96% 仅在一台计算机上被观察到一次 , 表明现代攻击的多态性和针对性以及威胁格局的碎片化状态。实时停止新的恶意软件比以往任何时候都更加重要。
大量研究已经研究了用于分析和检测恶意软件的方法。传统的态势感知产品中通常依赖于基于签名的方法 , 该方法需要本地签名数据库来存储专家从恶意软件中提取的模式。但是 , 这种方法有很大的局限性 , 因为对恶意软件的特定微小更改可能会改变签名 , 因此越来越多的恶意软件可以通过加密 , 混淆或打包来轻易地逃避基于签名的检测。
无论是态势感知产品中的 EDR, 网络层面的高级威胁检测组件都会用到相关的技术。那么在公有云环境中 , 快速检测到未知威胁 , 并且尽可能快的通知用户做响应 , 是我们追求的目标 , 既然传统的方法无法彻底解决现有问题 , 我们就把目光落在了机器学习和深度学习上 , 希望他们给让态势感知产品重生。
0x02、产品设计架构
1、相关前置条件
本文主要讨论的是网络层面如何通过机器学习 & 深度学习算法提升未知威胁检测计算 , 那么对你的态势感知产品有一定的要求 , 首先 , 需要完成基于签名的网络层面的检测 我们通常说的 IDS, 同时需要具备文件还原动态沙箱检测能力。这些安全能力是做机器学习的基础。
2、现有大厂调研 ( 核心能力输出厂商 )
IDS 结合沙箱这个概念是 Fireeye 首先提出的 , 目前其技术也走在前列 , 但是针对未知威胁检测能力 , 它主要是在云端去做。把所有能力都转化成威胁情报能力 , 本地沙箱只是提交可疑流量。Palo Alto 也一样。传统的杀毒软件卡巴斯基、Symantec、趋势。新兴的安全大厂微软等都是把这种能力集成到了云端。那么现有态势厂商都通过他们来集成威胁情报检测能力。大致流程图如下 :
这样一个未知威胁情报在整个过程中流转最少需要 2~3 天的时间 , 大家想想能赶上恶意软件生成的速度么 ? 所以需要加入机器学习和深度学习的支撑 , 才能把检测时间降低的分钟级检测或者说达到预测的效果。
其实我们需要改造的就是威胁情报处理中心 , 应用 ML&AI 算法。
0x03、涉及到算法描述
1、威胁情报查询
这个大家不要误会 , 只的是 ML&AI 学习后确定下来的样本分类结果 , 做一下缓存 , 如果相同 , 那不需要在做二次检测 , 降低检测时间。
2、PE 静态分类器
说是 PE 文件分类器 , 其实可以扩展到多种文件类型 , 比如 windows 平台比较流行的 powershell,JavaScript,VBScript,Office Macro 和 PE 文件 ,linux 文件系统中的 elf 文件。那么现在主流静态文件分类器有两个流派 , 一个是使用静态文件的 metadata 提取然后通过机器学习分类算法判断是否为恶意软件 , 这种方法比较适合在客户端运行的机器学习杀软 , 例如 :endgame、cylance 等 , 第二种方法是通过反编译 asm 做成操作码的方式做分类判断 , 这种方法需要一定的算力 , 所以适合云端处理。针对于云服务 , 我们选择第二种方法。当然 , 在这之前 , 解决静态文件的加密和加壳的问题。使用的算法 :LSTM 分类。这是第一层检测。然后需要针对各种文件类型做二次机器学习分类检测。因为不同的文件类型产生的机器学习向量有偏差 , 对最终的检测结果有影响。
3、ML&AI 动态分类器
先解释一下 , 动态的意思是 , 由于目前静态加密和加壳方法太厉害 , 我们打算把恶意软件样本打入到沙箱中运行 , 获取 APICall 全部信息 , 作为 ML&AI 的学习的基础数据。因为很多沙箱 APICall 中无法坚持的已经确定的恶意行为调用。这时候就需要 ML&AI 的方法去做判断。
第一层建议使用机器学习分类器使用 ML 模型检测。
第二层建议使用多类深度神经网络 ( DNN ) 分类器评估。
4、决策中心
态势感知需要对文件做确切的鉴定 , 所以要求分类置信度要达到 90% 才能给出确切的判断。使用静态和动态特征的分类器评估结果进一步提高恶意软件检测的置信度。这个置信度也就是我们对恶意软件危险系数。
0x04、结论
通过上述机器学习和深度学习方法 , 云态势感知产品可能给用户更确切的检测结果 , 缩短检测时间 , 让态势感知产品真正具备预测未知威胁的安全能力。
留言与评论(共有 0 条评论) |