RU2622622C1 - System to analyse software for absence of undeclared capabilities - Google Patents

System to analyse software for absence of undeclared capabilities Download PDF

Info

Publication number
RU2622622C1
RU2622622C1 RU2016110533A RU2016110533A RU2622622C1 RU 2622622 C1 RU2622622 C1 RU 2622622C1 RU 2016110533 A RU2016110533 A RU 2016110533A RU 2016110533 A RU2016110533 A RU 2016110533A RU 2622622 C1 RU2622622 C1 RU 2622622C1
Authority
RU
Russia
Prior art keywords
software
block
source
files
input
Prior art date
Application number
RU2016110533A
Other languages
Russian (ru)
Inventor
Максим Николаевич Горюнов
Павел Вячеславович Мельников
Павел Владимирович Закалкин
Сергей Анатольевич Воробьев
Дмитрий Владимирович Анисимов
Константин Евгеньевич Петров
Original Assignee
Федеральное государственное казенное военное образовательное учреждение высшего образования "Академия Федеральной службы охраны Российской Федерации" (Академия ФСО России)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Федеральное государственное казенное военное образовательное учреждение высшего образования "Академия Федеральной службы охраны Российской Федерации" (Академия ФСО России) filed Critical Федеральное государственное казенное военное образовательное учреждение высшего образования "Академия Федеральной службы охраны Российской Федерации" (Академия ФСО России)
Priority to RU2016110533A priority Critical patent/RU2622622C1/en
Application granted granted Critical
Publication of RU2622622C1 publication Critical patent/RU2622622C1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems

Abstract

FIELD: information technology.
SUBSTANCE: control system of absence of undeclared capabilities in software, including a block of found control flow store for test software, an source software texts file storage block, a block of breakpoints setting to source files of software texts, a block for compiling source text files of software with set breakpoints, a block of execution of compiled software files, a block of a saved list of passed breakpoints, a block of storage of trails routes of compiled software files execution, a block of storage of a list of potentially dangerous software structures, a block of potentially dangerous software structures search in software source text files, a block of expert updating of automated analysis results, a block for potentially dangerous software structures testing, a block for saving results, wherein there are additional blocks: of initial state preservation of software source texts, of check for source texts redundancy, of analysis and of context information systematization.
EFFECT: increased reliability of software analysis results on absence of undeclared capabilities.
4 dwg

Description

Изобретение относится к вычислительной технике, а именно к информационным вычислительным системам и сетям, и может быть использовано для защиты информационных ресурсов рабочих станций и серверов, их компонентов, программ или данных от несанкционированной деятельности, а также при анализе исходного кода программного обеспечения (ПО), в том числе при проведении сертификационных испытаний программного обеспечения на отсутствие недекларированных возможностей (НДВ).The invention relates to computer technology, namely to information computer systems and networks, and can be used to protect the information resources of workstations and servers, their components, programs or data from unauthorized activity, as well as in the analysis of the source code of software (software), including during certification testing of software for the absence of undeclared capabilities (NDV).

Толкование терминов, используемых в заявке:Interpretation of terms used in the application:

недекларированные возможности - функциональные возможности программного обеспечения, не описанные или не соответствующие описанным в документации, при использовании которых возможно нарушение конфиденциальности, доступности или целостности обрабатываемой информации (Руководящий документ «Защита от несанкционированного доступа к информации. 4.1. Программное обеспечение средств защиты информации. Классификация по уровню контроля отсутствия недекларированных возможностей»). Реализацией недекларированных возможностей, в частности, являются программные закладки;undeclared features - software functionality that is not described or does not correspond to those described in the documentation, the use of which may violate the confidentiality, accessibility or integrity of the processed information (Guidance document “Protection against unauthorized access to information. 4.1. Software for information protection. Classification by level of control of the absence of undeclared opportunities ”). The implementation of undeclared features, in particular, are software bookmarks;

