看駭客如何遠端黑掉一輛汽車 - BlackHat 2015 黑帽大會總結 day 1

wyzsk發表於2020-08-19
作者: 蒸米 · 2015/08/06 16:29

0x00 序


今天是Black Hat 2015第一天,九點鐘開場。開場介紹是由Black Hat創始人Jeff Moss講的。隨後又請來了Stanford law school的Jennifer Granickz做了keynote speech。

enter image description here

隨後就開始Black Hat的正會了,因為Black Hat是9個分會場同時進行,所以我們只能挑一些比較感興趣的演講去聽。

0x01 ANDROID SECURITY STATE OF THE UNION


enter image description here

這個talk的演講者是Google Android security team的leader , Adrian Ludwig。 Adrian首先介紹了android系統的一些安全策略,比如說應用隔離(sandbox,SElinux,TrustZone等),裝置完整性(開機鎖,資料加密等),記憶體通用防禦(NX, ASLR等)等等。隨後介紹了google公司在android安全上的貢獻,比如說保證google play上app的安全性,更安全的瀏覽器chrome,裝置管理器等。

enter image description here

接著Adrian提到google和越來越多的廠商開始進行合作,能夠更快的patch裝置。比如說libstagefright漏洞在八月份就為上百個裝置推送了patch。

enter image description here

隨後,Andrian說,因為我們在BH做演講,所以我們要講一些“壞”的訊息。首先講的是在android有很多的malware,但是android有多層的防禦,malware必須全部突破才能對裝置產生危害。

enter image description here

接著Andrian介紹了一些Google統計的安全資料。主要是Potentially Harmful Applications (PHA)的資料。俄羅斯的PHA一直非常高,中國時高時低。並且Andrian的號稱從2015年2月開始Google play上就沒有發現PHA了,但第三方市場一直都有很多。

enter image description here

然後Andrian講了Google應對漏洞的策略:及時掃描google play和第三方市場,並將利用漏洞的malware加入黑名單;儘快釋出patch;針對不同的漏洞增加一些應急策略(比如為了應對libstragefright漏洞,在修復前android不會自動載入附件)。

enter image description here

Andrian最後講了android的漏洞獎勵計劃。

個人總結:相對Andrian在之前大會上的演講,Android security team已經沒有以前的自信了,以前總是說Android絕對安全,那些病毒和漏洞的訊息只不過是媒體誇大罷了。這次演講的態度卻有很大轉變,首先表示Google可以在漏洞出現的時候儘量第一時間patch。然後又公佈漏洞獎勵計劃,鼓勵大家第一時間提交漏洞資訊。明顯感覺對自己一家搞定android安全沒有太大信心了。

0x02 ATTACKING INTEROPERABILITY - AN OLE EDITION


enter image description here

這個演講來自Intel security,也就是原來的麥咖啡。OLE是Object Linking and Embedding 的縮寫。OLE是COM (Component Object Model)的一部分。幾乎所有的office zero-day都和OLE有一定的關係。Hacker可以利用OLE載入非ASLR的dll,進行堆噴射等。比較常見的OLE就是一個文件中包含了另一個文件。當雙擊另一個文件時,就會呼叫OLE。

enter image description here

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。所以說,在沒有進行全面的測試就加入新的攻擊緩解技術不一定是一件好事。

enter image description here

最後ZDI 做了在開啟了兩種防禦的情況下彈計算器的demo,以及開了Memory Protection的情況下利用載入dll方法做到bypass ASLR的demo。

0x04 REMOTE EXPLOITATION OF AN UNALTERED PASSENGER VEHICLE


enter image description here

Charlie Miller是twitter的安全研究員,是工業界非常有名的人物。這次的talk估計是本屆BH最火的talk了,還沒開始下面就已經人山人海了。

enter image description here

enter image description here

talk講了兩種遠端攻擊汽車的方法。首先是透過wifi入侵車: Charlie Miller先逆向了汽車WPA2密碼的生成方式,發現WPA2的密碼是根據設定密碼的時間作為種子生成的隨機密碼,並且首次生成以後並不會改變。所以說當知道了生成密碼的時間,就可以暴力破解出密碼。比如說知道了哪一天設定的密碼就可以在1小時內暴力猜出密碼。

enter image description here

enter image description here

進入車的wifi內網後,Charlie發現汽車開啟了6667埠執行D-BUS服務。D-BUS是以root模式執行。其中有一個服務叫NavTrailService可以進行命令injection,然後就獲取到root shell。

enter image description here

另一種方式是透過蜂窩網路入侵汽車,首先採用femto-cell(偽造蜂窩基站)的方法對區域內的ip進行掃描,然後尋找開啟了6667埠的裝置,也就是開啟D-BUS服務埠的汽車。隨後採用和wifi攻擊渠道一樣的命令injection方法獲取到root shell。

enter image description here

但是Charlie講到,即使有root許可權也只能控制一些media的東西。想要控制汽車還需要對系統進行修改。Charlie採用的方法是修改並更新韌體。Charlie發現目標汽車有個嚴重的安全漏洞,那就是汽車的系統不會驗證韌體的簽名,因此透過韌體修改系統並加入後門變為了可能。

enter image description here

所以最終攻擊過程如下:先利用基站搜尋有漏洞的汽車,然後遠端攻擊NavTrailSerivce,重新刷帶有後門的韌體,等待目標汽車韌體更新後就可以進行進行遠端控制了。隨後Charlie Miller演示了各種控制汽車的影片,讓全場沸騰不已。

enter image description here

enter image description here

enter image description here

0x05 OPTIMIZED FUZZING IOKIT IN IOS

帶來這個演講的是阿里移動安全部門的long lei以及潘愛民老師。

enter image description here

這個工作主要有三個貢獻:1、一套非常詳細的獲取IOKit核心資訊的方法。2、一套用來fuzzy IOKit的框架。3、2個fuzzy出來的漏洞分享。

enter image description here

在這個工作之前,安全研究人員一般使用ida進行靜態的分析,但效果並不理想。於是long lei提出了一種在越獄的情況下動態獲取IOKit資訊的方法。但是獲取IOKit在核心中的資訊非常麻煩,要對各種meta資料資訊進行parse,是一項工程量非常大工作。

enter image description here

在Fuzz方面,Fuzzer系統會使用Mobile Substrate框架對關鍵函式進行hook,隨後進行fuzz工作。

enter image description here

enter image description here

最後,long lei分享了2個用這套fuzz系統發現的漏洞,並且其中一個資訊洩露的漏洞已經報給了蘋果並且在最新iOS上修復了。

0x06 ATTACKING ECMASCRIPT ENGINES WITH REDEFINITION


enter image description here

這個talk的演講者是Natalie Silvanovich。來自Google的Project Zero團隊。ECMAScript 是javascript的前身。這個talk主要講了在ECMAScript中,資料型別進行轉換時產生的問題。比如說型別A轉換成了型別B,有一些資料可能會進行錯誤的轉換,從而造成可利用的漏洞。

enter image description here

Natalie Silvanovich舉了很多例子進行講解,其中包括了最近非常火的Hacking Team的flash 0day。隨後還講解了如何尋找這類的漏洞,比如說多用IDA對資料轉換函式進行進行逆向以及使用fuzzer等。

0x07 第一天總結


總的來說第一天的演講無論是在名氣上還是質量上都是相當高的。並且這次有很多國內安全公司的人參與和學習,一定會對國內安全圈的發展有很好的推進作用。那就讓我們繼續期待明天的會議吧。

本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章