压在透明的玻璃上c-国产精品国产一级A片精品免费-国产精品视频网-成人黄网站18秘 免费看|www.tcsft.com

Intel李海飛:從用戶角度分析微軟Office的攻擊界面

李海飛:大家好,我介紹一下自己,我之前在微軟公司工作過一段時間,之前在一個安全公司,大概待了五年奪得時間,現(xiàn)在在Intel McAfee工作。基本上我是專注在微軟的操作系統(tǒng),我的研究方向和興趣,做安全研究的目的就是為了幫助用戶來進(jìn)行真實世界當(dāng)中的防御。
大家都知道CPU越來越流行,硬盤越來越便宜,數(shù)據(jù)越來越多,如何利用這些資源自動的有利于下一代的研究,包括如何自動的發(fā)現(xiàn)一些邏輯漏洞,自動的發(fā)現(xiàn)一些自動分析軟件的攻擊界面。我的研究基本上在CanSecWest,上周在BlueHat上也做了近乎類似的演講,我今天希望有一些新的東西。

開始的時候我會做一個介紹,然后有一些我們一些Delivery Scenarios,接下來要解釋一下OLE的攻擊界面,很有意思。下面是講一些Less-Known的Office Features,還有就是一個Office Apps。

我們說Office大家都知道,大家都用Office,Office其實就是一個生產(chǎn)力的軟件,我們這里說的我們只是桌面的Office。我們的視角就是從用戶的角度,我們做安全就是為了保護普通的用戶。

比如說你在安全行業(yè)更久的時間,你會知道Office里面,在大概六七年前有很多的Office漏洞被發(fā)現(xiàn),我們也不是講這個,我們應(yīng)該是從更高的層次來探討這些問題。基本上回答一些問題,就是這個Office的威脅是怎么嵌入到用戶或者是組織里,微軟做了什么環(huán)節(jié)措施保護我們,什么環(huán)節(jié)沒有做。我們會有一個感覺,這個Server到底有多大。

接下來講一下Office的威脅是怎么傳送的。很簡單,大家都很常見,第一個就是從網(wǎng)站上下載,用瀏覽器,比如有一個人發(fā)了一個消息,可能是Twitter、E-Mail上,你點一個,下載一個Office打開,包括一些企業(yè)里面用的一些Web Access,

比如說用電子郵件,比如在企業(yè)里面用Fox-Mail,有一個附件,你直接打開,當(dāng)你把這個文件保存到你的系統(tǒng)上之后,或者說你打開的時候,一個NTFS叫做Zone.Identifier會增加到這個文件流里面去。

這個是Mark of the Web,是在微博或者是電子郵件當(dāng)中做的,主流的瀏覽器,包括Chrome、Outlook等等都支持這個Mark of the Web,三個非常主流的支持這個Mark of the Web,這就是一個典型的,微軟會告訴你,不利于你打開。

Protected View是一個非常強的,他們研究很深,就發(fā)現(xiàn)最終結(jié)論是非常強壯。因為在Protected View上,一些可能帶來安全威脅的Feature全部被Disable了,不能亂,我們知道很多軟件最近很流行,所以說這樣就非常安全。

問題是我們很Happy嗎?這種用戶經(jīng)常被黑,舉一個例子,在2013年的時候McAfee我們的實驗室檢測到一個Windows Exploit,大家做安全的應(yīng)該很有印象,有一個非常著名的Tack。

大概從去年或者更長的時間,紅病毒又開始流行,非常流行,有很多軟件,甚至包括把烏克蘭的電力給Down掉了。今年5月份的時候,F(xiàn)ireeye也發(fā)現(xiàn)了一個Zero Day,包含在Office文件里面,這也是一個很有趣的地方。

打個比方來說,用戶在一個Office的軟件想工作的話,必須要忽略兩個警告,一個是Clicks,還有一個是Office Warnings。從CEO或者是CFO,他們其實在安全上也是普通用戶,他們也經(jīng)常被黑了。

微軟已經(jīng)警告了,但是用戶并沒有Get到這個Message。一點擊就中招的Problem,難道微軟就不能設(shè)計一個更好的嗎?我們作為安全研究人員來說,我們不能說用戶很傻我們就不去保護,這是不能接受的。

一個警告并不能對大多數(shù)的用戶Work,現(xiàn)在很多軟件也都在這么做,你可以誘騙用戶點擊這個東西,這也是一個問題,可以設(shè)計更好的一個AI。前面的內(nèi)容基本上就是攻擊用戶的行為。

