作者:
蒸米
·
2015/08/06 16:29
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 第一天總結
總的來說第一天的演講無論是在名氣上還是質量上都是相當高的。並且這次有很多國內安全公司的人參與和學習,一定會對國內安全圈的發展有很好的推進作用。那就讓我們繼續期待明天的會議吧。
本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!