他用10年前的攻擊手法感染了17000多名開發(fā)者的電腦

責(zé)任編輯:editor005

作者:歐陽洋蔥

2016-06-21 15:09:38

摘自:黑客與極客

大約10年前,有種名為Typosquatting的古老攻擊手法——國內(nèi)有將之翻譯成“誤植域名”的。最近來自德國漢堡大學(xué)的學(xué)生,利用Typosquatting攻擊,將他自己的代碼感染到了超過17000臺(tái)開發(fā)者的計(jì)算機(jī)中。

大約10年前,有種名為Typosquatting的古老攻擊手法——國內(nèi)有將之翻譯成“誤植域名”的。這個(gè)詞的前半部分“Typo”意思是排版錯(cuò)誤,其實(shí)已經(jīng)表達(dá)了這種攻擊手法的內(nèi)涵。舉個(gè)例子:黑客可能會(huì)去注冊(cè)像appple.com、taobaoo.com這樣的域名,如果用戶手誤多輸一個(gè)字幕,就會(huì)訪問到這樣的網(wǎng)站——這些網(wǎng)站還會(huì)模仿原網(wǎng)站,也就可以起到釣魚的作用了。

所以Typosquatting如果要分類的話,大概是可以劃歸到釣魚攻擊中去的。不過這類攻擊手法主要是寄希望于用戶可能會(huì)輸錯(cuò)某些域名。

最近來自德國漢堡大學(xué)的學(xué)生,利用Typosquatting攻擊,將他自己的代碼感染到了超過17000臺(tái)開發(fā)者的計(jì)算機(jī)中。注意哦,是開發(fā)者的計(jì)算機(jī)!而且里面很多人還是為美國政府,甚至軍方組織工作的。

究竟是怎么感染的?

這名漢堡大學(xué)的學(xué)生現(xiàn)年25歲,名叫Nikolai Philipp Tschacher。他在自己的學(xué)士論文里大致闡述了這種攻擊手法,論文名為《Typosquatting in Programming Language Package Managers》,有興趣的同學(xué)可以去搜一下。

整個(gè)過程其實(shí)很簡單:他首先去瀏覽一些專門探討編程語言的社區(qū)網(wǎng)站(如PyPI、RubyGems、NPM),記錄了其中下載量較高的214個(gè)包。然后他自己偽造了這214個(gè)包,里面包含他自己的腳本代碼(雖然并非惡意的),名字與這214個(gè)包非常相似。

雖然不是域名,不過他也將之稱作Typosquatting攻擊。實(shí)際上里面的確沒有包含什么惡意代碼,只是給那些下載的開發(fā)者以警示:您安錯(cuò)包啦!另外,這段代碼還會(huì)向Tschacher的計(jì)算機(jī)發(fā)送一個(gè)Web請(qǐng)求,這樣他就能夠記錄他的代碼執(zhí)行了多少次,是否獲取到管理員權(quán)限。

攻擊結(jié)果很“理想”

最終的結(jié)果是很“喜人”的,幾個(gè)月時(shí)間內(nèi),他的代碼就在超過17000個(gè)獨(dú)立域名中執(zhí)行了超過45000次,其中超過一半還獲得了管理員權(quán)限。意外發(fā)現(xiàn)是,其中有兩個(gè)域名后綴為.mil,表明這是美軍有人也運(yùn)行了這段腳本。Tschacher在論文中說:

“另外還有23個(gè)域名以.gov結(jié)尾,是美國政府機(jī)構(gòu)的域名。這個(gè)數(shù)字是值得人們關(guān)注的,因?yàn)槟孟旅绹芯抗ぷ魇液驼畽C(jī)構(gòu)的主機(jī),會(huì)帶來災(zāi)難性的后果。”

這件事比較有趣的地方在于,Tschacher攻擊目標(biāo)并非普通終端用戶,而是開發(fā)者。如果Tschacher真的有意進(jìn)行攻擊,并植入了惡意代碼,那么打擊面和傳播速度都并非一般的釣魚網(wǎng)站可比。但凡從開發(fā)者入手的攻擊,總是能夠在短期內(nèi)極速傳播,因?yàn)槿绻_發(fā)過程都在神不知鬼不覺的情況下被植入惡意代碼,那么終端用戶遭遇攻擊也就顯得理所應(yīng)當(dāng)。

很多時(shí)候,將政府和企業(yè)作為目標(biāo)的的攻擊者,都很喜歡從開發(fā)者下手。因?yàn)殚_發(fā)者對(duì)敏感網(wǎng)絡(luò)擁有很高的訪問權(quán)限,能做的事自然就多多了。

  延伸閱讀:有關(guān)Bitsquatting

是不是感覺這群被感染的開發(fā)者很弱智?然而實(shí)際上,Typosquatting也有比較高級(jí)的應(yīng)用。最后這部分作為簡單的延伸:早在2011年的時(shí)候,安全研究人員Artem Dinaburg曾經(jīng)介紹過一種名為Bitsquatting的攻擊,基本理念就是取自于Typosquatting,但它并不依賴于用戶輸錯(cuò)域名,而是利用計(jì)算機(jī)的隨機(jī)單比特錯(cuò)誤(詳情點(diǎn)擊這里)。

其實(shí)所謂的比特錯(cuò)誤是發(fā)生在硬件產(chǎn)品上的,比如內(nèi)存、CPU緩存因?yàn)榄h(huán)境或者灰塵、輻射之類的,會(huì)莫名產(chǎn)生比特錯(cuò)誤(如著名的UltraSparc II CPU就存在這種問題)。比如我們要訪問一家網(wǎng)站,域名是n.com。其二進(jìn)制表達(dá)方式是這樣的:

 

n . c o m
01101110 0101110 01100011 01101111 01101101

 

如果內(nèi)存模塊發(fā)生比特錯(cuò)誤,某一位比特發(fā)生錯(cuò)誤,就會(huì)變成下面這樣。你在訪問n.com這個(gè)域名的時(shí)候,二進(jìn)制數(shù)據(jù)是需要過一次內(nèi)存的,但最終我們?cè)L問到的實(shí)際上是o.com,這個(gè)過程真正實(shí)現(xiàn)了神不知鬼不覺。如果有人注冊(cè)一個(gè)o.com域名,用于模仿n.com網(wǎng)站,則釣魚成功率幾乎可以達(dá)到100%。

 

o . c o m
01101111 0101110 01100011 01101111 01101101

 

這聽起來似乎很懸,前兩年國外有安全專家特別做了針對(duì)Bitsquatting的實(shí)驗(yàn)(首先選擇一些可能產(chǎn)生一比特之差的域名注冊(cè),比如說micrgsoft.com,然后主要從DNS來入手這個(gè)實(shí)驗(yàn)),結(jié)果每天都存在Bitsquatting后的域名請(qǐng)求,的確非常神奇。

* Freebuf官方報(bào)道,本文作者:歐陽洋蔥,轉(zhuǎn)載請(qǐng)注明來自FreeBuf黑客與極客(FreeBuf.COM)

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)