下面我們說一些更有技術(shù)性的,我們一直說過,從Protected View的沙箱里面逃逸出來是很可行的,但是如果不是逃逸,我們可以繞道走,可以解釋這些問題。我們說主流的瀏覽器是很好的,有Protected View,

但是有一些特例,如果IE的選項、配置,可以加一些Web Sites,如果被設(shè)置的話,所有的從這個下來下載的文件Office都沒有Protected View。在這個過程當(dāng)中我也發(fā)現(xiàn),去年11月份我發(fā)現(xiàn),很多的戴爾的筆記本上面預(yù)裝了這個軟件,它會把所有戴爾的域名加進(jìn)去,

包括戴爾的內(nèi)盤,也是可以加一個附件,也在戴爾的域名里,這是導(dǎo)致沒有攻擊的原因。有一些瀏覽器甚至都不Care做這個。Outlook處理附件,從另一個攻擊方式,我們說Outlook處理附件非常重要,具體是如何處理附件的?

我們基本上可以分為三類,第一類就是一些不安全的后綴名,比如說exe、vbs、psl、js等等,都是不安全的后綴名,在Outlook當(dāng)中不可能被打開。還有html、pub、zip要用戶雙擊以后保存,保存到硬盤上,雙擊打開這個文件再打開。

Outlook這個是安全的,這里面又包括幾類,基本上就是Word、PowerPoint、Excel,還有其他的一些文件。如果是Word文件的話,也不單單是doc我們經(jīng)常遇到的,甚至包括dot、dots、dotm,有很多,我沒有辦法一一列出來。

我們認(rèn)為最危險的地方出現(xiàn)在Word、PowerPoint和Excel文件,這個文件格式非常簡單,沒有那么復(fù)雜,所以界面比較小,但是Wort、PowerPoint和Excel攻擊性遠(yuǎn)遠(yuǎn)大于其他的,這是我們的一些結(jié)論。但是Outlook也考慮到了這種情況,所以Word、PowerPoint、Excle無要打開的話是在Protected View當(dāng)中。

我們在公司里面很多人用微軟的解決方案,有Exchange Server等等,如果一個員工發(fā)給另外一個員工,另一個員工收到這個文件直接打開的話就沒有Protected View。這就導(dǎo)致一個內(nèi)部的威脅,比一個員工的電腦被黑了,這個攻擊者可以用他的帳號去發(fā)郵件給那個CEO,

那個CEO打開的話,比如說這個Word文檔里面有一個Flash,他就馬上就會被運行,這個CEO的電腦就容易被黑,所以內(nèi)部威脅也是一個問題。如果說外部發(fā)的郵件,我們找一些人來測試,我們基本上看到有三種情況。

第一種就是說,如果這個文件附件是來自外面的話,第一個情況就是說所有的都是有Protected View,所以這個是最安全的,是大家都做的。第二種情況就是如果是一個知道的地址,就是這個用戶跟那個有交互,沒有Protected View,也可以接受。

第三種情況是最危險的,有的公司里面根本就沒有Protected View,所有外面發(fā)的附件都沒有Protected View,都可以來給你,這是有問題的。這是微軟知道的一個問題,或者可以說是配置問題。

如果用Outlook,用Mark Internal As Unsafe,不管是誰打開的話都要有Protected View。如果你是某個公司的IT管理員的話,我強烈建議你們要做一下測試,就是發(fā)現(xiàn)郵件測試一下,檢測你的配置。

下面我們講一些更有技術(shù)性的,今年早些時候我們發(fā)現(xiàn).xla的后綴名非常有意思,它是比較安全的,可以打開,表示一個應(yīng)用。沒有Protected View,這個問題就是對于這個xla沒有,但是我們發(fā)現(xiàn)xla也可以同樣的干普通的Excel可以做的事,

比如可以把Flash嵌入進(jìn)去,可以干很多其他的事情。但是在Outlook打開,又可以做壞的事情,但是許多Protected View。所以微軟認(rèn)為這是一個安全漏洞,在幾個月前已經(jīng)修復(fù)了,如果有興趣的話大家可以看一下。

下面我們討論一個比較有意思的潛在的威脅,大家都知道云盤,很多人用了云盤,不一定用谷歌的云盤,有人用百度云盤,就是那么回事。你用Hotmail的話,這是我測試郵箱的一個郵件,是test.docx,在右邊進(jìn)行下載和打開,這是第一種情況。

