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

 

Изобретение относится к области вычислительной техники, автоматизированных и информационных систем, а также средств защиты от несанкционированного доступа. Техническим результатом является обеспечение комплексной защиты процесса обработки информации в ЭВМ от несанкционированного доступа (НСД), включая использование побочного электромагнитного излучения (ПЭМИ), программных закладок (ПЗ) и компьютерных вирусов (КВ). С этой целью в процессе обработки исходную программу автоматически преобразуют и представляют в виде стохастического набора независимых кодов сигналов команд и данных, которые затем подвергают стохастическому преобразованию и кодированию. После этого программу автоматически генерируют в виде стохастических последовательностей кодов сигналов команд и данных, описывающих отдельно все траектории алгоритма программы. 8 з.п.ф-лы, 4 ил.

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

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

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

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

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

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

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

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

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

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

Аналогом предлагаемого изобретения является способ синтеза систем обработки данных на основе стохастического преобразования и кодирования символьной информации, описанный в монографии автора предлагаемого изобретения: "Развитие теории построения открытых систем на основе информационной технологии искусственного интеллекта" М.: Воениздат, 1994, 248 с.

Прототипом предлагаемого изобретения является способ синтеза систем обработки информации с защитой от воздействия программных закладок и компьютерных вирусов, описанный в работе автора: "Синтез систем обработки информации от программных закладок и вирусов" М.: (ВТИ), 1997, 28 с.

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

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

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

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

К типовым средствам защиты можно отнести средства электромагнитного экранирования устройств и помещений, в которых расположены компьютерные системы, средства активной радиотехнической маскировки компьютерных систем, средства доработки устройств вычислительной техники для минимизации излучений. Наиболее приемлемыми по критерию эффективность/стоимость являются средства активной радиотехнической маскировки компьютерных систем. Для этого могут применяться малогабаритные сверхширокополосные передатчики шумовых колебаний типа ГШ-1000 или ГШ-К-1000 (см. Иванов В.П. Защита от электронного шпионажа. "Сети и системы связи", N 3, 1996, с. 110, 111).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Перечень чертежей и иных материалов.

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

Фиг. 2. Блок-схема алгоритма программы.

Фиг. 3. Процесс преобразования программы в ИЛЗВС: Фиг. 3.1. Протокол реализации программы в виде набора правил продукций.

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

Фиг. 4. Процесс генерации программы в ИЛЗВС: Фиг. 4.1. Фрагмент правил продукций в графическом представлении.

Фиг. 4.2. Управляющая сетевая структура.

Фиг. 4.3. Алгоритм программы в виде дерева логического вывода.

Фиг. 4.4. Составные продукции программы, содержащие коды сигналов команд и данных.

Для осуществления предложенного способа используется информационно-логическая защищенная вычислительная система (ИЛЗВС).

Разработанная ИЛЗВС содержит блок преобразования программ (БПП), подсистему логического вывода (ПЛВ), базу данных и знаний (БДЗ), блок стохастического преобразования и защиты кодов команд и данных (БСПЗК), а также блок контроля и коррекции программы (БКК) и интерфейс с ЭВМ. Она может быть реализована программно-аппаратно в виде устройства, подключаемого к типовой ЭВМ и взаимодействующего с операционной системой ЭВМ, устройством ввода-вывода (УВВ) информации или дисплеем. При этом БДЗ размещена на внешнем запоминающем устройстве (ВЗУ) ЭВМ. Для зашиты от НСД с использованием ПЭМИ устройство и каналы ввода-вывода информации, а также БСПЗК защищают от генерации ПЭМИ, применяя типовые средства защиты. При этом другие блоки ИЛЗВС и средства ЭВМ защите от ПЭМИ не подлежат. Структурная схема ИЛЗВС приведена на фиг. 1.

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

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

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

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

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

При этом в ИЛЗВС, как было отмечено выше, с использованием логического вывода на основе формализованного описания протоколов обеспечивается возможность автоматического синтеза программ непосредственно перед их выполнением.

Рассмотрим более подробно предложенную технологию реализации логического вывода на множестве правил продукций.

