10 худших "багов" в истории человечества

Самая первый компьютерный баг в истории был обнаружен в 1945 г., когда инженеры нашли в корпусе компьютера Harvard Mark II мотылька. Этот мотылек закорачивал контакты — и компьютер сбоил. Инженеры сделали запись в журнале событий "Первый случай обнаружения бага" (по-английски "bug" означает "насекомое"). С тех пор компьютерные сбои принято называть багами.

По мере распространения цифровых устройств баги все глубже проникают в нашу жизнь. Они окружают нас повсюду — на мобильных телефонах, в бытовой технике, в автомобилях. К счастью, обычно баги не приносят никакого вреда, кроме морального. Но бывает и по-другому, когда баг вызывает огромные финансовые потери и даже забирает человеческие жизни. Журнал Wired посвятил этой проблеме целую тему номера и опубликовал список 10 худших багов в истории человечества, в хронологическом порядке.

28 июля 1962 г. Космический аппарат Mariner I стартовал по направлению к Венере. Из-за поломки антенны корабль потерял связь с земными службами управлениями и перешел на собственную систему пилотирования. Но эта система содержала обидный маленький баг. В результате аппарат полетел совсем не в ту сторону и его пришлось подорвать над Атлантическим океаном. Последующее расследование установило, что в процессе программирования системы навигации была совершена маленькая опечатка — при вводе одной из формул был пропущен один символ.

1982 г. Авария на Транссибирском трубопроводе. Оперативники ЦРУ внедрили баг (отчет в формате PDF) в канадское программное обеспечение, управлявшее газовыми трубопроводами. Советская разведка получила это ПО как объект промышленного шпионажа и внедрила на Транссибирском трубопроводе. Результатом стал самый большой неядерный взрыв в истории человечества.

1985–87 гг. Несколько человек получили смертельную дозу облучения во время сеансов радиационной терапии с медицинским ускорителем Therac-25. Основанная на предыдущей версии ускорителя, "улучшенная" модель Therac-25 могла генерировать два вида излучения: слабое электронное бета-излучение и нормальное рентгеновское излучение. Еще одно "улучшение" состояло в том, что вместо электромеханической защиты пациента в устройстве была реализована программная защита, якобы более надежная. Обе новые функции были некорректно реализованы неопытным программистом, результатом чего стали как минимум пять смертей и огромное количество несмертельных случаев переоблучения.

1988 г. Переполнение буфера в Berkeley Unix. Первый в мире компьютерный червь (так называемый червь Морриса) заразил от 2.000 до 6.000 компьютеров менее чем за сутки, эксплуатируя уязвимость в реализации функции gets(). В ОС Berkeley Unix эта функция ввода/вывода не имела ограничения на максимальную длину.

1988–96 гг. Генератор случайных чисел Kerberos в течение нескольких лет широко использовался в различных системах шифрования. Предполагалось, что программа должна выбирать ключ случайным образом из многих миллиардов чисел, но генератор случайных чисел выбирал из гораздо меньшего набора численностью примерно в миллион. Как результат, в течение восьми лет любой пользователь мог без труда проникнуть в компьютерную систему, которая использовала модуль Kerberos.

15 января 1990 г. Падение телефонной сети AT&T. Ошибка в новой версии прошивки междугородних коммутаторов привела к тому, что коммутатор перезагружался, если получал специфический сигнал от соседнего коммутатора. Но беда в том, что этот сигнал генерировался в тот момент, когда коммутатор восстанавливал свою работу после сбоя. В один прекрасный день, когда какой-то коммутатор в Нью-Йорке перезагрузился, он подал тот самый злополучный сигнал — и началось. Вскоре 114 соседних коммутаторов непрерывно перезагружались каждые 6 секунд, а 60 тыс. человек остались без междугородней связи на 9 часов, пока инженеры не установили на коммутаторы предыдущую версию прошивки.

1993 г. Широко разрекламированный процессор Intel Pentium неправильно производил деление с плавающей запятой, ошибаясь на 0,006%. Хотя эта проблема реально коснулась немногих пользователей, но стала настоящим кошмаром для имиджа Intel. Поначалу фирма согласилась менять процессор только для тех пользователей, которые могли доказать, что им в вычислениях нужна подобная точность, но затем согласилась поменять процессор всем желающим. Этот баг стоил Intel около $475 млн.

