用U盤(pán)來(lái)釣魚(yú)會(huì)不會(huì)成功?
如前文所述,其實(shí)上面談到的U盤(pán)安全問(wèn)題并不是USB設(shè)備的專屬,任何移動(dòng)存儲(chǔ)設(shè)備(甚至連內(nèi)置硬盤(pán))都存在這樣的問(wèn)題。所以嚴(yán)格意義上,這種安全問(wèn)題根本就怪不到USB頭上,如果一定要怪,就如前文所述,只是因?yàn)閁SB實(shí)在是太普遍了。
前不久剛剛結(jié)束的Black Hat USA 2016黑客大會(huì)上,谷歌反欺詐研究團(tuán)隊(duì)負(fù)責(zé)人Elie Bursztein分享了一個(gè)議題,名為“Does dropping USB drives really work?”(丟U盤(pán)進(jìn)行社工攻擊真的有效嗎?)他嘗試在伊利諾伊大學(xué)校園里各處丟棄297個(gè)U盤(pán),看看有沒(méi)有好奇心重的人會(huì)撿回去看U盤(pán)里究竟有什么。如果說(shuō)Bursztein丟的是297塊SATA3硬盤(pán)(Lol),攻擊方式理論上是一樣的,但攻擊效果有多么糟糕是可想而知的。可見(jiàn)USB的普及性,是我們?cè)诖擞懻撈浒踩缘囊罁?jù)。
美國(guó)計(jì)算機(jī)行業(yè)協(xié)會(huì)去年曾經(jīng)發(fā)起過(guò)一項(xiàng)調(diào)查,結(jié)果顯示17%的人在撿到USB設(shè)備后會(huì)直接連電腦——這個(gè)數(shù)據(jù)可能還過(guò)于保守。Bursztein的調(diào)查結(jié)果明顯更激進(jìn):135個(gè)U盤(pán)(也就是45%)被人撿走后都連接了電腦,這些人還打開(kāi)了其中的文件,其上的“惡意程序”給Bursztein回傳了數(shù)據(jù)。
好在這還只是個(gè)實(shí)驗(yàn),并不存在真的“惡意”。Bursztein的研究團(tuán)隊(duì)是這么做的:他們沒(méi)有用autorun.inf,因?yàn)楝F(xiàn)在的操作系統(tǒng)根本就不吃這套,Mac連自動(dòng)運(yùn)行功能都不支持,他們的方法是:釣魚(yú)。
研究團(tuán)隊(duì)給這297個(gè)U盤(pán)分別貼了些標(biāo)簽,甚至還明確寫(xiě)上了U盤(pán)所有者(以及歸還地址),即便在這種情況下還是有135個(gè)U盤(pán)被好奇心重的同學(xué)打開(kāi)了。U盤(pán)里面的文件迷惑性地寫(xiě)上了“期末考試”“機(jī)密”等字樣,實(shí)際上這些文件都是HTML格式的,文件中有張圖片,調(diào)用了研究團(tuán)隊(duì)服務(wù)器的地址——這樣一來(lái)研究團(tuán)隊(duì)就知道,有人打開(kāi)了文件。
除此之外,HTML文件打開(kāi)后有個(gè)問(wèn)卷調(diào)查,詢問(wèn)這些好奇心寶寶:你們?yōu)樯兑迦思业腢盤(pán)呀!的確也有20%的人參與了調(diào)查,超2/3的人表示他們其實(shí)是想歸還U盤(pán)的(Really?),18%的人承認(rèn)他們是好奇,14%的人給出了其他解釋。
就這一個(gè)例子,我們就不難看出U盤(pán)釣魚(yú)的成功率還是相當(dāng)高的。如果這些HTML文件都換成惡意程序,或者調(diào)查問(wèn)卷改成詢問(wèn)用戶名密碼的“釣魚(yú)問(wèn)卷”,又有多少人會(huì)栽在其中呢!美劇《黑客軍團(tuán)(Mr Robot)》中就出現(xiàn)了用U盤(pán)釣魚(yú)的橋段,看樣子這根本就不只是個(gè)傳說(shuō)!
U盤(pán)攻擊絕殺:偽裝成HID設(shè)備
還是那句話,上面兩部分談的實(shí)際上都仍是將USB設(shè)備作為傳播惡意程序的載體,就好像U盤(pán)釣魚(yú),其本質(zhì)和丟個(gè)軟盤(pán)來(lái)釣魚(yú)(Lol),以及郵件釣魚(yú)是沒(méi)差別的,原罪不在USB設(shè)備身上。如果用這種方法來(lái)談USB安全,實(shí)際上還有很多內(nèi)容可說(shuō),比如說(shuō)USB接口是入侵ATM機(jī)的重要途徑,還有USB Key這類作為數(shù)據(jù)解密的安全手段,都不過(guò)是將USB作為工具。
那么有沒(méi)有USB本身的原罪可談呢?有!可以從USB的協(xié)議入手。USB不止MSC(大容量存儲(chǔ))設(shè)備這一種,現(xiàn)在的USB接口支持這么多功能,協(xié)議其實(shí)也五花八門(mén),自然不光有相關(guān)MSC的協(xié)議,什么USB Power Delivery(USB快速充電規(guī)范)、USB OTG(SRP、HNP協(xié)議,兩個(gè)外設(shè)間傳輸)等等,還有一個(gè)USB HID設(shè)備類協(xié)議。這里的USB HID,近兩年來(lái)已經(jīng)成為USB設(shè)備攻擊的絕殺了。
HID也就是Human Interface Device,是與人交互的設(shè)備。其實(shí)USB-HID設(shè)備現(xiàn)如今已經(jīng)相當(dāng)普遍了,比如USB鍵盤(pán)、鼠標(biāo)、手柄等等。這要怎么利用呢?在2014年的Black Hat黑客大會(huì)上,安全研究人員Karsten Nohl和Jakob Lell發(fā)表了演講,提到一個(gè)有些驚世駭俗意味的USB攻擊手段,名叫BadUSB,部分利用了HID的特點(diǎn)。
上面說(shuō)的好玄乎,所以下面再來(lái)舉個(gè)栗子:鍵盤(pán)都用過(guò)吧?有沒(méi)有試過(guò)不用鼠標(biāo),純粹用鍵盤(pán)來(lái)進(jìn)行各項(xiàng)系統(tǒng)操作呢?有經(jīng)驗(yàn)的同學(xué)應(yīng)該知道,其實(shí)也不難。那么如果有這么一個(gè)U盤(pán),它能夠偽裝成鍵盤(pán),通過(guò)腳本執(zhí)行一系列鍵盤(pán)敲擊操作,是不是感覺(jué)就能控制你的系統(tǒng)了?這其實(shí)就是BadUSB攻擊利用USB協(xié)議的示例。被BadUSB感染過(guò)的U盤(pán)不僅能夠偽裝成USB鍵盤(pán),還能偽裝成USB網(wǎng)卡——篡改DNS,這樣一來(lái)所有的DNS查詢就能發(fā)往攻擊者的服務(wù)器,可進(jìn)行重定向攻擊。
一旦這種攻擊得以實(shí)現(xiàn),那么攻擊方式自然也就變得五花八門(mén)了,只有想不到?jīng)]有做不到,最重要的是跨平臺(tái)——因?yàn)楦飨到y(tǒng)平臺(tái)遵循一致的USB標(biāo)準(zhǔn)。
說(shuō)到底,這種HID模擬攻擊不就是當(dāng)年黑客們很愛(ài)的USB橡皮鴨(USB Rubber Ducky)嗎?問(wèn)題是橡皮鴨的內(nèi)部硬件很彪悍,有個(gè)60MHz主頻的處理器、microSD擴(kuò)展插槽。普通U盤(pán)何以實(shí)現(xiàn)這樣的攻擊手段?這個(gè)問(wèn)題其實(shí)才是Karsten Nohl和Jakob Lell這兩位研究人員的高明之處,也是這些U盤(pán)在感染BadUSB之后的可怕之處。
一般U盤(pán)的構(gòu)成除了我們需要用到的存儲(chǔ)數(shù)據(jù)的閃存部分,還有主控芯片,或者叫控制芯片。主控芯片一般會(huì)指定某些部分的單元用于存儲(chǔ)固件驅(qū)動(dòng)(似也有主控芯片本身就包含了固件閃存)。這里的固件就類似于操作系統(tǒng),控制軟硬件交互。Nohl和Lell花了好幾個(gè)月的時(shí)間進(jìn)行逆向工程,他們發(fā)現(xiàn)許多U盤(pán)都可以對(duì)固件部分進(jìn)行重新編程(尤其是PHISON群聯(lián)的主控芯片)。用戶根本就看不到固件部分,要隱藏攻擊代碼自然就非常容易了。
這就是BadUSB得以成型的核心所在。另一方面當(dāng)代操作系統(tǒng)為了給USB設(shè)備提供最大的兼容性,USB標(biāo)準(zhǔn)是允許一個(gè)USB設(shè)備具有多種輸入輸出設(shè)備的特征的。這樣一來(lái),通過(guò)重寫(xiě)U盤(pán)固件,就能讓它偽裝成USB鍵盤(pán)、網(wǎng)卡甚至顯示器。通過(guò)這個(gè)假的鍵盤(pán),輸入U(xiǎn)盤(pán)固件中的惡意指令和代碼,還可以配合閃存中的惡意程序進(jìn)行攻擊。
說(shuō)白了,BadUSB是令普通U盤(pán)都變身為橡皮鴨,甚至攻擊性更強(qiáng)。這其中的加強(qiáng)體現(xiàn)在BadUSB的偽裝和傳播性方面。偽裝!很容易理解,看起來(lái)只是個(gè)普通U盤(pán),而且即便格式化U盤(pán)也無(wú)法清除惡意代碼,因?yàn)閻阂獯a在固件中;傳播!當(dāng)年Nohl和Lell在研究報(bào)告中有特別提到,BadUSB理論上最大的威脅在于,通過(guò)一個(gè)BadUSB設(shè)備給計(jì)算機(jī)感染惡意程序之后,計(jì)算機(jī)也可以將BadUSB傳播到其他插入計(jì)算機(jī)的U盤(pán):某個(gè)U盤(pán)在插入這臺(tái)計(jì)算機(jī)之后,計(jì)算機(jī)上的惡意程序就能夠?qū)盤(pán)固件進(jìn)行重新編寫(xiě),U盤(pán)主人根本就不會(huì)察覺(jué)到。
這么一來(lái),全世界的U盤(pán)都能通過(guò)這種方式被BadUSB感染,全世界沒(méi)有任何一個(gè)U盤(pán)是可被信任的,因?yàn)楦揪蜎](méi)有反病毒軟件能夠查到。由此甚至可以引發(fā)一個(gè)問(wèn)題:USB設(shè)備是否已經(jīng)到了根本就沒(méi)有安全性可言的地步?
其實(shí)也不盡然,針對(duì)U盤(pán)固件,引入不可偽造加密簽名機(jī)制就是種方案,杜絕惡意程序的重新編寫(xiě)。這就主要取決于閃存主控芯片制造商了。因?yàn)橛腥酥肛?zé)Nohl說(shuō),他先前在Black Hat上的演講其實(shí)只針對(duì)***群聯(lián)的閃存主控芯片——所以2014年年底,Nohl還抽樣了8大主要芯片制造商的主控芯片:群聯(lián)、Alcor、瑞薩、祥碩(華碩的子公司)、創(chuàng)惟、FTDI、微芯、Cypress。
結(jié)果發(fā)現(xiàn)情況異常復(fù)雜。的確有部分USB主控芯片對(duì)BadUSB免疫——即無(wú)法對(duì)固件做重新編程,免疫的芯片占到抽樣總數(shù)的一半,但每個(gè)品牌的表現(xiàn)都是很不穩(wěn)定的。比如說(shuō),采用群聯(lián)主控芯片的U盤(pán)都存在被BadUSB感染的風(fēng)險(xiǎn),而祥碩則完全對(duì)BadUSB免疫,創(chuàng)惟的USB 2.0芯片沒(méi)問(wèn)題,但更新的USB 3.0芯片就有問(wèn)題。其他USB Hub、鍵盤(pán)、攝像頭、鼠標(biāo)等所用的控制芯片情況更是五花八門(mén)。而且實(shí)際上,即便是一個(gè)USB設(shè)備制造商的相同型號(hào)的產(chǎn)品,他們也會(huì)在不同批次中采用不一樣的主控芯片,比如金士頓所用的USB控制芯片就有五六種之多。
難不成以后我們要用U盤(pán)之前,都得先把U盤(pán)拆開(kāi)看看主控芯片的型號(hào)不成?
評(píng)論
查看更多