DLL劫持從2000年就一直開(kāi)始困擾著Windows系統(tǒng),而現(xiàn)在這種攻擊方式也在大多人眼中“最安全的操作系統(tǒng)”——蘋(píng)果Mac OS X上出現(xiàn)了。
本周,Synack的研究員Patrick Wardle在溫哥華舉行的CanSecWest的會(huì)議上做了一個(gè)演講,他詳細(xì)解釋了入侵Mac OS X動(dòng)態(tài)庫(kù)的細(xì)節(jié):持久、過(guò)程注入、安全功能(Apple Gatekeeper)繞過(guò)和遠(yuǎn)程利用,和Windows DLL劫持差不多。
蘋(píng)果動(dòng)態(tài)庫(kù)劫持漏洞
DLL劫持攻擊和動(dòng)態(tài)庫(kù)劫持攻擊的概念從本質(zhì)上來(lái)說(shuō)基本相同:攻擊者必須先找到一個(gè)惡意庫(kù),然后才能進(jìn)入操作系統(tǒng)加載的目錄中。Wardle只是解釋了這類(lèi)攻擊的一個(gè)方面,也就是他能找到Photostream Agent(iCloud運(yùn)行時(shí)會(huì)自動(dòng)運(yùn)行)上易受攻擊的Apply二進(jìn)制文件。
Wardle稱(chēng):
DLL劫持困擾Windows已經(jīng)有一段時(shí)間了,是一個(gè)非常普遍的攻擊,而且已經(jīng)被攻擊者用爛了。我之前有想過(guò)OS X上會(huì)不會(huì)也出現(xiàn)相同的問(wèn)題。于是經(jīng)過(guò)一系列的研究,我發(fā)現(xiàn)在OS X上也有相似的問(wèn)題。雖然它們使用了不同的技術(shù),但是入侵的能力卻相同,都很強(qiáng)大。
持久性潛伏是攻擊中最完美的一個(gè)部分,攻擊者可把一個(gè)特別編制的動(dòng)態(tài)庫(kù)復(fù)制到Photostream目錄上,以隨時(shí)知道應(yīng)用程序什么時(shí)候運(yùn)行,這樣攻擊者的動(dòng)態(tài)庫(kù)就會(huì)被加載到進(jìn)程中。這是最為隱秘的潛伏方式,因?yàn)樗粫?huì)創(chuàng)建任何新的進(jìn)程,不會(huì)修改任何文件,只是植入了一個(gè)單一的動(dòng)態(tài)庫(kù)。
遠(yuǎn)程執(zhí)行惡意代碼
Wardle說(shuō)他能通過(guò)在Xcode注入一個(gè)進(jìn)程便可在受害者設(shè)備上自動(dòng)并持久的執(zhí)行代碼。一旦Xcode感染了他的惡意程序,只要開(kāi)發(fā)者在系統(tǒng)上部署了一個(gè)新的二進(jìn)制文件,它就會(huì)自動(dòng)添加惡意代碼到文件上。
Wardle還可以遠(yuǎn)程繞過(guò)蘋(píng)果Gatekeeper的安全防護(hù),他的惡意動(dòng)態(tài)庫(kù)代碼會(huì)植入到下載文件中,但是這一舉動(dòng)本應(yīng)該被Gatekeeper攔截掉(因?yàn)樗皇墙?jīng)過(guò)Apple App Store下載)。然而,Gatekeeper會(huì)遠(yuǎn)程加載這一惡意文件,這樣攻擊者就可遠(yuǎn)程執(zhí)行代碼并感染用戶(hù)了。
安全掃描器
Wardle還發(fā)布了掃描器的源代碼,可掃描到易受攻擊的應(yīng)用程序。他在自己的OS X機(jī)器上運(yùn)行了他寫(xiě)的Python腳本,經(jīng)掃描發(fā)現(xiàn)有144個(gè)二進(jìn)制文件易受動(dòng)態(tài)庫(kù)劫持攻擊,包括蘋(píng)果的Xcode,iMovie和Quicktime插件,微軟的word、excel、PPT,還有一些第三方應(yīng)用程序(Java,Dropbox,GPG Tools 和Adobe插件)。