2015年冬天,烏克蘭西部突然陷入黑暗,某州一半的人口失去電力供應。自從爆發局部沖突以后,停電已經是烏克蘭人民最常見的“娛樂形式”,但這次卻和以往有所不同:幽靈般的黑客潛入了電力供應系統,在千里之外切斷了電網。
黑客進攻工業網絡,這個可怕的夢魘終于撲向了現實。許多國家都三觀顛覆,膽戰心驚。他們要搞清的第一件事就是:這樣的攻擊究竟是怎么成功的?
一個excel引發的血案
美國網絡情報公司 iSight Partners 最先拿到了攻擊程序樣本,并且從各種渠道流傳出來。王得金拿到樣本的時候,是事件發生的十天以后。王得金是一名工控安全專家,安全公司知道創宇旗下404實驗室成員,他為雷鋒網詳解了這個攻擊工具的奧秘。
造成了一百萬人斷電的元兇,是一個看上很普通的excel文件。然而你一旦打開它,就會親手把魔鬼從瓶中放出來。它會悄無聲息地釋放一個下載器,前臺風平浪靜,后臺卻在暗流奔涌——全速下載一套兇殘的攻擊程序。
【excel攻擊文件截圖 提示“由新版本 Office 創建,需要加載宏才可以查看”(截圖由微步在線提供)】
這個攻擊程序就是臭名昭著的“暗黑能源”——專為破壞工業控制系統量身定制的武器。有證據表明俄羅斯人曾經使用這個工具攻擊過北約、波蘭和烏克蘭。
王得金發現:為了逃脫查殺,有人在攻擊前一個多月對它進行了最新的變種編譯。這一版的“暗黑能源”中整合了數十個強大的木馬和病毒,其中包括“殺盤”(Killdisk)——一個可以刪除電腦中所有數據和引導信息的病毒。
這些木馬病毒侵入了核心輸電系統,合力切斷了電網。并且由于磁盤全部被破壞,系統根本無法重啟,以至于電網用了3-6小時才得以恢復運轉。
有證據顯示,黑客還同時攻擊了烏克蘭多個電網節點,但是并沒有達到預期目標。也就是說,他們原本的計劃,比實際呈現出來的效果還要兇殘。更可怕的是:直到現在都沒有人可以判斷,究竟是什么組織進行了這次攻擊。也就是說,黑客造成了如此巨大的破壞之后,居然還可以全身而退。
那么問題來了:如此可怕的攻擊,是否會發生在中國呢?
如果工業系統被黑,會發生什么?
有基本操守的國家都會對電力、能源等重要網絡實行物理隔離。這些網絡根本不會和互聯網連通,僅僅通過遠程滲透是無法進入的。然而事實證明,這并不妨礙美國黑客用“震網”病毒干掉了伊朗的核電站,也沒有阻擋來路不明的組織撂倒烏克蘭電網。
【時任伊朗總統內賈德視察核電站,紅圈內的紅點表示有兩臺離心機已經無故損壞,后證實為震網病毒所為】
他們是怎么做到的呢?
從伊朗的情況來看,美國把震網病毒放置在了某個核專家的U盤之內,而這位核專家也許為了方便,把U盤連到了核設施內部網絡的主機上。業內“黑話”把這種行為稱作“擺渡”。至于這個病毒是怎么進入專家的U盤之中,眾說紛紜,其中最有趣的版本是:美國間諜在核電站周圍撒了眾多精美的U盤,而這位專家恰好撿到一個。(這是一個教育我們不要貪小便宜的故事。)
可見,工業系統很難和外界完全隔離,因為總會有人有意無意破壞規則。而一旦發生違規操作,就會使得所有的隔離失去效果,破壞程序會抓住轉瞬即逝的機會把自己“擺渡”進去。
【CNN展示:黑客通過入侵工控網絡,讓設備過載起火】
像這個視頻中展示的一樣,如果黑客進入了工業生產網絡,就可以直接讓設備過載報廢。但這只是最沒有技術含量的一種玩法。
理論上來說,惡意程序一旦進入工業或軍事系統,就可以任意修改其中的指令,
如果進入工業生產網絡,可以提高載荷造成機器毀壞,甚至可以關閉防護系統造成人員傷亡;
如果進入能源系統,可以切斷電力的供應,甚至改變煉油廠的工序,造成爆炸;
如果進入水利系統,可以控制水壩的開合;
如果進入軍事系統,可以控制導彈的發射。
這么可怕的場景,是否真的會發生呢?
我們的工業系統安全嗎?
雷鋒網走訪了數位工控專家,他們普遍認為中國電力行業的安全防護比較到位,不僅在網絡隔離防護方面做得較好,而且全中國的電網分布層級眾多。即使黑客有能力打癱一個節點,也不會造成大面積斷電事故。
綠盟是一家專長于工業領域的安全公司,它的客戶包括很多電力企業。其威脅分析系統產品經理劉弘利告訴記者,在第一時間他們也拿到了烏克蘭電網攻擊的excel文件,在自己的防御系統上運行,結果系統提示:這個文件存在高危風險。他解釋說:
因為這只是個excel文件,它卻反常地試圖生成另一個文件。另外,分析系統還在其中測出shell code(利用漏洞的代碼),因此判斷它存在危險。一旦發現了高危文件,防御系統就可以對惡意程序的行為進行阻斷,防止它進行下一步的攻擊。
【綠盟的檢測系統認為這個excel文件為高威脅文件】
原來,烏克蘭電網被攻擊,要怪他們沒有采購天朝的工控安全系統咯。
不過,讓人遺憾的是,中國這些先進的技術并沒有武裝大多數本土企業。普遍來看,中國工業的安全程度讓人“目不忍視”。
【全球及我國(含臺灣)暴露在Internet上的工控設備統計表】
一般來說,企業的內部網絡分為兩部分:工業生產網絡和生產監控網絡。從安全角度考慮,這兩個網絡都不應該和互聯網相連通。但通過對中國所有連接到互聯網的設備進行掃描,王得金和團隊發現,有諸多和工業相關的設備竟然毫無隱藏,直接暴露在互聯網上。即使一些工業網絡表面上實現了隔離,也存在諸多漏洞:
一些生產監控所用的攝像頭,和其他工業監控設備處在同一個隔離網絡中。但問題在于這個監控攝像頭連通了Internet,所以實際上把整個監控網絡都“牽連”了出來。與此同時,生產網絡和監控網絡大多需要進行數據交換,這就使得黑客可以通過攝像頭進入監控網絡,最終進入生產網絡實現破壞。
王得金描述了這樣一條隱秘又有效的進攻路徑。
【黑客通過監控攝像頭入侵工控網絡】
對于很多企業來說,黑進他們的工業生產網絡比想象中還要容易。
那么,讓企業重視工控安全真的有這么難嗎?一位在工控安全領域從業多年的業務經理這樣吐槽:
實際上,大多工業掌握在國企手中。很多企業的領導人并不認為自己會成為敵對勢力的進攻對象。他們要做的就是“不求有功,但求無過”。給自己的工業生產添加安全系統并不是他們的選擇。
其實,企業這樣選擇也有充分的理由:工業生產的首要任務就是穩定,任何擾動或者升級都可能帶來意想不到的后果。如果是民用的電腦,升級之后出現bug還可以想辦法修復,甚至重裝系統。而生產線系統要求非常精密,連輕微的卡死都可能造成無法挽回的事故。
所以,什么“小步快跑,快速迭代”根本不適用于工業控制系統。對于工控來說,最好能一個系統用到地老天荒。
你可以看到很多企業的生產系統還在用Windows 2003系統,運氣好的話甚至還可以見到跑Windows 98的系統。對于這樣的系統,用弱不禁風來形容絲毫不為過。甚至拿一臺外部電腦和它建立連接,它都會“一命嗚呼”。
面對如此脆弱的工控設備,目前能夠實現的保護大多是在生產系統外圍進行安全加固,這種模式的問題在于:一旦黑客成功突破外圍防護,就可以一路直搗黃龍,幾乎必然造成損失。
王得金給雷鋒網展示了一段視頻。用黑客手段侵入工業邏輯控制器中,可以隨意對工業生產流程進行更改:
【黑客入侵工控設備的演示】
看到這里,你一定會得出這樣的結論:中國大多數工業網絡安全措施非常落后,但是有關國計民生的能源、電網因為隔離措施做得較好,還是比較安全的。
然而,事實真的是這樣嗎?
劇情反轉:中國的工業安全也許只是“虛擬現實”
中國最早的黑客之一、工控安全界的元老級人物魏強(Funnywei)提出了一個讓所有人菊花一緊的設想。
先補充兩個驚悚的背景資料:
1、中國沒有能力制造精密的數控機床和工業控制器,工業中用到的邏輯控制器95%是來自施耐德(法國)、西門子(德國)、發那科(日本)等的國外品牌。
2、中國沒有能力制造尖端的控制芯片,英特爾、高通、博通、德州儀器等有能力設計生產芯片的企業,無一例外全部屬于美國。
【發那科(日本)機械臂生產車間】
魏強說:
一塊小小的芯片,有十幾億個晶體管,制程是以納米計算的。甚至在那么小的電路板上會有七層印刷電路,想破解芯片的結構是幾乎不可能的。如果美國企業在芯片中多設了一個引腳,安插一個后門,我們幾乎不可能發現。甚至一個后門可以分成數個,分散在代碼之中,我們完全沒有能力察覺。
另外,為了實現更多的功能,現在芯片越來越多地具有了自主連接藍牙、Wi-Fi等無線網絡的能力。在理論上可以實現遠程改寫代碼。
如果果真如魏強猜測的那樣,那么以下的推論就能夠成立:
1、法國、日本等數控機床和控制器生產國,通過自家的后門可以得知機床生產零件的G代碼(進而可以得知零件的參數和用途),并且可以隨意對生產設備進行改動。
2、美國可以對所有使用美國芯片的設備(包括工業控制器)進行控制。
3、一旦發生戰爭或嚴重的對立,以上的遏制措施可以短時間內建立。
4、由于芯片帶有無線通訊功能,即使設備不聯網,破壞活動也可以由設備附近的特工通過無線電完成。
這個設想并不是沒有佐證,君不見,2003年美國進攻伊拉克的時候,讓伊拉克引以為傲的飛毛腿導彈命中率為0。
這個推測在軟件層面同樣成立。
工信部可以進入IBM看任何一行代碼。
這是2015年IBM副總裁米爾斯為了向中國銷售其產品所做出的承諾。但即使每一行代碼我們都進行審計,也不可能排除在硬件層面的不可靠性。很多情況下我們購買進口工業軟硬件,并不是因為他們的話語真誠,而是我們別無選擇。
當所有工業和國防都建立在不透明的黑盒子組成的體系之上,沒有人可以證明這個供應鏈的可靠性。縱然在和平年代一切看起來按部就班,紅紅火火。但是一旦進入戰爭狀態,世界可能在一瞬間就變成了你不認識的樣子——之前所構建的一切工控安全體系,都有可能在降維打擊之下變得不堪一擊。
【美國F-35戰機】
王得金告訴記者:“美國對于軍工產品生產要求極其嚴格。例如F-35,連一顆螺絲釘都不允許在美國以外生產。”反觀中國,很多導彈所使用的芯片卻都是美國進口的。連圓珠筆珠都做不出來的中國,不知什么時候才能有底氣說出和美國同樣的話。這就是龍芯、飛騰、兆芯的科學家們拼死也要研制出“中國芯”的原因。
然而,芯片的國產替代誰心中都沒有時間表。面對現狀,魏強提出了一個無奈但是有效的解決方案:
同一個生產流程,采用多套預備系統,分別采用不同國家的控制器,不同的操作系統、不同的軟件邏輯。在這種情況下,機器的每一個動作都需要三套控制系統進行表決,如果有一套系統被攻擊,給出異常的數據,那么它就會被表決踢出局。即使出現極端的情況:三個系統都遭到攻擊,產生的結果全不一致,此時會自動調用備用系統。備用系統可以是一套隱藏系統,平時處于靜默狀態。攻擊者根本感覺不到這套備用系統的存在,從而無法預先進行攻擊。這就是所謂的“異構冗余”系統。
這種“異構冗余”系統的實質就是:在一堆不可靠的部件之上,構建出一個相對可靠的體系。這個體系有一個明顯的缺點,就是需要增加大量的投資。不過魏強說:“核心工業的價值非常巨大,用這些投資來換取安全系數的增加,是非常劃算的。”
【搭載龍芯的工業用主板】
尾聲
黑客讓烏克蘭一百萬人陷入黑暗只用了一秒鐘;我們為了不讓這“一秒鐘”成為現實,卻不知道要經過多少年。但相信終有一日,我們可以放棄“權宜之計”,用自主的芯片和世界平等對話,用真正的工業安全“逐黑客于漠北”。
2016,距離“智能制造2025”還有九年時間。對于我們的目標來說,九年的時間并不充裕。