Мифы о безопасном ПО: уроки знаменитых катастроф - [8]

Шрифт
Интервал

Некоторые итоги

История с Therac-25 показательна, прежде всего, своей комплексностью: если в случае с Ariane 5 авария случилась один раз и из-за единственной ошибки, то катастрофические последствия с Therac-25 проявлялись неоднократно в течение длительного времени, и были следствием целого спектра причин, среди которых не только вполне конкретные программистские «баги», но и дефекты в самой постановке выполнявшегося многие годы проекта.

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

Что же до системной «глобальной особенности», то к ней можно отнести принципиальную переусложненность построения мультизадачной управляющей системы. С чисто программистской точки зрения можно отметить, что для реализации тонкой синхронизации параллельных процессов был выбран механизм разделения переменных, требующий очень внимательной проработки (это именно та область, где необходимо выполнять формальное доказательство правильности алгоритма, благо соответствующие методы разработаны и могут считаться рутинными для тех, кто ими владеет); получилось же так, что потенциально опасные в плане возникновения «race conditions» операции типа «set» и «test» не были сделаны «неделимыми» (indivisible), что и привело к наложению друг на друга их «критических секций» и соответственно к печальным последствиям.

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

Мифы о безопасности ПО

Катастрофы с Ariane 5 и Therac-25, сами по себе беспрецедентные, конечно же не являются уникальными. Можно привести длинный список больших и малых инцидентов в системах, относящихся к классу mission-critical, произошедших по причине дефектов в программном обеспечении и проявившихся только в режиме эксплуатации. Конечно, большинство инцидентов так или иначе расследовалось и осмыслялось. К сожалению, специфика «ответственных» систем часто такова, что это осмысление не становилось достоянием всего программистского сообщества поэтому, неудивительно, что в разное время и в разных местах повторялись сходные ошибки. Соответственно, слишком многие приобретают специфические знания и опыт на практике, методом проб и ошибок, которые как лишний раз показывает разобранные инциденты обходятся дорого.

Что же может предложить в этом отношении наука? Только недавно общесистемные и общеинженерные дисциплины «Безопасность Систем» (System Safety) и «Управление Рисками» (Risk Management) начали настраиваться на ту выраженную специфику, которую имеют программно-аппаратные комплексы в контексте их разработки, эксплуатации и сопровождения. Крупнейший специалист в данной области профессор Вашингтонского Университета энси Левесон (Nancy Leveson) ввела даже специальный термин Safeware, который вынесла в название своей книги[8] пока единственной в мировой литературе, где систематически рассматриваются вопросы безопасности и рисков в компьютерных системах. В частности, в этой книге разбираются некоторые распространенные мифологические представления о ПО и связанных с ним безопасности и рисках, бытующие на фоне все более широкого использования сложных систем в потенциально опасных приложениях. Остановимся на некоторых из них.

О «дешевом и технологичном» ПО

Бытует мнение, что стоимость программно-аппаратных систем обычно меньше, чем аналоговых или электромеханических, выполняющих ту же задачу. Однако, это миф, если, конечно, не говорить о «голом» hardware и однажды оплаченном ПО, сработанном «на коленке». Стоимость написания и сертификации действительно надежного ПО очень высока; к тому же необходимо принимать во внимание затраты на сопровождение опять же такое, которое не подрывает надежности и безопасности. Показательный пример: только сопровождение относительно простого и не очень большого по объему (около 400 тыс. слов) программного обеспечения для бортового компьютера, установленного на американском космическом корабле типа Shuttle, стоит NASA 100 млн. долл. год.


Рекомендуем почитать
Старинные образы южных славян

В этой книге говорится об Исконной Вере и Стари у Южных Славян. Исследование, которое мы провели, не основывается на песнях, преданиях и обрядах, сохранившихся до сих пор, ни даже на письменных летописях. Главная особенность научного подхода, примененного в этой книге, это его опора на образные представления, которые у Южных Славян, совместно со многими другими народами, возникли со временем.


Обман. Философско-психологический анализ

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


Искусственный интеллект

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


Происхождение и эволюция человека

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


Технологии против человека

Технологии захватывают мир, и грани между естественным и рукотворным становятся все тоньше. Возможно, через пару десятилетий мы сможем искать информацию в интернете, лишь подумав об этом, – и жить многие сотни лет, искусственно обновляя своё тело. А если так случится – то что будет с человечеством? Что, если технологии избавят нас от необходимости работать, от старения и болезней? Всемирно признанный футуролог Герд Леонгард размышляет, как изменится мир вокруг нас и мы сами. В основу этой книги легло множество фактов и исследований, с помощью которых автор предсказывает будущее человечества.


Капиталистическое отчуждение труда и кризис современной цивилизации

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