Популярнейшие Баги столетия ║ч.1║

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

Несмотря на то, что ошибиться может каждый, очень важной частью является работа над ошибками, т.к. умные всегда учатся на чужих ошибках.

💾Введение

Слово Баг было заимствовано из английского слова жук/насекомое/клоп (bug), но позже в жаргонном смысле начало использоваться массово для объяснения ситуации с непредвиденной и неожиданной ошибкой, возникающей в компьютерных система и технике.

Первым начал использовать это слово в далёких 1877 известный пендосский изобретатель и коммерсант Томас Эдисон. Однажды он ломал голову над тем, почему же его изобретение, фонограф, отказывалось работать. Предположил Томас, что в устройство где-то мог пробраться жук или какое-то насекомое.

Второго не оказалось на месте, но в последствии во всех непонятных ситуациях изобретатель выражался именно этим словом, Баг.

💾Реальное насекомое

Настоящий Bug

Подборка пойдёт от самых старых фактов к самым новым. Таким образом, 76 лет назад, 9 сентября 1945 года при тестировании ЭВМ (электромеханического прототипа современных компьютеров) Mark 2 Aiken Relay Calculator в стенах Гарвардского универа во время очередного испытания было обнаружено насекомое.

Мотылёк влетел между контактами реле устройства, застрял и испустил там дух. Это поведение вызвало короткое замыкание и некорректную работу дорогостоящей машины.

Забавно, что насекомое извлекли и вклеили в исторический известный документ с подписью "первый в мире реальный Баг". С тех пор, в этот день начали отмечать день тестировщика и день Бага.

💾Всем радиации чуток

Therac-25

Вовсе невесёлые случаи происходили в 1985-1987 годах. Современный аппарат для лучевой терапии тех лет Терак-25 использовался для лечения онкологических больных.

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

Из-за бага к коде программы, иногда при терапиях происходило арифметическое переполнение. ПО пыталось обработать слишком большие числа. Предохранители не срабатывали в нужное время или не срабатывали вовсе. На пациента попадал луч в 100 раз интенсивнее, чем должен быть.

Случай не шуточный, ведь было известно минимум 6 случаев передозировки радиацией, 4 из которых стали летальными.

💾AT&T надолго запомнят падение коммутатора

Штаб квартира AT&T

15 января 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║.