"", 6, 2008 .

УДК 681.519.3

CИСТЕМНЫЙ ПОДХОД К БЕЗОПАСНОСТИ ТЕХНОЛОГИИ ВЕРИФИЦИРОВАННОГО АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ ПРОГРАММ (ВАПП)
                      
Г.Н. Чижухин, Ю.Г. Бочкарева, В.К. Клянчин

               Пензенский филиал ФГУП НТЦ "Атлас", 440601, г. Пенза, ул. Советская 9,   т.(841-2)563039,
               E-mail: atlas@sura.ru
               Пензенский государственный университет

G.N. Chizhuhin, YU.G. Bochkareva, V. K. Kljanchin, 
Penzenskiy branch FGUP NTC "Atlas", 440601,
 Penzenskiy state university,

                         SISTEM APPROACH TO SAFETY OF TECHNOLOGIES VERIFY
                                      AUTOMATIC  DESIGNED PROGRAMS (VADP)

The рurpose of the functioning is a discussion three main strategies safety such complex programme systems, which is befitted system to technologies verify automatic designed programs (VADP).  It in the aggregate presents system analysis to this VADP technologies.

 

        В работе излагается подход к безопасности программного обеспечения (ПО) на основе введения понятий стратегий безопасности, причем он рассматривается на примере сложной программной системы, которая обеспечивает технологию верифицированного автоматизированного проектирования программ (ВАПП), (см. журнал «Интеграл»  №1, 2001 г). Подобный подход, как будет показано ниже, и представляет собой  системный анализ безопасности технологии ВАПП.
