30行代碼:讓27噸發電機原地爆炸
只需要30行代碼 (約140KB的文件),就能讓20噸的發電機原地爆炸?這一幕確實發生在了美國愛達荷州的測試場地上。黑客模擬者將大約30行代碼推進保護繼電器中,不到23秒,機器就已經開始搖晃。
又過了幾秒鐘,發電機開始冒黑煙,最後直接爆炸。
從黑客攻擊手段,回溯一項實驗
事情得從美國司法局這週起訴的6名黑客說起。
這6名黑客的組織名為Sandworm,被認為不僅在2016年對烏克蘭的電網進行了攻擊,造成停電和物理設備損害;還惡意破壞了2018年的韓國冬奧會。
然而在調查他們的攻擊手段時,人們發現,早在十年前,就已經有一位網絡安全研究者進行過了類似的測試方法。
這是美國國安部進行的一項秘密實驗,當時的一位員工邁克·阿桑特(Mike Assante)僅用30行代碼,對重達27噸的發電機進行了代碼攻擊,就成功讓後者發生了爆炸。
30行代碼,大約是140KB的文件大小(比一個常見表情包還小)。
△這個gif大小約為75KB,文件不超過它的兩倍
這項實驗被稱為Aurora發電機測試,目前,它再一次引起了人們對大型設備可能遭受網絡攻擊的重視。
至於爆炸的原理,還得從發電機構造談起。
發電機的“保護殼”,變成了攻擊利器
傳統柴油發電機包含一個名為保護繼電器的設備,相當於電路中的一個應急閘門。
一旦保護繼電器檢測到線路過熱、或者發電不同步,那麼它就會認為電路異常,從而立刻斷開電路連接。
同步發電機,利用旋轉的轉子磁場在定子中感應發電。其中,轉子用於旋轉磁場,定子用於切割磁場,所以頻率與轉子一致,被稱為同步發電。
而一旦發電同步,那麼它又會將電路再接通回來。
但也正因為它起著保護電路的作用,使得電路異常的檢查任務全部壓在了保護繼電器上,一旦它出現問題,就可能成為攻擊者的利器。
攻擊者的基本思路是,想辦法將同步器和同步檢查繼電器的工作“打亂”,使得發電機變速過快,最後“引火自焚”。
而這30行代碼的邏輯,就是反向利用它的工作原理,在電路不同步時保持通電,電路同步時立刻斷電。
為了驗證這一想法的可實施性,研究人員阿桑特,在美國愛達荷州的測試場地上,將模擬黑客攻擊的30行代碼輸入到保護繼電器中,對這一安全裝置進行了重新編碼。
在發電機運轉時,保護繼電器雖然觀察到發電機已經完全同步,但仍然選擇了立刻斷開連接,使得發電機與系統其它電機斷開,“卸下一身負擔”,轉速被提升到一個前所未有的值。
而當電路不同步時,保護繼電器又將電路合上,這時候,其它旋轉發電機將給它一個巨大的衝擊。
幾乎不到幾十秒的時間,電路就遭到了破壞,如燎原之勢一般席捲了整個發電機,造成了最終的破壞。
當然,這30行代碼之所以能成功,離不開這種發電機的特殊構造。
網友認為,如果當時發電機電網系統加上了反向功率,以及磁極滑動保護、瞬時過流保護、AVR勵磁限制以及超速控制等裝置,這樣的危險就能夠避免。
但,換作其他發電機,就完全能避免受到攻擊了嗎?
電機種類有限,攻擊方法卻有千百種。
有網友認為,代碼的行數、文件大小不重要,只要發電機存在漏洞,就無法避免會遭受這樣的黑客攻擊。
所以,對於任何系統來說,安防都是至關重要的。
網友:又一場沒有硝煙的戰爭
有網友看後感嘆,科技升級了戰場,哪怕沒有槍,靠鍵盤就能將對手麻痺。(嗯…你指哪方面?)
此外,也有網友調侃,YAML不能被用於配置27噸發電機的原因找到了。
但也有網友表示,電網崩潰所帶來的恐怖影響,甚至令人難以想像。
你認為呢?