RU2137185C1 - Method for complex protection of information processing in computer against unauthorized acs, inspection bookmarks and viruses - Google Patents

Method for complex protection of information processing in computer against unauthorized acs, inspection bookmarks and viruses Download PDF

Info

Publication number
RU2137185C1
RU2137185C1 RU98100573A RU98100573A RU2137185C1 RU 2137185 C1 RU2137185 C1 RU 2137185C1 RU 98100573 A RU98100573 A RU 98100573A RU 98100573 A RU98100573 A RU 98100573A RU 2137185 C1 RU2137185 C1 RU 2137185C1
Authority
RU
Russia
Prior art keywords
program
stochastic
codes
commands
data
Prior art date
Application number
RU98100573A
Other languages
Russian (ru)
Inventor
В.В. Насыпный
Original Assignee
Насыпный Владимир Владимирович
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Насыпный Владимир Владимирович filed Critical Насыпный Владимир Владимирович
Priority to RU98100573A priority Critical patent/RU2137185C1/en
Application granted granted Critical
Publication of RU2137185C1 publication Critical patent/RU2137185C1/en

Links

Images

Abstract

FIELD: automation and computer engineering. SUBSTANCE: method involves automatic conversion of source application into stochastic set of independent codes of instructions and data, which are subjected to stochastic processing and encoding. This results in possibility to produce program as stochastic sequences of codes of signals of instructions and data which separately describe all possible trajectories of program algorithm. EFFECT: complex protection of information processing in computer against unauthorized acs, inspection bookmarks and viruses. 9 cl, 8 dwg

Description

Изобретение относится к области вычислительной техники, автоматизированных и информационных систем, а также средств защиты от несанкционированного доступа. The invention relates to the field of computer technology, automated and information systems, as well as protection against unauthorized access.

Компьютеризация систем управления и интеллектуализация средств обработки информации привели к резкому увеличению объема и сложности программного обеспечения. Наблюдается устойчивое увеличение доли и сложности задач и функций, выполняемых с помощью программных средств по сравнению с аппаратными. Поэтому функциональные возможности и устойчивость систем управления во многом определяются показателями качества и надежности программного обеспечения. The computerization of control systems and the intellectualization of information processing tools have led to a sharp increase in the volume and complexity of software. There is a steady increase in the proportion and complexity of tasks and functions performed by software compared to hardware. Therefore, the functionality and stability of control systems are largely determined by indicators of quality and reliability of the software.

В этих условиях особую актуальность приобретает проблема обеспечения технологической безопасности программных средств. Имеющийся опыт эксплуатации существующих автоматизированных и информационных систем управления различного назначения показывает их уязвимость от различного вида информационных воздействий и прежде всего от несанкционированного доступа, программных закладок и компьютерных вирусов. Сбои и блокировки в функционировании сложных организационно-технических систем, вызванные такого рода воздействиями, могут привести к потере конфиденциальности, нарушению непрерывности государственного и экономического управления, финансового обращения, дезорганизации энергетического и коммуникационно-транспортного обеспечения и другим последствиям. In these conditions, the problem of ensuring technological security of software tools is becoming especially urgent. The existing experience in operating existing automated and information management systems for various purposes shows their vulnerability to various types of information impacts and, above all, from unauthorized access, software bookmarks and computer viruses. Failures and interruptions in the functioning of complex organizational and technical systems caused by such influences can lead to loss of confidentiality, disruption in the continuity of state and economic management, financial circulation, disorganization of energy and communication and transportation support and other consequences.

Одним из наиболее слабо защищенных процессов в компьютерных системах является обработка информации в ЭВМ. Это обусловлено тем, что существующие средства защиты от несанкционированного доступа (НСД) к информации, основанные на применении традиционных средств разграничения доступа, идентификации пользователей и регистрации их обращений к защищенным ресурсам, обеспечивают гарантированную безопасность данных и программ только при их хранении и передаче. Обработка информации непосредственно в структурных элементах компьютерных систем (вычислительных комплексах, персональных ЭВМ, рабочих станциях, серверах сети и др.) производится в исходных кодах сигналов ЭВМ, т.е. в явном, не защищенном виде. Именно в процессе обработки кодов сигналов команд программы и данных они являются наиболее уязвимыми от несанкционированного доступа, включая использование побочных электромагнитных излучений (ПЭМИ), и информационных воздействий. One of the most poorly protected processes in computer systems is the processing of information in computers. This is due to the fact that the existing means of protection against unauthorized access (NSD) to information, based on the use of traditional means of access control, user identification and registration of their access to protected resources, ensure guaranteed data and program security only when they are stored and transmitted. Information processing directly in the structural elements of computer systems (computer complexes, personal computers, workstations, network servers, etc.) is performed in the source codes of the computer signals, i.e. in an explicit, unprotected form. It is in the process of processing the codes of the signals of the program commands and data that they are the most vulnerable from unauthorized access, including the use of spurious electromagnetic radiation (PEMI), and information influences.

Кроме этого применяемые средства не обладают универсальностью в отношении защиты от воздействия на программное обеспечение (как существующее, так и разрабатываемое) компьютерных вирусов и программных закладок. In addition, the tools used do not have universality with respect to protection against the impact of software viruses (both existing and under development) on computer viruses and software bookmarks.

Как известно, программная закладка (ПЗ) представляет собой совокупность команд (операндов), преднамеренно включаемых в скрытой форме в состав программной компоненты на любом этапе ее разработки или при ее выполнении. Программная закладка реализует несанкционированный алгоритм в целях ограничения (блокировки) выполнения требуемых функций или придания программе непредусмотренных действий при определенных условиях реализации вычислительного процесса (обработки данных). Программные закладки, введенные в среду общего программного обеспечения (ОПО), могут действовать на прикладные программы с привязкой к содержанию данных, команд или алгоритму их выполнения, производя искажение, блокировку выполнения программы или получение несанкционированных результатов обработки информации. As you know, a program bookmark (PZ) is a set of instructions (operands) deliberately included in a hidden form in the composition of a software component at any stage of its development or during its execution. The program bookmark implements an unauthorized algorithm in order to limit (block) the execution of the required functions or to give the program unintended actions under certain conditions of the implementation of the computing process (data processing). Software bookmarks entered into the common software environment (OPO) can act on application programs with reference to the content of data, commands, or the algorithm for their execution, distorting, blocking the execution of the program, or obtaining unauthorized results of information processing.

Компьютерный вирус (КВ) - это программа, обладающая свойством поражать другие программы, внедряясь в последовательность команд этих программ, и модифицировать их. В результате этого последние включают измененную копию, обеспечивающую распространение вируса. A computer virus (HF) is a program that has the ability to infect other programs, infiltrating the sequence of commands of these programs, and modify them. As a result of this, the latter include an altered copy that allows the virus to spread.

В настоящее время основным способом борьбы с ПЗ и KB является тестирование программ перед их выполнением, которое ориентировано на определенные, уже известные типы закладок и вирусов. Универсальные способы защиты, предназначенные для противодействия любым, в том числе новым типам ПЗ и KB, не разработаны. Кроме этого известные способы защиты не обеспечивают контроль программных средств в момент их выполнения. Именно в это время может произойти активизация не обнаруженных при предварительном контроле или введенных по сети информационного обмена ПЗ или KB в ходе обработки информации и их воздействие на коды сигналов команд или данных в процессоре ЭВМ. Currently, the main way to combat PZ and KB is to test programs before executing them, which focuses on certain, already known types of bookmarks and viruses. Universal protection methods designed to counter any, including new types of PP and KB, have not been developed. In addition, the known methods of protection do not provide control of software at the time of their execution. It is at this time that activation of PPs or KBs not detected during preliminary control or entered through the information exchange network during information processing and their effect on the signal codes of commands or data in the computer processor can occur.

Поэтому основным направлением обеспечения безопасности процесса обработки информации в ЭВМ должна стать разработка способа универсальной защиты программ и данных от несанкционированного доступа, программных закладок и компьютерных вирусов. Therefore, the main direction of ensuring the security of information processing in computers should be the development of a method for the universal protection of programs and data from unauthorized access, software bookmarks and computer viruses.

Указанный способ должен обеспечивать комплексную защиту от НСД, включая использование ПЭМИ, любых типов ПВ и KB в процессе реализации алгоритмов обработки информации с использованием как вновь разработанных, так и существующих программных средств. The specified method should provide comprehensive protection against unauthorized access, including the use of PEMI, any types of PV and KB in the process of implementing information processing algorithms using both newly developed and existing software.

Аналогом предлагаемого изобретения является способ синтеза систем обработки данных на основе стохастического преобразования и кодирования символьной информации, описанный в монографии автора предлагаемого изобретения: "Развитие теории построения открытых систем на основе информационной технологии искусственного интеллекта" М.: Воениздат, 1994, 248 с. An analogue of the present invention is a method for synthesizing data processing systems based on stochastic conversion and encoding of symbolic information, described in the monograph of the author of the invention: "Development of the theory of building open systems based on information technology of artificial intelligence" M .: Voenizdat, 1994, 248 pp.

Прототипом предлагаемого изобретения является способ синтеза систем обработки информации с защитой от воздействия программных закладок и компьютерных вирусов, описанный в работе автора: "Синтез систем обработки информации от программных закладок и вирусов" М.: (ВТИ), 1997, 28 с. The prototype of the invention is a method for synthesizing information processing systems with protection from the effects of software bookmarks and computer viruses, described in the author: "Synthesis of information processing systems from software bookmarks and viruses" M .: (VTI), 1997, 28 pp.

Данный способ предназначен для синтеза систем обработки информации на основе стохастического преобразования и кодирования команд и данных с защитой от воздействия программных закладок и вирусов. Защита процесса обработки информации от НСД, включая использование ПЭМИ, не обеспечивается. При этом от ПВ и KB защищаются только системы, в которых реализованы новые программные средства, разработанные с использованием специальных языка и технологии программирования. При использовании существующего программного обеспечения защита от информационных воздействий не обеспечивается. This method is intended for the synthesis of information processing systems based on stochastic conversion and encoding of commands and data with protection from the effects of software bookmarks and viruses. Protection of the information processing process from unauthorized access, including the use of PEMI, is not provided. At the same time, only systems that implement new software tools developed using special programming languages and technologies are protected from PV and KB. When using existing software, protection against information impacts is not provided.

Таким образом, способ-прототип не обеспечивает комплексную защиту систем обработки информации, использующих вновь разработанное и существующее программное обеспечение, от несанкционированного доступа, включая использование ПЭМИ, программных закладок и вирусов. В предлагаемом способе процедуры и технологии, используемые в способе-прототипе, с соответствующим их развитием применяются по новому назначению. Thus, the prototype method does not provide comprehensive protection for information processing systems using newly developed and existing software from unauthorized access, including the use of PEMI, software bookmarks and viruses. In the proposed method, the procedures and technologies used in the prototype method, with their corresponding development, are used for a new purpose.

