Компьютерра, 2005 № 43 (615) | страница 27



5. Дефект генератора ключей системы криптозащиты Kerberos - самый «долгоиграющий» баг, просуществовавший с 1988 по 1996 годы. Как выяснилось, грозный «Цербер» был лишен зубов: по программерскому недосмотру использованный в нем генератор случайных чисел оказался недостаточно «случайным». До сих пор неизвестно, удалось ли кому-нибудь из злоумышленников поставить этого «пса» себе на службу.

6. Девятичасовая авария, выведшая из строя системы американской компании AT amp;T (1990). Виной тому - обновление софта для коммутаторов, обслуживающих «дальнобойные» звонки: электронные «телефонисты» тут же принялись рассылать своим соседям сигналы перезагрузки с интервалом в несколько секунд, в результате чего телефонная сеть рухнула, как цепочка костяшек домино. Восстановить статус-кво удалось лишь после «даунгрейда» до предыдущей версии софта.

7. Ошибка в операции деления чисел с плавающей запятой в процессорах Pentium, ставшая настоящим проклятием для компании Intel (1993). Несмотря на то что даже в наихудших случаях точность вычислений «хромала» всего лишь на несколько тысячных долей процента, эти арифметические фокусы сильно подмочили репутацию микропроцессорного гиганта. В результате пришлось заменить миллионы дефектных чипов, а весь скандал обошелся Intel примерно в полмиллиарда «зеленых».

8. «The Ping of Death» (1995-96) - баг, связанный с неправильной обработкой некоторыми операционными системами слишком больших IP-пакетов (в частности, производимых командой Ping). Под раздачу попали Unix-системы многих производителей, а пользователям Windows пришлось созерцать на дисплее «синий экран смерти».

9. Глупейший баг в коде управляющей программы ракеты Ariane 5 (1996), вызвавший ее взрыв спустя какие-то сорок секунд после старта. Дело в том, что значительную часть софта эта модель унаследовала от своей предшественницы Ariane 4, однако один из модулей забыли переделать для новых условий. В результате ошибка переполнения регистра вызвала сбой системы ориентации в пространстве, неправильную коррекцию курса и разрушение корпуса под действием аэродинамических сил. При этом дублирующий модуль вышел из строя всего лишь на 0,05 секунды позже основного.

10. Фатальный глюк в графическом интерфейсе программы по управлению системой лучевой терапии в панамском Институте рака (2000). Экраны, защищавшие от радиации здоровые органы, отображались на мониторе в виде прямоугольных «кирпичиков». Оказалось, что программа была чувствительна к их расположению. В результате три десятка пациентов получили передозировку на изотопном источнике. По всей видимости, не меньше восьми человек умерли от лучевой болезни (за три года скончался 21 пациент, но часть смертей могла быть вызвана прогрессирующим раком).