6 компьютерных ошибок, повлекшие за собой серьёзные последствия

4 1391

Ошибка dll может вывести из себя любого. Вроде скачал игру с проверенного торрента, библиотеки обновлены, антивирус отключён, а она всё лезет и лезет с характерным звуком. Иногда приходится вручную искать никчёмный файл, размером в несколько килобайт, и пихать его в нужную папку. Дико бесячая штука! Однако бывают компьютерные ошибки куда более серьёзные, способные не только выбесить, но и нанести многомиллиардный ущерб. А в некоторых случаях — даже убить.

1. Город разбойников и убийц

В 1989 году Париж погрузился во тьму, практически превратившись в Готем. Во всяком случае, так решила компьютерная программа, отвечающая за рассылку писем нарушителям правил дорожного движения. Более 40 тысяч парижан вместо штрафов получили письма с обвинениями в разбоях и убийствах. Полицейский департамент открестился: «На этом наши полномочия — всё». Мэрия города поспешила успокоить граждан, разослав им письма с официальными извинениями, напомнив, однако, и про неоплаченные штрафы.

2. Это был жаркий день

В 2003 году произошло событие, оставшееся в истории под названием «Великий блэкаут». 10 миллионов канадцев (треть населения страны) и ещё около 40 миллионов американцев (в том числе весь Нью-Йорк) остались без электричества.

Началось всё с халатности и экономии — кто бы мог подумать, но в США тоже любят виртуальные отчёты. В общем, нависшие над проводами ветки не срубили в Огайо. Лето было жаркое, соответственно потребление энергии тоже было повышенным. Провода немного провисли, произошло замыкание — и тут в игру вступила система защиты. Эта система вырубила электростанцию в Кливленде, но не известила о случившемся остальные узлы. Таким образом, сбой заметили только компьютеры. Видя, что двуногие куски мяса не предпринимают никаких действий, компы просто начали вырубать соседние электростанции. В итоге было отключено около 100 станций, а общий ущерб превысил 6 миллиардов долларов.

Очевидцы событий больше всего жаловались на дикую жару — без электричества ведь не включить кондиционер. Однако история говорит, что уж лучше так — пускай будет жаркий день, а не тёмная ночь. В 1965-м случалась похожая по масштабам авария ночью. Результат: 1 077 поджогов, полторы тысячи магазинов разграблено, около 4 000 человек арестовано, был введён режим ЧС. По заявлению полиции в мародёрстве приняло участие около 100 000 человек. Доходило до того, что мародёры отбирали награбленное у других мародёров.

А свет погас всего-то на сутки. Представь, что станет с человечеством в случае реальной техногенной катастрофы планетарного масштаба!

3. Убийство и подстава

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

В произошедшем обвинили врачей: всем, кто работал на данном оборудовании в тот день, предъявили обвинения в убийстве. Некоторые получили реальные сроки. Ситуация неоднозначная, так как, с одной стороны, врачи были обязаны проверять все настройки вручную, а с другой стороны, это ПО ведь и было создано для автоматизации процесса. Но по какой-то причине компьютер решил выдать двойную дозу облучения.

4. Судный день мог начаться намного раньше.

В 1983 году мир стоял на пороге ядерной войны, и подстрекали к её началу компьютеры. В начале восьмидесятых холодная война всё ещё шла полным ходом. Советская система раннего предупреждения ракетного нападения сообщила о начавшейся атаке. За ракетный пуск со стороны предполагаемого противника она приняла солнечный свет, отражённый от верхних слоев облаков. Если бы для ответного пуска не было необходимости физического действия со стороны человека, эти компы реально начали бы Третью мировую.

Подполковник Станислав Петров не дал этому случиться — он совершил подвиг своим бездействием. Как бы абсурдно это ни звучало. Он предположил, что в случае реального удара американцы не ограничились бы всего пятью ракетами, доложил в штаб о ложной тревоге и… больше не стал ничего делать (чем и спас мир, возможно). В итоге подполковник получил награды и от советского руководства, и позже от конгресса США.

5. Все вне зоны действия сети.

AT&T — это крупнейший телекоммуникационный оператор США. Сбой он продемонстрировал соответствующего масштаба — десятки миллионов пропущенных телефонных звонков. Может показаться ерундой, но это было самое начало 90-х, то есть почти ни у кого ещё не было сотовых. Кроме того, нужно понимать образ жизни американского среднего класса. Невозможность дозвониться, скажем, в аэропорт — это серьёзная проблема, ставящая под угрозу риск деловой поездки. Именно на этой почве компанию и закидали исками: как выяснилось, несколько десятков тысяч человек не смогли дозвониться в аэропорты. Было множество исков и по другим направлениям. Общий ущерб не установлен, но точно речь идёт о сотнях миллионов долларов.

