震網(wǎng)的秘密兄弟
震網(wǎng)病毒破壞伊朗核設(shè)施過(guò)程的復(fù)雜程度遠(yuǎn)遠(yuǎn)超乎所有人的預(yù)料。
從震網(wǎng)病毒發(fā)現(xiàn)到現(xiàn)在已經(jīng)3年多了,作為第一個(gè)被曝光的網(wǎng)絡(luò)武器,時(shí)至今日依然讓軍事戰(zhàn)略家,信息安全專家,政治決策者和廣大的公眾對(duì)它感到迷惑不解。我們已經(jīng)聽(tīng)過(guò)它的故事了:它是怎樣攻擊納坦茲的伊朗核設(shè)施的,它是怎么隱藏的,它是如何違背了制造者的期望從納坦茲逃離的。但是這個(gè)故事的大部分都是不正確或者說(shuō)是不完整的。
這是因?yàn)檎鹁W(wǎng)病毒其實(shí)不是一個(gè),而是有兩個(gè)。大部分的注意力都被那個(gè)較簡(jiǎn)單的攻擊程序吸引了,就是改變鈾濃縮離心機(jī)轉(zhuǎn)子速率的那個(gè)。另外一個(gè)被“遺忘”的程序復(fù)雜度和隱蔽性都高了一個(gè)量級(jí)。對(duì)那些懂得工業(yè)工業(yè)控制系統(tǒng)安全的人來(lái)說(shuō)可以稱得上是一個(gè)夢(mèng)魘。奇怪的是這個(gè)更復(fù)雜的攻擊程序是先出現(xiàn)的,較簡(jiǎn)單的,被熟知的攻擊程序出現(xiàn)在一年以后,他們被發(fā)現(xiàn)的時(shí)間間隔很短。
伊朗的核計(jì)劃成為世界輿論的中心有助于我們理解利用程序破壞這個(gè)計(jì)劃的企圖。震網(wǎng)對(duì)伊朗核計(jì)劃的影響尚不清楚,因?yàn)闆](méi)有關(guān)于多少控制器被感染的消息傳出來(lái)。不過(guò),經(jīng)過(guò)深度的分析發(fā)現(xiàn)這次攻擊的目的在于實(shí)現(xiàn)攻擊,以及實(shí)現(xiàn)攻擊的過(guò)程。我花了3年時(shí)間來(lái)做分析,不僅僅是計(jì)算機(jī)代碼,包括被攻擊的核工廠環(huán)境的物理特點(diǎn)以及這個(gè)核工廠運(yùn)作的流程。我發(fā)現(xiàn)的整個(gè)全貌,包括震網(wǎng)的第一個(gè)和不為人知的變種,會(huì)對(duì)這次攻擊帶來(lái)一次全新的認(rèn)識(shí)。事實(shí)證明震網(wǎng)遠(yuǎn)比公眾認(rèn)知的網(wǎng)絡(luò)武器危險(xiǎn)的多。
2007年,有人在VirusTotal上提交了一個(gè)程序,后來(lái)證明這是第一個(gè)震網(wǎng)病毒變種,至少是我們目前已知的第一個(gè)。當(dāng)然,這是在5年之后,掌握了震網(wǎng)的第二個(gè)變種的相關(guān)知識(shí)才意識(shí)到的。要是沒(méi)有后來(lái)較簡(jiǎn)單的版本,可能這個(gè)最初的震網(wǎng)到今天還躺在反病毒專家的檔案庫(kù)里。今天,我們已經(jīng)知道這個(gè)程序包含的載體可以嚴(yán)重干擾納坦茲的鈾濃縮工廠里離心機(jī)的保護(hù)系統(tǒng)。
后來(lái)的震網(wǎng),被人們熟知的那個(gè),試圖讓離心機(jī)轉(zhuǎn)子轉(zhuǎn)速過(guò)快從而讓轉(zhuǎn)子破碎。這個(gè)最初的震網(wǎng)卻使用了不同的策略。它通過(guò)破壞級(jí)聯(lián)離心機(jī)的保護(hù)系統(tǒng)讓納坦茲的離心機(jī)在壓力過(guò)大的環(huán)境下運(yùn)行。保護(hù)系統(tǒng)無(wú)處不在,因?yàn)槿魏畏闯5倪\(yùn)行都可能導(dǎo)致設(shè)備損壞,危害操作員的健康和周圍的環(huán)境。在納坦茲我們看到了一個(gè)獨(dú)一無(wú)二的保護(hù)系統(tǒng),它維持著那些老式的不可靠的IR-1型的鈾濃縮離心機(jī)運(yùn)行。這個(gè)保護(hù)系統(tǒng)是伊朗核計(jì)劃的重要組成部分,沒(méi)有這個(gè)系統(tǒng),那些古老的IR-1就沒(méi)什么用了。
IR-1離心機(jī)是伊朗鈾濃縮工作的支柱。它是上個(gè)世紀(jì)60年代末70年代初歐洲設(shè)計(jì)的,后來(lái)設(shè)計(jì)被巴基斯坦的核販子A.Q.Khan偷走。IR-1是全金屬的設(shè)計(jì),這樣才能運(yùn)行可靠。當(dāng)然前提是零件的制造精密度高,重要的配件像頻率轉(zhuǎn)換器和恒轉(zhuǎn)矩驅(qū)動(dòng)器質(zhì)量也高。但是伊朗從來(lái)沒(méi)想過(guò)高標(biāo)準(zhǔn)的實(shí)現(xiàn)這個(gè)設(shè)計(jì)。所以在納坦茲不得不降低離心機(jī)的運(yùn)行壓力。較低的運(yùn)行壓力意味著對(duì)轉(zhuǎn)子受到的機(jī)械壓力也小,這樣損壞就會(huì)降低。同樣產(chǎn)出和效率也會(huì)降低。最好的情況下,這些IR-1也就只有設(shè)計(jì)的一半產(chǎn)能。
這些低效不穩(wěn)定的IR-1也存在優(yōu)勢(shì),那就是伊朗可以大規(guī)模制造。伊朗通過(guò)數(shù)量來(lái)提高產(chǎn)量,接受在生產(chǎn)過(guò)程中存在一定的離心機(jī)損壞。因?yàn)橹圃斓碾x心機(jī)比損壞的多多了。不過(guò)要讓這么多離心機(jī)工作,伊朗也下了一番功夫。最初,這些離心機(jī)是非常敏感的工業(yè)流程,不允許任何的微小故障。伊朗構(gòu)建了一個(gè)級(jí)聯(lián)的保護(hù)系統(tǒng),使得即使一個(gè)離心機(jī)破碎了,整個(gè)濃縮過(guò)程依然可以繼續(xù)。
從離心機(jī)的層面上來(lái)說(shuō),這個(gè)保護(hù)系統(tǒng)使用了3個(gè)關(guān)閉閥,每個(gè)離心機(jī)上都有安裝。關(guān)閉這些閥門(mén),出問(wèn)題的離心機(jī)就從整個(gè)系統(tǒng)上分離出來(lái)。維護(hù)工程師就可以在整個(gè)流程依然繼續(xù)的情況下替換這些有問(wèn)題的離心機(jī)。
上圖是在2008年,當(dāng)時(shí)的總統(tǒng)馬哈茂德·艾哈邁迪-內(nèi)賈德在納坦茲控制室觀看SCADA的場(chǎng)景。面對(duì)攝影師的屏幕顯示,兩個(gè)離心機(jī)是孤立的,提示存在問(wèn)題,但這并不影響整個(gè)流程繼續(xù)。(紅色高亮顯示有問(wèn)題的離心機(jī))。
但是這個(gè)隔離閥的解決方式也帶了很多問(wèn)題。因?yàn)殡x心機(jī)非常不可靠,經(jīng)常會(huì)被關(guān)掉。處于同一梯隊(duì)的離心機(jī)可能同時(shí)損壞,維護(hù)工程師來(lái)不及在第一時(shí)間替換。一旦這種情況發(fā)生,鈾濃縮過(guò)程中非常敏感的運(yùn)行壓力就會(huì)升高。壓力一升高就會(huì)導(dǎo)致各種各樣的問(wèn)題。
伊朗人民非常有創(chuàng)造力的解決了這個(gè)問(wèn)題。每一個(gè)濃縮階段,都安裝了一個(gè)排氣閥門(mén)。有一個(gè)傳感器檢測(cè)壓力,一旦超過(guò)閾值,閥門(mén)自動(dòng)打開(kāi),降低壓力。
這個(gè)系統(tǒng)可以保證納坦茲的離心機(jī)運(yùn)轉(zhuǎn)。但是這也讓它陷入了可能被遠(yuǎn)程網(wǎng)絡(luò)攻擊的泥潭。有時(shí)候會(huì)讓人懷疑設(shè)計(jì)這個(gè)系統(tǒng)的人是不是頭腦混亂。
納坦茲的級(jí)聯(lián)保護(hù)系統(tǒng)是基于西門(mén)子S7-417的工業(yè)控制器的。它控制閥門(mén)操作,六個(gè)層級(jí)的壓力傳感器和6個(gè)164臺(tái)離心機(jī)的機(jī)組??刂破骺梢岳斫獬芍苯舆B接到設(shè)備的嵌入式電腦系統(tǒng)。震網(wǎng)設(shè)計(jì)成可以感染這些控制器,通過(guò)某種方式獲取控制權(quán)。這個(gè)場(chǎng)景用戶幾乎無(wú)法想象,也沒(méi)有在任何工控系統(tǒng)的會(huì)議上討論過(guò)。
感染了震網(wǎng)的控制器就變成了一個(gè)傀儡。正常的控制邏輯看到的都是震網(wǎng)像讓他看到的。在攻擊序列執(zhí)行之前(大約每個(gè)月一次攻擊),震網(wǎng)會(huì)讓控制室的工程師看到真實(shí)的數(shù)據(jù),但是一旦攻擊開(kāi)始就不一樣了。
這個(gè)震網(wǎng)變種做的第一步是隱藏它的活動(dòng)。震網(wǎng)記錄了21秒級(jí)聯(lián)保護(hù)系統(tǒng)的傳感器正常情況下的數(shù)據(jù)。然后在攻擊過(guò)程中不斷循環(huán)重放這21秒的數(shù)據(jù)??刂剖依锏谋O(jiān)控端看上去一切都很正常。
然后震網(wǎng)就開(kāi)始了它的活動(dòng)。它關(guān)閉了前兩級(jí)和最后兩級(jí)濃縮步驟的閥門(mén)。阻止了受影響的離心機(jī)內(nèi)的氣體流出,反過(guò)來(lái)導(dǎo)致其余離心機(jī)的壓力升高。壓力的增加將導(dǎo)致更多的六氟化鈾進(jìn)入離心機(jī),給轉(zhuǎn)子更高的機(jī)械應(yīng)力。最終,壓力可能會(huì)導(dǎo)致氣體六氟化鈾固化,從而嚴(yán)重?fù)p害離心機(jī)。
攻擊者一直在監(jiān)控離心機(jī)真正的工作狀態(tài),這種攻擊一直持續(xù)到攻擊者覺(jué)得足夠了。如果他們是為了毀滅性的破壞,那么很簡(jiǎn)單。在納坦茲的案例中,一個(gè)控制器控制的氣體固化可以輕易損壞上百臺(tái)離心機(jī)。聽(tīng)起來(lái)這個(gè)目標(biāo)非常有價(jià)值,但它也會(huì)暴露攻擊者。伊朗的工程師在后期的分析中可以輕易的找到事故發(fā)生的原因。這次攻擊的實(shí)現(xiàn)過(guò)程中,攻擊者密切監(jiān)視運(yùn)行的壓力和離心機(jī)的狀態(tài)表明,他們小心翼翼的避免毀滅性的損壞。增大運(yùn)行壓力的方式看起來(lái)更像是為了讓轉(zhuǎn)子壽命更短一些。
不管怎樣,攻擊者非常謹(jǐn)慎的實(shí)施了這次攻擊。攻擊的代碼設(shè)計(jì)如此精細(xì),因?yàn)榧?xì)小的改變或者配置錯(cuò)誤都可能帶來(lái)很大的影響,甚至導(dǎo)致程序崩潰,一旦崩潰,就會(huì)被伊朗的工程師發(fā)現(xiàn)從而暴露行蹤。
這次過(guò)壓的攻擊結(jié)果也是未知的。不管是什么,在2009年的時(shí)候,攻擊者決定嘗試一些新的東西。
[譯自foreignpolicy]
















 
 
 


 
 
 
 