10 самих гірших багів в історії людства
Журнал Wired опублікував список 10 самих гірших багів в історії людства.
Він же нагадав, що найперший комп’ютерний баг був виявлений в 1945 р., коли інженери знайшли в корпусі комп’ютера Harvard Mark II метелика. Цей метелик закорочував контакти - і комп’ютер збоїв. Інженери зробили запис в журналі подій “Перший випадок виявлення бага” (по-англійськи “bug” означає “комаху”). З тих пір комп’ютерні збої прийнято називати багами. Але це була просто квіточка в порівнянні з тим, що відбувалося потім.
Список самих гірших багов в хронологічному порядку:
1. 28 липня 1962 р. космічний апарат Mariner I стартував у напрямку до Венери. Із-за поломки антени корабель втратив зв’язок із земними службами управліннями і перейшов на власну систему пілотування. Але ця система містила образливий маленький баг. В результаті апарат полетів зовсім не в той бік, і його довелося підірвати над Атлантичним океаном. Подальше розслідування встановило, що в процесі програмування системи навігації була здійснена маленька друкарська помилка - при введенні однієї з формул був пропущений один символ.
2. 1982 р. аварія на Транссибірському трубопроводі. Оперативники ЦРУ упровадили баг (звіт у форматі PDF) в канадське програмне забезпечення, що управляло газовими трубопроводами. Радянська розвідка отримала це ПЗ як об’єкт промислового шпигунства і упровадила на Транссибірському трубопроводі. Результатом став найбільший неядерний вибух в історії людства (від редакції: схоже, від нас, жителів тодішнього СРСР, приховали ще одну подію в світовій історії).
3. 1985-87 рр. декілька чоловік отримали смертельну дозу опромінювання під час сеансів радіаційної терапії з медичним прискорювачем Therac-25. Заснована на попередній версії прискорювача, “покращувана” модель Therac-25 могла генерувати два види випромінювання: слабке електронне бета-випромінювання і нормальне рентгенівське випромінювання. Ще одне “поліпшення” полягало в тому, що замість електромеханічного захисту пацієнта в пристрої був реалізований програмний захист, нібито надійніший. Обидві нові функції було некоректно реалізовано недосвідченим програмістом, результатом чого стали як мінімум п’ять смертей і величезна кількість не смертельних випадків переопромінення.
4. 1988 р. переповнювання буфера в Berkeley Unix. Перший в світі комп’ютерний черв’як (так званий черв’як Моріса) заразив від 2000 до 6000 комп’ютерів менш ніж за добу, експлуатуючи уразливість в реалізації функції gets(). У ОС Berkeley Unix ця функція введення/виведення не мала обмеження на максимальну довжину.
5. 1988-96 рр. генератор випадкових чисел Kerberos протягом декількох років широко використовувався в різних системах шифрування. Передбачалося, що програма повинна вибирати ключ випадковим чином з багатьох мільярдів чисел, але генератор випадкових чисел вибирав з набагато меншого набору чисельністю приблизно в мільйон. Як результат, протягом восьми років будь-який користувач міг без зусиль проникнути в комп’ютерну систему, яка використовувала модуль Kerberos.
6. 15 січня 1990 р. падіння телефонної мережі AT&T. Помилка в новій версії прошивки міжміських комутаторів привела до того, що комутатор перезавантажувався, якщо отримував специфічний сигнал від сусіднього комутатора. Але біда в тому, що цей сигнал генерувався в тог момент, коли комутатор відновлював свою роботу після збою. У один прекрасний день, коли якийсь комутатор в Нью-Йорку перезавантажився, він подав той самий нещасливий сигнал - і почалося. Незабаром 114 сусідніх комутаторів безперервно перезавантажувалися кожні 6 секунд, а 60 тис. чоловік залишилися без міжміського зв’язку на 9 годин, поки інженери не встановили на комутатори попередню версію прошивки.
7. 1993 р. широко розрекламований процесор Intel Pentium неправильно проводив ділення з плаваючою комою, помилявшись на 0,006%. Хоча ця проблема реально торкнулася небагатьох користувачів, але вона стала справжнім кошмаром для іміджу Intel. Спочатку фірма погодилася міняти процесор тільки для тих користувачів, які могли довести, що їм в обчисленнях потрібна подібна точність, але потім погодилася поміняти процесор всім охочим. Цей баг коштував Intel біля $475 млн.
8. 1995-96 рр. пінг смерті. Відсутність перевірки на помилки при обробці IP-пакетів дозволяла зруйнувати практично будь-яку операційну систему, відправивши їй через інтернет спеціальний пакет (”пінг”).
9. 4 червня 1996 р. нова ракета-носій Ariaпе 5, результат багаторічної роботи європейських учених, гордість країн Євросоюзу, вибухнула через 40 секунд після свого першого старту. Тільки наукове устаткування на борту ракети коштувало близько $500 млн., не кажучи про безліч побічних фінансових наслідків. Система автопідриву ракети спрацювала після зупинки обох процесорів в результаті ланцюжка помилок. Початком цього ланцюжка послужило переповнювання буфера, оскільки система навігації подала неприпустимо велике значення параметра горизонтальної швидкості. Річ у тому, що система управління Ariane 5 перероблялася з Ariane 4, а там такого великого значення не могло бути теоретично. В цілях зниження навантаження на робочий комп’ютер інженери зняли захист від помилок переповнювання буфера в цьому програмному модулі, оскільки були упевнені, що такого значення горизонтальної швидкості не може бути в принципі - і прорахувалися.
10. Листопад 2000 р. національний інститут раку, Панама. Тут відбулася ціла серія інцидентів, викликана тим, що ПЗ для планування радіаційної терапії виробництва американської компанії Multidata Systems International неправильно розраховувало дози опромінювання для пацієнтів. Програма дозволяла лікареві намалювати на комп’ютерному екрані розташування захисних металевих щитів, які захищають тіло від радіації. Але програма дозволяла маніпулювати тільки чотирма щитами, тоді як лікарі хотіли задіювати п’ять. Вони знайшли спосіб “обхитрити” програму, намалювавши всі п’ять щитів у вигляді єдиного блоку з діркою посередині. Єдине, чого вони не знали, що програма розраховує різні дози радіації залежно від того, яка намальована дірка. Якщо малювати її особливим чином, то пристрій видавав подвійну дозу радіації. Як мінімум вісім чоловік загинули, а ще 20 отримали переопромінення. Лікарі, які повинні були уручну перевіряти розрахунки програми, були засуджені за вбивство.
За матеріалами: wwworld.ru
Коментарі (Без коментарів)
Ця новина усе ще не має коментарів
Додати коментар