RU2675210C1 - System of analysis of software in the absence of potentially hazardous functional objects - Google Patents

System of analysis of software in the absence of potentially hazardous functional objects Download PDF

Info

Publication number
RU2675210C1
RU2675210C1 RU2018103834A RU2018103834A RU2675210C1 RU 2675210 C1 RU2675210 C1 RU 2675210C1 RU 2018103834 A RU2018103834 A RU 2018103834A RU 2018103834 A RU2018103834 A RU 2018103834A RU 2675210 C1 RU2675210 C1 RU 2675210C1
Authority
RU
Russia
Prior art keywords
software
block
input
output
files
Prior art date
Application number
RU2018103834A
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 RU2018103834A priority Critical patent/RU2675210C1/en
Application granted granted Critical
Publication of RU2675210C1 publication Critical patent/RU2675210C1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3624Software debugging by performing operations on the source code, e.g. via a compiler
    • 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
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

FIELD: computer equipment.
SUBSTANCE: invention relates to computing systems and networks. Software analysis system for the absence of potentially hazardous functional objects includes a block for storing found control flows, a block for storing source files, a block for fixing the source state of source texts, a block for checking the source code redundancy, block for analysis and systematization of contextual information, a block for installing control points in source files, a block for compiling software source files with established control points, block for executing compiled files, a block for storing a list of passed checkpoints, a block for storing routes of routes for executing compiled software files, a block for storing a list of potentially dangerous software constructions, block for searching for potentially dangerous software constructions in source files, block for expert correction of automated analysis results, block for testing potentially dangerous software constructions, block for saving final results.
EFFECT: technical result is an increase in the number of detectable potentially hazardous functional objects in the studied software.
1 cl, 5 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 (Airborne).

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

