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. Facebook广告API系列 2 - Audience Management

    Facebook广告API系列 2 Facebook marketing API有三大组成部分: Audience Management Ads Management Ads Insights 本篇稍 ...

  2. java web项目启动进入首页的配置方式(包含过滤跳转首页实现)

    本文为博主原创,未经允许不得转载: 项目启动成功,进入首页的方式,我们往往在web.xml 中通过以下的方式默认进入跳转首页, <welcome-file-list> <welcom ...

  3. ThreadPoolExecutor执行过程分析

    ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTi ...

  4. 使用caffenet微调时的一些总结

    1,比较笨的方法生成图片列表(两类举例)data/myself/train 目录下 find -name cat.\*.jpg |cut -d '/' -f2-3 >train.txtsed - ...

  5. Cocos2d-x学习笔记(六)Label字体控制

    BMFont使用链接--->>  http://blog.csdn.net/qiurisuixiang/article/details/8984288 这里要注意.fnt文件可通过BMFo ...

  6. Django内置模板标签

    Django内置标签总览 可以查询下表来总览Django的内置标签: 标签 说明 autoescape 自动转义开关 block 块引用 comment 注释 csrf_token CSRF令牌 cy ...

  7. 消息/事件, 同步/异步/协程, 并发/并行 协程与状态机 ——从python asyncio引发的集中学习

    我比较笨,只看用await asyncio.sleep(x)实现的例子,看再多,也还是不会. 已经在unity3d里用过coroutine了,也知道是“你执行一下,主动让出权限:我执行一下,主动让出权 ...

  8. [Android教程] Cordova开发App入门(二)使用热更新插件

    前言 不知各位遇没遇到过,刚刚发布的应用,突然发现了一个隐藏极深的“碧油鸡(BUG)”,肿么办!肿么办!肿么办!如果被老板发现,一定会让程序员哥哥去“吃鸡”.但是想要修复这个“碧油鸡”,就必须要重新打 ...

  9. select exists 的应用一例

    当遇到多层exists的时候,事情就变得开始复杂了.我们来看看这个例子吧 假设有三张表 选课表:学号.课程号 学生表:学号.姓名 课程表:课程号.课程名 请选出选了所有课程的学生 SELECT 姓名 ...

  10. Prefix Product Sequence CodeForces - 487C (数论,构造)

    大意: 构造一个[1,2,...n]的排列, 使得前缀积模n为[0,1,...,n-1]的排列 这种构造都好巧妙啊, 大概翻一下官方题解好了 对于所有>=6的合数$n$, 有$(n-1)! \e ...