黑帽大會:研究人員展示攻擊Windows 8方法
研究人員在黑帽會議上表示,雖然Windows 8為攻擊者提供了一些攻擊機會,但總體來說,Windows 8比之前版本的操作系統(tǒng)更加安全。
趨勢科技高級威脅研究小組負責人Sung-ting Tsai在黑帽會議后接受采訪時表示,目前在Windows 8中至少有三個攻擊點,通過攻擊者的一些努力,可能會發(fā)現(xiàn)更多可以被利用的漏洞。
其中,更具威脅性的是兩種規(guī)避微軟在其新操作系統(tǒng)中部署的安全措施的方法。
第一種方法是繞過針對Windows 8 Metro風格應用程序的限制(阻止應用程序訪問互聯(lián)網(wǎng))。這種方法不是試圖打破這個限制,而是利用一個應用程序來訪問具有這樣權限的應用程序。
這樣,沒有互聯(lián)網(wǎng)訪問權限的應用程序仍然能夠通過IE或者Microsoft媒體服務器向互聯(lián)網(wǎng)發(fā)送消息,并向IE或者MMS試圖尋找的URL附加本地信息。同樣,Metro應用程序訪問的Word或者Excel文件可能包含連接到互聯(lián)網(wǎng)的代碼。
通過互聯(lián)網(wǎng)訪問,流氓應用程序可以從本地機器上傳數(shù)據(jù)到互聯(lián)網(wǎng)上受攻擊者控制的機器中。
微軟表示他們不會對此采取任何措施,這是因為訪問互聯(lián)網(wǎng)是對用戶可見的,如果用戶不贊成的話,誰能夠阻止互聯(lián)網(wǎng)訪問。同樣地,反病毒產(chǎn)品可以發(fā)現(xiàn)這種訪問,一旦這種類型的活動被報告給微軟,微軟將會從用戶電腦移除該應用程序。
Tsai并不同意這種說法。當普通用戶看到一個Metro應用程序啟動MMS時,他并不會懷疑該應用程序正試圖訪問互聯(lián)網(wǎng)。即使用戶意識到這個問題,他也很難確定這個訪問時正常的還是惡意行為。殺毒軟件同樣也很難分辨其中的區(qū)別。
Tsai表示,另一種規(guī)避方法是使用應用程序容器沙盒內的命令提示符cmd.exe來觸發(fā)其他外部的可執(zhí)行文件。
微軟表示,這不是一個問題,Tsai也同意他們的觀點。但是他表示,當聯(lián)同其他可執(zhí)行文件時,攻擊者可能可以利用其他漏洞。
他還分析了ClickOnce,在Windows 8上運行的安裝包。攻擊者可能利用ClickOnce來向文件系統(tǒng)啟動有害文件。Tsai表示微軟承認了這個問題,并將在下一版本的Windows 8中修復這個問題。
他發(fā)現(xiàn)的另一個潛在漏洞是dll劫持—插入偽裝成應用程序試圖尋找的dll的惡意代碼。他表示,IE試圖加載一些它不再需要的dll。如果這些dll的名稱被攻擊者發(fā)現(xiàn),它們可能被用來偽裝惡意軟件。
他表示,當存在不必要的dll加載時,這個問題可能出現(xiàn)在任何應用程序中。微軟表示在Windows 8發(fā)行預覽版中沒有dll劫持問題。
Tsai表示,Windows 8 Metro應用程序的一個編程功能可能被攻擊者利用,這個功能允許應用程序訪問它們無法訪問的文件夾和文件,這可能被用來竊取數(shù)據(jù),并將數(shù)據(jù)發(fā)送給攻擊者。
根據(jù)規(guī)定,Metro應用程序只能訪問文件、視頻、音樂和照片文件以及文件夾,但應用程序的開發(fā)者可以提供例外,允許應用程序訪問其他文件和文件夾。
惡意應用程序可能被授予訪問Downloads文件夾的權限,然后,用戶可能被社會工程學攻擊誘騙到從互聯(lián)網(wǎng)下載惡意文件到Downloads,從而讓該應用程序可以訪問惡意代碼。
微軟表示,這是針對開發(fā)者的功能,不是漏洞,并且在用戶的控制之下,因此,這不是一個威脅。Tsai表示,微軟可以控制程序員提供的特例的范圍。例如,文件可以被訪問,但只授予只讀的權限。
Tsai還討論了他無法利用的三個潛在攻擊點:
= 內核級高級本地程序調用(ALPC)
= 組件對象模型(COM)應用程序編程接口(API)
= Windows Runtime (RT) API
在內核級攻擊ALPC消息是非常困難的,但如果攻擊成功實施的話,攻擊者將能夠獲得豐富的應用程序調用信息流。Tsai已經(jīng)開發(fā)了四個腳本來攔截這些消息,他計劃將這些腳本公之于眾。
到目前為止,他還沒能夠使用這些針對ALPC的腳本開發(fā)出一個針對Windows 8的漏洞利用,或者發(fā)現(xiàn)一個漏洞,但這些腳本提供了自動尋找漏洞的方法。
他檢查的第二個攻擊點是針對COM服務器的,這是向客戶端提供服務的對象。在Windows 8中,Metro應用程序在容器、安全沙箱中運行,這限制了應用程序的訪問權限,讓應用程序只能訪問它絕對需要的資源。對這些資源的請求都會通過RT代理,這個代理作為限制資源訪問的中間人。
但是,如果應用程序能夠獲得對COM服務器的直接訪問權限,攻擊者將可以繞過這個沙箱。這個COM訪問必須通過使用匯編語言編寫的基本腳本手動完成。如果具有高權限的COM可以被訪問的話,攻擊者理論上可以攻入系統(tǒng),Tsai表示:“這并不容易,但這是可能實現(xiàn)的。”
Windows RT API是第三個攻擊點。Tsai表示,他通過模糊攻擊來攻擊它,向其發(fā)送隨機命令,看是否會造成API故障和創(chuàng)建一個漏洞。這需要花很多時間,還需要運氣,攻擊者才可能成功。
他在Windows 8的消費者預覽版中發(fā)現(xiàn)一個內存破壞漏洞,并向微軟報告了這個漏洞,微軟在windows 8發(fā)行預覽版中修復了這個漏洞。