回覆列表
-
1 # LM蕾姆
-
2 # 微縮萬國
價值3.7億美元的阿麗亞娜5型火箭墜毀都是非常著名的計算機領域的漏洞事件。
阿麗亞娜5型火箭的前身是阿麗亞娜4型。歐洲太空總署主要用它來發射宇宙飛船。
資料溢位導致阿麗亞娜5型火箭在首航時就墜毀了,造成了3.7億美元的損失。
資料溢位是一種很常見的漏洞。當你計劃在記憶體上儲存的數值超過它所分配儲存的最大數值,就會發生資料溢位。
假設你現在有4個記憶體,允許儲存的最大數值為9999。當你準備要儲存10000這個數值時,就會導致資料溢位。
類似的情況也會發生在電腦身上。雖然電腦使用二進位制而非十進位制,但原理都大差不差。
負責發射的計算機使用一段程式碼將與火箭水平速度有關的數值從64位浮點資料轉換成16位整數值。
阿麗亞娜4型火箭一切正常,因為轉換後的數值從未超出16位記憶體的表示範圍。
但是,阿麗亞娜5型火箭的速度要快得多。首航之時,轉換過來的數值遠遠超出了16位記憶體的表示範圍,造成資料溢位,並最終導致火箭失控,在發射後不到一分鐘就墜毀了。這一事故讓資料溢位成為歷史上代價最昂貴的軟體漏洞之一。
《漏洞和墜毀》,詹姆士·格萊克著
《叢集》
從另一些檔案來看,似乎應該是與水平速度相關的一個數值而不是水平速度本身。
l 由於內部校準函式計算結果水平偏差出人意料地高出許多,於是出現了運算元誤差。水平偏差與平臺監測到的水平速度有關,指示著校準的精度。
l 由於阿麗亞娜5型火箭的前期發射軌道與阿麗亞娜4型不同,導致它的水平速度相當地高,從而造成水平偏差值比預期高出了許多。
要說著名bug那肯定是藍色畫面了,想當年我正在高興的打著cf爆破只有我一個了結果突然就藍色畫面了(那是我們兩個戰隊之間的比賽然後我的副隊就沒了)