1995–96 гг. Пинг смерти. Отсутствие проверки на ошибки при обработке IP-пакетов позволяла порушить практически любую операционную систему, отправив ей через интернет специальный пакет ("пинг").

4 июня 1996 г. Новая ракета-носитель Ariane 5, результат многолетней работы европейских ученых, гордость стран Евросоюза, взорвалась через 40 секунд после своего первого старта. Только научное оборудование на борту ракеты стоило около $500 млн, не говоря о множестве побочных финансовых последствий. Система автоподрыва ракеты сработала после остановки обоих процессоров в результате цепочки ошибок. Началом этой цепочки послужило переполнение буфера, поскольку система навигации подала недопустимо большое значение параметра горизонтальной скорости. Дело в том, что система управления Ariane 5 переделывалась из Ariane 4, а там такого большого значения не могло быть теоретически. В целях снижения нагрузки на рабочий компьютер инженеры сняли защиту от ошибок переполнения буфера в этом программном модуле, поскольку были уверены, что такого значения горизонтальной скорости не может быть в принципе — и просчитались.

Ноябрь 2000 г. Национальный институт рака, Панама. Здесь произошла целая серия инцидентов, вызванная тем, что ПО для планирования радиационной терапии производства американской компании Multidata Systems International неправильно рассчитывало дозы облучения для пациентов. Программа позволяла врачу нарисовать на компьютерном экране расположение защитных металлических щитов, которые защищают тело от радиации. Но программа позволяла манипулировать только четырьмя щитами, тогда как врачи хотели задействовать пять. Они нашли способ "обхитрить" программу, если нарисовать все пять щитов в виде единого блока с дыркой посередине. Единственное, чего они не знали, что программа рассчитывает разные дозы радиации в зависимости от того, как нарисована дырка. Если рисовать ее особым образом, то устройство выдавало двойную дозу радиации. Как минимум восемь человек погибли, а еще 20 получили переоблучение. Врачи, которые должны были вручную перепроверять расчеты программы, были осуждены за убийство.

Все эти примеры, а особенно последний, еще раз показывают, что никогда нельзя в полной мере доверять компьютерам. Ведь программы для компьютеров создают люди, а людям свойственно ошибаться.
0
AVS™© ®
От пользователя spirit
1982 г. Авария на Транссибирском трубопроводе. Оперативники ЦРУ внедрили баг (отчет в формате PDF) в канадское программное обеспечение, управлявшее газовыми трубопроводами. Советская разведка получила это ПО как объект промышленного шпионажа и внедрила на Транссибирском трубопроводе. Результатом стал самый большой неядерный взрыв в истории человечества.


пиндосы уроды если это правда

[Сообщение изменено пользователем 16.11.2005 12:02]
0
От пользователя AVS™®©
уроды если это правда


Холодная война... что вы хотите...

А кто именно уроды то ?
0
Оlеg
раньше во всем был виноват стрелочник, теперь программист ..... все нах ...ушел пить йад.
0
tihon
какой-то журналистский бред а не баги, какие еще пинги смерти... слышат звон...

к багам можно отнести историю о том что f-15 переворачивался пересекая экватор, кароче журка надо срочно матерьял было тиснуть

[Сообщение изменено пользователем 16.11.2005 12:16]
0
От пользователя tihon
какие еще пинги смерти


Это вроде SYN-flood атака ?
0
[Lion]
От пользователя spirit
28 июля 1962 г. Космический аппарат Mariner I стартовал по направлению к Венере. Из-за поломки антенны корабль потерял связь с земными службами управлениями и перешел на собственную систему пилотирования


От пользователя spirit
В результате аппарат полетел совсем не в ту сторону и его пришлось подорвать над Атлантическим океаном


Это как? Связь ведь была потеряна! а навигация не работала из-за ошибки (даже если допустить то, что была система самоуничтожения по высоте или положению)

БРЕД!
0
tihon
От пользователя Maniac.ru
Это вроде SYN-flood атака ?

были тысячи систем которой эти атаки были побарабану, а виндовс в те года был не тот :-) я уж не говорю о том что по интернету этот пакет как правило не проходил, разве что в локалке
0
betza
От пользователя spirit
Mariner I стартовал по направлению к Венере


баг в башке у журналюги!
маринеры сроду на Марс летали
0
От пользователя tihon
я уж не говорю о том что по интернету этот пакет как правило не проходил, разве что в локалке


