看黑客如何远程黑掉一辆汽车 - 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 ...
随机推荐
- Facebook广告API系列 2 - Audience Management
Facebook广告API系列 2 Facebook marketing API有三大组成部分: Audience Management Ads Management Ads Insights 本篇稍 ...
- java web项目启动进入首页的配置方式(包含过滤跳转首页实现)
本文为博主原创,未经允许不得转载: 项目启动成功,进入首页的方式,我们往往在web.xml 中通过以下的方式默认进入跳转首页, <welcome-file-list> <welcom ...
- ThreadPoolExecutor执行过程分析
ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTi ...
- 使用caffenet微调时的一些总结
1,比较笨的方法生成图片列表(两类举例)data/myself/train 目录下 find -name cat.\*.jpg |cut -d '/' -f2-3 >train.txtsed - ...
- Cocos2d-x学习笔记(六)Label字体控制
BMFont使用链接--->> http://blog.csdn.net/qiurisuixiang/article/details/8984288 这里要注意.fnt文件可通过BMFo ...
- Django内置模板标签
Django内置标签总览 可以查询下表来总览Django的内置标签: 标签 说明 autoescape 自动转义开关 block 块引用 comment 注释 csrf_token CSRF令牌 cy ...
- 消息/事件, 同步/异步/协程, 并发/并行 协程与状态机 ——从python asyncio引发的集中学习
我比较笨,只看用await asyncio.sleep(x)实现的例子,看再多,也还是不会. 已经在unity3d里用过coroutine了,也知道是“你执行一下,主动让出权限:我执行一下,主动让出权 ...
- [Android教程] Cordova开发App入门(二)使用热更新插件
前言 不知各位遇没遇到过,刚刚发布的应用,突然发现了一个隐藏极深的“碧油鸡(BUG)”,肿么办!肿么办!肿么办!如果被老板发现,一定会让程序员哥哥去“吃鸡”.但是想要修复这个“碧油鸡”,就必须要重新打 ...
- select exists 的应用一例
当遇到多层exists的时候,事情就变得开始复杂了.我们来看看这个例子吧 假设有三张表 选课表:学号.课程号 学生表:学号.姓名 课程表:课程号.课程名 请选出选了所有课程的学生 SELECT 姓名 ...
- Prefix Product Sequence CodeForces - 487C (数论,构造)
大意: 构造一个[1,2,...n]的排列, 使得前缀积模n为[0,1,...,n-1]的排列 这种构造都好巧妙啊, 大概翻一下官方题解好了 对于所有>=6的合数$n$, 有$(n-1)! \e ...