программные закладки - преднамеренно внесенные в программное обеспечение функциональные объекты, которые при определенных условиях (входных данных) инициируют выполнение не описанных в документации функций программного обеспечения, приводящих к нарушению конфиденциальности, доступности или целостности обрабатываемой информации (Руководящий документ «Защита от несанкционированного доступа к информации. Ч.1. Программное обеспечение средств защиты информации. Классификация по уровню контроля отсутствия недекларированных возможностей»).software bookmarks - functional objects intentionally introduced into the software that, under certain conditions (input data), initiate the execution of software functions not described in the documentation that lead to a violation of the confidentiality, accessibility or integrity of the processed information (Guidance document “Protection against unauthorized access to information. Part 1. Information security software - Classification by level of control of the absence of undeclared capabilities her").

Известна система контроля отсутствия недекларированных возможностей в программном обеспечении (Патент РФ №2434272, кл. G06F 17/00, опубл. 20.11.2011. Бюл. №32). Система содержит блок сохранения найденных потоков управления исследуемого программного обеспечения, блок хранения файлов исходных текстов программного обеспечения, блок установки контрольных точек в файлы исходных текстов, блок компиляции файлов исходных текстов с установленными контрольными точками, блок выполнения скомпилированных файлов, блок сохранения перечня пройденных контрольных точек, блок сохранения трасс маршрутов выполнения скомпилированных файлов, блок хранения перечня потенциально-опасных программных конструкций, блок поиска потенциально-опасных программных конструкций в файлах исходных текстов, блок экспертной корректировки результатов автоматизированного анализа, блок сохранения итоговых результатов, блок хранения полного перечня возможных классификационных признаков программного обеспечения, блок прогнозирования возможностей программного обеспечения, блок хранения перечня предполагаемых возможностей программного обеспечения, блок регистрации действий программного обеспечения, блок контроля соответствия действий выполненных ПО с перечнем предполагаемых возможностей ПО.A known control system for the absence of undeclared capabilities in software (RF Patent No. 2434272, CL G06F 17/00, publ. 20.11.2011. Bull. No. 32). The system comprises a unit for saving found control flows of the studied software, a unit for storing software source files, a unit for setting control points in source files, a unit for compiling source files with installed control points, a unit for executing compiled files, a unit for saving the list of passed control points, block for saving paths for compiled file execution routes, block for storing a list of potentially dangerous software structures , block for searching for potentially dangerous software structures in source files, block for expert correction of automated analysis results, block for saving final results, block for storing a complete list of possible classification signs of software, block for predicting software capabilities, block for storing a list of potential software features, block registration of software actions, unit for monitoring compliance of actions performed by software with A list of alleged software features.

Недостатком указанной системы является низкая достоверность результатов из-за отсутствия процедур фиксации и контроля исходного состояния и проверки избыточности исходных текстов.The disadvantage of this system is the low reliability of the results due to the lack of procedures for fixing and monitoring the initial state and checking the redundancy of the source texts.

Известна система контроля отсутствия недекларированных возможностей в программном обеспечении (Патент РФ №2419135, кл. G06F 12/16, G06F 11/30, опубл. 20.05.2011. Бюл. №14). Система содержит блок сохранения найденных потоков управления исследуемого программного обеспечения, блок хранения файлов исходных текстов программного обеспечения, блок установки контрольных точек в файлы исходных текстов программного обеспечения, блок компиляции файлов исходных текстов программного обеспечения с установленными контрольными точками, блок выполнения скомпилированных файлов программного обеспечения, блок сохранения перечня пройденных контрольных точек, блок сохранения трасс маршрутов выполнения скомпилированных файлов программного обеспечения, блок хранения перечня потенциально опасных программных конструкций, блок поиска потенциально опасных программных конструкций в файлах исходных текстов программного обеспечения, блок экспертной корректировки результатов автоматизированного анализа, блок сохранения итоговых результатов, блок построения сетей Петри файлов исходных текстов программного обеспечения, блок анализа и маркирования исключаемых из дальнейшей обработки ветвей сетей Петри, блок хранения оптимизированных исходных текстов.A known system for monitoring the absence of undeclared capabilities in software (RF Patent No. 2419135, CL G06F 12/16, G06F 11/30, published on 05/20/2011. Bull. No. 14). The system comprises a unit for storing found control flows of the software under study, a unit for storing software source files, a unit for setting control points in software source files, a compilation unit for software source files with installed control points, a unit for executing compiled software files, a unit saving the list of passed control points, the block for saving the routes of the execution routes compiled x software files, a block for storing a list of potentially dangerous software structures, a block for searching for potentially dangerous software structures in software source files, an expert correction block for automated analysis results, a block for saving final results, a Petri net building block for software source files, an analysis block and marking of branches of Petri nets that are excluded from further processing, a block for storing optimized source texts.

Недостатками данной системы являются низкая достоверность результатов работы в связи с отсутствием процедуры фиксации и контроля исходного состояния, неполноты статического анализа (в частности, не проводится анализ избыточности исходных текстов) и несоответствие требованиям к проведению статического анализа исходных текстов программ, представленных в Руководящем документе «Защита от несанкционированного доступа к информации. Ч.1. Программное обеспечение средств защиты информации. Классификация по уровню контроля отсутствия недекларированных возможностей».The disadvantages of this system are the low reliability of the results of the work due to the lack of a procedure for fixing and monitoring the initial state, incomplete static analysis (in particular, the analysis of the redundancy of the source texts is not carried out) and the discrepancy with the requirements for the static analysis of the source texts of the programs presented in the Guidance document “Protection from unauthorized access to information. Part 1. Information security software. Classification by level of control of the absence of undeclared opportunities. ”

Наиболее близким по своей технической сущности и выполняемым функциям аналогом (прототипом) к заявленной системе является система контроля отсутствия недекларированных возможностей в программном обеспечении (Патент РФ №2434265, кл. G06F 11/00, опубл. 20.11.2011. Бюл. №32). Система содержит блок сохранения найденных потоков управления исследуемого программного обеспечения, блок хранения файлов исходных текстов программного обеспечения, блок установки контрольных точек в файлы исходных текстов программного обеспечения, блок компиляции файлов исходных текстов программного обеспечения с установленными контрольными точками, блок выполнения скомпилированных файлов программного обеспечения, блок сохранения перечня пройденных контрольных точек, блок сохранения трасс маршрутов выполнения скомпилированных файлов программного обеспечения, блок хранения перечня потенциально опасных программных конструкций, блок поиска потенциально опасных программных конструкций в файлах исходных текстов программного обеспечения, блок экспертной корректировки результатов автоматизированного анализа, блок сохранения итоговых результатов, блок тестирования потенциально опасных программных конструкций.The closest in its technical essence and functions performed analogue (prototype) to the claimed system is a system for monitoring the absence of undeclared capabilities in software (RF Patent No. 2434265, CL G06F 11/00, published on November 20, 2011, Bull. No. 32). The system comprises a unit for storing found control flows of the software under study, a unit for storing software source files, a unit for setting control points in software source files, a compilation unit for software source files with installed control points, a unit for executing compiled software files, a unit saving the list of passed control points, the block for saving the routes of the execution routes compiled x files, software, storage unit a list of potentially dangerous software designs, search block potentially dangerous software designs in the files of initial software texts, block peer adjusting the results of automated analysis, the unit of conservation outcomes, unit testing of potentially dangerous software designs.

Контроль отсутствия недекларированных возможностей в программном обеспечении заключается в том, что файлы исходных текстов программного обеспечения с входа 12 после сохранения в блоке 2 поступают в блок 3, где происходит установка контрольных точек в файлы, а также процедуры и функции исходных текстов. После чего файлы исходных текстов программного обеспечения с установленными контрольными точками поступают в блок 4, где происходит их компиляция. Скомпилированные файлы исходных текстов поступают в блок 5, где происходит их запуск на выполнение, обработка запросов из скомпилированных файлов и к ним со стороны других исполняемых файлов, перехват информации о найденных потоках управления исследуемого программного обеспечения и ее передаче в блок 1 для сохранения, перехват информации о пройденных контрольных точках и ее передаче в блок 6 для сохранения, перехват информации о пройденных трассах маршрутов выполнения скомпилированных файлов программного обеспечения и ее передаче в блок 7 для сохранения. Файлы исходных текстов поступают в блок 9, где в них осуществляется поиск потенциально опасных программных конструкций, перечень которых поступает из блока 8. После чего в блоке 15 потенциально опасные программные конструкции тестируются. Предварительное формирование перечня потенциально опасных программных конструкций осуществляется с входа 13. Результаты автоматизированного анализа файлов исходных текстов поступают из блоков 1, 6, 7 и 15 в блок 10, где осуществляют корректировку с помощью интерактивного взаимодействия с экспертами. Полученные итоговые результаты после сохранения в блоке 11 поступают на выход 14.The control of the absence of undeclared capabilities in the software consists in the fact that the source files of the software from input 12, after being saved in block 2, go to block 3, where the control points are set to files, as well as the procedures and functions of the source texts. After that, the source files of the software with the installed control points arrive in block 4, where they are compiled. Compiled source files go to block 5, where they are launched for execution, processing requests from compiled files and to them from other executable files, intercepting information about the found control flows of the studied software and transferring it to block 1 for saving, intercepting information about the passed control points and its transfer to block 6 for saving, intercepting information about the passed paths of the routes of execution of the compiled software files and its transfer to the bl to 7 to save. The source files go to block 9, where they search for potentially dangerous software constructs, the list of which comes from block 8. Then, in block 15, potentially dangerous software constructs are tested. A preliminary list of potentially dangerous software structures is generated from input 13. The results of automated analysis of source files come from blocks 1, 6, 7, and 15 to block 10, where they are adjusted using interactive interaction with experts. The resulting final results after saving in block 11 are output 14.

Таким образом, данная система позволяет проводить частично автоматизированный анализ исходных текстов на наличие недекларированных возможностей.Thus, this system allows a partially automated analysis of source texts for the presence of undeclared features.

Недостатком системы-прототипа является низкая достоверность из-за отсутствия процедур фиксации контроля исходного состояния исследуемого программного обеспечения, проверки избыточности исходных текстов и поиска контекстной информации, что не позволяет сопоставить результаты исследований с контрольным экземпляром (версией) одного и того же ПО, что приводит к высоким временным затратам на исследование, потере производительности (за счет полного цикла проверок файлов исходных текстов различных версий ПО), а также снижению доверия к результатам.The disadvantage of the prototype system is the low reliability due to the lack of procedures for fixing the control of the initial state of the studied software, checking the redundancy of the source texts and searching for contextual information, which does not allow to compare the research results with the control copy (version) of the same software, which leads to high time spent on research, loss of productivity (due to the full cycle of checks of source files of various software versions), as well as a decrease in confidence in ultatam.

Задачей изобретения является создание системы анализа программного обеспечения на отсутствие недекларированных возможностей, обеспечивающей расширение функциональных возможностей системы-прототипа за счет повышения достоверности результатов анализа программного обеспечения путем фиксации исходного состояния, проверки избыточности и анализа контекстной информации в исходных текстах исследуемого ПО. Техническим результатом является повышение достоверности результатов анализа программного обеспечения на отсутствие недекларированных возможностей за счет фиксации исходного состояния, проверки избыточности исходных текстов и анализа контекстной информации в исходных текстах исследуемого ПО.The objective of the invention is the creation of a software analysis system for the absence of undeclared capabilities, providing an extension of the functionality of the prototype system by increasing the reliability of the results of the software analysis by fixing the initial state, checking redundancy and analyzing contextual information in the source texts of the software under study. The technical result is to increase the reliability of the results of the analysis of the software for the absence of undeclared capabilities by fixing the initial state, checking the redundancy of the source texts and analyzing the contextual information in the source texts of the studied software.

Задача изобретения решается тем, что в системе анализа программного обеспечения на отсутствие недекларированных возможностей, включающей блок сохранения найденных потоков управления исследуемого программного обеспечения, блок хранения файлов исходных текстов программного обеспечения, блок установки контрольных точек в файлы исходных текстов программного обеспечения, блок компиляции файлов исходных текстов программного обеспечения с установленными контрольными точками, блок выполнения скомпилированных файлов программного обеспечения, блок сохранения перечня пройденных контрольных точек, блок сохранения трасс маршрутов выполнения скомпилированных файлов программного обеспечения, блок хранения перечня потенциально опасных программных конструкций, блок поиска потенциально опасных программных конструкций в файлах исходных текстов программного обеспечения, блок экспертной корректировки результатов автоматизированного анализа, блок тестирования потенциально опасных программных конструкций, блок сохранения итоговых результатов, вход блока хранения файлов исходных текстов программного обеспечения соединен с входом получения файлов исходных текстов программного обеспечения, второй выход - с входом блока поиска потенциально опасных программных конструкций в файлах исходных текстов программного обеспечения. Выход блока установки контрольных точек в файлы исходных текстов программного обеспечения соединен с входом блока компиляции файлов исходных текстов программного обеспечения с установленными контрольными точками, выход которого соединен с входом блока выполнения скомпилированных файлов программного обеспечения. Первый выход блока выполнения скомпилированных файлов программного обеспечения соединен с входом блока сохранения найденных потоков управления исследуемого программного обеспечения, второй выход - с входом блока сохранения перечня пройденных контрольных точек, третий выход - с входом блока сохранения трасс маршрутов выполнения скомпилированных файлов программного обеспечения. Выход блока сохранения найденных потоков управления исследуемого программного обеспечения соединен с первым входом блока экспертной корректировки результатов автоматизированного анализа, второй вход которого соединен с выходом блока сохранения перечня пройденных контрольных точек, третий вход - с выходом блока сохранения трасс маршрутов выполнения скомпилированных файлов программного обеспечения, выход - с входом блока сохранения итоговых результатов. Выход блока сохранения итоговых результатов соединен с выходом выдачи итоговых результатов контроля, второй вход блока поиска потенциально опасных программных конструкций в файлах исходных текстов программного обеспечения соединен с выходом блока хранения перечня потенциально опасных программных конструкций. Вход блока хранения перечня потенциально опасных программных конструкций соединен с входом формирования перечня потенциально опасных программных конструкций, выход блока поиска потенциально опасных программных конструкций соединен с блоком тестирования потенциально опасных программных конструкций, в файлах исходных текстов программного обеспечения. Выход блока тестирования потенциально опасных программных конструкций соединен с четвертым входом блока экспертной корректировки промежуточных результатов, согласно изобретению, между первым выходом блока хранения файлов исходных текстов программного обеспечения и входом блока установки контрольных точек в файлы исходных текстов программного обеспечения дополнительно введены блок фиксации исходного состояния исходных текстов программного обеспечения, блок проверки избыточности исходных текстов, блок анализа и систематизации контекстной информации. Первый выход блока хранения файлов исходных текстов программного обеспечения соединен с входом блока фиксации исходного состояния исходных текстов программного обеспечения. Выход блока фиксации исходного состояния исходных текстов программного обеспечения соединен с входом блока проверки избыточности исходных текстов, выход которого соединен со входом блока установки контрольных точек в файлы исходных текстов программного обеспечения.The objective of the invention is solved in that in a software analysis system for the absence of undeclared capabilities, including a unit for storing found control flows of the studied software, a unit for storing software source files, a unit for setting control points in software source files, a compilation unit for source files software with set breakpoints, execution unit of compiled software files cross sections, a block for saving the list of passed control points, a block for saving paths of routes for executing compiled software files, a block for storing a list of potentially dangerous software structures, a block for searching for potentially dangerous software structures in the source files of software, an expert correction block for automated analysis results, a potential testing block dangerous software constructs, the unit for storing the final results, the input of the file storage unit the source code of the software is connected to the input to receive the files of the source texts of the software, the second output is connected to the input of the search unit for potentially dangerous software structures in the files of the source texts of the software. The output of the control point installation block to the software source files is connected to the input of the software source file compilation block with the installed control points, the output of which is connected to the input of the compiled software file execution block. The first output of the compiled software file execution unit is connected to the input of the storage unit of the found control flows of the studied software, the second output is the input of the storage unit of the list of passed control points, the third output is the input of the unit to save the paths of the paths of the execution of compiled software files. The output of the storage unit for the found control flows of the studied software is connected to the first input of the expert adjustment unit for the results of the automated analysis, the second input of which is connected to the output of the storage unit for the list of passed control points, the third input - with the output of the storage unit for route tracking of the execution of compiled software files, the output is with the input of the unit for saving the final results. The output of the unit for storing the final results is connected to the output of the output of the final results of the control, the second input of the unit for searching for potentially dangerous software structures in the source files of the software is connected to the output of the storage unit for the list of potentially dangerous program structures. The input of the storage block of the list of potentially dangerous software structures is connected to the input of the list of potentially dangerous software structures, the output of the search block of potentially dangerous software structures is connected to the testing block of potentially dangerous software structures, in the source files of the software. The output of the testing block of potentially dangerous software structures is connected to the fourth input of the expert adjustment block of intermediate results, according to the invention, between the first output of the storage block of the source files of the software and the input of the installation block of the control points in the source files of the software additionally entered block fixing the initial state of the source texts software, block checking the redundancy of source texts, block analysis and systematization to ntekstnoy information. The first output of the software source file storage unit is connected to the input of the initial state source fixing unit of the software source. The output of the block for fixing the initial state of the source codes of the software is connected to the input of the block for checking the redundancy of the source texts, the output of which is connected to the input of the block for setting control points in the source files of the software.

Перечисленная совокупность существенных признаков повышает достоверность результатов анализа программного обеспечения на отсутствие недекларированных возможностей и обеспечивает возможность использования результатов работы системы при проведении сертификационных испытаний программного обеспечения.The listed set of essential features increases the reliability of the results of the analysis of the software for the absence of undeclared capabilities and provides the ability to use the results of the system when conducting certification testing of the software.

Проведенный анализ позволил установить, что аналоги, тождественные признакам заявленной системы, отсутствуют, что указывает на соответствие заявленной системы условию патентоспособности «новизна».The analysis made it possible to establish that there are no analogues identical to the features of the claimed system, which indicates the compliance of the claimed system with the condition of patentability “novelty”.

Результаты поиска известных решений в данной и смежных областях техники с целью выявления признаков, совпадающих с отличительными от прототипа признаками заявленного объекта, показали, что они не следуют явным образом из уровня техники. Из уровня техники также не выявлена известность влияния предусматриваемых существенными признаками заявленного изобретения преобразований на достижение указанного технического результата. Следовательно, заявленное изобретение соответствует условию патентоспособности «изобретательский уровень».Search results for known solutions in this and related fields of technology in order to identify features that match the distinctive features of the claimed object from the prototype showed that they do not follow explicitly from the prior art. The prior art also did not reveal the popularity of the impact provided by the essential features of the claimed invention, the transformations on the achievement of the specified technical result. Therefore, the claimed invention meets the condition of patentability "inventive step".

Заявленные объекты системы поясняются чертежами, на которых показаны:The claimed system objects are illustrated by drawings, which show:

Фиг. 1 - Блок-схема системы анализа программного обеспечения на отсутствие недекларированных возможностей.FIG. 1 - A block diagram of a software analysis system for the absence of undeclared features.

Фиг. 2 - Блок-схема блока фиксации исходного состояния исходных текстов программного обеспечения.FIG. 2 - Block diagram of the block fixing the initial state of the source code of the software.

Фиг. 3 - Блок-схема блока проверки избыточности исходных текстов.FIG. 3 is a block diagram of a block for checking source redundancy.

Фиг.4 - Блок-схема блока анализа и систематизации контекстной информации.Figure 4 - Block diagram of the block analysis and systematization of contextual information.

Схема предлагаемой системы анализа программного обеспечения на отсутствие недекларированных возможностей приведена на фиг. 1, содержит блок сохранения найденных потоков управления исследуемого программного обеспечения 1, блок хранения файлов исходных текстов программного обеспечения 2, блок фиксации исходного состояния исходных текстов программного обеспечения 16, блок проверки избыточности исходных текстов 17, блок анализа и систематизации контекстной информации 18, блок установки контрольных точек в файлы исходных текстов программного обеспечения 3, блок компиляции файлов исходных текстов программного обеспечения с установленными контрольными точками 4, блок выполнения скомпилированных файлов программного обеспечения 5, блок сохранения перечня пройденных контрольных точек 6, блок сохранения трасс маршрутов выполнения скомпилированных файлов программного обеспечения 7, блок хранения перечня потенциально опасных программных конструкций 8, блок поиска потенциально опасных программных конструкций в файлах исходных текстов программного обеспечения 9, блок экспертной корректировки результатов автоматизированного анализа 10, блок тестирования потенциально опасных программных конструкций 15, блок сохранения итоговых результатов 11, причем вход блока хранения файлов исходных текстов программного обеспечения 2 соединен с входом получения файлов исходных текстов программного обеспечения 12, первый выход – с входом блока фиксации исходного состояния исходных текстов программного обеспечения 16, второй выход - с входом блока поиска потенциально опасных программных конструкций в файлах исходных текстов программного обеспечения 9, выход блока фиксации исходного состояния исходных текстов программного обеспечения 16 соединен с входом блока проверки избыточности исходных текстов 17, выход блока проверки избыточности исходных текстов 17 соединен с входом блока анализа и систематизации контекстной информации 18 выход которого соединен с входом блока установки контрольных точек в файлы исходных текстов программного обеспечения 3, выход которого соединен с входом блока компиляции файлов исходных текстов программного обеспечения с установленными контрольными точками 4, выход которого соединен с входом блока выполнения скомпилированных файлов программного обеспечения 5, первый выход которого соединен с входом блока сохранения найденных потоков управления исследуемого программного обеспечения 1, второй выход - с входом блока сохранения перечня пройденных контрольных точек 6, третий выход - с входом блока сохранения трасс маршрутов выполнения скомпилированных файлов программного обеспечения 7, выход блока сохранения найденных потоков управления исследуемого программного обеспечения 1 соединен с первым входом блока экспертной корректировки результатов автоматизированного анализа 10, второй вход которого соединен с выходом блока сохранения перечня пройденных контрольных точек 6, третий вход - с выходом блока сохранения трасс маршрутов выполнения скомпилированных файлов программного обеспечения 7, выход - с входом блока сохранения итоговых результатов 11, выход которого соединен с выходом выдачи итоговых результатов контроля 14, второй вход блока поиска потенциально опасных программных конструкций в файлах исходных текстов программного обеспечения соединен 9 с выходом блока хранения перечня потенциально опасных программных конструкций 8, вход которого соединен с входом формирования перечня потенциально опасных программных конструкций 13, выход блока поиска потенциально опасных программных конструкций 9 соединен с блоком тестирования потенциально опасных программных конструкций в файлах исходных текстов программного обеспечения 15, выход блока тестирования потенциально опасных программных конструкций 15 соединен с четвертым входом блока экспертной корректировки промежуточных результатов 10.A diagram of the proposed software analysis system for the absence of undeclared features is shown in FIG. 1, contains a unit for storing the found control flows of the studied software 1, a unit for storing software source files 2, a unit for fixing the initial state of the source software 16, a unit for checking the redundancy of the source texts 17, an analysis and systematization unit for contextual information 18, a control installation unit points to the software source files 3, the compilation unit of the software source files with the set control points 4, the execution locus for compiled software files 5, the unit for saving the list of passed control points 6, the unit for saving paths of routes for executing compiled software files 7, the unit for storing the list of potentially dangerous software structures 8, the unit for searching for potentially dangerous software structures in the source files of software 9, block for expert adjustment of the results of automated analysis 10, block for testing potentially dangerous software designs 15, the unit for storing the final results 11, and the input of the storage unit of the source files of the software 2 is connected to the input of receiving the source files of the software 12, the first output is the input of the unit for fixing the initial state of the source texts of the software 16, the second output is the input of the search for potentially dangerous software structures in the source files of the software 9, the output of the block fixing the initial state of the source code of the software 16 is connected to in the course of the source redundancy check unit 17, the output of the source redundancy check unit 17 is connected to the input of the context analysis and systematization unit 18 whose output is connected to the input of the control point setting unit to the software source files 3, the output of which is connected to the input of the file compilation unit source codes of software with set control points 4, the output of which is connected to the input of the execution unit of compiled software files 5, the first output of which is connected to the input of the storage unit of the found control flows of the studied software 1, the second output - with the input of the storage unit of the list of passed control points 6, the third output - with the input of the storage unit of the trace route of the execution of compiled software files 7, the output of the block saving the found control flows of the investigated software 1 is connected to the first input of the expert adjustment unit of the results of the automated analysis 10, the second input to it is connected to the output of the block for saving the list of passed control points 6, the third input is to the output of the block for saving the routes of the routes for compiled software files 7, the output is to the input of the block for saving the final results 11, the output of which is connected to the output of the final results of the control 14, the second the input of the search block of potentially dangerous software structures in the source files of the software is connected 9 to the output of the storage block of the list of potentially dangerous software constants manual 8, the input of which is connected to the input for forming a list of potentially dangerous software structures 13, the output of the block for searching for potentially dangerous software structures 9 is connected to the block for testing potentially dangerous software structures in the source files of software 15, the output of the block for testing potentially dangerous software structures 15 is connected to the fourth input of the block expert adjustment of intermediate results 10.

Исходные тексты исследуемого программного обеспечения могут содержать недекларированные возможности. Проведение контроля исходного состояния исследуемого программного обеспечения, контроля полноты и отсутствия избыточности исходных текстов, а также анализа контекстной информации позволяет проводить сертификационные исследования ПО (согласно п. 2 и подпункту 3.1 перечня требований к уровням контроля, представленного в Руководящем документе «Защита от несанкционированного доступа к информации. Ч.1. Программное обеспечение средств защиты информации. Классификация по уровню контроля отсутствия недекларированных возможностей»).Sources of the software under study may contain undeclared features. Control of the initial state of the software under study, control of the completeness and absence of redundancy of the source texts, as well as analysis of contextual information allows certification certification studies of software (according to clause 2 and subclause 3.1 of the list of requirements for control levels presented in the Guidance document “Protection against unauthorized access to information. Part 1. Information security software. Classification by the level of control of the absence of undeclared capabilities ").

Повышение достоверности результатов исследования исходных текстов за счет предотвращения внесения в них несанкционированных изменений осуществляется фиксацией исходного состояния файлов исследуемого программного обеспечения. Блок фиксации исходного состояния предназначен для выполнения расчета контрольных сумм исходных текстов исследуемого программного обеспечения. Данный блок реализует функции расчета, сравнения и хранения контрольных сумм.Improving the reliability of the results of the study of the source texts by preventing the introduction of unauthorized changes to them is carried out by fixing the initial state of the files of the studied software. The initial state fixation unit is intended for calculating the checksums of the source texts of the studied software. This block implements the functions of calculating, comparing and storing checksums.

Проверка избыточности исходных текстов исследуемого ПО на уровне файлов осуществляется с помощью сборки специализированной версии ПО, содержащей предварительно внедренные идентификационные данные. Эти идентификационные данные сформированы таким образом, чтобы при обработке исполняемых файлов для каждого из них можно было получить полный и безубыточный перечень использованных при его сборке файлов исходных текстов (из состава предоставленных на исследования). Использование данного блока повышает достоверность результатов исследования исходных текстов за счет устранения неиспользуемых файлов исходных текстов.Checking the redundancy of the source texts of the investigated software at the file level is carried out using the assembly of a specialized version of the software containing pre-embedded identification data. These identification data are formed in such a way that when processing the executable files for each of them it would be possible to obtain a complete and break-even list of source files used in its assembly (from the composition provided for research). The use of this block increases the reliability of the results of the study of source texts by eliminating unused source files.

Блок анализа и систематизации контекстной информации предназначен для проведения исследования информации, содержащейся в комментариях исходных текстов. Данный блок реализует функции поиска и хранения информации комментариев к исходным текстам, а также выделения фрагментов текста в коде, которые могут указывать на описание деструктивной или недокументированной функциональности. Использование данного блока повышает достоверность результатов исследования исходных текстов за счет проведения исследования описательной части в исходных текстах ПО.The block of analysis and systematization of contextual information is intended to conduct research on the information contained in the comments of the source texts. This block implements the functions of searching and storing information of comments on the source texts, as well as highlighting fragments of text in the code, which may indicate a description of destructive or undocumented functionality. The use of this block increases the reliability of the results of the study of the source texts due to the study of the narrative in the source code of the software.

«Промышленная применимость» системы обусловлена наличием программного обеспечения, на основе которого указанные блоки могут быть выполнены.The "industrial applicability" of the system is due to the availability of software on the basis of which these blocks can be performed.

Блок-схема блока фиксации исходного состояния исходных текстов программного обеспечения представлена на фиг. 2. Данный блок состоит из двух элементов: блок 16.1, в котором производится расчет контрольных сумм файлов исходных текстов (фиг. 2), блок 16.2 (фиг. 2), в котором осуществляется сравнение полученных контрольных сумм с эталонными (указанными в документации, поставляемой с исследуемым ПО), и блок 16.3, в котором осуществляется сохранение результатов контрольного суммирования в файл отчета (фиг. 2). Реализация блоков 16.1 и 16.2, входящих в состав блока 16, возможна на основе сертифицированных программных средств, таких как: «Средство фиксации и контроля исходного состояния программного комплекса ФИКС» [www.cbi-info.ru] или «ПИК - Эшелон» [www.npo-echelon.ru]. Алгоритмы контрольного суммирования, используемые данными программными средствами, широко известны и описаны в литературе [ГОСТ Р 34.11-94; ГОСТ Р 34.11-2012; RFC 1321; RFC 3174; «The MD5 Message-Digest Algoritm» R. Rivest, MIT Laboratory for Computer Science and RSA Data Security, Inc. 1992].A block diagram of a block for fixing an initial state of software source texts is shown in FIG. 2. This block consists of two elements: block 16.1, in which the checksums of the source files are calculated (Fig. 2), block 16.2 (Fig. 2), in which the checksums are compared with the reference ones (specified in the documentation supplied with the software under investigation), and block 16.3, in which the results of checksumming are saved to the report file (Fig. 2). The implementation of blocks 16.1 and 16.2, which are part of block 16, is possible on the basis of certified software, such as: “A fixation and control tool for the initial state of the FIX software package” [www.cbi-info.ru] or “PIK-Echelon” [www .npo-echelon.ru]. The checksum algorithms used by these software tools are widely known and described in the literature [GOST R 34.11-94; GOST R 34.11-2012; RFC 1321; RFC 3174; “The MD5 Message-Digest Algoritm” R. Rivest, MIT Laboratory for Computer Science and RSA Data Security, Inc. 1992].

Блок-схема блока проверки избыточности исходных текстов представлена на фиг. 3. Данный блок состоит из трех элементов: блок 17.1, в данном блоке осуществляется поиск в файлах исходных текстов исследуемого ПО неиспользуемых участков кода (фиг. 3), блок 17.2 - проводит анализ выявленной избыточности (фиг. 3) и блок 17.3, в котором принимается решение о влиянии критичности выявленной избыточности на возможность и целесообразность проведения дальнейших проверок (фиг. 3). Реализация блока 17.1 в плане поиска неиспользуемых участков исходных текстов возможна с использованием различного инструментария, в том числе и с использованием средств фиксации факта доступа к файлам. В ОС Linux для этого используется скрипт проверки параметра «access time» (данный параметр показывает время последнего доступа к файлу) соответствующего файла, в Windows - это Process Monitor (данная программа в режиме реального времени отображает активность файловой системы, реестра, а также процессов и потоков) [https://technet.microsoft.com/ru-ru/sysinternals/processmonitor.aspx] в совокупности с компилятором (например, gcc) [https://gcc.gnu.org]. После чего выявленная избыточность передается на вход блока 17.2 в котором оператором осуществляется ее экспертный анализ, на основе результатов которого принимается решение в блоке 17.3.The block diagram of the source redundancy checker is shown in FIG. 3. This block consists of three elements: block 17.1, this block searches for unused sections of code in the source files of the software under study (Fig. 3), block 17.2 - analyzes the detected redundancy (Fig. 3) and block 17.3, in which a decision is made on the impact of the criticality of the identified redundancy on the possibility and expediency of further checks (Fig. 3). The implementation of block 17.1 in terms of searching for unused sections of source texts is possible using various tools, including using means of fixing the fact of access to files. On Linux, this uses the script to check the “access time” parameter (this parameter shows the last access time to the file) of the corresponding file, on Windows it is Process Monitor (this program displays real-time activity of the file system, registry, and processes and threads) [https://technet.microsoft.com/en-us/sysinternals/processmonitor.aspx] in conjunction with the compiler (for example, gcc) [https://gcc.gnu.org]. After that, the identified redundancy is transmitted to the input of block 17.2 in which the operator carries out its expert analysis, based on the results of which a decision is made in block 17.3.

Блок-схема блока анализа и систематизации контекстной информации представлена на фиг. 4. Данный блок состоит из трех элементов: блок 18.1 (в данном блоке осуществляется поиск контекстной информации в исследуемых файлах исходных текстов фиг. 4), блок 18.2 (в данном блоке проводится анализ и систематизация выявленной контекстной информации фиг. 4) и блок 18.3 (в данном блоке делается вывод о наличии в контекстной информации указаний на потенциально опасные участки кода фиг. 4). Осуществление поиска контекстной информации в исследуемых файлах исходных текстов (блок 18.1) выполняется с помощью специализированных для конкретной операционной системы инструментов (скриптов), реализующих функции поиска комментариев в файлах исходных текстов, а также выделения фрагментов текстов в коде, которые могут указывать на описание негативной функциональности. После чего выявленные комментарии передаются на вход блока 18.2, в котором оператором осуществляется их экспертный анализ, на основе результатов которого принимается решение в блоке 18.3.A block diagram of a block for analyzing and organizing contextual information is presented in FIG. 4. This block consists of three elements: block 18.1 (in this block, contextual information is searched in the studied source files of Fig. 4), block 18.2 (in this block, analysis and systematization of the revealed contextual information of Fig. 4 is performed) and block 18.3 ( in this block, a conclusion is drawn about the presence in the contextual information of indications of potentially dangerous sections of the code of Fig. 4). The search for contextual information in the studied source files (block 18.1) is performed using tools (scripts) specialized for a particular operating system that implement the search functions for comments in source files, as well as selecting fragments of texts in the code that may indicate a description of negative functionality . After that, the identified comments are transmitted to the input of block 18.2, in which the operator carries out their expert analysis, based on the results of which a decision is made in block 18.3.

Заявленная система работает следующим образом. Файлы исходных текстов ПО с входа 12 после сохранения в блоке 2 поступают в блок 16, где происходит фиксация исходного состояния файлов исходных текстов исследуемого ПО. После этого файлы исходных текстов поступают в блок 17, где осуществляется проверка избыточности исходных текстов, а затем передаются в блок 18 для анализа и систематизации контекстной информации. Следующим этапом является обработка файлов исходных текстов в блоке 3, где происходит установка контрольных точек в файлы, а также процедуры и функции исходных текстов. После чего файлы исходных текстов программного обеспечения с установленными контрольными точками поступают в блок 4, где происходит их компиляция. Скомпилированные файлы исходных текстов поступают в блок 5, где происходит их запуск на выполнение, обработка запросов из скомпилированных файлов и к ним со стороны других исполняемых файлов, перехват информации о найденных потоках управления исследуемого программного обеспечения и ее передаче в блок 1 для сохранения, перехват информации о пройденных контрольных точках и ее передаче в блок 6 для сохранения, перехват информации о пройденных трассах маршрутов выполнения скомпилированных файлов программного обеспечения и ее передаче в блок 7 для сохранения. Помимо этого файлы исходных текстов поступают в блок 9, где в них осуществляется поиск потенциально опасных программных конструкций, перечень которых поступает из блока 8. Предварительное формирование перечня потенциально опасных программных конструкций осуществляется с входа 13. Результаты автоматизированного анализа файлов исходных текстов поступают из блоков 1, 6, 7 и 9 в блок 10, где осуществляют корректировку с помощью интерактивного взаимодействия с экспертами. Полученные итоговые результаты после сохранения в блоке 11 поступают на выход 14.The claimed system operates as follows. The source files of the software from input 12, after being saved in block 2, go to block 16, where the initial state of the source files of the studied software is fixed. After that, the source files are sent to block 17, where the redundancy of the source texts is checked, and then transferred to block 18 for analysis and systematization of contextual information. The next step is the processing of the source files in block 3, where the installation of control points in the files, as well as the procedures and functions of the sources. After that, the source files of the software with the installed control points arrive in block 4, where they are compiled. Compiled source files go to block 5, where they are launched for execution, processing requests from compiled files and to them from other executable files, intercepting information about the found control flows of the studied software and transferring it to block 1 for saving, intercepting information about the passed control points and its transfer to block 6 for saving, intercepting information about the passed paths of the routes of execution of the compiled software files and its transfer to the bl to 7 to save. In addition, source files go to block 9, where they search for potentially dangerous software constructs, the list of which comes from block 8. A preliminary list of potentially dangerous software constructs is created from input 13. The results of the automated analysis of source files come from blocks 1, 6, 7 and 9 to block 10, where they are adjusted using interactive interaction with experts. The resulting final results after saving in block 11 are output 14.

Таким образом, заявленный технический результат достигнут за счет введения блоков фиксации исходного состояния, проверки избыточности и анализа контекстной информации в исходных текстах исследуемого программного обеспечения, использование которых повышает достоверность результатов анализа программного обеспечения на отсутствие недекларированных возможностей и позволяет проводить сертификационные исследования ПО согласно п. 2 и подпункта 3.1 перечня требований к уровням контроля, представленного в Руководящем документе «Защита от несанкционированного доступа к информации. Ч.1. Программное обеспечение средств защиты информации. Классификация по уровню контроля отсутствия недекларированных возможностей».Thus, the claimed technical result is achieved by introducing blocks of fixing the initial state, checking redundancy and analyzing contextual information in the source texts of the studied software, the use of which increases the reliability of the results of the analysis of the software for the absence of undeclared capabilities and allows certification certification studies according to paragraph 2 and subclause 3.1 of the list of requirements for control levels presented in the Guidance document “Protection against unauthorized access to information. Part 1. Information security software. Classification by level of control of the absence of undeclared opportunities. ”

Claims (1)

Система контроля отсутствия недекларированных возможностей в программном обеспечении, включающая блок сохранения найденных потоков управления исследуемого программного обеспечения, блок хранения файлов исходных текстов программного обеспечения, блок установки контрольных точек в файлы исходных текстов программного обеспечения, блок компиляции файлов исходных текстов программного обеспечения с установленными контрольными точками, блок выполнения скомпилированных файлов программного обеспечения, блок сохранения перечня пройденных контрольных точек, блок сохранения трасс маршрутов выполнения скомпилированных файлов программного обеспечения, блок хранения перечня потенциально опасных программных конструкций, блок поиска потенциально опасных программных конструкций в файлах исходных текстов программного обеспечения, блок экспертной корректировки результатов автоматизированного анализа, блок тестирования потенциально опасных программных конструкций, блок сохранения итоговых результатов, причем вход блока хранения файлов исходных текстов программного обеспечения соединен с входом получения файлов исходных текстов программного обеспечения, первый выход - с входом блока установки контрольных точек в файлы исходных текстов программного обеспечения, второй выход - с входом блока поиска потенциально опасных программных конструкций в файлах исходных текстов программного обеспечения, выход блока установки контрольных точек в файлы исходных текстов программного обеспечения соединен с входом блока компиляции файлов исходных текстов программного обеспечения с установленными контрольными точками, выход которого соединен с входом блока выполнения скомпилированных файлов программного обеспечения, первый выход которого соединен с входом блока сохранения найденных потоков управления исследуемого программного обеспечения, второй выход - с входом блока сохранения перечня пройденных контрольных точек, третий выход - с входом блока сохранения трасс маршрутов выполнения скомпилированных файлов программного обеспечения, выход блока сохранения найденных потоков управления исследуемого программного обеспечения соединен с первым входом блока экспертной корректировки результатов автоматизированного анализа, второй вход которого соединен с выходом блока сохранения перечня пройденных контрольных точек, третий вход - с выходом блока сохранения трасс маршрутов выполнения скомпилированных файлов программного обеспечения, выход - с входом блока сохранения итоговых результатов, выход которого соединен с выходом выдачи итоговых результатов контроля, второй вход блока поиска потенциально опасных программных конструкций в файлах исходных текстов программного обеспечения соединен с выходом блока хранения перечня потенциально опасных программных конструкций, вход которого соединен с входом формирования перечня потенциально опасных программных конструкций, выход блока поиска потенциально опасных программных конструкций соединен с блоком тестирования потенциально опасных программных конструкций, в файлах исходных текстов программного обеспечения, выход блока тестирования потенциально опасных программных конструкций соединен с четвертым входом блока экспертной корректировки промежуточных результатов, отличающаяся тем, что дополнительно введены блок фиксации исходного состояния исходных текстов программного обеспечения, блок проверки избыточности исходных текстов, блок анализа и систематизации контекстной информации, причем выход блока хранения файлов исходных текстов программного обеспечения соединен с входом блока фиксации исходного состояния исходных текстов программного обеспечения, выход блока фиксации исходного состояния исходных текстов программного обеспечения соединен с входом блока проверки избыточности исходных текстов, выход блока проверки избыточности исходных текстов соединен со входом блока анализа и систематизации контекстной информации, выход которого соединен со входом блока установки контрольных точек в файлы исходных текстов программного обеспечения.A control system for the absence of undeclared capabilities in the software, including a unit for storing found control flows of the software under study, a unit for storing software source files, a unit for setting checkpoints in software source files, a compilation unit for software source files with set control points, a block for executing compiled software files; a block for saving the list is passed control points, a unit for saving paths of routes for executing compiled software files, a unit for storing a list of potentially dangerous software structures, a block for searching for potentially dangerous software structures in software source files, an expert analysis block for automated analysis, a block for testing potentially dangerous software structures, a block save the final results, and the input of the block storage of source files of software software is connected to the input source for receiving the source files of software, the first output - with the input of the installation block of the control points in the files of the source texts of the software, the second output - with the input of the search unit of potentially dangerous software structures in the files of the source texts of the software, the output of the installation of control points in the source files of the software is connected to the input of the compilation unit of the source files of the software with installed control points, the output of which is connected to the input of the execution unit of the compiled software files, the first output of which is connected to the input of the storage unit of the found control flows of the studied software, the second output - with the input of the storage unit of the list of passed control points, the third output - with the input of the storage unit of route routes execution of the compiled software files, the output of the storage unit of the found control flows of the studied software is connected to the first input of the expert adjustment block of the results of automated analysis, the second input of which is connected to the output of the block for saving the list of passed control points, the third input - with the output of the block for saving the routes of the routes for compiled software files, the output - with the input of the block for saving the final results, the output of which is connected to the output of the output of the final control results, the second input of the search block for potentially dangerous software structures in the source files of the software The software is connected to the output of the storage block of the list of potentially dangerous software structures, the input of which is connected to the input of the list of potentially dangerous software structures, the output of the search block of potentially dangerous software structures is connected to the testing block of potentially dangerous software structures, in the source files of the software, the output of the testing block potentially hazardous software constructs connected to the fourth input of the block expert adjustment intermediate результатов results, characterized in that an additional unit for fixing the initial state of the source codes of the software, a unit for checking the redundancy of the source texts, a unit for analyzing and organizing contextual information, the output of the block for storing files of the source texts of the software is connected to the input of the block for fixing the initial state of the source texts of the software software, the output of the block fixing the initial state of the source code of the software is connected to the input of the check unit redundant In the case of source code, the output of the source redundancy check unit is connected to the input of the context analysis and systematization unit, the output of which is connected to the input of the control point installation unit to the software source files.
RU2016110533A 2016-03-22 2016-03-22 System to analyse software for absence of undeclared capabilities RU2622622C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2016110533A RU2622622C1 (en) 2016-03-22 2016-03-22 System to analyse software for absence of undeclared capabilities

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2016110533A RU2622622C1 (en) 2016-03-22 2016-03-22 System to analyse software for absence of undeclared capabilities

Publications (1)

Publication Number Publication Date
RU2622622C1 true RU2622622C1 (en) 2017-06-16

Family

ID=59068451

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2016110533A RU2622622C1 (en) 2016-03-22 2016-03-22 System to analyse software for absence of undeclared capabilities

Country Status (1)

Country Link
RU (1) RU2622622C1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2675210C1 (en) * 2018-01-31 2018-12-17 Федеральное государственное казенное военное образовательное учреждение высшего образования "Академия Федеральной службы охраны Российской Федерации" (Академия ФСО России) System of analysis of software in the absence of potentially hazardous functional objects
RU2711041C1 (en) * 2019-05-14 2020-01-14 федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации Software analysis method based on absence of undeclared functionalities

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7437718B2 (en) * 2003-09-05 2008-10-14 Microsoft Corporation Reviewing the security of trusted software components
RU2419135C1 (en) * 2009-10-05 2011-05-20 Федеральное государственное учреждение "Государственный научно-исследовательский испытательный институт проблем технической защиты информации Федеральной службы по техническому и экспортному контролю" System to monitor unavailability of undeclared opportunities in software
RU2434265C1 (en) * 2010-07-13 2011-11-20 Федеральное государственное учреждение "Государственный научно-исследовательский испытательный институт проблем технической защиты информации Федеральной службы по техническому и экспортному контролю" System for monitoring lack of undeclared options in software
RU2434272C1 (en) * 2010-06-04 2011-11-20 Федеральное государственное учреждение "Государственный научно-исследовательский испытательный институт проблем технической защиты информации Федеральной службы по техническому и экспортному контролю" System for monitoring lack of undeclared options in software

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7437718B2 (en) * 2003-09-05 2008-10-14 Microsoft Corporation Reviewing the security of trusted software components
RU2419135C1 (en) * 2009-10-05 2011-05-20 Федеральное государственное учреждение "Государственный научно-исследовательский испытательный институт проблем технической защиты информации Федеральной службы по техническому и экспортному контролю" System to monitor unavailability of undeclared opportunities in software
RU2434272C1 (en) * 2010-06-04 2011-11-20 Федеральное государственное учреждение "Государственный научно-исследовательский испытательный институт проблем технической защиты информации Федеральной службы по техническому и экспортному контролю" System for monitoring lack of undeclared options in software
RU2434265C1 (en) * 2010-07-13 2011-11-20 Федеральное государственное учреждение "Государственный научно-исследовательский испытательный институт проблем технической защиты информации Федеральной службы по техническому и экспортному контролю" System for monitoring lack of undeclared options in software

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2675210C1 (en) * 2018-01-31 2018-12-17 Федеральное государственное казенное военное образовательное учреждение высшего образования "Академия Федеральной службы охраны Российской Федерации" (Академия ФСО России) System of analysis of software in the absence of potentially hazardous functional objects
RU2711041C1 (en) * 2019-05-14 2020-01-14 федеральное государственное казенное военное образовательное учреждение высшего образования "Краснодарское высшее военное училище имени генерала армии С.М. Штеменко" Министерства обороны Российской Федерации Software analysis method based on absence of undeclared functionalities

Similar Documents

Publication Publication Date Title
Lillack et al. Tracking load-time configuration options
US10289536B2 (en) Distinguishing public and private code in testing environments
Kim et al. A Brief Survey on Rootkit Techniques in Malicious Codes.
Gay Generating effective test suites by combining coverage criteria
Yulianto et al. Automatic grader for programming assignment using source code analyzer
Medeiros et al. An empirical study on configuration-related issues: Investigating undeclared and unused identifiers
RU2622622C1 (en) System to analyse software for absence of undeclared capabilities
KR20220085290A (en) Method for verifying software and apparatus therefor
Stefanović et al. Identification of strategies over tools for static code analysis
Zhao et al. Qchecker: Detecting bugs in quantum programs via static analysis
Chekam et al. Muteria: An extensible and flexible multi-criteria software testing framework
Li et al. Automated source code instrumentation for verifying potential vulnerabilities
RU2675210C1 (en) System of analysis of software in the absence of potentially hazardous functional objects
Lu et al. Spectrum-base fault localization by exploiting the failure path
Liu et al. Cafa: a checksum-aware fuzzing assistant tool for coverage improvement
DeMott et al. Systematic bug finding and fault localization enhanced with input data tracking
CN113051582B (en) Computer software technology development and debugging system
Jurn et al. A survey of automated root cause analysis of software vulnerability
Gonzalez-de-Aledo et al. FramewORk for Embedded System verification: (Competition Contribution)
Alssir et al. Web security testing approaches: comparison framework
Nakajima et al. Toward developer-like automated program repair—Modification comparisons between genprog and developers
KR102002545B1 (en) Code test automatic proceeding method through virtualixation and appratus for the same
Yang et al. Distributed assertion checking using symbolic execution
EP3933632B1 (en) Verifying a correct implementation of a confidentiality and integrity policy by a software
RU2434265C1 (en) System for monitoring lack of undeclared options in software

Legal Events

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

Effective date: 20180323