□本報記者 何可 一年前還滿載榮光,一年后卻備受質(zhì)疑。133天內(nèi),波音737 MAX客機遭遇兩次空難,失事原因都直指軟件系統(tǒng)漏洞。 5月27日,工信部賽迪智庫信息化與軟件產(chǎn)業(yè)研究所蒲松濤博士在接受中國質(zhì)量報記者專訪時說,盡管波音737墜機事故的發(fā)生并不會改變?nèi)蚋餍袠I(yè)數(shù)字化轉(zhuǎn)型的趨勢,但確實為防范軟件化、數(shù)字化帶來的風(fēng)險敲響了警鐘,第三方漏洞檢測是飛行安全“隱形的翅膀”。 軟件“沒有絕對的安全” 波音公司是全球最大的航天航空器制造商,但其核心競爭力并非工廠和生產(chǎn)線,而是它所開發(fā)的7000多種軟件。數(shù)據(jù)顯示,波音飛機共涉及8000多款軟件,其中1000多款為通用軟件,可以通過市場購買獲得,剩余的7000多種軟件為波音自行開發(fā),代表著其核心競爭力。 而兩次墜機事故的主角波音737 MAX客機,在波音737序列客機中數(shù)字化水平又是最高的。那么,既然波音公司在推進(jìn)工業(yè)技術(shù)軟件化過程中投入巨大,為何依然無法避免軟件帶來的安全隱患呢? “這也許與軟件自身的開發(fā)與應(yīng)用特點緊密相關(guān)?!逼阉蓾榻B說,一般而言,產(chǎn)品開發(fā)包括了需求分析、產(chǎn)品設(shè)計、開發(fā)、測試等環(huán)節(jié)。對于大多數(shù)硬件產(chǎn)品而言,往往生產(chǎn)完成后,一個開發(fā)周期也就完成了。而軟件卻大不相同,一個軟件的開發(fā)完成只是代表其生命周期的開始,軟件的持續(xù)維護(hù)和更新才是一個具有生命力的軟件的關(guān)鍵。因此,可以說,任何軟件都是不完美的。 “例如,已擁有28年歷史的Linux內(nèi)核每兩三個月就會有新的版本供用戶更新,平均每兩年就會有一次重大版本的迭代。再比如,微軟公司的視窗操作系統(tǒng)每個月都會發(fā)布新的補丁,以保證系統(tǒng)安全漏洞的及時修復(fù)?!逼阉蓾f,軟件持續(xù)更新的主要驅(qū)動力有3個:軟件功能的增加與完善、與新硬件設(shè)備的適配、安全漏洞的修復(fù)。 毫無疑問,三大驅(qū)動力中,安全漏洞的修復(fù)是最為重要的。對于任何一款軟件,特別是面向行業(yè)應(yīng)用的軟件而言,并沒有絕對的安全,要想保證軟件的持續(xù)安全應(yīng)用,就必須對它進(jìn)行持續(xù)的更新。 人類“丟掉”飛機控制權(quán) 據(jù)外媒報道,當(dāng)?shù)貢r間5月22日,美國聯(lián)邦航空管理局負(fù)責(zé)人表示,他們?nèi)晕词盏讲ㄒ艄緦?37 MAX型飛機提出的修復(fù)方案。此前,波音公司曾表示,將對機動特性增強系統(tǒng)(MCAS)的失速預(yù)防系統(tǒng)進(jìn)行修復(fù)。 該系統(tǒng)被認(rèn)為是導(dǎo)致印尼和埃塞俄比亞兩起墜機事故的罪魁禍?zhǔn)?。事實上,在去年獅航737 MAX事故發(fā)生后,波音公司就已經(jīng)認(rèn)識到MCAS軟件漏洞的存在,而正是因為軟件沒能得到及時更新,才為埃航事故的發(fā)生埋下隱患。 MCAS的設(shè)計初衷在于如果飛機機身上的傳感器檢測到高速失速的情況,即使在沒有飛行員輸入信號的情況下,該系統(tǒng)將強制將飛機的機頭向下推。然而,當(dāng)傳感器信號有誤時,如果飛行員無法第一時間按照要求進(jìn)行相應(yīng)操作,飛機將會在MCAS的控制下下墜。此外,即便飛行員對飛機進(jìn)行了手動拉升,MCAS系統(tǒng)仍會在5~10秒內(nèi)強行被激活再次下壓機頭。最新的信息顯示,失事前波音飛機的MCAS系統(tǒng)被激活多達(dá)4次。 “事故中,軟件沒有把飛機的控制權(quán)交還給人類?!逼阉蓾f,客觀上來看,MCAS系統(tǒng)確實存在一些漏洞,例如,對于傳感器數(shù)據(jù)異常沒有進(jìn)行再驗證,當(dāng)飛行員已經(jīng)進(jìn)行主動控制操作時沒有自動關(guān)閉等。 但與此同時,人類主觀原因也不可忽視,即飛行員沒能熟悉MCAS系統(tǒng)的基本功能,沒能第一時間按照規(guī)定操作完全關(guān)閉MCAS。事故客機黑匣子錄音揭露,飛機墜毀前機組人員仍在翻看操作手冊。這一問題反映出,軟件業(yè)發(fā)展過程中應(yīng)用端軟件能力的培養(yǎng)存在缺失或不足。 “軟件能力正從‘開發(fā)為主’轉(zhuǎn)向‘開發(fā)應(yīng)用平衡’?!逼阉蓾f,長期以來,軟件產(chǎn)業(yè)的發(fā)展更強調(diào)掌握核心技術(shù),提高產(chǎn)品質(zhì)量,增大供給體量,對需求端應(yīng)用軟件的關(guān)注度有所不夠,導(dǎo)致軟件能力的建設(shè)主要集中在開發(fā)端。波音空難發(fā)生的一個主要原因,就在于飛行員對于新型軟件系統(tǒng)熟悉的程度不夠。伴隨軟件定義進(jìn)程的加快,軟件應(yīng)用能力培養(yǎng)的重要性將絲毫不亞于開發(fā)能力的培養(yǎng)。 要防止安全檢測“掉鏈子” 蒲松濤說,波音737 MAX事故揭示,任何安全問題都不容忽視,安全管理應(yīng)當(dāng)被放在首位。一方面,任何軟件系統(tǒng)都無法做到絕對安全,及時發(fā)現(xiàn)漏洞、填補漏洞可以最大限度地消除安全隱患。另一方面,安全管理不容忽視,特別是對于核心軟件系統(tǒng),都應(yīng)進(jìn)行全面的第三方安全漏洞檢測,做到?jīng)]有通過安全檢測的堅決不使用、不上線。 有媒體披露,波音737 MAX系統(tǒng)的安全評估并非完全依托于第三方機構(gòu),而是部分由自己完成,這也為事故的發(fā)生埋下了隱患。 “提高軟件應(yīng)用水平,使軟件成為發(fā)展的‘助推器’,而不是引發(fā)災(zāi)難的‘隱患源’。”蒲松濤建議,要認(rèn)真吸取波音737事故帶來的教訓(xùn),不斷強化對軟件技術(shù)和產(chǎn)品的可控力,加強對第三方軟件檢驗檢測機構(gòu)的指導(dǎo)和管理,引導(dǎo)軟件開發(fā)商和應(yīng)用方樹立安全檢測意識,積極開展軟件的第三方評測。同時,要支持信息安全企業(yè)圍繞公共服務(wù)信息系統(tǒng)開展漏洞檢測等工作。
|