Компьютерные системы и ядерная война

Компьютерные системы и ядерная война

Алан Борнинг

Профессор кафедры прикладной математики Вашингтонского университета (Сиэттл). Его участие в движении «Профессионалы компьютерной техники за социальную ответственность» помогло ему создать труд, анализирующий значение неполадок в работе ЭВМ для случайного возникновения ядерной войны.

Ложные тревоги

Во вторник, 3 июня 1980 года, в 1 час 26 минут система индикации на командном пункте Стратегического военно-воздушного командования (СВВК) близ города Омаха (штат Небраска) показала, что две запущенные с подводных лодок баллистические ракеты приближаются к Соединенным Штатам Через восемнадцать секунд система показала увеличившееся число таких же ракет. Стратегическое военно-воздушное командование связалось с Объединенным командованием ПВО Североамериканского континента (НОРАД), сотрудники которого сообщили, что не обнаруживают никаких признаков нападения.

 

Через короткий промежуток времени сигналы исчезли с экрана системы, однако вскоре экран наблюдения в СВВК снова показал, что с территории Советского Союза в сторону США запущены межконтинентальные баллистические ракеты. На этот раз экраны наблюдения в Центре управления национальными вооруженными силами в Пентагоне зафиксировали запуск ракет с подводных лодок. Дежурный начальник системы СВВК отдал приказ всем дежурным экипажам занять места в бомбардировщиках В-52 и запускать двигатели — расчет делался на то, что самолеты смогут быстро подняться в воздух и избежать уничтожения на земле во время атомной атаки. Наземные установки были приведены в состояние полной боевой готовности, а самолет управления боем подготовлен к взлету. На Гавайях в воздух поднялся размещенный в самолете штабной пункт тихоокеанского командования — он должен был в случае необходимости передавать команды военным кораблям США.

 

К счастью, в ход событий вмешался ряд факторов, вызвавших у участников операции сомнение в реальности нападения. Через 3 минуты 12 секунд после начала тревоги команды были отменены. Тревога оказалась ложной.

 

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

 

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

 

С учетом краткости сроков оповещения, которые в лучшем случае измеряются минутами, современные ядер-ные вооруженные силы не могут функционировать без быстродействующих компьютеров, необходимых для автоматизации процесса оповещения, управления связью и, если необходимо, направления ракет к целям. Насколько надежны компьютеры, используемые в системе командования и управления ядерным оружием? Могут ли они быть достаточно надежными? Именно эти вопросы рассматриваются в данной статье.

 

В упомянутом нами случае понятие «надежность» выходит за пределы обеспечения простой работоспособности системы и распространения на сферу назначения системы и даже на действия в обстоятельствах, которые мы можем еще не знать. До какой степени мы способны определить и запрограммировать наши намерения в компьютерных системах таким образом, чтобы охватить все возможные обстоятельства? Могут ли Советский Союз или Соединенные Штаты взять на себя ответственность, одобрив стратегию, способную привести к непреднамеренному началу ядерной войны по причине неполадок ЭВМ? Как будет показано ниже — не могут. Критерий надежности военных компьютерных систем, неполадки которых могут привести к термоядерной катастрофе, должен быть выше критерия надежности любой другой системы ЭВМ, потому что размеры возможной катастрофы неизмеримо велики.

 

Причины ошибок системы

 

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

 

Неполадки в аппаратуре являются наиболее частой причиной ошибок системы. Примером такой ошибки служит ложная тревога в системе НОР АД в июне 1980 года. Отдельные компоненты системы при строгом контроле качества и проверке могут обладать очень высокой надежностью, однако нет оснований считать, что в большой системе никогда не выйдет из строя ни одна деталь. Поэтому должна использоваться такая техника, которая не допускает выхода из строя отдельных компонентов системы. Однако при создании очень сложных систем (примером которой и является командно-управляющая система военного назначения) никто не может быть абсолютно уверен в возможности предотвращения всех неполадок и в правильности принятых при ее конструировании предположенийг’3,4. К тому же практика дублирования основных компонентов, которая допускает их выход из строя, сама по себе приводит к усложнению системы и обусловливает ее ошибки.

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

 

