只需要30行代碼 (約140KB的文件),就能讓20噸的發電機原地爆炸?這一幕確實發生在了美國愛達荷州的測試場地上。
黑客模擬者將大約30行代碼推進保護繼電器中,不到23秒,機器就已經開始搖晃。
又過了幾秒鐘,發電機開始冒黑煙,最後直接爆炸。
從黑客攻擊手段,回溯一項實驗
事情得從美國司法部最近在網上公布了一份起訴文件說起,文件中起訴了六名俄羅斯軍事情報部GRU的黑客,起訴內容從2018年的冬奧會到2016年的烏克蘭電網斷網事件等全球網絡攻擊活動。
不過卻被人在公布的一次攻擊細節中發現,俄羅斯黑客使用的攻擊手段其實是美國政府在十幾年前發明的。人們發現,早在十年前,就已經有一位網絡安全研究者進行過了類似的測試方法。
這是美國國安部進行的一項秘密實驗,2007年3月的一個早晨,Mike Assante作為工控安全專家來到美國愛達荷州國家實驗室。
實驗室場地上擺放著Assante和他的夥伴們為此花費30萬美元從某個油田購買了一臺發電機,重達27噸,並安裝了一個小型電網,包括61英裡的傳輸線路和7個電力子站。這些工控安全專家準備使用代碼把這張用於測試用的電網摧毀。
11點33分,一名安全專家從幾英裡外的位置,通過網際網路上發動了惡意代碼攻擊,代碼只有30行,而攻擊目標--發電機卻和一輛公交車一樣的大小。發電機先是開始顫抖,然後開始冒黑煙,最後發生爆炸。前後過程不到2分鐘。
30行代碼,大約是140KB的文件大小(比一個常見表情包還小)。
△這個gif大小約為75KB,文件不超過它的兩倍
這項實驗被稱為Aurora發電機測試,目前,它再一次引起了人們對大型設備可能遭受網絡攻擊的重視。
至於爆炸的原理,還得從發電機構造談起。
發電機的「保護殼」,變成了攻擊利器
傳統柴油發電機包含一個名為保護繼電器的設備,相當於電路中的一個應急閘門。
如果保護繼電器檢測到電路異常就立刻斷開電路連接,同步發電機,利用旋轉的轉子磁場在定子中感應發電,而一旦發電同步,那麼它又會將電路再接通回來。
但也正因為它起著保護電路的作用,使得電路異常的檢查任務全部壓在了保護繼電器上,一旦它出現問題,就可能成為攻擊者的利器。攻擊者的基本思路是,打亂同步器和同步檢查繼電器的工作,使得發電機變速過快,最後「引火自焚」。
這30行代碼的邏輯,就是反向利用它的工作原理,令保護繼電器在發電機同步的情況上,仍然選擇斷開連接,電路不同步時卻將電路合上,從而給發電機帶來巨大的衝擊。這一過程不斷重複,最終造成摧毀性的破壞。
為了驗證這一想法的可實施性,研究人員阿桑特,在美國愛達荷州的測試場地上,將模擬黑客攻擊的30行代碼輸入到保護繼電器中,對這一安全裝置進行了重新編碼。
幾乎不到幾十秒的時間,電路就遭到了破壞,如燎原之勢一般席捲了整個發電機,造成了最終的破壞。當然,這30行代碼之所以能成功,離不開這種發電機的特殊構造。
網友認為,如果當時發電機電網系統加上了反向功率,以及磁極滑動保護、瞬時過流保護、AVR勵磁限制以及超速控制等裝置,這樣的危險就能夠避免。但,換作其他發電機,就完全能避免受到攻擊了嗎?
電機種類有限,攻擊方法卻有千百種。有網友認為,代碼的行數、文件大小不重要,只要發電機存在漏洞,就無法避免會遭受這樣的黑客攻擊。所以,對於任何系統來說,安防都是至關重要的。