以下内容根据RSA 阿里安全的PPT学习得来,如果涉及版权问题,请与我联系。我立即删除。
安全数据分析中机器学习和统计模型
Machine Learning vs. Statistical Modeling
机器学习:依赖数据和算法
Machine Learning: Rely on data and algorithms
- 大量加了标签的数据Large amount of labeled data
- 特征工程 / 日志嵌入Feature engineering / log embedding
- 合适的学习算法 Proper learning algorithms
统计模型:依赖人的经验
Statistical Modeling: Rely on human’s experiences
- 查找攻击行为的共同特征 Find common trait of attack behavior
- 特征工程 Feature engineering
- 合适的统计算法 Proper statistical algorithms
相比起来「机器学习」在攻击检测上效果不佳。
机器学习擅长找到「正常模式」,但是入侵是异常行为。不能简单认为异常数据就是非正常的那部分。
‘大数据’不等同于‘大标签(labeled)数据’,无人监督学习的准确度和召回率不能支持安全运营的应用。
很难定义一个合适的功能来判断是否一个记录代表入侵没有。只有“是或否”不足以做安全分析。
适合机器学习的场景是一些特定领域,容易积累标签数据的那种。比如垃圾邮件、DGA域名检测、网络爬虫检测。
解决办法:使用统计模型解构威胁
Solution: Use Statistical Modeling to Deconstruct Threats
关键点:入侵的发现路径
入侵通常需要很长时间,有多个阶段,路经多个节点。
因此安全数据分析的过程如下:
1)数据预处理
去除正常数据中的干扰项。
- 正常行为导向模型:重复的行为总是正常的
- 过滤出大概率的正常数据
- 召回是最重要的指标
2)攻击模型
识别可疑行为。
- 攻击导向模型:相同类型的攻击倾向于有同样的特征
- 检索更多疑似攻击行为构成异常行为模型
- 精确度是最重要的指标:假阳性(识别为攻击但其实不是真的攻击)成本最高。比如增加打印机可能会导致网络重新扫描;一些基于云的服务可能有心跳检测;防病毒工具可能使用DNS通道抽样可疑文件。
3)告警关联
基于风险给告警设置优先级。
- 基于图形的路径发现和风险优先排序
- 节点:资产、IP地址、网络
- 连线:攻击关系、或者风险传播
- 一对节点只能有一个连线,不管有多少告警在他们之间
- 建立完整的攻击场景
- 不同的攻击阶段
- 资产的网络分布
- 风险和每个告警的准确度
- 精确度是最重要的指标:假阳性成本很高
真实攻击要一直保持总结在100个告警以内!(运营单天处理能力上限)
网友评论