看黑客如何远程黑掉一辆汽车 - BlackHat 2015 黑帽大会总结 day 1
0x00 序
今天是Black Hat 2015第一天,九点钟开场。开场介绍是由Black Hat创始人Jeff Moss讲的。随后又请来了Stanford law school的Jennifer Granickz做了keynote speech。
随后就开始Black Hat的正会了,因为Black Hat是9个分会场同时进行,所以我们只能挑一些比较感兴趣的演讲去听。
0x01 ANDROID SECURITY STATE OF THE UNION
这个talk的演讲者是Google Android security team的leader , Adrian Ludwig。 Adrian首先介绍了android系统的一些安全策略,比如说应用隔离(sandbox,SElinux,TrustZone等),设备完整性(开机锁,数据加密等),内存通用防御(NX, ASLR等)等等。随后介绍了google公司在android安全上的贡献,比如说保证google play上app的安全性,更安全的浏览器chrome,设备管理器等。
接着Adrian提到google和越来越多的厂商开始进行合作,能够更快的patch设备。比如说libstagefright漏洞在八月份就为上百个设备推送了patch。
随后,Andrian说,因为我们在BH做演讲,所以我们要讲一些“坏”的消息。首先讲的是在android有很多的malware,但是android有多层的防御,malware必须全部突破才能对设备产生危害。
接着Andrian介绍了一些Google统计的安全数据。主要是Potentially Harmful Applications (PHA)的数据。俄罗斯的PHA一直非常高,中国时高时低。并且Andrian的号称从2015年2月开始Google play上就没有发现PHA了,但第三方市场一直都有很多。
然后Andrian讲了Google应对漏洞的策略:及时扫描google play和第三方市场,并将利用漏洞的malware加入黑名单;尽快发布patch;针对不同的漏洞增加一些应急策略(比如为了应对libstragefright漏洞,在修复前android不会自动加载附件)。
Andrian最后讲了android的漏洞奖励计划。
个人总结:相对Andrian在之前大会上的演讲,Android security team已经没有以前的自信了,以前总是说Android绝对安全,那些病毒和漏洞的消息只不过是媒体夸大罢了。这次演讲的态度却有很大转变,首先表示Google可以在漏洞出现的时候尽量第一时间patch。然后又公布漏洞奖励计划,鼓励大家第一时间提交漏洞信息。明显感觉对自己一家搞定android安全没有太大信心了。
0x02 ATTACKING INTEROPERABILITY - AN OLE EDITION
这个演讲来自Intel security,也就是原来的麦咖啡。OLE是Object Linking and Embedding 的缩写。OLE是COM (Component Object Model)的一部分。几乎所有的office zero-day都和OLE有一定的关系。Hacker可以利用OLE加载非ASLR的dll,进行堆喷射等。比较常见的OLE就是一个文档中包含了另一个文档。当双击另一个文档时,就会调用OLE。
Speaker首先介绍了OLE的初始化过程。然后讲了三个在OLE初始化时候的攻击面:CocreateInstance使用的CLSID,IPersistStorage::Load()函数调用的存储,IOleObject::DOVerb使用的verb参数。 然后介绍了利用这些攻击可以产生的结果:1.可以加载没有ASLR的dll到内存中。2.可以造成内存破坏。3.dll预加载hijack攻击。然后speaker预测会有更多office OLE 0day会被发现。最后speaker演示了win7 x64下的OLE 0day的2个demo。
0x03 ABUSING SILENT MITIGATIONS - UNDERSTANDING WEAKNESSES WITHIN INTERNET EXPLORERS ISOLATED HEAP AND MEMORYPROTECTION
这个talk是ZDI做的,也就是pwn2own的主办者。ZDI首先讲了heap上经常使用的UAF漏洞,然后讲了微软在2014年引进了两种新的攻击缓解技术:isolated heap和memory protection。
Isolated heap的防御方法是根据type来分配不同的heap,这样的话不同类型的数据就不会互相影响。memory protection会对free()操作进行保护,并在free的过程中会加一些”0”到堆中。但是即使加上了这两层,ZDI依然找到了应对的方法,并且获得了微软$125,000的奖金。但exploit的过程非常复杂,要经过很多阶段的内存分配与释放才行。有意思的是,因为memory protection的加入,反而让ZDI找到了一种新的方法用来bypass ASLR。所以说,在没有进行全面的测试就加入新的攻击缓解技术不一定是一件好事。
最后ZDI 做了在开启了两种防御的情况下弹计算器的demo,以及开了Memory Protection的情况下利用加载dll方法做到bypass ASLR的demo。
0x04 REMOTE EXPLOITATION OF AN UNALTERED PASSENGER VEHICLE
Charlie Miller是twitter的安全研究员,是工业界非常有名的人物。这次的talk估计是本届BH最火的talk了,还没开始下面就已经人山人海了。
talk讲了两种远程攻击汽车的方法。首先是通过wifi入侵车: Charlie Miller先逆向了汽车WPA2密码的生成方式,发现WPA2的密码是根据设定密码的时间作为种子生成的随机密码,并且首次生成以后并不会改变。所以说当知道了生成密码的时间,就可以暴力破解出密码。比如说知道了哪一天设置的密码就可以在1小时内暴力猜出密码。
进入车的wifi内网后,Charlie发现汽车打开了6667端口运行D-BUS服务。D-BUS是以root模式运行。其中有一个服务叫NavTrailService可以进行命令injection,然后就获取到root shell。
另一种方式是通过蜂窝网络入侵汽车,首先采用femto-cell(伪造蜂窝基站)的方法对区域内的ip进行扫描,然后寻找打开了6667端口的设备,也就是打开D-BUS服务端口的汽车。随后采用和wifi攻击渠道一样的命令injection方法获取到root shell。
但是Charlie讲到,即使有root权限也只能控制一些media的东西。想要控制汽车还需要对系统进行修改。Charlie采用的方法是修改并更新固件。Charlie发现目标汽车有个严重的安全漏洞,那就是汽车的系统不会验证固件的签名,因此通过固件修改系统并加入后门变为了可能。
所以最终攻击过程如下:先利用基站搜索有漏洞的汽车,然后远程攻击NavTrailSerivce,重新刷带有后门的固件,等待目标汽车固件更新后就可以进行进行远程控制了。随后Charlie Miller演示了各种控制汽车的视频,让全场沸腾不已。
0x05 OPTIMIZED FUZZING IOKIT IN IOS
带来这个演讲的是阿里移动安全部门的long lei以及潘爱民老师。
这个工作主要有三个贡献:1、一套非常详细的获取IOKit内核信息的方法。2、一套用来fuzzy IOKit的框架。3、2个fuzzy出来的漏洞分享。
在这个工作之前,安全研究人员一般使用ida进行静态的分析,但效果并不理想。于是long lei提出了一种在越狱的情况下动态获取IOKit信息的方法。但是获取IOKit在内核中的信息非常麻烦,要对各种meta数据信息进行parse,是一项工程量非常大工作。
在Fuzz方面,Fuzzer系统会使用Mobile Substrate框架对关键函数进行hook,随后进行fuzz工作。
最后,long lei分享了2个用这套fuzz系统发现的漏洞,并且其中一个信息泄露的漏洞已经报给了苹果并且在最新iOS上修复了。
0x06 ATTACKING ECMASCRIPT ENGINES WITH REDEFINITION
这个talk的演讲者是Natalie Silvanovich。来自Google的Project Zero团队。ECMAScript 是javascript的前身。这个talk主要讲了在ECMAScript中,数据类型进行转换时产生的问题。比如说类型A转换成了类型B,有一些数据可能会进行错误的转换,从而造成可利用的漏洞。
Natalie Silvanovich举了很多例子进行讲解,其中包括了最近非常火的Hacking Team的flash 0day。随后还讲解了如何寻找这类的漏洞,比如说多用IDA对数据转换函数进行进行逆向以及使用fuzzer等。
0x07 第一天总结
总的来说第一天的演讲无论是在名气上还是质量上都是相当高的。并且这次有很多国内安全公司的人参与和学习,一定会对国内安全圈的发展有很好的推进作用。那就让我们继续期待明天的会议吧。
本文转自 wooyun.org
原文链接:http://drops.wooyun.org/papers/7716
看黑客如何远程黑掉一辆汽车 - BlackHat 2015 黑帽大会总结 day 1的更多相关文章
- 你的指纹还安全吗? - BlackHat 2015 黑帽大会总结 day 2
你的指纹还安全吗? 0x03 FINGERPRINTS ON MOBILE DEVICES: ABUSING AND LEAKING speaker是来自FireEye的Wei Tao和Zhang ...
- 从“黑掉Github”学Web安全开发
Egor Homakov(Twitter: @homakov 个人网站: EgorHomakov.com)是一个Web安全的布道士,他这两天把github给黑了,并给github报了5个安全方面的bu ...
- Docker实战 | 第四篇:Docker启用TLS加密解决暴露2375端口引发的安全漏洞,被黑掉三台云主机的教训总结
一. 前言 在之前的文章中 IDEA集成Docker插件实现一键自动打包部署微服务项目,其中开放了服务器2375端口监听,此做法却引发出来一个安全问题,在上篇文章评论也有好心的童鞋提示,但自己心存侥幸 ...
- c编写程序完成m名旅客和n辆汽车的同步程序代写
jurassic公园有一个恐龙博物馆和一个公园,有m名旅客和n辆汽车,每辆汽车仅能允许承载一名旅客.旅客在博物馆参观一阵,然后排队乘坐旅行车.当一辆车可用时,他载入一名旅客,再绕花园行驶任意长的时间. ...
- 黑客长期摇号不中"黑"掉北京小客车摇号网
新闻链接:http://www.2cto.com/News/201310/248936.html 新闻时间:2013-10-11 新闻正文: 为发泄长期摇号不中的不满,同时也为自己研发的软件打广告,硕 ...
- {黑掉这个盒子} \\ FluxCapacitor Write-Up
源标题:{Hack the Box} \ FluxCapacitor Write-Up 标签(空格分隔): CTF 好孩子们.今天我们将学习耐心和情绪管理的优点.并且也许有一些关于绕过WEB应用防 ...
- 揭秘如何用Python黑掉智能锅炉
引文 去年我买了一个新的冷凝式锅炉(家用取暖产品),于是考虑上面必须有一个“智能恒温器”,而选择也很多,包括Google Nest. Hive(英国天然气公司设计的) 以及伍斯特·博世‘Wave’ ...
- android xml 布局错误(黑掉了)Missing styles. Is the correct theme chosen for this layout?
发现在调整页面的时候 ,老是报以下错误,导致无法静态显示ui效果. Missing styles. Is the correct theme chosen for this layout? Use t ...
- Edu CF 103 Div. 2 (A. K-divisible Sum, B. Inflation贪心),被黑客攻了,,惨掉rank, 思维除法与取余, 不太擅长的类型
2021-01-29 题目链接: Educational Codeforces Round 103 (Rated for Div. 2) 题目 A. K-divisible Sum You are g ...
随机推荐
- ajax用beforeSend自定义请求过程中客户端事件,提高用户体验
本文为博主原创,未经允许不得转载: 在应用ajax的过程中,当我们再前台提交请求的时候,如果服务端响应事件比较长,就会导致需要等很长时间在前台才能接受到服务端返回的 响应结果,往往会导致用户重复点击按 ...
- 常见文档一览表 -httpclient
httpclient http://www.yeetrack.com/?p=779 虫师『性能测试』文章大汇总 https://www.cnblogs.com/fnng/archive/2012/08 ...
- python自动制作gif并添加文字
引言 最近租的房子快到期了,哎,因为去年是第一次找房子租,结果遇到了一个东北黑中介,押一付三,房子有啥问题,灯坏了,下水道堵了,原来签合同的时候说的客气,说是马上就会上门解决,结果实际上我每次 ...
- nodejs+gulpjs压缩js代码
1.安装node.js 下载地址:nodejs.org 或者 nodejs.cn 2.安装gulp之前我们需要安装nodejs的环境,检测能够正常使用npm后,我们用npm对gulp进行一次全局安 ...
- shell printf
printf 可以格式化字符串,还可以制定字符串的宽度.左右对齐方式等.默认 printf 不会像 echo 自动添加换行符,我们可以手动添加 \n. 例子: $ echo "Hello, ...
- MyEclipse2014 优化设置
1.指定本机java环境 Windows-->preferences-->java-->Insetallel JREs 右侧 单击ADD standard VM-->Next ...
- const 学习笔记
#include<stdlib.h> #include<iostream> using namespace std; int main(){ // const 仅仅起到是否为常 ...
- CSS3 媒体查询@media 查询(响应式布局)
例:如果文档宽度小于 300 像素则修改背景颜色(background-color): @media screen and (max-width: 300px) { body { background ...
- Linux 物理内存 buffer cache
Linux下如何查内存信息,如内存总量.已使用量.可使用量.经常使用Windows操作系统的朋友,已经习惯了如果空闲的内存较多,心里比较踏实.当使用Linux时,可能觉的Linux物理内存很快被用光( ...
- English trip -- VC(情景课)10 A Get ready 预备课
Words dance 跳舞 exercise 运动:锻炼 fish 鱼 play basketball 打篮球 play cards 玩牌 swim 游泳 decorations 装饰品 ...