https://www.sec-un.org/google-project-zero%E6%8C%96%E6%B4%9E%E7%BB%8F%E9%AA%8C%E6%95%B4%E7%90%86/

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://www.chromium.org/developers/design-documents

Google安全架构:https://cloud.google.com/security/security-design/

公开漏洞细节: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等也关注Firmware安全

https://firmwaresecurity.com/

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

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

转:Google Project Zero挖洞经验整理的更多相关文章

  1. [转帖]挖洞经验 | 获取Facebook Marketplace卖家精确地理位置信息

    挖洞经验 | 获取Facebook Marketplace卖家精确地理位置信息 https://www.freebuf.com/vuls/202820.html 知识就是力量 5000刀的一个漏洞. ...

  2. 【挖洞经验】如何在一条UPDATE查询中实现SQL注入

    直奔主题 跟往常一样,在喝完我最爱的果汁饮料之后,我会习惯性地登录我的Synack账号,然后选择一个应用来进行渗透测试,此时我的“黑客之夜”便正式开始了. 我与很多其他的安全研究人员的习惯一样,我会在 ...

  3. 挖洞经验 | 绕过WAF限制利用php:方法实现OOB-XXE漏洞利用

    几个星期以前,作者在某个OOB-XXE漏洞测试中遇到过这样一种场景:目标应用后端系统WAF防火墙阻挡了包含DNS解析在内的所有出站请求(Outgoing Request),但最终,通过利用php:// ...

  4. 穿戴-智能穿戴-ProjectGlass:谷歌眼镜(Google Project Glass)

    ylbtech-穿戴-智能穿戴-ProjectGlass:谷歌眼镜(Google Project Glass) 谷歌眼镜(Google Project Glass)是由谷歌公司于2012年4月发布的一 ...

  5. 第二届i春秋挖洞大赛的一些感想

    挖洞比赛嘛,根据规则就是一个问题,如何在短时间内挖到更多.等级更高的漏洞? 先分析这个问题,需求是什么? 更多? 等级更高? 短时间内? 首先要解决的是时间的问题 时间有限,所以你必须要快.如何快?把 ...

  6. 挖洞入门_显错型SQL注入

    简介:在漏洞盒子挖洞已经有一段时间了,虽说还不是大佬,但技术也有所进步,安全行业就是这样,只有自己动手去做,才能将理论的知识变为个人的经验.本篇文章打算分享一下我在挖显错型SQL注入漏洞过程中的一些个 ...

  7. [转载] 根据多年经验整理的《互联网MySQL开发规范》

    原文: http://weibo.com/p/2304181380b3f180102vsg5 根据多年经验整理的<互联网MySQL开发规范> 写在前面:无规矩不成方圆.对于刚加入互联网的朋 ...

  8. unity, 挖洞特效

    想模仿这个游戏的挖洞特效: 思路: 效果: 代码下载:http://pan.baidu.com/s/1kUN8goZ

  9. Unity3D研究院之脚本生成Android Google Project

    一般安卓自动化打包直接会生成个APK出来,但是我不想生成APK,我想生成Eclipse项目. 然后在自动化完成后面的打包工作.     1 2 3 4 5 6 7 8 9 10 11 using Un ...

随机推荐

  1. c# 折半查找法实现代码

    ] { , , , , , , , , , , , , , , , , , , , }; , i; string j, k; , ); ) { k = String.Format("未找到{ ...

  2. Android 自定义ListView实现底部分页刷新与顶部下拉刷新,androidlistview

    在项目开发中,由于数据过大时,需要进行分页加载或下拉刷新,来缓解一次性加载的过长等待.本篇博文实例讲解通过自定义的ListView实现底部分页加载和顶部下拉刷新的效果. 其效果图: 一.ListVie ...

  3. linux查找进程id端口占用和杀死进程

    linux 查找进程id端口占用和杀死进程 ps 命令用于查看当前正在运行的进程 辅助上grep 用于搜索匹配ps -ef | grep java ps ax : 显示当前系统进程的列表 ps aux ...

  4. 函数式编程--响应式编程 ---android应用例子

    RxJava implements this operator as create. It is good practice to check the observer’s isUnsubscribe ...

  5. 【BZOJ】1731: [Usaco2005 dec]Layout 排队布局

    [题意]给定按编号顺序站成一排的牛,给定一些约束条件如两牛距离不小于或不大于某个值,求1和n的最大距离.无解输出-1,无穷解输出-2. [算法]差分约束+最短路 [题解]图中有三个约束条件,依次分析: ...

  6. JS之递归(例题:猴子吃桃)

    例题1:公园里有200个桃子,猴子每天吃掉一半以后扔掉一个,问6天以后还剩余多少桃子? var sum = 200; for(var i= 0;i<6;i++) { sum = parseInt ...

  7. 炒鸡简单的canvas粒子(山东数漫江湖)

    位图的canvas一直不会被svg比下去的原因了. 俗话说,须弥芥子,是大小之说,也有以小见大之说,颗颗粒子,足以构建宏大效果. 这是一篇炒鸡简单的canvas粒子教程,主要是讲如何粒子特效的原理,一 ...

  8. HTML5 Canvas时间效果

    Canvas 时间效果: function clockTest() { var canvas = document.getElementById('canvas'); if (!(canvas &am ...

  9. C++之复制控制

    只有单个形参,而且该形参是对本类类型对象的引用(常用const修饰),这样的构造函数叫做复制构造函数(有时也称为拷贝构造函数),例如: class Person{ public: Person();/ ...

  10. 网络设备之分配net_device结构

    注册网络设备时,会调用pci_driver->probe函数,以e100为例,最终会调用alloc_netdev_mqs来分配内存,并且在分配内存后调用setup函数(以太网为ether_set ...