有哪些對用戶造成物理攻擊的軟體BUG案例?

自己一直是搞軟體層的開發,沒做過和硬體相關的,因此很感興趣。


多年前曾經寫了個外匯高頻交易的軟體,遇上個bug虧成狗。接著我被揍了。物理攻擊。



難道不是生活大爆炸裡面Horward的擼管機器人卡到雞雞上了么


11年的溫州動車事故,要算物理傷害的話這應該算是一次暴擊(._.)

列控中心設備的bug導致指揮信號錯誤。當年宣傳還說經過數千公里的測試能確保安全無故障,但仔細想想,數千公里相對於動車的建設里程,測試數據量是不是小了點。。

評論有知友有疑問,事故原因總結如下:

LKD2-T1型列控中心設備存在嚴重設計缺陷和重大安全隱患。在LKD2-T1型列控中心設備招投標、技術審查、上道使用等方面違規操作、把關不嚴,使其上道使用。當溫州南站列控中心採集驅動單元採集電路電源迴路中保險管F2遭雷擊熔斷後,採集數據不再更新,錯誤地控制軌道電路發碼及信號顯示,使行車處於不安全狀態。雷擊也造成5829AG軌道電路發送器與列控中心通信故障,使從永嘉站出發駛向溫州南站的D3115次列車超速防護系統自動制動,在5829AG區段內停車。因軌道電路發碼異常,司機三次轉目視行車模式起車受阻,7分40秒後才轉目視行車模式以低於20公里/小時的速度向溫州南站緩慢行駛,未能及時駛出5829閉塞分區。因溫州南站列控中心未能採集到前行D3115次列車在5829AG區段的佔用狀態信息,使溫州南站列控中心管轄的5829閉塞分區及後續兩個閉塞分區防護信號錯誤地顯示綠燈,向D301次列車發送無車佔用碼,導致D301次列車駛向D3115次列車並發生追尾。


我記得有個案例是醫院做放療的機器固件出了bug,結果劑量倍增直接奪命:Therac-25 - Wikiwand


引用SCADE培訓材料上對於兩個名詞的解釋:

  • Security: The outside world do not harm the software.
  • Safety: The software do not harm the outside world.

對於很多程序員來說,一提到「安全」,往往是Security。但是從後果上看,Safety帶來的威脅比Security帶來的威脅大多了。題主想問的,或許正是Safety。

在很多人眼裡,軟體就是運行在PC機、平板、手機上的程序,它們出了bug,大不了就是系統崩潰,嚴重一點的,比如支付軟體出現bug,也就造成一些財產損失。但是,軟體不僅僅是你看到的這些。在飛機上(所有控制系統、導航系統),列車上(所有控制調度系統),道路上(信號燈),地鐵站里(閘機設備),醫院裡(醫療器械),核電站(控制系統),私家車裡(自動駕駛系統、導航系統),甚至我們的家中(路由器),都隨處可見軟體的影子。這些運行在嵌入式設備上,而非運行在PC機和伺服器上的程序,也是軟體!

試想一下:

  • 民航客機控制系統出了bug,會怎麼樣?

  • 高鐵列車調度系統出了bug,會怎麼樣?

  • 醫療設備控制系統出了bug,會怎麼樣?

這個世界上,有相當一部分軟體,它們一旦出了bug,可能不僅僅會造成題主所說的物理攻擊,它們很可能會帶來無法挽回的生命的代價!這就是安全關鍵軟體(critical software)。

歷史上有過無數的因為bug而帶來巨大損失的事件:

  • Ariane 5 火箭發射失敗,原因為整數計算溢出 https://zh.wikipedia.org/wiki/亞利安5號運載火箭

  • 愛國者導彈殺死美國陸軍28名士兵,原因為系統時鐘延遲誤差較大 https://zh.wikipedia.org/wiki/愛國者飛彈

  • 韓亞航空214號班機空難,糟糕的軟體設計導致了飛行員稱之為「高度層陷阱」的情況 https://zh.wikipedia.org/wiki/韓亞航空214號班機空難

Cih?


那年夏天買過一個小米3,收快遞換好卡熟悉了下界面就揣褲兜里出門了……

出門之後不對勁,為什麼老有路人奇怪的眼神望向我的下半身?莫非沒拉拉鏈?低頭一看~~啊,我的黑短褲,透出一束光,那清澈光芒,來自小米三。手電筒亮了!趕緊掏出來關掉。

回來路上又感覺右大腿外側有點熱,哎呀天氣好熱~哎不對不是熱是燙,哎呀好燙,卧槽手電筒又亮了!

說到這有點跑題,因為這不是個bug,這是個feature,叫「長按home鍵打開手電筒」,設置里找不到地關的。


對單身狗造成10000點傷害


某同事多年前寫電池驅動,把電池搞炸了,天花板打了一個窟窿。


網吧區域網cs作弊,發現後被按在地上打了一頓。


試想一下你給電梯門寫驅動程序出了bug。


之前參加電賽,選了四軸題,調試的時候直接放手上調,結果參數不對,直接進醫院了


這不知道算不算:前年的夏天,玩一個手游,卡bug了。沒在意鎖屏扔兜里,等意識到時大腿的外側輕微灼傷??


WINDOWS有個api可以產生蜂鳴,就是beep函數,它有一個參數,就是控制蜂鳴的頻率。這個參數當大於20000會產生超聲波,最大是32767,長時間可能對人體造成損害,而且是在你不知不覺當中。

beep api的說明:

http://m.haosou.com/index.php?a=newTranscodeu=http%3A%2F%2Fwww.feiesoft.com%2Fapi%2FBeep.htmlm=a354e32a94052c482cbba24966291e7fc68512fcq=beep%20apisid=a6ece51ecb57ef4c9b59765f6ed7acab