Согласно стандарту Международной электротехнической комиссии (МЭК 61508) «Функциональная безопасность электрических /электронных/ программируемых электронных систем, связанных с безопасностью», функциональная безопасность любых изделий, должна определяться двумя требованиями: во-первых, к тем функциям безопасности, которые должны выполняться, и, во-вторых, к полноте безопасности этих функций безопасности.
       Безопасность ПО (программной системы), в первую очередь, определяется отказами аппаратных средств (АС), на которых оно функционирует – это, согласно стандарту МЭК, есть функциональная безопасность ПО.  Здесь, как и в теории надежности, необходимо рассматривать категории отказов  как случайные  отказы АС в опасном режиме из-за действия механизмов деградации и систематические отказы АС при обслуживании, модификации, а также любые неслучайные отказы. Во  вторую очередь, безопасность ПО определяется информационной безопасностью, определение которой отсутствует в стандарте – этосистематические  отказы ПО в опасном режиме из-за ошибок в ТЗ или предумышленных негативных воздействий на информационные ресурсы ПО.
     Функции безопасности ПО, должны идентифицироваться соответствующими для него угрозами, а полнота безопасности функций безопасности  определяться  соответствующими рисками. При этом уровень такой полноты  безопасности определяет меры,  которые необходимо принять против систематических и случайных отказов АС уже при  проектировании ПО и научиться прогнозировать нападения на ресурсы системы. Жизненный цикл безопасности  определяется этапами создания ПО: разработкой спецификации, проектированием и реализацией, установкой и вводом в эксплуатацию,  работой и обслуживанием,  а также изменениями после ввода в эксплуатацию.                            
       Программное обеспечение (software) сегодня является необходимым и обязательным дополнением к техническим средствам (hardware), которые давно имеют и совершенствуют уже несколько десятилетий системы автоматизации их проектирования (САПР). Системы же автоматизации программирования (проектирования software) по-прежнему находятся в зачаточной стадии, хотя их создание не только ускорило бы процессы программирования, но и обеспечило большую безопасность software.
        Для ВАПП предложена технология [1,2], основанная на использовании тензорной алгебраической системы (ТАС) [3] и Венского метода проектирования программ (VDM) [4]. Начало ее реализации рассмотрено в работах, направленных: 1) на создание специального глоссария [5], как конгломерата ТАС и VDM; 2) на доказательство с использованием ТАС правильности перехода (верификации) с одного уровня представления программы на другой [6]; 3) на создание тензорной спецификации программы и  методику автоматического преобразования в программу на языке высокого уровня [7].        Положено начало и системному подходу к анализу безопасности технологии ВАПП, который состоит из следующих составных частей [8]: 1) системного анализа безопасности технологии программирования; 2) системного анализа безопасности верификации программирования; 3) системного анализа безопасности автоматизации программирования; 4) комплексного системного анализа безопасности всей технологии ВАПП.
       Общая постановка системного анализа информационной безопасности технологии  программных систем должна базироваться насистемном анализе любой АСОИ (автоматизированная система обработки информации) как объекта информатизации  [9].
       Для подобного анализа [10] необходимо представить, что АСОИ должна содержать в себе некоторую подсистему информационной безопасности (ПИБ), состоящую из компонентов, каждый из которых есть множество относительно однородных элементов, объединенных некоторыми функциями для обеспечения выполнения общих целей ее функционирования. Причем ПИБ не сводится к сумме компонентов, хотя в случае объединения их в подсистему они выступают и, соответственно, воспринимаются как единое целое. Для ПИБ  АСОИ, имеют место следующие компоненты (рис.1):

                                            Подсистема  Информационной Безопасности
                                                   ( с точки зрения системного анализа)                                        

                                                            к о м п о н е н т ы

                                    Стратегии           Стратегии             Стратегии
                                    (методы)                   (способы)          (механизмы)
                                     предсказания           защиты                принятия
                                       нападения                                               решений
 



                                             Элементы ПИБ       Элементы ПИБ          Элементы ПИБ

                                                                Ф у н к ц и о н а л ь н а я      с р е д а
                                     (совокупность законов, алгоритмов и параметров для
                                     взаимодействия компонентов и функционирования ПИБ)


                                                             С т р у к т у р а       П И Б
                                      (совокупность  связей для обмена между  компонентами
                                                    и  способы  взаимодействия  с внешней средой)

                                                       Рис.1. Состав и особенности ПИБ

       – стратегии (способы) защиты информации,
       – стратегии (методы) прогнозирования нападения на рассматриваемый объект,
       – стратегии (механизмы) принятия решения, основывающиеся на анализе возможных результатов суммарного действия двух предыдущих стратегий и представляющие собой политику безопасности (набор норм, правил и практических приемов,  регулирующих такое управление и распределение ценной информации [11], которое  обеспечивает ее безопасность).
       Элемент ПИБ – это условно неделимая, самостоятельно функционирующая ее часть, которая,  например, для первой компоненты представляет собой одну стратегию защиты. Таких стратегий, как известно [12], может быть несколько.  Из элементов ПИБ состоят все ее компоненты и элементы объединяются общей функциональной средой.
       Функциональная среда – это характерная для ПИБ совокупность законов, алгоритмов и параметров, согласно которым осуществляется взаимодействие (обмен, взаимоотношение) между ее компонентами и функционирование (стабильность или деградация) ПИБ в целом.
        И, наконец, структура ПИБ подразумевает совокупность связей, обеспечивающих этот информационный обмен между компонентами, определяющий функционирование ПИБ в целом, и способы взаимодействия ее с внешней средой.
        Рассмотрим подробней компоненты и элементы ПИБ, из которых они состоят. Например, организация защиты информации в самом общем виде может быть сформулирована как задача поиска оптимального компромисса между потребностями в защите и необходимыми ресурсами для этих целей [13]. Потребности обусловлены важностью и объемами защищаемой информации, условиями ее хранения, обработки и использования. Ресурсы могут быть ограничены заданным пределом либо определяются условием обязательного достижения требуемого уровня защиты. В первом случае защита организуется так, чтобы при выделенных ресурсах обеспечивался максимальный уровень защиты, а во втором – уровень защиты обеспечивает минимальное расходование ресурсов. Видно, что сформулированные случаи есть не что иное, как прямая и обратная постановки оптимизационных задач. Они достаточно детально изучены с помощью методов современной теории систем, информатики и прикладной математики. Однако имеющиеся неопределенные ситуации, а также, прежде всего, в данном случае невозможность получения функциональных зависимостей между объемом затрачиваемых для защиты ресурсов и достигаемым уровнем защиты не позволяют строго решить эти задачи известными методами.
       Поэтому в целях создания условий для ориентации в этих неопределенных ситуациях и вводятся понятия стратегий [12,13]. Под стратегиями (защиты, прогнозирования нападения, принятия решения) понимается cистемный взгляд на сложившуюся ситуацию защиты от нападения, распространяемый и на системный подход к принятию наиболее рационального решения в этой ситуации.  В целом эти стратегии и представляют собой системный анализ рассматриваемой ПИБ, причем количество стратегий должно быть небольшим (для простоты ориентации в самих стратегиях), полно и достаточно адекватно отражающим всю гамму потенциально возможных ситуаций.
       Защищающемуся техническому объекту недостаточно владеть даже всеми четырьмя стратегиями защиты, существующими в природе, он должен еще и уметь прогнозировать развитие событий. Поэтому вводится понятие абсолютной системы защиты [14], в которой как раз и  работает вторая стратегия – стратегия прогнозирования, способная в любой момент спрогнозировать нападение (т.е. наступление угрожающего события), причем  за время, достаточное для приведения в действие любой из адекватных стратегий защиты.
        Любая защищающаяся ПИБ (отдельно взятый человек, государство, банк, программная система и т.п.) должна на основе системного анализа информации о текущих событиях внутри и вне системы определить (идентифицировать) прогнозируемое событие – угрозу и принять решение о стратегии абсолютной защиты на основе имеющейся политики безопасности – третьей стратегии стратегии принятия решений     
       Рассматривая технологию программирования, как ПИБ, необходимо представлять ее как такую технологию, которая не только должна производить заданный продукт – программу, но и обеспечивать безопасность дальнейшего существования этого продукта. Компоненты такой ПИБ можно представить:
    – стратегия прогнозирования нападения на технологию программирования должна состоять из таких элементов ПИБ, которые представляют собой прогноз различного рода воздействия угроз нормальному созданию и функционированию программы, например, прогноз воздействия недокументированных возможностей, различных закладок и вирусов, размещаемых в программе в процессе производства, и прогноз возможных программных нападений на нее из сетей в процессе эксплуатации и т.п.;
   – стратегия защиты, определяемая различными организационными мерами, обеспечивающими нейтрализацию воздействия угроз за счет включения в технологию для написания программы не только обычного алгоритмического аппарата (языка программирования), в том числе и обеспечивающего кодирование программы, но также и более строгого математического, а именно, алгебраического аппарата, дающего возможность осуществлять контроль за правильностью функционирования (контроль целостности) алгоритмического аппарата, как при производстве программы, так и при ее эксплуатации;
    – стратегия принятия решений – политика безопасности, определяющая, в случае принятия отмеченных организационных мер, как правильное применение  алгебраического  аппарата, так и контроль за этим его применением.
       Обеспечение уверенности в том, что созданная программа реализует именно заданный алгоритм, а не какой-то другой, обеспечивает верификация программы. Это особенно важно при создании безопасного ПО, так как такое ПО означает, что в нем реализуются только те функции, которые заявлены в задании на проектировании и не содержится никаких недокументированных возможностей и прочих деструктивных воздействий, не зависимо от того каким образом они в нем  появились. Традиционные способы обеспечения такой уверенности путем тестирования программ не могут полностью решить эти задачи и обеспечить требуемый на сегодня уровень безопасности.
       Поэтому верификация программы есть также компонента ПИБ из трех стратегий:
        – стратегия прогнозирования нападения на верификацию программирования долж-на состоять из таких элементов ПИБ, которые представляют собой прежде всего прогноз воздействия угроз типа правильности проведения верификации, например, ошибок  верификации;
        – стратегия защиты, определяющаяся  различными организационными мерами, обеспечивающими нейтрализацию воздействия угроз за счет включения в процесс верификации строго математического, а именно, алгебраического аппарата, основанного на изоморфизме тензорных алгебраических систем, дающего возможность осуществлять контроль за правильностью функционирования процесса верификации при производстве программы;
       – стратегия принятия решений – политика безопасности, определяющая правильность применения  алгебраического  аппарата, основанного на изоморфизме ТАС.
        При этом стратегию защиты надо определять как такую часть технологии программирования, которая производит безопасную программу, за счет проведения верификации ее в процессе производства.  В результате ее действия будет обеспечиваться невозможность появления таких элементов нападения на ПИБ, которые представляют собой различного рода угрозы нормальной верификации программы, прежде всего, ошибки в ее проведении.
        Таким образом, верификация в технологии ВАПП основана на привлечении аппарата тензорси (тензоров системотехники), объединенных аксиомами в ТАС [3], которая позволяет осуществить алгебраический контроль за корректностью программы (заключающийся в соблюдении на каждом шаге проектирования программы условий выполнения изоморфизма тензорных алгебраических систем). Правильность применения этого аппарата (контроль за верификацией) составляет сущность третьей стратегии, применяемой в данной ПИБ, а именно, политики безопасности, обеспечивающей  со стороны верификации  (как уже стратегии защиты)  параметры и нормы этого контроля.
       Автоматизацию проектирования программ также необходимо рассматривать как еще одну компоненту ПИБ и тоже  как стратегию защиты. При этом под ней надо определить  такую часть технологии программирования, которая также производит безопасную программу, но уже за счет обеспечения не участия человека  в процессе ее производства. В результате действия этой стратегии обеспечивается невозможность размещения в программе при ее производстве элементов нападения на ПИБ, представляющих собой различные угрозы нормальному функционированию программы, определяемые, прежде всего, недокументированными возможностями, закладками  и т.п.
        Автоматизация проектирования программ в технологии ВАПП основана на привлечении алгебраического аппарата тензорси и макропроцессорного подхода, опирающегося на использование уже верифицированных макробиблиотек. Правильность применения этих аппаратов и осуществление контроля за их применением  дополняет политику безопасности для той же самой ПИБ со стороны  автоматизации программирования, как стратегии защиты.
       Комплексность системного анализа безопасности рассматриваемой технологии заключается в объединении всех компонент ПИБ для различных ее частей в единую компоненту. Таким образом, комплексная стратегия прогнозирования нападения на ресурсы ВАПП, как компонента ПИБ,  есть:
   – обеспечение прогнозов для различного рода воздействий угроз нормальному созданию и функционированию программы, как размещаемых в программе в процессе производства, так и прогноз возможных программных нападений на созданную программу из сетей в процессе ее эксплуатации и т.п.;
  – обеспечение прогнозов нападения на ресурсы верификации программирования типа неправильности проведения верификации, т.е. ошибок в ее верификации;
  – обеспечение прогнозов нападения на ресурсы автоматизации программирования, прежде всего, типа ошибок в работе автоматических подсистем.
      Аналогично, комплексная стратегия защиты технологии ВАПП, как компоненты ПИБ, есть:
   – включение в нее для написания программы не только алгоритмического, но также и алгебраического аппаратов;
   – включение в нее такой части технологии программирования, которая производит безопасную программу:
                     – за счет проведения верификации  в процессе производства;
                     – за счет  не участия человека  в процессе ее производства (а именно, за счет  автоматизации  производства  программ).
      Комплексная стратегия принятия решения – политика безопасности, определяет в случае принятия соответствующих оргмер, как правильность применения  алгебраического аппарата,  так и контроль за его применением, как в процессе производства программы, так и при ее эксплуатации.                                                                  
                                                          Список литературы
