Quantcast
Channel: 碳基体
Viewing all articles
Browse latest Browse all 75

Data minging for security at Google —— Max Poletto 笔记

$
0
0
2014年秋 斯坦福大学网络课程 Data Mining For Cyber Security CS259D 上来自google security Monitoring Tools组负责人Max Poletto 的现身说法PPT的笔记加个人批注

一、背景
1. 在google数据挖掘的常见安全应用场景
(1)账号劫持检测
(2)广告点击欺诈检测
(3)DoS检测
(4)入侵检测

批注:更多安全应用场景可以参考 http://danqingdani.blog.163.com/blog/static/18609419520150270592208/


2. 安全分析的主要工作
(1)监控:
主动、持续性的发现入侵、越权操作、脱裤等 


(2)分析:
被动、事件驱动、以人为主导的产出威胁情报,事件调查

批注:根据介绍推测,google的安全工作同国内其他公司一样,都是以攻击事件来驱动的后发安全

二、监控
1. 监控流程图
Data minging for security at Google —— Max Poletto 笔记 - 碳基体 - 碳基体
 2. 经验之谈
a. 漏报花费-破坏造成的损失成本
b. 误报花费-安全分析人员时间花费成本
c. 报警信息信息要有效(批注:目前IDS/SIEM产品的最大问题是,产出大量报警信息导致无效运维,后文会展现什么是有效的数据展现,提前剧透一下,数据去噪后的多维度(时间维度+关系维度)图形化展示)
d. 分析能力受限于数据质量(批注:现实中,完美的数据是不可能的,很多情况下都在有限的数据下发挥作用,每缺一种数据,就需要一种甚至多种分析方法来弥补)
Data minging for security at Google —— Max Poletto 笔记 - 碳基体 - 碳基体
3.检测方法一异常检测

原则:对正常行为建模,查找异常点
优点:理论上绝对可以发现新的未知攻击
缺点:噪音太多 ,聚类的结果不可读

实际案例:账号异常检测
原理:对正常账号行为建模查找异常点
步骤:feature确认-正常行为建模-异常点查找
方法:
Data minging for security at Google —— Max Poletto 笔记 - 碳基体 - 碳基体

 模型结果: 准确率太低,1%的异常意味着500个员工都是异常账号(批注:数据越大,误报的问题就越扩大)

Data minging for security at Google —— Max Poletto 笔记 - 碳基体 - 碳基体

 经验:不是所有的异常都是攻击,异常但正常的特例太多 

批注:个人经验,异常检测+攻击确认是必不可少的,无论是HTTP参数长度异常检测模型,webshell检测模型的实际经验都证明了这个结论

4. 检测方法二:基于规则(其实是策略)的检测,也就是专家系统

原则:基于专家领域知识直接设置规则(策略)
优点:可以直接将策略与预警对应起来
缺点:未知攻击不可感知,规则绕过问题

批注:其实规则(策略)绕过问题,个人觉得是对攻击行为的总结太过局限,比如说正则狗,我们可以抓住攻击行为的关键路径更加抽象一点来描述攻击行为


 google自研系统:
Data minging for security at Google —— Max Poletto 笔记 - 碳基体 - 碳基体
 
 三、分析

1. 经验

我们要认清以下事实:
(1)完全自动化是不可能的(批注:现阶段我们必须承认这个事实)
(2)以人为本——必须以安全分析人员为主导
(3)在安全分析中应用数据挖掘的本质——更好的辅助安全分析人员的分析工作

批注:辅助包括数据的去噪与多维度(时间维度与关系维度)的可视化展现,可视化有两个方向,分析过程可视化与分析结果可视化,都是为了更好的理解),让安全人员可以聚焦到深度分析中,来找到攻击事件的成因。
Data minging for security at Google —— Max Poletto 笔记 - 碳基体 - 碳基体
 2.分析方法与实例

(1)方法综述
攻击事件取证:graph traversal
去噪:graph summarization, cluster
恶意软件分类:classification 

批注:将算法术语翻译成中文,就感觉像将shell翻译成壳一样的不自在

(2)案例1: 水坑攻击事件取证
经验:数据需要做去噪操作,全局的图计算花费大


(3)案例2:通过图转换 graph transform 来进行 log summarization

反例:
开源取证工具: https://github.com/log2timeline/plaso 基于时间线的单维度来展现事件
Data minging for security at Google —— Max Poletto 笔记 - 碳基体 - 碳基体
 
缺陷:结果太多,无法运维
改善版本:数据的多维度细粒度展现:时间维度+关系维度(批注:特别是关系维度,目前的产品几乎以时间维度为标配)
方法:将日志转换为图,定义等价条件(例如时间点转换为时间段;url转换为域名,子操作聚合成一类操作)采用图的最小化算法(graph automata minimizationhttps://en.wikipedia.org/wiki/DFA_minimization  )来去噪,只提取最有意义的数据(批注:日志去噪技巧上,sumologic最新提出了logreduce的概念,采用聚类的方式来减少日志量)

对比结果如下
Data minging for security at Google —— Max Poletto 笔记 - 碳基体 - 碳基体
 最终结果展现
Data minging for security at Google —— Max Poletto 笔记 - 碳基体 - 碳基体
 (4)案例4:恶意软件分类
恶意软件分类:样本,indicators,所属家族

最终方案:
Web-scale annotation by input embedding

四、结论
1. 安全分析的应用领域很多——前景
2. 数据增长与未知攻击使得数据分析过程如果不自动化,将让安全分析人员陷入困局,而要保证高的检出率准确率的完全自动化是不现实的,所以采用交互式的分析过程(以安全专家为主,利用数据挖掘提供更好的分析工具)是目前唯一明朗的道路

Viewing all articles
Browse latest Browse all 75

Trending Articles