Характер систем ЭВМ таков, что основные элементы проектирования новой системы встраиваются в ее программное обеспечение. Как правило, программное обеспечение превосходит сами компьютеры по сложности и стоимости. Общеизвестно, что проверка надежности не может сводиться только к безошибочной работе программы, она должна планироваться на всех стадиях разработки системы. Так же как и в отношении надежности аппаратуры, существуют классифицированные критерии для разработки технических условий, проектирования, составления и испытания ответственных программ. И даже при таких условиях ошибки могут быть внесены в программу на любой стадии ее разработки, т. е. при постановке исходных технических задач, при проектировании, эксплуатации, испытании, наладке или обслуживании 5'6,7.

 

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

 

Ошибки могут быть внесены в систему при воплощении исходных технических условий в конструкцию, а также при разработке программного обеспечения. В этом случае основной проблемой становится сложность системы. Тот, кто работал над крупной компьютерной системой, знает, насколько сложным является процесс ее разработки. Как правило, никто не может понять досконально всю систему. Корректировка программы, например при устранении неполадок или при замене компонентов системы, сама по себе несет высокую вероятность (обычно от 20 до 50%) введения новой ошибки в программу.

 

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

 

9 ноября 1979 года магнитная лента, содержащая данные по имитации атаки и предназначенная для испытания системы оповещения о ракетном нападении, была вставлена в компьютер системы НОРАД, который по ошибке оператора был подключен к действующей дежурной системе слежения. В результате в течение последующих шести минут 10 тактических истребителей были подняты по боевой тревоге с баз северной части США и с территории Канады '.

 

Вероятность внесения ошибки оператором значительно усиливается под влиянием алкоголя или наркотиков. Л. Дюма 8 приводит неутешительную статистику употребления алкоголя и наркотиков, а также ненормального поведения лиц американского военного персонала, имеющих доступ к ядерному оружию. Алкоголизм является также одной из серьезных проблем в Советском Союзе и может проявляться среди советского военного персонала.

Поучительные ошибки

 

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

 

Примером ошибки, связанной с работой аппаратуры, может служить случай ложной тревоги, происшедшей в июне 1980 года в НОРАД и описанной в начале этой статьи. Эта ложная тревога иллюстрирует также ошибку в проектировании аппаратуры. Серьезной оплошностью в рассматриваемом случае явилось то, что критические данные, содержащие сигнал о ядерной атаке, были посланы без проверки с помощью стандартной и общеизвестной техники проверки ошибок '. Другой пример неполадок в аппаратуре касается полного выхода из строя компьютерной системы связи министерства обороны США в октябре 1980 года. Эта ошибка произошла вследствие необычных неполадок в аппаратуре, из-за которых одно из звеньев системы переключило на себя и израсходовало все ресурсы, предназначенные для других звеньев. Упомянутая система была рассчитана на высокую мобильность переключения ресурсов с целью предотвращения выхода из строя всей системы из-за неполадок в одном из звеньев аппаратной части. Однако заложенная в систему ошибка проявила себя только через несколько лет.

 

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

 

Существует много примеров ошибок, обусловленных неправильными или неполными исходными условиями конструирования систем. 5 октября 1960 года с достоверностью 99,9% система оповещения НОР АД показала, что на Соединенные Штаты предпринята массированная ядерная атака со стороны Советского Союза. В действительности же система раннего предупреждения о ракетно-ядерном нападении, находящаяся в Туле (Гренландия), среагировала на восходящую Луну. Оказалось, что никто не подумал о Луне, когда составлялись исходные технические задачи работы системы. Космический корабль «Джемини-V» приземлился на расстоянии 100 миль от намеченного пункта потому, что программа была составлена без учета вращения Земли вокруг Солнца; другими словами, программа была основана на неправильной модели.

 

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

 

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

 

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

 

Гибель нескольких американских и советских космонавтов, а также аварии на АЭС в США, на острове Три Майл Айленд, и в СССР, в Чернобыле, показывают сопоставимую степень аварийности даже в высоконадежных системах обеих стран. Случаи, подобные тем, что произошли на острове Три Майл Айленд 7 и в Чернобыле, трагическому взрыву космического корабля «Челленджер» в 1986 году, аварии в энергосети северо-восточной части США в 1965 году, являются печальными напоминаниями о несовершенстве техники.

 