1. Чижухин Г.Н. Технология верифицированного автоматизированного проектирования программных средств защиты информации.//Известия ТРТУ. Тематический выпуск. Материалы V МНПК «Информационная безопасность». Таганрог: Изд-во ТРТУ, 2003. №4(33), с.78 - 81
2. Чижухин Г.Н. Технология верифицированного автоматизированного проектирования для создания безопасного soft.// Интеграл, 2004, №1(15) – с. 36 – 38.
3. Чижухин Г.Н. Тензорная алгебраическая система. // Труды V МНТК«Новые  информационные технологии и системы", Пенза, Изд-во ПГУ, 2002 – с. 195 - 202.
4. Петренко А.К. Венский метод разработки программ // Программирование – №6 –1991, с. 3 – 23.
5. Фатеев А.Г., Чижухин Г.Н. Глоссарий основных обозначений языка СПЕЦТАС. Части 1,2 // Труды НТК "Безопасность информационных технологий", ПНИЭИ, Пенза, 2002, с. 43 – 48.
6. Фатеев А.Г., Чижухин Г.Н. Методика пошаговой детализации спецификации программы с одновременной ее верификацией // Труды НТК "Безопасность информационных технологий", ПНИЭИ, Пенза, 2002, с. 40.
7. Фатеев А.Г., Чижухин Г.Н. Математические модели спецификаций программ на основе тензорного языка системотехники // Труды НТК"Безопасность информационных технологий", ПНИЭИ, Пенза, 2002, с. 49.
8. Бочкарева Ю.Г., Клянчин В.К., Чижухин Г.Н. Системный подход к безопасности технологии верифицированного автоматизированного проектирования программ. // Труды XXXII МНТК IT+S&E’05 (майская сессия), Украина, Крым, Ялта-Гурзуф, 2005,– с. 151 - 154.
9.  Бочкарева Ю.Г., Смогунов В.В., Фунтиков В.А., Чижухин Г.Н.  Подход к системному анализу информационной безопасности.// Успехи современного естествознания. – № 10, 2004, с. 66 – 67.
10. Хомяков Д.М, Хомяков П.М.. Основы системного анализа. – М.: Изд-во механико-математического факультета МГУ им. М.В.Ломоносова, 1996, 108 с.
11. Грушо А.А., Тимонина Е.Е. Теоретические основы защиты информации.– М.: «Яхтсмен», 1996, 192 с.
12. Чижухин Г.Н. Основы защиты информации в ВС и сетях: Учеб. пособие.–.Пенза: Изд-во ПГУ, 2001, 164 с.
13. Герасименко В.А., Малюк А.А. Основы защиты информации: Учебник для вузов – М.: Изд-во ООО «Инкомбук», 1977, 537 с.
14. Расторгуев С.П.. Абсолютная система защиты.// Системы безопасности связи и телекоммуникаций–№3, 1996, с. 86 - 89.

 

"", 6, 2008 .