В общем виде под продукцией понимается выражение следующего вида: Il(PP), Pl, A ---> B, Ps. (1) Основным элементом продукции, имеющей имя (индекс) Il(PP), является ее ядро A ---> B, которое описывается программой из одного оператора "Если A, то B". Секвенция ---> может истолковываться в обычном логическом смысле как знак логического следования B из истинного A (если A не является истинным выражением, то о B ничего сказать нельзя). Элемент Pl есть условие применимости ядра продукции, представляющего собой логическое выражение (как правило, совокупность предикатов Pli, объединенных логическими связками ). Предикат Pli включает логические выражения, образованные из имен атрибутов Ki(A) и их значений Ki(a). Если Pl принимает значение "истина", то ядро продукции активизируется. Элемент Ps (также предикат) описывает постусловия продукции и активизируется только в том случае, если ядро продукции реализовалось. Постусловия продукции описывают действия и содержат коды Ki процедур (команд), которые необходимо выполнить в случае истинности B. Таким образом, предикат заключения принимает значение "истина", если "истинны" все предикаты условия правила продукции. В этом случае происходит активизация соответствующей процедуры (команды).

Множество правил продукций каждой программы содержится в БДЗ, находящейся на внешнем запоминающем устройстве (ВЗУ).

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

Для примера на фиг. 2 приведена блок-схема алгоритма программы, написанной на одном из алгоритмических языков. Процесс преобразования программы представлен на фиг. 3. Сформированный в ходе преобразования протокол реализации программы в виде набора правил продукций приведен на фиг. 3.1.

Перед реализацией логического вывода производится стохастическое преобразование кодов команд протокола программы Ki и данных Ki(A), Ki(a) в БСПЗК по ключам K1,K2, выданным пользователю администратором системы защиты после его идентификации и проверки истинности пользователя. Функции идентификации и аутентификации пользователя проводятся по ключам K1,K2, выданным пользователю либо при первоначальной загрузке протокола программы для стохастического преобразования кодов команд и данных, либо после очередного цикла запуска и обработки информации данной программой. Таким образом, значения ключей K1,K2 обновляются администратором системы защиты и повторно выдаются пользователю после каждого очередного цикла запуска программы.

В результате в БСПЗК будут получены стохастические коды данных K(Ai),K(ai) и команд программу Ki где C1,C2 - процедуры стохастического преобразования кодов данных и команд по ключам K1,K2. При выполнении стохастического преобразования кодов элементов данных и команд сначала производится стохастическое преобразование каждого символа Uj длиной l бит. С этой целью используются стохастические отрезки Cj длиной l бит каждый. Результат стохастического преобразования Ui формируется как произведение двух многочленов степени (l-1) с коэффициентами, соответствующими нулям и единицам последовательностей сигналов Uj и Cj взятых по модулю некоторого неприводимого многочлена P(x) степени l Uj= UjCj, (3)
где o - операция умножения многочленов по модулю P(x).

Для генерации Cj применяется процедура умножения каждой предыдущей последовательности сигналов Cj-1, начиная с последовательности, заданной соответствующим ключом K1 или K2, на последовательность 00...010 по модулю неприводимого многочлена P(x). Это обеспечит получение (2l-1) различных стохастических последовательностей длиной l бит. Затем осуществляют внутриблочное перемешивание элементов Uj в пределах комбинации сигналов Ki. В результате будет получено стохастическое значение кодов сигналов каждой команды Ki или элементов данных K(Ai),K(ai). При этом, используя ключи K1,K2, можно произвести обратное стохастическое преобразование и получить по значениям Ki,K(Ai),K(ai) исходные значения кодов Ki, Ki(A), Ki(a).

Для обратного стохастического преобразования используется обратная таблица внутриблочного перемешивания элементов Ui внутри комбинации сигналов Ki,K(Ai) или K(ai). Затем производится обратное стохастическое преобразование каждого элемента Uj путем умножения его на многочлен C-1j, мультипликативно обратный к многочлену Ci, т.е. такой, что CjC-1j = 1. В результате будет получено значение каждого символа Uj
Uj= UjC-1j (4)
и, соответственно, значения исходных кодов сигналов команд Ki или элементов данных Ki(A), Ki(a).