Ситуация похожа на «Великий блэкаут». Сначала вышел из строя всего один телефон в одном из 114 центров связи. Засбоил весь центр связи, запустив цепную реакцию, которая «уложила» всю сеть. В итоге выяснилось, что виной всему одна ошибочная строка в программном коде.

6. Считают они так себе

На ноль делить нельзя — это знаешь ты, это знают все. Может быть, и не понимая почему, но так нас учили с первых классов. Кстати, лови объяснение, раз уж такое дело.

К примеру, a = 1/0, отсюда выходит, что a • 0 = 1, получается что нужно найти такое a, которое при умножении на ноль дает единицу, но такого числа не существует. Так как произведение равно нулю, когда один из множителей равен нулю, получается что 0 = 1. Решение очевидно неверное, а сам пример не имеет смысла или решения при любом a. На этом и погорели некоторые компы. В одних случаях выходило из строя какое-то оборудование, случались потери военной техники, но как минимум в одном случае погибли люди.

Американская система противоракетной обороны Patriot неверно рассчитала время подлёта ракеты, округлив его неправильно, и в итоге начала делить на ноль, выискивая правильное решение (которого не существует, как мы уже выяснили). Ракета так и не была перехвачена. 28 солдат погибли, несколько десятков получили ранения.

Специально для читателей моего блога Muz4in.Net

Пётр Толстой: нам плевать на Макрона. Убьём…

Французы в шоке, таким жёстким журналисты его ещё не видели. Впрочем, им не привыкать, в том числе и к реакции своих зрителей. Из раза в раз приглашать в эфир ведущего канала BFMTV и бр...

Почему Собчак пропала с радаров
  • pretty
  • Вчера 08:29
  • В топе

КВАДРАТУРА   КРУГАЛистаю ленту новостей и думаю: «Чего-то не хватает, что-то в стране изменилось. А что?». И вдруг понял: нет Собчак. Пропала. Еще буквально пару месяцев назад ее фамилия обя...

Конашенок попытался улететь в Армению, но был задержан в аэропорту Пулково, а позже, заикаясь от страха, записал видео, где принёс свои «глубочайшие извинения»

Сегодня и вчера стримеры наперебой извиняются за свои слова в прямом эфире, сказанные сразу после теракта. Одна женщина из Липецкой области в эфире говорила, что в Москве убили всего 113 человек, а на...

Обсудить
  • https://cont.ws/@greengrey/830167 - более подробно про п.6
  • https://habr.com/en/company/mailru/blog/370153/ - ошибка ПО при лечении рака. Гимн эффективности менеджерастов. Денег на тестирование не нашлось
  • https://habr.com/en/company/pvs-studio/blog/307788/ - более подробно про Therac-25 Therac-6, Therac-20 и Therac-25. 6 и 20 были произведены совместно с французской компанией CGR. Партнёрство прекратилось перед проектировкой Therac-25, но у обеих компаний остался доступ к проектам и исходным кодам ранних моделей. Программный код в Therac-20 основывался на коде Therac-6. На всех трёх аппаратах был установлен компьютер PDP-11. Предыдущим моделям он не требовался, так как они были спроектированы как автономные устройства. Техник по лучевой терапии настраивал различные параметры вручную, в том числе и положение поворотного диска для настройки режима работы аппарата. Когда пришло время сделать Therac-25, AECL решили оставить только компьютерное управление. Они отказались от устройств ручного управления и от аппаратных механизмов блокировки Производитель сообщил, что программное и аппаратное обеспечение протестировано в течение многих лет. Однако, при разбирательстве выяснилось, что программное обеспечение было проверено минимальным количеством тестов на симуляторе, а большинство времени тестировалась вся система в целом. Таким образом, модульным тестированием пренебрегали, а проводили только интеграционное тестирование. Было выдвинуто наивное предположение, что повторное использование кода или коробочного продукта увеличит безопасность программного обеспечения в силу длительности их успешного применения. Повторное использование кода не гарантирует безопасность модуля в новой системе, так как её проектирование имеет свои особенности. Переписывание с нуля позволяет получить более простую и прозрачную систему, и как следствие, более безопасную. В данном случае имело место повторное использование программного кода с Therac-6 и Therac-20. В Therac-6 вообще не было рентгеновской терапии, в Therac-20 применялся механический блокиратор.