只要幾字節(jié)的代碼,你的電腦就會(huì)崩潰!

責(zé)任編輯:editor007

2016-09-18 21:29:32

摘自:雷鋒網(wǎng)

F-Secure 的網(wǎng)絡(luò)安全專家 Mikko Hypponen 還表示,黑客們還可以讓受害者在打開壓縮的文件夾時(shí),讓計(jì)算機(jī)不斷解壓更多內(nèi)部文件。Mandalorian 的網(wǎng)絡(luò)安全專家 Steve Lord 則表示,他最近在研究的一個(gè)漏洞可以往單個(gè)數(shù)據(jù)包中插入惡意代碼。

史上最佳的編程笑話之一是:為什么程序員會(huì)死在浴室?因?yàn)橄窗l(fā)水瓶上寫著“揉出泡沫、沖洗、重復(fù)”。

其實(shí)這是一個(gè)無限循環(huán)。很顯然,條理分明的程序員“重復(fù)”了這一循環(huán)指令,直到死。覺得這很荒謬?但計(jì)算機(jī)多年來一直被人帶入這種循環(huán)中。

事實(shí)上,這是經(jīng)典的“fork 炸彈”攻擊。雖然一個(gè) fork 炸彈可能只有幾個(gè)字符長,但它卻能讓計(jì)算機(jī)用光自己的資源,再也沒法干別的事。

在一些計(jì)算機(jī)語言中,這種小字符集能定義一個(gè)毫無意義的函數(shù),然后要求計(jì)算機(jī)重復(fù)執(zhí)行它。計(jì)算機(jī)不會(huì)問為什么,只會(huì)照做。不過,不要嘗試在家中運(yùn)行這一代碼,因?yàn)樗鼤?huì)極大地拖慢你的計(jì)算機(jī)運(yùn)行速度,甚至可能會(huì)導(dǎo)致電腦崩潰。

劍橋大學(xué)的研究人員們?cè)?2013 年預(yù)計(jì),計(jì)算機(jī)漏洞每年給全球經(jīng)濟(jì)帶來的損失約為 3120 億美元。即便小漏洞也能造成巨大損失,比如一行錯(cuò)誤代碼就可能讓軍艦無法行駛。但這些由極少字節(jié)組成的代碼怎么會(huì)造成這么大的損失呢?

威斯康星大學(xué)計(jì)算機(jī)科學(xué)家 Ben Liblit 說道:“計(jì)算機(jī)會(huì)按照接受到的指令執(zhí)行,你給它什么,它就會(huì)執(zhí)行什么。計(jì)算機(jī)沒有常識(shí)可以依靠。”

為什么會(huì)存在無限循環(huán)呢?Ben Liblit 表示,因?yàn)楹芏鄷r(shí)候重復(fù)執(zhí)行一項(xiàng)任務(wù)能做很多人類覺得無聊和花時(shí)間的事情,節(jié)省人類的時(shí)間,比如編輯一大張人名列表,并把所有人名的第一個(gè)字母大寫。循環(huán)重復(fù)執(zhí)行的次數(shù)并沒有硬性規(guī)定,從理論上講,只要計(jì)算機(jī)能應(yīng)付,循環(huán)可以永遠(yuǎn)重復(fù)執(zhí)行下去。

只要幾字節(jié)的代碼,你的電腦就會(huì)崩潰!

第一個(gè)有記錄的 fork 炸彈要追溯到 1978 年。和上面的例子差不多,這個(gè)名為 wabbit 的小程序做的事就是不斷復(fù)制自己。

像這樣的代碼(惡意軟件的一種)會(huì)先偽裝成普通文件,作為電子郵件附件進(jìn)入受害者的電腦。如果受害者下載并運(yùn)行了這一文件,這個(gè)等待被觸發(fā)的 fork 炸彈就會(huì)引爆。