Полученные стохастические значения кодов команд и данных применяются для формирования стохастических индексов предикатов Pli, Ps с использованием личного ключа пользователя K и представления их в виде стохастических комбинаций Ili,Is длиной L >> lбит каждая

Отметим, что одновременно с выдачей пользователю очередных новых значений ключей K1,K2 администратор системы защиты производит стохастическое преобразование по ключу K2. кодов элементов данных файлов БДЗ на ВЗУ, к которым обращается данная программа с использованием операционной системы ЭВМ при ее реализации, а по ключу K1 преобразуются коды команд программы Ki в таблице их связи с кодами машинных команд ИЛЗВС, находящейся в ПЛВ.

По стохастическим индексам I(ps) производится доступ соответствующим кодам команд программы Ki, а по стохастическим индексам I(p)li осуществляется доступ к логическим выражениям соответствующих предикатов, записанным в БДЗ. Логическое выражение каждого предиката I(p)li содержит атомарные формулы вида (K(Ai)K(ai)), связывающие коды атрибутов и их значений арифметическим оператором сравнения (=, , ).

Эти формулы объединяются логическими связками при этом области значений переменных могут определяться кванторами общности и существования . Логические выражения используются при определении истинности предикатов Pli путем сравнения их в ПЛВ с образцом, представленным значениями соответствующих кодов и атрибутов записей БДЗ, доступ к которым производится по стохастическим индексам I(p)li.
Обработка логических выражений посредством сравнения кодов значений атрибутов и их значений с соответствующими значениями кодов записей БДЗ производится в ПЛВ в стохастически преобразованном виде, что обеспечивает их защиту от несанкционированного доступа. При обработке оператора , содержащего неравенства, или при необходимости выполнить в ЭВМ, к которой подключена ИЛЗВС, арифметические вычисления стохастические значения K(ai) посредством выполнения обратного стохастического преобразования в БСПЗК будут представлены в исходных кодах ЭВМ. При этом для обеспечения защиты числовой информации в указанных видах обработки их значения в исходных кодах ЭВМ предварительно по ключу администратора системы защиты K2 подвергаются дополнительному арифметическому стохастическому преобразованию путем умножения (деления) на некоторое переменное случайное число Ks. При необходимости выдать результаты пользователю их истинное значение восстанавливается путем обратного арифметического преобразования с использованием соответствующих процедур деления (умножения) на это же число Ks. После завершения обработки логических выражений предикатов производится восстановление стохастических кодов K(ai) значений атрибутов.

В результате выполненных стохастических преобразований кодов сигналов команд программы, данных и формирования индексов предикатов каждое правило продукций протокола программы будет иметь вид
I(p)l1I(p)l2...I(p)ln _ I(ps). (6)
На фиг. 3.2 представлены правила продукции протокола реализации программы после стохастического преобразования кодов сигналов команд и данных. Полученному правилу автоматически присваивается стохастический индекс
I(plp)= Co(I(p)l1,I(p)l2,...,I(p)ln,I(ps)), (7)
который применяется для идентификации правила при его обработке. Отметим, что в силу свойств стохастического преобразования при формировании стохастических индексов предикатов и правил продукций обеспечивается требуемая гарантированная вероятность коллизий Pk. Значение Pk определяется длиной комбинации L, количеством n индексируемых элементов и не превышает заданной вероятности ошибки Pош информации в системе
Pk n22-L < Pош (8)
Это обеспечивает уникальность сформированных индексов и возможность их использования для защиты и произвольного доступа к информации в процессе логического вывода и обработки предикатов.

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

Для решения этой проблемы в ИЛЗВС автоматически формируется управляющая сетевая структура. Она содержит наборы списков правил, имеющих идентичные индексы предикатов в условии или заключении. Такие списки автоматически составляются для каждого из предикатов правила путем включения в список с именем I(p)li индекса правила I(pjp), в который входит данный предикат I(p)li. При этом по индексу I(p)li в управляющей структуре будет обеспечен произвольный доступ к соответствующему списку. В общем случае каждый список может содержать один или несколько различных индексов правил. Очевидно, что индексы правил I(pjp),I(plp),I(psp), имеющих среди прочих идентичный предикат I(p)li в условии или заключении, будут включены в один и тот же список и объединенные логическими связками определяют альтернативные направления логического вывода