Почему не проходил ?
0
От пользователя tihon
были тысячи систем которой эти атаки были побарабану, а виндовс в те года был не тот я уж не говорю о том что по интернету этот пакет как правило не проходил, разве что в локалке


Насколько я вообще помню, неуязвимым к данной атаке был ТОЛЬКО UNIX Solaris...

Не... я гоню, простите... Это я про arp-poisoning :-d
Уязвимость существует до сих пор во всех системах кроме солярки...

[Сообщение изменено пользователем 16.11.2005 12:27]
0
tihon
От пользователя Maniac.ru
Почему не проходил ?

потому что поуму настроенное должно было резать большие пакеты, в лучшем случае можно было повалить рядом стоящий кривой роутер
0
От пользователя tihon
потому что поуму настроенное должно было резать большие пакеты, в лучшем случае можно было повалить рядом стоящий кривой роутер


Ну это значит про death ping...
SYN-flood не использует большие пакеты и отлично ходит через инет...
0
От пользователя AVS™®©
пиндосы уроды если это правда

Во-во, нехер ПО тырить.
0
tihon
От пользователя Maniac.ru
Уязвимость существует до сих пор во всех системах кроме солярки...

ты это серьезно? хорошо, я могу отвечаь только за одну систему - OS/2, там ничего такого отродясь небыло, по аналогии могу привести aix и s/390
0
tihon
От пользователя Maniac.ru
SYN-flood не использует большие пакеты и отлично ходит через инет...

согласен, значит синфлуд должен был фильтровать "медленный разгон", скорей всего там имелся ввиду DoS атака, дак то тоже работало на всяком дерьме типа win

[Сообщение изменено пользователем 16.11.2005 12:30]
0
Yuri®
От пользователя Maniac.ru
Почему не проходил ?


На сколько я помню дело там было в размере пакета, а маршрутизаторы большие пакеты либо режут, либо фрагментируют.
0
От пользователя tihon
ты это серьезно? хорошо, я могу отвечаь только за одну систему - OS/2, там ничего такого отродясь небыло, по аналогии могу привести aix и s/390


Серьезно. Только Solaris не принимает arp-ответ, если не посылала запроса. Все остальные системы принимают и обновляют свои arp-таблицы. На основе arp-poisoning организовываются атаки типа MITM... Соббсно ICQ Sniff имеет в себе кнопку включения этой атаки, если кто юзает :-)

ЗЫ. Вообще атака по arp развенчивает один из мифов системных администраторов - "нельзя снифферить через свичи". :-)


[Сообщение изменено пользователем 16.11.2005 12:33]
0
tihon
От пользователя Sergey GT
Во-во, нехер ПО тырить.

да небыло ничего такого, сотни статей по этому поводу вышли, причем к багам это вообще по определению не имеет никакого отношения, в лучшем случае это канает как закладка,в худшем как диверсия цру, и то и другое не находят реальных доказательств
0
От пользователя tihon
согласен, значит синфлуд должен был фильтровать "медленный разгон",


Против син-флуда надо ставить ограничение по устанавливаемым соединениям, чтобы у ОСи хватило ресурсов выжить в случае атаки...
0
tihon
От пользователя Maniac.ru
Серьезно. Только Solaris не принимает arp-ответ, если не посылала запроса. Все остальные системы принимают и обновляют свои arp-таблицы.

я говорил про синфлуд и про пинги, про арп таблицу я честно говоря не помню, лень искать и тем более писать скрипт, но вроде как по теории защиты не должны арп воспринимать ни os/2 ни бзди
0
От пользователя tihon
но вроде как по теории защиты не должны арп воспринимать ни os/2 ни бзди


Ну ХЗ :-)

Можно же проверить :-d

[Сообщение изменено пользователем 16.11.2005 12:36]
0
От пользователя tihon
я уж не говорю о том что по интернету этот пакет как правило не проходил, разве что в локалке

Вот это неправда. Я спокойно передавал в свое время такие пакеты через Москву на Урал-релкомовский диалап ;-)
0
tihon
От пользователя Maniac.ru
Можно же проверить

можно но лень, я ведь знаю что у меня ос самая защищеная :-)
0
От пользователя tihon
да небыло ничего такого

А кто же тогда КР580 натыбрил, сосканив по слоям с i8080 ? ;-)
0
Обсуждение этой темы закрыто модератором форума.