Обязательные требования к продукции, производству и эксплуатации определены
Федеральным Законом РФ "О техническом регулировании". В нем, в частности, введено
понятие безопасности продукции — "состояние, при котором отсутствует
недопустимый риск (вероятность), связанный с причинением вреда жизни и здоровью
граждан, имуществу физических и юридических лиц, государственному или муниципальному
имуществу, окружающей среде...". Там же определены основные понятия: технический
регламент, техническое регулирование, стандартизация, сертификация, система
сертификации, аккредитация, подтверждение соответствия и др., а также цели,
принципы и порядок их практического применения.
В статье из всего многообразия сфер, в которых рассматривается и учитывается
безопасность, выделена область применения систем обработки информации и управления
реального времени, основой которых являются электронные вычислительные машины
(ЭВМ), а также программные средства (ПС) и информационные ресурсы баз данных
(БД). При этом под безопасностью продукции, процессов производства и эксплуатации
систем понимается их работоспособное состояние и функционирование в соответствии
с требованиями заказчика и технической документации, при которых отсутствуют
опасные отказы и недопустимый ущерб .
В критических системах, в которых результаты обработки информации и управляющие
воздействия непосредственно определяют работоспособность и качество функционирования
сложных систем управления в чрезвычайных ситуациях, системами вооружения,
космическими объектами, не исключены и изредка происходят аварии
и катастрофы вследствие недостаточной безопасности программных средств .
Имеется множество примеров гибели дорогих спутников или катастрофических
ситуаций при применении сложных динамических объектов (Марс-1 — 1976г, Ариан-5
— 1997г, Апполон-13 — 1978 г и т.д.), а также больших финансовых и материальных
потерь в авиации, в военных системах и на транспорте вследствие относительно
простых ошибок в программах. В наиболее тяжелых случаях ущерб измерялся ценой
жизни и здоровья людей или большими материальными потерями. В то же время
они имели вполне объяснимую природу и источники, влияние которых могло быть
снижено путем глубокого анализа, выявления дефектов и корректировок программ
или информации баз данных.
Имеющиеся достижения в области теории и практики управления безопасностью
сложной промышленной продукции, как правило, не известны и не используются
специалистами, создающими и применяющими военные системы на базе программных
средств. Это во многих случаях определяет дефекты и отказовые ситуации при
применении ПС, конфликты между заказчиками и разработчиками из-за неопределенностей
значений их безопасности и не конкурентоспособность создаваемых ПС на мировом
рынке. Формализация и оценивание реальной безопасности программных средств
и систем часто зависит от интуиции и квалификации их разработчиков, заказчиков
и пользователей. В результате проекты ПС не соответствуют исходному, декларированному
назначению и первоначальным спецификациям требований к характеристикам безопасности
и качества, не укладываются в согласованные графики и бюджет разработки.
В требованиях технических заданий и реализованных проектах сложных систем
и ПС, связанных с безопасностью, систематически умалчиваются и/или
недостаточно формализуются понятия и метрики безопасности программного
продукта и выдаваемой информации, какими характеристиками они должны описываться,
как их следует измерять и сравнивать с требованиями, отраженными в контракте,
техническом задании или спецификациях. Кроме того, некоторые из характеристик
функциональной безопасности часто вообще отсутствуют в требованиях заказчика
и согласованных документах на систему и ПС, что приводит к произвольному
их учету или к пропуску при испытаниях. Этому способствует ограниченность
ресурсов, необходимых для достижения и оценивания в процессах жизненного
цикла комплексов программ, требуемых и реализованных значений безопасности,
а также недостаточная формализация и документирование всего процесса их выбора
и анализа.
Непрерывно возрастающая сложность и вследствие этого уязвимость систем и
ПС от случайных и предумышленных негативных воздействий выдвинули ряд рассматриваемых
ниже проблем, связанных с безопасностью систем, использующих программные
средства, в разряд важнейших — стратегических , определяющих
принципиальную возможность и эффективность их применения. При этом выделились
области анализа и обеспечения информационной безопасности ,
связанные, в основном, с защитой от предумышленных, негативных воздействий
на информационные ресурсы систем, и функциональной безопасности ,
обусловленной отказовыми ситуациями и потерей работоспособности систем и
ПС вследствие проявления непредумышленных, случайных дефектов программ, данных,
аппаратуры и внешней среды.
Проблема обеспечения информационной безопасности функционирования
ИС в процессе разработки и эксплуатации возникла и развивается вследствие
возрастания сложности и ответственности задач использования информационных
ресурсов и увеличения их уязвимости от предумышленных, внешних воздействий,
с целью незаконного использования или искажения информации и программ, которые
по своему содержанию предназначены для применения ограниченным кругом лиц [1], [3], [9], [11].
Основное внимание в современной теории и практике обеспечения безопасности
информационных систем сосредоточено на защите от злоумышленных разрушений,
искажений, хищений и использования программных средств и информации баз данных.
Для этого разработаны и активно развиваются проблемно-ориентированные методы
и средства защиты от несанкционированного доступа, от различных типов вирусов
и закладок, от утечки информации по каналам электро-магнитного излучения
и т.д. При этом подразумевается наличие лиц, заинтересованных в несанкционированном
доступе к конфиденциальной или полезной информации в системах, с целью её
незаконного использования. Для решения этой проблемы созданы и активно развиваются
методы, средства и стандарты обеспечения информационной безопасности — защиты
программ и данных от предумышленных негативных внешних воздействий .
Проблема обеспечения функциональной безопасности при случайных,
дестабилизирующих воздействиях и отсутствии злоумышленного влияния на системы,
ПС или информацию баз данных существенно отличается от задач информационной
безопасности. При анализе функциональной безопасности рассматриваются опасные
отказовые ситуации, приводящие к потере работоспособности систем, к авариям
и катастрофам. При таких воздействиях внешняя функциональная работоспособность
систем может разрушаться не полностью, однако невозможно полноценное выполнение
заданных функций и требований к качеству информации для потребителей. В рассматриваемых
ниже системах безопасность их функционирования определяется проявлениями
дестабилизирующих факторов, приносящих большой ущерб:
- техническими отказами внешней аппаратуры и искажениями исходной информации
от объектов внешней среды и от потребителей систем и обработанной информации;
- случайными отказами, сбоями и физическими разрушениями элементов и компонентов
аппаратных средств вычислительных комплексов и средств телекоммуникации;
- дефектами и ошибками в комплексах программ обработки информации и в данных;
- пробелами и недостатками в средствах обнаружения опасных отказов и оперативного
восстановления работоспособного состояния систем, программ и данных.
В реальных сложных системах, связанных с безопасностью, возможны катастрофические
последствия и отказы функционирования с большим ущербом при отсутствии
враждебных лиц, заинтересованных в подобных нарушениях работоспособности
систем и ПС . Вредные и катастрофические последствия таких отказов
в ряде областей применения систем могут превышать по результатам последствия
злоумышленных воздействий, имеют свою природу, особенности и характеристики.
Поэтому они требуют самостоятельного изучения и адекватных методов и средств
обеспечения безопасности. В некоторых системах отказы, отражающиеся на функциональной
безопасности, могут быть обусловлены нарушением информационной безопасности,
предумышленным разрушением или искажением информации в базах данных. Тщательное специфицирование
и оценивание функциональной безопасности систем , программного продукта
и обработанной для потребителей информации — ключевой фактор обеспечения
их эффективного и адекватного применения . Это может быть достигнуто
на основе выделения, определения и обеспечения подходящих характеристик с
учетом целей использования и функциональных задач ПC и систем.
При анализе характеристик функциональной безопасности целесообразно выделять два
класса систем и их ПС . Первый класс составляют системы, имеющие
встроенные комплексы программ жесткого регламента реального времени, автоматизировано
управляющие внешними объектами или процессами. Время необходимой реакции
на отказовые ситуации таких систем обычно исчисляется секундами или долями
секунды, и процессы восстановления работоспособности должны проводиться
за это время в достаточной степени автоматизировано (бортовые системы в
авиации, в некоторых средствах вооружения и транспорта). Системы второго
класса применяются для управления процессами и обработки деловой информации
из внешней среды, в которых активно участвуют специалисты-операторы (административные,
банковские, штабные военные системы). Допустимое время реакции на опасные
отказы в этих системах может составлять минуты, и операции по восстановлению
работоспособности могут быть доверены специалистам-администраторам по обеспечению
безопасности.
Понятия и характеристики функциональной безопасности систем близки
к понятиям надежности. Основное различие состоит в том, что в
показателях надежности учитываются все реализации опасных отказов, а в
характеристиках функциональной безопасности следует регистрировать и учитывать
только те отказы, которые привели к столь большому, катастрофическому ущербу,
что отразилось на безопасности функционирования системы, на информации
для потребителей или объектов управления. Статистически таких отказов может
быть в несколько раз меньше, чем учитываемых в значениях надежности. Однако
методы, влияющие факторы и реальные значения показателей надежности ПС
могут служить ориентирами при оценке функциональной безопасности критических
систем. Поэтому способы оценки и испытаний функциональной безопасности
могут базироваться на концепции измерения надежности функционирования комплексов
программ и баз данных.
Ущерб от дефектов и ошибок программ и данных может иметь куммулятивный характер
и проявляться в систематических отказах, каждый из которых отражается на
надежности, но не является катастрофой с большим ущербом, влияющим на безопасность
системы. Накопление таких отказов со временем может приводить к последствиям,
нарушающим функциональную безопасность систем и их применение. Таким образом,
сближаются понятия надежности и функциональной безопасности сложных систем
и ПС. При более или менее одинаковых источниках угроз и их проявлениях эти
понятия можно разделить по величине последствий и ущерба при возникновении
отказовых ситуаций.
Проблемы неопределенностей концепции функциональной безопасности
конкретных систем , включающих программные средства, должны учитываться
заказчиками, пользователями и разработчиками в течение всего их жизненного
цикла. Чем сложнее системы и чем выше к ним требования безопасности, тем
неопределеннее функции и характеристики их безопасности и качества. Неопределенности
начинаются с требований заказчиков, которые при формулировке технического
задания и спецификаций не полностью формализуют и принципиально не могут
обеспечить содержание абсолютно всего набора функций, характеристик и их
значений безопасности, которые должны быть при завершении проекта и предъявлении
конечного продукта заказчику. Эти требования итерационно формируются, детализируются
и уточняются по согласованию между всеми участниками проекта вследствие
естественной ограниченности первичных исходных данных и изменения их под
влиянием объективных и субъективных воздействий со стороны различных процессов
на последовательных этапах ЖЦ.
Всегда не полностью, с необходимой детализацией определены и описаны все
характеристики, особенности функционирования и безопасности объектов внешней
среды. Эти характеристики в той или иной степени обычно находятся под воздействием
управляемой системы и ПС. Сложность, а поэтому и неопределенность их представления,
как правило, адекватны сложности всей системы, функциональная безопасность
которой должна обеспечиваться в течение ее ЖЦ. Квалификация и субъективные
свойства потребителей и пользователей изменяются по мере освоения функциональных
возможностей системы и ее работоспособности, что увеличивает неопределенность
ее реальной безопасности. Смена и различия персонала, применяющего систему
и ПС, дополнительно увеличивает неопределенность значений безопасности и
трудности ее прогнозирования с учетом множества субъективных факторов различных
специалистов, участвующих в эксплуатации.
В процессе проектирования, разработки и всего жизненного цикла основных
функциональных задач, операционной среды, аппаратуры ЭВМ эти компоненты с
течением времени развиваются и адаптируются, что отражается на необходимости
адекватного изменения методов, задач и средств обеспечения их функциональной
безопасности. Таким образом, проблемы обеспечения функциональной безопасности
сложных систем должны решаться с учетом одновременного динамического развития
всех компонентов среды и факторов, непрерывно изменяющихся и воздействующих
на результаты их решения. Однако такой сложный, непрерывный, многосвязный
процесс трудно реализовать практически и его целесообразно решать поэтапно,
возможно с необходимыми итерациями и упрощениями. При этом следует иметь
в виду, что всегда могут проявиться отдаленные связи процессов, которые могут
существенно повлиять на текущие работы по обеспечению безопасности системы
и ПС.
Роль негативных воздействий и их разрушительные последствия быстро возрастают
в связи с ростом сложности разработки и применения современных систем на
базе ЭВМ и ответственности решаемых ими задач. Одновременно возрастает сложность
внешней и операционной среды, в которой функционируют ПС и ответственность
систем, связанных с безопасностью. Объективное повышение сложности функций,
реализуемых программами в современных системах, непосредственно приводит
к увеличению их объема и трудоемкости создания. Соответственно росту сложности
программ возрастает относительное и абсолютное количество выявляемых
и остающихся в них дефектов и ошибок , что отражается на снижении
потенциальной безопасности их функционирования. По мере увеличения сложности
задач, решаемых программами, возрастает влияние ошибок, которые могут угрожать
авариями и катастрофами в системах, выполняющих критические функции управления
крупными, дорогими и особенно важными объектами или процессами.
Упорядоченное, регламентированное проектирование архитектуры,
разработка и сопровождение сложных ПС на базе современных технологий позволяет
предупреждать и устранять наиболее опасные системные, алгоритмические и программные
дефекты и ошибки на ранних стадиях жизненного цикла, а также использовать
неоднократно проверенные в других проектах безопасные программные и информационные
компоненты. Для обеспечения безопасности критических систем необходимы эффективные
методы и средства, предупреждающие и выявляющие дефекты, а также удостоверяющие
безопасность использования программ и баз данных, оперативно защищающие их
корректное функционирование при проявлении любых дефектов и отказовых ситуаций.
Работоспособность ПС может быть обеспечена при исходных данных, которые
использовались при их разработке, отладке и испытаниях. Реальные исходные
данные могут иметь значения, отличающиеся от предусмотренных техническим
заданием и от используемых при эксплуатации программ и баз данных. При таких
исходных данных функционирование ПС трудно предсказать заранее, и весьма
вероятны различные аномалии, завершающиеся отказами, которые отражаются на
безопасности. Следует учитывать принципиальные трудности аналитического оценивания
и прогнозирования значений функциональной безопасности программных средств,
вследствие непредсказуемости положения, проявления и последствий дефектов
и ошибок в программах и данных. Это приводит к практической невозможности
достоверных априорных аналитических расчетов функциональной безопасности
комплексов программ при ее высоких значениях.
Проблема достижения требуемой функциональной безопасности систем,
содержащих программные средства реального времени, решается путем использования современных
регламентированных технологических процессов и инструментальных
средств обеспечения их жизненного цикла [7], [10], [14].
Они должны быть поддержаны группой международных стандартов, определяющих
состав и процессы выполнения требований к заданной функциональной безопасности
систем и ПС. Структура, последовательность и содержание технологических процессов
ЖЦ в этих стандартах несколько различаются, однако номенклатура базовых компонентов
практически совпадает, что позволяет их выбирать и применять с учетом особенностей
обеспечения безопасности конкретных проектов ПС.
Для систематической, координированной борьбы с угрозами безопасности ПС необходимы
исследования факторов, влияющих на функциональную безопасность со стороны
случайных дефектов и ошибок , существующих и потенциально возможных
в конкретных системах и комплексах программ. Это позволит целенаправленно
разрабатывать методы и средства обеспечения функциональной безопасности
критических ПС различного назначения при реально достижимом снижении уровня
дефектов проектирования и разработки. Проблема в значительной степени решается
посредством применения современных методов, инструментальных средств и
стандартов, поддерживающих системный анализ, технологию проектирования,
разработки и сопровождения систем, их программных средств и баз данных.
Для создания безопасных систем и ПС, прежде всего, следует формализовать
их назначение, функции и основные характеристики. На этой основе должны разрабатываться
общие требования к функциональной безопасности и другим характеристикам качества
ПС, к обработанной информации для потребителей, адекватной назначениям и
функциям систем. Требования к функциям систем и ПС, а также к безопасности
их функционирования должны соответствовать доступным ресурсам для их реализации
с учетом допустимого ущерба — рисков вследствие отказов при неполном выполнении
требований. Ограниченности ресурсов различных видов для
обеспечения функциональной безопасности значительно влияют на технико-экономические
показатели, качество и функциональную безопасность всей системы и ПС. В результате
сложность программ и баз данных, а также доступные ресурсы для их реализации
становятся косвенными критериями или факторами, влияющими на выбор методов
разработки, на достигаемое качество и безопасность ПС.
Для обеспечения безопасности ПС и результирующей информации для потребителей,
необходимо освоение и применение современных методов, автоматизированных
технологий и инструментальных средств, обеспечивающих предотвращение
или исключение большинства видов дефектов и ошибок при создании
и модификации ПС и их компонентов, обеспечивающих безопасность. Все этапы
разработки и сопровождения ПС следует поддерживать методами и средствами
верификации и систематического, автоматизированного тестирования модулей
и компонентов программ. Тестирование является основным методом устранения
дефектов, измерения и определения реальных характеристик программ на любых
этапах их жизненного цикла. Наличие достаточно полных эталонов на основе
совокупности требований спецификаций и поэтапная их декомпозиция — необходимая
база тестирования и измерения реальной безопасности и качества комплексов
программ. Ограниченность ресурсов при создании ПС приводит к целесообразности
тщательного планирования, упорядочения и применения экономичных и эффективных
методов автоматизации поэтапных испытаний в ЖЦ ПС с целью достижения требуемой
функциональной безопасности и достоверного ее определения.
Разработку систем и ПС должны завершать комплексные испытания и
удостоверение достигнутой функциональной безопасности и надежности
систем с программными средствами, предусматривающие возможность совершенствования
их характеристик путем соответствующих корректировок программ. Повышение
функциональной безопасности целесообразно путем реализации процедур анализа
выявленных дефектов и оперативного восстановления вычислительного
процесса, программ и данных (рестарта) после обнаружения аномалий
и отказов функционирования ПС. Этому может способствовать накопление, мониторинг
и хранение данных о выявленных дефектах, сбоях и отказах в процессе исполнения
программ и обработки данных.
содержание назад вперед