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