Цель изобретения - обеспечение комплексной защиты процесса обработки информации в ЭВМ, использующих как вновь разработанное по специальной технологии, так и существующее программное обеспечение от несанкционированного доступа, включая использование побочного электромагнитного излучения, программных закладок и вирусов. The purpose of the invention is the provision of comprehensive protection for the processing of information in computers using both newly developed by special technology and existing software from unauthorized access, including the use of spurious electromagnetic radiation, software bookmarks and viruses.

С этой целью в процессе обработки исходную программу автоматически преобразуют и представляют в виде стохастического набора независимых кодов сигналов команд и данных, которые затем подвергают стохастическому преобразованию и кодированию. Для кодирования сигналов команд и данных используют ключи администратора системы защиты, для кодирования логических связей между командами применяют ключи пользователя. При этом процедуры ввода-вывода, отображения и стохастического преобразования информации защищают от генерации побочных электромагнитных излучений с использованием типовых средств защиты. To this end, during processing, the original program is automatically converted and presented in the form of a stochastic set of independent codes of command signals and data, which are then subjected to stochastic conversion and encoding. The keys of the administrator of the security system are used to encode the signals of commands and data, and the keys of the user are used to encode the logical connections between the teams. At the same time, input-output, display and stochastic information conversion procedures protect against the generation of spurious electromagnetic radiation using standard means of protection.

К типовым средствам защиты можно отнести средства электромагнитного экранирования устройств и помещений, в которых расположены компьютерные системы, средства активной радиотехнической маскировки компьютерных систем, средства доработки устройств вычислительной техники для минимизации излучений. Наиболее приемлемыми по критерию эффективность/стоимость являются средства активной радиотехнической маскировки компьютерных систем. Для этого могут применяться малогабаритные сверхширокополосные передатчики шумовых колебаний типа ГШ-1000 или ГШ-К-1000 (см. Иванов В.П. Защита от электронного шпионажа. "Сети и системы связи", N 3, 1996, с. 110, 111). Typical means of protection include electromagnetic shielding of devices and rooms in which computer systems are located, means of active radio-technical masking of computer systems, means of refinement of computing devices to minimize radiation. The most acceptable criteria for efficiency / cost are means of active radio-technical masking of computer systems. For this, small-sized ultra-wideband noise vibration transmitters of the GSh-1000 or GSh-K-1000 type can be used (see. V. Ivanov. Protection against electronic espionage. "Networks and communication systems", N 3, 1996, p. 110, 111) .

После этого программу автоматически генерируют в виде стохастических последовательностей кодов сигналов команд и данных, описывающих отдельно все траектории алгоритма программы. Перед выполнением программы в процессоре ЭВМ каждый раз производят стохастическое преобразование кодов сигналов машинных команд с использованием ключа администратора системы защиты. Коды сигналов команд программы применяют в качестве ключей для доступа к соответствующим кодам сигналов машинных команд с контролем несанкционированного доступа по стохастически проверочным суммам. After that, the program is automatically generated in the form of stochastic sequences of codes of command signals and data describing separately all the trajectories of the program algorithm. Before executing the program in the computer processor, each time a stochastic conversion of machine command signal codes is performed using the administrator key of the security system. The program command signal codes are used as keys for accessing the corresponding machine command signal codes with unauthorized access control using stochastically verified sums.

Алгоритм программы реализуют в виде последовательности кодов сигналов преобразованных команд и данных, при этом арифметические операции сравнения и вычисления производят с кодами сигналов данных в стохастически преобразованном виде. Стохастические коды сигналов команд и данных программы изменяют по ключам администратора системы защиты после каждого цикла ее выполнения. The program algorithm is implemented as a sequence of signal codes of the converted commands and data, while arithmetic operations of comparison and calculation are performed with the codes of the data signals in a stochastically transformed form. The stochastic codes of command signals and program data are changed by the keys of the security system administrator after each cycle of its execution.

Корректность программы непосредственно контролируют после ее генерации и по завершению выполнения определенного числа команд, в случае обнаружения некорректности программы производят ее коррекцию с помощью стохастических проверочных сумм. The correctness of the program is directly controlled after its generation and upon completion of the execution of a certain number of commands, in case of detection of incorrectness of the program, it is corrected using stochastic checksums.

В результате предотвращается возможность НСД, включая использование ПЭМИ, ввода ложных команд и данных в программу при активизации ПВ и KB с гарантированной вероятностью ошибки как при хранении в памяти, так и в процессе обработки кодов сигналов команд и данных программы в ЭВМ. Это достигается за счет: защиты содержания кодов сигналов команд и данных путем стохастического преобразования и изменения их значений в процессе обработки информации с использованием ключей администратора системы защиты и пользователя; гарантированного обнаружения вставки ложных кодов сигналов команд и данных и искажения кодов, а также коррекции программы при ее автоматическом синтезе и в процессе выполнения; защиты структуры и содержания алгоритмов, данных о составе и порядке выполнения команд за счет автоматического синтеза программы непосредственно перед ее выполнением, стохастического изменения структуры алгоритмов, состава, порядка выполнения и кодов сигналов команд в процессе эксплуатации программы. As a result, the possibility of unauthorized access, including the use of PEMI, of entering false commands and data into the program when activating the PV and KB with the guaranteed probability of error both during storage in the memory and during processing of the signal codes of the command and program data in the computer is prevented. This is achieved by: protecting the contents of the signal codes of commands and data by stochastic conversion and changing their values during information processing using the keys of the security system administrator and user; guaranteed detection of the insertion of false codes of command and data signals and code distortion, as well as program correction during its automatic synthesis and during execution; protection of the structure and content of algorithms, data on the composition and order of execution of commands due to automatic synthesis of the program immediately before its execution, stochastic changes in the structure of algorithms, composition, order of execution and codes of signal signals during operation of the program.

В процессе обработки информации контроль несанкционированного доступа производят при обращении по стохастическим кодам сигналов команд программы к каждому соответствующему коду сигналов машинных команд. При контроле используются сформированные ранее и полученные повторно стохастические проверочные суммы с применением предыдущего и очередного значений кода сигналов каждой команды программы. In the process of information processing, unauthorized access control is performed when stochastic codes of program command signals are accessed to each corresponding machine command signal code. During control, stochastic test sums generated earlier and received repeatedly are used using the previous and next values of the signal code of each program command.

При совпадении сравниваемых значений доступ считается разрешенным, при несовпадении хотя бы одного из сравниваемых значений фиксируется попытка несанкционированного доступа к процессу обработки информации. If the compared values coincide, access is considered permitted, if at least one of the compared values does not match, an attempt is made to unauthorized access to the information processing process.

Предложенный способ обеспечивает предотвращение несанкционированного доступа к процессу обработки информации, реализуемого с использованием существующих программ, разработанных с применением алгоритмических языков, воздействия на них активизированных программных закладок и вирусов. Для этого после преобразования исходной программы в начале обработки ее представляют в виде стохастического набора независимых кодов сигналов команд. Затем формируют предикаты логических связей между командами, с использованием которых затем формируют протокол реализации программы в виде набора правил продукций. При этом предикаты условий и заключений полученных правил продукций определяют логические связи в виде условных и безусловных переходов между кодами сигналов команд. Это обеспечивает после стохастического преобразования автоматическую генерацию программы в виде стохастических последовательностей кодов сигналов команд и данных, описывающих отдельно все траектории алгоритма программы. The proposed method ensures the prevention of unauthorized access to the information processing process, implemented using existing programs developed using algorithmic languages, the impact on them of activated software bookmarks and viruses. For this, after converting the source program at the beginning of processing, it is presented in the form of a stochastic set of independent codes of command signals. Then the predicates of logical connections between the teams are formed, with the help of which they then formulate the program implementation protocol in the form of a set of production rules. In this case, the predicates of the conditions and conclusions of the obtained production rules determine the logical connections in the form of conditional and unconditional transitions between the signal codes of commands. This ensures, after stochastic transformation, the automatic generation of the program in the form of stochastic sequences of codes of command signals and data that separately describe all the trajectories of the program algorithm.

При разработке новых программ для обеспечения возможности преобразования и генерации программы непосредственно перед ее выполнением алгоритм программы и информация, используемые для ее реализации, сначала описываются в виде формализованного протокола реализации прикладного процесса на языке высокого уровня. Этот язык основан на комплексном использовании современных методов представления данных и знаний: правил продукций, логических моделей и реляционных отношений. When developing new programs to enable conversion and generation of a program immediately before its execution, the program algorithm and the information used to implement it are first described in the form of a formalized application process implementation protocol in a high-level language. This language is based on the integrated use of modern methods of presenting data and knowledge: production rules, logical models, and relational relations.

Таким образом, для представления фрагментов алгоритма обработки информации при преобразовании существующих программ и разработке протоколов реализации новых программ используется аппарат правил продукций, получивший широкое распространение в современных системах искусственного интеллекта. Thus, to represent fragments of the information processing algorithm when transforming existing programs and developing protocols for implementing new programs, the apparatus of production rules is used, which is widely used in modern artificial intelligence systems.

Популярность продукционных моделей определяется несколькими факторами: система продукций может реализовать любые алгоритмы и, следовательно, способна представить любую процедуру, реализуемую в ЭВМ; подавляющая часть знаний предметной области может быть записана в виде правил продукций; системы продукций являются модульными, добавление или удаление продукций не приводит в общем случае к изменению остальных продукций. The popularity of production models is determined by several factors: the production system can implement any algorithms and, therefore, is able to represent any procedure implemented in computers; the vast majority of domain knowledge can be written in the form of production rules; product systems are modular, the addition or removal of products does not generally lead to a change in other products.

Кроме этих свойств продукционное представление алгоритмов обработки информации позволяет независимо стохастически изменять кодирование правил при условии сохранения заданных логических связей за счет поддержания идентичности одноименных предикатов условий и заключений соответствующих правил продукций. Таким образом, логика реализации программы в продукционных системах инвариантна относительно стохастического изменения кодов сигналов команд и данных. In addition to these properties, the production representation of information processing algorithms allows stochastically independently changing the coding of rules, provided that the specified logical relationships are maintained by maintaining the identity of the predicates of the same name and the conclusions of the corresponding production rules. Thus, the logic of the implementation of the program in production systems is invariant with respect to the stochastic change of the signal codes of commands and data.

