http://m.casecurityhq.com 2020-09-10 10:39 來源:DeepTech深科技
工業(yè),是一個國家得以安身立命的根本。雖然中國已經(jīng)成為全球唯一擁有全部工業(yè)門類的國家,但在工業(yè)自動化的核心——工業(yè)控制軟件方面卻遠稱不上強。
隨著 Simulink 等工業(yè)控制軟件設(shè)計分析平臺的被禁,大部分人已認清了形勢,并在關(guān)鍵環(huán)節(jié),惡補功課,展開追趕。
這個艱難的過程,離不開一些人的默默支持,他們就是負責(zé)工業(yè)控制軟件安全方面的專家們。
工業(yè)控制軟件安全無小事
工業(yè)控制軟件的安全主要可以分成兩個維度,信息安全(Security)和功能安全(Safety)。這兩個維度互為表里,同樣重要。
舉幾個現(xiàn)實生活中的例子。
2009 年 11 月,美國 NSA 制作的專門針對伊朗鈾濃縮設(shè)施的“震網(wǎng)病毒”,通過對特定型號的變頻器操控,讓其生產(chǎn)效率大大降低,直接導(dǎo)致其研發(fā)進度退后多年。
2015 年 12 月 23 日,來自俄羅斯的黑客利用 SCADA 系統(tǒng)協(xié)議中的漏洞,攻擊了烏克蘭的電力控制系統(tǒng),導(dǎo)致 7 個 110 KV 的變電站和 23 個 35 KV 的變電站出現(xiàn)故障,80000 用戶斷電數(shù)小時。
以上這些安全事件都屬于信息安全領(lǐng)域,而引發(fā)廣泛關(guān)注的僅為冰山一角。
據(jù)國家互聯(lián)網(wǎng)應(yīng)急中心報告指出,2019 年,累計發(fā)現(xiàn)針對我國工業(yè)設(shè)備的惡意嗅探事件約 5151 萬起。
而在功能安全領(lǐng)域的事故更為觸目驚心。
2011 年,我國發(fā)生了 “7·23” 甬溫線特別重大鐵路交通事故。由北京南站開往福州站的 D301 次列車與前方由杭州站開往福州南站的 D3115 次列車發(fā)生同向追尾事故,后車 D301 次四節(jié)車廂墜橋。據(jù)官方公布,事故造成 40 人死亡、172 人受傷,中斷行車 32 小時 35 分,直接經(jīng)濟損失 1 億 9371.65 萬元。
還有持續(xù)至今的波音停飛事件,印尼和埃塞俄比亞先后兩架波音 737 MAX 8 型客機失事,機上人員全部遇難。事后波音通過調(diào)查發(fā)現(xiàn),在某些情況下,若查覺有失速(氣流平衡被破壞)可能,737 MAX 客機可能會自動降低機頭。而法國航空事故調(diào)查處分析指出,飛行員已完全遵從波音及美國聯(lián)邦航空管理局發(fā)出的建議和指引去處理緊急情況,但仍無法修正控制系統(tǒng)持續(xù)壓低機頭的情況。
這一連串悲劇性的事件,無一不向世人昭示著工業(yè)控制軟件安全的重要性。
姜宇正是這個領(lǐng)域的專家,他今年 31 歲,是清華大學(xué)軟件學(xué)院的副教授、博士生導(dǎo)師。先后師從孫家廣教授、Lui Raymond Sha 教授和任尚蘋教授,以第一作者或通訊作者發(fā)表學(xué)術(shù)論文 47 篇。獲 ICSE-SEIP、EMSOFT 等會議最佳論文獎或提名獎 5 次,授權(quán)發(fā)明專利 7 項。
9 月 9 日,姜宇榮獲阿里巴巴達摩院所評選的“青橙獎”,該獎項面向全球范圍對科技進步有關(guān)鍵推動作用的中國青年學(xué)者的年度獎項,旨在發(fā)掘和支持從事基礎(chǔ)科學(xué)、應(yīng)用技術(shù)研究的優(yōu)秀青年工作者。
姜宇說,工業(yè)控制軟件的安全和日常軟件在安全方面主要有兩點不同。
第一,工業(yè)控制軟件的交互對象、使用環(huán)境方面非常復(fù)雜多變。大到飛機坦克,航母潛艇,小到一只機械手臂,都是工控軟件控制的對象;而環(huán)境交互方面,雨林、沙漠、高山、海底,都可能存在它的身影。
第二,出現(xiàn)問題所導(dǎo)致的結(jié)果不同。輕則導(dǎo)致系統(tǒng)失效、生產(chǎn)停滯,重則引發(fā)嚴(yán)重的工業(yè)事故,導(dǎo)致生命財產(chǎn)的損失。
這是一個相對小眾的領(lǐng)域,和傳統(tǒng)應(yīng)用軟件的研究投入相比,國內(nèi)專門從事工業(yè)控制軟件的研究人員已經(jīng)相對較少,而做工控軟件安全的人可能還要少上一到兩個數(shù)量級。
聽到 “Bug” 就興奮
姜宇說,很遺憾,在這個領(lǐng)域,中國也處于被 “卡脖子” 的狀態(tài)。一些核心的工控軟件控制器和工控軟件設(shè)計分析工具,均為國外所掌握和壟斷。
一方面,如高鐵列車的控制網(wǎng)絡(luò)包含的兩種最典型的控制器,一個是 MVB(Multifunction Vehicle Bus,連接一節(jié)車輛或一組車輛單元內(nèi)部各種設(shè)備的多功能車輛總線)控制器,一個是 WTB(Wire Train Bus 連接各節(jié)可動態(tài)編組車輛間的絞線式列車總線)控制器,目前我國使用的方案基本都是國外采購。前文提到的烏克蘭停電事故中關(guān)鍵的電力控制系統(tǒng)(SCADA),內(nèi)部的通信協(xié)議等核心軟件也被我國普遍采用。
另一方面,目前主流的安全保障工具及核心設(shè)計分析技術(shù)如 Simulink、Peach、Defensics 等,均被國外壟斷。
在這種情況下,使用國外的安全測評工具分析購買的國外的工控軟件控制器,在某些時候會產(chǎn)生一些意想不到的問題,難以保障自主安全可控。
“當(dāng)然,我并不是說應(yīng)該全盤國產(chǎn)化,但是在關(guān)鍵、核心的領(lǐng)域還是應(yīng)該如此。”
“國外媒體總說我們的硬件、軟件有后門,卻拿不出任何的證據(jù)。其實反過來也是一樣,國外的軟件有沒有后門?對我們來說也是一個黑盒,如果真的有后門,在緊急時刻人家關(guān)閉使用權(quán)限,將造成難以預(yù)測的后果。不是自己寫的終究不能放心。其次,隨著 Simulink 等工具的使用限制,也不得不加速推進國產(chǎn)化的進程。”
圖 | 姜宇在北京(來源:姜宇)
姜宇和他的研究團隊已經(jīng)取得了初步的成果,圍繞工業(yè)控制軟件展開,在功能安全性保障和信息安全性保障兩個方向均作了探索。
圖 | 姜宇和他年輕的研究團隊 (來源:姜宇)
在功能安全性保障方面,他的主要研究成果是 Tsmart-MDD——一款應(yīng)用于工業(yè)控制軟件設(shè)計構(gòu)造階段的建模、驗證與綜合工具集。目前該工具集的部分功能已經(jīng)開發(fā)完畢,投入到了小范圍的測試之中。
圖 | 模型驅(qū)動的工業(yè)控制軟件安全設(shè)計工具(Tsmart-MDD)
在該工具集中,工業(yè)控制軟件的功能設(shè)計階段主要分三步:首先構(gòu)建必要的環(huán)境模型、交互模型及控制軟件本身的控制模型;然后通過模型去仿真驗證一個個功能需求是否被滿足;確認滿足之后自動生成對相應(yīng)的控制代碼,這樣就避免了手動編寫代碼可能產(chǎn)生的錯誤。
在 Tsmart-MDD 中,首先設(shè)計了一個異構(gòu)形式計算模型,在這個計算模型的基礎(chǔ)上去開發(fā)工控軟件模型的仿真器、測試器, 和相應(yīng)的代碼生成器,可以自動生成 VHDL 代碼,也可以生成 C 代碼。
這部分工作主要是對標(biāo) Simulink 的部分典型應(yīng)用場景。在與華為車控軟件方面合作當(dāng)中,通過 Tsmart-MDD 所生成的代碼,相比 Simulink 和 Ptolemy 大概要減少約 28% 左右;生成的測試輸入較 Simulink Design Verifier 生成的測試輸入相比,可以提升模型覆蓋率約 20%。他們的工作也得到了中車集團、日本三菱重工的認可和資助。
在信息安全性保障方面,研究團隊研制了 Tsmart-DATE,用于工業(yè)控制軟件的安全測試分析。通過覆蓋率敏感的程序調(diào)度、跨進程的覆蓋率統(tǒng)計和進程管理、動態(tài)搜索變異的集成等策略,顯著提升當(dāng)前主流工具的精度和效率。
圖 | 靜動結(jié)合的工業(yè)控制軟件測試分析工具(Tsmart-DATE)
同國際通用的 Peach、AFL 等工具相比, Tsmart-DATE 覆蓋率提升 27%,時間縮短三倍,平均多找出 17% 的漏洞。在國際通用的工控協(xié)議如 IEC61850, IEC104 等協(xié)議中,挖掘了大量的 CVSS 評分大于 9 的高危漏洞,相關(guān)的成果也連續(xù)獲得嵌入式軟件頂級會議 EMSOFT2019、2020 的最佳論文提名獎。
姜宇說,由于研究方向的緣故,他和小組成員聽到 “Bug” 這個詞時,會覺得興奮。“每次在一些廣泛應(yīng)用的軟件,比如說 Linux 內(nèi)核、MySQL 等大型的系統(tǒng)軟件里,使用我們的分析工具找出 Bug,我們就很開心。”
未來 3 到 5 年,姜宇和他的研究團隊,將會繼續(xù)圍繞著工具平臺進行算法和理論的創(chuàng)新,力爭實現(xiàn)典型應(yīng)用場景的國產(chǎn)化替代。
陰差陽錯的科研路
在科研生涯的起步階段,姜宇并非一下就認準(zhǔn)了計算機。
他用了好幾個 “陰差陽錯” 來描繪自己的命運。“我最開始不是很喜歡計算機,考大學(xué)時想去同濟大學(xué)念土木工程,也不知道為啥想去。”
但住在他家對面的老師說,北郵的軟件工程專業(yè)好,出來能賺好多錢。于是陰差陽錯地去了北京郵電大學(xué)。
后來,又陰差陽錯地拿到了保送清華計算機系的資格,覺得不用有點可惜,所以就去了。
再后來,雖然對計算機還不是很感興趣,但論文竟然發(fā)得還湊合,提前畢業(yè)還拿了優(yōu)博,而且再一次陰差陽錯地到美國伊利諾伊大學(xué)香檳分校做博士后。
事后姜宇回想,最關(guān)鍵的轉(zhuǎn)變其實發(fā)生在他的讀博階段的第三年底,自己的第一篇 A 類期刊論文,歷時兩年半,前后被打回要求修改了 6 輪終于接收;師兄師姐帶著一起研發(fā)的車輛總線控制器成功上車裝配…… 讓自己感受到了科研帶來的樂趣和滿足。個中辛苦,冷暖自知。
現(xiàn)在,姜宇的科研之路已經(jīng)走得愈發(fā)堅實,他將自己稱為工業(yè)控制軟件的“羽林衛(wèi)”,希望可以和組員一起,不負韶華,為工業(yè)控制軟件設(shè)計和分析工具的自主可控貢獻清華力量,為國產(chǎn)工業(yè)控制軟件的安全保駕護航。