RU2364929C2 - Generation method of databases for systems of verification of distributed computer complexes software and device for its implementation - Google Patents

Generation method of databases for systems of verification of distributed computer complexes software and device for its implementation Download PDF

Info

Publication number
RU2364929C2
RU2364929C2 RU2006130518/09A RU2006130518A RU2364929C2 RU 2364929 C2 RU2364929 C2 RU 2364929C2 RU 2006130518/09 A RU2006130518/09 A RU 2006130518/09A RU 2006130518 A RU2006130518 A RU 2006130518A RU 2364929 C2 RU2364929 C2 RU 2364929C2
Authority
RU
Russia
Prior art keywords
software
source code
vulnerability
code
verification
Prior art date
Application number
RU2006130518/09A
Other languages
Russian (ru)
Other versions
RU2006130518A (en
Inventor
Федор Михайлович Пучков (RU)
Федор Михайлович Пучков
Кирилл Александрович Шапченко (RU)
Кирилл Александрович Шапченко
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 RU2006130518/09A priority Critical patent/RU2364929C2/en
Publication of RU2006130518A publication Critical patent/RU2006130518A/en
Application granted granted Critical
Publication of RU2364929C2 publication Critical patent/RU2364929C2/en

Links

Images

Abstract

FIELD: physics; computer facilities.
SUBSTANCE: invention concerns resources of automation of training and scientific researches and can be used in interactive systems in the course of software verification (S/W) of the distributed computer complexes. In the given way and the device complete controllability and observability of the main processes of check of a S/W source code is provided, processes of input and processing of a S/W source code on dependent or independent interface channels are combined. Sites or points of vulnerability of a S/W source code are determined on the basis of conversion of a S/W source code in an internal form which is stored in sort of databases, and points or vulnerability sites of a S/W source code are determined on the basis of automatic compilation and solution of appropriate set of equationses. Thus diagnostics of process of verification of a S/W source code is carried out on the basis of measurement of duration of performance of the main stages (cycles) of search of vulnerability and comparison of the received knowledge to earlier ordered or predicted estimations of a metric of criticality of vulnerability of a S/W source code.
EFFECT: expansion of functionality of processes of S/W verification.
10 cl, 39 dwg

Description

Текст описания приведен в факсимильном виде.

Figure 00000001
Figure 00000002
Figure 00000003
Figure 00000004
Figure 00000005
Figure 00000006
Figure 00000007
Figure 00000008
Figure 00000009
Figure 00000010
Figure 00000011
Figure 00000012
Figure 00000013
Figure 00000014
Figure 00000015
Figure 00000016
Figure 00000017
Figure 00000018
Figure 00000019
Figure 00000020
Figure 00000021
Figure 00000022
Figure 00000023
Figure 00000024
Figure 00000025
Figure 00000026
Figure 00000027
Figure 00000028
Figure 00000029
Figure 00000030
Figure 00000031
Figure 00000032
Figure 00000033
Figure 00000034
Figure 00000035
Figure 00000036
Figure 00000037
Figure 00000038
Figure 00000039
Figure 00000040
Figure 00000041
Figure 00000042
Figure 00000043
Figure 00000044
Figure 00000045
Figure 00000046
Figure 00000047
Figure 00000048
Figure 00000049
Figure 00000050
Figure 00000051
Figure 00000052
Figure 00000053
Figure 00000054
Figure 00000055
Figure 00000056
Figure 00000057
Figure 00000058
Figure 00000059
Figure 00000060
Figure 00000061
Figure 00000062
Figure 00000063
Figure 00000064
Figure 00000065
Figure 00000066
Figure 00000067
Figure 00000068
Figure 00000069
Figure 00000070
Figure 00000071
Figure 00000072
Figure 00000073
Figure 00000074
Figure 00000075
Figure 00000076
Figure 00000077
Figure 00000078
Figure 00000079
Figure 00000080
Figure 00000081
Figure 00000082
Figure 00000083
The text of the description is given in facsimile form.
Figure 00000001
Figure 00000002
Figure 00000003
Figure 00000004
Figure 00000005
Figure 00000006
Figure 00000007
Figure 00000008
Figure 00000009
Figure 00000010
Figure 00000011
Figure 00000012
Figure 00000013
Figure 00000014
Figure 00000015
Figure 00000016
Figure 00000017
Figure 00000018
Figure 00000019
Figure 00000020
Figure 00000021
Figure 00000022
Figure 00000023
Figure 00000024
Figure 00000025
Figure 00000026
Figure 00000027
Figure 00000028
Figure 00000029
Figure 00000030
Figure 00000031
Figure 00000032
Figure 00000033
Figure 00000034
Figure 00000035
Figure 00000036
Figure 00000037
Figure 00000038
Figure 00000039
Figure 00000040
Figure 00000041
Figure 00000042
Figure 00000043
Figure 00000044
Figure 00000045
Figure 00000046
Figure 00000047
Figure 00000048
Figure 00000049
Figure 00000050
Figure 00000051
Figure 00000052
Figure 00000053
Figure 00000054
Figure 00000055
Figure 00000056
Figure 00000057
Figure 00000058
Figure 00000059
Figure 00000060
Figure 00000061
Figure 00000062
Figure 00000063
Figure 00000064
Figure 00000065
Figure 00000066
Figure 00000067
Figure 00000068
Figure 00000069
Figure 00000070
Figure 00000071
Figure 00000072
Figure 00000073
Figure 00000074
Figure 00000075
Figure 00000076
Figure 00000077
Figure 00000078
Figure 00000079
Figure 00000080
Figure 00000081
Figure 00000082
Figure 00000083

Claims (10)

1. Способ генерации баз данных для систем верификации программного обеспечения (ПО) распределенных вычислительных комплексов включает совмещение процессов ввода и обработки исходного кода ПО по зависимым или независимым каналам на основе использования сенсорных или механических манипуляторов рабочего места оператора ЭВМ, сетевых интерфейсов локальной или глобальной сети, при этом участки или точки уязвимости исходного кода ПО определяют на основе преобразования исходного кода ПО во внутреннее представление, которое хранят в виде баз данных, а точки или участки уязвимости исходного кода ПО определяют на основе автоматического составления и решения соответствующих систем уравнений, при этом диагностику процесса верификации исходного кода ПО осуществляют на основе измерения длительности выполнения основных этапов (циклов) поиска уязвимости и сопоставления полученных знаний с ранее предписанными или предсказанными оценками показателя критичности уязвимости исходного кода ПО.1. A method for generating databases for software verification systems (software) of distributed computing systems includes combining input and processing processes of software source code through dependent or independent channels based on the use of touch or mechanical manipulators of a workstation of a computer operator, network interfaces of a local or global network, wherein the sections or vulnerability points of the software source code are determined based on the conversion of the software source code to the internal representation, which is stored in the form of a ba data, and points or areas of vulnerability of the source code of the software are determined on the basis of automatic compilation and solution of the corresponding systems of equations, while the diagnostics of the verification process of the source code of the software is carried out on the basis of measuring the duration of the main stages (cycles) of searching for vulnerabilities and comparing the acquired knowledge with previously prescribed or predicted estimates of the criticality index of the vulnerability of the software source code. 2. Способ по п.1, отличающийся тем, что в процессе верификации исходного кода ПО на экране блока видеоконтроля (БВ) аппаратно-программного блока процессорного управления осуществляют синтаксическую подсветку для визуализации участков уязвимости исходного кода ПО, при этом используют граф операторов исходного кода ПО во внутреннем представлении инструкций языка программирования.2. The method according to claim 1, characterized in that in the process of verifying the source code of the software on the screen of the video control unit (BV) of the hardware-software unit of the processor control, syntax highlighting is performed to visualize areas of vulnerability of the source software code, using the graph of the operators of the source software code in the internal representation of programming language instructions. 3. Способ по п.1, отличающийся тем, что внутреннее представление исходного кода ПО на языке программирования Си представляется в виде динамических массивов и соответствующих баз данных, которые используются в реальном масштабе времени для верификации ПО распределенных вычислительных комплексов.3. The method according to claim 1, characterized in that the internal representation of the source code of the software in the C programming language is represented in the form of dynamic arrays and corresponding databases that are used in real time to verify software for distributed computing systems. 4. Способ по п.1, отличающийся тем, что точки или участки уязвимости исходного кода ПО определяют на основе автоматического составления и решения линейных систем уравнений.4. The method according to claim 1, characterized in that the points or areas of vulnerability of the source code are determined on the basis of the automatic compilation and solution of linear systems of equations. 5. Способ по п.1, отличающийся тем, что в качестве зависимых каналов используют интерфейсы жестких, гибких или оптических дисков.5. The method according to claim 1, characterized in that the interfaces of hard, flexible or optical disks are used as dependent channels. 6. Способ по п.1, отличающийся тем, что в качестве независимых каналов используют интерфейс последовательного порта или сетевой интерфейс.6. The method according to claim 1, characterized in that as independent channels use a serial port interface or a network interface. 7. Способ по п.1, отличающийся тем, что в качестве независимых каналов используют интерфейс последовательного порта или сетевой интерфейс, а в качестве зависимых каналов используют интерфейсы жестких, гибких или оптических дисков.7. The method according to claim 1, characterized in that as independent channels use a serial port interface or a network interface, and as dependent channels use interfaces of hard, flexible or optical disks. 8. Способ по любому из пп.1-7, отличающийся тем, что осуществляют генерацию баз данных на основе использования отчетов об обнаруженных уязвимостях исходного кода программного обеспечения, которые содержат: поле указаний на местоположение возможной уязвимости в исходном коде программы, включающее имя файла листинга программы, номер строки и номер позиции в строке программы в котором возможно переполнение буфера запоминающего устройства ЭВМ, контекст исходной программы, содержащий возможное переполнение или некоторую «окрестность» потенциально опасной точки переполнения буфера запоминающего устройства ЭВМ;
поле указания на причины переполнения буфера запоминающего устройства ЭВМ - значения исходных переменных, приводящих к возникновению уязвимости исходного кода программного обеспечения;
показатель критичности уязвимости исходного кода программного обеспечения;
поле указания на перечень правил или алгоритмов для устранения уязвимости исходного кода программного обеспечения.
8. The method according to any one of claims 1 to 7, characterized in that they generate databases based on the use of reports on detected vulnerabilities in the source code of the software, which contain: a field indicating the location of a possible vulnerability in the source code of the program, including the name of the listing file programs, line number and position number in the line of the program in which the buffer of the computer storage device may overflow, the context of the original program containing the possible overflow or some “neighborhood” of potential socially dangerous point of buffer overflow of computer storage device;
field of indication of the reasons for the buffer overflow of the computer storage device - the values of the source variables that lead to a vulnerability in the source code of the software;
vulnerability criticality indicator of software source code;
field indicating a list of rules or algorithms for eliminating vulnerabilities in software source code.
9. Устройство для генерации баз данных систем верификации программного обеспечения (ПО) распределенных вычислительных комплексов (СВПО РВК), содержащее аппаратно-программный блок (АПБ) лексического и семантического анализа/разбора, АПБ преобразования кода, АПБ анализа кода, АПБ процессорного управления, видео адаптер, интерфейсы жестких, гибких и оптических дисков, интерфейс последовательного порта, сетевой интерфейс и системную память, которые объединены системной шиной, при этом системная память содержит постоянное запоминающее устройство (ROM) и оперативное запоминающее устройство (RAM/ОЗУ), в ячейках оперативной памяти и жестких дисков размещают/записывают операционные системы, прикладные программы, базы данных и базы знаний, которые содержат листинги исходных программ, грамматику языка программирования (например, грамматику языка программирования Си), правила преобразования дерева разбора листинга программы, дерево разбора листинга программы, таблицу типов языка программирования, аннотации внешних функций, включающие их грамматику и семантику, код программ на языке внутреннего представления, условия корректности языка внутреннего представления исходного кода программы, условия проверки корректности подозрительных точек исходного кода программы, информационная база, содержащая системы ограничений в виде алгебраических уравнений и неравенств, отчеты об обнаруженных уязвимостях программного кода включают:
указание на местоположение возможной уязвимости в исходном коде программы, которое содержит имя файла листинга программы, номер строки и номер позиции в строке программы в котором возможно переполнение буфера запоминающего устройства, контекст исходной программы, содержащий возможное переполнение или некоторую «окрестность» потенциально опасной точки переполнения буфера запоминающего устройства;
указание причины переполнения буфера запоминающего устройства - значения исходных переменных, приводящих к возникновению уязвимости исходного кода программного обеспечения;
показатель или степень критичности обнаруженной уязвимости исходного кода программного обеспечения;
указание на перечень правил или алгоритмов для устранения уязвимости исходного кода программного обеспечения,
АПБ процессорного управления предназначен для обработки сигналов, возникающих на системной шине устройства в процессе работы АПБ лексического и синтаксического анализа/разбора, АПБ преобразования кода, и АПБ анализа кода,
а блок видеоконтроля (БВ) АПБ процессорного управления предназначен для визуализации на экране синтаксической подсветки участков уязвимости ИК ПО в процессе верификации.
9. A device for generating databases of software verification systems (software) of distributed computing systems (SVPO RVK), containing a hardware-software unit (АПБ) of lexical and semantic analysis / parsing, АПБ code conversion, АПБ code analysis, АПБ processor control, video adapter, interfaces of hard, flexible and optical disks, serial port interface, network interface and system memory, which are combined by the system bus, while the system memory contains read-only memory property (ROM) and random access memory (RAM / RAM), in the cells of RAM and hard disks place / write operating systems, applications, databases and knowledge bases that contain listings of source programs, a grammar of a programming language (for example, a grammar of a language programming), rules for converting a tree for parsing a listing of a program, a tree for parsing a listing of a program, a table of types of a programming language, annotations of external functions, including their grammar and semantics, code of programs in the language ie internal representations, conditions for the language of the internal representation of the source code, the terms of validating suspicious source code of points, information base, containing a system of constraints in the form of algebraic equations and inequalities, reports on the detection of code vulnerabilities include:
an indication of the location of a possible vulnerability in the source code of the program, which contains the name of the program listing file, line number and position number in the line of the program in which the buffer of the storage device may overflow, the context of the source program containing the possible overflow or some “vicinity” of a potentially dangerous buffer overflow point a storage device;
an indication of the reason for the buffer overflow of the storage device — the values of the source variables that lead to a vulnerability in the source code of the software;
an indicator or severity of the detected software source code vulnerability;
an indication of a list of rules or algorithms to eliminate the vulnerability of the software source code,
APB processor control is designed to process signals that occur on the device’s system bus during operation of the АПБ lexical and syntactic analysis / parsing, АПБ code conversion, and АПБ code analysis,
and the video control unit (BV) of the APB processor control is intended for visualizing on the screen the syntax highlighting of sections of the vulnerability of the IR software during the verification process.
10. Устройство по п.9, отличающееся тем, что аппаратно-программный блок процессорного управления, обеспечивающий синхронизацию основных режимов интерактивной верификации программного обеспечения распределенных вычислительных комплексов, содержит последовательно соединенные блок нормирующих преобразователей (БНП), модуль коммутатора, модуль аналого-цифрового преобразователя (АЦП), модуль формирования статических координат графоаналитического растра (МФСКГАР), блок видеоконтроля (БВ), импульсный регулятор (ИР) и модуль формирования динамической развертки графо-аналитического растра (МФДРГАР), первый и второй информационные входы/выходы которого соединены соответственно с управляющими входами модуля коммутации и аналого-цифрового преобразователя, а третий, четвертый, пятый, шестой, седьмой и восьмой - с вторым, третьим, четвертым, пятым, шестым и седьмым информационными входами/выходами МФСКГАР, при этом второй вход блока видеоконтроля объединен с седьмым информационным входом/выходом МФСКГАР и восьмым информационным входом/выходом МФДРГАР. 10. The device according to claim 9, characterized in that the hardware-software processor control unit, which provides synchronization of the main modes of interactive verification of software of distributed computing systems, contains series-connected unit of normalizing converters (BNP), a switch module, an analog-to-digital converter module ( ADC), a module for generating static coordinates of a graphic-analytical raster (MFSKGAR), a video control unit (BV), a pulse controller (IR), and a module for generating a graphic-analytical raster (MFDRGAR) scan, the first and second information inputs / outputs of which are connected to the control inputs of the switching module and the analog-to-digital converter, and the third, fourth, fifth, sixth, seventh and eighth with the second, third, fourth , the fifth, sixth and seventh information inputs / outputs of the MSCSAR, while the second input of the video monitoring unit is combined with the seventh information input / output of the MFSKGAR and the eighth information input / output of the MFSRGAR.
RU2006130518/09A 2006-08-24 2006-08-24 Generation method of databases for systems of verification of distributed computer complexes software and device for its implementation RU2364929C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2006130518/09A RU2364929C2 (en) 2006-08-24 2006-08-24 Generation method of databases for systems of verification of distributed computer complexes software and device for its implementation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2006130518/09A RU2364929C2 (en) 2006-08-24 2006-08-24 Generation method of databases for systems of verification of distributed computer complexes software and device for its implementation

Publications (2)

Publication Number Publication Date
RU2006130518A RU2006130518A (en) 2008-02-27
RU2364929C2 true RU2364929C2 (en) 2009-08-20

Family

ID=39278665

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2006130518/09A RU2364929C2 (en) 2006-08-24 2006-08-24 Generation method of databases for systems of verification of distributed computer complexes software and device for its implementation

Country Status (1)

Country Link
RU (1) RU2364929C2 (en)

Also Published As

Publication number Publication date
RU2006130518A (en) 2008-02-27

Similar Documents

Publication Publication Date Title
Alur et al. Model checking of hierarchical state machines
US10318595B2 (en) Analytics based on pipes programming model
US9122540B2 (en) Transformation of computer programs and eliminating errors
CN111104335B (en) C language defect detection method and device based on multi-level analysis
CN102662825B (en) Method for detecting memory leakage of heap operational program
CN110688544A (en) Method, device and storage medium for querying database
CN108763064B (en) Code test generation method and device based on black box function and machine learning
Kusano et al. Thread-modular static analysis for relaxed memory models
US10275238B2 (en) Hybrid program analysis
KR102013657B1 (en) Apparatus for statically analyzing assembly code including assoxiated multi files
Boigelot et al. Counting the solutions of Presburger equations without enumerating them
RU2364929C2 (en) Generation method of databases for systems of verification of distributed computer complexes software and device for its implementation
Swain et al. OpenRace: An open source framework for statically detecting data races
RU2373570C2 (en) Method for software verification in distributed computer complexes and system for its realisation
RU2373569C2 (en) Method for generation of databases and knowledge bases for systems of software verification in distributed computer complexes and device for its realisation
Beine A model-based reference workflow for the development of safety-critical software
RU2006130519A (en) METHOD FOR KNOWLEDGE BASES FOR SYSTEMS FOR VERIFICATION OF SOFTWARE OF DISTRIBUTED COMPUTER COMPLEXES AND DEVICE FOR ITS IMPLEMENTATION
Mandal et al. A static analyzer for Industrial robotic applications
CN114691197A (en) Code analysis method and device, electronic equipment and storage medium
CN114138669A (en) Software automatic testing method based on function level selection symbolized mixed execution
CN114968751A (en) Program debugging method and program debugging device of code-free development platform
CN109948346A (en) A kind of loophole PoC implementation method and device
JP2015043140A (en) Source code generation device
CN117555811B (en) Embedded software analysis method, device and storage medium based on static symbol execution
Zhu et al. False positive elimination in suspected code fault automatic confirmation

Legal Events

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

Effective date: 20090606