На основе формализованного описания протоколов в ЭВМ с использованием дедуктивного логического вывода обеспечивается возможность автоматической генерации программы из предикатов и процедур, входящих в состав правил продукций, непосредственно перед ее выполнением. Для реализации этой функции производятся стохастическое преобразование и кодирование правил продукций, реализация логического вывода на множестве правил продукций, описывающих фрагменты алгоритма программы, и формирование последовательности команд программы в виде цепочек продукций. При этом алгоритм программы будет представлен в виде стохастического дерева логического вывода, содержащего все возможные траектории обработки информации. Полученная программа поступает в ЭВМ для последующей обработки. On the basis of a formalized description of protocols in a computer using deductive inference, it is possible to automatically generate a program from predicates and procedures that are part of production rules immediately before its execution. To implement this function, stochastic transformation and coding of production rules are performed, logical inference is implemented on a set of production rules describing fragments of the program algorithm, and the formation of the sequence of program commands in the form of production chains. In this case, the program algorithm will be presented in the form of a stochastic tree of logical inference, containing all possible trajectories of information processing. The resulting program is sent to a computer for subsequent processing.

Для автоматической генерации программы непосредственно перед ее выполнением в процессоре ЭВМ производят стохастическое преобразование и кодирование сигналов команд, представленных в виде правил продукций протокола реализации программы. Затем формируют стохастические коды сигналов индексов предикатов и правил продукций, а также управляющей сетевой структуры. Последнюю формируют в виде набора списков связности индексов правил продукций, имеющих идентичные предикаты в условии или заключении. To automatically generate a program immediately before its execution, a computer processor performs stochastic conversion and coding of command signals, presented in the form of rules for the production protocol of the program. Then, the stochastic codes of the signals of the predicate indices and production rules, as well as the control network structure, are formed. The latter is formed in the form of a set of connected lists of indexes of production rules that have identical predicates in a condition or conclusion.

Затем производят реализацию дедуктивного логического вывода на множестве стохастически преобразованных и кодированных команд с использованием списков управляющей сетевой структуры и формирования последовательности кодов сигналов команд программы в виде составных продукций. При этом стохастические комбинации предикатов условий и заключений правил продукций применяют для произвольного доступа к стохастически преобразованным и логически связанным командам и данным, а также для выполнения процедур обработки логических выражений предикатов программы в стохастически преобразованном виде. Эти процедуры реализуют путем сравнения стохастически преобразованных кодов элементов данных предикатов программы с соответствующими кодами элементов данных базы данных. Then, deductive logical inference is realized on a set of stochastically transformed and coded commands using lists of the control network structure and forming a sequence of codes of signal signals of program commands in the form of composite products. In this case, stochastic combinations of predicates of conditions and conclusions of production rules are used for random access to stochastically transformed and logically related commands and data, as well as for performing procedures for processing logical expressions of program predicates in a stochastically transformed form. These procedures are implemented by comparing stochastically transformed program predicate data element codes with the corresponding database data element codes.

Полученные последовательности сигналов команд подвергают дополнительному стохастическому преобразованию и формируют индексы каждого правила продукций и составных продукций в виде стохастических комбинаций сигналов. Эти комбинации затем применяют для контроля корректности программы и управления порядком выполнения сигналов команд при ее реализации. The obtained sequences of command signals are subjected to additional stochastic transformation and form indices of each production rule and composite products in the form of stochastic signal combinations. These combinations are then used to control the correctness of the program and control the execution order of the command signals during its implementation.

Контроль корректности программы после ее генерации или в процессе выполнения производят посредством сравнения сформированного ранее эталонного и полученного повторно для контроля стохастических комбинаций сигналов индексов каждой составной продукции программы. При совпадении сравниваемых комбинаций сигналов программу считают корректной с заданной гарантированной вероятностью ошибки, в противоположном случае переходят к коррекции программы. The control of the program correctness after its generation or in the process of execution is carried out by comparing the previously formed reference and obtained repeatedly to control stochastic combinations of the signals of the indices of each composite product of the program. If the compared signal combinations coincide, the program is considered correct with the given guaranteed probability of error, in the opposite case, they proceed to the program correction.

Коррекцию программы производят посредством повторного стохастического преобразования и кодирования сигналов команд правил продукций, входящих в корректируемую составную продукцию. Затем формируют комбинации стохастических индексов каждой команды и сравнивают их с полученными ранее эталонными значениями. При несовпадении сравниваемых комбинаций сигналов соответствующие команды считаются некорректными и стираются. Correction of the program is carried out by repeated stochastic conversion and coding of the signals of the commands of the production rules included in the adjusted composite products. Then form combinations of stochastic indices of each team and compare them with the previously obtained reference values. If the compared signal combinations do not match, the corresponding commands are considered incorrect and erased.

Восстановление стертых команд при контроле программы после генерации производится путем считывания их эталонных значений. Восстановление кодов сигналов команд программы в процессе ее реализации выполняется с помощью проверочных комбинаций стохастического помехоустойчивого кода, полученных предварительно для каждой составной продукции. Это обеспечивает при декодировании гарантированное восстановление заданного числа кодов сигналов команд, подлежащих реализации до следующей процедуры контроля. Recovery of erased commands during program control after generation is performed by reading their reference values. The restoration of the codes of the signal commands of the program in the process of its implementation is carried out using test combinations of stochastic noise-tolerant code obtained previously for each composite product. This ensures, when decoding, a guaranteed restoration of a given number of codes of signal signals of commands to be implemented before the next control procedure.

Стохастическое изменение кодов сигналов команд и элементов данных производят после каждого цикла выполнения программы. Для этого осуществляют стохастический выбор элементов данных и команд, используемых при выполнении программы и записанных в базе данных, и производят повторное формирование их новых стохастических кодов. Затем осуществляют соответствующее изменения кодов сигналов команд и предикатов, логически связанных с указанными элементами данных и командами. При этом возможно независимое от кодов элементов данных изменение кодов сигналов команд программы и машинных команд. Stochastic change of codes of signal signals of commands and data elements is made after each cycle of program execution. To do this, carry out a stochastic selection of data elements and commands used in the execution of the program and recorded in the database, and re-generate their new stochastic codes. Then carry out the corresponding changes in the codes of the signal commands and predicates, logically associated with the specified data elements and commands. In this case, it is possible to change the signal codes of program instructions and machine instructions independent of data element codes.

Изменение состава и порядка выполнения кодов сигналов команд программы производят путем стохастической генерации эквивалентных составных продукций за счет стохастического формирования или исключения дополнительных команд, логически связанных с командами программы и не изменяющих конечный результат ее обработки. Changing the composition and execution order of the codes of the program command signals is carried out by stochastic generation of equivalent composite products due to the stochastic generation or elimination of additional commands that are logically associated with the program commands and do not change the final result of its processing.

Для стохастического формирования дополнительных команд, логически связанных с командами программы и не изменяющих конечный результат ее обработки, производят заблаговременное формирование для каждой составной продукции программы набора дополнительных предикатов. Эти предикаты, которые являются заведомо истинными при обработке данной составной продукции, стохастически преобразуются и кодируются. Затем при необходимости сформировать дополнительную команду в виде правила продукции стохастически выбирают один из предикатов составной продукции. Его принимают в качестве заключения первого дополнительного правила. При этом в качестве предикатов условия стохастически выбирают определенное число заведомо истинных предикатов. Затем для получения очередного дополнительного правила стохастически выбирают предикат из предыдущего дополнительного правила, который принимают в качестве заключения очередного правила. К этому заключению стохастически выбирают предикаты условия. Описанную процедуру повторяют стохастическое число раз, при этом дополнительные предикаты, выбранные в качестве условия правила, повторно при формировании очередных правил не используют. Затем для обеспечения логической обработки дополнительных правил формируют их стохастические индексы, которые заносят в списки связности индексов правил продукций управляющей сетевой структуры. For the stochastic formation of additional commands that are logically connected with the program commands and do not change the final result of its processing, the set of additional predicates is formed in advance for each composite product of the program. These predicates, which are known to be true when processing this composite product, are stochastically transformed and encoded. Then, if necessary, form an additional team in the form of a production rule stochastically select one of the predicates of the composite product. It is accepted as the conclusion of the first additional rule. Moreover, as a predicate, the conditions stochastically select a certain number of known true predicates. Then, to obtain the next additional rule, the predicate is stochastically selected from the previous additional rule, which is taken as the conclusion of the next rule. To this conclusion, condition predicates are stochastically chosen. The described procedure is repeated stochastically a number of times, while additional predicates selected as a condition of the rule are not reused in the formation of the next rules. Then, to ensure logical processing of additional rules, their stochastic indices are formed, which are entered into the connectivity lists of the production rule indices of the control network structure.

Перечень чертежей и иных материалов. The list of drawings and other materials.

Описание изобретения содержит следующий перечень чертежей:
Фиг. 1. Структурная схема информационно-логической защищенной вычислительной системы (ИЛЗВС).
The description of the invention contains the following list of drawings:
FIG. 1. The structural diagram of the information-logical secure computing system (ILSWS).

Фиг. 2. Блок-схема алгоритма программы. FIG. 2. The block diagram of the program algorithm.

Фиг. 3. Процесс преобразования программы в ИЛЗВС:
Фиг. 3.1. Протокол реализации программы в виде набора правил продукций.
FIG. 3. The process of converting a program into a HFSM:
FIG. 3.1. Program implementation protocol in the form of a set of production rules.

Фиг. 3.2. Правила продукций протокола реализации программы после стохастического преобразования кодов сигналов команд и данных. FIG. 3.2. Production rules for the program implementation protocol after stochastic conversion of command and data signal codes.

Фиг. 4. Процесс генерации программы в ИЛЗВС:
Фиг. 4.1. Фрагмент правил продукций в графическом представлении.
FIG. 4. The process of generating a program in ILSA:
FIG. 4.1. A fragment of production rules in a graphical representation.

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

Фиг. 4.3. Алгоритм программы в виде дерева логического вывода. FIG. 4.3. The algorithm of the program in the form of a tree of logical inference.

Фиг. 4.4. Составные продукции программы, содержащие коды сигналов команд и данных. FIG. 4.4. Composite program products containing signal codes for commands and data.

Для осуществления предложенного способа используется информационно-логическая защищенная вычислительная система (ИЛЗВС). To implement the proposed method, an information-logical secure computing system (ILSWS) is used.

Разработанная ИЛЗВС содержит блок преобразования программ (БПП), подсистему логического вывода (ПЛВ), базу данных и знаний (БДЗ), блок стохастического преобразования и защиты кодов команд и данных (БСПЗК), а также блок контроля и коррекции программы (БКК) и интерфейс с ЭВМ. Она может быть реализована программно-аппаратно в виде устройства, подключаемого к типовой ЭВМ и взаимодействующего с операционной системой ЭВМ, устройством ввода-вывода (УВВ) информации или дисплеем. При этом БДЗ размещена на внешнем запоминающем устройстве (ВЗУ) ЭВМ. Для зашиты от НСД с использованием ПЭМИ устройство и каналы ввода-вывода информации, а также БСПЗК защищают от генерации ПЭМИ, применяя типовые средства защиты. При этом другие блоки ИЛЗВС и средства ЭВМ защите от ПЭМИ не подлежат. Структурная схема ИЛЗВС приведена на фиг. 1. The developed ILZVS contains a program conversion unit (BPP), a logical output subsystem (PLV), a database and knowledge (BDZ), a stochastic conversion and protection unit for command and data codes (BSPZK), as well as a program control and correction unit (BKK) and an interface with a computer. It can be implemented in software and hardware in the form of a device connected to a typical computer and interacting with a computer operating system, an input / output device (I / O) of information, or a display. In this case, the BDZ is located on the external storage device (VZU) of the computer. For protection against unauthorized access using PEMI, the device and input / output channels of information, as well as BSPZK, protect against the generation of PEMI using standard means of protection. In this case, other ILZVS units and computer equipment are not subject to protection from PEMI. The block diagram of the ILDS is shown in FIG. 1.

