Все мы люди и незазорно нам, тварям дрожащим, совершать ошибки. От них не застраховано ни одно живое существо. В сегодняшней подборке начинаем первую часть самых эпичных багов и фейлов последнего столетия.
Несмотря на то, что ошибиться может каждый, очень важной частью является работа над ошибками, т.к. умные всегда учатся на чужих ошибках.
💾Введение
Слово Баг было заимствовано из английского слова жук/насекомое/клоп (bug), но позже в жаргонном смысле начало использоваться массово для объяснения ситуации с непредвиденной и неожиданной ошибкой, возникающей в компьютерных система и технике.
Первым начал использовать это слово в далёких 1877 известный пендосский изобретатель и коммерсант Томас Эдисон. Однажды он ломал голову над тем, почему же его изобретение, фонограф, отказывалось работать. Предположил Томас, что в устройство где-то мог пробраться жук или какое-то насекомое.
Второго не оказалось на месте, но в последствии во всех непонятных ситуациях изобретатель выражался именно этим словом, Баг.
💾Реальное насекомое
Настоящий BugПодборка пойдёт от самых старых фактов к самым новым. Таким образом, 76 лет назад, 9 сентября 1945 года при тестировании ЭВМ (электромеханического прототипа современных компьютеров) Mark 2 Aiken Relay Calculator в стенах Гарвардского универа во время очередного испытания было обнаружено насекомое.
Мотылёк влетел между контактами реле устройства, застрял и испустил там дух. Это поведение вызвало короткое замыкание и некорректную работу дорогостоящей машины.
Забавно, что насекомое извлекли и вклеили в исторический известный документ с подписью "первый в мире реальный Баг". С тех пор, в этот день начали отмечать день тестировщика и день Бага.
💾Всем радиации чуток
Therac-25Вовсе невесёлые случаи происходили в 1985-1987 годах. Современный аппарат для лучевой терапии тех лет Терак-25 использовался для лечения онкологических больных.
Суть проблемы заключалась в том, что в старых версиях у аппарата стояли физические (механические) предохранители, подававшие металлический отражатель. В новой версии физические были заменены на предохранители программного обеспечения.
Из-за бага к коде программы, иногда при терапиях происходило арифметическое переполнение. ПО пыталось обработать слишком большие числа. Предохранители не срабатывали в нужное время или не срабатывали вовсе. На пациента попадал луч в 100 раз интенсивнее, чем должен быть.
Случай не шуточный, ведь было известно минимум 6 случаев передозировки радиацией, 4 из которых стали летальными.
💾AT&T надолго запомнят падение коммутатора
Штаб квартира AT&T15 января 1990 года случилось непоправимое. Ошибка в новой версии прошивки междугородних коммутаторов привела к тому, что коммутатор перезагружался, если получал специфический сигнал от соседнего коммутатора.
Таким образом, один из 114 на тот момент коммутаторов имел механическое повреждение и запустил непрерывную цепочку сарафанного радио, приведшую к свою телефонной сети в Америке. В результате цепной реакции, более 60 тысяч человек оказались без связи.
По результату устранения бага, проблема стоила компании в 60 миллионов долларов и подрыве доверия граждан.
💾Самый дорогой Баг в истории
Самый дорогой Баг в историиЕсли кому и есть, чем похвастаться, то это точно случай с Ariane 5, ущерб от которого по различным данным оценивается от 400-500 миллионов долларов.
4 июня 1996 года проводился запуск ракетного носителя Ариана-5. К сожалению, операция не увенчалась успехом и на 40й секунде полёта из-за сбоя бортового ПО ракета разрушилась.
Причиной тому стала ныне популярная уязвимость - переполнение переменной. Часть кода для ракеты 5ой версии была взята из предшественника 4ой версии. тестирование кода, конечно, никто не провёл, а из-за разницы в скорости новой версии ракеты, старый софт вызвал сбой и переполнил переменную. Запасное По в бортовом компьютере так же было от старой 4ой версии и ошибка повторилась.
Обиднее всего должен быть факт того, что на подготовку к миссии ушло более 7 миллиардов долларов и 10 лет.
💾Ping of death
Ping of deathЭтот случай больше историческая уязвимость, чем баг, но всё равно достойно упоминания. Такой тип сетевой атаки родом из 1990х годов широко применялся в прошлом.
Подвержены были все системы того времени из-за отсутствия заглушек. Устройство жертвы получало команду на выполнение команды Ping и зависала наглухо.
Такое поведение было вызвано стандартом Ipv4, объём передаваемого пакета которого не мог превышать 65 535 байт. При переполнение вызывалось переполнение сетевого стека и зависание машины.
Однако в конце 1990х эту проблему успешно побороли и исправили.
На этом на сегодня всё. Продолжение будет завтра. Спасибо за внимание и хороших выходных!
Еще по теме здесь: История.
Источник: Популярнейшие Баги столетия ║ч.1║.