右邊有一個Save to One Drive Personal,我們知道這個云盤就是這么回事,就是那些文件。接下來如果這個用戶在One Drive打開這個文件就沒有Protected View,同樣的事情也可以在Gmail上,或者是其他的云盤或者百度云盤,這些云盤的產(chǎn)品并不是為這個設(shè)計的,并不知道這個文件從哪里,他只是同步那些文件。

但是當(dāng)他們跟E-Mail Service連在一起的話,這個是來自于攻擊者的,而且很多電子郵件服務(wù)的都鼓勵用戶利用他的云盤,因為這是云時代,他們逼著你考慮。從安全云的角度,可以用一個Windows帳號連接所有的攻擊,可以提高這個攻擊的成功率。

我們講一些不常見的Office App。因為Office不單單是Word、Excle、PowerPoint等等一些東西,我們解釋所有的Office,微軟是怎么把Office賣給你們的?甚至我跑到微軟商店里看,現(xiàn)在主要是Office365,他并不單單是要你買一個Office365,并不單單是Word、PowerPoint、Excel,

如果是經(jīng)典的安裝的話,他并不讓你選擇裝哪個App,是一次把所有的都給你裝了。這意味著什么呢?這意味著普通用戶可能會面對一個更大的攻擊面,無如果我們要保護大多數(shù)的用戶,我們要考慮一下Publisher,因為它們裝在很多用戶的機子上。

Publisher可以有pub File,可以包含一些VBA的Macros,他們用這個去包含宏去攻擊用戶。他們?yōu)槭裁催@么做呢?為什么這是一個趨勢?在Publisher上沒有Protected View這個Feature。通過這種方式,再通過Protected View就可以提高他的攻擊成功率。

因為如果有Protected View我們知道,你要有兩個Word文件,如果沒有,你就只要有一個Word,你只有Office的那個宏的,所以這個成功率明顯會提高。

公平來講,如果單Outlook做郵件,收那些Office附件其實是OK的,因為Office不認(rèn)為這個PUB文件是一個安全的文件,所以有更多的用戶交互,我們也討論過。對于其他的場景來說,這是一個考慮的。

打比方說,你用Google Chrome下載一下就很容易中招。有些E-mail不像Outlook一樣,他會考慮PUB文件是安全的,可以打開的,比如Mozilla Thunderbird。

有一個結(jié)論就是,微軟賣Office的方式,導(dǎo)致了不必要的攻擊界面。為什么說不必要呢?因為Publisher Access我不知道有幾個人用這個,我甚至不知道怎么用。對于用戶來說,你可以有一些小Tips,可以只安裝你想要的一個App。

下面我講一下OLE,如果你收到一個文檔,文檔里面嵌入另一個文檔可以直接打開,對用戶非常方便。從技術(shù)的角度上,OLE就是一個COM的子集。有兩種OLE,如果激活的話,在同一個集成里。另外是一個Separate的OLE,你的另一個進(jìn)程就會起來。

對于這個OLE,去年Black Hat我們探討過,基本上是想搞清楚它是怎么工作的,也幫助了很多人去理解。基本上我們借助了三種攻擊方式,第一種就是一個Ipersis Storage Load。你做過病毒或者是分析,你肯定對這個有影響,甚至在今天還很流行。

第二個就是一個邏輯漏洞,其實是Attack Vector2,IOleObject Doverb。第三種就是CoCreateInstance,在初始化過程就有了,會導(dǎo)致很多的問題。很多的漏洞在我們Black Hat當(dāng)中發(fā)現(xiàn)。

我們發(fā)現(xiàn)OLE也在On Outlook上有,你看微軟的文檔很清楚,TNEF是一個Outlook支持的一個特殊的文件格式,寫得很清楚,我們看到這個比較有意思,我們看了一下,我們發(fā)現(xiàn)非常有意思。

右邊那個圖就是說,當(dāng)你收一個郵件的時候,你在Outlook上只要看到這個郵件,F(xiàn)lash Exploit就會中招,因為郵件的特殊性,你可以發(fā)那樣的郵件,甚至比如說你發(fā)某一個CEO、CFO,很多組織都是用Outlook,Exchange,微軟那一套來辦公的。

甚至如果考慮到郵件的特殊性,其實是可以做成蠕蟲,比如說你攻擊一個數(shù)據(jù),所有的電子郵件地址再發(fā)出去,就是一個很大的蠕蟲。