Таким образом, в отличие от традиционных компьютерных технологий, использующих алгоритмический аппарат Тьюринга, в основу ИЛЗВС положен вычислительный механизм систем продукций Поста, объединенный со стохастической информационной технологией. Thus, in contrast to traditional computer technologies that use the Turing algorithmic apparatus, the HLSA is based on the computational mechanism of Post production systems combined with stochastic information technology.

Предлагаемая технология синтеза инструментальной ИЛЗВС базируется на идее адаптации методов представления и обработки данных и знаний к среде ЭВМ. Для этого используется стохастическое преобразование и кодирование символьной информации. В результате осуществляется непосредственное отображение формализованного описания протоколов реализации программ во внутреннюю структуру ЭВМ. При этом информационные единицы, связи и команды будут взаимооднозначно поименованы и физически представлены уникальными стохастическими индексами и кодами заданной размерности с возможностью их стохастического изменения в процессе эксплуатации системы за счет введения сетевых структур логической связи команд и данных. The proposed technology for the synthesis of instrumental ILSA is based on the idea of adapting the methods of presenting and processing data and knowledge to a computer environment. For this, stochastic conversion and encoding of symbolic information is used. As a result, a formalized description of the protocols for the implementation of programs is directly displayed in the internal structure of the computer. At the same time, information units, communications, and teams will be mutually unambiguously named and physically represented by unique stochastic indices and codes of a given dimension with the possibility of their stochastic change during the operation of the system due to the introduction of network structures for the logical connection of commands and data.

Вследствие этого обеспечивается эффективная реализация логических операций при обработке запросов и правил продукций. Свойства предложенного преобразования позволяют применять его дополнительно для контроля достоверности информации и корректности алгоритмов и знаний, а также для коррекции данных и программ при их искажении в процессе обработки информации. Указанные возможности обеспечивают универсальность предложенного преобразования при создании систем с комплексной защитой процесса обработки информации от НСД, включая использование ПЭМИ, а также от ПЗ и КВ. As a result, efficient implementation of logical operations is provided when processing requests and production rules. The properties of the proposed transformation allow it to be used additionally to control the accuracy of information and the correctness of algorithms and knowledge, as well as to correct data and programs when they are distorted during information processing. These capabilities provide the versatility of the proposed conversion when creating systems with comprehensive protection for the information processing process from unauthorized access, including the use of PEMI, as well as from PZ and HF.

Предложенная технология синтеза ИЛЗВС позволяет реализовать ПЛВ в виде сетевой стохастической структуры, обеспечивающей эффективную реализацию логического вывода при обработке правил продукций и данных. Полученная сетевая структура является открытой для изменения состава и содержания правил продукций, команд, данных и системы их кодирования. Отмеченные свойства позволяют использовать ИЛЗВС при синтезе и защите адаптивных программных средств прикладного и общего программного обеспечения; при построении эффективных защищенных систем управления базами данных и знаний. The proposed technology for the synthesis of ILDWS makes it possible to realize PLV in the form of a network stochastic structure that ensures the effective implementation of logical inference when processing production and data rules. The resulting network structure is open to changing the composition and content of the rules of products, teams, data and their coding system. The noted properties make it possible to use ILSWS in the synthesis and protection of adaptive software tools for applied and general software; when building effective secure database and knowledge management systems.

В результате предложенная инструментальная ИЛЗВС обеспечивает возможность синтеза универсальной "оболочки", предназначенной для спецификации, реализации и защиты программ различного назначения. На основе этого достигается адаптивность систем обработки информации к наращиванию функциональных возможностей процессов обработки информации и стохастическому изменению кодов команд и данных в ходе эксплуатации программ. As a result, the proposed instrumental ILZVS provides the possibility of synthesizing a universal “shell” intended for the specification, implementation, and protection of programs for various purposes. On the basis of this, adaptability of information processing systems to increase the functionality of information processing processes and stochastic change of command codes and data during operation of programs is achieved.

При этом в ИЛЗВС, как было отмечено выше, с использованием логического вывода на основе формализованного описания протоколов обеспечивается возможность автоматического синтеза программ непосредственно перед их выполнением. At the same time, as noted above, using logical inference on the basis of a formalized description of the protocols, it is possible to automatically synthesize programs immediately before their execution.

Рассмотрим более подробно предложенную технологию реализации логического вывода на множестве правил продукций. Consider in more detail the proposed technology for the implementation of inference on a set of production rules.

В общем виде под продукцией понимается выражение следующего вида:
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. Таким образом, предикат заключения принимает значение "истина", если "истинны" все предикаты условия правила продукции. В этом случае происходит активизация соответствующей процедуры (команды).
In general terms, production means an expression of the following form:
I l (PP) , P l , A ---> B, P s . (1)
The main element of a product having a name (index) I l (PP) is its core A ---> B, which is described by a program from one operator "If A, then B". Sequence ---> can be interpreted in the usual logical sense as a sign of the logical sequence of B from true A (if A is not a true expression, then nothing can be said about B). The element P l is the applicability condition for the product core, which is a logical expression (as a rule, the set of predicates P li combined by logical connectives Λ). The predicate P li includes logical expressions formed from the attribute names K i (A) and their values K i (a) . If P l takes the value "true", then the core of the product is activated. The element P s (also a predicate) describes the postconditions of a product and is activated only if the core of the product has been realized. Postconditions of production describe actions and contain codes K i of procedures (commands) that must be performed if B is true. Thus, the predicate of the conclusion takes the value “true” if all predicates of the condition of the production rule are “true”. In this case, the corresponding procedure (command) is activated.

Множество правил продукций каждой программы содержится в БДЗ, находящейся на внешнем запоминающем устройстве (ВЗУ). Many production rules for each program are contained in the BDZ located on an external storage device (VZU).

Для обеспечения защиты процесса обработки информации с использованием существующего программного обеспечения, разработанного по традиционной технологии с применением алгоритмических языков, каждую программу в БПП представляют в виде стохастического набора независимых команд и предикатов логических связей между ними. Эти команды затем формируют в виде правил продукций протокола реализации программы. При этом предикаты условий и заключений правил определяют логические связи в виде условных и безусловных переходов между командами и обеспечивают после стохастического преобразования возможность автоматической генерации программы в виде составных продукций независимо от используемых стохастических кодов команд и данных. To ensure the protection of information processing using existing software developed according to traditional technology using algorithmic languages, each program in the BPP is represented as a stochastic set of independent commands and predicates of logical connections between them. These commands are then formed in the form of production rules of the program implementation protocol. In this case, predicates of conditions and conclusions of rules determine logical relationships in the form of conditional and unconditional transitions between teams and provide, after stochastic transformation, the ability to automatically generate a program in the form of composite products regardless of the stochastic command and data codes used.

Для примера на фиг. 2 приведена блок-схема алгоритма программы, написанной на одном из алгоритмических языков. Процесс преобразования программы представлен на фиг. 3. Сформированный в ходе преобразования протокол реализации программы в виде набора правил продукций приведен на фиг. 3.1. For the example of FIG. 2 shows a block diagram of the algorithm of a program written in one of the algorithmic languages. The program conversion process is shown in FIG. 3. The protocol for the implementation of the program formed during the conversion as a set of production rules is shown in FIG. 3.1.

Перед реализацией логического вывода производится стохастическое преобразование кодов команд протокола программы Ki и данных Ki(A), Ki(a) в БСПЗК по ключам K∧1,K∧2, выданным пользователю администратором системы защиты после его идентификации и проверки истинности пользователя. Функции идентификации и аутентификации пользователя проводятся по ключам K∧1,K∧2, выданным пользователю либо при первоначальной загрузке протокола программы для стохастического преобразования кодов команд и данных, либо после очередного цикла запуска и обработки информации данной программой. Таким образом, значения ключей K∧1,K∧2 обновляются администратором системы защиты и повторно выдаются пользователю после каждого очередного цикла запуска программы.Before the logical inference is implemented, stochastic conversion of the program protocol command codes K i and data K i (A) , K i (a) is made into the BSPCK using the keys K ∧ 1 , K ∧ 2 issued to the user by the security system administrator after his identification and verification of the user's truth . User identification and authentication functions are performed using the keys K ∧ 1 , K ∧ 2 issued to the user either at the initial loading of the program protocol for stochastic conversion of command and data codes, or after the next cycle of starting and processing information by this program. Thus, the values of the keys K ∧ 1 , K ∧ 2 are updated by the administrator of the security system and re-issued to the user after each next program launch cycle.

В результате в БСПЗК будут получены стохастические коды данных K (A) ζi ,K (a) ζi и команд программу Kζi

Figure 00000002

где Cζ1,Cζ2 - процедуры стохастического преобразования кодов данных и команд по ключам K∧1,K∧2.
При выполнении стохастического преобразования кодов элементов данных и команд сначала производится стохастическое преобразование каждого символа Uj длиной l бит. С этой целью используются стохастические отрезки Cζj длиной l бит каждый. Результат стохастического преобразования Uζi формируется как произведение двух многочленов степени (l-1) с коэффициентами, соответствующими нулям и единицам последовательностей сигналов Uj и Cζj взятых по модулю некоторого неприводимого многочлена P(x) степени l
Uζj= Uj°Cζj, (3)
где o - операция умножения многочленов по модулю P(x).As a result, stochastic data codes K (A) ζi , K (a) ζi and teams program K ζi
Figure 00000002

where C ζ1 , C ζ2 are the procedures for stochastic transformation of data codes and commands by keys K ∧1 , K ∧2 .
When performing stochastic conversion of data element codes and instructions, a stochastic conversion of each character U j of length l bits is first performed. To this end, stochastic segments C ζj of length l bits each are used. The result of the stochastic transformation U ζi is formed as the product of two polynomials of degree (l-1) with coefficients corresponding to zeros and units of sequences of signals U j and C ζj taken modulo some irreducible polynomial P (x) of degree l
U ζj = U j ° C ζj , (3)
where o is the operation of multiplying polynomials modulo P (x).