我覺得要想讓超聲波對人造成實質性的傷害(而不是覺得煩躁),蜂鳴的功率還不夠,音響怎麼樣?不是學醫的這塊我還真不懂,求指教


愛國者導彈的浮點數誤差累計。


大學期間寫四懸翼飛控

還在整定的時候,飛控出bug。所有safe check 均失靈,基本等於遙控失靈吧。飛機在哪亂晃,越來越不穩

沒辦法衣服一罩,用手拔電池。

期間手被打傷 算物理攻擊么

還有一個親身經歷的

某著名電腦品牌對大學生熱銷型號 Y500/Y400

在主板升到2.幾版本之前,不能手賤點 電池矯正

點了的話就會 對 筆記本鋰電池深度過放,然後反向充電。

直接弄費主板充電晶元和電池。

http://tieba.baidu.com/f?kz=2334340609

還有以前的老故事 某超級大國 宇航員,工程師計算錯了一個小數點結果回不來了。

曾經的某著名汽車廠商 剎車踏板 事故。


玩iPad上的某遊戲因為太無聊所以睡著了被拍出鼻血…


有一個機械金屬屏蔽罩控制單片機的程序,帶有DEBUG模式,正常來講在這個模式下不會自動關閉屏蔽罩方便檢修。

然而…程序員忘記清理一個10分鐘自複位的定時器,於是某次檢修突然關罩,差點引發機械傷人事故。

其它軟體引發物理攻擊的不是很多麼喵~比如電梯/火車/飛機/導彈等等喵~

iPad的各類程序也是喵~


我轉譯一篇《科學美國人》(雜誌)的文章,歡迎各位吐槽

原文如下: 5 Most Embarrassing Software Bugs in History

看得讓人都覺得尷尬的五個最奇葩的軟體Bug

5 Most Embarrassing Software Bugs in History

1. 您撥打的電話不在服務區

-- 話說1990年1月的某天,美帝的半數百姓發現他們打不了跨區電話了。 原來呢,美帝的一個運營商(ATT)的電話轉接器是由電腦軟體自動控制的,出故障之前工程師剛好給這些電腦用的軟體進行了升級,然後人家出了Bug,把跨區電話一起自動拒接了。

-- 直到9個小時之後,長途電話服務才恢復正常,這個Bug導致ATT損失(賠償)了總共6000萬美刀。

2. 初中數學題,電腦不會算

-- 1993年,因特爾(Intel)的奔騰處理器火了,並不是因為性能多好,也不是因為Intel多牛B。

-- 而是它出現了計算錯誤。其實這個計算錯誤並不嚴重(但對於科研和金融機構可能很嚴重),只是會把小數點後邊第8位數字的值給算錯。但它為什麼能火呢,廢話!這個數學題豈不是中學生都會算的么!你一個引領全球的電子設備不會解答是不是太神了點啊!

3. 史上最貴的燒錢

-- 美帝航天局耗資6.55億美刀打造的火星探測器於1998年12月升空,次年9月抵達火星外圍。然而在進入火星的大氣層時,因角度計算錯誤,探測器進入了錯誤的路線而被大氣壓擠碎。

-- 事故原因簡直讓人難以吐槽 —— 為什麼角度計算錯了呢?因為編程人員和科研人員用的不是同一個計算單位!

-- 科研人員按英制單位「磅力」進行人工計算,然後把一些數據輸入到了探測器的火箭推進器當中。

-- 負責編程的工程師卻往機器寫入了結果相差4.4倍的公制單位「牛頓」以及相關的計算公式。

-- 這倆部門的員工互相都認為對方用的計算單位,和自己用的一樣!

-- 編程、科研部門之間溝通不佳終於引發了人工bug,於是隨著和火星的距離縮短,探測器的運算結果和人工估測的結果差距越來越大,最終一路火花帶閃電的領了便當。

4. 你可能是盜版軟體的受害者

-- 2007年,有不少用戶購買了正版Windows Vista操作系統,回家高高興興地安裝到了電腦上,一切看來安好,直到8月24號這天...電腦屏幕突然蹦出來一句「您可能是盜版軟體的受害者」

-- WTF?我在官方旗艦店還可以買到盜版??原來這是微軟的「正版認證」伺服器出了Bug,某個員工本來要給伺服器的序列號認證軟體進行升級,結果反倒裝了個更老版本的進去,然後近期買了Vista正版的用戶全都躺槍了。

5.蘋果地圖助你上高鐵鐵軌開汽車

-- 在iPhone和iPad被捆綁了谷歌的各種軟體長達N年之後,蘋果終於決定擺脫束縛,自己開發地圖App啦!他們給iPhone 5內置了「蘋果地圖」以取締「谷歌地圖」。

-- 這個地圖啊,exciting!它會教導你給車開進幾米深的湖裡,你想去體育場人家給你送公安局去了,你想去醫院人家給你送地鐵站去了,你想去火車站人家給你送消防局去了,你想去公交站人家給你送肯德基去了。

-- 蘋果地圖App的數據準確率堪稱災難,同一個地點,每次搜索都會給你帶來完全不同的線路導航。後來人們發現,蘋果地圖的資料準確率並不差,只是軟體Bug和育碧遊戲的Bug一樣多,去實地勘察的員工簡直要被寫程序的給氣死了。


推薦閱讀:

電子信息工程專業的學生成為硬體工程師好還是軟體工程師好?分別需要哪些基礎技能?

TAG:軟體開發 | Bug | 硬體 | 意外事故 | 硬體工程師 |