RU2744438C1 - System and method for forming optimal set of tests for identifying software bugs - Google Patents

System and method for forming optimal set of tests for identifying software bugs Download PDF

Info

Publication number
RU2744438C1
RU2744438C1 RU2020125680A RU2020125680A RU2744438C1 RU 2744438 C1 RU2744438 C1 RU 2744438C1 RU 2020125680 A RU2020125680 A RU 2020125680A RU 2020125680 A RU2020125680 A RU 2020125680A RU 2744438 C1 RU2744438 C1 RU 2744438C1
Authority
RU
Russia
Prior art keywords
block
software
tests
database
input
Prior art date
Application number
RU2020125680A
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 RU2020125680A priority Critical patent/RU2744438C1/en
Application granted granted Critical
Publication of RU2744438C1 publication Critical patent/RU2744438C1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation

Abstract

FIELD: computing.
SUBSTANCE: invention relates to computing. The system for generating an optimal set of tests for identifying software bugs includes a unit for inputting initial data, a unit for analyzing and filling in databases, a database for initial data, a control and management unit, a unit for modeling software bugs, a database for software bugs, a unit for generating tests, a database of tests, a unit modeling the confrontation between an adversary and an expert, a unit for analyzing simulation results, a unit for generating an optimal set of tests and the most dangerous set of software bugs, a database of an optimal set of tests, a database of the most dangerous set of software bugs, a unit for outputting results.
EFFECT: invention increases probability of detecting software bugs when certifying software for security requirements.
2 cl, 3 dwg

Description

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