Для генерации Cζj применяется процедура умножения каждой предыдущей последовательности сигналов Cζj-1, начиная с последовательности, заданной соответствующим ключом K∧1 или K∧2, на последовательность 00...010 по модулю неприводимого многочлена P(x). Это обеспечит получение (2l-1) различных стохастических последовательностей длиной l бит. Затем осуществляют внутриблочное перемешивание элементов Uζj в пределах комбинации сигналов Ki. В результате будет получено стохастическое значение кодов сигналов каждой команды Kζi или элементов данных K (A) ζi ,K (a) ζi . При этом, используя ключи K∧1,K∧2, можно произвести обратное стохастическое преобразование и получить по значениям Kζi,K (A) ζi ,K (a) ζi исходные значения кодов Ki, Ki(A), Ki(a).To generate C ζj , we apply the procedure of multiplying each previous sequence of signals C ζj-1 , starting from the sequence specified by the corresponding key K ∧1 or K ∧2 , by the sequence 00 ... 010 modulo the irreducible polynomial P (x). This will provide (2 l -1) different stochastic sequences of length l bits. Then carry out intra-block mixing of the elements U ζj within the combination of signals K i . As a result, the stochastic value of the signal codes of each command K ζi or data elements K (A) ζi , K (a) ζi . Moreover, using the keys K ∧1 , K ∧2 , we can perform the inverse stochastic transformation and obtain from the values of K ζi , K (A) ζi , K (a) ζi initial values of codes K i , K i (A) , K i (a) .

Для обратного стохастического преобразования используется обратная таблица внутриблочного перемешивания элементов Uζi внутри комбинации сигналов Kζi,K (A) ζi или K (a) ζi . Затем производится обратное стохастическое преобразование каждого элемента Uζj путем умножения его на многочлен C -1 ζj , мультипликативно обратный к многочлену Cζi, т.е. такой, что Cζj°C -1 ζj = 1. В результате будет получено значение каждого символа Uj
Uj= Uζj°C -1 ζj (4)
и, соответственно, значения исходных кодов сигналов команд Ki или элементов данных Ki(A), Ki(a).
For the inverse stochastic transformation, the inverse table of intra-block mixing of the elements U ζi inside the signal combination K ζi , K is used (A) ζi or K (a) ζi . Then, the inverse stochastic transformation of each element U ζj is performed by multiplying it by the polynomial C -1 ζj multiplicatively inverse to the polynomial C ζi , i.e. such that C ζj ° C -1 ζj = 1. As a result, the value of each character U j
U j = U ζj ° C -1 ζj (4)
and, accordingly, the values of the source codes of the signal commands K i or data elements K i (A) , K i (a) .

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

Figure 00000003

Отметим, что одновременно с выдачей пользователю очередных новых значений ключей K∧1,K∧2 администратор системы защиты производит стохастическое преобразование по ключу K∧2. кодов элементов данных файлов БДЗ на ВЗУ, к которым обращается данная программа с использованием операционной системы ЭВМ при ее реализации, а по ключу K∧1 преобразуются коды команд программы Kζi в таблице их связи с кодами машинных команд ИЛЗВС, находящейся в ПЛВ.The obtained stochastic values of command and data codes are used to generate stochastic predicate indices P li , P s using the user's private key K ∧ ° and present them in the form of stochastic combinations I ζli , I ζs of length L >> l bits each
Figure 00000003

Note that simultaneously with the issuance to the user of the next new values of the keys K ∧1 , K ∧2, the security system administrator performs stochastic conversion with the key K ∧2 . codes of data elements of BDZ files on a VZU accessed by the given program using the computer operating system when it is implemented, and K ∧1 keys are used to convert the program codes of the K ζi program in the table for their connection with the machine code codes of the ILZVS located in the PLV.

По стохастическим индексам I (p) ζs производится доступ соответствующим кодам команд программы Kζi, а по стохастическим индексам I (p) ζli осуществляется доступ к логическим выражениям соответствующих предикатов, записанным в БДЗ. Логическое выражение каждого предиката I (p) ζli содержит атомарные формулы вида (K (A) ζi θK (a) ζi ), связывающие коды атрибутов и их значений арифметическим оператором θ сравнения (=, ≥, ≤).By stochastic indices I (p) ζs access is made to the corresponding program codes of the program K ζi , and by stochastic indices I (p) ζli access to logical expressions of the corresponding predicates recorded in the BDZ. The logical expression of each predicate I (p) ζli contains atomic formulas of the form (K (A) ζi θK (a) ζi ), linking the attribute codes and their values with the arithmetic comparison operator θ (=, ≥, ≤).

Эти формулы объединяются логическими связками

Figure 00000004
при этом области значений переменных могут определяться кванторами общности
Figure 00000005
и существования ∃. Логические выражения используются при определении истинности предикатов Pli путем сравнения их в ПЛВ с образцом, представленным значениями соответствующих кодов и атрибутов записей БДЗ, доступ к которым производится по стохастическим индексам I (p) ζli .
Обработка логических выражений посредством сравнения кодов значений атрибутов и их значений с соответствующими значениями кодов записей БДЗ производится в ПЛВ в стохастически преобразованном виде, что обеспечивает их защиту от несанкционированного доступа. При обработке оператора θ, содержащего неравенства, или при необходимости выполнить в ЭВМ, к которой подключена ИЛЗВС, арифметические вычисления стохастические значения K (a) ζi посредством выполнения обратного стохастического преобразования в БСПЗК будут представлены в исходных кодах ЭВМ. При этом для обеспечения защиты числовой информации в указанных видах обработки их значения в исходных кодах ЭВМ предварительно по ключу администратора системы защиты K∧2 подвергаются дополнительному арифметическому стохастическому преобразованию путем умножения (деления) на некоторое переменное случайное число Kζs. При необходимости выдать результаты пользователю их истинное значение восстанавливается путем обратного арифметического преобразования с использованием соответствующих процедур деления (умножения) на это же число Kζs. После завершения обработки логических выражений предикатов производится восстановление стохастических кодов K (a) ζi значений атрибутов.These formulas are combined by logical connectives.
Figure 00000004
in this case, the ranges of values of variables can be determined by common quantifiers
Figure 00000005
and the existence of ∃. Logical expressions are used to determine the truth of the predicates P li by comparing them in the PLV with the sample represented by the values of the corresponding codes and attributes of the BDZ entries, accessed by stochastic indices I (p) ζli .
The processing of logical expressions by comparing the codes of attribute values and their values with the corresponding values of the codes of the BDZ records is performed in the PLC in a stochastically transformed form, which ensures their protection against unauthorized access. When processing the operator θ containing inequalities, or if necessary, perform the stochastic values of K (a) ζi by performing the inverse stochastic transformation in BSPZK will be presented in the source code of the computer. Moreover, to ensure the protection of numerical information in the indicated types of processing, their values in the computer source codes are preliminary subjected to additional arithmetic stochastic transformation by key of the security system administrator K ∧ 2 by multiplying (dividing) by some variable random number K ζs . If it is necessary to give the results to the user, their true value is restored by the inverse arithmetic conversion using the appropriate division (multiplication) procedures by the same number K ζs . After completion of processing of logical expressions of predicates, stochastic codes K (a) ζi attribute values.

В результате выполненных стохастических преобразований кодов сигналов команд программы, данных и формирования индексов предикатов каждое правило продукций протокола программы будет иметь вид
I (p) ζl1 ΛI (p) ζl2 Λ...ΛI (p) ζln _→ I (p) ζs . (6)
На фиг. 3.2 представлены правила продукции протокола реализации программы после стохастического преобразования кодов сигналов команд и данных. Полученному правилу автоматически присваивается стохастический индекс
I (pp) ζl = Cζo(I (p) ζl1 ,I (p) ζl2 ,...,I (p) ζln ,I (p) ζs ), (7)
который применяется для идентификации правила при его обработке. Отметим, что в силу свойств стохастического преобразования при формировании стохастических индексов предикатов и правил продукций обеспечивается требуемая гарантированная вероятность коллизий Pk. Значение Pk определяется длиной комбинации L, количеством n индексируемых элементов и не превышает заданной вероятности ошибки Pош информации в системе
Pk ≤ n22-L < Pош (8)
Это обеспечивает уникальность сформированных индексов и возможность их использования для защиты и произвольного доступа к информации в процессе логического вывода и обработки предикатов.
As a result of the stochastic transformations of the codes of the program command signals, data, and the formation of predicate indices, each rule of the program protocol production will have the form
I (p) ζl1 ΛI (p) ζl2 Λ ... ΛI (p) ζln _ → I (p) ζs . (6)
In FIG. 3.2. Rules of production of the protocol for implementing the program after stochastic conversion of signal codes of commands and data are presented. The resulting rule is automatically assigned a stochastic index
I (pp) ζl = C ζo (I (p) ζl1 , I (p) ζl2 , ..., I (p) ζln , I (p) ζs ), (7)
which is used to identify the rule during its processing. Note that due to the properties of the stochastic transformation during the formation of stochastic predicate indices and production rules, the required guaranteed probability of collisions P k is provided. The value of P k is determined by a combination of length L, the number n of indexed items and does not exceed a predetermined error probability P err information in the system
P k ≤ n February 2 -L <P err (8)
This ensures the uniqueness of the generated indices and the possibility of their use for protection and arbitrary access to information in the process of inference and predicate processing.

Одной из основных проблем, возникающих при реализации продукционных систем является рациональный выбор логически связанных продукций. Это позволит устранить необходимость полного перебора на множестве правил продукций программы после выполнения каждого очередного шага логического вывода, что может привести к комбинаторному взрыву. One of the main problems encountered in the implementation of production systems is the rational choice of logically related products. This will eliminate the need for full enumeration on the set of rules for the program’s products after each next step of the logical conclusion, which can lead to a combinatorial explosion.

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

Figure 00000006
определяют альтернативные направления логического вывода
Figure 00000007

Полученное множество списков {I (p) ζli } разделяется на два подмножества, одно из которых составлено для предикатов условий, другое - для предикатов заключений правил. Оба этих подмножества списков применяются для синтеза программы путем реализации оперативного режима логического вывода с отложенной обработкой предикатов правил, требующих обращения к базе данных и знаний.To solve this problem, a control network structure is automatically formed in the HLSA. It contains sets of rule lists that have identical predicate indices in a condition or conclusion. Such lists are automatically compiled for each of the rule predicates by inclusion in the list with the name I (p) ζli index rule I (pp) ζj , which includes this predicate I (p) ζli . Moreover, by index I (p) ζli the control structure will provide random access to the corresponding list. In general, each list may contain one or more different rule indexes. Obviously, the indices of rules I (pp) ζj , I (pp) ζl , I (pp) ζs having among others the identical predicate I (p) ζli in the condition or conclusion, will be included in the same list and united by logical connectives
Figure 00000006
determine alternative directions of inference
Figure 00000007

The resulting set of lists {I (p) ζli } is divided into two subsets, one of which is composed for condition predicates, the other for rule predicates. Both of these subsets of lists are used to synthesize a program by implementing an operational inference mode with deferred processing of rule predicates that require access to the database and knowledge.

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

