a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 模擬技術 > 設計應用 > 嵌入式系統工程師,小小軟件碼錯誤也能殺人!

嵌入式系統工程師,小小軟件碼錯誤也能殺人!

作者: 時間:2013-12-14 來源:網絡 收藏

不良軟件碼可能殺人嗎?答案是肯定的,而且悲劇顯然已經發生。

  最近豐田汽車(Toyota Motor)在美國卷進了一樁官司,原告律師指稱豐田一款2005年份Camry車款在2007年于美國奧克拉荷馬高速公路上發生的一場暴沖死亡車禍,主因就是該車款內的電子節流閥控制系統軟體碼發生錯誤。

  據了解,在上述案件審訊過程中,檢視過豐田電子節流閥系統軟件碼的系統專家作證指出,他們發現到豐田系統軟件碼的缺陷,而其內部的錯誤碼就是造成車輛無預警暴沖的原因。參與該事故調查的Barr Group技術長暨共同創辦人Michael Barr表示:“我們已經證實,只是一個小小的記憶體位元翻轉(bit flip),就會造成駕駛人無法控制引擎速度,而這種軟體故障是無法依賴任何一種故障安全(fail-safe)機制偵測出來。”

  其實在這之前,不過豐田已經自認無罪──因為美國國家高速公路交通安全局(NHTSA)在 2011年2月結束了對豐田汽車的調查,該單位委託NASA的專家檢視豐田的電子節流閥系統,在為期10個月的調查期間,并沒有發現任何電子缺陷可能導致車輛暴沖。雖然NASA報告并沒有排除軟體導致車輛無預警加速暴沖的可能性,但系統專家們并不認為NASA有足夠時間進行完整的測試。

嵌入式系統工程師,小小軟件碼錯誤也能殺人!

  于是包括Barr Group四位專家在內的一個七人小組接手NASA的調查任務,深入分析了發生事故的豐田汽車,并做成了一份長達800頁的調查報告。“我們做了一些 NASA顯然沒有時間做的事情。”Barr表示,首先就是檢視車用系統的即時作業系統,找出“未受保護的關鍵變量(unprotected critical variables)”,他們觀察且檢視了“子處理器(sub-CPU)”的軟件原始碼,而且“發現了電子節流閥故障安全機制中的漏洞與缺陷”。

  該專家小組并采用Green Hills模擬器進行了模擬:“這進一步確認某些動作會在看門狗未重新設定處理器的情形下失效。”Barr的小組也獨立檢查了在最壞情況下的堆疊深度 (worst-case stack depth):“我們發現NASA調查所依據的豐田分析報告有很多嚴重錯誤。”他指出,專家們證實:“透過車輛測試,那些我們所發現的缺陷確實與無預警暴沖有關;我們還觀察檢視了汽車黑盒子內的軟體碼,發現它會錯誤記錄車輛意外前最后幾秒的駕駛人動作資訊。”

  值得一提的是,Barr Group的證詞,在去年12月讓豐田面臨數十億美元損失的和解案;因為該和解案,專家們所做的詳細技術性調查并沒有被公開,直到奧克拉荷馬事故審訊進行。該和解案雖平息了數百起豐田宣布因為車輛暴沖而召回檢修所導致的車輛折價訴訟,該公司仍須面對數起因為車輛故障所導致的人員受傷或死亡官司。

  因為奧克拉荷馬高速公路事故審訊,專家證詞與發現得以公開;到底豐田的電子節流閥控制系統出現了甚么樣的缺陷?

  Barr 表示,專家針對2005年份的Camry L4車款原始碼以及車內測試,證實其中有部分關鍵變量并未受軟體崩潰(corruption)保護,記憶體崩潰的塬始碼也顯現;他相信豐田的工程師應該會保護大量的變量抵抗軟體與硬體導致的崩潰,但卻未能成功映射(mirror)數個關鍵變量,也沒有建立任何可以抵抗位元翻轉的硬體保護機制。他指出,堆疊溢位(Stack overflow)與軟體錯誤導致記憶體崩潰,而問題的關鍵就在于那些記憶體崩潰,就像是“擦槍走火”。

  “就算小至一個位元翻轉的記憶體崩潰,也能導致程式(task)當機;只要藉由單一硬體事件的擾亂(例如位元翻轉),或是眾多軟體錯誤中的一個就能發生,例如我們在軟體碼中看到的緩衝區溢位(buffer overflow)以及競態條件(race condition)。”Barr表示:“未經測試的任務失敗可能有上千萬種組合,每一種都可能在任何一種車輛/軟體狀態下發生,它們多到來不及測試。”

  不過Barr指出:“我們在2005年與2008年份Camry車款所做的測試顯示,甚至就是某個當機程式的本身,都可能造成駕駛失去對節流閥控制系統的控制權──而此時內燃機仍持續作動引擎。簡而言之,豐田確實安裝了故障安全機制,但其中有漏洞,也無法以UA透過軟體的所有方式來進行檢測。”

  在此特別說明,以上所說的“程式”與智慧型手機或PC上執行的應用程式是一樣的,當軟體偶爾出現當機狀況,我們通常會重新開機;而2005年份的Camry L4有安裝一系列程式,但因為這些程式都意味著永遠執行,其中一項若當機就可能造成恐怖的后果。

linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

上一頁 1 2 下一頁

評論


相關推薦

技術專區

關閉