如果有一個Flash Exploit,你首先是發(fā)一個郵件,誘惑這個用戶去點那個連接,你打開,這個就是Pwning的一個模式。如果你直接打開,直接看一眼郵件,因為Outlook并沒有沙箱,現(xiàn)在IE都是64位了,這是一個非常嚴(yán)重的問題。

在去年大概12月份微軟修復(fù)了這個問題,我們報給他一個半月就修復(fù)了,下面是我們的Paper,如果沒有看過的話你們可以看一下。

我們前面講過的那個Tack,基本上是在Outlook里面。我們現(xiàn)在講一下Separate Process,如果你打開一個PowerPoint文件,有一些邏輯的漏洞可以利用,所以邏輯的都是都是非常Powerful的。

我們想如果改成別的,我們把這個改一下會發(fā)生什么呢?如果我們把它改成Word,Word也提供一個接口,如果我們把這個數(shù)據(jù)包裝好,這就會導(dǎo)致的情況,這個Word文檔在后臺會打開,也就是說你打開這個PowerPoint修復(fù)文件,后臺會打開一個Word文檔。你可以看到這個Process已經(jīng)起來了,甚至米可以打開PDF,

這個看起來有點意思,我只是打開一個PowerPoint,但是后臺打開了另一個進(jìn)程。而且還可以同時控制這個進(jìn)程的內(nèi)容,這是我們看到的PDF。

這個Feature其實是用了一個PowerPoint動畫,如果你看這個的話就可以看到,這是兩個Object,在動畫的控制板上它們可以連接在一起。在測試的時候我們意識到,首先我們可以控制這個內(nèi)容,我們前面也說了,比如說可以拿一個Word的Exploit,看什么時候去Play或者是激活那個OLE Object。我相信很多人知道,可以有一些腳本。

現(xiàn)在我們說一下ASLR,我也不是特別懂。但是一個基本的事實就是,ASLR如果觸發(fā)的話,主程序里要掛掉,或者是Crash,不能再起來,或者是IE可能允許再多一次,但是不能不斷的試。

從理論上來說,如果一個Service的程序的話,其實你不用考慮ASLR,一次失敗沒關(guān)系,可以試,總會成功的。從我們剛才的情況,Word跟PowerPoint,如果從Word的文件,這個Word的程序肯定是Crash,但是PowerPoint那個會存在。

我們能夠做的,我們的主程序是PowerPoint的格式可以存在。那個動畫的方式在PowerPoint的時候,我們可以在不同的Exploit上,比如我們第一個黑的地址Crash了,我們可以黑另一個。

在真實世界當(dāng)中,很多易被攻擊的程序,包括Office、Adobe Reader,Office雖然有64位,但是還是非常大的主流。我們可以暴力破解,我們?nèi)绻?56個OLE Office動畫功能的話,我們就可以暴力破解,得到ntdll.dll地址。

Alexander Sotirov和Mark Dowe在2008年的論文當(dāng)中就講過,這看起來是有興趣的方式,用動畫分析,可以直接打開很多的。在真實的世界中還是有一定的通用性,因為有很多被攻擊的程序都支持這個,還有很多例子。

我們最早在去年7月份就報告給了微軟,微軟最近通知我們說,他們不想Fix了,這個太難Fix。

Office其實是一個非常復(fù)雜的軟件,它有很多Feature,甚至很多Feature都不知道,有的是用到個位數(shù)的Feature,很多Feature大家都不知道,根本用不到,這是一個非常復(fù)雜的軟件。更多的Feature,更多的攻擊方法和攻擊漏洞,我們分析有一個非常有意思的。

VBA引擎在Office上大家知道,現(xiàn)在軟件越來越多了,他們搞了一個VBA引擎。但是你真的知道它是怎么工作的嗎?打一個比方,VBA Code是怎么存放,怎么代表的?幾個月前我就打算做這樣一個研究,基本上來說,我們發(fā)現(xiàn)有一個OLE Stream,

在這個宏的文件,有一個dir的Stream包含了VBA Project的信息,不是說所有的都有這個dir Stream,其實這是一個壓縮的,所以說你要得到它的信息需要解壓縮。實際上微軟已經(jīng)有這個了,我們想要說的是,經(jīng)過我們的研究,Office被打開了,解析這個的話,是在VBA之前,是先被解析了。