Figure 00000008

Затем полученная древовидная структура разделяется на несколько составных продукций (цепочек правил, объединенных логическими связками Λ), каждая из которых обеспечивает независимое определение истинности целевого предиката I (p) ζs соответствующей траектории алгоритма
I (pp) ζj ΛI (pp) ζl Λ...I (pp) ζs _→ I (p) ζs . (10)
Каждой полученной составной продукции присваивается уникальный стохастический индекс I (ps) ζi
I (ps) ζi = Cζo(I (pp) ζl ,I (pp) ζs ,...,I (pp) ζs ,I (p) ζs ). (11)
В результате программа I(prg) будет представлена в виде совокупности составных продукций, описывающих все m возможные траектории обработки информации и позволяющих определить истинность всех целевых предикатов
Figure 00000009

При этом стохастические индексы I (ps) ζi применяются для контроля и управления выбором составных продукций при выполнении программы.In the process of operational inference using the control network structure at index I (p) ζli the predicate of the conclusion (condition) of each subsequent (starting from the first) rule makes access to the rules containing this predicate in the condition (conclusion) of the following rules. As a result, a direct (reverse) sequence of selection of production rules logically connected by identical predicates will be realized and a synthesis of the program algorithm in the form of a logical inference tree will be provided. In this case, the algorithm will be presented in the form of chains of predicates and procedures combined by logical connectives
Figure 00000008

Then, the resulting tree structure is divided into several composite products (chains of rules united by logical connectives Λ), each of which provides an independent determination of the truth of the target predicate I (p) ζs corresponding trajectory of the algorithm
I (pp) ζj ΛI (pp) ζl Λ ... I (pp) ζs _ → I (p) ζs . (ten)
Each resulting composite product is assigned a unique stochastic index I (ps) ζi
I (ps) ζi = C ζo (I (pp) ζl , I (pp) ζs , ..., I (pp) ζs , I (p) ζs ) (eleven)
As a result, program I (prg) will be presented as a set of composite products describing all m possible paths of information processing and allowing to determine the truth of all target predicates
Figure 00000009

Moreover, stochastic indices I (ps) ζi used to control and manage the selection of composite products during the execution of the program.

Описанный выше процесс генерации программы представлен на фиг. 4. На этом чертеже показан фрагмент правил продукций протокола программы в графическом представлении (фиг. 4.1), управляющая сетевая структура (фиг. 4.2), алгоритм программы в виде дерева логического вывода (фиг. 4.3) и составные продукции программы, содержащие коды сигналов команд и данных (фиг. 4.4). The program generation process described above is shown in FIG. 4. This drawing shows a fragment of the rules for the production of the program protocol in a graphical representation (Fig. 4.1), the control network structure (Fig. 4.2), the program algorithm in the form of an inference tree (Fig. 4.3) and composite program products containing command signal codes and data (Fig. 4.4).

Выполнение программы в ИЛЗВС производится посредством последовательной обработки предикатов и реализации кодов сигналов команд поочередно выбираемых составных продукций. При этом стохастические индексы предикатов применяются для произвольного доступа к стохастическим кодам команд программы, логическим выражениям предикатов и реляционным отношениям БДЗ с целью реализации программы и обработки стохастических кодов атрибутов и их значений. В процессе выполнения программы стохастические коды команд программы Kζi применяются для санкционированного доступа к соответствующим кодам машинных команд K (u) ζi ИЛЗВС, записанных для каждой программы в виде таблицы и стохастически изменяемых по ключу K∧3 администратора защиты перед каждым циклом обработки информации.The execution of the program in ILLS is done by sequential processing of predicates and implementation of signal codes of commands of alternately selected composite products. At the same time, stochastic predicate indices are used for random access to stochastic codes of program instructions, logical predicate expressions and relational relations of the BDZ with the aim of implementing the program and processing stochastic attribute codes and their values. During program execution, the stochastic codes of the K ζi program instructions are used for authorized access to the corresponding machine instruction codes K (u) ζi ILDS, recorded for each program in the form of a table and stochastically changed with the key K ∧3 of the security administrator before each information processing cycle.

Как было отмечено выше, изменение кодов команд программы и данных производится по ключам K∧1,K∧2 перед каждым циклом обработки информации. Поэтому контроль санкционированного доступа к таблице связи кодов команд программы с кодами машинных команд ИЛЗВС проводится по стохастическим проверочным суммам I (s) ζi , полученным с использованием каждого предыдущего

Figure 00000010
и вновь преобразованного Ki значения кодов команд программы
Figure 00000011

Каждое значение проверочной суммы I (s) ζi записывается в соответствующую строку таблицы связи кодов команд программы с кодами машинных команд ИЛЗВС. При обращении к этой таблице по очередному значению Kζi кода команды программы соответствующая проверочная сумма
Figure 00000012
формируется повторно и сравнивается с записанной в таблице суммой I (s) ζi . При совпадении сравниваемых значений происходит разрешенный доступ к соответствующему коду K (u) ζi машинной команды ИЛЗВС. В противоположном случае фиксируется попытка несанкционированного доступа к процессу обработки информации. Таким образом, при несовпадении хотя бы одного из сравниваемых значений {I (s) ζi }, соответствующих множеству команд {Kζi}, происходит гарантированное предотвращение несанкционированного доступа. Следовательно, множества стохастически преобразованных команд программы
Figure 00000013
играют роль дополнительных ключей для защиты процесса обработки информации от несанкционированного доступа или воздействия активизированных программных закладок или компьютерных вирусов.As noted above, the program code and data command codes are changed using the keys K ∧ 1 , K ∧ 2 before each information processing cycle. Therefore, the control of authorized access to the table of correlation of program command codes with machine instruction codes of the ILZVS is carried out using stochastic checksum I (s) ζi obtained using each previous
Figure 00000010
and the newly converted K i values of the program command codes
Figure 00000011

Each value of the checksum I (s) ζi recorded in the corresponding row of the table of communication codes of the program commands with the codes of machine commands ILZVS. When accessing this table for the next value K ζi of the program command code, the corresponding checksum
Figure 00000012
re-formed and compared with the sum I recorded in the table (s) ζi . If the compared values coincide, then allowed access to the corresponding code K (u) ζi machine command ILZVS. In the opposite case, an attempt is made to unauthorized access to the information processing process. Thus, if at least one of the compared values {I (s) ζi } corresponding to the set of commands {K ζi }, there is a guaranteed prevention of unauthorized access. Therefore, the sets of stochastically transformed program instructions
Figure 00000013
play the role of additional keys to protect the information processing from unauthorized access or exposure to activated software bookmarks or computer viruses.

С целью контроля корректности программы в БКК после ее синтеза или в процессе выполнения производится сравнение сформированной ранее эталонной и полученной повторно стохастических комбинаций индексов каждой составной продукции программы. При совпадении сравниваемых комбинаций программу считают корректной с заданной гарантированной вероятностью ошибки. В противоположном случае переходят к коррекции программы. In order to control the correctness of the program in the BCC after its synthesis or in the course of execution, a comparison is made of the previously formed reference and repeatedly obtained stochastic combinations of indices of each composite product of the program. If the compared combinations coincide, the program is considered correct with the given guaranteed probability of error. In the opposite case, they proceed to the program correction.

В силу свойств стохастического преобразования ввод в программу ложных кодов элементов данных или команд, а также их искажение, вызванные активизацией ПЗ или KB, воспринимается при контроле как ошибка. Вектор ошибки будет равновероятно распределен по всей длине комбинации стохастического индекса. За счет этого в ходе контроля программы обеспечивается гарантированное значение вероятности необнаруженной ошибки Pош при вводе ложных команд, данных или их искажении, которое независимо от вида искажения информации определяется параметрами выбранного преобразования и числом n контролируемых элементов данных
Pош ≤ n2-L (14)
В случае обнаружения искажения программы ее коррекцию производят с помощью проверочных комбинаций стохастического помехоустойчивого кода. Эти комбинации, предварительно сформированные для каждой составной продукции, обеспечивают при декодировании гарантированное восстановление заданного числа команд, подлежащих реализации до следующей процедуры контроля. Значение вероятности ошибки Pош независимо от вида искажения команд программы в результате информационного воздействия определяется параметрами кода и будет не выше значения (14).
Due to the properties of stochastic transformation, entering into the program false codes of data elements or commands, as well as their distortion caused by activation of the PP or KB, is perceived as an error during control. The error vector will be equally distributed over the entire length of the stochastic index combination. Due to this, during the control of the program, a guaranteed value of the probability of an undetected error Posh is provided when entering false commands, data or their distortion, which regardless of the type of information distortion is determined by the parameters of the selected transformation and the number n of controlled data elements
P Osh ≤ n2 -L (14)
If a program distortion is detected, its correction is performed using test combinations of a stochastic noise-resistant code. These combinations, pre-formed for each composite product, provide, when decoding, a guaranteed restoration of a given number of instructions to be implemented before the next control procedure. The error probability value Psh, regardless of the type of distortion of the program commands as a result of informational impact, is determined by the code parameters and will not be higher than value (14).

Следовательно, если выполнение программы производить по циклам путем обработки в каждом цикле не более заданного количества команд, определяемого исправляющей способностью помехоустойчивого кода, то можно гарантированно с заданной вероятностью ошибки провести коррекцию искаженной программы при НСД, активизации ПЗ или KB. Therefore, if the program is executed in cycles by processing in each cycle no more than a specified number of commands, determined by the correcting ability of the error-correcting code, then it is possible with a given probability of error to correct the distorted program during unloading, activation of the PP or KB.

Как было отмечено выше, для защиты содержания программы производят стохастическое изменение кодов команд и элементов данных перед каждым циклом выполнения программы. С этой целью по ключам K∧1,K∧2 в БСПЗК осуществляется стохастический выбор элементов данных и команд K (A) ζi ,K (a) ζi ,Kζi, используемых при выполнении программы, и повторное формирование их новых стохастических кодов. Затем в БДЗ происходит изменение стохастических значений предикатов I (p) ζl , логически связанных с указанными элементами данных и командами. Для определения индексов предикатов I (p) ζl и правил продукции I (pp) ζl , логически связанных с изменяемыми кодами элементов данных и команд, используют семантические и функциональные связи, поддерживаемые в БДЗ, а также управляющую сетевую структуру ПЛВ. За счет выполнения процедур произвольного доступа, реализуемых с использованием стохастических индексов и кодов, в ИЛЗВС оперативно формируются логические зависимости между кодами элементов данных K (A) ζi ,K (a) ζi , команд Kζi и индексами предикатов I (p) ζl , необходимые для корректного изменения их стохастических значений.As noted above, to protect the contents of the program, a stochastic change of command codes and data elements is performed before each program execution cycle. To this end, stochastic selection of data elements and K commands is carried out using the keys K ∧1 , K ∧2 in the BSPZK (A) ζi , K (a) ζi , K ζi used in the execution of the program, and the re-formation of their new stochastic codes. Then, in the BDZ, the stochastic values of predicates I (p) ζl logically associated with the specified data elements and commands. To determine the predicate indices I (p) ζl and product rules I (pp) ζl , logically associated with variable codes of data elements and commands, use the semantic and functional relationships supported in the BDZ, as well as the control network structure of the PLV. By performing random access procedures implemented using stochastic indices and codes, logical dependencies between the codes of data elements K (A) ζi , K (a) ζi , teams K ζi and predicate indices I (p) ζl necessary for the correct change of their stochastic values.

