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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
Abstract
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. -
Недостатком способа является высокая трудоемкость и значительные временные затраты за счет большой вероятности избыточного тестирования. [Когай Г. Д. Достоинства и недостатки современных видов тестирования программного обеспечения / Г. Д. Когай, А. Ж. Амиров, Р. В. Стародубенко, К. В. Стародубенко. // Молодой ученый. - 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
Выход блока ввода исходных данных 10 подключен ко входу блока анализа и заполнения баз данных 20, предназначенного для осуществления анализа документации, описывающей тестируемое ПО, а также остальных введенных исходных данных и заполнения БД в порядке принадлежности данных к своему типу назначения и использования и внутренней привязки между собой. The output of the initial
Выходы блока анализа и заполнения баз данных 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
Первый выход блока контроля и управления 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
Блок моделирования процесса противоборства нарушителя и эксперта 9 состоит из блока закладного воздействия 91, блока выбора тестов 92, блока моделирования процесса выявления ПЗ 93, причем выход блока закладного воздействия подключен к первому входу блоку моделирования процесса выявления ПЗ 93, ко второму входу которого подключен блок выбора тестов 92.The block for modeling the process of the confrontation between the intruder and the
Блок закладного воздействия 91 состоит из последовательно соединенных блока активации ПЗ 911, блока выбора ПЗ 912, блока внедрения ПЗ 913.The block of embedded
Выход блока моделирования процесса противоборства нарушителя и эксперта 90 подключен к блоку анализа результатов моделирования 100, выход которого подключен ко входу блока формирования оптимального набора тестов и наиболее опасного множества ПЗ 110. The output of the block for modeling the process of confrontation between the intruder and the
Первый и второй выходы блока формирования оптимального набора тестов и наиболее опасного множества ПЗ 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
Назначение блоков понятно из их наименований.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
Далее в блоке контроля и управления 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
При поступлении управляющей команды в блоке закладного воздействия 91, а именно в блоке активации программной закладки 911 запускается механизм активации ПЗ. В случае внедрения ПЗ в блоке выбора ПЗ 912 осуществляют выбор программной закладки из базы данных ПЗ 60. В блоке внедрения ПЗ 913 определяют программную компоненту, в которую может быть встроена данная ПЗ и осуществляют внедрение выбранной программной закладки. When a control command is received in the block of the embedded
При поступлении управляющей команды от блока контроля и управления 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
В блоке 140 фиг. 1 осуществляют вывод результата.At
В процессе функционирования системы может быть реализован заявленный способ формирования оптимального набора тестов для выявления программных закладок, блок-схема которого представлена на фиг. 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
Анализ, идентификация входных данных и заполнение соответствующих баз данных могут быть осуществлены при помощи автоматизированных средств, описанных, например, в (Патент 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
База данных программных закладок может быть сформирована следующими способами: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
Тесты могут быть сформированы при помощи известных средств автоматической генерации тестов, а также средств написания и редактирования тестов в «ручном» режиме [Патент 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
Алгоритм процесса противоборства между экспертом и нарушителем представлен на фиг. 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.
Механизм активации
При 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:
где 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,
Платежную функцию игры
где: Where:
Характеристики программных закладок и тестов, влияющие на процесс выявления:Characteristics of software tabs and tests that affect the detection process:
Модель 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
В блоке бл. 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
Реализация предлагаемого способа не вызывает затруднений, так как все блоки, входящие в систему, реализующую способ, общеизвестны и широко описаны в технической литературе [Нечаев И.А. Конструкции на логических элементах цифровых микросхем. - Москва: Радио и связь, 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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2774659C1 (en) * | 2021-05-13 | 2022-06-21 | Общество с ограниченной ответственностью "Тест АйТи" | System for controlling software testing |
Citations (5)
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 |
-
2020
- 2020-08-03 RU RU2020125680A patent/RU2744438C1/en active
Patent Citations (5)
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)
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. |