Google Project Zero挖洞经验整理

1. 目标:漏洞挖掘越来越难

2. 关注客户端,包括安卓,IOS,WINDOWS操作系统,PDF,DOC,AV等等;各种OSS开源代码安全,并且开放了OSS-FUZZ工具;

3. 漏洞削减技术来帮助Google的技术提升,包括彻底修复一类漏洞、彻底修复这个漏洞,此种漏洞的攻击面、增加这个漏洞利用的阶段性必须使用组合技术绕过;

4. 漏洞挖掘方法:Fuzzing、优秀的漏洞挖掘者想出如何挖洞的思路、针对高难度的内核等需要手工(手工输出经验);

5. 公开漏洞挖掘和使用的技术:

https://github.com/google/oss-fuzz

https://github.com/google?utf8=%E2%9C%93&q=fuzz&type=&language=\

工具:valgrind

公开设计方法:例如chrome的设计原则

公开漏洞细节:https://googleprojectzero.blogspot.com/

Sanitizer技术分成:

a、内存Sanitizer:未初始化指针;

b、地址Sanitizer:发现UAF、缓冲区溢出、内存泄露; Google 99%项目应用在单元测试;

c、进程Sanitizer:发现竞争条件等漏洞;

d、UBSanitizer:未知行为的;

6. 参考地址:

https://www.youtube.com/watch?v=ZKIIPu1wqHs Google Project One

https://www.youtube.com/watch?v=FP8zFhB_cOo  Google Fuzzing

7. 发现漏洞列表:

https://code.google.com/p/google-security-research/issues/detail?id=222

https://bugs.chromium.org/p/project-zero/issues/list?can=1&q=&colspec=ID+Type+Status+Priority+Milestone+Owner+Summary&cells=ids

8. Google Fuzzing规模

a、 24*7无间断的5000核CPU跑;

b、5000+ bugs in chromium 1200+ bugs in ffmpeg;

c、数百种fuzzing方式;

d、高代码涵盖量;

e、工具Libfuzzer:最典型的发现了OpenSSL心脏滴血漏洞;

f、高效样本构造;

9. 详细细节(高端玩法Timeless debugger技术有点类似狼来了高端玩法狼自杀)

工具:

http://qira.me/

https://github.com/BinaryAnalysisPlatform/qira

10.最终目标

Google是从设计框架规范、到单元测试、到漏洞挖掘深度和方式、到削减漏洞一条线的闭环。(纯漏洞角度,没有涵盖其他SDL原则和方法)

11、其他

另外Google、Facebook等也关注Fireware安全

https://firmwaresecurity.com/

https://www.youtube.com/watch?v=z4-N2HyQMVU

12个供应商,40个0day,10个研究者共同发布

本文由 华盟网 作者:congtou 发表,其版权均为 华盟网 所有,文章内容系作者个人观点,不代表 华盟网 对观点赞同或支持。如需转载,请注明文章来源。

0

相关文章

发表评论

电子邮件地址不会被公开。