Исключение изменяемых правил продукций I (pp) ζl и ввод новых кодов K (A) ζi ,K (a) ζi ,Kζi и индексов I (p) ζl ,I (pp) ζl производится посредством реализации процедур модификации содержимого правил продукций с использованием управляющей сетевой структуры ИЛЗВС.Exclusion of Modifiable Product Rules I (pp) ζl and entering new K codes (A) ζi , K (a) ζi , K ζi and indices I (p) ζl , I (pp) ζl It is carried out through the implementation of procedures for modifying the contents of production rules using the control network structure of the ILSA.

Изменение состава и порядка выполнения команд программы производят на основе генерации эквивалентных составных продукций за счет стохастического формирования или исключения дополнительных правил продукций, логически связанных с правилами программы и не изменяющих конечный результат ее обработки. Changing the composition and order of execution of program commands is based on the generation of equivalent composite products due to the stochastic formation or exclusion of additional production rules that are logically related to the program rules and do not change the final result of its processing.

Для стохастического формирования дополнительных правил, логически связанных с командами программы и не изменяющих конечный результат ее обработки, в ИЛЗВС производят заблаговременное формирование для каждой составной продукции I (ps) ζj программы набора дополнительных предикатов {I (p) ζli }, которые являются заведомо истинными при обработке данной составной продукции. Их стохастически преобразуют и кодируют.In order to stochastically form additional rules that are logically connected with the program teams and do not change the final result of its processing, early generation of each composite product (ps) ζj additional predicate collection programs {I (p) ζli }, which are obviously true when processing this composite product. They are stochastically transformed and encoded.

Затем при необходимости сформировать дополнительную команду в виде правила продукций стохастически выбирают один из предикатов I (p) ζli составной продукции I (ps) ζj , который принимают в качестве заключения первого дополнительного правила I (pp) ζl . В качестве предикатов условия стохастически выбирают определенное число заведомо истинных предикатов {I (p) ζli }. При этом для получения очередного дополнительного правила стохастически выбирают предикат из предыдущего дополнительного правила, который принимают в качестве заключения очередного правила, к которому стохастически выбирают предикаты условия.Then, if necessary, form an additional command in the form of a production rule stochastically select one of the predicates I (p) ζli composite products I (ps) ζj which is taken as the conclusion of the first additional rule I (pp) ζl . As predicates, conditions stochastically select a certain number of obviously true predicates {I (p) ζli }. Moreover, to obtain the next additional rule, the predicate is stochastically selected from the previous additional rule, which is taken as the conclusion of the next rule, to which the predicates of the condition are stochastically selected.

Описанную процедуру в ИЛЗВС повторяют стохастическое число раз, при этом дополнительные предикаты {I (p) ζli }, выбранные в качестве условия правила I (pp) ζl , повторно при формировании очередных правил не используют. Затем для обеспечения логической обработки дополнительных правил формируют их новые стохастические индексы I (pp) ζj , которые заносят в списки управляющей сетевой структуры.The described procedure is repeated stochastic in ILSAS a number of times, with additional predicates {I (p) ζli } selected as a condition of rule I (pp) ζl , repeatedly when forming the next rules do not use. Then, to ensure the logical processing of additional rules, their new stochastic indices I are formed (pp) ζj that are listed in the control network structure.

Это обеспечивает свойство открытости ИЛЗВС не только к изменению стохастических кодов команд и данных, но и структуры алгоритмов обработки информации в ходе эксплуатации программного обеспечения. This ensures the openness of the ILSWS not only to changing stochastic codes of commands and data, but also the structure of information processing algorithms during software operation.

Разработанный способ обеспечивает эффективную реализацию и защиту прикладных процессов разных типов: информационных, информационно-вычислительных, информационно-логических и интеллектуальных (обработка знаний). При этом обеспечивается гарантированный с заданной вероятностью ошибки, определяемой параметрами стохастического преобразования, уровень защиты программного обеспечения от несанкционированных доступа и информационных воздействий ПЗ и КВ. The developed method provides effective implementation and protection of various types of application processes: information, information-computing, information-logical and intellectual (knowledge processing). At the same time, the level of software protection against unauthorized access and information impacts of PP and HF, guaranteed with a given probability of error determined by the parameters of stochastic conversion, is provided.

Claims (9)

