转:Google Project Zero挖洞经验整理
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挖洞经验整理的更多相关文章
- [转帖]挖洞经验 | 获取Facebook Marketplace卖家精确地理位置信息
挖洞经验 | 获取Facebook Marketplace卖家精确地理位置信息 https://www.freebuf.com/vuls/202820.html 知识就是力量 5000刀的一个漏洞. ...
- 【挖洞经验】如何在一条UPDATE查询中实现SQL注入
直奔主题 跟往常一样,在喝完我最爱的果汁饮料之后,我会习惯性地登录我的Synack账号,然后选择一个应用来进行渗透测试,此时我的“黑客之夜”便正式开始了. 我与很多其他的安全研究人员的习惯一样,我会在 ...
- 挖洞经验 | 绕过WAF限制利用php:方法实现OOB-XXE漏洞利用
几个星期以前,作者在某个OOB-XXE漏洞测试中遇到过这样一种场景:目标应用后端系统WAF防火墙阻挡了包含DNS解析在内的所有出站请求(Outgoing Request),但最终,通过利用php:// ...
- 穿戴-智能穿戴-ProjectGlass:谷歌眼镜(Google Project Glass)
ylbtech-穿戴-智能穿戴-ProjectGlass:谷歌眼镜(Google Project Glass) 谷歌眼镜(Google Project Glass)是由谷歌公司于2012年4月发布的一 ...
- 第二届i春秋挖洞大赛的一些感想
挖洞比赛嘛,根据规则就是一个问题,如何在短时间内挖到更多.等级更高的漏洞? 先分析这个问题,需求是什么? 更多? 等级更高? 短时间内? 首先要解决的是时间的问题 时间有限,所以你必须要快.如何快?把 ...
- 挖洞入门_显错型SQL注入
简介:在漏洞盒子挖洞已经有一段时间了,虽说还不是大佬,但技术也有所进步,安全行业就是这样,只有自己动手去做,才能将理论的知识变为个人的经验.本篇文章打算分享一下我在挖显错型SQL注入漏洞过程中的一些个 ...
- [转载] 根据多年经验整理的《互联网MySQL开发规范》
原文: http://weibo.com/p/2304181380b3f180102vsg5 根据多年经验整理的<互联网MySQL开发规范> 写在前面:无规矩不成方圆.对于刚加入互联网的朋 ...
- unity, 挖洞特效
想模仿这个游戏的挖洞特效: 思路: 效果: 代码下载:http://pan.baidu.com/s/1kUN8goZ
- Unity3D研究院之脚本生成Android Google Project
一般安卓自动化打包直接会生成个APK出来,但是我不想生成APK,我想生成Eclipse项目. 然后在自动化完成后面的打包工作. 1 2 3 4 5 6 7 8 9 10 11 using Un ...
随机推荐
- 任何用户密码都能以sysdba角色登入
这是因为在安装Oracle的时候默认是使用了操作系统验证: 数据库用sysdba登录的验证有两种方式,一种是通过os认证,一种是通过密码文件验证:登录方式有两种,一种是在数据库主机直接登录(用os认证 ...
- 第k小子集
有n个数,共有2^n个子集,一个子集的值看做其所有数的和.求这2^n个子集中第K小的子集.n<=35. meet in the middle + 二分判定 注意在双指针逼近时,相等的数带来的影响 ...
- PowerDesigner16 设置导出sql文件的编码
一: 导出数据库结构sql脚本 Database -> Generate Database 在弹窗中选择Format选项卡,修改Encoding,选择自己需要的编码格式. 二:比较数据库差异 ...
- Ubuntu12.04 GIT安装和使用
一.安装GIT和配置GIT 1.安装GIT apt-get install git 2.配置GIT ##配置用户信息 git config --global user.name "John ...
- 32岁白发菜鸟拿2.6万年薪苦熬10年 NBA首秀便惊艳世人 科比书豪纷纷为他点赞
这是一场普通的常规赛——斯台普斯球馆,湖人的赛季第81场.比赛的结果也没什么意外:客场作战的火箭106-99带走胜利.然而,这一场的斯台普斯却成了欢乐的海洋,现场甚至喊出了MVP的呼声,这份赞誉,送给 ...
- unity ugui消息透传
公司要做一个这东西. A是滑动区域,ScrollRect组件. B是各种选项. C是拾取到鼠标(或触点)的选项. D是拖放区域. 大概要求是这样. 因为B的条目很多,放在A里可以滑动查看.如果要选择一 ...
- 洛谷P3764 签到题 III
题目背景 pj组选手zzq近日学会了求最大公约数的辗转相除法. 题目描述 类比辗转相除法,zzq定义了一个奇怪的函数: typedef long long ll; ll f(ll a,ll b) { ...
- 【BZOJ】1529 [POI2005]ska Piggy banks
[算法](强连通分量)并查集 [题解] 1.用tarjan计算强连通分量并缩点,在新图中找入度为0的点的个数就是答案. 但是,会爆内存(题目内存限制64MB). 2.用并查集,最后从1到n统计fa[i ...
- kndo grid:通过checkbox 实现多选和全选
在kendo grid 里要想通过checkbox 实现多选和权限,我们就要通过templeate 和input 标签对kendo grid 进行自定义 1. 在column 里面加入一列checkb ...
- Android 开发之避免被第三方使用代理抓包
现象:charles抓不到包,但wireshark,HttpAnalyzor可以抓到包. 关键代码: URL url = new URL(urlStr); urlConnection = (HttpU ...