Промахнувшийся Patriot и неграмотные хакеры: крупнейшие ошибки в ПО
6 сентября 1989 года 41 тыс. парижан, нарушивших правила дорожного движения, пришли извещения о том, что ими были совершены убийства и грабежи. Граждан также обвиняли в вымогательствах, организованной проституции, незаконном обороте наркотиков и сексуальных девиациях. Вскоре ситуация разрешилась. Власти выпустили заявление, в котором объяснили эти письма ошибкой, возникшей в компьютерной системе суда.
О случаях, когда компьютерные ошибки стоили огромных финансовых потерь и людских жизней, — в материале iz.promo.vg.
«Черный понедельник»
19 октября 1987 года индекс Доу-Джонса упал на исторически рекордное значение — 22,6%. Американский фондовый рынок потерпел крах, крупнейшие компании лишились миллиардов долларов. Взрывной волной накрыло также Австралию, Гонконг, Великобританию и Канаду, чьи фондовые биржи потеряли от 20% до 50%.
К финансовой катастрофе привело множество факторов. Одним из важнейших, по мнению большинства экспертов, стал компьютерный сбой. В 1980-е годы финансовый рынок подвергся компьютеризации. К тому моменту система Нью-Йоркской фондовой биржи была способна обрабатывать огромное число ценных бумаг, но с таким количеством запросов на открытие и закрытие позиций она, очевидно, не справилась. В октябре многие игроки решили избавиться от акций и облигаций, что спровоцировало цепную реакцию. Система не смогла справиться с потоком ордеров, поэтому периодически тормозила, выдавала неправильную информацию, а порой и просто зависала. Как результат — кризис фондового рынка, огромные финансовые потери и выработка новых правил защиты индивидуальных инвесторов.
Ошибка Patriot
Во время войны в Персидском заливе американскими войсками было зарегистрировано свыше 80 пусков по Саудовской Аравии и Израилю, большая часть которых была перехвачена. Защитой американских и союзных войск занималась противоракетная система Patriot. Тем не менее, и она была не столь надежна. Одна из батарей Patriot была развернута в Дахране. 25 февраля 1991 года иракские солдаты совершили ракетный удар по казармам армии США. Patriot оказался бессилен: все снаряды достигли своей цели.
Причиной послужила ошибка в ПО. Каждые 100 часов бесперебойной работы системные часы отклонялись на 0,34 секунды. За это время ракеты способны преодолеть расстояние до 500 м. Как следствие, образовалась погрешность, стоившая жизни 28 американским солдатам.
Поплатиться за неправильное деление
Профессор математики Томас Найсли обнаружил в новом процессоре Intel Pentium сравнительно незначительную ошибку при делении. Погрешность составляла 0,006%, и, по словам руководства компании, обычный пользователь мог бы столкнуться с ней не чаще, чем «раз в 27 тыс. лет». Однако история была растиражирована, и директорам Intel пришлось искать решение. Они отмечали, что с лета 1994 года ошибка в процессорах была исправлена. Но определить точное количество дефектных устройств компания не смогла, поэтому в конце концов она была вынуждена менять процессоры Pentium по требованию клиентов. Желающих получить абсолютно исправную версию оказалось гораздо больше, чем рассчитывали руководители компании. В итоге Intel потеряла на замене процессоров порядка $475 млн.
Переоблучить по ошибке
Порой к фатальному исходу приводят ошибки в устройствах, созданных для спасения человеческих жизней. Аппарат лучевой терапии Therac-25 был разработан для лечения онкологических заболеваний. Однако с июня 1985 года по январь 1987 года было зарегистрировано по меньшей мере шесть передозировок радиацией, вызванных ошибкой в ПО. Therac-25 считался самой современной моделью в серии. И в ней, в отличие от предыдущих аппаратов, параметры безопасности определялись не аппаратными блокираторами, а программным обеспечением.
Многие пациенты получали радиационные ожоги. Облучение в 1 тыс. рад считается смертельным. Людям же, подвергавшимся лечению Therac-25, доставалось 8 тыс., 15 тыс. и даже 20 тыс. рад. Впоследствии область на месте ожогов опухала. У одних пациентов части тела оказывались парализованы, другие пациенты сталкивались с риском ампутации. После тщательного расследования эксперты обнаружили минимум четыре ошибки в ПО, которые могли привести к переоблучению.
Неудавшаяся миссия на Марс
Автоматическая межпланетная станция «Фобос-Грунт» была запущена в ночь на 9 ноября 2011 года. Аппарат должен был добраться до Фобоса, спутника Марса, взять образцы грунта и вернуть их на Землю в специальной капсуле. Но спустя некоторое время после запуска маршевая двигательная установка станции не включилась, поэтому аппарат не смог выйти на траекторию перелета к Марсу. Таким образом «Фобос-Грунт» застрял на околоземной орбите. Там он пробыл до 15 января 2012 года, пока не сгорел в плотных слоях атмосферы.
Эксперты называют несколько причин катастрофы, и одна из них — ошибка программистов, писавших ПО. Стоимость миссии оценивалась в 5 млрд рублей, строительство самого аппарата обошлось в 1,2 млрд рублей.
Спасти миллионы благодаря орфографической ошибке
Иногда ошибки в ПО играют на руку пострадавшей стороне. В феврале 2016 года хакеры взломали систему ЦБ Бангладеш и украли $81 млн. Сумма могла быть куда выше, не допусти они орфографической ошибки в названии адресата. $81 млн был украден четырьмя траншами. Пятый в размере $20 млн был приостановлен сотрудником Федерального резервного банка, через который проходили переводы. Он обнаружил, что в запросе вместо слова foundation было написано fandation. Специалисты, занимавшиеся переводом средств, решили обратиться в ЦБ Бангладеш за разъяснениями. Благодаря их действиям удалось избежать дальнейшей утечки денег. В общей сложности хакеры рассчитывали украсть $850 млн. Спустя несколько месяцев ЦБ Бангладеш смог вернуть часть средств: из $81 млн руководству банка удалось заполучить лишь $15 млн.