Полученное множество списков {I(p)li} разделяется на два подмножества, одно из которых составлено для предикатов условий, другое - для предикатов заключений правил. Оба этих подмножества списков применяются для синтеза программы путем реализации оперативного режима логического вывода с отложенной обработкой предикатов правил, требующих обращения к базе данных и знаний.

В процессе оперативного логического вывода с использованием управляющей сетевой структуры по индексу I(p)li предиката заключения (условия) каждого очередного (начиная с первого) правила производят доступ к правилам, содержащим этот предикат в условии (заключении) следующих правил. В результате будет реализована прямая (обратная) последовательность выбора логически связанных идентичными предикатами правил продукций и обеспечен синтез алгоритма программы в виде дерева логического вывода. При этом алгоритм будет представлен в виде цепочек предикатов и процедур, объединенных логическими связками
Затем полученная древовидная структура разделяется на несколько составных продукций (цепочек правил, объединенных логическими связками ), каждая из которых обеспечивает независимое определение истинности целевого предиката I(ps) соответствующей траектории алгоритма
I(pjp)I(plp)...I(psp)_ I(ps). (10)
Каждой полученной составной продукции присваивается уникальный стохастический индекс I(pis)
I(pis)= Co(I(plp),I(psp),...,I(psp),I(ps)). (11)
В результате программа I(prg) будет представлена в виде совокупности составных продукций, описывающих все m возможные траектории обработки информации и позволяющих определить истинность всех целевых предикатов

При этом стохастические индексы I(pis) применяются для контроля и управления выбором составных продукций при выполнении программы.

Описанный выше процесс генерации программы представлен на фиг. 4. На этом чертеже показан фрагмент правил продукций протокола программы в графическом представлении (фиг. 4.1), управляющая сетевая структура (фиг. 4.2), алгоритм программы в виде дерева логического вывода (фиг. 4.3) и составные продукции программы, содержащие коды сигналов команд и данных (фиг. 4.4).

Выполнение программы в ИЛЗВС производится посредством последовательной обработки предикатов и реализации кодов сигналов команд поочередно выбираемых составных продукций. При этом стохастические индексы предикатов применяются для произвольного доступа к стохастическим кодам команд программы, логическим выражениям предикатов и реляционным отношениям БДЗ с целью реализации программы и обработки стохастических кодов атрибутов и их значений. В процессе выполнения программы стохастические коды команд программы Ki применяются для санкционированного доступа к соответствующим кодам машинных команд K(ui) ИЛЗВС, записанных для каждой программы в виде таблицы и стохастически изменяемых по ключу K3 администратора защиты перед каждым циклом обработки информации.

Как было отмечено выше, изменение кодов команд программы и данных производится по ключам K1,K2 перед каждым циклом обработки информации. Поэтому контроль санкционированного доступа к таблице связи кодов команд программы с кодами машинных команд ИЛЗВС проводится по стохастическим проверочным суммам I(si), полученным с использованием каждого предыдущего и вновь преобразованного Ki значения кодов команд программы

Каждое значение проверочной суммы I(si) записывается в соответствующую строку таблицы связи кодов команд программы с кодами машинных команд ИЛЗВС. При обращении к этой таблице по очередному значению Ki кода команды программы соответствующая проверочная сумма формируется повторно и сравнивается с записанной в таблице суммой I(si). При совпадении сравниваемых значений происходит разрешенный доступ к соответствующему коду K(ui) машинной команды ИЛЗВС. В противоположном случае фиксируется попытка несанкционированного доступа к процессу обработки информации. Таким образом, при несовпадении хотя бы одного из сравниваемых значений {I(si)}, соответствующих множеству команд {Ki}, происходит гарантированное предотвращение несанкционированного доступа. Следовательно, множества стохастически преобразованных команд программы играют роль дополнительных ключей для защиты процесса обработки информации от несанкционированного доступа или воздействия активизированных программных закладок или компьютерных вирусов.

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

