Научная статья на тему 'Техническое регулирование и технологическая безопасность программного обеспечения высокоинтеллектуальной продукции'

Техническое регулирование и технологическая безопасность программного обеспечения высокоинтеллектуальной продукции Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
455
123
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Техническое регулирование и технологическая безопасность программного обеспечения высокоинтеллектуальной продукции»

УДК 681.324

Пальчун Б.П.

г.Юбилейный Московской обл., 4 ЦНИИ, [email protected]

Техническое регулирование и технологическая безопасность программного обеспечения высокоинтеллектуальной продукции

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

1) несовершенство технологии программирования (языков программирования, методов вычислительной математики и т.п.);

2) ошибочные действия программистов, имеющие случайный (непреднамеренный) характер;

3) целенаправленные (преднамеренные) действия программистов, приводящих к нелегитимному искажению ПО (как правило, внедрению закамуфлированных программных закладок диверсионного типа).

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

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

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

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

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

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

За рубежом проблема обеспечения технологической безопасности ПО, используемого в системах военного назначения, системах управления ядерными реакторами, экологически опасными производствами, финансовыми ресурсами и в других системах критических приложений, решается уже давно, в том числе на государственном уровне: в США - в рамках программы «STARS», во Франции - «LTR-З», в Великобритании - «ALVAY», в ЕЭС - «ESPRIT».

Особенно большое внимание этой проблеме уделяется в США. Так, по заключению экспертов Пентагона «опасность, значительно большую, нежели хакеры, представляют свои же служащие, которые могут с преступными намерениями изменить коды в ПО как мощных компьютерных систем, так небольших специализированных компьютерных устройств, установленных на боеголовках ракет даже на артиллерийских снарядах». Аналогичная озабоченность существует и в американских промышленных корпорациях, имеющих отношение к созданию и применению ПО критических систем, в первую очередь, военного назначения. Кроме того, в США законодательно запрещено применение иностранных вычислительных средств и информационных технологий при разработке программных продуктов, используемых в интересах министерства обороны.

Поэтому в США для координации всей деятельности по обеспечению технологической безопасности ПО созданы Национальный центр компьютерной безопасности и структуры, объединяющие службы закупок вооружения и Центры систем видов войск, осуществляющие программы обеспечения безопасности информационных технологий, использующихся в интересах Министерства обороны.

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

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

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

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

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

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

В последнее время значительно повысилась уязвимость накапливаемой, хранимой и обрабатываемой в вычислительных системах (ВС) информации. Вопросам безопасности информации и

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

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

Практика показывает, что из-за отказов программного обеспечения “критических” систем уже имели место предаварийные ситуации на транспорте, а также целый ряд случаев потери контроля в управлении экологически опасными производствами.

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

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

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

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

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

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

Экспертный анализ вероятных последствий применения “программных закладок” показал, что одним из них может блокирование возможности применения системы оружия определенного класса или информационной системы военного назначения. Это означает, что обладая мощным оружием для сдерживания потенциального агрессора, можно фактически оказаться безоружным. Яркой иллюстрацией такой ситуации стал недавний военный конфликт в Персидском заливе, когда при осуществлении объединенными силами операции “Буря в пустыне”, система ПВО Ирака оказалась заблокированной. В результате этого иракская сторона приняла безответные бомбовые удары. Это стало возможным благодаря тому, что ЭВМ, входящие в состав комплекса технических средств системы ПВО, закупленные Ираком у Франции, содержали специальные управляющие “электронные закладки”, блокирующие работу вычислительной системы.

В докладе Министра обороны США (май 1991 г.) комитету по делам вооруженных сил Конгресса говорится, что “...тонкости основных систем Минобороны США, в том числе систем оружия, информационных систем, обычно закладываются в программное обеспечение, которое фактически стало определять в целом возможности систем оружия”.

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

C целью увеличения объема производства, повышения качества программного обеспечения, в США с середины 1983 г. начато выполнение программы STARS. В результате ее выполнения Пентагоном создана объединенная автоматизированная Среда программирования, охватывающая весь жизненный цикл программного обеспечения (с момента начала проектирования до окончания его использования). Базой для этой программы послужила целевая программа по созданию универсального языка программирования ADA. Благодаря его использованию стало возможным создавать совместимые средства разработки и сопровождения программного обеспечения, контролировать его надежность и безопасность.

Министр обороны США в мае 1991 г. заявил, что “... к 1994 году МО США продемонстрирует системное программное обеспечение для высокоживучих распределенных и параллельных вычислительных систем. Технология программного обеспечения с высокой гарантией надежности необходима при проектировании систем, критичных для безопасности личного состава, в том числе большинства систем оружия, а также защищенных систем, в которых должны гарантироваться конфиденциальность и целесообразность информации”. Контроль надежности и безопасности программного обеспечения военного назначения осуществляется сетью независимых испытательных центров.

В процессе разработки языка ADA США пытались распространить его среди своих сторонников по НАТО. Однако, несмотря на значительную в таком случае экономию средств, Франция в 1986 г. по инициативе НИИ боевых радиотехнических средств (CELAR) приступила к разработке собственного языка программирования для вооруженных сил, получившего условное наименование LTR-3. Следует отметить, что LTR-3 используется и при создании программного обеспечения крупных гражданских систем, работающих в реальном времени (управление средствами связи, атомными электростанциями, нефтеперерабатывающими заводами, системами управления воздушным движением и т. д.).

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

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

технологий или специализирующихся на автоматической обработке данных, подписанный заместителем министра обороны США Д. Этвудом 2.12.92 г. Основным органом, которому поручена практическая реализация этого плана, выбрано Управление информационных систем Министерства обороны - DISA (Defense Information System Agency). Это управление призвано создать разветвленную информационную структуру - D11 (Defense Information Infrastrukture), предназначенную для координации деятельности учреждений и ведомств Пентагона, которые занимаются разработкой программного обеспечения и информационных технологий, а также закупками электронно-вычислительной техники. По оценке директора DISA генерал-лейтенанта А. Шорта, сочетание централизованного управления разработками и внедрением информационных технологий с разветвленной системой связи превратит этот орган в своего рода системный интегратор. Более того, он считает, что благодаря реорганизации DISA станет своеобразным органом системой обработки информации в масштабе вооруженных сил.

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

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

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

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

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

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

коммутационной системе).

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

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

Управление всеми элементами критической системы осуществляется программным обеспечением. Программное обеспечение разбивается на функциональное и системное. Функциональное ПО реализует решение системой возложенных на нее задач. Системное ПО осуществляет управление ресурсами вычислительной Среды и обеспечивает к ним доступ со стороны функциональных программ.

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

Таким образом, можно утверждать, что на технологическую безопасность ПО критических систем непосредственно влияют три фактора:

программное обеспечение, соответствующее требованиям, предъявленным к программному

продукту;

вычислительная техника, на которой функционирует ПО;

система защиты от действий злоумышленников, которые могут разрушить, заменить или модифицировать ПО.

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

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

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

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

безопасности ИПИ - технологий в сфере производства продукции гражданского назначения.

В соответствии с положениями проекта Федерального Закона «Об основах технического регулирования в Российской Федерации» таким документом должен стать специальный технический регламент «Об обеспечении защиты жизни, здоровья физических лиц, охраны окружающей среды и защиты имущества физических или юридических лиц, государственного или муниципального имущества при использовании в процессе жизненного цикла изделий ИПИ-технологий».

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

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

i Надоели баннеры? Вы всегда можете отключить рекламу.