Сертификация программного обеспечения по требованиям безопасности информации относится к основным обязательным мероприятиям по оценке степени безопасности программного обеспечения. Это обусловлено тем, что для реализации в информационной системе некоторых недекларируемых функций, позволяющих осуществить несанкционированный доступ к ресурсам информационной системы, применяются программные закладки (ПЗ), которые в большинстве случаев внедряются на этапе разработки программного обеспечения. При этом особенностью таких закладок является то, что они становятся фактически неотделимы от прикладных или системных программ информационной системы и их выявление возможно только специальными тестовыми программами, выявляющими аномальное поведение и недекларируемые возможности ПО (Бегаев А.Н., С.Н. Бегаев, Кашин С.В. Анализ программного кода при проведении сертификационных испытаний. - СПб: Университет ИТМО, 2018. - 41 с., Макаренко С.И. Информационное противоборство и радиоэлектронная борьба в сетецентрических войнах начала XXI века. Монография. - СПб.: Наукоемкие технологии, 2017. - 546 с., Куприянов А. И., Сахаров А. В., Шевцов В. А. Основы защиты информации: учебное пособие. - М.: Издательский центр «Академия», 2006. - 256 с.). Эффективность применения тестовых программ зависит от полноты составления тестов. Как правило, основной набор состоит из большого числа тестов, что приводит к значительным временным затратам на их выполнение. Так как этап тестирования является итеративным, количество итераций ограниченно доступными временными ресурсами (сроками сдачи проекта) и используемыми стандартами качества, что может привести к снижению вероятности обнаружения ПЗ при сертификации ПО по требованиям безопасности. Кроме того, возможности сертификации ограничены ресурсами обеспечения испытаний - как временными, так и финансовыми, кадровыми, аппаратными и инструментальными средствами. (Липаев В.В. Сертификация программных средств. Учебник. - М.: СИНТЕГ, 2010. - 348с., Миронов С.В. Безопасные информационные технологии // Сборник трудов Девятой всероссийской научно-технической конференции - М.: МГТУ им. Н.Э. Баумана, 2018. 214 с. - ил.). Таким образом, разработка средств и способов формирования оптимального набора тестов для выявления программных закладок является актуальной задачей.Certification of software for information security requirements is one of the main mandatory measures for assessing the degree of software security. This is due to the fact that in order to implement some undeclared functions in the information system that allow unauthorized access to the resources of the information system, software bookmarks (PZ) are used, which in most cases are introduced at the stage of software development. At the same time, the peculiarity of such tabs is that they become virtually inseparable from the applied or system programs of the information system and their identification is possible only by special test programs that reveal abnormal behavior and undeclared software capabilities (Begaev A.N., S.N.Begaev, Kashin S.V. Analysis of the program code during certification tests.- St. Petersburg: ITMO University, 2018. - 41 p., Makarenko S.I. Information confrontation and electronic warfare in network-centric wars at the beginning of the XXI century.Monograph.- St. Petersburg: Science-intensive technologies , 2017. - 546 p., Kupriyanov A. I., Sakharov A. V., Shevtsov V. A. Fundamentals of information security: a tutorial. - M .: Publishing Center "Academy", 2006. - 256 p.). The effectiveness of the use of test programs depends on the completeness of the tests. Typically, the core suite consists of a large number of tests, which leads to a significant amount of time spent on their execution. Since the testing stage is iterative, the number of iterations is limited by the available time resources (project deadlines) and the quality standards used, which can lead to a decrease in the probability of detecting a PP during software certification for safety requirements. In addition, certification opportunities are limited by testing resources - both time and financial, personnel, hardware and tools. (Lipaev V.V. Software certification. Textbook. - M .: SINTEG, 2010. - 348p., Mironov S.V. Safe information technologies // Proceedings of the Ninth All-Russian Scientific and Technical Conference - M .: MSTU named after N E. Bauman, 2018, 214 p. - ill.). Thus, the development of tools and methods for forming an optimal set of tests for identifying software bookmarks is an urgent task.

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

недекларированные (функциональные) возможности - функциональные возможности ПО, не описанные или не соответствующие описанным в документации, при использовании которых возможно нарушение конфиденциальности, доступности или целостности обрабатываемой информации (Руководящий документ «Защита от несанкционированного доступа к информации. Часть 1. Программное обеспечение средств защиты информации. Классификация по уровню контроля отсутствия недекларированных возможностей», утв. Гостехкомиссией России 04.06.1999, далее - РД НДВ). Программные закладки (в частности) - реализация недекларированных возможностей (Бегаев А.Н., С.Н. Бегаев, Кашин С.В. Анализ программного кода при проведении сертификационных испытаний. - СПб: Университет ИТМО, 2018. - 41 с.);undeclared (functional) capabilities - software functionality that is not described or does not correspond to those described in the documentation, the use of which may violate the confidentiality, availability or integrity of the processed information (Guidance document "Protection against unauthorized access to information. Part 1. Software for information security . Classification by the level of control over the absence of undeclared opportunities ", approved by the State Technical Commission of Russia on 04.06.1999, hereinafter - RD NDV). Software bookmarks (in particular) - implementation of undeclared features (Begaev A.N., S.N.Begaev, Kashin S.V. Analysis of the program code during certification tests. - St. Petersburg: ITMO University, 2018. - 41 p.);

программные закладки - преднамеренно внесенные в ПО функциональные объекты, которые при определенных условиях инициируют выполнение не описанных в документации функций ПО, приводящих к нарушению конфиденциальности, доступности или целостности обрабатываемой информации (РД НДВ; Макаренко С.И. Информационное противоборство и радиоэлектронная борьба в сетецентрических войнах начала XXI века. Монография. - СПб.: Наукоемкие технологии, 2017. - 546 с., Бегаев А.Н., С.Н. Бегаев, Кашин С.В. Анализ программного кода при проведении сертификационных испытаний. - СПб: Университет ИТМО, 2018. - 41 с.);software bookmarks - functional objects intentionally introduced into the software, which, under certain conditions, initiate the execution of software functions not described in the documentation, leading to a violation of the confidentiality, availability or integrity of the processed information (RD NDV; Makarenko S.I. Information confrontation and electronic warfare in network-centric wars the beginning of the XXI century.Monograph .-- St. Petersburg: Science-Intensive Technologies, 2017. - 546 p., Begaev A.N., S.N.Begaev, Kashin S.V. Analysis of the program code during certification tests.- St. Petersburg: ITMO University , 2018 .-- 41 p.);

сертификация программного обеспечения (ПО) по требованиям безопасности информации (далее сертификация) - проверка (подтверждение) характеристик ПО на соответствие требованиям нормативных документов и государственных стандартов по защите информации, выпущенные уполномоченными федеральными органами: ФСТЭК России (Гостехкомиссией России), ФСБ России и Министерство обороны (Бегаев А.Н., С.Н. Бегаев, Кашин С.В. Анализ программного кода при проведении сертификационных испытаний. - СПб: Университет ИТМО, 2018. - 41 с.);certification of software (software) in accordance with information security requirements (hereinafter certification) - verification (confirmation) of software characteristics for compliance with the requirements of regulatory documents and state standards for information protection issued by authorized federal bodies: FSTEC of Russia (State Technical Commission of Russia), FSB of Russia and the Ministry of Defense (Begaev A.N., S.N.Begaev, Kashin S.V. Analysis of the program code during certification tests. - St. Petersburg: ITMO University, 2018. - 41 p.);

тестирование ПО - процесс проверки соответствия заявленных к продукту требований и реально реализованной функциональности, осуществляемый путем наблюдения за его работой в искусственно созданных ситуациях и на ограниченном наборе тестов, выбранных определенным образом;software testing - the process of checking the compliance of the requirements stated for the product and the actually implemented functionality, carried out by observing its work in artificially created situations and on a limited set of tests selected in a certain way;

тестирование по требованиям безопасности - процесс выявления наличия или отсутствия уязвимостей в продукте в искусственно созданных ситуациях и на ограниченном наборе тестов, выбранных определенным образом.testing for security requirements - the process of identifying the presence or absence of vulnerabilities in a product in artificially created situations and on a limited set of tests selected in a certain way.

В настоящее время известны средства и способы формирования тестов.Means and methods for generating tests are currently known.

Так, известна система формирования тестов [Патент РФ №2012924 С1 - ФОРМИРОВАТЕЛЬ ТЕСТОВ / Гремальский Анатолий Александрович, Беэан Виорел Евтемьевич, Рошка Андрей Алексеевич опубл. 15.05.1994], состоящая из генератора псевдослучайных кодов, мультиплексора выдачи теста, генератора случайной последовательности, блока памяти последовательности кодов микротестов, блока управления. So, the known system of forming tests [RF Patent No. 2012924 C1 - FORMER OF TESTS / Gremalsky Anatoly Aleksandrovich, Beean Viorel Evtemyevich, Roshka Andrey Alekseevich publ. 15.05.1994], consisting of a pseudo-random code generator, a test issuing multiplexer, a random sequence generator, a microtest code sequence memory unit, and a control unit.

Недостатком данной системы является наличие генератора случайных последовательностей, что приводит к недостаточной достоверности формируемых тестов, а также к увеличению времени подбора нужных тестовых наборов.The disadvantage of this system is the presence of a random sequence generator, which leads to insufficient reliability of the generated tests, as well as to an increase in the time needed to select the required test sets.

Известна система генерации тестовых данных [Патент 2679350 Российская Федерация, G06F 11/263. Система генерации тестовых данных/ Литвиненко А.М., Сметанин К.А.; заявитель и патентообладатель Федеральное государственное бюджетное образовательное учреждение высшего образования "Воронежский государственный технический университет" - 2017124567; заявл. 10.07.2017; опубл 07.02.2019], в основе которой лежит применение генетического алгоритма. Для этого в системе присутствует блок генерации функции приспособленности, который соединен с блоком генерации популяции, который подсоединен к генератору измененной популяции, имеющий связь с блоком фиксации отработки, причем блок фиксации отработки соединен встречной связью с генератором измененной популяции. Генетический алгоритм осуществляет поиск баланса между эффективностью и качеством решений за счет «выживания сильнейших альтернативных решений» в неопределенных и нечетких условиях. A known system for generating test data [Patent 2679350 Russian Federation, G06F 11/263. Test data generation system / Litvinenko A.M., Smetanin K.A .; applicant and patentee Federal State Budgetary Educational Institution of Higher Education "Voronezh State Technical University" - 2017124567; declared 07/10/2017; publ 07.02.2019], which is based on the use of a genetic algorithm. For this, the system has a fitness function generation unit, which is connected to the population generation unit, which is connected to the generator of the changed population, which has a connection with the processing fixation unit, and the processing fixation unit is connected by a counter-connection with the changed population generator. The genetic algorithm searches for a balance between efficiency and quality of solutions due to the "survival of the strongest alternative solutions" in uncertain and fuzzy conditions.

Недостатком системы является высокая вычислительная ресурсоемкость, сложность определения параметров генетического алгоритма (мощности популяции, вероятности генетических операторов и т.д.), The disadvantage of the system is the high computational resource intensity, the complexity of determining the parameters of the genetic algorithm (population power, the probability of genetic operators, etc.),

Известен комплекс автоматизации и визуализации тестирования встроенного программного обеспечения электронных устройств [Патент 2678717 Российская Федерация, G06F 11/36. Комплекс автоматизации и визуализации тестирования встроенного программного обеспечения электронных устройств / Прудков В.В.; заявитель и патентообладатель Российская Федерация, от имени которой выступает Государственная корпорация по космической деятельности "Роскосмос" - 2017138949; заявл. 0911.2017; опубл. 12.04.2019]. Комплекс состоит из единой среды написания, редактирования и выполнения тестов, моделей функциональных устройств, осуществляющих взаимодействие с электронным устройством со встроенным ПО посредством плат расширения, базы данных, средств автоматизированного анализа информации и заполнения базы данных.The known complex of automation and visualization of testing the embedded software of electronic devices [Patent 2678717 Russian Federation, G06F 11/36. Complex of automation and visualization of testing the embedded software of electronic devices / Prudkov V.V .; applicant and patentee of the Russian Federation, on behalf of which the State Corporation for Space Activities "Roskosmos" acts - 2017138949; declared 0911.2017; publ. 04/12/2019]. The complex consists of a unified environment for writing, editing and executing tests, models of functional devices that interact with an electronic device with embedded software through expansion cards, a database, automated information analysis tools and filling the database.

Недостатком решения является то, что снижение трудоемкости специалистов и сокращение общего времени тестирования достигается только за счет унифицированного подхода к построению программного комплекса и единого шаблона функций взаимодействия и диалоговых окон моделей, формирование оптимального набора тестов для выявления программных закладок не предусмотрено.The disadvantage of the solution is that a reduction in the labor intensity of specialists and a reduction in the total testing time is achieved only through a unified approach to building a software package and a single template for interaction functions and model dialog boxes; the formation of an optimal set of tests for identifying software bookmarks is not provided.

Известен способ формирования тестов [Патент РФ №2261471 С1 - Способ формирования диагностических тестов / Страхов А.Ф., Страхов О.А., Палькеев Е.П., Белокрылов В.Д. (RU) опубл. 27.09.2005], основанный на формировании комбинаций входных тестовых сигналов с заданными сочетаниями параметров сигналов и с заданными последовательностями подачи входных сигналов, соответствующими подаче входных сигналов при штатной работе реальных диагностируемых изделий данного типа, а также на определении параметров сочетаний выходных сигналов для выполнения каждой комбинации входных тестовых сигналов.A known method of forming tests [RF Patent No. 2261471 C1 - Method of forming diagnostic tests / Strakhov AF, Strakhov OA, Palkeev EP, Belokrylov V.D. (RU) publ. September 27, 2005], based on the formation of combinations of input test signals with specified combinations of signal parameters and with specified sequences of input signals corresponding to the supply of input signals during normal operation of real diagnosed products of this type, as well as on the determination of the parameters of combinations of output signals for performing each combination input test signals.

Способ формирования диагностических тестов обладает следующими недостатками: ограниченная область применения и недостаточная достоверность формируемых тестов, а также большие временные затраты из-за использования метода полного перебора.The method for generating diagnostic tests has the following disadvantages: limited scope and insufficient reliability of the generated tests, as well as large time costs due to the use of the exhaustive search method.

Известен способ создания тестовой базы, описанный в [Котов С.Л., Демирский А.А., Мещерякова В.В. Проведение сертификационных испытаний часто обновляющихся ПС с использованием автоматизированной тестовой базы // Вестн. ВНИИМАШ, 2010; Мельникова В.В., Котов С.Л., Палюх Б.В., Проскуряков М.А. Тестирование программ с использованием генетических алгоритмов // Программные продукты и системы. - 2011. - № 4. - стр. 107 - 110], который предполагает создание тестов на основе анализа функциональных требований. Способ заключается в следующей последовательности действий: осуществляют анализ функциональных требований к ПО, ранжируют функциональные требования к ПО в зависимости от их сложности и важности, формализуют и записывают функциональные требования в виде спецификаций, разрабатывают набор тестов, формируют тестовую базу.The known method of creating a test base, described in [Kotov S. L., Demirsky A. A., Meshcheryakova V. In. Conducting certification tests of frequently updated software systems using an automated test base // Vestn. VNIIMASH, 2010; Melnikova V.V., Kotov S.L., Palyukh B.V., Proskuryakov M.A. Testing programs using genetic algorithms // Software products and systems. - 2011. - 4. - pp. 107 - 110], which involves the creation of tests based on the analysis of functional requirements. The method consists in the following sequence of actions: analyze the functional requirements for software, rank functional requirements for software depending on their complexity and importance, formalize and write functional requirements in the form of specifications, develop a set of tests, form a test base.

Недостатком способа является высокая трудоемкость и значительные временные затраты за счет большой вероятности избыточного тестирования. [Когай  Г. Д. Достоинства и недостатки современных видов тестирования программного обеспечения / Г. Д. Когай, А. Ж. Амиров, Р. В. Стародубенко, К. В. Стародубенко. // Молодой ученый. - 2016. - № 21 (125). - С. 153-156.]The disadvantage of this method is the high labor intensity and significant time costs due to the high probability of redundant testing. [Kogay GD Advantages and disadvantages of modern types of software testing / GD Kogay, A. Zh. Amirov, RV Starodubenko, KV Starodubenko. // Young scientist. - 2016. - No. 21 (125). - S. 153-156.]

Известен способ генерации оптимизированных для ручного выполнения сценариев тестирования приложений с графическим интерфейсом пользователя, описанный в (Баранцев А. В., Грошев С. В., Омельченко В. А. Генерация оптимизированных для ручного выполнения сценариев // Труды Института системного программирования РАН. - 2009 г. - т. 17, стр. 75 - 92. Способ заключается в следующей последовательности действий: строят граф состояний и переходов, определяют критерии тестового покрытия, с учётом размера и структуры графа состояний фиксируют ограничение на длину отдельных тестов, строят тестовый набор с минимальной суммарной длиной тестов, удовлетворяющий следующим ограничениям: A known method for generating optimized for manual execution of scripts for testing applications with a graphical user interface, described in (Barantsev A.V., Groshev S.V., Omelchenko V.A.Generation of scripts optimized for manual execution // Proceedings of the Institute for System Programming of the Russian Academy of Sciences. - 2009 - v. 17, pp. 75 - 92. The method consists in the following sequence of actions: build a graph of states and transitions, determine test coverage criteria, taking into account the size and structure of the state graph, fix the limitation on the length of individual tests, build a test suite with minimum total test length, satisfying the following constraints:

1. Каждый тест в составе тестового набора имеет длину не выше заданной; 1. Each test in the test set has a length not exceeding the specified one;

2. Тестовый набор должен обеспечивать покрытие всех возможных при ограничении в п. 1 тестовых ситуаций.2. The test suite must provide coverage of all possible test situations with the restriction in clause 1.

Если некоторые тестовые ситуации могут быть покрыты только тестами длины большей, чем заданное в п.1 ограничение, то строят тесты минимальной суммарной длины, покрывающие все такие тестовые ситуации, и добавляют их к построенному тестовому набору. Проверяют, не покрывают ли добавленные длинные тесты сразу все тестовые ситуации, покрываемые какими-то из ранее построенных коротких тестов, и при обнаружении таких «лишних» коротких тестов удаляют их из тестового набора. Производят фильтрацию и сортировку построенного набора тестов, при этом используют упорядоченность тестового набора по времени добавления в него тестов.If some test situations can only be covered by tests of length greater than the constraint specified in Section 1, then tests of the minimum total length covering all such test situations are constructed and added to the constructed test suite. It is checked whether the added long tests do not cover all test situations at once covered by some of the previously constructed short tests, and if such "unnecessary" short tests are found, they are removed from the test suite. The built test suite is filtered and sorted, while the ordering of the test suite by the time of adding tests to it is used.

Недостатком способа является ограниченная область применения (направлен на тестирование приложений с графическим интерфейсом пользователя), значительные временные затраты на исполнение (предусматривает ручное тестирование).The disadvantage of this method is the limited scope (aimed at testing applications with a graphical user interface), significant time spent on execution (involves manual testing).

Наиболее близким по технической сущности к предлагаемой системе является изобретение «Способ и система автоматизации тестирования программного обеспечения», заключающееся в том, что система автоматизации тестирования программного обеспечения включает, по крайней мере, одно устройство пользователя и/или тестировщика, по крайней мере, одну базу данных, по крайней мере, одну базу тестов и программно-аппаратный комплекс, выполненный с возможностью:The closest in technical essence to the proposed system is the invention "Method and system of software testing automation", which consists in the fact that the software testing automation system includes at least one user and / or tester device, at least one base data, at least one database of tests and a software and hardware complex, made with the ability to:

- тестирования программного обеспечения по составленным планам тестирования посредством интерактивного взаимодействия тестировщика с пользовательским интерфейсом тестируемого программного обеспечения,- software testing according to the prepared test plans through the interactive interaction of the tester with the user interface of the software under test,

- записи указанных действий пользователя в автоматическом режиме в заранее заданных терминах уровня бизнес-логики тестируемого программного обеспечения, сохраняя результаты в базе тестов в качестве тестовых сценариев,- records of the specified user actions in automatic mode in predetermined terms of the business logic level of the software under test, storing the results in the test base as test scenarios,

- записи изменений в базе данных, производимых при выполнении указанных тестовых сценариев, в автоматическом режиме в заранее заданных терминах, присваивая данным изменениям признак «Эталонные изменения» и сохраняя результаты в базе тестов,- records of changes in the database, made during the execution of the specified test scenarios, in automatic mode in predetermined terms, assigning the sign "Reference changes" to these changes and saving the results in the test database,

- после изменения программного обеспечения осуществления его регрессионного тестирования:- after changing the software, the implementation of its regression testing:

- проигрывания тестовых сценариев из базы тестов в автоматическом режиме,- playing test scripts from the test base in automatic mode,

- записи изменений в базе данных, производимых при выполнении указанных тестовых сценариев, в автоматическом режиме в заранее заданных терминах, присваивая данным изменениям признак «Фактические изменения» и сохраняя результаты в базе тестов,- records of changes in the database made during the execution of the specified test scenarios, in automatic mode in predetermined terms, assigning the sign "Actual changes" to these changes and saving the results in the test database,

- осуществления верификации по каждому тестовому сценарию, сравнивая «Эталонные изменения» и «Фактические изменения» и сохраняя результаты сравнения в базе тестов,- carrying out verification for each test scenario, comparing "Reference changes" and "Actual changes" and saving the comparison results in the test database,

- формирования списка тестовых сценариев, не прошедших верификацию, при этом под изменениями, не прошедшими верификацию подразумеваются расхождения «Эталонных изменений» и «Фактических изменений» (заявка на патент РФ №2013126869/08), который выбран в качестве прототипа.- formation of a list of test scenarios that have not been verified, while the changes that have not been verified mean the discrepancies between the "Reference changes" and "Actual changes" (RF patent application No. 2013126869/08), which is selected as a prototype.

Недостатком прототипа является ограниченная область применения, отсутствие возможности формирования оптимального набора тестов для выявления программных закладок.The disadvantage of the prototype is the limited scope, the lack of the possibility of forming an optimal set of tests for identifying software bugs.

Наиболее близким по технической сущности к предлагаемому способу является способ псевдослучайной генерации тестов, описанный в (https://portal.tpu.ru/SHARED/t/TRACEY/Courses/theory/Tab_automata_textbooks/04.pdf). Способ заключается в следующем: генерируют псевдослучайный тестовый набор, с помощью программы моделирования определяют число неисправностей n(X i ), которые он обнаруживает (без учета тех, которые уже обнаруживаются множеством Х= {X 1 ,… X i-1 }. Если n(X i ) превышает некоторый заранее заданный порог, то набор X i добавляют к множеству X , и генерируется следующий набор. Этот процесс продолжается, пока не будет достигнута заданная пользователем полнота тестовой последовательности, либо пороговая величина длины или времени построения теста. The closest in technical essence to the proposed method is the method for pseudo-random test generation described in (https://portal.tpu.ru/SHARED/t/TRACEY/Courses/theory/Tab_automata_textbooks/04.pdf). The method is as follows: generate a pseudo-random test set, using the simulation program to determine the number of faultsn (X i )that it detects (excluding those that are already detected by the setX = {X one ,… X i-1 }... If an (X i ) exceeds some predetermined threshold, then the setX i add to the setX , and the next set is generated. This process continues until a user-specified completeness of the test sequence, or a threshold value for the length or time of building a test, is reached.

Недостатком способа-прототипа является ограниченная область применения (предусматривает тестирование только цифровых устройств), применение псевдослучайного тестового набора, что приводит к недостаточной достоверности формируемых тестов, а так же к увеличению времени подбора нужных тестовых наборов.The disadvantage of the prototype method is the limited scope (provides testing only digital devices), the use of a pseudo-random test set, which leads to insufficient reliability of the generated tests, as well as to an increase in the selection time of the required test sets.

Технической проблемой, на решение которой направлено предлагаемое решение, являются ограниченные временные, аппаратные, инструментальные, кадровые ресурсы, используемые при сертификации ПО по требованиям безопасности, что приводит к снижению вероятности обнаружения ПЗ.The technical problem to be solved by the proposed solution is the limited time, hardware, instrumental, and human resources used in the certification of software for security requirements, which leads to a decrease in the probability of detection of PP.

Техническая проблема решается за счет предварительного формирования оптимального набора тестов для выявления программных закладок в результате моделирования противоборства между нарушителем и экспертом.The technical problem is solved by preliminary formation of an optimal set of tests for identifying software bugs as a result of modeling the confrontation between the intruder and the expert.

Техническим результатом изобретения является повышение вероятности обнаружения ПЗ при сертификации ПО по требованиям безопасности, увеличение количества обнаруживаемых ПЗ, уменьшение временных, аппаратных, инструментальных, кадровых ресурсов, затрачиваемых на проведение сертификационных испытаний.The technical result of the invention is to increase the likelihood of detecting PZ when certifying software for safety requirements, increasing the number of detected PZ, reducing time, hardware, instrumental, human resources spent on certification tests.

В заявленной системе технический результат достигается тем, что в систему - прототип, включающую по крайней мере одно устройство пользователя и/или тестировщика, по крайней мере одну базу данных, по крайней мере одну базу тестов и программно-аппаратный комплекс, выполненный с возможностью тестирования программного обеспечения, составления тестовых сценариев и с сохранением их в базе данных в качестве эталонных, формирования базы тестов, дополнительно включают взаимосвязанные между собой блок ввода исходных данных, блока анализа и заполнения баз данных, базу исходных данных, блок контроля и управления, блок моделирования программных закладок, базу данных программных закладок, блок формирования тестов, базу данных тестов, блок моделирования противоборства нарушителя и эксперта, включающий блок закладного воздействия, блок выбора тестов, блок моделирования процесса выявления программной закладки, при этом блок закладного воздействия, выход которого подключен к первому входу блоку моделирования процесса выявления программных закладок, ко второму входу которого подключен блок выбора тестов, состоит из последовательно соединенных блока активации программной закладки, блока выбора программной закладки и блока внедрения программной закладки, блок анализа результатов моделирования, блок формирования оптимального набора тестов и наиболее опасного множества программных закладок, базу данных оптимального набора тестов, базу данных наиболее опасного множества программных закладок, блок вывода результатов, причем выход блока ввода исходных данных подключен ко входу блока анализа и заполнения баз данных, выходы блока анализа и заполнения баз данных подключены ко входам базы данных исходных данных, базы данных программных закладок, базы данных тестов, блока контроля и управления, второй вход блока контроля и управления подключен к базе данных исходных данных, первый выход блока контроля и управления подключен к блоку моделирования программных закладок, выход которого подключен ко входу базы данных программных закладок, второй выход блока контроля и управления подключен к блоку формирования тестов, выход которого подключен ко входу базы данных тестов, третий выход блока контроля и управления подключен к первому входу блока моделирования процесса противоборства нарушителя и эксперта, ко второму и третьему входам блока моделирования процесса противоборства нарушителя и эксперта подключены выходы базы данных программных закладок и базы данных тестов, выход блока моделирования процесса противоборства нарушителя и эксперта подключен ко входу блока анализа результатов моделирования, выход которого подключен ко входу блока формирования оптимального набора тестов и наиболее опасного множества программных закладок, первый и второй выходы блока формирования оптимального набора тестов и наиболее опасного множества программных закладок подключены ко входам базы данных оптимального набора тестов и базы данных наиболее опасного множества программных закладок соответственно, третий выход блока формирования оптимального набора тестов и наиболее опасного множества программных закладок подключен к блоку выводов результатов.In the claimed system, the technical result is achieved by the fact that the system is a prototype that includes at least one user and / or tester device, at least one database, at least one test base and a software and hardware complex made with the ability to test software provision, compilation of test scenarios and saving them in the database as reference, formation of the test database, additionally include interconnected block of input of initial data, block of analysis and filling of databases, base of initial data, block of control and management, block of modeling of program tabs , a database of program tabs, a block for generating tests, a database of tests, a block for modeling the confrontation between an intruder and an expert, which includes a block of embedded action, a block for selecting tests, a block for modeling the process of identifying a software bookmark, while a block of embedded action, the output of which is connected to the first input of the block model the process of identifying software bookmarks, to the second input of which the test selection unit is connected, consists of a series-connected block for activating a software bookmark, a block for selecting a software bookmark and a block for implementing a software bookmark, a block for analyzing simulation results, a block for generating an optimal set of tests and the most dangerous set of software bookmarks , the database of the optimal set of tests, the database of the most dangerous set of program tabs, the block for outputting the results, and the output of the input data block is connected to the input of the block for analyzing and populating the databases, the outputs of the block for analyzing and populating the databases are connected to the inputs of the input data base, database of program tabs, database of tests, block of control and management, the second input of the block of control and management is connected to the database of initial data, the first output of the block of control and management is connected to the block of modeling of program tabs, the output of which is connected to the input of the program tabs database, the second output of the control and management unit is connected to the test generation unit, the output of which is connected to the input of the test database, the third output of the control and management unit is connected to the first input of the unit for modeling the confrontation between the intruder and the expert, to the second and third the inputs of the block for modeling the process of confrontation between the intruder and the expert are connected to the outputs of the database of program tabs and the database of tests, the output of the block for modeling the process of confrontation between the intruder and the expert is connected to the input of the block for analyzing the results of modeling, the output of which is connected to the input of the block for forming the optimal set of tests and the most dangerous set of software bookmarks, the first and second outputs of the block for generating the optimal set of tests and the most dangerous set of program bookmarks are connected to the inputs of the database of the optimal set of tests and the database of the most dangerous set of program bookmarks, respectively Actually, the third output of the block for generating the optimal set of tests and the most dangerous set of program tabs is connected to the block for outputting the results.

В заявленном способе технический результат достигается тем, что задают исходные данные, осуществляют анализ, идентификацию входных данных и заполнение соответствующих баз данных, формируют базу данных программных закладок, формируют базу данных тестов, моделируют процесс противоборства между экспертом и нарушителем, для чего для моделирования действий нарушителя производят активацию программной закладки, осуществляют выбор программной закладки, осуществляют внедрение выбранной программной закладки, для моделирования действий эксперта осуществляют выбор теста для выявления программной закладки, осуществляют моделирование процесса выявления программной закладки, анализируют результаты моделирования, определяют и записывают в соответствующую базу данных оптимальный набор тестов для выявления i-ой программной закладки, определяют и записывают в соответствующую базу данных наиболее опасное множество программных закладок, осуществляют вывод результата.In the claimed method, the technical result is achieved by specifying the initial data, analyzing, identifying the input data and filling in the corresponding databases, forming a database of program tabs, forming a database of tests, simulating the process of confrontation between an expert and an intruder, for which purpose, to simulate the actions of an intruder activates the software bookmark, selects the software bookmark, implements the selected software bookmark, to simulate the expert's actions, select a test to identify the software bookmark, simulate the process of identifying the software bookmark, analyze the simulation results, determine and write in the appropriate database the optimal set of tests for detecting the i-th program bookmark, determine and write in the corresponding database the most dangerous set of program bookmarks, carry out the output of the result.

Из уровня техники не выявлено решений, касающихся способов, устройств и систем формирования оптимального набора тестов для выявления программных закладок, характеризующихся заявленной совокупностью признаков, следовательно, что указывает на соответствие заявленного способа условию патентоспособности «новизна». From the prior art, no solutions have been identified regarding methods, devices and systems for generating an optimal set of tests for identifying software tabs characterized by the claimed set of features, therefore, which indicates the compliance of the claimed method with the "novelty" patentability condition.

Результаты поиска известных решений в данной и смежной областях техники с целью выявления признаков, совпадающих с отличительными от прототипов признаками заявленного изобретения, показали, что они не следуют явным образом из уровня техники. Из определенного заявителем уровня техники не выявлена известность влияния предусматриваемых существенными признаками заявленного изобретения на достижение указанного технического результата. Следовательно, заявленное изобретение соответствует условию патентоспособности «изобретательский уровень».The results of the search for known solutions in this and related fields of technology in order to identify features that match the distinctive features of the prototypes of the features of the claimed invention, have shown that they do not follow explicitly from the prior art. The prior art determined by the applicant has not revealed the influence of the essential features of the claimed invention on the achievement of the specified technical result. Therefore, the claimed invention meets the “inventive step” requirement of patentability.

«Промышленная применимость» способа обусловлена наличием аппаратно-программной базы, на основе которой могут быть выполнены устройства, реализующие способ и систему.The "industrial applicability" of the method is due to the presence of a hardware and software base, on the basis of which devices that implement the method and the system can be made.

Заявленный способ поясняется следующими фигурами:The claimed method is illustrated by the following figures:

Фиг. 1 - структурная схема системы формирования оптимального набора тестов для выявления программных закладок;FIG. 1 is a block diagram of a system for generating an optimal set of tests for identifying software bookmarks;

Фиг. 2 - блок-схема способа формирования оптимального набора тестов для выявления программных закладок; FIG. 2 is a block diagram of a method for generating an optimal set of tests for identifying software bookmarks;

Фиг. 3 - блок-схема алгоритма моделирования противоборства между экспертом и нарушителем.FIG. 3 is a block diagram of an algorithm for modeling a confrontation between an expert and an intruder.

Система формирования оптимального набора тестов для выявления программных закладок, структурная схема которой показана на фиг. 2, состоит из взаимосвязанных между собой блока ввода исходных данных 10, блока анализа и заполнения баз данных 20, базы данных исходных данных 30, блока контроля и управления 40, блока моделирования программных закладок 50, базы данных программных закладок 60, блока формирования тестов 70, базы данных тестов 80, блока моделирования противоборства нарушителя и эксперта 90, включающего блок закладного воздействия 91, состоящего из блока активации программной закладки 911, блока выбора программной закладки 912, блока внедрения программной закладки 913, блока выбора тестовых наборов 92, блока моделирования процесса выявления ПЗ 93, блока анализа результатов моделирования 100, блока формирования оптимального набора тестов и наиболее опасного множества ПЗ 110, базы данных оптимального набора тестов 120, базы данных наиболее опасного множества ПЗ 130, блока вывода результатов 140.The system for generating an optimal set of tests for identifying software bookmarks, the block diagram of which is shown in Fig. 2, consists of an interconnected unit for inputting initial data 10, a unit for analyzing and filling databases 20, a database of initial data 30, a control and management unit 40, a unit for modeling software tabs 50, a database of software tabs 60, a unit for generating tests 70, a database of tests 80, a block for modeling the confrontation between an intruder and an expert 90, including a block of embedded action 91, consisting of a block for activating a program bookmark 911, a block for selecting a program bookmark 912, a block for implementing a program bookmark 913, a block for selecting test sets 92, a block for simulating the process of identifying a PZ 93, a block for analyzing simulation results 100, a block for forming an optimal set of tests and the most dangerous set of PZ 110, a database of an optimal set of tests 120, a database of the most dangerous set of PZ 130, a block for outputting results 140.

Выход блока ввода исходных данных 10 подключен ко входу блока анализа и заполнения баз данных 20, предназначенного для осуществления анализа документации, описывающей тестируемое ПО, а также остальных введенных исходных данных и заполнения БД в порядке принадлежности данных к своему типу назначения и использования и внутренней привязки между собой. The output of the initial data input unit 10 is connected to the input of the analysis unit and filling the databases 20, designed to analyze the documentation describing the software under test, as well as the rest of the input data and filling the database in the order of the data belonging to its type of purpose and use and internal binding between yourself.

Выходы блока анализа и заполнения баз данных 20 подключены ко входам базы данных исходных данных 30, базы данных ПЗ 60, базы данных тестов 80, блока контроля и управления 40, предназначенного для осуществления настройки внутренних параметров элементов системы (как аппаратной части, так и внутренних структур, данных и сущностей моделей), управления элементами системы на любом этапе функционирования, протоколирования информации о состоянии всех элементов системы в течение всего времени функционирования системы. Второй вход блока контроля и управления 40 подключен к базе данных исходных данных 30, которая предназначена для хранения данных, включающих информацию о параметрах системы, информацию, необходимую для визуализации и предоставления данных на любом этапе функционирования, информацию о тестируемом ПО, данные, необходимые для функционирования моделей и т.д.The outputs of the block for analysis and filling of databases 20 are connected to the inputs of the database of initial data 30, the database PZ 60, the database of tests 80, the control and management unit 40, designed to configure the internal parameters of the system elements (both hardware and internal structures , data and entities of models), management of system elements at any stage of operation, logging information about the state of all elements of the system during the entire operation time of the system. The second input of the monitoring and control unit 40 is connected to the initial data base 30, which is designed to store data, including information about system parameters, information necessary for visualization and data provision at any stage of operation, information about the software under test, data required for operation models, etc.

Первый выход блока контроля и управления 40 подключен к блоку моделирования программных закладок 50, выход которого подключен ко входу базы данных ПЗ 60. Второй выход блока контроля и управления 40 подключен к блоку формирования тестов 70, выход которого подключен ко входу базы данных тестов 80. Третий выход блока контроля и управления 40 подключен к первому входу блока моделирования процесса противоборства нарушителя и эксперта 90. Ко второму и третьему входам блока моделирования процесса противоборства нарушителя и эксперта 90 подключены выходы базы данных ПЗ 6 и базы данных тестов 80.The first output of the monitoring and control unit 40 is connected to the block for modeling software tabs 50, the output of which is connected to the input of the PZ 60 database. The second output of the monitoring and control unit 40 is connected to the test generation unit 70, the output of which is connected to the input of the test database 80. The third the output of the monitoring and control unit 40 is connected to the first input of the unit for modeling the process of confrontation between the intruder and the expert 90. The outputs of the database PZ 6 and the database of tests 80 are connected to the second and third inputs of the unit for modeling the process of the confrontation between the intruder and the expert 90.

Блок моделирования процесса противоборства нарушителя и эксперта 9 состоит из блока закладного воздействия 91, блока выбора тестов 92, блока моделирования процесса выявления ПЗ 93, причем выход блока закладного воздействия подключен к первому входу блоку моделирования процесса выявления ПЗ 93, ко второму входу которого подключен блок выбора тестов 92.The block for modeling the process of the confrontation between the intruder and the expert 9 consists of a block of embedded action 91, a block for selecting tests 92, a block for modeling the process of identifying PZ 93, and the output of the block for identifying PZ 93 is connected to the first input of the block for modeling the process of identifying PZ 93, to the second input of which the selection block is connected tests 92.

Блок закладного воздействия 91 состоит из последовательно соединенных блока активации ПЗ 911, блока выбора ПЗ 912, блока внедрения ПЗ 913.The block of embedded action 91 consists of a series-connected activation block PZ 911, a block for selecting PZ 912, and an implementation unit PZ 913.

Выход блока моделирования процесса противоборства нарушителя и эксперта 90 подключен к блоку анализа результатов моделирования 100, выход которого подключен ко входу блока формирования оптимального набора тестов и наиболее опасного множества ПЗ 110. The output of the block for modeling the process of confrontation between the intruder and the expert 90 is connected to the block for analyzing the simulation results 100, the output of which is connected to the input of the block for forming the optimal set of tests and the most dangerous set of PZ 110.

Первый и второй выходы блока формирования оптимального набора тестов и наиболее опасного множества ПЗ 110 подключены ко входам базы данных оптимального набора тестов 120 и базы данных наиболее опасного множества ПЗ 130 соответственно. Третий выход блока формирования оптимального набора тестов и наиболее опасного множества ПЗ 110 подключен к блоку выводов результатов 140.The first and second outputs of the block for generating the optimal set of tests and the most dangerous set of PZ 110 are connected to the inputs of the database of the optimal set of tests 120 and the database of the most dangerous set of PZ 130, respectively. The third output of the block for generating the optimal set of tests and the most dangerous set of PZ 110 is connected to the block of outputs of the results 140.

Назначение блоков понятно из их наименований.The purpose of the blocks is clear from their names.

Система функционирует следующим образом:The system operates as follows:

На первом этапе осуществляют ввод (бл. 10 фиг.1) исходных данных, проверяют их корректность, а также осуществляют преобразование к нужному формату. С выхода блока ввода исходных данных 10 данные поступают в блок анализа и заполнения баз данных 20, где производится их анализ, идентификация и заполнение соответствующих баз данных: базы данных исходных данных 30, базы данных ПЗ 60, базы данных тестов 70 и др. At the first stage, input (block 10 of Fig. 1) of the initial data is carried out, their correctness is checked, and also the conversion to the desired format is carried out. From the output of the input unit 10 of the initial data, the data is sent to the unit for analyzing and filling the databases 20, where they are analyzed, identified and filled in the corresponding databases: the database of the initial data 30, the database PZ 60, the database of tests 70, etc.

Далее в блоке контроля и управления 40 производится настройка параметров всех элементов системы, формируются и передаются управляющие команды на запуск блока моделирования ПЗ 50 и блока формирования тестов 70. Сформированные ПЗ и тесты поступают в базу данных ПЗ 60 и базу данных тестов 80 соответственно. После формирования базы данных ПЗ 60 и базы данных тестов 80 формируют и передают управляющую команду на запуск блока моделирования процесса противоборства нарушителя и эксперта 90.Further, in the control and management unit 40, the parameters of all elements of the system are configured, control commands are generated and transmitted to start the simulation unit PZ 50 and the unit for generating tests 70. The generated PZ and tests are sent to the database PZ 60 and the database of tests 80, respectively. After the formation of the database PZ 60 and the database of tests 80, a control command is generated and transmitted to start the block for modeling the process of confrontation between the intruder and the expert 90.

При поступлении управляющей команды в блоке закладного воздействия 91, а именно в блоке активации программной закладки 911 запускается механизм активации ПЗ. В случае внедрения ПЗ в блоке выбора ПЗ 912 осуществляют выбор программной закладки из базы данных ПЗ 60. В блоке внедрения ПЗ 913 определяют программную компоненту, в которую может быть встроена данная ПЗ и осуществляют внедрение выбранной программной закладки. When a control command is received in the block of the embedded action 91, namely in the block for activating the program bookmark 911, the mechanism for activating the PZ is started. In the case of PP implementation in the PP 912 selection block, a software tab is selected from the PP 60 database. In the PP 913 implementation unit, a software component is determined into which this PP can be embedded and the selected software tab is implemented.

При поступлении управляющей команды от блока контроля и управления 40 в блоке выбора тестов 92 осуществляют выбор тестов для выявления ПЗ. When a control command is received from the monitoring and control unit 40, in the test selection unit 92, tests are selected for detecting PZ.

В блоке 93 осуществляют моделирование процесса выявления ПЗ.In block 93, the process of identifying the PZ is simulated.

Полученные в результате моделирования данные поступают в блок анализа результатов моделирования 100. На основании проведенного анализа в блоке формирования оптимального набора тестов и наиболее опасного множества ПЗ 110 определяют и записывают в соответствующую базу данных оптимальный набор тестов для выявления i-ой ПЗ (блок 120 фиг. 1) и наиболее опасное множество ПЗ (блок 130 фиг.1).The data obtained as a result of the simulation is fed to the block for analyzing the simulation results 100. Based on the analysis performed in the block for generating the optimal set of tests and the most dangerous set of PZ 110, the optimal set of tests for identifying the i-th PZ is determined and written into the corresponding database (block 120 of Fig. 1) and the most dangerous set of PZ (block 130 of Fig. 1).

В блоке 140 фиг. 1 осуществляют вывод результата.At block 140 of FIG. 1 carry out the output of the result.

В процессе функционирования системы может быть реализован заявленный способ формирования оптимального набора тестов для выявления программных закладок, блок-схема которого представлена на фиг. 2.During the operation of the system, the claimed method of forming an optimal set of tests for identifying software bookmarks can be implemented, the block diagram of which is shown in Fig. 2.

В блоке 1 фиг. 2 задают исходные данные.In block 1 of FIG. 2 sets the source data.

Исходными данными для способа являются:The initial data for the method are:

исходные тексты ПО, спецификации и др. необходимая программная, конструкторская и эксплуатационная документация на ПО, описанная в [Марков А. С., Цирлов В. Л., Барабанов А. В. Методы оценки несоответствия средств защиты информации / А. С. Марков, В. Л. Цирлов, А. В. Барабанов; под ред. доц. А. С. Маркова. - М.: Радио и связь, 2012. - 192 с.; Бегаев А.Н., Кашин С.В., Маркевич Н.А., Марченко А.А., Выявление уязвимостей и недекларированных возможностей в программном обеспечении - СПб: Университет ИТМО, 2020. - 38 с., Бегаев А.Н., Кашин С.В., Зимненко С.А. Сертификация программного обеспечения и автоматизированных систем в различных системах сертификации. - СПб: Университет ИТМО, 2018. - 45 с.; Бегаев А.Н., Кашин С.В., Маркевич Н.А., Марченко А.А., Павлов Д.Д. Сертификация программного обеспечения по требованиям доверия - СПб: Университет ИТМО, 2020. - 40 с.]; source codes of software, specifications and other necessary software, design and operational documentation for software described in [Markov A.S., Tsirlov V.L., Barabanov A.V. Methods for assessing the inconsistency of information security tools / A.S. Markov V. L. Tsirlov, A. V. Barabanov; ed. Assoc. A.S. Markov. - M .: Radio and communication, 2012 .-- 192 p .; Begaev A.N., Kashin S.V., Markevich N.A., Marchenko A.A., Identification of vulnerabilities and undeclared capabilities in software - St. Petersburg: ITMO University, 2020. - 38 p., Begaev A.N. , Kashin S.V., Zimnenko S.A. Certification of software and automated systems in various certification systems. - St. Petersburg: ITMO University, 2018 .-- 45 p .; Begaev A.N., Kashin S.V., Markevich N.A., Marchenko A.A., Pavlov D.D. Certification of software for trust requirements - St. Petersburg: ITMO University, 2020. - 40 p.];

множество ограничений на функционирование ПО, определяющих ее соответствие требованиям по безопасности, состоящее из подмножества ограничений на использование ресурсов аппаратуры и операционной системы (ОС), например оперативной памяти, процессорного времени, ресурсов ОС, возможностей интерфейса и других ресурсов, и подмножества ограничений, регламентирующих доступ к объектам, содержащим данные (информацию), то есть областям памяти, файлам и т.д;many restrictions on the functioning of software that determine its compliance with security requirements, consisting of a subset of restrictions on the use of hardware and operating system (OS) resources, such as RAM, processor time, OS resources, interface capabilities and other resources, and a subset of restrictions governing access to objects containing data (information), that is, memory areas, files, etc.

множество контролируемых параметров среды и ПО;many controlled parameters of the environment and software;

параметры, необходимые для настройки и функционирования используемых моделей, parameters necessary for the configuration and functioning of the models used,

данные, необходимые для заполнения используемых баз данных (программных закладок, тестов, и др.) и др.data necessary to fill in the databases used (program tabs, tests, etc.), etc.

Исходные данные могут быть заданы путем их записи в память ЭВМ при помощи известных устройств ввода.The initial data can be specified by recording them into the computer memory using known input devices.

В блоке 2 фиг.2 осуществляют анализ, идентификацию входных данных и заполнение соответствующих баз данных: базы данных исходных данных, базы данных ПЗ, базы данных тестов и др.In block 2 of Fig. 2, the analysis, identification of the input data and filling of the corresponding databases are carried out: the source data database, the PZ database, the test database, etc.

Анализ, идентификация входных данных и заполнение соответствующих баз данных могут быть осуществлены при помощи автоматизированных средств, описанных, например, в (Патент 2678717 Российская Федерация, G06F 11/36. Комплекс автоматизации и визуализации тестирования встроенного программного обеспечения электронных устройств / Прудков В.В.; заявитель и патентообладатель Российская Федерация, от имени которой выступает Государственная корпорация по космической деятельности "Роскосмос" - 2017138949; заявл. 0911.2017; опубл 12.04.2019), выполняющих анализ документации на тестируемое ПО, идентификацию входных данных и заполнение БД в порядке принадлежности данных к своему типу назначения и использования и внутренней привязки между собой Analysis, identification of input data and filling in the corresponding databases can be carried out using automated tools described, for example, in (Patent 2678717 Russian Federation, G06F 11/36. Automation and visualization complex for testing embedded software of electronic devices / V.V. Prudkov. ; applicant and patentee Russian Federation, on behalf of which the State Corporation for Space Activities "Roskosmos" acts - 2017138949; application 0911.2017; published 12.04.2019), performing the analysis of the documentation for the software under test, identification of input data and filling in the database in the order of data belonging to to its type of purpose and use and internal binding to each other

В блоке 3 фиг.2 формируют базу данных программных закладок. In block 3 of Fig. 2, a database of program bookmarks is formed.

База данных программных закладок может быть сформирована следующими способами:The database of program bookmarks can be formed in the following ways:

внесение в базу данных множества всех известных программных закладок;entering a set of all known software bookmarks into the database;

внесение в базу данных множества программных закладок, полученных в результате моделирования (например, путем порождения множества моделей всех возможных (в рамках данной модели) программных закладок [Казарин О.В. Теория и практика защиты программ. М. 2004. - 389 с.]). entering into the database a set of software bookmarks obtained as a result of modeling (for example, by generating a set of models of all possible (within the framework of this model) software bookmarks [Kazarin OV Theory and practice of program protection. M. 2004. - 389 p.] ).

В блоке 4 фиг.2 формируют базу данных тестов.In block 4 of Fig. 2, a database of tests is generated.

Тесты могут быть сформированы при помощи известных средств автоматической генерации тестов, а также средств написания и редактирования тестов в «ручном» режиме [Патент 2679350 Российская Федерация, G06F 11/263. Система генерации тестовых данных/ Литвиненко А.М., Сметанин К.А.; заявитель и патентообладатель Федеральное государственное бюджетное образовательное учреждение высшего образования "Воронежский государственный технический университет" - 2017124567; заявл. 10.07.2017; опубл 07.02.2019; Патент 2678717 Российская Федерация, G06F 11/36. Комплекс автоматизации и визуализации тестирования встроенного программного обеспечения электронных устройств / Прудков В.В.; заявитель и патентообладатель Российская Федерация, от имени которой выступает Государственная корпорация по космической деятельности "Роскосмос" - 2017138949; заявл. 0911.2017; опубл 12.04.2019, Кулямин В. В. Методы верификации программного обеспечения. - М.: Институт Системного Программирования РАН, 2008. - 111 с.; Законов А.Ю., Шалыто А.А. Применение генетических алгоритмов к генерации тестов для автоматных программ // Научно-технический вестник Санкт-Петербургского государственного университета информационных технологий, механики и оптики, 2011, № 2 (72), стр. 66 - 72 и др.] .Tests can be generated using well-known tools for automatic test generation, as well as tools for writing and editing tests in the "manual" mode [Patent 2679350 Russian Federation, G06F 11/263. Test data generation system / Litvinenko A.M., Smetanin K.A .; applicant and patentee Federal State Budgetary Educational Institution of Higher Education "Voronezh State Technical University" - 2017124567; declared 07/10/2017; publ 07.02.2019; Patent 2678717 Russian Federation, G06F 11/36. Complex of automation and visualization of testing the embedded software of electronic devices / Prudkov V.V .; applicant and patentee of the Russian Federation, on behalf of which the State Corporation for Space Activities "Roskosmos" acts - 2017138949; declared 0911.2017; publ 12.04.2019, Kulyamin V.V. Software verification methods. - M .: Institute of System Programming RAS, 2008. - 111 p .; A.Yu. Zakonov, A.A. Shalyto Application of genetic algorithms to the generation of tests for automatic programs // Scientific and technical bulletin of the St. Petersburg State University of Information Technologies, Mechanics and Optics, 2011, No. 2 (72), pp. 66 - 72, etc.].

При этом необходимо учесть, что в соответствии с [РД Гостехкомиссии России «Защита от несанкционированного доступа к информации. Часть 1. Программное обеспечение средств защиты информации. Классификация по уровню контроля отсутствия недекларированных возможностей» (установлен Приказом Председателя Гостехкомиссии России № 114 от 04.06.1999 г.); Методика выявления уязвимостей и недекларированных возможностей в программном обеспечении (Электронный ресурс https://ict.moscow/presentation/metodika-vyiavleniia-uiazvimostei-i-nedeklarirovannykh-vozmozhnostei-v-po/. Дата обращения 12.07.2020 г.); ГОСТ Р 56920-2016 Тестирование программного обеспечения ; Марков А. С., Цирлов В. Л., Барабанов А. В. Методы оценки несоответствия средств защиты информации / А. С. Марков, В. Л. Цирлов, А. В. Барабанов; под ред. доц. А. С. Маркова. - М.: Радио и связь, 2012. - 192 с.; Бегаев А.Н., С.Н. Бегаев, Кашин С.В. Анализ программного кода при проведении сертификационных испытаний. - СПб: Университет ИТМО, 2018. - 41 с.; Бегаев А.Н., Кашин С.В., Маркевич Н.А., Марченко А.А., Выявление уязвимостей и недекларированных возможностей в программном обеспечении - СПб: Университет ИТМО, 2020. - 38 с.] при сертификации ПО по требованиям безопасности должны быть проведены следующие виды тестирования:It should be noted that in accordance with the [RD of the State Technical Commission of Russia “Protection against unauthorized access to information. Part 1. Software for information security. Classification by the level of control over the absence of undeclared opportunities "(established by Order of the Chairman of the State Technical Commission of Russia No. 114 of 04.06.1999); Methodology for identifying vulnerabilities and undeclared capabilities in software (Electronic resource https://ict.moscow/presentation/metodika-vyiavleniia-uiazvimostei-i-nedeklarirovannykh-vozmozhnostei-v-po/. Date of treatment 07/12/2020); GOST R 56920-2016 Software testing; Markov A. S., Tsirlov V. L., Barabanov A. V. Methods for assessing the inconsistency of information protection means / A. S. Markov, V. L. Tsirlov, A. V. Barabanov; ed. Assoc. A.S. Markov. - M .: Radio and communication, 2012 .-- 192 p .; Begaev A.N., S.N. Begaev, S.V. Kashin Analysis of the program code during certification tests. - St. Petersburg: ITMO University, 2018 .-- 41 p .; Begaev A.N., Kashin S.V., Markevich N.A., Marchenko A.A., Identification of vulnerabilities and undeclared capabilities in software - St. Petersburg: ITMO University, 2020. - 38 p.] For software certification according to requirements The following types of security testing should be carried out:

- статическое (тестирование программного обеспечения, выполняемое без фактического выполнения программ. Тестирование выполняется над какой-либо версией исходного либо объектного кода);- static (software testing performed without actually executing programs. Testing is performed on any version of the source or object code);

- динамическое (тестирование программного обеспечения, выполняемое путем исполнения программ на реальном или виртуальном процессоре).- dynamic (software testing performed by executing programs on a real or virtual processor).

Таким образом, должны быть сформированы и записаны в базу данных тесты, позволяющие провести перечисленные виды тестирования.Thus, tests must be formed and recorded in the database, allowing the listed types of testing to be carried out.

В блоке 5 фиг. 2 приступают к моделированию процесса противоборства между экспертом и нарушителем.In block 5 of FIG. 2 begin to simulate the process of confrontation between the expert and the offender.

Алгоритм процесса противоборства между экспертом и нарушителем представлен на фиг. 3. The algorithm of the confrontation process between the expert and the offender is shown in Fig. 3.

Для моделирования действий нарушителя:To simulate the actions of the offender:

В блоке 5.1 фиг. 3 производят активацию программной закладки. In box 5.1 of FIG. 3 activates the software bookmark.

Механизм активации

Figure 00000001
можно представить в виде функции
Figure 00000002
:Activation mechanism
Figure 00000001
can be represented as a function
Figure 00000002
:

Figure 00000003
.
Figure 00000003
...

При w=0 программная закладка внедряться не будет, при w= 1 - будет внедряться.If w = 0, the software bookmark will not be embedded; if w = 1 , it will be embedded.

В случае внедрения ПЗ (при w=1) осуществляют выбор программной закладки (бл. 5.2 фиг. 3).In the case of the introduction of the PZ (with w = 1 ), the software bookmark is selected (block 5.2 of Fig. 3).

Внедряемая программная закладка может быть выбрана равновероятным образом либо по иному заданному распределению случайной величины (с учетом степени критичности, частоты применяемости ПЗ нарушителями и т.д.).The introduced software bookmark can be selected equally probable or according to a different given distribution of a random variable (taking into account the degree of criticality, the frequency of application of the PP by violators, etc.).

В блоке 5.3 фиг. 3 осуществляют внедрение выбранной программной закладки. In box 5.3 of FIG. 3 carry out the implementation of the selected software bookmark.

Способы и инструментальные средства внедрения ПЗ описаны в [Казарин О.В. Теория и практика защиты программ. М. 2004. - 389 с.].Methods and tools for PP implementation are described in [Kazarin OV. Theory and practice of software protection. M. 2004. - 389 p.].

Для моделирования действий эксперта осуществляют выбор тестов для выявления ПЗ (бл. 5.4 фиг. 3).To simulate the actions of the expert, the selection of tests is performed to identify the PZ (block 5.4 of Fig. 3).

В блоке 5.5 фиг. 3 осуществляют моделирование процесса выявления ПЗ.In block 5.5 of FIG. 3 simulate the process of identifying the PP.

В условиях ограничения на время и качество тестирования в связи с трудностями проведения натурных испытаний для моделирования процесса выявления ПЗ возможно применение методов теории игр [Миронов С.В. Применение аппарата теории игр для решения задачи выявления вредоносных закладок в программном обеспечении объектов критических информационных инфраструктур // III International Conference «The 2019 Symposium on Cybersecurity of the Digital Economy - CDE’19». - стр. 259 - 261; Шматова Е.С. Выбор стратегии ложной информационной системы на основе модели теории игр // Вопросы кибербезопасности №5(13) - 2015. - стр. 36 - 40; Михалева У.А. Применение методов теории игр для устранения уязвимостей в программном беспечении организации // Автоматика и программная инженерия. 2016, №1(15). Стр. 30 - 32; Соснин Ю. В., Куликов Г. В., Непомнящих А. В. Комплекс математических моделей оптимизации конфигурации средств защиты информации от несанкционированного доступа // Программные системы и вычислительные методы - №1(10). - 2015. стр. 32 - 44].In the context of limitations on the time and quality of testing due to the difficulties of carrying out full-scale tests for modeling the process of identifying PZ it is possible to use the methods of game theory [Mironov S.V. Application of the game theory apparatus for solving the problem of detecting malicious bookmarks in the software of objects of critical information infrastructures // III International Conference "The 2019 Symposium on Cybersecurity of the Digital Economy - CDE'19". - p. 259 - 261; Shmatova E.S. The choice of a false information system strategy based on a game theory model // Cybersecurity Issues No. 5 (13) - 2015. - pp. 36 - 40; Mikhaleva U.A. Application of Game Theory Methods to Eliminate Vulnerabilities in Organizational Software // Automation and Software Engineering. 2016, No. 1 (15). P. 30 - 32; Sosnin Yu. V., Kulikov GV, Nepomnyashchikh AV A complex of mathematical models for optimizing the configuration of information protection means from unauthorized access // Software systems and computational methods - №1 (10). - 2015. p. 32 - 44].

Процесс моделирования процесса выявления ПЗ в этом случае содержит следующие основные этапы:In this case, the process of modeling the process of identifying a PP contains the following main stages:

1. Задают игру Г тройкой:1. Set the game Г by three:

Figure 00000004
,
Figure 00000004
,

где P - конечное множество программных закладок,where P is a finite set of program tabs,

N - конечное множество тестов, содержащих набор сигнатур и атомарных операций, N is a finite set of tests containing a set of signatures and atomic operations,

Figure 00000005
- платежная функция игры
Figure 00000006
от двух переменных
Figure 00000007
и
Figure 00000008
.
Figure 00000005
- payment function of the game
Figure 00000006
on two variables
Figure 00000007
and
Figure 00000008
...

Платежную функцию игры

Figure 00000006
можно представить следующим образом:Payment function of the game
Figure 00000006
can be represented as follows:

Figure 00000009
Figure 00000009

где: Where:

Figure 00000010
- максимальное время испытаний ПО;
Figure 00000010
- maximum software testing time;

Figure 00000011
- - вероятность выявления
Figure 00000012
-м тестовым набором
Figure 00000013
-ой ПЗ:
Figure 00000011
- - probability of detection
Figure 00000012
-m test suite
Figure 00000013
-th PZ:

Figure 00000014
;
Figure 00000014
;

Figure 00000015
- -тестовый набор
Figure 00000016
,
Figure 00000017
=1 в случае наличия
Figure 00000012
-го теста в наборе,
Figure 00000018
=0 - в случае отсутствия при d=
Figure 00000019
;
Figure 00000015
- - test set
Figure 00000016
,
Figure 00000017
= 1 if available
Figure 00000012
th test in the set,
Figure 00000018
= 0 - in the absence at d =
Figure 00000019
;

Figure 00000020
- - вероятность выявления
Figure 00000012
-ым тестом
Figure 00000013
-ой ПЗ.
Figure 00000020
- - probability of detection
Figure 00000012
th test
Figure 00000013
th PZ.

Характеристики программных закладок и тестов, влияющие на процесс выявления:Characteristics of software tabs and tests that affect the detection process:

Figure 00000021
- время на выполнение одиночного
Figure 00000022
-го тестового набора в часах.
Figure 00000021
- time to complete a single
Figure 00000022
test set in hours.

Figure 00000023
- степень критичности
Figure 00000012
-ой ПЗ, в соответствии с моделью DREAD={1,2,3,4,5}.
Figure 00000023
- degree of criticality
Figure 00000012
-th PZ, in accordance with the model DREAD = {1,2,3,4,5}.

Figure 00000024
- максимальная степень критичности закладок.
Figure 00000024
- the maximum degree of criticality of bookmarks.

Модель DREAD представляет собой способ оценки риска по следующим категориям [Ховард М., Лебланк Д. Защищенный код/Пер. с англ. - 2е изд., испр. - М.: Издательство «Русская Редакция», 2005. - 704 стр., стр. 80 - 81].The DREAD model is a way to assess risk in the following categories [Howard M., Leblanc D. Protected code / Per. from English - 2nd ed., Rev. - M .: Publishing house "Russian Edition", 2005. - 704 pages, pp. 80 - 81].

Потенциальный ущерб (Damage potential) - мера реального ущерба от успешной атаки. Damage potential is a measure of the actual damage from a successful attack.

Воспроизводимость (Reproducibility) - мера возможности реализации опасности. Reproducibility is a measure of the possibility of a hazard being realized.

Подверженность взлому (Exploitability) - мера усилий и квалификации, необходимых для атаки. Exploitability is a measure of the effort and skill required to attack.

Круг пользователей, попадающих под удар (Affected users) - доля пользователей, работа которых нарушается из-за успешной атаки. Affected users - The percentage of users who are disrupted due to a successful attack.

Вероятность обнаружения (Discoverability). Discoverability.

Суммарная DREAD-оценка равна арифметическому среднему всех оценок. The total DREAD score is equal to the arithmetic mean of all scores.

1. Осуществляют построение матрицы игры. 1. Carry out the construction of the game matrix.

Поскольку число возможных действий нарушителя и эксперта конечно, значения функции Ф можно представить в виде матрицы, в i-й строке которой последовательно расположены выигрыши первой стороны в ситуациях (i, 1), (i, 2),..., (i, m), а в столбце j - ее выигрыши в ситуациях (1, j), ..., (n, j). Выбор нарушителем i-ой ПЗ - стратегии i - означает выбор строки i, выбор экспертом j-того теста - стратегии j - выбор столбца j. Since the number of possible actions of the intruder and the expert is finite, the values of the function Ф can be represented in the form of a matrix, in the i- th row of which the payoffs of the first party are sequentially located in situations ( i , 1), ( i , 2), ..., ( i, m ), and in column j - its gains in situations (1, j ), ..., ( n, j ). The violator's choice of the i- th PP - strategy i - means the choice of row i , the expert's choice of the j -th test - strategy j - the choice of column j .

2. Задают критерии остановки минимазиции платежной матрицы.2. Criteria for stopping the minimization of the payment matrix are specified.

3. Находят решение матричной игры.3. Find a solution to the matrix game.

Порядок нахождения решения матричной игры Г известен и описан, например, в [Соснин Ю. В., Куликов Г. В., Непомнящих А. В. Комплекс математических моделей оптимизации конфигурации средств защиты информации от несанкционированного доступа // Программные системы и вычислительные методы - №1(10). - 2015. стр. 32 - 44, Михалева У.А. Применение методов теории игр для устранения уязвимостей в программном беспечении организации // Автоматика и программная инженерия. 2016, №1(15). Стр. 30 - 32].The procedure for finding the solution of the matrix game Г is known and described, for example, in [Sosnin Yu. V., Kulikov GV, Nepomnyashchikh AV Complex of mathematical models for optimizing the configuration of information security tools against unauthorized access // Software systems and computational methods - No. 1 (10). - 2015. p. 32 - 44, Mikhaleva U.A. Application of Game Theory Methods to Eliminate Vulnerabilities in Organizational Software // Automation and Software Engineering. 2016, No. 1 (15). P. 30 - 32].

Так, для решения матричной игры может быть применена следующая последовательность действий:So, to solve a matrix game, the following sequence of actions can be applied:

- рассчитывают средние эффективности;- average efficiencies are calculated;

- проверяют выполнение условия удаления наименее эффективных из ПЗ/тестов и принимают решение о продолжении процедуры;- check the fulfillment of the condition for removing the least effective from the PP / tests and decide on the continuation of the procedure;

- исключают наименее эффективные из ПЗ и/или тестов.- exclude the least effective from the PP and / or tests.

Данные действия выполняются до тех пор, пока не выполнится условие остановки процедуры минимизации платежной матрицы. These actions are carried out until the condition of stopping the procedure for minimizing the payment matrix is fulfilled.

Нахождение решения матричной игры позволяет определить наиболее опасное множество ПЗ, которые может внедрить нарушитель, а также оптимальный набор тестов для выявления этих ПЗ, задаваемый экспертом.Finding a solution to the matrix game allows you to determine the most dangerous set of PPs that an intruder can implement, as well as the optimal set of tests for identifying these PPs, set by an expert.

В блоке 6 фиг.1 анализируют результаты моделирования.In block 6 of Fig. 1, the simulation results are analyzed.

В блоке бл. 7 фиг. 1 определяют и записывают в соответствующую базу данных оптимальный набор тестов для выявления i-ой ПЗ.In the block bl. 7 fig. 1, the optimal set of tests for identifying the i-th PZ is determined and recorded in the corresponding database.

В блоке бл. 8 фиг. 1 определяют и записывают в соответствующую базу данных наиболее опасное множество ПЗ.In the block bl. 8 fig. 1, the most dangerous set of PPs is determined and recorded in the appropriate database.

В блоке 9 фиг. 1 осуществляют вывод результата.In block 9 of FIG. 1 carry out the output of the result.

Реализация предлагаемого способа не вызывает затруднений, так как все блоки, входящие в систему, реализующую способ, общеизвестны и широко описаны в технической литературе [Нечаев И.А. Конструкции на логических элементах цифровых микросхем. - Москва: Радио и связь, 1992. - 123 с.; Белов А.В. Создаем устройства на микроконтроллерах. - СПб.: Наука и техника, 2007. - 304 с.; Конструкторско-технологическое проектирование электронной аппаратуры. Учебник для вузов. Серия: Информатика в техническом университете. Под ред. Шахнова В.А. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2003. - 528 с.: ил.; Суворова Е., Шейнин Ю. Проектирование цифровых систем на VHDL. Серия "Учебное пособие". - СПб.: БХВ-Петербург, 2003. - 576 с.: ил.; Овчинников В.А. Алгоритмизация комбинаторно-оптимизационных задач при проектировании ЭВМ и систем. Серия: Информатика в техническом университете. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2001. - 288 с.: ил.; Новиков Ю.В. Основы цифровой схемотехники. Базовые элементы и схемы. Методы проектирования. - М.: Мир, 2001. - 379 с.; Левин В.И. Носители информации в цифровом веке / Под общ. ред. Д.Г.Красковского. - М.: КомпьютерПресс, 2000. - 256 с.: ил.; Гук М. Дисковая подсистема ПК. - СПб.: Питер, 2001. - 336 с.: ил., Пей Ан. Сопряжение ПК с внешними устройствами. - М.: ДМК Пресс, 2003. - 320 с.: ил.]. The implementation of the proposed method does not cause difficulties, since all the blocks included in the system that implements the method are well known and widely described in the technical literature [Nechaev I.A. Constructions on logical elements of digital microcircuits. - Moscow: Radio and communication, 1992. - 123 p .; A.V. Belov We create devices on microcontrollers. - SPb .: Science and technology, 2007. - 304 p .; Design and technological design of electronic equipment. Textbook for universities. Series: Computer Science at the Technical University. Ed. Shakhnova V.A. - M .: Publishing house of MSTU im. N.E. Bauman, 2003. - 528 p .: ill .; Suvorova E., Sheinin Y. Design of digital systems on VHDL. Series "Tutorial". - SPb .: BHV-Petersburg, 2003 .-- 576 p .: ill .; Ovchinnikov V.A. Algorithmization of combinatorial-optimization problems in the design of computers and systems. Series: Computer Science at the Technical University. - M .: Publishing house of MSTU im. N.E. Bauman, 2001 .-- 288 p .: ill .; Yu.V. Novikov Fundamentals of digital circuitry. Basic elements and schemes. Design methods. - M .: Mir, 2001 .-- 379 p .; Levin V.I. Information carriers in the digital age / Under total. ed. D.G. Kraskovsky. - M .: ComputerPress, 2000. - 256 p .: ill .; Guk M. Disk subsystem of the PC. - SPb .: Peter, 2001 .-- 336 p .: ill., Pei An. Pairing a PC with external devices. - M .: DMK Press, 2003. - 320 p .: ill.].

Использование заявленного способа для формирования оптимального набора тестов для выявления программных закладок при проведении сертификационных испытаний программного обеспечения по требованиям безопасности показало существенное сокращение объема работы специалистов при тестировании ПО, сокращение временных затрат, а также увеличение количества обнаруживаемых программных закладок на 20%.The use of the proposed method to generate an optimal set of tests for identifying software bugs during certification tests of software for security requirements showed a significant reduction in the amount of work of specialists when testing software, a reduction in time costs, and an increase in the number of detected software bugs by 20%.

Таким образом, за счет предварительного формирования оптимального набора тестов для выявления программных закладок, получаемого в результате моделирования противоборства между нарушителем и экспертом, достигается заявленный технический результат, а именно повышение вероятности обнаружения ПЗ при сертификации ПО по требованиям безопасности, увеличение количества обнаруживаемых ПЗ, уменьшение временных, аппаратных, инструментальных, кадровых ресурсов, затрачиваемых на проведение сертификационных испытаний.Thus, due to the preliminary formation of an optimal set of tests for identifying software bugs, obtained as a result of modeling a confrontation between an intruder and an expert, the declared technical result is achieved, namely, an increase in the probability of detecting a PD when certifying software according to safety requirements, an increase in the number of detected PD, a decrease in time. , hardware, instrumental, human resources spent on certification tests.

Claims (2)

1. Система формирования оптимального набора тестов для выявления программных закладок, включающая по крайней мере одно устройство пользователя и/или тестировщика, по крайней мере одну базу данных, по крайней мере одну базу тестов и программно-аппаратный комплекс, выполненный с возможностью тестирования программного обеспечения, составления тестовых сценариев и с сохранением их в базе данных в качестве эталонных, формирования базы тестов, отличающаяся тем, что система дополнительно включает взаимосвязанные между собой блок ввода исходных данных, блока анализа и заполнения баз данных, базу исходных данных, блок контроля и управления, блок моделирования программных закладок, базу данных программных закладок, блок формирования тестов, базу данных тестов, блок моделирования противоборства нарушителя и эксперта, включающий блок закладного воздействия, блок выбора тестов, блок моделирования процесса выявления программной закладки, при этом блок закладного воздействия, выход которого подключен к первому входу блоку моделирования процесса выявления программных закладок, ко второму входу которого подключен блок выбора тестов, состоит из последовательно соединенных блока активации программной закладки, блока выбора программной закладки и блока внедрения программной закладки; блок анализа результатов моделирования, блок формирования оптимального набора тестов и наиболее опасного множества программных закладок, базу данных оптимального набора тестов, базу данных наиболее опасного множества программных закладок, блок вывода результатов, причем выход блока ввода исходных данных подключен ко входу блока анализа и заполнения баз данных, выходы блока анализа и заполнения баз данных подключены ко входам базы данных исходных данных, базы данных программных закладок, базы данных тестов, блока контроля и управления, второй вход блока контроля и управления подключен к базе данных исходных данных, первый выход блока контроля и управления подключен к блоку моделирования программных закладок, выход которого подключен ко входу базы данных программных закладок, второй выход блока контроля и управления подключен к блоку формирования тестов, выход которого подключен ко входу базы данных тестов, третий выход блока контроля и управления подключен к первому входу блока моделирования процесса противоборства нарушителя и эксперта, ко второму и третьему входам блока моделирования процесса противоборства нарушителя и эксперта подключены выходы базы данных программных закладок и базы данных тестов, выход блока моделирования процесса противоборства нарушителя и эксперта подключен ко входу блока анализа результатов моделирования, выход которого подключен ко входу блока формирования оптимального набора тестов и наиболее опасного множества программных закладок, первый и второй выходы блока формирования оптимального набора тестов и наиболее опасного множества программных закладок подключены ко входам базы данных оптимального набора тестов и базы данных наиболее опасного множества программных закладок соответственно, третий выход блока формирования оптимального набора тестов и наиболее опасного множества программных закладок подключен к блоку выводов результатов.1. A system for generating an optimal set of tests for identifying software bugs, including at least one user and / or tester's device, at least one database, at least one test base and a software and hardware complex capable of testing software, compilation of test scenarios and saving them in the database as reference ones, formation of the test database, characterized in that the system additionally includes interconnected block for input of initial data, block for analysis and filling of databases, base data base, control and management block, block modeling of software tabs, database of software tabs, block of formation of tests, database of tests, block of simulation of the confrontation between the intruder and the expert, including the block of the embedded influence, the block of the selection of tests, the block of modeling the process of identifying the software bookmark, while the block of the embedded influence, the output of which is connected it is connected to the first input of the block for modeling the process of identifying software bookmarks, to the second input of which the block for selecting tests is connected, consists of a series-connected block for activating a software bookmark, a block for selecting a software bookmark and a block for implementing a software bookmark; block for analysis of simulation results, block for forming the optimal set of tests and the most dangerous set of program tabs, database of the optimal set of tests, database of the most dangerous set of program bookmarks, block for outputting results, and the output of the input data input block is connected to the input of the block for analyzing and filling the databases , the outputs of the analysis and filling of the databases are connected to the inputs of the initial data database, the database of program tabs, the test database, the control and management unit, the second input of the control and management unit is connected to the initial data base, the first output of the control and management unit is connected to the block for modeling software bookmarks, the output of which is connected to the input of the database of software bookmarks, the second output of the control and management unit is connected to the block for generating tests, the output of which is connected to the input of the database of tests, the third output of the block of control and management is connected to the first input of the block of the process of confrontation between the intruder and the expert, the outputs of the database of program tabs and the database of tests are connected to the second and third inputs of the block of modeling the process of confrontation between the intruder and the expert, the output of the block of modeling the process of confrontation between the intruder and the expert is connected to the input of the block of analysis of simulation results, the output of which is connected to the input of the block for generating the optimal set of tests and the most dangerous set of software bookmarks, the first and second outputs of the block for forming the optimal set of tests and the most dangerous set of software bookmarks are connected to the inputs of the database of the optimal set of tests and the database of the most dangerous set of software bookmarks, respectively, the third output of the forming block the optimal set of tests and the most dangerous set of program tabs is connected to the block of results output. 2. Способ формирования оптимального набора тестов для выявления программных закладок, заключающийся в том, что задают исходные данные, осуществляют анализ, идентификацию входных данных и заполнение соответствующих баз данных, формируют базу данных программных закладок, формируют базу данных тестов, моделируют процесс противоборства между экспертом и нарушителем, для чего для моделирования действий нарушителя производят активацию программной закладки, осуществляют выбор программной закладки, осуществляют внедрение выбранной программной закладки, для моделирования действий эксперта осуществляют выбор теста для выявления программной закладки, осуществляют моделирование процесса выявления программной закладки, анализируют результаты моделирования, определяют и записывают в соответствующую базу данных оптимальный набор тестов для выявления i-ой программной закладки, определяют и записывают в соответствующую базу данных наиболее опасное множество программных закладок, осуществляют вывод результата.2. A method of forming an optimal set of tests for identifying software bookmarks, which consists in setting initial data, performing analysis, identifying input data and filling in the corresponding databases, forming a database of software bookmarks, forming a database of tests, simulating the process of confrontation between an expert and by the intruder, for which, to simulate the actions of the intruder, activate the software bookmark, select the software bookmark, implement the selected software bookmark, to simulate the expert's actions, select a test to identify the software bookmark, simulate the process of identifying the software bookmark, analyze the simulation results, determine and record the optimal set of tests for identifying the i-th program bookmark into the corresponding database, the most dangerous set of program bookmarks is determined and recorded in the corresponding database, result.
RU2020125680A 2020-08-03 2020-08-03 System and method for forming optimal set of tests for identifying software bugs RU2744438C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2020125680A RU2744438C1 (en) 2020-08-03 2020-08-03 System and method for forming optimal set of tests for identifying software bugs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2020125680A RU2744438C1 (en) 2020-08-03 2020-08-03 System and method for forming optimal set of tests for identifying software bugs

Publications (1)

Publication Number Publication Date
RU2744438C1 true RU2744438C1 (en) 2021-03-09

Family

ID=74857522

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2020125680A RU2744438C1 (en) 2020-08-03 2020-08-03 System and method for forming optimal set of tests for identifying software bugs

Country Status (1)

Country Link
RU (1) RU2744438C1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2774659C1 (en) * 2021-05-13 2022-06-21 Общество с ограниченной ответственностью "Тест АйТи" System for controlling software testing

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080184206A1 (en) * 2007-01-31 2008-07-31 Oracle International Corporation Computer-implemented methods and systems for generating software testing documentation and test results management system using same
US20130117848A1 (en) * 2011-11-03 2013-05-09 Ali Golshan Systems and Methods for Virtualization and Emulation Assisted Malware Detection
US20170054754A1 (en) * 2013-09-11 2017-02-23 NSS Labs, Inc. Malware and exploit campaign detection system and method
RU2653985C2 (en) * 2013-06-28 2018-05-15 Закрытое акционерное общество "Лаборатория Касперского" Method and system for detecting malicious software by control of software implementation running under script
RU2678717C1 (en) * 2017-11-09 2019-01-31 Российская Федерация, от имени которой выступает Государственная корпорация по космической деятельности "РОСКОСМОС" Method for building a software system for automating and visualizing testing of embedded software for electronic devices

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080184206A1 (en) * 2007-01-31 2008-07-31 Oracle International Corporation Computer-implemented methods and systems for generating software testing documentation and test results management system using same
US20130117848A1 (en) * 2011-11-03 2013-05-09 Ali Golshan Systems and Methods for Virtualization and Emulation Assisted Malware Detection
RU2653985C2 (en) * 2013-06-28 2018-05-15 Закрытое акционерное общество "Лаборатория Касперского" Method and system for detecting malicious software by control of software implementation running under script
US20170054754A1 (en) * 2013-09-11 2017-02-23 NSS Labs, Inc. Malware and exploit campaign detection system and method
RU2678717C1 (en) * 2017-11-09 2019-01-31 Российская Федерация, от имени которой выступает Государственная корпорация по космической деятельности "РОСКОСМОС" Method for building a software system for automating and visualizing testing of embedded software for electronic devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2774659C1 (en) * 2021-05-13 2022-06-21 Общество с ограниченной ответственностью "Тест АйТи" System for controlling software testing

Similar Documents

Publication Publication Date Title
Wang Information security models and metrics
US8527668B2 (en) Priority logic module
CN103201747A (en) A method for attesting a plurality of data processing systems
Promyslov et al. A clustering method of asset cybersecurity classification
Pries et al. Testing complex and embedded systems
US9268944B2 (en) System and method for sampling based source code security audit
RU2744438C1 (en) System and method for forming optimal set of tests for identifying software bugs
CN116232768B (en) Information security assessment method, system, electronic equipment and storage medium
Mashkoor et al. Model-driven engineering of safety and security systems: A systematic mapping study
Gilliam et al. Addressing software security and mitigations in the life cycle
Hansen Survey of available software-safety analysis techniques
Dang A practical approach for ranking software warnings from multiple static code analysis reports
CN114153742A (en) Unit testing method, unit testing device, electronic equipment and storage medium
Grigoriádis Identification and Assessment of Security Attacks and Vulnerabilities, utilizing CVE, CWE and CAPEC
Milov et al. Development of a scenario modeling of conflict tools in a security system based on formal grammars
Kanner et al. Special features of TLA+ temporal logic of actions for verifying access control policies
KR101601741B1 (en) Verification apparatus for verifying the identity of programs written in different languages
Agirre et al. Multidimensional framework for characterizing verification and validation of automated systems
EP4141718A1 (en) Systems and methods for automated tara and automated security concept
Kravchenko et al. Complex Dynamic Method of Web Applications Verification by the Criterion of Time Minimization
Saarela et al. Measuring software security from the design of software
Sampada et al. A Review and Catalog of Security Metric during the Secure Software Development Life Cycle
Davydenko et al. Model and method for identification of functional security profile
US10585779B2 (en) Systems and methods of requirements chaining and applications thereof
Zahoransky et al. Process Analysis as First Step towards Automated Business Security.