WO2022066039A1 - Assessing the likelihood of critical cybersecurity defects - Google Patents

Assessing the likelihood of critical cybersecurity defects Download PDF

Info

Publication number
WO2022066039A1
WO2022066039A1 PCT/RU2020/000713 RU2020000713W WO2022066039A1 WO 2022066039 A1 WO2022066039 A1 WO 2022066039A1 RU 2020000713 W RU2020000713 W RU 2020000713W WO 2022066039 A1 WO2022066039 A1 WO 2022066039A1
Authority
WO
WIPO (PCT)
Prior art keywords
releases
variables
cybersecurity
data
critical
Prior art date
Application number
PCT/RU2020/000713
Other languages
French (fr)
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 Публичное Акционерное Общество "Сбербанк России"
Publication of WO2022066039A1 publication Critical patent/WO2022066039A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning

Definitions

  • the claimed technical solution generally relates to the field of computer technology, and in particular to an automated method and system for assessing the probability of occurrence of critical cybersecurity defects in acceptance tests of product releases using machine learning algorithms.
  • the calculation introduces three variables that characterize the testing strategy: efficiency, which represents the effectiveness of the testing group, the defect density coefficient, and the value of the verification coefficient.
  • efficiency represents the effectiveness of the testing group
  • defect density coefficient represents the effectiveness of the testing group
  • the test manager determines the values of three variables that affect the development plan.
  • the cumulative "attempt" curve of the ATTX values and the cumulative "completion" curve of the CCx values allow the test manager to compare the efforts already made with the expected efforts made for the test blocks that have been taken and for the test units that have been completed, i.e., when the defects found in the code were fixed.
  • the claimed technical solution proposes a new approach to assessing the probability of occurrence of critical cybersecurity defects during acceptance testing of product releases.
  • This solution uses a machine learning algorithm that automates the process of checking releases for critical cybersecurity defects and assesses their occurrence with high accuracy.
  • the processing of the received data is carried out using a machine learning model based on a random forest classifier.
  • the MO model is pre-trained on historical data on the receipt of critical cybersecurity defects on acceptance tests of software product releases.
  • the processing of the received data is carried out using an ensemble of neural networks.
  • the received data additionally contains information about records about tasks of the release category in the system task management for development, including: number, type, importance, status, creation time, time taken to work, time marked as solved, list of dependent task records and dependency types, list of dependent task records and dependency types.
  • the data obtained additionally contains information on the number of critical cybersecurity defects identified during acceptance tests of all previous releases of software products.
  • At least one memory coupled to the processor, which contains machine-readable instructions, which, when executed by at least one processor, provide a method for assessing the probability of occurrence of critical cybersecurity defects on acceptance tests of product releases.
  • FIG. 1 illustrates a block diagram of the claimed method.
  • FIG. 2 illustrates the ROC curve (error curve) for a release classifier based on a random forest.
  • FIG. 3 illustrates the error matrix (without normalization) for a release classifier based on a random forest.
  • FIG. 4 illustrates an example of a general view of a computing system that provides the implementation of the claimed solution.
  • a model in machine learning (ML) is a set of artificial intelligence methods, the characteristic feature of which is not the direct solution of a problem, but learning in the process of applying solutions to many similar problems.
  • the F-1 measure is a joint score of precision and recall.
  • ROC-curve a graphical characteristic of the quality of a binary classifier, reflecting the dependence of the proportion of true-positive classifications on the proportion of false-positive classifications when the threshold of the decision rule is varied.
  • the error matrix is a way to break classified objects into four categories depending on the combination of the actual class and classifier response.
  • Connectors are software components that collect data from information sources (Task Management System / Release Collaboration System / Version Control System / Project Management System / Enterprise Service Management System / etc.) and bring the data to the required structure and format.
  • Storage a system for storing large amounts of data collected and processed by connectors, as well as generated by other components of the system.
  • This technical solution can be implemented on a computer, in the form of an automated information system (AIS) or a machine-readable medium containing instructions for performing the above method.
  • AIS automated information system
  • the technical solution can be implemented as a distributed computer system.
  • a system means a computer system, a computer (electronic computer), CNC (numerical control), PLC (programmable logic controller), computerized control systems and any other devices capable of performing a given, well-defined sequence of computational operations (actions, instructions).
  • a command processing device is an electronic unit or an integrated circuit (microprocessor) that executes machine instructions (programs) / [0012]
  • the instruction processor reads and executes machine instructions (programs) from one or more storage devices, such as random access memory (RAM) and/or read only memory (ROM).
  • RAM random access memory
  • ROM read only memory
  • ROM can be, but not limited to, hard disk drives (HDD), flash memory, solid state drives (SSD), optical storage media (CD, DVD, BD, MD, etc.), etc.
  • a program is a sequence of instructions intended to be executed by a computer control device or command processing device.
  • Training of the MO model is performed on pre-labeled data. A total of 431 releases were available at the time the model was created, created within a given time range, for example, 5-6 months. To assess the quality of the model, the data set was divided into 2 parts: training and control samples. The splitting took place as follows (sorting and selection for the test of the latest hits (tickets) by the date of creation is due to the peculiarities of the task): within the data set, release tickets were grouped by projects in a task management system, for example, Jira (htps ://ru.
  • the weighted f-1 score for the classifier is about 0.8, the accuracy is about 0.8.
  • FIG. Figure 2 shows the ROC curve (error curve) for a release classifier based on a random forest.
  • FIG. 3 shows the error matrix (without normalization) for a release classifier based on a random forest
  • Connectors obtain the necessary source information (by downloading files, queries to the database, to the API, parsing web pages, reading event logs, etc.), store it in storage. [0019] Connectors extract significant parameters from the downloaded data for further calculations, perform their preprocessing and form in the storage a table of values of the specified parameters (or features) by releases with the following columns:
  • a set of parameters (or features) that are products of the values of all pairs of the above parameters (or features);
  • the machine learning algorithm marks the releases present in it as carrying high, medium, and low cybersecurity risks. Marking results are stored as a table in the repository.
  • the method for assessing the probability of occurrence of critical cybersecurity defects on acceptance tests of product releases (100) consists of several stages performed by at least one processor.
  • the machine learning model is inputted with data containing information on at least releases of software products that are in development status prior to acceptance testing.
  • the data may also contain information about: - release tickets in the development task management system (number, type, importance, status, creation time, time taken to work, time marked as resolved, list of dependent tickets and types of dependencies, list of dependent tickets and types of dependencies, responsible agile team, responsible team member)
  • the received data is processed using a machine learning (ML) model, for example, but not limited to, using a machine learning algorithm based on a random forest classifier (English, random forest).
  • ML machine learning
  • the machine learning algorithm performs:
  • step (103) separating the imported data into categorical and numerical variables
  • step (104) the transformation of the obtained variables, which performs the vectorization of categorical variables and the normalization of numerical variables;
  • step (105) the concatenation of the transformed variables and the construction on their basis of a vector corresponding to the evaluated releases that are in statuses preceding the acceptance tests;
  • step (106) classification using the obtained vector of each release with the assignment of the degree of probability of occurrence of critical cybersecurity defects in the acceptance tests of product releases.
  • the claimed technical solution provides a new opportunity for automated assessment of cybersecurity risk levels generated by the activities of product agile teams, and their classification into those that comply with high, medium and low cybersecurity requirements when developing software products, allows you to automatically generate a list of releases, sorted by the degree of cybersecurity risk they generate.
  • FIG. 4 shows an example of a general view of a computing system (300), which provides the implementation of the claimed method or is a part of a computer system, for example, a server, a personal computer, a part of a computing cluster that processes the necessary data to implement the claimed technical solution.
  • a computing system 300
  • a server a personal computer
  • a part of a computing cluster that processes the necessary data to implement the claimed technical solution.
  • the system (300) comprises one or more processors (301), memory facilities such as RAM (302) and ROM (303), input/output interfaces (304), input devices connected by a common information exchange bus / output (1105), and a device for networking (306).
  • processors 301
  • memory facilities such as RAM (302) and ROM (303)
  • input/output interfaces 304
  • input devices connected by a common information exchange bus / output (1105)
  • device for networking (306).
  • the processor (301) may be selected from a range of devices currently widely used, for example, manufacturers such as: IntelTM, AMDTM, AppleTM, Samsung Exynos TM, MediaTEKTM, Qualcomm SnapdragonTM, etc. Under the processor or one of the processors used in the system (300), it is also necessary to take into account the graphics processor, for example, NVIDIA GPU or Graphcore, the type of which is also suitable for full or partial execution of the method, and can also be used to train and apply machine learning models in various information systems.
  • the graphics processor for example, NVIDIA GPU or Graphcore, the type of which is also suitable for full or partial execution of the method, and can also be used to train and apply machine learning models in various information systems.
  • RAM (302) is a random access memory and is designed to store machine-readable instructions executable by the processor (301) to perform the necessary data logical processing operations.
  • the RAM (302) typically contains the executable instructions of the operating system and associated software components (applications, program modules, etc.). In this case, the RAM (302) may be the available memory of the graphics card or graphics processor.
  • a ROM (303) is one or more persistent storage devices such as a hard disk drive (HDD), a solid state drive (SSD), flash memory (EEPROM, NAND, etc.), optical storage media ( CD-R/RW, DVD-R/RW, BlueRay Disc, MD), etc.
  • I/O interfaces are used to organize the operation of system components (300) and organize the operation of external connected devices.
  • the choice of appropriate interfaces depends on the particular design of the computing device, which can be, but not limited to: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232, etc.
  • various means (305) of I/O information are used, for example, a keyboard, a display (monitor), a touch screen, a touchpad, a joystick, a mouse, a light pen, a stylus, touch panel, trackball, speakers, microphone, augmented reality, optical sensors, tablet, indicator lights, projector, camera, biometric identification tools (retinal scanner, fingerprint scanner, voice recognition module), etc.
  • the network communication means (306) provides data transmission via an internal or external computer network, for example, an Intranet, Internet, LAN, and the like.
  • an Intranet for example, an Intranet, Internet, LAN, and the like.
  • one or more means (306) can be used, but not limited to: Ethernet card, GSM modem, GPRS modem, LTE modem, 5G modem, satellite communication module, NFC module, Bluetooth and / or BLE module, Wi-Fi module and others

Abstract

The inventions relate to an automated method and system for assessing with the aid of machine learning algorithms the likelihood of critical cybersecurity defects occurring during the acceptance testing of product releases. By means of a processor, data is obtained which contains information about software product releases that are in development statuses preceding acceptance testing. The data obtained is processed using a machine learning model. This processing step entails: separating the imported data into categorical and numerical variables; transforming the obtained variables, with vectorization of the categorical variables and normalization of the numerical variables; concatenating the transformed variables and constructing on the basis thereof a vector that corresponds to releases for assessment which are in development statuses preceding acceptance testing; classifying each release with the aid of said vector while indicating the degree of likelihood of critical cybersecurity defects occurring during the acceptance testing of the product releases in order to increase the speed and accuracy of assessing the likelihood of critical cybersecurity defects occurring during the acceptance testing of the product releases.

Description

ОЦЕНКА ВЕРОЯТНОСТИ ВОЗНИКНОВЕНИЯ КРИТИЧЕСКИХ ДЕФЕКТОВ ПО КИБЕРБЕЗОПАСНОСТИ ASSESSMENT OF THE PROBABILITY OF CRITICAL DEFECTS IN CYBER SECURITY
ОБЛАСТЬ ТЕХНИКИ FIELD OF TECHNOLOGY
[0001] Заявленное техническое решение в общем относится к области вычислительной техники, а в частности к автоматизированному способу и системе оценки вероятности возникновения критических дефектов по кибербезопасности на приемосдаточных испытаниях релизов продуктов с помощью алгоритмов машинного обучения. [0001] The claimed technical solution generally relates to the field of computer technology, and in particular to an automated method and system for assessing the probability of occurrence of critical cybersecurity defects in acceptance tests of product releases using machine learning algorithms.
УРОВЕНЬ ТЕХНИКИ BACKGROUND OF THE INVENTION
[0002] Разработка программного обеспечения для крупных финансовых организаций (например, банков) всегда трудоемкий и кропотливый труд. Кроме того, при разработке программного продукта необходимо учесть все риски возникновения дефектов кибербезопасности. Для данных проверок привлекаются эксперты по кибербезопасности, которые вручную проверяют наличие критических дефектов в разрабатываемом программном продукте. Эксперты кибербезопасности, работающие с командами разработчиков (Agile-командами), разрабатывающими банковские продукты, могут привлекаться к подготовке релиза на разных этапах: идея, проектирование, кодирование, тестирование, приемо-сдаточные испытания. Чем раньше эксперт будет привлечен к подготовке релиза, тем менее трудоемко для команды выполнение требований кибербезопасности и ниже риски кибербезопасности. Однако далеко не всегда есть возможность привлечь экспертов на ранних этапах. В случае обнаружения серьезных нарушений требований кибербезопасности на испытаниях, эксперт кибербезопасности указывает соответствующее критическое замечание в протоколе испытаний, что запрещает команде внедрять релиз в промышленной среде. Подобные ситуации увеличивают время разработки продуктов. [0002] Software development for large financial institutions (eg, banks) is always time-consuming and painstaking work. In addition, when developing a software product, it is necessary to take into account all the risks of cybersecurity defects. For these checks, cybersecurity experts are involved, who manually check for critical defects in the developed software product. Cybersecurity experts working with development teams (Agile teams) developing banking products can be involved in the preparation of a release at different stages: idea, design, coding, testing, acceptance testing. The sooner an expert is involved in the preparation of the release, the less time consuming it is for the team to meet the cybersecurity requirements and the lower the cybersecurity risks. However, it is not always possible to attract experts at an early stage. In the event that serious violations of cybersecurity requirements are found during testing, the cybersecurity expert indicates the corresponding critical remark in the test report, which prohibits the team from implementing the release in a production environment. Situations like this increase product development time.
[0003] Привлечение эксперта кибербезопасности исключительно на приемосдаточные испытания в условиях большого числа синхронных agile-спринтов у разных команд и неосведомленности эксперта о реализации в релизах функций по кибербезопасности влекут существенные пики в нагрузке на экспертов, что приводит к увеличению времени проверки и как следствие происходит сдвиг релиза программного продукта. [0004] Из уровня техники известен патент US 8631384В2 “Creating a test progression plan”, патентообладатель: IBM, опубликовано: 01.12.2011. В данном решении описывается автоматизированный процесс составления планов тестирования программных продуктов. Известное решение обеспечивает автоматическое создание плана выполнения теста программного обеспечения путем вычисления для каждой единицы периода тестирования х усилий по выполнению тестовых блоков АТТх и усилий по завершению выполнения тестового блока ССх. В вычислении вводятся три переменные, характеризующие стратегию тестирования: эффективность, которая представляет эффективность группы тестирования, коэффициент плотности дефектов и значение коэффициента проверки. Выбирая стратегию тестирования, менеджер тестов определяет значения трех переменных, которые влияют на план развития. Во время выполнения теста кумулятивная кривая «попытка» значений АТТх и кумулятивная кривая «завершение» значений ССх позволяют менеджеру тестирования сравнить уже предпринятые усилия с ожидаемыми усилиями, предпринятыми для испытательных блоков, которые были предприняты и для испытательных единиц, которые были закончены, то есть, когда дефекты, найденные в коде, были исправлены. [0003] Engaging a cybersecurity expert exclusively for acceptance tests in the face of a large number of synchronous agile sprints for different teams and the expert’s ignorance about the implementation of cybersecurity functions in releases entail significant peaks in the load on experts, which leads to an increase in verification time and, as a result, there is a shift release of the software product. [0004] The prior art patent US 8631384B2 “Creating a test progression plan”, patent holder: IBM, published: 12/01/2011. This solution describes an automated process for compiling test plans for software products. The known solution provides for the automatic creation of a software test execution plan by calculating for each unit of the testing period x the efforts to complete the test blocks ATTX and the efforts to complete the execution of the test block CCx. The calculation introduces three variables that characterize the testing strategy: efficiency, which represents the effectiveness of the testing group, the defect density coefficient, and the value of the verification coefficient. When choosing a test strategy, the test manager determines the values of three variables that affect the development plan. During test execution, the cumulative "attempt" curve of the ATTX values and the cumulative "completion" curve of the CCx values allow the test manager to compare the efforts already made with the expected efforts made for the test blocks that have been taken and for the test units that have been completed, i.e., when the defects found in the code were fixed.
[0005] Недостатком известного решения в данной области техники является отсутствие возможности автоматизированной оценки вероятности возникновения критических дефектов по кибербезопасности на приемо-сдаточных испытаниях релизов продуктов. [0005] The disadvantage of the known solution in this field of technology is the lack of the possibility of automated assessment of the probability of occurrence of critical cybersecurity defects on acceptance tests of product releases.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ DISCLOSURE OF THE INVENTION
[0006] В заявленном техническом решении предлагается новый подход к оценке вероятности возникновения критических дефектов по кибербезопасности на приемосдаточных испытаниях релизов продуктов. В данном решении используется алгоритм машинного обучения, который позволяет автоматизировать процесс проверки релизов на критические дефекты по кибербезопасности и с высокой точностью оценивает их возникновение. [0006] The claimed technical solution proposes a new approach to assessing the probability of occurrence of critical cybersecurity defects during acceptance testing of product releases. This solution uses a machine learning algorithm that automates the process of checking releases for critical cybersecurity defects and assesses their occurrence with high accuracy.
[0007] Таким образом, решается техническая проблема автоматизированной оценки вероятности возникновения критических дефектов по кибербезопасности на приемосдаточных испытаниях релизов продуктов. [0007] Thus, the technical problem of automated assessment of the probability of occurrence of critical cybersecurity defects during acceptance tests of product releases is solved.
[0008] Техническим результатом, достигающимся при решении данной проблемы, является повышение скорости и точности оценки вероятности возникновения критических дефектов по кибербезопасности на приемо-сдаточных испытаниях релизов продуктов. [0008] The technical result achieved in solving this problem is to increase the speed and accuracy of estimating the probability of occurrence critical cybersecurity defects during product release acceptance tests.
[0009] Указанный технический результат достигается благодаря осуществлению компьютерно-реализуемого способа оценки вероятности возникновения критических дефектов по кибербезопасности на приемо-сдаточных испытаниях релизов продуктов, выполняемого с помощью, по меньшей мере, одного процессора и содержащего этапы, на которых: [0009] The specified technical result is achieved due to the implementation of a computer-implemented method for assessing the probability of occurrence of critical cybersecurity defects in acceptance tests of product releases, performed using at least one processor and containing the steps at which:
- получают данные, содержащие информацию, по меньшей мере, о релизах программных продуктов, находящихся в статусах разработки, предшествующих приемо-сдаточным испытаниям; - receive data containing information, at least, about releases of software products that are in development statuses preceding acceptance tests;
- осуществляют обработку полученных данных с помощью модели машинного обучения (МО), причем в ходе указанной обработки выполняют: о разделение импортированных данных на категориальные и численные переменные; о преобразование полученных переменных, при котором выполняется векторизация категориальных переменных и нормализация численных переменных; о конкатенацию преобразованных переменных и построение на их основе вектора, соответствующего оцениваемым релизам, находящимся в статусах, предшествующих приемо-сдаточным испытаниям; о классификацию с помощью полученного вектора каждого релиза с присвоением степени вероятности возникновения критических дефектов по кибербезопасности на приемо-сдаточных испытаниях релизов продуктов. - carry out the processing of the received data using a machine learning (ML) model, and in the course of this processing, the following is performed: o separation of the imported data into categorical and numerical variables; o transformation of the obtained variables, which performs vectorization of categorical variables and normalization of numerical variables; o concatenation of the transformed variables and construction on their basis of a vector corresponding to the evaluated releases that are in the statuses preceding the acceptance tests; o classification using the obtained vector of each release with the assignment of the degree of probability of occurrence of critical cybersecurity defects during acceptance tests of product releases.
[0010] В одном из частных вариантов реализации способа обработка полученных данных осуществляется с помощью модели машинного обучения на базе классификатора случайного леса (random forest). [0010] In one of the private embodiments of the method, the processing of the received data is carried out using a machine learning model based on a random forest classifier.
[ООП] В другом частном варианте реализации способа модель МО предварительно обучают на исторических данных о получении критических дефектов по кибербезопасности на приемо-сдаточных испытаниях релизов программных продуктов. [OOP] In another particular embodiment of the method, the MO model is pre-trained on historical data on the receipt of critical cybersecurity defects on acceptance tests of software product releases.
[0012] В другом частном варианте реализации способа обработка полученных данных осуществляется с помощью ансамбля нейронных сетей. [0012] In another particular embodiment of the method, the processing of the received data is carried out using an ensemble of neural networks.
[0013] В другом частном варианте реализации способа получаемые данные дополнительно содержат информацию о записях о задачах категории релиз в системе управления задачами на разработку, включающую в себя: номер, тип, важность, статус, время создания, время взятия в работу, время отметки как решенного, список зависимых записей о задачах и типы зависимостей, список зависящих записях о задачах и типы зависимостей. [0013] In another particular embodiment of the method, the received data additionally contains information about records about tasks of the release category in the system task management for development, including: number, type, importance, status, creation time, time taken to work, time marked as solved, list of dependent task records and dependency types, list of dependent task records and dependency types.
[0014] В другом частном варианте реализации способа получаемые данные дополнительно содержат информацию о количестве критических дефектов по кибербезопасности, выявленных на приемо-сдаточных испытаниях всех предыдущих релизов программных продуктов. [0014] In another particular embodiment of the method, the data obtained additionally contains information on the number of critical cybersecurity defects identified during acceptance tests of all previous releases of software products.
[0015] Кроме того, заявленный технический результат достигается за счет системы оценки вероятности возникновения критических дефектов по кибербезопасности на приемо-сдаточных испытаниях релизов продуктов содержащей: [0015] In addition, the claimed technical result is achieved through a system for assessing the probability of occurrence of critical cybersecurity defects during acceptance tests of product releases containing:
- по меньшей мере один процессор; - at least one processor;
- по меньшей мере одну память, соединенную с процессором, которая содержит машиночитаемые инструкции, которые при их выполнении по меньшей мере одним процессором обеспечивают выполнение способа оценки вероятности возникновения критических дефектов по кибербезопасности на приемо-сдаточных испытаниях релизов продуктов. - at least one memory coupled to the processor, which contains machine-readable instructions, which, when executed by at least one processor, provide a method for assessing the probability of occurrence of critical cybersecurity defects on acceptance tests of product releases.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ BRIEF DESCRIPTION OF THE DRAWINGS
[0016] Признаки и преимущества настоящего изобретения станут очевидными из приводимого ниже подробного описания изобретения и прилагаемых чертежей. [0016] The features and advantages of the present invention will become apparent from the following detailed description of the invention and the accompanying drawings.
[0017] Фиг. 1 иллюстрирует блок-схему выполнения заявленного способа. [0017] FIG. 1 illustrates a block diagram of the claimed method.
[0018] Фиг. 2 иллюстрирует ROC-кривую (кривая ошибок) для классификатора релизов, основанного на случайном лесе. [0018] FIG. 2 illustrates the ROC curve (error curve) for a release classifier based on a random forest.
[0019] Фиг. 3 иллюстрирует матрицу ошибок (без нормализации) для классификатора релизов, основанного на случайном лесе. [0019] FIG. 3 illustrates the error matrix (without normalization) for a release classifier based on a random forest.
[0020] Фиг. 4 иллюстрирует пример общего вида вычислительной системы, которая обеспечивает реализацию заявленного решения. [0020] FIG. 4 illustrates an example of a general view of a computing system that provides the implementation of the claimed solution.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ IMPLEMENTATION OF THE INVENTION
[0001] Ниже будут описаны понятия и термины, необходимые для понимания данного технического решения. [0002] Модель в машинном обучении (МО) - совокупность методов искусственного интеллекта, характерной чертой которых является не прямое решение задачи, а обучение в процессе применения решений множества сходных задач. [0001] Concepts and terms necessary for understanding this technical solution will be described below. [0002] A model in machine learning (ML) is a set of artificial intelligence methods, the characteristic feature of which is not the direct solution of a problem, but learning in the process of applying solutions to many similar problems.
[0003] F-1 мера представляет собой совместную оценку точности и полноты. [0003] The F-1 measure is a joint score of precision and recall.
[0004] ROC-кривая - графическая характеристика качества бинарного классификатора, отражающая зависимость доли истинно-положительных классификаций от доли ложно-положительных классификаций при варьировании порога решающего правила. [0004] ROC-curve - a graphical characteristic of the quality of a binary classifier, reflecting the dependence of the proportion of true-positive classifications on the proportion of false-positive classifications when the threshold of the decision rule is varied.
[0005] Матрица ошибок - это способ разбить классифицируемые объекты на четыре категории в зависимости от комбинации реального класса и ответа классификатора. [0005] The error matrix is a way to break classified objects into four categories depending on the combination of the actual class and classifier response.
[0006] Коннекторы - программные компоненты, осуществляющие сбор данных от источников информации (Система управления задачами /Система для совместной работы над релизами /Система управления версиями /Система управления проектами /Система управления сервисами предприятия /и др .) и приведение данных к необходимым структуре и формату. [0006] Connectors are software components that collect data from information sources (Task Management System / Release Collaboration System / Version Control System / Project Management System / Enterprise Service Management System / etc.) and bring the data to the required structure and format.
[0007] Хранилище - система для хранения больших объемов собранных и обработанных коннекторами данных, а также генерируемой иными компонентами системы. [0007] Storage - a system for storing large amounts of data collected and processed by connectors, as well as generated by other components of the system.
[0008] Данное техническое решение может быть реализовано на компьютере, в виде автоматизированной информационной системы (АИС) или машиночитаемого носителя, содержащего инструкции для выполнения вышеупомянутого способа. [0008] This technical solution can be implemented on a computer, in the form of an automated information system (AIS) or a machine-readable medium containing instructions for performing the above method.
[0009] Техническое решение может быть реализовано в виде распределенной компьютерной системы. [0009] The technical solution can be implemented as a distributed computer system.
[0010] В данном решении под системой подразумевается компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, чётко определённую последовательность вычислительных операций (действий, инструкций).[0010] In this solution, a system means a computer system, a computer (electronic computer), CNC (numerical control), PLC (programmable logic controller), computerized control systems and any other devices capable of performing a given, well-defined sequence of computational operations (actions, instructions).
[ООП] Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы)/ [0012] Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройства хранения данных, например таких устройств, как оперативно запоминающие устройства (ОЗУ) и/или постоянные запоминающие устройства (ПЗУ). В качестве ПЗУ могут выступать, но, не ограничиваясь, жесткие диски (HDD), флеш-память, твердотельные накопители (SSD), оптические носители данных (CD, DVD, BD, MD и т.п.) и др. [OOP] A command processing device is an electronic unit or an integrated circuit (microprocessor) that executes machine instructions (programs) / [0012] The instruction processor reads and executes machine instructions (programs) from one or more storage devices, such as random access memory (RAM) and/or read only memory (ROM). ROM can be, but not limited to, hard disk drives (HDD), flash memory, solid state drives (SSD), optical storage media (CD, DVD, BD, MD, etc.), etc.
[0013] Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд. [0013] A program is a sequence of instructions intended to be executed by a computer control device or command processing device.
[0014] Обучение модели МО производится на заранее размеченных данных. Всего был доступен на момент создания модели 431 релиз, созданный в заданный временной диапазон, например, 5-6 месяцев. Для оценки качества модели набор данных был разбит на 2 части: тренировочную и контрольную выборки. Разбиение происходило следующим образом (сортировка и выбор для теста последних обращений (тикетов) по дате создания обусловлена особенностями задачи): внутри набора данных релизные тикеты группировались по проектам в системе управления задачами, например, Jira (htps ://ru. wikipedia.org/wiki/Jira), и сортировались по дате создания; последние 20% внутри каждой группы (по каждому проекту) откладывались для контрольной выборки, если в группе было более 2 тикетов; в контрольную и тестовую выборки добавлялось по одному тикету, если тикетов было 2. [0014] Training of the MO model is performed on pre-labeled data. A total of 431 releases were available at the time the model was created, created within a given time range, for example, 5-6 months. To assess the quality of the model, the data set was divided into 2 parts: training and control samples. The splitting took place as follows (sorting and selection for the test of the latest hits (tickets) by the date of creation is due to the peculiarities of the task): within the data set, release tickets were grouped by projects in a task management system, for example, Jira (htps ://ru. wikipedia.org/ wiki/Jira) and sorted by creation date; the last 20% within each group (for each project) were set aside for the control sample if there were more than 2 tickets in the group; one ticket was added to the control and test samples if there were 2 tickets.
[0015] Взвешенная f-1 мера для классификатора составляет около 0.8, точность - около 0.8. [0015] The weighted f-1 score for the classifier is about 0.8, the accuracy is about 0.8.
[0016] На Фиг. 2 приведена ROC-кривая (кривая ошибок) для классификатора релизов, основанного на случайном лесе. [0016] In FIG. Figure 2 shows the ROC curve (error curve) for a release classifier based on a random forest.
[0017] На Фиг. 3 приведена матрица ошибок (без нормализации) для классификатора релизов, основанного на случайном лесе [0017] In FIG. 3 shows the error matrix (without normalization) for a release classifier based on a random forest
[0018] Коннекторы получают необходимую информацию источников (путем загрузки файлов, запросов в БД, к API, анализа web-страниц, чтения журналов событий и т.п.), сохранить ее в хранилище. [0019] Коннекторы выделяют из загруженных данных значимые параметры для дальнейших вычислений, выполняют их предобработку и формируют в хранилище таблицу значений указанных параметров (или признаков) по релизам со следующими столбцами: [0018] Connectors obtain the necessary source information (by downloading files, queries to the database, to the API, parsing web pages, reading event logs, etc.), store it in storage. [0019] Connectors extract significant parameters from the downloaded data for further calculations, perform their preprocessing and form in the storage a table of values of the specified parameters (or features) by releases with the following columns:
Число тикетов типа Bug в релизе; The number of Bug tickets in the release;
Число тикетов типа Feature в релизе; The number of Feature type tickets in the release;
Число тикетов с приоритетом minor в релизе; Number of minor priority tickets in the release;
Число тикетов с приоритетом major в релизе; The number of major priority tickets in the release;
Число тикетов с приоритетом critical в релизе; The number of tickets with priority critical in the release;
Число коммуникаций между членами команды и экспертом кибербезопасности; Number of communications between team members and the cybersecurity expert;
Среднее время от создания тикета типа Release до отметки его как решенного; Average time from creating a Release type ticket to marking it as resolved;
Среднее время от создания тикета типа Feature до отметки его как решенного; Average time from creating a Feature ticket to marking it as resolved;
Среднее время от создания тикета типа Bug до отметки его как решенного; Average time from creating a Bug ticket to marking it as resolved;
Число выпущенных продуктовой командой релизов; The number of releases released by the product team;
Число любых тикетов в одном Epic; The number of any tickets in one Epic;
Набор параметров (или признаков), представляющих собой произведения значений всех пар, указанных выше параметров (или признаков); A set of parameters (or features) that are products of the values of all pairs of the above parameters (or features);
Количество критичных замечаний по всем релизам продукта в прошлом. The number of critical comments on all product releases in the past.
[0020] Алгоритм машинного обучения на основе содержащихся в таблице значений параметров релизов осуществляет маркировку присутствующих в ней релизов на несущие в высокой, средней и низкой степени риски кибербезопасности. Результаты маркировки сохраняются в виде таблицы в хранилище. [0020] Based on the values of the release parameters contained in the table, the machine learning algorithm marks the releases present in it as carrying high, medium, and low cybersecurity risks. Marking results are stored as a table in the repository.
[0021] Способ оценки вероятности возникновения критических дефектов по кибербезопасности на приемо-сдаточных испытаниях релизов продуктов (100) состоит из нескольких этапов, выполняемых по меньшей мере одним процессором. [0021] The method for assessing the probability of occurrence of critical cybersecurity defects on acceptance tests of product releases (100) consists of several stages performed by at least one processor.
[0022] На этапе (101) на вход модели машинного обучения подаются данные, содержащие информацию, по меньшей мере, о релизах программных продуктов, находящихся в статусах разработки, предшествующих приемо-сдаточным испытаниям. Также данные могут содержать информацию о: - тикетах релизов в системе управления задачами на разработку (номер, тип, важность, статус, время создания, время взятия в работу, время отметки как решенного, список зависимых тикетов и типы зависимостей, список зависящих тикетов и типы зависимостей, ответственная agile-команда, ответственный член команды); [0022] At step (101), the machine learning model is inputted with data containing information on at least releases of software products that are in development status prior to acceptance testing. The data may also contain information about: - release tickets in the development task management system (number, type, importance, status, creation time, time taken to work, time marked as resolved, list of dependent tickets and types of dependencies, list of dependent tickets and types of dependencies, responsible agile team, responsible team member)
- количестве критических дефектов не по кибербезопасности, выявленных на приемо-сдаточных испытаниях всех предыдущих релизов программных продуктов;- the number of critical non-cybersecurity defects identified during acceptance testing of all previous releases of software products;
- данных об agile-командах и их членах, разрабатывающих релизы: команды, сотрудники-члены команд, их роли в команде, должности, пройденное обучение, сданные экзамены и их результаты, данные о предшествующих переходах сотрудников между agile-командам и изменение должностей, перечень релизов, над которыми работали сотрудники; - data about agile teams and their members developing releases: teams, team members, their roles in the team, positions, training completed, exams passed and their results, data on previous transitions of employees between agile teams and changes in positions, a list releases that employees have worked on;
- количестве критических дефектов по кибербезопасности, выявленных на приемосдаточных испытаниях всех предыдущих релизов программных продуктов; - the number of critical cybersecurity defects identified during acceptance testing of all previous releases of software products;
- данных о документации на релизы (ее объем и иерархия страниц, число попыток и даты ее согласовании экспертами кибербезопасности и иными сотрудниками);- data on documentation for releases (its volume and page hierarchy, number of attempts and dates of its approval by cybersecurity experts and other employees);
- данных об исходном коде релизов (использованные языки, количество модулей, объем кода, количество функций, методов, классов, переменных, файлов); - data on the source code of releases (languages used, number of modules, amount of code, number of functions, methods, classes, variables, files);
- данных о кодировании релизов (число попыток сборки, количество возникавших ошибок и предупреждений при попытках сборки, объем кода, отправляемого на сборку, количество функций, методов, классов, переменных, файлов); - release coding data (number of build attempts, number of errors and warnings that occurred during build attempts, the amount of code sent to the build, the number of functions, methods, classes, variables, files);
- данных о тестировании релизов (число попыток прохождения автотестов, нагрузочного и функционального тестирования, объем кода, отправляемого на тестирование, количество функций, методов, классов, переменных, файлов); - data on testing releases (the number of attempts to pass autotests, load and functional testing, the amount of code sent for testing, the number of functions, methods, classes, variables, files);
- данных о прохождении проверок системой статического и динамического анализа на предмет наличия уязвимостей в релизах (число и типы обнаруженных уязвимостей, результаты их отметки разработчиками релизов в системе как true- positive/false-positive, объемы кода, отправляемого на сборку, количество функций, методов, классов, переменных, файлов); данных об обнаруженных после вывода в промышленную эксплуатацию уязвимостях в предыдущих релизах программных продуктов (номер релиза, дата обнаружения, создавший уязвимый код разработчик, тип уязвимости, критичность уязвимости, кто обнаружил уязвимость). - data on passing checks by the system of static and dynamic analysis for the presence of vulnerabilities in releases (the number and types of detected vulnerabilities, the results of their marking by the developers of releases in the system as true-positive/false-positive, the amount of code sent for assembly, the number of functions, methods , classes, variables, files); data on vulnerabilities discovered after the release into commercial operation in previous releases of software products (release number, date detection, the developer who created the vulnerable code, the type of vulnerability, the severity of the vulnerability, who discovered the vulnerability).
[0023] Далее на этапе (102) осуществляется обработка полученных данных с помощью модели машинного обучения (МО), например, но не ограничиваясь, с помощью алгоритма машинного обучения на базе классификатора случайного леса (англ, random forest). [0023] Next, at step (102), the received data is processed using a machine learning (ML) model, for example, but not limited to, using a machine learning algorithm based on a random forest classifier (English, random forest).
[0024] В ходе обработки алгоритм машинного обучения выполняет: [0024] During processing, the machine learning algorithm performs:
- на этапе (103) разделение импортированных данных на категориальные и численные переменные - in step (103) separating the imported data into categorical and numerical variables
- на этапе (104) преобразование полученных переменных, при котором выполняется векторизация категориальных переменных и нормализация численных переменных; - at step (104) the transformation of the obtained variables, which performs the vectorization of categorical variables and the normalization of numerical variables;
- на этапе (105) конкатенацию преобразованных переменных и построение на их основе вектора, соответствующего оцениваемым релизам, находящимся в статусах, предшествующих приемо-сдаточным испытаниям; - at step (105) the concatenation of the transformed variables and the construction on their basis of a vector corresponding to the evaluated releases that are in statuses preceding the acceptance tests;
- на этапе (106) классификацию с помощью полученного вектора каждого релиза с присвоением степени вероятности возникновения критических дефектов по кибербезопасности на приемо-сдаточных испытаниях релизов продуктов. Для соответствующего релизу вектора, вычисляется численная оценка вероятности возникновения дефекта (число от 0 до 1). Далее численной оценке добавляется качественная: высокая/средняя/низкая вероятность (сопоставление происходит в соответствии с диапазонами, например, 0,8-1=высокая). - at step (106) classification using the obtained vector of each release with the assignment of the degree of probability of occurrence of critical cybersecurity defects in the acceptance tests of product releases. For the vector corresponding to the release, a numerical estimate of the probability of a defect is calculated (a number from 0 to 1). Further, a qualitative assessment is added to the numerical assessment: high/medium/low probability (comparison occurs in accordance with the ranges, for example, 0.8-1=high).
[0025] Заявленное техническое решение обеспечивает новую возможность автоматизированной оценки уровней риска кибербезопасности, порождаемых деятельностью продуктовых agile-команд, и их классификации на соблюдающих в высокой, средней и низкой степени требования по кибербезопасности при разработке ими программных продуктов, позволяет автоматически формировать список релизов, отсортированный по степени порождаемого ими риска кибербезопасности. [0025] The claimed technical solution provides a new opportunity for automated assessment of cybersecurity risk levels generated by the activities of product agile teams, and their classification into those that comply with high, medium and low cybersecurity requirements when developing software products, allows you to automatically generate a list of releases, sorted by the degree of cybersecurity risk they generate.
[0026] Использование такого списка экспертом кибербезопасности для приоритезации своих задач, приводит к выявлению рискованных релизов на более ранних стадиях их создания, экономии трудозатрат экспертов кибербезопасности и членов agile- команд при одновременном снижении уровня рисков кибербезопасности предприятия, порождаемых деятельностью продуктовых agile-команд, снижению времени разработки программных продуктов. [0026] The use of such a list by a cybersecurity expert to prioritize their tasks leads to the identification of risky releases at an earlier stage of their creation, saves labor costs for cybersecurity experts and members of agile teams, while reducing the level of enterprise cybersecurity risks, generated by the activities of product agile teams, reducing the development time of software products.
[0027] На Фиг. 4 представлен пример общего вида вычислительной системы (300), которая обеспечивает реализацию заявленного способа или является частью компьютерной системы, например, сервером, персональным компьютером, частью вычислительного кластера, обрабатывающим необходимые данные для осуществления заявленного технического решения. [0027] In FIG. 4 shows an example of a general view of a computing system (300), which provides the implementation of the claimed method or is a part of a computer system, for example, a server, a personal computer, a part of a computing cluster that processes the necessary data to implement the claimed technical solution.
[0028] В общем случае, система (300) содержит объединенные общей шиной информационного обмена один или несколько процессоров (301), средства памяти, такие как ОЗУ (302) и ПЗУ (303), интерфейсы ввода/вывода (304), устройства ввода/вывода (1105), и устройство для сетевого взаимодействия (306). [0028] In general, the system (300) comprises one or more processors (301), memory facilities such as RAM (302) and ROM (303), input/output interfaces (304), input devices connected by a common information exchange bus / output (1105), and a device for networking (306).
[0029] Процессор (301) (или несколько процессоров, многоядерный процессор и т.п.) может выбираться из ассортимента устройств, широко применяемых в настоящее время, например, таких производителей, как: Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK™, Qualcomm Snapdragon™ и т.п. Под процессором или одним из используемых процессоров в системе (300) также необходимо учитывать графический процессор, например, GPU NVIDIA или Graphcore, тип которых также является пригодным для полного или частичного выполнения способа, а также может применяться для обучения и применения моделей машинного обучения в различных информационных системах. [0029] The processor (301) (or multiple processors, multi-core processor, etc.) may be selected from a range of devices currently widely used, for example, manufacturers such as: Intel™, AMD™, Apple™, Samsung Exynos ™, MediaTEK™, Qualcomm Snapdragon™, etc. Under the processor or one of the processors used in the system (300), it is also necessary to take into account the graphics processor, for example, NVIDIA GPU or Graphcore, the type of which is also suitable for full or partial execution of the method, and can also be used to train and apply machine learning models in various information systems.
[0030] ОЗУ (302) представляет собой оперативную память и предназначено для хранения исполняемых процессором (301) машиночитаемых инструкций для выполнение необходимых операций по логической обработке данных. ОЗУ (302), как правило, содержит исполняемые инструкции операционной системы и соответствующих программных компонент (приложения, программные модули и т.п.). При этом, в качестве ОЗУ (302) может выступать доступный объем памяти графической карты или графического процессора. [0030] RAM (302) is a random access memory and is designed to store machine-readable instructions executable by the processor (301) to perform the necessary data logical processing operations. The RAM (302) typically contains the executable instructions of the operating system and associated software components (applications, program modules, etc.). In this case, the RAM (302) may be the available memory of the graphics card or graphics processor.
[0031] ПЗУ (303) представляет собой одно или более устройств постоянного хранения данных, например, жесткий диск (HDD), твердотельный накопитель данных (SSD), флэш- память (EEPROM, NAND и т.п.), оптические носители информации (CD-R/RW, DVD- R/RW, BlueRay Disc, MD) и др. [0031] A ROM (303) is one or more persistent storage devices such as a hard disk drive (HDD), a solid state drive (SSD), flash memory (EEPROM, NAND, etc.), optical storage media ( CD-R/RW, DVD-R/RW, BlueRay Disc, MD), etc.
[0032] Для организации работы компонентов системы (300) и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В (304). Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232 и т.п. [0032] Various types of I/O interfaces (304) are used to organize the operation of system components (300) and organize the operation of external connected devices. The choice of appropriate interfaces depends on the particular design of the computing device, which can be, but not limited to: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232, etc.
[0033] Для обеспечения взаимодействия пользователя с вычислительной системой (300) применяются различные средства (305) В/В информации, например, клавиатура, дисплей (монитор), сенсорный дисплей, тач-пад, джойстик, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п. [0033] To ensure user interaction with the computer system (300), various means (305) of I/O information are used, for example, a keyboard, a display (monitor), a touch screen, a touchpad, a joystick, a mouse, a light pen, a stylus, touch panel, trackball, speakers, microphone, augmented reality, optical sensors, tablet, indicator lights, projector, camera, biometric identification tools (retinal scanner, fingerprint scanner, voice recognition module), etc.
[0034] Средство сетевого взаимодействия (306) обеспечивает передачу данных посредством внутренней или внешней вычислительной сети, например, Интранет, Интернет, ЛВС и т.п. В качестве одного или более средств (306) может использоваться, но не ограничиваться: Ethernet карта, GSM модем, GPRS модем, LTE модем, 5G модем, модуль спутниковой связи, NFC модуль, Bluetooth и/или BLE модуль, Wi-Fi модуль и др. [0034] The network communication means (306) provides data transmission via an internal or external computer network, for example, an Intranet, Internet, LAN, and the like. As one or more means (306) can be used, but not limited to: Ethernet card, GSM modem, GPRS modem, LTE modem, 5G modem, satellite communication module, NFC module, Bluetooth and / or BLE module, Wi-Fi module and others
[0035] Представленные материалы заявки раскрывают предпочтительные примеры реализации технического решения и не должны трактоваться как ограничивающие иные, частные примеры его воплощения, не выходящие за пределы испрашиваемой правовой охраны, которые являются очевидными для специалистов соответствующей области техники. [0035] The submitted application materials disclose preferred examples of the implementation of the technical solution and should not be construed as limiting other, particular examples of its implementation that do not go beyond the scope of the requested legal protection, which are obvious to specialists in the relevant field of technology.

Claims

ФОРМУЛА FORMULA
1. Компьютерно-реализуемый способ оценки вероятности возникновения критических дефектов по кибербезопасности на приемо-сдаточных испытаниях релизов продуктов, выполняемый с помощью, по меньшей мере, одного процессора и содержащий этапы, на которых: 1. A computer-implemented method for assessing the probability of occurrence of critical cybersecurity defects during acceptance tests of product releases, performed using at least one processor and containing the steps at which:
- получают данные, содержащие информацию, по меньшей мере, о релизах программных продуктов, находящихся в статусах разработки, предшествующих приемо-сдаточным испытаниям; - receive data containing information, at least, about releases of software products that are in development statuses preceding acceptance tests;
- осуществляют обработку полученных данных с помощью модели машинного обучения (МО), причем в ходе указанной обработки выполняют: о разделение импортированных данных на категориальные и численные переменные; о преобразование полученных переменных, при котором выполняется векторизация категориальных переменных и нормализация численных переменных; о конкатенацию преобразованных переменных и построение на их основе вектора, соответствующего оцениваемым релизам, находящимся в статусах, предшествующих приемо-сдаточным испытаниям; о классификацию с помощью полученного вектора каждого релиза с присвоением степени вероятности возникновения критических дефектов по кибербезопасности на приемо-сдаточных испытаниях релизов продуктов.- carry out the processing of the received data using a machine learning (ML) model, and in the course of this processing, the following is performed: o separation of the imported data into categorical and numerical variables; o transformation of the obtained variables, which performs vectorization of categorical variables and normalization of numerical variables; o concatenation of the transformed variables and construction on their basis of a vector corresponding to the evaluated releases that are in the statuses preceding the acceptance tests; o classification using the obtained vector of each release with the assignment of the degree of probability of occurrence of critical cybersecurity defects during acceptance tests of product releases.
2. Способ по п.1 характеризующийся тем, что обработка полученных данных осуществляется с помощью модели машинного обучения на базе классификатора случайного леса (random forest). 2. The method according to claim 1, characterized in that the processing of the received data is carried out using a machine learning model based on a random forest classifier (random forest).
3. Способ по п.1 характеризующийся тем, что модель МО предварительно обучают на исторических данных о получении критических дефектов по кибербезопасности на приемо-сдаточных испытаниях релизов программных продуктов. 3. The method according to claim 1, characterized in that the ML model is pre-trained on historical data on the receipt of critical cybersecurity defects during acceptance tests of software product releases.
4. Способ по п.1 характеризующийся тем, что обработка полученных данных осуществляется с помощью ансамбля нейронных сетей. Способ по п.1 характеризующийся тем, что получаемые данные дополнительно содержат информацию о записях о задачах категории релиз в системе управления задачами на разработку, включающую в себя: номер, тип, важность, статус, время создания, время взятия в работу, время отметки как решенного, список зависимых записей о задачах и типы зависимостей, список зависящих записях о задачах и типы зависимостей. Способ по п.1 характеризующийся тем, что получаемые данные дополнительно содержат информацию о количестве критических дефектов по кибербезопасности, выявленных на приемо-сдаточных испытаниях всех предыдущих релизов программных продуктов. Система оценки вероятности возникновения критических дефектов по кибербезопасности на приемо-сдаточных испытаниях релизов продуктов содержащая: 4. The method according to claim 1, characterized in that the processing of the received data is carried out using an ensemble of neural networks. The method according to claim 1, characterized in that the received data additionally contains information about the records of tasks of the release category in the development task management system, including: number, type, importance, status, creation time, time taken to work, time marked as resolved, list of dependent task entries and dependency types, list of dependent task entries and dependency types. The method according to claim 1, characterized in that the data received additionally contain information on the number of critical cybersecurity defects identified during acceptance tests of all previous releases of software products. A system for assessing the probability of occurrence of critical cybersecurity defects during acceptance testing of product releases, which contains:
- по меньшей мере один процессор; по меньшей мере одну память, соединенную с процессором, которая содержит машиночитаемые инструкции, которые при их выполнении по меньшей мере одним процессором обеспечивают выполнение способа по любому из п.п. 1-6. - at least one processor; at least one memory coupled to the processor, which contains machine-readable instructions, which, when executed by at least one processor, perform the method according to any one of paragraphs. 1-6.
PCT/RU2020/000713 2020-09-24 2020-12-16 Assessing the likelihood of critical cybersecurity defects WO2022066039A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU2020131498A RU2745369C1 (en) 2020-09-24 2020-09-24 Method and system for assessing the probability of critical cyber security defects at acceptance tests of product releases
RU2020131498 2020-09-24

Publications (1)

Publication Number Publication Date
WO2022066039A1 true WO2022066039A1 (en) 2022-03-31

Family

ID=75159290

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2020/000713 WO2022066039A1 (en) 2020-09-24 2020-12-16 Assessing the likelihood of critical cybersecurity defects

Country Status (3)

Country Link
EA (1) EA039867B1 (en)
RU (1) RU2745369C1 (en)
WO (1) WO2022066039A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103257921B (en) * 2013-04-16 2015-07-22 西安电子科技大学 Improved random forest algorithm based system and method for software fault prediction
US20170192880A1 (en) * 2016-01-06 2017-07-06 Hcl Technologies Limited Defect prediction
US20180165178A1 (en) * 2013-04-18 2018-06-14 Express Scripts Strategic Development, Inc. Methods and systems for predicting estimation of project factors in software development

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2722692C1 (en) * 2020-02-21 2020-06-03 Общество с ограниченной ответственностью «Группа АйБи ТДС» Method and system for detecting malicious files in a non-isolated medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103257921B (en) * 2013-04-16 2015-07-22 西安电子科技大学 Improved random forest algorithm based system and method for software fault prediction
US20180165178A1 (en) * 2013-04-18 2018-06-14 Express Scripts Strategic Development, Inc. Methods and systems for predicting estimation of project factors in software development
US20170192880A1 (en) * 2016-01-06 2017-07-06 Hcl Technologies Limited Defect prediction

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZHOU TIANCHI ET AL.: "Improving defect prediction with deep forest", INFORMATION AND SOFTWARE TECHNOLOGY, vol. 114, October 2019 (2019-10-01), pages 204 - 216, XP085749772, DOI: 10.1016/j.infsof. 2019.07.00 3 *

Also Published As

Publication number Publication date
EA202092870A1 (en) 2022-03-18
EA039867B1 (en) 2022-03-22
RU2745369C1 (en) 2021-03-24

Similar Documents

Publication Publication Date Title
US20240070487A1 (en) Systems and methods for enriching modeling tools and infrastructure with semantics
US11281708B2 (en) Utilizing a machine learning model to predict metrics for an application development process
US11755319B2 (en) Code development management system
US20210279612A1 (en) Computerized System and Method of Open Account Processing
Jindal et al. Prediction of defect severity by mining software project reports
AU2021203292A1 (en) Utilizing artificial intelligence to predict risk and compliance actionable insights, predict remediation incidents, and accelerate a remediation process
US20220129816A1 (en) Methods and arrangements to manage requirements and controls, and data at the intersection thereof
Chauhan et al. Bug severity classification using semantic feature with convolution neural network
WO2023172155A1 (en) Method for detecting vulnerabilities in software code
RU2745369C1 (en) Method and system for assessing the probability of critical cyber security defects at acceptance tests of product releases
CN112116185A (en) Test risk estimation using historical test data
RU2755606C2 (en) Method and system for classifying data for identifying confidential information in the text
RU2759786C1 (en) Method and system for classifying data for identifying confidential information
US20220374401A1 (en) Determining domain and matching algorithms for data systems
RU2745371C1 (en) Method and a system for prediction of cyber security risks during the development of software products
EA041281B1 (en) METHOD AND SYSTEM FOR FORECASTING CYBER SECURITY RISKS IN THE DEVELOPMENT OF SOFTWARE PRODUCTS
CN113360416A (en) Test data batch generation method and device
RU2790005C1 (en) Method and system for identifying exploited vulnerabilities in the program code
Jindal et al. Mining defect reports for predicting software maintenance effort
US11711257B1 (en) Systems and methods for automating incident severity classification
CN115098865B (en) EEMD and ARMA-based software vulnerability trend prediction method
Jindal et al. Analysis of Software Project Reports for Defect Prediction Using KNN
RU2724799C1 (en) Information processing method for filling data model library and device for its implementation
EA044799B1 (en) METHOD AND SYSTEM FOR IDENTIFYING EXPLOITABLE VULNERABILITIES IN PROGRAM CODE
US20230079815A1 (en) Calculate fairness of machine learning model by identifying and filtering outlier transactions

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20955414

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20955414

Country of ref document: EP

Kind code of ref document: A1