В силу свойств стохастического преобразования ввод в программу ложных кодов элементов данных или команд, а также их искажение, вызванные активизацией ПЗ или KB, воспринимается при контроле как ошибка. Вектор ошибки будет равновероятно распределен по всей длине комбинации стохастического индекса. За счет этого в ходе контроля программы обеспечивается гарантированное значение вероятности необнаруженной ошибки Pош при вводе ложных команд, данных или их искажении, которое независимо от вида искажения информации определяется параметрами выбранного преобразования и числом n контролируемых элементов данных
Pош n2-L (14)
В случае обнаружения искажения программы ее коррекцию производят с помощью проверочных комбинаций стохастического помехоустойчивого кода. Эти комбинации, предварительно сформированные для каждой составной продукции, обеспечивают при декодировании гарантированное восстановление заданного числа команд, подлежащих реализации до следующей процедуры контроля. Значение вероятности ошибки Pош независимо от вида искажения команд программы в результате информационного воздействия определяется параметрами кода и будет не выше значения (14).

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

Как было отмечено выше, для защиты содержания программы производят стохастическое изменение кодов команд и элементов данных перед каждым циклом выполнения программы. С этой целью по ключам K1,K2 в БСПЗК осуществляется стохастический выбор элементов данных и команд K(Ai),K(ai),K, используемых при выполнении программы, и повторное формирование их новых стохастических кодов. Затем в БДЗ происходит изменение стохастических значений предикатов I(pl), логически связанных с указанными элементами данных и командами. Для определения индексов предикатов I(pl) и правил продукции I(plp), логически связанных с изменяемыми кодами элементов данных и команд, используют семантические и функциональные связи, поддерживаемые в БДЗ, а также управляющую сетевую структуру ПЛВ. За счет выполнения процедур произвольного доступа, реализуемых с использованием стохастических индексов и кодов, в ИЛЗВС оперативно формируются логические зависимости между кодами элементов данных K(Ai),K(ai), команд Ki и индексами предикатов I(pl), необходимые для корректного изменения их стохастических значений.

Исключение изменяемых правил продукций I(plp) и ввод новых кодов K(Ai),K(ai),K и индексов I(pl),I(plp) производится посредством реализации процедур модификации содержимого правил продукций с использованием управляющей сетевой структуры ИЛЗВС.

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

Для стохастического формирования дополнительных правил, логически связанных с командами программы и не изменяющих конечный результат ее обработки, в ИЛЗВС производят заблаговременное формирование для каждой составной продукции I(pjs) программы набора дополнительных предикатов {I(p)li}, которые являются заведомо истинными при обработке данной составной продукции. Их стохастически преобразуют и кодируют.

Затем при необходимости сформировать дополнительную команду в виде правила продукций стохастически выбирают один из предикатов I(p)li составной продукции I(pjs), который принимают в качестве заключения первого дополнительного правила I(plp). В качестве предикатов условия стохастически выбирают определенное число заведомо истинных предикатов {I(p)li}. При этом для получения очередного дополнительного правила стохастически выбирают предикат из предыдущего дополнительного правила, который принимают в качестве заключения очередного правила, к которому стохастически выбирают предикаты условия.

Описанную процедуру в ИЛЗВС повторяют стохастическое число раз, при этом дополнительные предикаты {I(p)li}, выбранные в качестве условия правила I(plp), повторно при формировании очередных правил не используют. Затем для обеспечения логической обработки дополнительных правил формируют их новые стохастические индексы I(pjp), которые заносят в списки управляющей сетевой структуры.

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

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


Формула изобретения

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

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

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

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

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

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

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

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

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

РИСУНКИ

Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4



 

Похожие патенты:

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

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

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

Изобретение относится к вычислительной технике и может быть использовано для защиты ячеек памяти при пропадании питания

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

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

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

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

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

Изобретение относится к области вычислительной техники

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

Изобретение относится к области вычислительной техники

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

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

Изобретение относится к способам и устройствам защиты конфиденциальной информации, введенной в память ЭВМ, от посторонних пользователей

Изобретение относится к области защиты информации

Изобретение относится к области техники, занимающейся разработкой вычислительно-управляющих систем объектов различного назначения
Наверх