這是一個例子,是一個解壓縮以后的dir Stream,有一些字符串。其中一個字符串是Libid,Suggesting it is a type Library File。如果我們改成一個遠(yuǎn)程的Libid,我們看一下在Debugging當(dāng)中是怎么做的,我們看一下在VBE7上加載一個,到Typelib的API,第一個就是一個遠(yuǎn)程的反應(yīng),我們剛才疏漏了一個參數(shù)。

這意味著什么呢?意味著正在調(diào)用這個LoadTypeLib,攻擊這個TypeLib的文件格式有一段歷史了,在這個圈子里,如果你漏掉一個用戶可以控制的TypeLib的話,非常容易導(dǎo)致代碼執(zhí)行,這個里面是非常容易導(dǎo)致的,EIP可以精確的控制,0x41414141。

TK在2008年就發(fā)現(xiàn)過這個問題,他報給微軟以后,微軟2009年給他回復(fù),這是我在163上找到的。他的發(fā)現(xiàn)就是,惡意攻擊者提供一個文件,但是微軟不認(rèn)為這是一個問題,他認(rèn)為這不是一個典型的用戶環(huán)境,是一個針對開發(fā)者的東西。

這個TypeLib系統(tǒng)不能被用戶控制,因為你得到這個信息,已經(jīng)有這個權(quán)限了。微軟的官方語言我也不知道是什么意思。

下面看這個引擎,這個是你是不是可以被用戶控制,在我們的攻擊場景下,典型環(huán)境下說它是發(fā)一個Office文件,Word文件,PowerPoint、Excel都可以,在之前就已經(jīng)發(fā)現(xiàn)了,一打開就中招。

所以說如果UNC的一個路徑的話,你可以指向一個攻擊者控制的一個TypeLib的文件,會導(dǎo)致非常嚴(yán)重的問題。我們報給微軟以后,這是一個非常典型的TypeLib的可怕性,這個攻擊手段,微軟兩天前才修復(fù)了這個漏洞。

發(fā)現(xiàn)一個新的Feature是Office上一個非常有用的方法,這個是我們湊巧發(fā)現(xiàn)的,還有多少我們不知道呢?微軟在Office相關(guān)的方面有很多,但是這里面真的是有很多動不動就上百頁,幾百頁,也容易睡著,所以說這也是一個非常有意思的東西。

你打開Office文件,是我的老板發(fā)給我的,或者同事發(fā)給我的,我不想讓他知道我看了這個文章沒有,可能是打開Office文件,我只是看一下,只是閱讀一些東西。但是事實上來說,Word、PowerPoint、Excel都是可以直接允許的,我在2013年就開始提到了這個問題。

Word、PowerPoint、Excel并不是一個尊重隱私的App。如果在Protected View當(dāng)中沒有這個問題,但是我們也要指出,Publise沒有這個。有人說我只看一個郵件有沒有這個問題?桌面版的Outlook你看一個郵件不會暴露你的IP地址,你看過沒有,它是一個尊重隱私的,這是事實。

接下來是一些結(jié)論,這些Attack Surface這些東西,Office的攻擊界面非常大。而且我要強調(diào)一點的是,這取決于用戶環(huán)境,取決于你用的什么瀏覽器,你的E-Mail客戶端用的是什么,你用什么保存和打開附件,或者說你是不是加了Domain,跟你所處的環(huán)境有很大的關(guān)系。

作為研究者來說,研究Office整體安全的話,我們需要假裝自己是一個普通的用戶,我們知道宏的問題,甚至有一些UI Design的業(yè)務(wù)問題。從保護者的角度來說,我們保護用戶的話,需要考慮整個用戶環(huán)境和用戶習(xí)慣。

Protected View是一個非常好的使用環(huán)境,我們建議在越多的環(huán)境啟用越好。一些不必要的我建議你們刪除,不像其他的IE、Edge,其他的Service或者是整個的Windows,這些他們能做什么事大部分還是知道的,有很多人研究,微軟有很多的文檔。

但是Office就是另一種,它有很多未知的領(lǐng)域,甚至很多很少人知道,或者是根本就沒有人知道的一些Feature,而且發(fā)現(xiàn)這些Feature是發(fā)現(xiàn)Office問題的一個關(guān)鍵點。

我想感謝孫斌,感謝微軟MSRC和Office Team跟我們討論這個問題,Nicolas Joly幫助我們Review了這個Presentation。如果有什么問題我們再交流,謝謝!

上一篇:Cisco'Mariano Graziano:Graffiti: the spraying attacks slayer

下一篇:Pwn2Own王宇:針對黑客比賽當(dāng)中安全漏洞分析