沒發一槍一彈,M國是這樣玩殘伊朗的核武計劃的
解濱
冷戰結束后,世界總體趨向太平。 但樹欲靜而風不止,威脅人類安全的新問題接踵而來。 這其中最棘手的,一個是恐怖主義,另一個是核武擴散。 前一個問題在多國的合作下,趨於好轉。 后一個問題,由於多國各懷鬼胎,至今不見成效。 其中有兩個流氓國家的核武計劃受到國際的關注。 一個是北韓,另一個是伊朗。
北韓發展核武純粹是作秀加訛詐,搞的是鈈彈,技術起點比較低,核武發展前途也比較有限。 和北韓的小打小鬧不一樣,伊朗野心勃勃,躊躇滿志,自己提取濃縮鈾。 鈾彈周期長,技術門檻高,但發展無量。 所以這是西方各國和以色列的一塊心病。 但伊朗是石油輸出大國,西方國家沒有太多的迴旋空間。 談判數年沒有進展,而傳統的軍事手段又羈絆太多,伊朗核武問題猶如燙手山芋,因此必須另尋一高策,既可事半功倍,遲滯伊朗核計劃,又不至於陷入另外一場沒有勝利希望的戰爭,還不會帶來人員傷亡,萬一失手也能悄悄矇混過去,不會導致國內外民眾的強烈抗議。 這等好事存在嗎?
存在! 山重水複疑無路,柳暗花明又一村。 M、I兩國專家們絞盡腦汁,終於找到了一個萬全之策,這就是與其楊揚止沸,不如釜底抽薪。 此計運籌帷幄於三年之前。 時至今日已大見成效。 如今我們不再見美國在安理會強壓各國制裁伊朗的咄咄逼人之勢,也不見美軍在伊朗附近大兵壓境之威,更不見美國官員四處奔走,利誘各國說服伊朗放棄核武計劃之努力。 美以兩國官員凡談起伊朗核武一事,必滿面春風,胸有成竹,如數家珍。 M、I兩國到底施了何錦囊妙計,不見刀光劍影,沒有導彈呼嘯,讓伊朗的核武計劃玩完?
玩完未必,玩殘是肯定的。
這件事搞IT的網友們數月前早有聽說。 但直到今天也沒有誰站出來拍著胸脯邀功請賞,美以兩國對這類質詢也不置可否。 去年年底,伊朗官員還否認離心機遭到嚴重破壞。 但後來的各種來自伊朗官方的消息證明了他們最不想看到的事情確實已經發生。 一言蔽之,本來伊朗今年年底就可以實現核爆,但這一計劃已被推遲到至少2015年。 今後這4年間風雲變幻,夜長夢多,誰知會不會又是噩夢連連,禍事迭起,好事難成呢?
M國是如何巧施妙計玩殘伊朗的核武計劃的呢? 說起來很簡單: 有一枚專門針對伊朗納坦茲(Natanz)的濃縮鈾工廠的數字導彈被用來一舉摧毀那裡諸多的用來把鈾235分離出來的離心機。 這枚數字導彈就是去年困擾了世界各國工業界,曾讓諸位IT專家驚出一身冷汗,嚇得屁滾尿流,叫國際所有的防毒專家都不知所措的的一個名叫Stuxnet的計算機蠕蟲。
全世界的信息安全專家在剖析了Stuxnet之後,都為其設計之完美,實施之巧妙,隱蔽之深奧,攻擊之精確,防備之強悍驚嘆不已。 它達到了世界計算機蠕蟲之頂峰。它可是有史以來最為複雜和精確的計算機惡意代碼。
此等驚人之作,絕非高中生躲在地下室瞞著老媽能完成。 去年我在我的「谷歌事件,中國亮劍」一文中就指出:黑客有民間與官方之分。 兩者區別在以下三個方面:(1)民間的黑客基本上是小打小鬧,打不贏就走,打贏了趕快去黑客社區報功,風光無限。 政府的黑客則有高度的組織性和多方面協調性,事成之後保持沉默,無名英雄。 (2) 民間黑客多為錢財所驅 – 偷信用卡,盜竊銀行賬戶,騙財為普遍行為。 官方黑客則不為錢財所動, 政治動機突出。 (3) 民間黑客多技藝良莠不齊,且常露出馬腳。 官方黑客是專業的,技藝精良,整體水平高超,且招法特殊,來無影去無蹤,極難捕捉。
沒有誰會相信任何一個民間黑客或黑客組織有能力設計出Stuxnet這種傑出的作品。 如果說去年來自中國針對谷歌的蠕蟲Aurora是一隻狐狸的話,那麼Stuxnet就是一頭電腦控制的雄獅。
隨著時間的推移,有關Stuxnet的秘密被揭開。 根據多個可信的情報資源,伊朗的核武計劃是被這樣一步步玩殘的。
生產鈾235需要高速離心機,而這種離心機的控制系統的關鍵部件是一種變頻器。 M國和I國的特工人員得知這種特殊的變頻器的製造商在世界上只安裝到了兩個國家,一個是芬蘭,另一個是伊朗(在芬蘭那個不是用來生產核材料的)。 這個消息使M、I兩國的情報機構欣喜若狂。 下一步,他們開始打探伊朗使用了什麼計算機程序來控制這種變頻器,進而控制離心機來濃縮鈾235。 這個不難,有段時間伊朗願意讓IAEA監視其濃縮鈾的生產。 一查,原來伊朗使用的是西門子公司的Simatic WinCC SCADA(數據採集與監控)系統。
也不知中了什麼魔法,2008 年初,西門子公司居然同意讓M國愛州的某國家實驗室檢查西門子公司用來控制操作工業機械的電腦控制程序。 這個過程,就是我們搞這一行的所說的「Code Review」,即閱讀代碼。 懂行的都知道,這和交出全部家當一模一樣,甚至比大閨女交出貞操還嚴重。 微軟至今不願公布源代碼,自有其道理。 不出意料,該實驗室發現了西門子控制程序的兩個安全漏洞。不過,這位來頭不小的老兄並沒把這一發現立即告訴西門子,而是告訴了某機構。
不久,打擊伊朗的數字精確導彈就在一群電腦高手的合作下完工了。
可如何試驗這枚數字導彈的效用呢?
不久,在I國的 Negev 沙漠中的 Dimona 群樓里,安裝了和伊朗一模一樣的變頻器、P-1離心機和電腦控制系統。 這裡被賦予了新的使命 – 為了打擊伊朗的核武器發展,M國和I國的聯合團隊在這裡進行著秘密的測試。正是在 Dimona 這裡,兩國聯軍測試了 Stuxnet 蠕蟲的效果,這個專門為了摧毀伊朗離心器的電腦蠕蟲。
經過反覆修改和試驗,Stuxnet越來越完善和精銳,可以說是到了盡善盡美的程度。
那麼,怎麼把這枚數字導彈精確地投放到對方的工廠里去,而又不傷及無辜呢?
核武工廠的計算機系統是不和互聯網連接的。 這是個大難題。 不過這個難題俺一猜就猜到了是如何解決的。 其實一點也不難。 先對伊朗的互聯網來個大規模的漏洞掃描,這種事情任何黑客白客都會幹,俺也常干(俺是白客)。 掃描結果將會顯示該國哪幾個安全漏洞最普遍。 然後根據那些該國最普遍的安全漏洞,把Stuxnet略加修改,使其專門針對那些漏洞來傳播,這樣其定向性大大加強。 這解釋了為什麼全世界只有伊朗一國的Stuxnet感染率達到70%以上,而別的國家只有不到15%的感染率(注意: 這個觀點屬於筆者本人,別偷啊)。
那這Stuxnet最後是如何傳到伊朗納坦茲(Natanz)的濃縮鈾工廠里的呢? 工廠的網路雖然不和外界連接,但數據交換還是要進行的,不然沒法運行。 怎麼交換數據呢? 最普遍的辦法就是U盤(USB Drive)。Stuxnet是U盤剋星! 工廠里的俄國工程師把U盤插入一台感染上Stuxnet的計算機,下一次往控制台上一插,感染就玩成了。 Bingo!
那麼,Stuxnet是怎樣玩殘伊朗的核工廠的呢? 據稱在近17個月的時間內,Stuxnet潛伏在目標系統特定的組件里,改變離心機旋轉速度的控制,通過讓離心機快速轉動然後急劇停止來使離心機受損傷。雖然其沒有直接破壞離心機,但它使軸承快速磨損,導致設備需要不斷更新和維修。而由於聯合國的經濟制裁,這種設備不得進口,伊朗呼天不應,叫地不靈。
那麼你會問: 操作人員為什麼沒有及早發現這個問題呢? 這個Stuxnet最狡猾之處,就是它在開始搞破環之前先把機器正常運轉的一段數據錄下來,然後只向操作人員顯示正常的數據。 哎呀呀,干這種欺上瞞下的事咱們中國的貪官最在行哈。
等到工廠的管理層發現前年和去年鈾235的產量大大降低,而設備的損壞率大大升高,百思不求其解時,已經太晚了。
你會問:計算機中毒,乾脆把那台計算機關掉不就行了嗎? 但假如所有的計算機都中毒你怎麼辦? 把所有的計算機都關掉? 那工廠不就完蛋了? 你會說,那給計算機消毒就行了。 可是核設施不可能把所有計算機都停下,然後消毒。 那就一台一台,或一小批一小批去消毒不就行了? 不行! 消了毒的計算機一放回網路馬上又被其它有毒計算機感染。 你說打了補丁后怎麼還會被感染呢? 也不行! 因為沒有任何一個補丁可以有效地防止Stuxnet的再次感染。 Livian Ge 詳述了Stuxnet的感染過程,見附錄。Stuxnet的感染和重複感染能力,是多渠道,全方位的,防不勝防。 你會說: 計算機不都做了備份(backup)嗎? 只要用備份就可以修復計算機了嘛。 問題是,要是這些備份也感染上了,怎麼辦? 這些計算機是哪一天感染上Stuxnet的,沒有誰知道。
就在伊朗納坦茲工廠夜以繼日加班加點為所有計算機消毒時,一件意想不到的事情發生了: 該工廠兩位負責這一消毒行動的IT專家在下班駕車回家的路上,一個神秘的騎摩托車的人往他們的車上各貼了一枚磁性炸彈。 一人重傷終生殘疾,另一人當場死亡。 這對於伊朗納坦茲工廠猶如雪上加霜。
現在,唯一可以徹底修復Stuxnet造成的破壞的,只有扔掉工廠里所有的計算機,進口和更換新的設備,一切從頭來。 這是唯一的辦法。
美國和以色列的官員對 Stuxnet 三緘其口。但每次被問及此事的時候,以色列的官員就露出開心的笑容。奧巴馬的大規模殺傷武器主智囊 Gary Samore 日前在一個關於伊朗的會議上並沒有正面回復 Stuxnet,但他微笑著說:「我很高興得知伊朗遇到了一些離心器的問題,美國和其盟友會盡一切能力來使這事更加麻煩點」。
三年前,以色列還是堅信只有用武力才能摧毀伊朗的核武器設施。但現在,Stuxnet 不費一槍一彈就實現了拖延時間的目地。
這件事起始於09 年 6 月,Stuxnet 蠕蟲開始流傳。但奇怪的是,這個病毒並不像其他病毒那樣邪惡。德國漢堡的安全專家 Langner 發現,Stuxnet 只在一群有著特殊配置的西門子控制器的情況下才會啟動。而這種配置,往往只出現在離心器上。比如,有段程序只會在 984 個機器連在一起的時候才會運行。
巧合的是,IAEA在 2009 年底 在Natanz 的調查中發現,伊朗取出了 984 台工作不正常的機器。
筆者撰寫這篇文章時參考了至少36篇文獻,筆者的計算機至少22次被Stuxnet蠕蟲感染。 但這個蠕蟲對於筆者來說是絕對無害的。 對於全世界各國(除伊朗之外),Stuxnet也是無害的。 唯一可能有害的,就是它已經被解碼了。 今後要是有人改寫這個超級蠕蟲,讓它去實現其它目的,比如說遠程遙控核反應堆、超級水壩、摩天大樓的電梯、遠洋巨輪、巨型客機,等等等等,那將是人類的噩夢。
但是,如果各單位都有筆者這樣的專家,問題就比較樂觀了(自吹自擂哈)。
以上就是M國如何不發一槍彈,玩殘伊朗核武計劃的秘密。 請注意俺可沒說Stuxnet是誰寫的。
地球啊,早晚要完蛋!
寫於2011年3月27日
參考文獻
Robert McMillan, IDG News: Was Stuxnet Built to Attack Iran's Nuclear Program?http://www.pcworld.com/businesscenter/article/205827/was_stuxnet_built_to_attack_irans_nuclear_program.html
WILLIAM J. BROAD, JOHN MARKOFF and DAVID E. SANGER, New York Times: Israeli Test on Worm Called Crucial in Iran Nuclear Delay
http://www.nytimes.com/2011/01/16/world/middleeast/16stuxnet.html
Gregg Keizer, Computer World: Is Stuxnet the 'best' malware ever?http://www.computerworld.com/s/article/9185919/Is_Stuxnet_the_best_malware_ever_
Ed Barnes, FOX News: Stuxnet Worm Still Out of Control at Iran's Nuclear Sites, Experts Say、http://www.foxnews.com/scitech/2010/12/09/despite-iranian-claims-stuxnet-worm-causing-nuclear-havoc/#
Livian Ge: 詳細解讀Stuxnet的感染流程
http://www.symantec.com/connect/blogs/stuxnet-1
李山: 掀開Stuxnet病毒的神秘面紗
http://www.stdaily.com/kjrb/content/2011-01/25/content_269795.htm