【机器学习】漏洞攻防三部曲 张超

白帽子

2019/08/04 发布于 技术 分类

c3安全峰会2017 

文字内容
1. 漏洞攻防三部曲: 机器辅助,自动化,智能化 张超 清华大学 副教授
2. 关于 • 经历 • 2016/11-,清华大学,副教授 • 2013/9-2016/9,UC Berkeley,博士后,Prof. Dawn Song • 2008/9-2013/7,北京大学,博士,邹维研究员 • 2004/9-2008/7,北京大学,学士 • 研究方向 • 系统安全 • 程序分析 • AI for Security
3. Before we start...
4. 黑客竞技CTF (capture the flag) • DEFCON CTF (CTF的世界杯) • 蓝莲花战队:2013年决赛入围,2014、2015 第五名, 2016 第二名,均为国内历史最佳成绩
5. DARPA Cyber Grand Challenge 机器自动攻防超级挑战赛
6. Past (and present) 机器辅助攻防
7. 如何攻防? Vulnerability 漏洞 Exploit Patch 利用/攻击 补丁/防御 1. 在系统、软件中挖掘漏洞 2. 攻击方: • 针对漏洞编写漏洞利用(网页、文档等形式) • 触发软件的漏洞 • 实现攻击目的:劫持控制流、泄露信息等 3. 防守方: • 打补丁修复漏洞 • 在软件或者系统中部署通用防御,阻断攻击
8. 如何攻防? CVE-20170144 漏洞 WannaCry勒索软件 EternalBlue MS17-010 利用/攻击 补丁
9. 漏洞挖掘 • 什么是漏洞? CVE-20170144 漏洞 • 怎么挖掘漏洞? EternalBlue MS17-010 利用/攻击 补丁 WannaCry勒索软件 • 人工分析 • 代码审计 • 逆向工程 • 模糊测试 • 符号执行 • 无法确保软件中不存在漏洞!
10. 漏洞利用 • 怎么利用呢?这是一门艺术ART CVE-20170144 漏洞 EternalBlue MS17-010 利用/攻击 补丁 WannaCry勒索软件 • • • • • • 漏洞触发 漏洞影响分析 程序语义理解 内存布局分析 安全机制绕过 漏洞利用生成
11. 补丁/防御 • 分析漏洞,修复代码,生成补丁 CVE-20170144 • 极易出错 • 补丁部署周期长 漏洞 • 应用系统级防御策略 EternalBlue MS17-010 利用/攻击 补丁 WannaCry勒索软件 • DEP,ASLR,stack cookie等等 • 阻断漏洞利用流程
12. 机器辅助攻防:现状 攻击:需要数天时间挖掘漏洞、编写漏洞利用。 防御:需要数月时间部署安全补丁,攻击时间窗口大。
13. 机器辅助攻防:挑战 • 繁琐,易出错 • 需要经验、创造力 • 艺术/手艺活 • 不容易学习,不容易传承
14. Present (and emerging) 自动化攻防
15. DARPA Cyber Grand Challenge (CGC) 机器自动化攻防超级挑战赛 机器能够自动攻击、防御吗? 甚至有朝一日击败人类?
16. DARPA’s Grand Challenges 超级挑战赛系列 • 2004 Grand Challenge • 无人车,越野 240公里,最远的队伍 11.78 公里 • 2005 Grand Challenge • 无人车,越野 240公里, 5支队伍成功 • 2007 Urban Challenge • 无人车, 城市内 6小时96公里, 6支队伍成功 • 挑战:交通信号灯、stop标志、距离控制 • 工业化产出: Google 无人驾驶, Tesla Autopilot, etc. • 2012 Robotics Challenge • 人形机器人, 在复杂环境下执行复杂动作 • 工业化产出: Boston Dynamics Robot (Model Atlas, 2016,Model Handle, 2017)
17. DARPA 超级挑战赛系列 • 定位:前沿、颠覆性、重大影响 • 目的:学术研究、工业化
18. DARPA Cyber Grand Challenge 机器自动化攻防 7支种子队伍 (75万美元) 97支开放队伍 CQE (2015/6) 7支决赛队伍 (75万美元) CFE (2016/8) CGC 冠军 (200万美元) DEFCON CTF 14支人类队伍 人机大战 (2016/8)
19. 我们的团队: CodeJitsu Dawn Song UC Berkeley Heng Yin George Candea Chao Zhang Syracuse (UC Riverside) EPFL (CyberHeaven) UC Berkeley (清华大学)
20. 队员 & 机器 CodeJitsu Galactica
21. 竞赛结果 CQE资格赛:防御 #1 安全总分 CFE决赛: 攻击 #2 防御其他队伍攻击 防御官方攻击
22. 我们的技术 • 漏洞挖掘 • 模糊测试 + 符号执行 + 静态分析 • 补丁/防御 • 通用防御策略 + 二进制程序改写 • 漏洞利用 • 动态分析 + 启发式 + 符号执行
23. 自动化攻防:挑战 • 漏洞挖掘的挑战 • 模糊测试:代码覆盖率 • 符号执行:路径爆炸、约束求解 • 漏洞利用约束 • 艺术! • 严重依赖于开发者自身的攻击经验 • 无法攻击复杂的漏洞、复杂的应用环境
24. 自动化攻防:现状 人机大战(DEFCON CTF 2016) • 人类技巧 • 重用其他队伍的补丁 • 风险:后门 • 重放其他队伍的攻击 • 机器优势 • 免疫简单代码混淆 • 快速发现漏洞、尝试经典攻击方式
25. Future 智能化攻防
26. 智能化漏洞挖掘 • VDiscover: • 特征提取:API 调用序列、参数等 • 漏洞预测:机器学习算法 train predict
27. 智能化漏洞挖掘(2) • Learn&Fuzz: • 改进模糊测试:生成Valid输入作为种子 • 生成Valid输入:使用 RNN
28. 智能化漏洞挖掘(3) • Graph-based Bug Search for Firmware Images (CCS’16) • Idea:不同固件中存在相似漏洞 • 方案:生成漏洞DB,固件DB,交叉搜索
29. 我们可以弯道超车吗?
30. Thank You