Шрифт:
4. Ошибка переполнения буфера в берклиевской версии Unix при вызове функции gets. Была использована при написании самого первого в истории компьютерного вируса - червя Морриса (1988). Просочившись в Сеть, всего за один день вирус-пионер отправил в нокаут примерно одну десятую часть тогдашнего Интернета (хотя червь Морриса и не содержал деструктивных функций, производительность пораженных им машин резко падала). С тех самых пор сквозь дыры, обнаруженные в фирменном софте, без помех шастают всевозможные черви и троянцы.
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 пациент, но часть смертей могла быть вызвана прогрессирующим раком).
Как можно заметить, летопись «великих жучков» прервалась на пороге нового столетия. Неужто прошедшие с тех пор полдесятилетия так и не добавили в кунсткамеру новых экспонатов? Не будем делать поспешных выводов: большое, как известно, видится на расстоянии. Тем более что новые сюрпризы не за горами: покуда в этом мире есть компьютеры и программисты, вопрос «Что баг грядущий нам готовит?» никогда не будет снят с повестки дня.
ТЕМА НОМЕРА:Зеленоград или Зеленополис?
В этой теме номера мы не станем уделять внимания ни проблемам наукоградов вообще, ни проблемам нашего «главного героя» - подмосковного Зеленограда. Из принципа. Общаясь с людьми, знающими зеленоградские трудности не понаслышке, я раз за разом убеждался в правоте господина Муцзы (который на обсуждении трудностей, похоже, собаку съел). Да и вообще, неприятно выслушивать бесконечное нытье по поводу хронически не решающихся проблем, отсутствия денег и государственной поддержки. Нытье, оно и есть нытье.
В стремлении превратить Зеленоград в технополис большинство руководителей крупных предприятий уповают на несколько десятков инвестиционных проектов, появившихся за последние пару-тройку лет. Однако многие из них - связанные именно с микроэлектроникой - весьма симптоматично «тормозят», чего нельзя сказать о проектах в области торговли и жилищного строительства. В общем, планы планам рознь. И если по одним задумкам Зеленоград может восстановить и укрепить свои былые позиции, став своего рода «российской Кремниевой Долиной», то по другим - он должен превратиться в классический город-спутник мегаполиса, обладающий собственной промышленной, образовательной, культурной и социально-бытовой инфраструктурами, дающими возможность жителям заниматься отнюдь не только микроэлектроникой (а, например, собирать грузовики; см. врезку).