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

16:45, 01.12.2005
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
вечный ипотечник
16:46, 01.12.2005
Один из 10 баянов ))
0
Джамелия
16:48, 01.12.2005
боянище
0
Аристофан GPS ™
16:49, 01.12.2005
:bayan:
0
tihon
16:53, 01.12.2005
ВОТ ЭТО БАЯНИЩЕ ТАК БАЯНИЩЕ :-D
0
Джамелия
16:53, 01.12.2005
От пользователя View
повторение -мать учения

Repetitio est mater studiorum (латынь) :-)
0
16:55, 01.12.2005
10 САМЫХ СТРАШНЫХ БАЙАНОВ В ИСТОРИИ ЧЕЛОВЕЧЕСТВА.

Ф питерке - Майаки.
Ф дисятке - просто Байаны.

Первыйнах эссно Американский авианосец в проливе Финистера или кого-там...

Второйнах... Ваши предложения ?
0
KROT
16:56, 01.12.2005
Да, что там у нас с маяком? Я уже и забыл блин :-d

C Уважением KROT.
0
Classic car®
16:57, 01.12.2005
тады давайте все фичи вспомним.... ;-)
0
Аристофан GPS ™
16:59, 01.12.2005
От пользователя Maniac.ru
Второйнах... Ваши предложения ?

"Ищу 1-комн. квартиру" от СиЛорда!
:-d :-d :-d
0
17:00, 01.12.2005
От пользователя Classic car®
тады давайте все фичи вспомним....


Предлагаю чтобы отныне необходимым условием получения наклейки аффтаклуба было следующее:

1. Знать список 10 самых страшных байанов в истории человечества.
2. Зачитать наизусть историю в проливе Финистера :-)
0
Аристофан GPS ™
17:38, 01.12.2005
От пользователя Maniac.ru
отныне необходимым условием получения наклейки аффтаклуба было следующее:

1. Знать список 10 самых страшных байанов в истории человечества.
2. Зачитать наизусть историю в проливе Финистера

НЕЕЕЕЕЕ НАААААААДООООООО! :-d
0
Classic car®
17:46, 01.12.2005
От пользователя Maniac.ru
Предлагаю чтобы отныне необходимым условием получения наклейки аффтаклуба было следующее:

3. Расчитать, полетит самолёт или нет.
0
17:47, 01.12.2005
От пользователя Classic car®
3. Расчитать, полетит самолёт или нет.

:cool:
0
-=mozg=-
17:54, 01.12.2005
От пользователя View
1982 г. Авария на Транссибирском трубопроводе. Оперативники ЦРУ внедрили баг (отчет в формате PDF)


http://www.rudtp.ru/pdf.php?id=2
Впервые Adobe сообщила о новой технологии на конференции Сиболд в Сан Хосе в 1991 году. Тогда она называлась "IPS" что расшифровывается как "Interchange PostScript". Версия PDF 1.0 была показана на выставке Comdex Fall в 1992 году


За фразу "внедрить баг" отдельный зачот. =)
0
17:55, 01.12.2005
От пользователя Maniac.ru
2. Зачитать наизусть историю в проливе Финистера


:-)
0
Domani™
17:56, 01.12.2005
От пользователя View
Если рисовать ее особым образом, то устройство выдавало двойную дозу радиации. Как минимум восемь человек погибли, а еще 20 получили переоблучение

а я вот не понял... они чо с первого раза не поняли что случилось?
0
DoctorADS
18:14, 01.12.2005
Так как не помню, было ли что подобное в 1982 - не поверил...
поискал в инете и вот каменты:



Полное отсутствие фактов, сплошное надувательство и шапкозакидательство. Реальный взрыв (июнь 1989, Башкирия) случился из-за ошибки оператора и привел к огромным (более 400) жертвам, так как пламя охватило два поезда, проходивших мимо трубопровода. И мне совсем не хотелось бы оказаться на месте придурков, сумевших убедить публику, что они подсунули Советам этот софт, если бы по жуткому совпадению эта штука произошла в радиусе 10 миль от одной из контрольных станций взорвавшегося газопровода. Воображаю себе - 400 обездоленных семей подают в суд на Дядю Сэма в соответствии с Патриотическим актом, обвиняя его… хм… в терроризме… Да, вот что еще: о глубине интеллекта этого идиота Сафира из "Нью-Йорк Таймс" можно судить по тому факту, что в 1982 г. Советы страшно гордились своими пневматическими системами управления. Компьютерное управление промышленными процессами в то время было большой редкостью даже в США. Кроме того, любой, имеющий опыт в этой области, знает, что на таком уровне все системы разрабатываются для конкретной, специфической задачи, так же, как и все управляющие "цепочки". Как только эта нелепая история появилась в печати, некоторые бывшие советские чиновники отметили, что если бы этот рассказ был правдой, то источник программного обеспечения был бы тут же определен. В политическом климате 1982 года советское руководство расценило бы подобный инцидент как акт агрессии и как минимум уничтожило бы подконтрольные США нефтеперерабатывающие заводы, до которых легко долетали советские бомбардировщики, а если бы события вышли из-под контроля, дело бы дошло до применения межконтинентальных баллистических ракет.
Так что же там было - фальшивый софт или фальшивые чипы? Или он путает одно с другим?
Ложь и в рассказе о событии, и в его датировке. Все это лживая и безрассудная попытка "альтернативной истории". Сафир, желая сбыть свой бред, изменил даты так, чтобы описанный им взрыв не был похож на ужасную катастрофу 1989 года со многими жертвами - катастрофу, вдохновившую журналиста на попытку подражания Тому Клэнси.
ЦРУ скормило им фальшивый софт? Такое чувство, что мне пытаются скормить фальшивую историю. Не думаю, что есть способ проверить правдивость этого рассказа.
Кажется, вся эта история - городская легенда, в которой может затеряться крупица истины. С середины 70-х и в 80-е годы я работал с системами SCADA (Производственный контроль, наблюдение и получение данных), которые используются в управлении ядерными, химическими, космическими системами и трубопроводами. В этот период шла замена систем пневматической телеметрии на электронный и компьютерный контроль. Старая технология, что со времен войны использовалась для управления крупными промышленными системами, в целом отличалась высокой надежностью. Новая технология считалась дешевой и примитивной, ей не доверяли тогда и не доверяют до сих пор. Такие системы основаны на принципе самоотключения, то есть поломка компьютера вызывала бы отключение, а не взрыв. Такой подход въелся в плоть создателей этих систем. После таких аварий, как Чернобыль и Фликсборо, разработчики стали предпринимать еще больше предосторожностей, хотя системы управления иногда оказывались не при чем. Большая часть программ в этой категории требует очень значительных изменений исходного кода, чтобы сделать их пригодными к работе. Редко когда удавалось сбыть систему, не предоставив покупателям доступа к коду, чтобы те сами могли оценить его качество. Конструкторы советского газопровода должны были проявлять двойную осторожность и наверняка с крайним подозрением отнеслись бы к исходным кодам системы. В подобном случае очень вероятно, что они бы встроили в систему дополнительные устройства, чтобы предотвратить аварии из-за сбоев в программах, особенно если они не могли прочесть и оценить их исходный код.

Говорит Фатех Вeргасов: В наше время подобные истории назвались "приписками". Описанный Сафиром взрыв газопровода невозможен по многим причинам и вот некоторые из них.

В газопроводе давление резко поднять нельзя. Для этого, во-первых, нужен сам газ, а во-вторых, нужно разогнать компрессор, у которого есть механический предельный регулятор оборотов.
Все компрессорные станции имеют защищающие клапана-отсекатели, которые механически срабатывают от перепада давления и не требуют ни электричества, ни каки-либо команд.
На промыслах все скважины оборудованы пакерами, т.е. клапанами-отсекателями. Случись хоть атомный взрыв, он снесёт только "ёлку", т.е. наземную обвязку скважины. Будет возгорание, но через пару часов всё потухнет. Кувейта не будет.
Да, импортное оборудование часто имело исполнительные серво-механизмы, но они никогда не задействовались в единую систему телемеханики из-за обыкновенной нашей безалаберности и отсталости. Словом, никакой по-настоящему АСУТП попросту не было в те годы. Уверен, что и сейчас с этим не густо.
И самое главное: в то время на газопроводах никакой софт не применялся. Незачем и не на чем было его применять.

[Сообщение изменено пользователем 01.12.2005 18:18]
0
MEDVEDaka
18:36, 01.12.2005
От пользователя Classic car®
3. Расчитать, полетит самолёт или нет.



народ помнит...:vis:
0
11:49, 04.08.2015
Тема автоматически закрыта.
0
Обсуждение этой темы закрыто модератором форума.