1. Способ комплексной защиты процесса обработки информации в ЭВМ от несанкционированного доступа, программных закладок и вирусов, отличающийся тем, что в процессе обработки исходную программу автоматически преобразуют и представляют в виде стохастического набора независимых кодов сигналов команд и данных, которые затем подергают стохастическому преобразования и кодированию, для кодирования сигналов команд и данных используют ключи администратора системы защиты, а для кодирования логических связей между командами применяют ключи пользователя, при этом процедуры ввода-вывода, отображения и стохастического преобразования информации защищают от генерации побочных электромагнитных излучений с использованием типовых средств защиты, после чего программу автоматически генерируют в виде стохастических последовательностей кодов сигналов команд и данных, описывающих отдельно все траектории алгоритма программы, перед выполнением в процессоре ЭВМ каждый раз производят стохастическое преобразование кодов сигналов машинных команд с использованием ключа администратора системы защиты, при этом коды сигналов команд программы применяют в качестве ключей для доступа к соответствующим кодам сигналов машинных команд с контролем несанкционированного доступа по стохастически проверочным суммам и реализуют алгоритм программы в виде последовательности кодов сигналов преобразованных команд и данных, при этом арифметические операции сравнения и вычисления производят с кодами сигналов данных в стохастически преобразованном виде, а стохастические коды сигналов команд и данных программы изменяют по ключам администратора системы защиты в каждом цикле выполнения, корректность программы непосредственно контролируют после ее генерации и по завершении выполнения определенного числа команд, в случае обнаружения некорректности программы производят ее коррекцию с помощью стохастических проверочных сумм. 1. A way to comprehensively protect the process of processing information in a computer from unauthorized access, program bookmarks and viruses, characterized in that during processing the original program is automatically converted and presented in the form of a stochastic set of independent codes of command signals and data, which then undergo stochastic conversion and encoding , for encoding the signals of commands and data using the keys of the administrator of the security system, and for encoding the logical connections between the teams use the keys the user, while the procedures of input-output, display and stochastic transformation of information are protected from the generation of spurious electromagnetic radiation using standard means of protection, after which the program is automatically generated in the form of stochastic sequences of codes of command signals and data that describe separately all the trajectories of the program algorithm before execution each time in the computer processor, stochastic conversion of machine command signal codes is performed using the administrator key protection systems, while the program command signal codes are used as keys for accessing the corresponding machine command signal codes with unauthorized access control using stochastically verified sums and implement the program algorithm in the form of a sequence of signal codes of the converted commands and data, while arithmetic operations of comparison and calculation produce with codes of data signals in a stochastically transformed form, and stochastic codes of command signals and program data are changed by hell keys inistratora protection in every execution cycle of the system, the correctness of the program control directly after its generation, and on completion of a certain number of instructions in case of detection of incorrect program produces its correction using stochastic screening amounts. 2. Способ по п.1, отличающийся тем, что контроль несанкционированного доступа по стохастическим кодам сигналов команд программы к каждому соответствующему коду сигналов машинных команд производят с использованием сформированных ранее и полученных повторно стохастических проверочных сумм с применением предыдущего и очередного значений кода сигналов каждой команды программы, при совпадении сравниваемых значений доступ считается разрешенным, при несовпадении хотя бы одного из сравниваемых значений фиксируется попытка несанкционированного доступа к процессу обработки информации. 2. The method according to claim 1, characterized in that the unauthorized access control according to the stochastic codes of the program command signals to each corresponding code of the machine command signals is performed using the previously generated and retransmitted stochastic test sums using the previous and next signal code values of each program command , if the compared values coincide, access is considered allowed, if at least one of the compared values does not match, an unauthorized attempt is made access to the information processing process. 3. Способ по п.1, отличающийся тем, что для предотвращения несанкционированного доступа к процессу обработки информации, реализуемого с использованием существующих программ, разработанных с применением алгоритмических языков, воздействия активизированных программных закладок и вирусов после преобразования исходной программы в начале обработки и представления ее в виде стохастического набора независимых кодов сигналов команд, формируют предикаты логических связей между командами, с использованием которых затем формируют протокол реализации программы в виде набора правил продукций, предикаты условий и заключений которых определяют логические связи в виде условных и безусловных переходов между кодами сигналов команд, что обеспечивает после стохастического преобразования автоматическую генерацию программы в виде стохастических последовательностей кодов сигналов команд и данных, описывающих отдельно все траектории алгоритма программы. 3. The method according to claim 1, characterized in that to prevent unauthorized access to the information processing process, implemented using existing programs developed using algorithmic languages, the impact of activated program bookmarks and viruses after converting the original program at the beginning of processing and presenting it in in the form of a stochastic set of independent codes of command signals, predicates logical connections between teams, using which they then form a protocol program analysis in the form of a set of production rules, the predicates of the conditions and conclusions of which determine logical relationships in the form of conditional and unconditional transitions between command signal codes, which ensures, after stochastic transformation, automatic program generation in the form of stochastic sequences of command signal codes and data describing separately all the algorithm paths programs. 4. Способ по п.1, отличающийся тем, что автоматическую генерацию программы непосредственно перед ее выполнением в процессоре ЭВМ производят посредством стохастического преобразования и кодирования сигналов команд, представленных в виде правил продукций протокола реализации программы, формирования стохастических кодов сигналов индексов предикатов и правил продукций, а также управляющей сетевой структуры в виде набора списков связности индексов правил продукций, имеющих идентичные предикаты в условии или заключении, реализации дедуктивного логического вывода на множестве стохастически преобразованных и кодированных команд с использованием списков управляющей сетевой структуры и формирования последовательности кодов сигналов команд программы в виде составных продукций, при этом стохастические комбинации предикатов условия и заключения правил продукций применяют для произвольного доступа к стохастически преобразованным и логически связанным командам и данным, а также для выполнения процедур обработки логических выражений предикатов программы в стохастически преобразованном виде путем их сравнения со стохастически преобразованными кодами элементов данных базы данных предикатов и элементов данных, полученные последовательности сигналов команд подвергают дополнительному стохастическому преобразованию и формируют индексы каждого правила продукций и составных продукций в виде стохастических комбинаций сигналов, которые затем применяют для контроля корректности программы и управления порядком выполнения сигналов команд при ее реализации. 4. The method according to claim 1, characterized in that the automatic generation of the program immediately before its execution in the computer processor is carried out by stochastic conversion and coding of command signals, presented in the form of rules for the production protocol of the program, generating stochastic codes of signal predicate indices and production rules, as well as a control network structure in the form of a set of connected lists of indexes of production rules that have identical predicates in the condition or conclusion of the implementation of the deduct an inference on a set of stochastically transformed and coded instructions using lists of the control network structure and generating a sequence of codes of program command signals in the form of composite products, while stochastic combinations of condition predicates and conclusion of production rules are used for random access to stochastically transformed and logically related commands and data, as well as to perform procedures for processing logical expressions of predicates of a program in stochastic in the transformed form by comparing them with stochastically transformed codes of data elements of the predicate database and data elements, the obtained signal sequences of the commands are subjected to additional stochastic transformation and form indices of each production rule and composite products in the form of stochastic signal combinations, which are then used to control the correctness of the program and control the order of execution of command signals during its implementation. 5. Способ по п.1, отличающийся тем, что контроль корректности программы после ее генерации или в процессе выполнения производят посредством сравнения сформированного ранее эталонного и полученного повторно для контроля стохастических комбинаций сигналов индексов каждой составной продукции программы, при совпадении сравниваемых комбинаций сигналов программу считают корректной с заданной гарантированной вероятностью ошибки, в противоположном случае переходят к коррекции программы. 5. The method according to claim 1, characterized in that the correctness of the program after its generation or in the process of execution is carried out by comparing the previously formed reference and obtained again to control stochastic combinations of the signals of the indices of each composite product of the program, if the compared combinations of signals coincide, the program is considered correct with a given guaranteed probability of error, in the opposite case, they proceed to the program correction. 6. Способ по п.1, отличающийся тем, что коррекцию программы производят посредством повторного стохастического преобразования и кодирования сигналов команд правил продукций, входящих в корректируемую составную продукцию, формирования комбинаций стохастических индексов каждой команды и сравнения их с полученными ранее эталонными значениями, при несовпадении сравниваемых комбинаций сигналов соответствующие команды считаются некорректными и стираются, восстановление стертых команд при контроле программы после генерации производится путем считывания их эталонных значений, а восстановление кодов сигналов команд программы в процессе ее реализации выполняется с помощью проверочных комбинаций стохастического помехоустойчивого кода, полученных предварительно для каждой составной продукции и обеспечивающих при декодировании гарантированное восстановление заданного числа кодов сигналов команд, подлежащих реализации до следующей процедуры контроля. 6. The method according to claim 1, characterized in that the correction of the program is carried out by repeated stochastic conversion and coding of the signals of the rules of production rules included in the adjusted composite products, forming combinations of stochastic indices of each team and comparing them with the previously obtained reference values, if the compared signal combinations, the corresponding commands are considered incorrect and erased, the restoration of erased commands during program control after generation is performed Uteem reading their reference values, and the recovery command signals program codes in the implementation process is performed using parity combinations stochastic error-correcting code obtained previously for each composite products and providing in decoding guaranteed recovery predetermined number of instruction signals codes to be implemented until the next control procedure. 7. Способ по п.1, отличающийся тем, что стохастическое изменение кодов сигналов команд и элементов данных производят после каждого цикла выполнения программы путем стохастического выбора элементов данных, используемых при выполнении программы и записанных в базе данных, повторного формирования их новых стохастических кодов и соответствующего изменения кодов сигналов команд и предикатов, логических связанных с указанными элементами данных, при этом возможно независимое от кодов элементов данных изменение кодов сигналов команд программы и машинных команд. 7. The method according to claim 1, characterized in that the stochastic change of the signal codes of the commands and data elements is performed after each program execution cycle by stochastic selection of the data elements used in the program execution and recorded in the database, re-generating their new stochastic codes and the corresponding changing the codes of the signal commands and predicates, logical associated with the specified data elements, while possibly independent of the codes of the data elements changing the codes of the signal commands of the program s and machine instructions. 8. Способ по п. 1, отличающийся тем, что изменение состава и порядка выполнения кодов сигналов команд программы производят путем стохастической генерации эквивалентных составных продукций за счет стохастического формирования или исключения дополнительных команд, логически связанных с командами программы и не изменяющих конечный результат ее обработки. 8. The method according to p. 1, characterized in that the composition and the order of execution of the codes of the program command signals are produced by stochastic generation of equivalent composite products due to the stochastic generation or exclusion of additional commands that are logically associated with the program commands and do not change the final result of its processing. 9. Способ по п. 1, отличающийся тем, что для стохастического формирования дополнительных команд, логически связанных с командами программы и не изменяющих конечный результат ее обработки, производят заблаговременное формирование для каждой составной продукции программы набора дополнительных предикатов, которые являются заведомо истинными при обработке данной составной продукции, их стохастически преобразуют и кодируют, затем, при необходимости сформировать дополнительную команду в виде правила продукции, стохастически выбирают один из предикатов составной продукции, который принимают в качестве заключения первого дополнительного правила, в качестве предикатов условия стохастически выбирают определенное число заведомо истинных предикатов, затем, для получения очередного дополнительного правила, стохастически выбирают предикат из предыдущего дополнительного правила, который принимают в качестве заключения очередного правила, к которому стохастически выбирают предикаты условия, описанную процедуру повторяют стохастическое число раз, при этом дополнительные предикаты, выбранные в качестве условия правила, повторно при формировании очередных правил не используют, затем для обеспечения логической обработки дополнительных правил формируют их стохастические индексы, которые заносят в списки связности индексов правил продукций управляющей сетевой структуры. 9. The method according to p. 1, characterized in that for the stochastic formation of additional teams that are logically connected with the program commands and do not change the final result of its processing, produce in advance for each composite product program a set of additional predicates that are obviously true when processing this composite products, they are stochastically transformed and encoded, then, if necessary, form an additional command in the form of a production rule, stochastically choose one from the predicates of the composite product, which is taken as the conclusion of the first additional rule, as a predicate of the conditions, a certain number of obviously true predicates are stochastically selected, then, to obtain the next additional rule, a stochastic predicate is selected from the previous additional rule, which is taken as the conclusion of the next rule, to which the predicates of the condition are stochastically selected, the described procedure is repeated stochastically a number of times, with additional n edikaty selected as rule conditions, again in forming the next rule is not used, then processing logic for providing additional rules form their stochastic codes that are entered into the lists of connectivity indices production rules control the network structure.
RU98100573A 1998-01-09 1998-01-09 Method for complex protection of information processing in computer against unauthorized acs, inspection bookmarks and viruses RU2137185C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU98100573A RU2137185C1 (en) 1998-01-09 1998-01-09 Method for complex protection of information processing in computer against unauthorized acs, inspection bookmarks and viruses

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU98100573A RU2137185C1 (en) 1998-01-09 1998-01-09 Method for complex protection of information processing in computer against unauthorized acs, inspection bookmarks and viruses

Publications (1)

Publication Number Publication Date
RU2137185C1 true RU2137185C1 (en) 1999-09-10

Family

ID=20201151

Family Applications (1)

Application Number Title Priority Date Filing Date
RU98100573A RU2137185C1 (en) 1998-01-09 1998-01-09 Method for complex protection of information processing in computer against unauthorized acs, inspection bookmarks and viruses

Country Status (1)

Country Link
RU (1) RU2137185C1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003005638A1 (en) * 2001-07-05 2003-01-16 Gurov, Georgy Borisovich Method for an integrated protection system of data distributed processing in computer networks and system for carrying out said method
WO2006022566A1 (en) * 2004-07-26 2006-03-02 Stochasto Asa Method for protecting computer systems against encrypted and polymorphous viruses
RU2448365C2 (en) * 2006-04-10 2012-04-20 Траст Интегрейшн Сервисиз Б.В. Apparatus and method for secure data transmission
RU2468428C2 (en) * 2008-03-14 2012-11-27 Морфо Method for protection of programme execution

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Насыпный В.В. Синтез систем обработки информации с защитой от программных закладок и вирусов. -М.: ВТИ, 1997, с.28. *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003005638A1 (en) * 2001-07-05 2003-01-16 Gurov, Georgy Borisovich Method for an integrated protection system of data distributed processing in computer networks and system for carrying out said method
WO2006022566A1 (en) * 2004-07-26 2006-03-02 Stochasto Asa Method for protecting computer systems against encrypted and polymorphous viruses
RU2448365C2 (en) * 2006-04-10 2012-04-20 Траст Интегрейшн Сервисиз Б.В. Apparatus and method for secure data transmission
RU2468428C2 (en) * 2008-03-14 2012-11-27 Морфо Method for protection of programme execution

Similar Documents

Publication Publication Date Title
Blanchet et al. ProVerif 2.00: automatic cryptographic protocol verifier, user manual and tutorial
US6842862B2 (en) Tamper resistant software encoding
KR101961843B1 (en) Stochastic processing
Halfond et al. AMNESIA: analysis and monitoring for neutralizing SQL-injection attacks
US20050166191A1 (en) System and method for obscuring bit-wise and two&#39;s complement integer computations in software
CN104919750B (en) Calculate the computing device and method of the data function on function input value
US20080235802A1 (en) Software Tamper Resistance Via Integrity-Checking Expressions
Shao et al. Formal analysis of enhanced authorization in the TPM 2.0
Amirtahmasebi et al. A survey of SQL injection defense mechanisms
Manikyam Program protection using software based hardware abstraction
Ahuja et al. On preventing SQL injection attacks
Menguy et al. Search-based local black-box deobfuscation: understand, improve and mitigate
RU2137185C1 (en) Method for complex protection of information processing in computer against unauthorized acs, inspection bookmarks and viruses
WO2021019341A1 (en) Systems, methods, and storage media for producing verifiable protected code
Yang et al. Towards code watermarking with dual-channel transformations
Bafghi A Simple and Fast Technique for Detection and Prevention of SQL Injection Attacks (SQLIAs)
Amir-Mohammadian et al. In-depth enforcement of dynamic integrity taint analysis
Tamrawi et al. Projected control graph for computing relevant program behaviors
Styugin et al. New approach to software code diversification in interpreted languages based on the moving target technology
Lashkaripour et al. A security analysis tool for web application reinforcement against SQL injection attacks (SQLIAs)
Mohsen Quantitative measures for code obfuscation security
Li et al. Code Obfuscation Based on Inline Split of Control Flow Graph
Coniglio Combining program synthesis and symbolic execution to deobfuscate binary code
Canetti et al. Using task-structured probabilistic I/O automata to analyze an oblivious transfer protocol
Qassir et al. SCLang: Graphical Domain-Specific Modeling Language for Stream Cipher

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20080110