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的更多相关文章

  1. 你的指纹还安全吗? - BlackHat 2015 黑帽大会总结 day 2

    你的指纹还安全吗?  0x03 FINGERPRINTS ON MOBILE DEVICES: ABUSING AND LEAKING speaker是来自FireEye的Wei Tao和Zhang ...

  2. 从“黑掉Github”学Web安全开发

    Egor Homakov(Twitter: @homakov 个人网站: EgorHomakov.com)是一个Web安全的布道士,他这两天把github给黑了,并给github报了5个安全方面的bu ...

  3. Docker实战 | 第四篇:Docker启用TLS加密解决暴露2375端口引发的安全漏洞,被黑掉三台云主机的教训总结

    一. 前言 在之前的文章中 IDEA集成Docker插件实现一键自动打包部署微服务项目,其中开放了服务器2375端口监听,此做法却引发出来一个安全问题,在上篇文章评论也有好心的童鞋提示,但自己心存侥幸 ...

  4. c编写程序完成m名旅客和n辆汽车的同步程序代写

    jurassic公园有一个恐龙博物馆和一个公园,有m名旅客和n辆汽车,每辆汽车仅能允许承载一名旅客.旅客在博物馆参观一阵,然后排队乘坐旅行车.当一辆车可用时,他载入一名旅客,再绕花园行驶任意长的时间. ...

  5. 黑客长期摇号不中"黑"掉北京小客车摇号网

    新闻链接:http://www.2cto.com/News/201310/248936.html 新闻时间:2013-10-11 新闻正文: 为发泄长期摇号不中的不满,同时也为自己研发的软件打广告,硕 ...

  6. {黑掉这个盒子} \\ FluxCapacitor Write-Up

    源标题:{Hack the Box} \ FluxCapacitor Write-Up 标签(空格分隔): CTF   好孩子们.今天我们将学习耐心和情绪管理的优点.并且也许有一些关于绕过WEB应用防 ...

  7. 揭秘如何用Python黑掉智能锅炉

      引文 去年我买了一个新的冷凝式锅炉(家用取暖产品),于是考虑上面必须有一个“智能恒温器”,而选择也很多,包括Google Nest. Hive(英国天然气公司设计的) 以及伍斯特·博世‘Wave’ ...

  8. 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 ...

  9. 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 ...

随机推荐

  1. ajax用beforeSend自定义请求过程中客户端事件,提高用户体验

    本文为博主原创,未经允许不得转载: 在应用ajax的过程中,当我们再前台提交请求的时候,如果服务端响应事件比较长,就会导致需要等很长时间在前台才能接受到服务端返回的 响应结果,往往会导致用户重复点击按 ...

  2. 常见文档一览表 -httpclient

    httpclient http://www.yeetrack.com/?p=779 虫师『性能测试』文章大汇总 https://www.cnblogs.com/fnng/archive/2012/08 ...

  3. python自动制作gif并添加文字

    引言     最近租的房子快到期了,哎,因为去年是第一次找房子租,结果遇到了一个东北黑中介,押一付三,房子有啥问题,灯坏了,下水道堵了,原来签合同的时候说的客气,说是马上就会上门解决,结果实际上我每次 ...

  4. nodejs+gulpjs压缩js代码

    1.安装node.js 下载地址:nodejs.org  或者  nodejs.cn 2.安装gulp之前我们需要安装nodejs的环境,检测能够正常使用npm后,我们用npm对gulp进行一次全局安 ...

  5. shell printf

    printf 可以格式化字符串,还可以制定字符串的宽度.左右对齐方式等.默认 printf 不会像 echo 自动添加换行符,我们可以手动添加 \n. 例子: $ echo "Hello, ...

  6. MyEclipse2014 优化设置

    1.指定本机java环境 Windows-->preferences-->java-->Insetallel JREs 右侧 单击ADD standard VM-->Next ...

  7. const 学习笔记

    #include<stdlib.h> #include<iostream> using namespace std; int main(){ // const 仅仅起到是否为常 ...

  8. CSS3 媒体查询@media 查询(响应式布局)

    例:如果文档宽度小于 300 像素则修改背景颜色(background-color): @media screen and (max-width: 300px) { body { background ...

  9. Linux 物理内存 buffer cache

    Linux下如何查内存信息,如内存总量.已使用量.可使用量.经常使用Windows操作系统的朋友,已经习惯了如果空闲的内存较多,心里比较踏实.当使用Linux时,可能觉的Linux物理内存很快被用光( ...

  10. English trip -- VC(情景课)10 A Get ready 预备课

    Words dance  跳舞 exercise  运动:锻炼 fish  鱼 play basketball  打篮球 play cards 玩牌 swim  游泳 decorations 装饰品 ...