CWE (Common Weakness Enumeration) - общий перечень дефектов безопасности. Предназначен для разработчиков и специалистов по обеспечению безопасности ПО. Он представляет собой официальный реестр или словарь общих дефектов безопасности, которые могут проявиться в архитектуре, проектировании, коде или реализации ПО, и могут быть использованы злоумышленниками для получения несанкционированного доступа к системе. Данный перечень был разработан в качестве универсального формального языка для описания дефектов безопасности ПО, а также в качестве стандарта для измерения эффективности инструментов, выявляющих такие дефекты, и для распознавания, устранения и предотвращения этих дефектов (Как PVS-Studio может помочь в поиске уязвимостей? Электронный ресурс: https://www.viva64.com/ru/b/0514/).CWE (Common Weakness Enumeration) - A general list of security flaws. Designed for developers and software security professionals. It is an official registry or a dictionary of common security defects that can appear in the architecture, design, code or implementation of software, and can be used by attackers to gain unauthorized access to the system. This list was developed as a universal formal language for describing software security defects, as well as a standard for measuring the effectiveness of tools that detect such defects and for recognizing, eliminating, and preventing these defects (How can PVS-Studio help in finding vulnerabilities? Electronic resource: https://www.viva64.com/en/b/0514/).

функциональный объект элемент программы, осуществляющий выполнение действий по реализации законченного фрагмента алгоритма программы (РД «Защита от несанкционированного доступа к информации. Программное обеспечение средств защиты информации. Классификация по уровню контроля отсутствия недекларированных возможностей»)a functional object is a program element that carries out actions to implement the complete fragment of the program algorithm (RD "Protection against unauthorized access to information. Software for information protection. Classification by the level of control of the absence of undeclared capabilities")

потенциально опасные функциональные объекты - это функциональные объекты, при неправильном использовании которых может быть нарушена конфиденциальность, целостность или доступность обрабатываемой в программном обеспечении информации, а также функционирование механизмов защиты среды функционирования программного обеспечения.potentially dangerous functional objects are functional objects, if used incorrectly, the confidentiality, integrity or availability of the information processed in the software, as well as the functioning of the protection mechanisms of the software functioning environment, may be violated.

массивы бинарных данных - информационные объекты, не относящиеся к исходному тексту программы, представляющие собой интегрированные в исходный текст готовые программные модули, такие как драйверы устройств, кодеки и объекты электронного обмена процессов цифровыми данными (Рябоконь В.В. Алгоритмы поиска и идентификации массивов бинарных данных в исходных текстах программного обеспечения [Электронный ресурс] http://dekanat.bsu.edu.ru/f.php//1/disser/case/filedisser/filedisser/815_Dissertaciya_Ryabokon.pdf.)binary data arrays - information objects that are not related to the source code of the program, which are ready-made program modules integrated into the source text, such as device drivers, codecs and objects for electronic exchange of digital data processes (V. Ryabokon, Algorithms for searching and identification of binary data arrays in the source code of the software [Electronic resource] http://dekanat.bsu.edu.ru/f.php//1/disser/case/filedisser/filedisser/815_Dissertaciya_Ryabokon.pdf.)

Известна система контроля отсутствия недекларированных возможностей в программном обеспечении (Патент РФ №2434265, кл. G06F 11/00, опубл. 20.11.2011. Бюл. №32). Система содержит блок сохранения найденных потоков управления исследуемого программного обеспечения, блок хранения файлов исходных текстов программного обеспечения, блок установки контрольных точек в файлы исходных текстов программного обеспечения, блок компиляции файлов исходных текстов программного обеспечения с установленными контрольными точками, блок выполнения скомпилированных файлов программного обеспечения, блок сохранения перечня пройденных контрольных точек, блок сохранения трасс маршрутов выполнения скомпилированных файлов программного обеспечения, блок хранения перечня потенциально опасных программных конструкций, блок поиска потенциально опасных программных конструкций в файлах исходных текстов программного обеспечения, блок экспертной корректировки результатов автоматизированного анализа, блок сохранения итоговых результатов, блок тестирования потенциально опасных программных конструкций.A known control system for the absence of undeclared capabilities in software (RF Patent No. 2434265, CL G06F 11/00, publ. 11/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.

Наиболее близким по своей технической сущности и выполняемым функциям аналогом (прототипом) к заявленной системе является система анализа программного обеспечения на отсутствие недекларированных возможностей (Патент РФ №2622622, кл. G06F 21/00, G06F 21/50, G06F 11/30, G06F 12/16 опубл. 16.06.2017. Бюл. №17). Система содержит блок сохранения найденных потоков управления исследуемого программного обеспечения, блок хранения файлов исходных текстов программного обеспечения, блок установки контрольных точек в файлы исходных текстов программного обеспечения, блок компиляции файлов исходных текстов программного обеспечения с установленными контрольными точками, блок выполнения скомпилированных файлов программного обеспечения, блок сохранения перечня пройденных контрольных точек, блок сохранения трасс маршрутов выполнения скомпилированных файлов программного обеспечения, блок хранения перечня потенциально опасных программных конструкций, блок поиска потенциально опасных программных конструкций в файлах исходных текстов программного обеспечения, блок экспертной корректировки результатов автоматизированного анализа, блок тестирования потенциально опасных программных конструкций, блок сохранения итоговых результатов,The closest in its technical essence and functions performed analogue (prototype) to the claimed system is a software analysis system for the absence of undeclared capabilities (RF Patent No. 2622622, CL G06F 21/00, G06F 21/50, G06F 11/30, G06F 12 / 16 publ. 06/16/2017. Bull. No. 17). 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, unit testing of potentially dangerous software designs, power conservation outcomes,

Контроль отсутствия недекларированных возможностей в программном обеспечении заключается в том, что файлы исходных текстов программного обеспечения с входа 12 после сохранения в блоке 2 поступают в блок 16 где происходит фиксация исходного состояния исходных текстов программного обеспечения. После чего файлы исходных текстов программного обеспечения поступают в блок 17, где происходит проверка избыточности исходных текстов. Затем в блоке 18 осуществляется анализ и систематизация контекстной информации и файлы исходных текстов передаются в блок 3, где происходит установка контрольных точек в файлы, а также процедуры и функции исходных текстов. После чего файлы исходных текстов программного обеспечения с установленными контрольными точками поступают в блок 4, где происходит их компиляция. Скомпилированные файлы исходных текстов поступают в блок 5, где происходит их запуск на выполнение, обработка запросов из скомпилированных файлов и к ним со стороны других исполняемых файлов, перехват информации о найденных потоках управления исследуемого программного обеспечения и ее передаче в блок 1 для сохранения, перехват информации о пройденных контрольных точках и ее передаче в блок 6 для сохранения, перехват информации о пройденных трассах маршрутов выполнения скомпилированных файлов программного обеспечения и ее передаче в блок 7 для сохранения. Файлы исходных текстов поступают в блок 9, где в них осуществляется поиск потенциально опасных программных конструкций, перечень которых поступает из блока 8. После чего в блоке 15 потенциально опасные программные конструкции тестируются. Предварительное формирование перечня потенциально опасных программных конструкций осуществляется с входа 13. Результаты автоматизированного анализа файлов исходных текстов поступают из блоков 1, 6, 7 и 15 в блок 10, где осуществляют корректировку с помощью интерактивного взаимодействия с экспертами. Полученные итоговые результаты после сохранения в блоке 11 поступают на выход 14.Monitoring the lack 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 16 where the initial state of the source texts of the software is fixed. After that, the source files of the software enter block 17, where the redundancy of the source texts is checked. Then, in block 18, the analysis and systematization of contextual information is carried out and the source files are transferred 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.

Классический подход к выявлению уязвимостей в исходных текстах ПО основан на сигнатурном анализе (поиск CWE уязвимостей). При этом из вида упускается возможность реализации в ПО функционала, нацеленного нарушение работы механизмов защиты среды функционирования, что может повлечь нарушение конфиденциальности, целостности и доступности информации обрабатываемой не только самим ПО, но и системой в целом. Таким образом становится очевидно, что недостаточно исследовать исходные тексты только на наличие CWE угроз, необходимо также убедиться, что реализуемый функционал не влияет на функционирование механизмов безопасности среды окружения, т.е. учесть условия функционирования ПО.The classic approach to identifying vulnerabilities in software sources is based on signature analysis (searching for CWE vulnerabilities). At the same time, the opportunity to implement functionality aimed at disrupting the functioning of protection mechanisms for the functioning environment, which may lead to a violation of the confidentiality, integrity and availability of information processed not only by the software itself, but also by the system as a whole, is overlooked. Thus, it becomes obvious that it is not enough to examine the source texts only for the presence of CWE threats, it is also necessary to make sure that the implemented functionality does not affect the functioning of the security mechanisms of the environment, i.e. take into account the operating conditions of the software.

Среда функционирования включает в себя:The operational environment includes:

- операционную систему со встроенными механизмами безопасности (идентификация и аутентификация, дискреционный и мандатный контроли доступом, аудит, очистка памяти, защита от ввода/вывода на отчуждаемый носитель информации);- an operating system with built-in security mechanisms (identification and authentication, discretionary and mandatory access control, audit, memory clearing, protection against input / output to an alienable storage medium);

- дополнительные программные средства защиты информации (QP, SPack);- Additional software information protection (QP, SPack);

- элементы управления аппаратными средствами доступными из ОС (BIOS).- Hardware controls accessible from the OS (BIOS).

Технической проблемой является низкое число обнаруживаемых потенциально опасных функциональных объектов в программном обеспечении и отсутствие анализа их влияния на программные и программно-технические средства защиты информации.The technical problem is the low number of detected potentially dangerous functional objects in the software and the lack of analysis of their impact on software and software and hardware information protection.

Техническим результатом является повышение числа обнаруживаемых потенциально опасных функциональных объектов в исследуемом ПО, за счет поиска и анализа массивов бинарных данных в исходных текстах исследуемого ПО, а также анализа влияния потенциально опасных функциональных объектов на программные и программно-технические средства защиты информации.The technical result is an increase in the number of detected potentially dangerous functional objects in the investigated software, by searching and analyzing arrays of binary data in the source texts of the studied software, as well as analyzing the impact of potentially dangerous functional objects on software and hardware-software information protection tools.

Техническая проблема решается путем поиска и анализа массивов бинарных данных в исходных текстах исследуемого программного обеспечения, а также анализа влияния функциональных объектов исследуемого программного обеспечения на программные и программно-технические средства защиты информации.The technical problem is solved by searching and analyzing arrays of binary data in the source texts of the studied software, as well as analyzing the influence of the functional objects of the studied software on the software and software and hardware information protection.

Техническая проблема решается тем, что в системе анализа программного обеспечения на отсутствие потенциально опасных функциональных объектов, включающей блок сохранения найденных потоков управления исследуемого программного обеспечения, блок хранения файлов исходных текстов программного обеспечения, блок фиксации исходного состояния исходных текстов программного обеспечения, блок проверки избыточности исходных текстов, блок анализа и систематизации контекстной информации, блок установки контрольных точек в файлы исходных текстов программного обеспечения, блок компиляции файлов исходных текстов программного обеспечения с установленными контрольными точками, блок выполнения скомпилированных файлов программного обеспечения, блок сохранения перечня пройденных контрольных точек, блок сохранения трасс маршрутов выполнения скомпилированных файлов программного обеспечения, блок хранения перечня потенциально опасных программных конструкций, блок поиска потенциально опасных программных конструкций в файлах исходных текстов программного обеспечения, блок экспертной корректировки результатов автоматизированного анализа, блок тестирования потенциально опасных программных конструкций, блок сохранения итоговых результатов. Вход блока хранения файлов исходных текстов программного обеспечения соединен с входом файлов исходных текстов программного обеспечения. Первый выход блока хранения файлов исходных текстов программного обеспечения соединен с входом блока фиксации исходного состояния исходных текстов программного обеспечения, второй выход - с входом блока поиска потенциально опасных программных конструкций в файлах исходных текстов программного обеспечения. Выход блока фиксации исходного состояния исходных текстов программного обеспечения соединен с входом блока проверки избыточности исходных текстов, выход которого соединен с блоком анализа и систематизации контекстной информации. Выход блока анализа и систематизации контекстной информации соединен со входом блока установки контрольных точек в файлы исходных текстов программного обеспечения. Выход блока установки контрольных точек в файлы исходных текстов программного обеспечения соединен с входом блока компиляции файлов исходных текстов программного обеспечения с установленными контрольными точками, выход которого соединен с входом блока выполнения скомпилированных файлов программного обеспечения. Первый выход блока выполнения скомпилированных файлов программного обеспечения соединен с входом блока сохранения найденных потоков управления исследуемого программного обеспечения, второй выход - с входом блока сохранения перечня пройденных контрольных точек, третий выход - с входом блока сохранения трасс маршрутов выполнения скомпилированных файлов программного обеспечения. Выход блока сохранения найденных потоков управления исследуемого программного обеспечения соединен с первым входом блока экспертной корректировки результатов автоматизированного анализа, второй вход которого соединен с выходом блока сохранения перечня пройденных контрольных точек, третий вход - с выходом блока сохранения трасс маршрутов выполнения скомпилированных файлов программного обеспечения, выход - с входом блока сохранения итоговых результатов. Выход блока сохранения итоговых результатов соединен с выходом выдачи итоговых результатов контроля, второй вход блока поиска потенциально опасных программных конструкций в файлах исходных текстов программного обеспечения соединен с выходом блока хранения перечня потенциально опасных программных конструкций. Вход блока хранения перечня потенциально опасных программных конструкций соединен с входом формирования перечня потенциально опасных программных конструкций, выход блока поиска потенциально опасных программных конструкций соединен с блоком тестирования потенциально опасных программных конструкций, в файлах исходных текстов программного обеспечения. Выход блока тестирования потенциально опасных программных конструкций соединен с четвертым входом блока экспертной корректировки промежуточных результатов, согласно изобретению дополнительно введены блок анализа массивов бинарных данных, блок оценки влияния функциональных объектов исследуемого программного обеспечения на программные и программно-технические средства защиты информации, вход репозитория массивов бинарных данных, вход репозитория функций взаимодействующих с элементами программных и программно-технических средств защиты информации. Выход блока анализа и систематизации контекстной информации в исходных текстах программного обеспечения, соединен с входом блока анализа массивов бинарных данных, выход которого соединен с блоком установки контрольных точек в файлы исходных текстов программного обеспечения. Второй вход блока анализа массивов бинарных данных соединен с входом репозитория массивов бинарных данных. Первый вход блока оценки влияния функциональных объектов исследуемого программного обеспечения на программные и программно-технические средства защиты информации соединен с выходом блока экспертной корректировки результатов автоматизированного анализа. Второй вход блока оценки влияния функциональных объектов исследуемого программного обеспечения на программные и программно-технические средства защиты информации соединен с входом репозитория функций взаимодействующих с элементами программных и программно-технических средств защиты информации. Выход блока оценки влияния функциональных объектов исследуемого программного обеспечения на программные и программно-технические средства защиты информации соединен со входом блока сохранения итоговых результатов.The technical problem is solved in that in the software analysis system for the absence of potentially dangerous functional objects, including a unit for storing found control flows of the studied software, a unit for storing software source files, a unit for fixing the initial state of software sources, a unit for checking source redundancy , a block for analyzing and systematizing contextual information, a block for setting breakpoints in source files in software, a block for compiling software source files with set control points, a block for compiling software files, a block for saving the list of passed control points, a block for saving paths for running compiled software files, a block for storing a list of potentially dangerous software structures, a search block potentially dangerous software constructs in software source files, ex ertnoy adjusting the results of automated analysis, unit testing of potentially dangerous software designs, power conservation outcomes. The input of the software source file storage unit is connected to the input of the software source files. The first output of the block for storing software source files is connected to the input of the block for fixing the initial state of software sources, the second output is to the input of the block for searching for potentially dangerous software structures in the source files of the software. The output of the block for fixing the initial state of the source texts 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 block for analyzing and organizing contextual information. The output of the analysis and systematization block of contextual information is connected to the input of the block for setting control points in the software source files. 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, a block analysis of binary data arrays, a block for assessing the influence of functional objects of the studied software on software and hardware-software information protection, an input of the binary data arrays repository are additionally introduced , input repository of functions interacting with elements of software and hardware tools to protect information. The output of the analysis and systematization of contextual information in the source code of the software is connected to the input of the analysis unit of the arrays of binary data, the output of which is connected to the block for setting control points in the source files of the software. The second input of the binary data array analysis unit is connected to the input of the binary data array repository. The first input of the unit for assessing the impact of the functional objects of the studied software on the software and software and hardware information protection is connected to the output of the expert adjustment unit of the results of the automated analysis. The second input of the unit for assessing the impact of functional objects of the studied software on software and software and hardware information protection is connected to the input of the repository of functions interacting with elements of software and software and hardware information protection. The output of the unit for assessing the impact of functional objects of the studied software on software and software and hardware information protection is connected to the input of the unit for storing the final results.

Перечисленная совокупность существенных признаков повышает количество потенциально обнаруживаемых опасных функциональных объектов с учетом влияния функциональных объектов исследуемого программного обеспечения на программные и программно-технические средства защиты информации.The listed set of essential features increases the number of potentially detectable dangerous functional objects, taking into account the influence of the functional objects of the studied software on the software and software and hardware information protection.

Проведенный анализ позволил установить, что аналоги, тождественные признакам заявленной системы, отсутствуют, что указывает на соответствие заявленной системы условию патентоспособности «новизна».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".

«Промышленная применимость» системы обусловлена наличием программного обеспечения и элементной базы, на основе которого указанные блоки могут быть выполнены. Сравнение массивов данных с массивами имеющимися в репозитории возможно с помощью микросхем компараторов описанных в [Комбинационные коды. Ч.1. Электронный ресурс: http://www.intuit.ru/studies/courses/104/104/lecture/3037?page=5]. Хранение массивов данных возможно с помощью устройств хранения информации, описанных в [Устройства хранения информации. Электронный ресурс: http://www.studfiles.ru/preview/4235419/]. Быстрый просмотр репозитория массивов данных возможен с помощью микросхем для быстрого просмотра базы данных (Микросхемы для быстрого просмотра базы данных. Электронный ресурс: http://www.az-design.ru/index.shtml?Support&HardWare&GeneralElectric/A19811103Elc005)The "industrial applicability" of the system is due to the presence of software and an element base, on the basis of which these blocks can be performed. Comparison of data arrays with arrays available in the repository is possible using the comparator circuits described in [Combination codes. Part 1. Electronic resource: http://www.intuit.ru/studies/courses/104/104/lecture/3037?page=5]. Storage of data arrays is possible using the information storage devices described in [Information storage devices. Electronic resource: http://www.studfiles.ru/preview/4235419/]. Quick viewing of the repository of data arrays is possible using microcircuits for quick viewing of the database (Microcircuits for quick viewing of the database. Electronic resource: http://www.az-design.ru/index.shtml?Support&HardWare&GeneralElectric/A19811103Elc005)

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

Фиг. 1 - Блок-схема системы анализа программного обеспечения на отсутствие потенциального опасных функциональных объектов.FIG. 1 - Block diagram of a software analysis system for the absence of potential dangerous functional objects.

Фиг. 2 - Блок-схема блока анализа массивов бинарных данных.FIG. 2 - Block diagram of a block analysis of binary data arrays.

Фиг. 3 - Блок-схема блока оценки влияния функциональных объектов исследуемого программного обеспечения на программные и программно-технические средства защиты информации.FIG. 3 - A block diagram of a unit for assessing the impact of functional objects of the studied software on software and software and hardware information protection.

Фиг. 4 - Метрики исследуемого программного обеспечения.FIG. 4 - Metrics of the investigated software.

Фиг. 5 - Сравнительные результаты анализа программного обеспечения системой-прототипом и предлагаемой системойFIG. 5 - Comparative results of software analysis of the prototype system and the proposed system

Блок схема предлагаемой системы анализа программного обеспечения на отсутствие потенциального опасных функциональных объектов приведена на фиг. 1, содержит блок сохранения найденных потоков управления исследуемого программного обеспечения 1, блок хранения файлов исходных текстов программного обеспечения 2, блок фиксации исходного состояния исходных текстов программного обеспечения 16, блок проверки избыточности исходных текстов 17, блок анализа и систематизации контекстной информации 18, блок установки контрольных точек в файлы исходных текстов программного обеспечения 3, блок компиляции файлов исходных текстов программного обеспечения с установленными контрольными точками 4, блок выполнения скомпилированных файлов программного обеспечения 5, блок сохранения перечня пройденных контрольных точек 6, блок сохранения трасс маршрутов выполнения скомпилированных файлов программного обеспечения 7, блок хранения перечня потенциально опасных программных конструкций 8, блок поиска потенциально опасных программных конструкций в файлах исходных текстов программного обеспечения 9, блок экспертной корректировки результатов автоматизированного анализа 10, блок тестирования потенциально опасных программных конструкций 15, блок сохранения итоговых результатов 11, вход файлов исходных текстов программного обеспечения 12, вход перечня потенциально опасных программных конструкций 13, блок анализа массивов бинарных данных 19, блок оценки влияния функциональных объектов исследуемого программного обеспечения на программные и программно-технические средства защиты информации 20, вход репозитория массивов бинарных данных 21, вход репозитория функций взаимодействующих с элементами программных и программно-технических средств защиты информации 22.A block diagram of the proposed software analysis system for the absence of potential dangerous functional objects 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, the input of the source files of the software 12, the input of the list of potentially dangerous software structures 13, the analysis unit of the binary data arrays 19, the unit for assessing the impact of the functional objects of the studied software on the software and hardware and software information protection 20, input of the repository of binary data arrays 21, input of the repository of functions interacting with elements of software and hardware and software information protection 22.

Причем вход блока хранения файлов исходных текстов программного обеспечения 2 соединен с входом получения файлов исходных текстов программного обеспечения 12, первый выход - входом блока фиксации исходного состояния исходных текстов программного обеспечения 16, второй выход - с входом блока поиска потенциально опасных программных конструкций в файлах исходных текстов программного обеспечения 9, выход блока фиксации исходного состояния исходных текстов программного обеспечения 16 соединен с входом блока проверки избыточности исходных текстов 17, выход блока проверки избыточности исходных текстов 17 соединен с входом блока анализа и систематизации контекстной информации 18 выход которого соединен с входом блока анализа массивов бинарных данных 19 второй вход которого соединен с репозиторием массивов бинарных данных 21, выход блока анализа массивов бинарных данных соединен с входом блока установки контрольных точек в файлы исходных текстов программного обеспечения 3, выход которого соединен с входом блока компиляции файлов исходных текстов программного обеспечения с установленными контрольными точками 4, выход которого соединен с входом блока выполнения скомпилированных файлов программного обеспечения 5, первый выход которого соединен с входом блока сохранения найденных потоков управления исследуемого программного обеспечения 1, второй выход - с входом блока сохранения перечня пройденных контрольных точек 6, третий выход - с входом блока сохранения трасс маршрутов выполнения скомпилированных файлов программного обеспечения 7, выход блока сохранения найденных потоков управления исследуемого программного обеспечения 1 соединен с первым входом блока экспертной корректировки результатов автоматизированного анализа 10, второй вход которого соединен с выходом блока сохранения перечня пройденных контрольных точек 6, третий вход - с выходом блока сохранения трасс маршрутов выполнения скомпилированных файлов программного обеспечения 7, выход - с входом блока оценки влияния функциональных объектов исследуемого программного обеспечения на программные и программно-технические средства защиты информации 20, второй вход которого соединен с выходом репозитория функций взаимодействующих с элементами программных и программно-технических средств защиты информации 22, выход блока оценки влияния функциональных объектов исследуемого программного обеспечения на программные и программно-технические средства защиты информации 20 соединен с входом блока сохранения итоговых результатов 11, выход которого соединен с выходом выдачи итоговых результатов контроля 14.Moreover, the input of the storage unit of the source files of the software 2 is connected to the input of the source files of the software 12, the first output is the input of the unit for fixing the initial state of the source software 16, the second output is the input of the search unit for potentially dangerous software structures in the source files software 9, the output of the block fixing the initial state of the source software 16 is connected to the input of the block checking the redundancy of the source t kstv 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 binary data arrays analysis unit 19 whose second input is connected to the binary data arrays repository 21, the output of the binary data arrays analysis unit is connected to the input of the block installation of control points in the source files of the software 3, the output of which is connected to the input of the compilation unit of the source files of the software updated 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 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 block for saving traces of the routes for executing compiled software files 7, the output of the block for saving the found control flows of the studied programs of software 1 is connected to the first input of the expert adjustment block of the results of automated analysis 10, the second input of which is connected to the output of the block for saving the list of passed control points 6, the third input is with the output of the block for saving the paths of the routes for executing compiled software files 7, the output is with the input of the block assessment of the impact of functional objects of the studied software on software and software and hardware information security 20, the second input of which is connected to the repository of functions interacting with elements of software and hardware and software information protection tools 22, the output of the unit for assessing the impact of functional objects of the studied software on software and software and hardware information protection tools 20 is connected to the input of the storage unit of the final results 11, the output of which is connected to the output of the output final control results 14.

Исходные тексты исследуемого программного обеспечения могут содержать потенциально опасные функциональные объекты. Поиск и анализ массивов бинарных данных в исходных текстах исследуемого программного обеспечения, а также анализ оценки влияния функциональных объектов исследуемого программного обеспечения на программные и программно-технические средства защиты информации позволяет повысить число потенциально обнаруживаемых опасных функциональных объектов.Sources of the software under investigation may contain potentially dangerous functional objects. Search and analysis of binary data arrays in the source texts of the studied software, as well as analysis of the assessment of the influence of the functional objects of the studied software on the software and software and hardware information protection tools allows you to increase the number of potentially detected dangerous functional objects.

Блок-схема блока анализа массивов бинарных данных представлена на фиг. 2 Данный блок состоит из четырех элементов: блок 19.1 (в данном блоке осуществляется поиск в файлах исходных текстов исследуемого ПО массивов бинарных данных фиг. 2), блок 19.2 (в данном блоке сохраняются найденные массивы бинарных данных фиг. 2), блок 19.3 (в данном блоке осуществляется анализ обнаруженных массивов бинарных данных, фиг. 2). Поиск в файлах исходных текстов исследуемого ПО массивов бинарных данных (блок 19.1, фиг. 2) описан в [Рябоконь В.В., Лебеденко Е.В. Автоматизация процесса проверки исходных текстов специального программного обеспечения на наличие бинарных вставок. Информационные технологии моделирования и управления. 2014, №4 (88). С. 328-333] Полученные массивы бинарных данных сохраняются в блоке 19.2. Анализ обнаруженных массивов бинарных данных проводится в блоке 19.3, фиг. 2. Основными операциями на данном этапе является идентификация найденных массивов данных, анализ неизвестных массивов данных и принятие решения о наличии бинарных вставок. Алгоритмы и методы идентификации массивов бинарных данных описаны в [Рябоконь В.В., Игнатов Ю.И., Лебеденко Е.В. Выбор управляемых параметров алгоритма идентификации массивов бинарных данных. Интернет-журнал Науковедение. 2016. Т. 8 №3 (34). С. 126; Рябоконь В.В., Лебеденко Е.В., Лапко А.Н., Куцакин М.А. Экспериментальное исследование метода идентификации массивов бинарных данных. Известия Тульского государственного университета. Технические науки. 2017. №5. С. 265-277] Данные алгоритмы и методы могут быть реализованы как экспертным путем, так и в виде специализированного программного обеспечения.A block diagram of a binary data array analysis unit is shown in FIG. 2 This block consists of four elements: block 19.1 (in this block, the source files of the software under study are searched for the binary data arrays of Fig. 2), block 19.2 (the found arrays of binary data of Fig. 2 are stored in this block), block 19.3 (in This block analyzes the detected arrays of binary data, Fig. 2). A search in the source files of the software under study for binary data arrays (block 19.1, Fig. 2) is described in [Ryabokon VV, Lebedenko EV Automation of the process of checking the source code of special software for the presence of binary inserts. Information technology modeling and management. 2014, No 4 (88). P. 328-333] Received arrays of binary data are stored in block 19.2. An analysis of the detected binary data arrays is carried out in block 19.3, FIG. 2. The main operations at this stage are the identification of the found data arrays, the analysis of unknown data arrays and the decision on the presence of binary inserts. Algorithms and methods for identifying binary data arrays are described in [Ryabokon V.V., Ignatov Yu.I., Lebedenko E.V. Selection of controlled parameters of the algorithm for identifying arrays of binary data. Internet Journal of Science. 2016.V. 8 No. 3 (34). S. 126; Ryabokon V.V., Lebedenko E.V., Lapko A.N., Kutsakin M.A. An experimental study of the method of identification of arrays of binary data. Bulletin of Tula State University. Technical science. 2017. No5. P. 265-277] These algorithms and methods can be implemented both expertly and in the form of specialized software.

Блок-схема блока оценки влияния функциональных объектов исследуемого программного обеспечения на программные и программно-технические средства защиты информации представлена на фиг. 3. Данный блок состоит из двух элементов: блок 20.1 (в данном блоке в файлах исходных текстов исследуемого ПО, осуществляется поиск текстов функций реализующих взаимодействие с программными и программно-техническими средствами защиты информации (фиг. 4), блок 20.2 (в данном блоке осуществляется анализ выделенных участков кода на предмет наличия функционала, деструктивного по отношению к программным и программно-техническим средствам защиты информации (фиг. 4). Блок оценки влияния функциональных объектов исследуемого программного обеспечения на программные и программно-технические средства защиты информации предназначен для выделения в составе исходных текстов исследуемого ПО функций, процедур и методов, взаимодействующих с функциями безопасности программных и программно-технических средства защиты информации. Выделенные участки кода подвергаются экспертному исследованию на предмет выявления деструктивного влияния на функционирование СЗИ, а также базовых механизмов защиты ОС, таких как:The block diagram of the unit for assessing the impact of functional objects of the studied software on software and software and hardware information protection is presented in FIG. 3. This block consists of two elements: block 20.1 (in this block, in the source files of the software under study, the search is made for the texts of functions that implement interaction with software and software and hardware information protection (Fig. 4), block 20.2 (in this block analysis of selected sections of code for the presence of functionality that is destructive with respect to software and software and hardware information protection (Fig. 4). Unit for assessing the impact of functional objects of the studied software for software and software and hardware information protection tools designed to highlight in the source code of the software under study the functions, procedures and methods that interact with the security functions of software and software hardware information protection. The selected sections of the code are subjected to expert research to identify the destructive effect on the functioning SZI, as well as basic OS protection mechanisms, such as:

- идентификация и аутентификация;- identification and authentication;

- аудит;- audit;

- дискреционный контроль доступа;- discretionary access control;

- мандатный контроль доступа;- Mandatory access control;

Заявленная система работает следующим образом. Файлы исходных текстов ПО с входа 12 после сохранения в блоке 2 поступают в блок 16, где происходит фиксация исходного состояния файлов исходных текстов исследуемого ПО. После этого файлы исходных текстов поступают в блок 17, где осуществляется проверка избыточности исходных текстов, а затем передаются в блок 18 для анализа и систематизации контекстной информации. Следующим этапом является выявление массивов бинарных данных в блоке 19, в котором обнаруженные массивы бинарных данных сравниваются с массивами поступающими со входа 21 из репозитория массивов бинарных данных 21. После чего обрабатывают файлы исходных текстов в блоке 3, где происходит установка контрольных точек в файлы, а также процедуры и функции исходных текстов. После чего файлы исходных текстов программного обеспечения с установленными контрольными точками поступают в блок 4, где происходит их компиляция. Скомпилированные файлы исходных текстов из блока 4 поступают в блок 5, где происходит их запуск на выполнение, обработка запросов из скомпилированных файлов и к ним со стороны других исполняемых файлов, перехват информации о найденных потоках управления исследуемого программного обеспечения и ее передаче в блок 1 для сохранения, перехват информации о пройденных контрольных точках и ее передаче в блок 6 для сохранения, перехват информации о пройденных трассах маршрутов выполнения скомпилированных файлов программного обеспечения и ее передаче в блок 7 для сохранения. Помимо этого, файлы исходных текстов поступают в блок 9, где в них осуществляется поиск потенциально опасных программных конструкций, перечень которых поступает из блока 8. Предварительное формирование перечня потенциально опасных программных конструкций осуществляется с входа 13. Результаты автоматизированного анализа файлов исходных текстов поступают из блоков 1, 6, 7 и 9 в блок 10, где осуществляют корректировку с помощью интерактивного взаимодействия с экспертами. Полученные итоговые результаты поступают в блок 20, куда также поступают данные в входа 22 репозитория функций взаимодействующих с элементами программных и программно-технических средств защиты информации. После чего в блоке 20 с помощью интерактивного взаимодействия с экспертами осуществляется оценка влияния функциональных объектов исследуемого программного обеспечения на программные и программно-технические средства защиты информации, по окончании которого полученные данные поступают в блок 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 to identify the binary data arrays in block 19, in which the detected binary data arrays are compared with the arrays coming from input 21 from the binary data arrays repository 21. Then they process the source files in block 3, where the control points are set to files, and also the procedures and functions of the source code. After that, the source files of the software with the installed control points arrive in block 4, where they are compiled. The compiled source files from block 4 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 passed control points and transferring it to block 6 for saving, intercepting information about traveled paths of routes for executing compiled software files and its per cottage in block 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 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 results are sent to block 20, which also receives data in input 22 of the repository of functions interacting with elements of software and hardware and software information security. After that, in block 20, using the interactive interaction with experts, the impact of the functional objects of the studied software on the software and software and hardware information protection is evaluated, after which the received data goes to block 11 where it is saved and then the data goes to output 14.

Оценка эффективности заявленной системы проводилась следующим образом. Было взято ПО с метриками представленными на фиг. 4.Assessment of the effectiveness of the claimed system was carried out as follows. The software with the metrics shown in FIG. four.

В данное ПО были добавлены потенциально опасные функциональные объекты, после чего ПО было проанализировано системой-прототипом и разработанной системой. Результаты анализа представлены на фиг. 5.Potentially dangerous functional objects were added to this software, after which the software was analyzed by a prototype system and a developed system. The analysis results are presented in FIG. 5.

Таким образом, заявленный способ решает техническую проблему и обеспечивает на 12,5-17,5% повышение числа обнаруживаемых потенциально опасных функциональных объектов с учетом анализа их влияния на программные и программно-технические средства защиты информации.Thus, the claimed method solves a technical problem and provides a 12.5-17.5% increase in the number of detected potentially dangerous functional objects, taking into account the analysis of their influence on software and software and hardware information protection.

Claims (1)

Система анализа программного обеспечения на отсутствие потенциально опасных функциональных объектов, включающая блок сохранения найденных потоков управления исследуемого программного обеспечения, блок хранения файлов исходных текстов программного обеспечения, блок фиксации исходного состояния исходных текстов программного обеспечения, блок проверки избыточности исходных текстов, блок анализа и систематизации контекстной информации, блок установки контрольных точек в файлы исходных текстов программного обеспечения, блок компиляции файлов исходных текстов программного обеспечения с установленными контрольными точками, блок выполнения скомпилированных файлов программного обеспечения, блок сохранения перечня пройденных контрольных точек, блок сохранения трасс маршрутов выполнения скомпилированных файлов программного обеспечения, блок хранения перечня потенциально опасных программных конструкций, блок поиска потенциально опасных программных конструкций в файлах исходных текстов программного обеспечения, блок экспертной корректировки результатов автоматизированного анализа, блок тестирования потенциально опасных программных конструкций, блок сохранения итоговых результатов, вход блока хранения файлов исходных текстов программного обеспечения соединен с входом файлов исходных текстов программного обеспечения, первый выход блока хранения файлов исходных текстов программного обеспечения соединен с входом блока фиксации исходного состояния исходных текстов программного обеспечения, второй выход - с входом блока поиска потенциально опасных программных конструкций в файлах исходных текстов программного обеспечения, выход блока фиксации исходного состояния исходных текстов программного обеспечения соединен с входом блока проверки избыточности исходных текстов, выход которого соединен с блоком анализа и систематизации контекстной информации, выход блока анализа и систематизации контекстной информации соединен с входом блока установки контрольных точек в файлы исходных текстов программного обеспечения, выход блока установки контрольных точек в файлы исходных текстов программного обеспечения соединен с входом блока компиляции файлов исходных текстов программного обеспечения с установленными контрольными точками, выход которого соединен с входом блока выполнения скомпилированных файлов программного обеспечения, первый выход блока выполнения скомпилированных файлов программного обеспечения соединен с входом блока сохранения найденных потоков управления исследуемого программного обеспечения, второй выход - с входом блока сохранения перечня пройденных контрольных точек, третий выход - с входом блока сохранения трасс маршрутов выполнения скомпилированных файлов программного обеспечения, выход блока сохранения найденных потоков управления исследуемого программного обеспечения соединен с первым входом блока экспертной корректировки результатов автоматизированного анализа, второй вход которого соединен с выходом блока сохранения перечня пройденных контрольных точек, третий вход - с выходом блока сохранения трасс маршрутов выполнения скомпилированных файлов программного обеспечения, выход - с входом блока сохранения итоговых результатов, выход блока сохранения итоговых результатов соединен с выходом выдачи итоговых результатов контроля, второй вход блока поиска потенциально опасных программных конструкций в файлах исходных текстов программного обеспечения соединен с выходом блока хранения перечня потенциально опасных программных конструкций, вход блока хранения перечня потенциально опасных программных конструкций соединен с входом формирования перечня потенциально опасных программных конструкций, выход блока поиска потенциально опасных программных конструкций соединен с блоком тестирования потенциально опасных программных конструкций, в файлах исходных текстов программного обеспечения, выход блока тестирования потенциально опасных программных конструкций соединен с четвертым входом блока экспертной корректировки промежуточных результатов, отличающаяся тем, что дополнительно введены блок анализа массивов бинарных данных, блок влияния функциональных объектов исследуемого программного обеспечения на программные и программно-технические средства защиты информации, вход репозитория массивов бинарных данных, вход репозитория функций, взаимодействующих с элементами программных и программно-технических средств защиты информации, причем выход блока анализа и систематизации контекстной информации в исходных текстах программного обеспечения соединен с входом блока анализа массивов бинарных данных, выход которого соединен с блоком установки контрольных точек в файлы исходных текстов программного обеспечения, второй вход блока анализа массивов бинарных данных соединен с входом репозитория массивов бинарных данных, выход блока экспертной корректировки результатов автоматизированного анализа соединен с входом блока оценки влияния функциональных объектов исследуемого программного обеспечения на программные и программно-технические средства защиты информации, второй вход которого соединен с входом репозитория функций, взаимодействующих с элементами программных и программно-технических средств защиты информации.A system for analyzing software for the absence of potentially dangerous functional objects, including a unit for storing found control flows of the studied software, a unit for storing software source files, a unit for fixing the initial state of software sources, a unit for checking redundancy of source texts, an analysis and systematization unit for contextual information , block for setting breakpoints in software source files, block compiles software source files with set control points, a compiled software file execution unit, a list of passed control points saved, a path storage unit for compiled software files, a storage block of a list of potentially dangerous software structures, a block of search for potentially dangerous software structures in software source files, expert adjustment block of the tested analysis, a block for testing potentially dangerous software structures, a unit for storing the final results, the input of the block for storing software source files is connected to the input of the files for the source text of the software, the first output of the block for storing the source files of the software is connected to the input of the block for fixing the source state of the source texts software, the second exit - with the input of the search unit for potentially dangerous software structures in the source files x texts of software, the output of the block for fixing the initial state of the source texts 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 block for analyzing and organizing the context information, the output of the block for analyzing and organizing the context information is connected to the input of the block for setting control points to files the source code of the software, the output of the block installation of control points in the source files of the software is connected to the input m of the compilation block of the source files of the software with the set control points, the output of which is connected to the input of the block of execution of the compiled software files, the first output of the block of execution of the compiled software files is connected to the input of the storage block of the found control flows of the studied software, the second output - to the input block for saving the list of passed control points, the third exit - with the input of the block for saving traces of execution routes I 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 unit of the results of the automated analysis, the second input of which is connected to the output of the storage unit of the list of passed control points, the third input - with the output of the storage unit of track paths of compiled execution routes software files, output - with the input of the unit for saving the final results, the output of the unit for saving ito of the results is connected to the output of the output of the final control results, the second input of the block of search for potentially dangerous software structures in the source files of the software software is connected to the output of the storage block of the list of potentially dangerous software structures, the input of the block of storage of the list of potentially dangerous software structures is connected to the input of the formation of the list of potentially dangerous software constructs, the output of the search block for potentially dangerous software constructs is connected to the testro block of potentially dangerous software constructs, in the source code files of the software, the output of the testing block of potentially dangerous software constructs is connected to the fourth input of the expert adjustment block of intermediate results, characterized in that an analysis unit for binary data arrays, a block for the influence of functional objects of the studied software on software and hardware-technical means of information protection, input of a binary data array repository, input a repository of functions that interact with elements of software and hardware and software information security, and the output of the analysis and systematization of contextual information in the source codes of the software is connected to the input of the analysis unit of arrays of binary data, the output of which is connected to the installation of control points in the source files of the software providing, the second input of the binary data arrays analysis unit is connected to the input of the binary data arrays repository, the output of the expert correction block irovki automated analysis results connected to the input of the evaluation of influence of functional entities of the test software to program and program-technological protection information, a second input coupled to the input of the repository functions of interacting with elements of software and hardware and software protection.
RU2018103834A 2018-01-31 2018-01-31 System of analysis of software in the absence of potentially hazardous functional objects RU2675210C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2018103834A RU2675210C1 (en) 2018-01-31 2018-01-31 System of analysis of software in the absence of potentially hazardous functional objects

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2018103834A RU2675210C1 (en) 2018-01-31 2018-01-31 System of analysis of software in the absence of potentially hazardous functional objects

Publications (1)

Publication Number Publication Date
RU2675210C1 true RU2675210C1 (en) 2018-12-17

Family

ID=64753070

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2018103834A RU2675210C1 (en) 2018-01-31 2018-01-31 System of analysis of software in the absence of potentially hazardous functional objects

Country Status (1)

Country Link
RU (1) RU2675210C1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US20060168570A1 (en) * 2005-01-25 2006-07-27 Taiwan Semiconductor Manufacturing Co., Ltd. Method for prevention of system execution malfunction
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
RU2622622C1 (en) * 2016-03-22 2017-06-16 Федеральное государственное казенное военное образовательное учреждение высшего образования "Академия Федеральной службы охраны Российской Федерации" (Академия ФСО России) System to analyse software for absence of undeclared capabilities

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
US20060168570A1 (en) * 2005-01-25 2006-07-27 Taiwan Semiconductor Manufacturing Co., Ltd. Method for prevention of system execution malfunction
RU2419135C1 (en) * 2009-10-05 2011-05-20 Федеральное государственное учреждение "Государственный научно-исследовательский испытательный институт проблем технической защиты информации Федеральной службы по техническому и экспортному контролю" System to monitor unavailability of undeclared opportunities in software
RU2622622C1 (en) * 2016-03-22 2017-06-16 Федеральное государственное казенное военное образовательное учреждение высшего образования "Академия Федеральной службы охраны Российской Федерации" (Академия ФСО России) System to analyse software for absence of undeclared capabilities

Cited By (1)

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

Similar Documents

Publication Publication Date Title
Le Goues et al. A systematic study of automated program repair: Fixing 55 out of 105 bugs for $8 each
Li et al. CLORIFI: software vulnerability discovery using code clone verification
Li et al. A novel approach for software vulnerability classification
KR102588856B1 (en) Method for verifying software and apparatus therefor
Carvalho et al. Equivalent mutants in configurable systems: An empirical study
Autili et al. Software engineering techniques for statically analyzing mobile apps: research trends, characteristics, and potential for industrial adoption
Kyrychok et al. Development of a method for checking vulnerabilities of a corporate network using bernstein transformations
RU2675210C1 (en) System of analysis of software in the absence of potentially hazardous functional objects
Gerasimov et al. An approach to reachability determination for static analysis defects with the help of dynamic symbolic execution
Suneja et al. Towards reliable ai for source code understanding
Stuckman et al. Comparing and applying attack surface metrics
Phung et al. Error-Type—A Novel Set of Software Metrics for Software Fault Prediction
Li et al. Automated source code instrumentation for verifying potential vulnerabilities
Kamal et al. Risk assessment, threat modeling and security testing in SDLC
KR20140088963A (en) System and method for testing runtime error
RU2622622C1 (en) System to analyse software for absence of undeclared capabilities
Adebiyi et al. Security Assessment of Software Design using Neural Network
DeMott et al. Systematic bug finding and fault localization enhanced with input data tracking
Zhang et al. Ffuzz: Towards full system high coverage fuzz testing on binary executables
Lu et al. Spectrum-base fault localization by exploiting the failure path
Yang et al. Distributed assertion checking using symbolic execution
Shi et al. Precise (Un) Affected Version Analysis for Web Vulnerabilities
Sorsa Protocol fuzz testing as a part of secure software development life cycle
RU2711041C1 (en) Software analysis method based on absence of undeclared functionalities
Xia et al. Towards ai safety: A taxonomy for ai system evaluation

Legal Events

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

Effective date: 20200201