F-Secure 的網(wǎng)絡(luò)安全專家 Mikko Hypponen 還表示,黑客們還可以讓受害者在打開壓縮的文件夾時(shí),讓計(jì)算機(jī)不斷解壓更多內(nèi)部文件。這被稱為“壓縮炸彈”(zip bomb),其中一個(gè)著名的壓縮炸彈在解壓前只有 42 字節(jié)。它可以填滿受害者的硬盤,癱瘓解壓文件的病毒查殺軟件,耗盡計(jì)算機(jī)的內(nèi)存。

在 2014 年,一個(gè)被用來加密網(wǎng)絡(luò)敏感數(shù)據(jù)的計(jì)算機(jī)軟件被發(fā)現(xiàn)存在嚴(yán)重漏洞。這個(gè)名為“心跳失血”(Heartbleed)的漏洞可以讓攻擊者竊取私密數(shù)據(jù),如密碼或信用卡信息等。英國薩里大學(xué)(University of Surrey)的 Alan Woodward 表示,執(zhí)行這一攻擊的程序只有 4 字節(jié)。

對(duì)于有惡意的黑客們來說,用極少字節(jié)來實(shí)現(xiàn)破壞力驚人的行動(dòng)非常有用。比如,2010 年著名的“Twitter 病毒”就可以打開彈出窗口。用戶只需將鼠標(biāo)滑到 twitter.com 上的問題推文,瀏覽器就會(huì)彈出一個(gè)窗口,即便白宮官方 Twitter 也一度受到了影響。

只要幾字節(jié)的代碼,你的電腦就會(huì)崩潰!

Mandalorian 的網(wǎng)絡(luò)安全專家 Steve Lord 則表示,他最近在研究的一個(gè)漏洞可以往單個(gè)數(shù)據(jù)包中插入惡意代碼。這是個(gè)相當(dāng)復(fù)雜的漏洞,可以讓攻擊者們攻破虛擬專用網(wǎng)絡(luò)(VPN)的安全連接。

造成破壞的最短代碼應(yīng)該就是“0”了。除以 0 會(huì)產(chǎn)生一個(gè)不確定數(shù),而計(jì)算機(jī)無法處理這一情況。

Steve Lord 表示,這正是 1997 年 9 月發(fā)生在美國約克郡軍艦上的事。軍艦上的某個(gè)程序錯(cuò)誤地除以了 0,結(jié)果導(dǎo)致整艘戰(zhàn)艦在巡航時(shí)徹底關(guān)閉,不得不拖回港口維修。

Steve Lord 說道:“謝天謝地,這不是在戰(zhàn)斗中發(fā)生的。”他還提到了名為 Tiny Banker 的惡意軟件,這個(gè)惡意軟件會(huì)感染受害者的瀏覽器,每當(dāng)受害者登陸自己的網(wǎng)絡(luò)銀行帳號(hào)時(shí),Tiny Banker 就會(huì)復(fù)制這些信息。它的大小只有 2 萬字節(jié),卻感染了全世界成千上萬個(gè)計(jì)算機(jī)系統(tǒng)。“在 Windows 程序中,Tiny Banker 真的很小了。”

上面的例子并不是說計(jì)算機(jī)本身就滿是漏洞,但也確實(shí)證明了要保護(hù)計(jì)算機(jī)系統(tǒng)免受惡意攻擊非常具有挑戰(zhàn)。Steve Lord 甚至還說,有些錯(cuò)誤還挺“美”的,不過美國海軍可能不會(huì)同意這一點(diǎn)。

正如 Ben Liblit 所說的,不管執(zhí)行的后果是有利還是有害,計(jì)算機(jī)都會(huì)一絲不茍地按照指令執(zhí)行。他說道:“計(jì)算機(jī)能做很有用的事,也能做很有破壞力的事。”

不管怎樣,至少在大多數(shù)情況下,你都可以重啟電腦來解決問題。畢竟,“重啟試試”可是和“不行就分”一樣好用的人生哲理啊。

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

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