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/
Fuzzing技术分成:
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. 详细细节
二进制的版本控制
工具:
http://qira.me/
https://github.com/BinaryAnalysisPlatform/qira