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