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 PDFInfo
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
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",
После этого программу автоматически генерируют в виде стохастических последовательностей кодов сигналов команд и данных, описывающих отдельно все траектории алгоритма программы. Перед выполнением программы в процессоре ЭВМ каждый раз производят стохастическое преобразование кодов сигналов машинных команд с использованием ключа администратора системы защиты. Коды сигналов команд программы применяют в качестве ключей для доступа к соответствующим кодам сигналов машинных команд с контролем несанкционированного доступа по стохастически проверочным суммам. 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
где 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
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
Для обратного стохастического преобразования используется обратная таблица внутриблочного перемешивания элементов Uζi внутри комбинации сигналов Kζi,K
Uj= Uζj°C
и, соответственно, значения исходных кодов сигналов команд 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
U j = U ζj ° C
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бит каждая
Отметим, что одновременно с выдачей пользователю очередных новых значений ключей 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
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
Эти формулы объединяются логическими связками при этом области значений переменных могут определяться кванторами общности и существования ∃. Логические выражения используются при определении истинности предикатов Pli путем сравнения их в ПЛВ с образцом, представленным значениями соответствующих кодов и атрибутов записей БДЗ, доступ к которым производится по стохастическим индексам I
Обработка логических выражений посредством сравнения кодов значений атрибутов и их значений с соответствующими значениями кодов записей БДЗ производится в ПЛВ в стохастически преобразованном виде, что обеспечивает их защиту от несанкционированного доступа. При обработке оператора θ, содержащего неравенства, или при необходимости выполнить в ЭВМ, к которой подключена ИЛЗВС, арифметические вычисления стохастические значения K
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
В результате выполненных стохастических преобразований кодов сигналов команд программы, данных и формирования индексов предикатов каждое правило продукций протокола программы будет иметь вид
I
На фиг. 3.2 представлены правила продукции протокола реализации программы после стохастического преобразования кодов сигналов команд и данных. Полученному правилу автоматически присваивается стохастический индекс
I
который применяется для идентификации правила при его обработке. Отметим, что в силу свойств стохастического преобразования при формировании стохастических индексов предикатов и правил продукций обеспечивается требуемая гарантированная вероятность коллизий 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
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
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
Полученное множество списков {I
The resulting set of lists {I
В процессе оперативного логического вывода с использованием управляющей сетевой структуры по индексу I
Затем полученная древовидная структура разделяется на несколько составных продукций (цепочек правил, объединенных логическими связками Λ), каждая из которых обеспечивает независимое определение истинности целевого предиката I
I
Каждой полученной составной продукции присваивается уникальный стохастический индекс I
I
В результате программа I(prg) будет представлена в виде совокупности составных продукций, описывающих все m возможные траектории обработки информации и позволяющих определить истинность всех целевых предикатов
При этом стохастические индексы I
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
I
Each resulting composite product is assigned a unique stochastic index I
I
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
Moreover, stochastic indices I
Описанный выше процесс генерации программы представлен на фиг. 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
Как было отмечено выше, изменение кодов команд программы и данных производится по ключам K∧1,K∧2 перед каждым циклом обработки информации. Поэтому контроль санкционированного доступа к таблице связи кодов команд программы с кодами машинных команд ИЛЗВС проводится по стохастическим проверочным суммам I
Каждое значение проверочной суммы I
Each value of the checksum I
С целью контроля корректности программы в БКК после ее синтеза или в процессе выполнения производится сравнение сформированной ранее эталонной и полученной повторно стохастических комбинаций индексов каждой составной продукции программы. При совпадении сравниваемых комбинаций программу считают корректной с заданной гарантированной вероятностью ошибки. В противоположном случае переходят к коррекции программы. 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
Исключение изменяемых правил продукций I
Изменение состава и порядка выполнения команд программы производят на основе генерации эквивалентных составных продукций за счет стохастического формирования или исключения дополнительных правил продукций, логически связанных с правилами программы и не изменяющих конечный результат ее обработки. 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
Затем при необходимости сформировать дополнительную команду в виде правила продукций стохастически выбирают один из предикатов I
Описанную процедуру в ИЛЗВС повторяют стохастическое число раз, при этом дополнительные предикаты {I
Это обеспечивает свойство открытости ИЛЗВС не только к изменению стохастических кодов команд и данных, но и структуры алгоритмов обработки информации в ходе эксплуатации программного обеспечения. 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)
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)
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 |
-
1998
- 1998-01-09 RU RU98100573A patent/RU2137185C1/en not_active IP Right Cessation
Non-Patent Citations (1)
Title |
---|
Насыпный В.В. Синтез систем обработки информации с защитой от программных закладок и вирусов. -М.: ВТИ, 1997, с.28. * |
Cited By (4)
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 | |
Halfond et al. | AMNESIA: analysis and monitoring for neutralizing SQL-injection attacks | |
KR101772002B1 (en) | Stochastic processing | |
US20050166191A1 (en) | System and method for obscuring bit-wise and two'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 | |
Sahai et al. | Verification of quantitative hyperproperties using trace enumeration relations | |
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 | |
Styugin et al. | New approach to software code diversification in interpreted languages based on the moving target technology | |
Amir-Mohammadian et al. | In-depth enforcement of dynamic integrity taint analysis | |
Bafghi | A Simple and Fast Technique for Detection and Prevention of SQL Injection Attacks (SQLIAs) | |
Lashkaripour et al. | A security analysis tool for web application reinforcement against SQL injection attacks (SQLIAs) | |
Tamrawi et al. | Projected control graph for computing relevant program behaviors | |
Mohsen | Quantitative measures for code obfuscation security | |
Li et al. | Code Obfuscation Based on Inline Split of Control Flow Graph | |
Mohammadi et al. | Automated detecting and repair of cross-site scripting vulnerabilities | |
JP2007157021A (en) | System for distributing tamper resistance authentication portable program and method therefor | |
Coniglio | Combining program synthesis and symbolic execution to deobfuscate binary code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20080110 |