Перспективы усовершенствования

 

Каковы перспективы в деле повышения надежности военных компьютерных систем? Значительный прогресс может быть достигнут при использовании более современных систем компьютеров и программного обеспечения 5’6,9. Система типа той, которая была использована в НОР АД и в 1980 году включала устаревшие компьютеры 60-х годов, передавая критические данные без проверки возможных ошибок, не может считаться современной. Конечно, переход на более современную технику может помочь, но каковы практические и теоретические пределы надежности сейчас и в будущем десятилетии? Министерство обороны США предпринимает попытки разработки новой теории создания программ и поставки их военным подрядчикам. Примерами таких попыток служат «Техника программирования доступных и надежных систем» и основание института программного обеспечения при Университете Карнеги — Мел-лона. Использование новых методик уменьшит, но полностью не ликвидирует ошибки на стадии перехода от технических условий к программам.

 

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

 

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

 

Как можно гарантировать, что технические условия сами по себе верны и что они предписывают то, что ожидается от системы? Возможны ли события, которых не предвидели в момент составления технических условий? Проверка правильности, например, показывает лишь то, что одно формальное описание (технические условия) эквивалентно другому формальному описанию (программе). Такая проверка не определит, что технические условия отвечают нечетко сформулированным запросам потребителя или что система будет ненадежно работать в ситуациях, невообразимых при составлении технических условий. Так, ложная тревога 1960 года показала, что даже при удовлетворении всех технических требований система окажется бесполезной, если при составлении технических условий никто не подумает о влиянии восходящей Луны на сигналы системы. Поэтому термин «проверка правильности» в данном случае не соответствует действительности и должен быть заменен на более скромный —«проверка относительной совместимости».

 

Повышение как практических, так и теоретических пределов надежности наталкивается на вышеупомянутую проблему, связанную с постановкой технических условий. Она стала основным и долгосрочным препятствием на пути создания надежных и сложных систем. Ответы на такие критические вопросы, как «Существуют ли какие-либо внешние события, о которых мы просто не подумали?» или «Будет ли система делать то, что мы от нее ожидаем?», выходят за пределы сферы формальных систем. Системы ЭВМ (включая искусственный интеллект) снискали славу систем, которым не присуще понятие здравого смысла: сама по себе система не покажет, что произошла ошибка и что пределы ее возможностей превышены.

 

Выводы

 

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

 

Одна из постоянных тенденций гонки вооружений — создание ракет все большей и большей точности. Эта тенденция усиливает давление, побуждающее стороны принять стратегию запуска по предупреждению. Такая стратегия не оставляет времени на определение реальности угрозы или выяснение, не вызвана ли тревога ошибкой компьютера. В результате приходится в еще большей степени полагаться на надежность предупредительных и командных систем в США и СССР.

 

Размещение точных ракет вблизи территории предполагаемого противника лишь усугубляет эту проблему.

 

Внедрение экзотических систем вооружения, таких, как СОИ, оснащенных быстродействующими ЭВМ и искусственным интеллектом, может привести к войнам, управляемым в основном компьютерами9. На что же остается полагаться при таких обстоятельствах? Конечно, возможны разные технические усовершенствования в компьютерных системах управления ядерным оружием. Я, однако, не уверен в том, что добавление все новых усовершенствований такого рода сможет гарантировать надежную работу систем. Проблема остается фундаментальной вследствие невозможности испытаний в реальных условиях ошибок человеческого разума в момент экстремальной напряженности и кризиса и нашей неспособности предвидеть все, что может случиться в сложных и незнакомых ситуациях. Мы должны отдавать себе отчет о пределах возможностей техники. Угроза ядерной войны — это политическая проблема, и ее устранение должно быть гарантировано политическими средствами, подвластными человеческому разуму.

Категория: Наука и Техника | Добавил: fantast (02.06.2016)
Просмотров: 982 | Теги: Третья Мировая, Компьютеры, ядерное оружие, ядерная война | Рейтинг: 0.0/0