如果你是安全關鍵嵌入式系統的使用者,而且發現設計者在該裝置的設計上並沒有依循最佳的實作與安全性標準,你會有多擔心?我知道我會非常不安,而且根據Barr Group最近做的年度嵌入式系統安全性調查顯示,我們所有人都需要感到憂慮。

Barr Group剛剛完成來自2,400位受訪者的資料分析,這些受訪者都是目前從事嵌入式裝置設計的工程師;藉由這些遍布全球各地(其中有46%來自北美、33%來自歐洲)的工程師樣本,我們很開心地了解到工程師們的設計哲學與實踐,以及與安全性的關聯。不過我們也從調查結果看到了刻不容緩需要解決的問題──每個人都應該要停下來想一想。

調查結果顯示,有22%的受訪者表示他們目前正在從事的裝置設計,是關乎人身安全──很令人驚訝嗎?但在我們問到他們所設計的裝置如果發生故障,會出現的最糟情況是什麼時,有超過500位受訪者表示可能會造成一個甚至更多的人死亡!這些受訪者大多數是任職於工業自動化、醫療裝置、汽車以及航太產業。

那些產業所製造的裝置攸關安全並不令人意外,但透過這場大規模的調查,我們想知道這些設計工程師是否有依循安全性標準,以及訴求可靠度與可維護性的最佳實作方法;包括IEC、FDA、FAA、NHTSA、SAE、IEEE、MISRA等等專業機構與產業組織都針對工程設計安全性建立標準,我們本來預期受訪者應該會有接近百分之百肯定的回覆。

但遺憾的是,完全不是這個情形!──只有67%的受訪者表示他們的設計依循安全性標準,有22%卻表示並沒有,還有11%甚至不知道是否他們正在從事的設計有安全標準。這也就是說,每三台攸關安全的裝置設計中,就可能有一台在安全性、可靠度或是品質上有漏洞,而且沒有被妥善關注或審核,這真的讓人非常擔心。

接著讓我們繼續更深入一點探討:要符合產業安全性標準,可能耗費大量成本與時間,那麼要實現一個優良設計的其他最佳實作呢?例如在軟體設計上使用編碼標準、程式碼審查以及統計分析?在這個技術領域從事攸關安全裝置設計的工程師受訪者們的回應更令人擔心了,請看下圖的統計:

![20160308_software_NT03P1](//images.eettaiwan.com/15mr7p4rjmth/1lZaKpNMt6EeaUKcyWcyWC/2b0b155566e5c6adb89486b6c6a454cf/20160308_software_NT03P1.jpg)
從事攸關安全嵌入式裝置設計的軟體工程師們,在寫程式時是這樣的…

為何以上這些問題回答「是」的受訪者數字都沒有接近百分之百?我們曾在不久前於德國舉行的Embedded World嵌入式設計研討會上發表調查結果,而我看到很多聽眾的反應都是驚訝以及懷疑;那些反應是憂慮我們的調查結果是不是真的,還有懷疑那樣的統計數字是不是可能出錯。

懷疑論者有很多意見,有人質疑我們的調查數字有偏頗,因為我們的受訪者並非全部都是軟體工程師,因此可能並不知道軟體開發工程師的實作方法;但我們並不認為這是個問題,因為這是根據受訪者回答資料的統計分析(事實上在我們的受訪者中,只有6%表示他們僅從事硬體設計)。

還有一些人質疑,是否在統計中有地域性的偏頗,但我們再次強調,因為我們取得來自北美、歐洲以及亞洲的廣大受訪者資料,我們認為統計數字是良好呈現工程師想法的最大值。

也有人質疑,是否那些工程師們其實是設計攸關安全性裝置中非關鍵性子系統(例如汽車內的衛星廣播裝置)?但根據我們的觀察,今日裝置的互連與安全性挑戰,就算是非關鍵性子系統也可能會影響到整體系統的其他部分。

以上的調查結果促使我們所有人應該要關注這個情況;主管們需要了解安全的重要性,而且必須將之烙印在設計專案時間表以及預算表中。而實際情況是我們大家都需要知道,在這個物聯網(IoT)的時代,我們的裝置對全球的基礎建設越來越關鍵。

我們所有人都必須貢獻時間、資源以及金錢來改善產品的可靠度,如果我們能這麼做,而且持續下去,才能保障所有人的生命安全(因此所有的企業才能不至於蒙受更大的損失)。

編譯:Judith Cheng

(參考原文: Embedded Software Can Kill But Are We Designing Safely?,by Andrew Girson;本文作者為嵌入式系統軟體專家、Barr Group執行長)