=Paper=
{{Paper
|id=Vol-3035/paper21
|storemode=property
|title=Topical Issues Related to Certification Tests of Information Security Tools
|pdfUrl=https://ceur-ws.org/Vol-3035/paper21.pdf
|volume=Vol-3035
|authors=Vitali V. Varenitca,Alexey S. Markov,Pavel A. Naschokin
}}
==Topical Issues Related to Certification Tests of Information Security Tools==
Topical Issues Related to Certification Tests of Information Security Tools Vitali V. Varenitca1,2, Alexey S. Markov 1,2 and Pavel A. Naschokin2 1 Bauman Moscow State Technical University, 5/1 2nd Baymanskay ul., Moscow, 105005, Russia 2 NPO Echelon, 24 2nd Electrozavodskaya ul., Moscow, 107023, Russia Abstract This paper studies various methods and techniques used to identify defects and vulnerabilities during the certification tests of information security tools. The conclusion was drawn on the relevance and priority of the examination of open source web applications. The paper cites the study and demonstrates the drawbacks of directive methods used to find the vulnerabilities and undocumented features in software products. The author’s detailed statistics was provided demonstrating the identified vulnerabilities by the classes of computer attacks, information security tool manufacturers, programming environments and vulnerability identification procedures. Original test methods were compared with well-known directive test procedures. The relevance of introducing the concept of secure software development is shown. Recommendations are given on improving the security of software tools used for information protection. Keywords Certification tests, information security tools, vulnerability identification methods, secure software code 1. Introduction The issue of identifying vulnerabilities in software is certainly not new, but it has not been solved definitively and is extremely topical at the present time [1]. The very presence of vulnerabilities in software creates the main class of threats in contemporary computer systems and networks (e.g. refer to [2-8]). However, the issues of vulnerability identification take on particular importance in the course of certification tests of information security tools (IST) because this procedure is mandatory [9-13]. Moreover, the vulnerability analysis of IST software (SW) is now becoming one of the main activities in the development and support of secure software products [14-21]. As for IST certification, this work is performed both during certification for compliance with the requirements of security profiles approved by the Russian Federal Service for Technical and Export Control (FSTEK), which explicitly include the requirements of trust family Vulnerability Analysis, and during the tests for compliance with the requirements of specifications or traditional regulatory documents [13]. The conceptual approach to vulnerability analysis recommended at the present time by FSTEK of Russia suggests the combined use of approaches described in ISO/IEC 18045 and ISO/IEC TR 20004 [22-24]. In general, the procedure involves the following steps [25]: BIT-2021: XI International Scientific and Technical Conference on Secure Information Technologies, April 6-7, 2021, Moscow, Russia EMAIL: www@cnpo.ru (A.1); a.markov@bmstu.ru (A. 2); pavel-vivos@yandex.ru (A. 3) ORCID: 0000-0003-0111-7377 (A. 2) © 2021 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). CEUR Workshop Proceedings (CEUR-WS.org) 193 1. Identification of known (confirmed) vulnerabilities of the object to be certified. During this step the experts of test laboratory search for any known (confirmed) vulnerabilities in public information sources such as the Data Bank of Information Security Threats of FSTEK of Russia or CVE list [26, 27]. 2. Identification of vulnerabilities of the object to be certified not published previously. During this step the experts of test laboratory analyze the data on the object to be certified (source code, available documentation, information from open sources) to define the list of potential vulnerabilities of the object to be certified and to develop and perform the penetration test for each identified vulnerability in order to determine the assumption accuracy. Considering that the requirements to perform the vulnerability analysis is relatively new to Russian certification systems for information security tools, currently there are almost no procedural guidelines for test laboratories which could be used to perform an effective analysis of web application vulnerabilities. This determines the relevance of the task of developing and improving the procedures for vulnerability analysis during certification tests for compliance with the information security requirements and during the assessment of compliance with the requirements of modern security standards. 2. Adapted procedure for web application vulnerability analysis The scope of this study included the approbation of combined procedure for software vulnerability analysis based on the methods suggested in studies [25, 28] and the requirements of modern information security (IS) standards, as well as formulation of recommendations for experts certified by the test laboratory. The figures below (Figure 1 – Figure 3) demonstrate the main stages of the suggested procedure. Figure 1: Stages 1 and 2 of the procedure for web application vulnerability analysis The stages and steps of the adapted procedure for software vulnerability analysis are briefly described below. Stage 1. Acquisition of data to perform the vulnerability analysis. Step 1. Identification of the minimum set of initial data: • Documentation for the assessed object; • Test-cases developed by the manufacturer to perform internal tests at the stages of assessed object life cycle. 194 Step 2. Analysis of identified data. Based on the available data, the expert shall analyze the documentation for the assessed object. Examination of the documents makes it possible to understand what technologies and software tools were used to design the product under consideration and allows forming a minimum set of conditions required for correct operation of the assessed technical tool. The investigation can be divided into the components described below. 1. Search for identification attributes of assessed object. 2. Search for information about the applied third-party technical tools which are necessary for the assessed object operation. 3. Search for information about the borrowed components of the assessed object. 4. Identification of the list of the assessed object configurations and operational environments. 5. Identification of the protection mechanisms used for the assessed object. Step 3. Examination of publicly available information sources. The expert uses the information obtained at the previous steps to analyze the open information sources (regulatory database) for availability of attack patterns for known vulnerabilities in the software components of operational environment and products similar to the assessed object, vulnerabilities in configurations that enable the assessed object operation, information about any errors during interaction of third-party technical tools with the assessed object or similar products. The analysis results serve as the basis for preparation of vulnerabilities list defined as potential vulnerabilities of the assessed object. Step 4. Identification of the set of source texts used to compile the object to be certified. During this step, the experts of test laboratory check the software source texts presented for certification for completeness and lack of redundancy in order to define the exact set of source texts involved in the software compilation. While performing this step, the experts of test laboratory use the information generated by the building system and various tools (file system monitors, file system audit programs, etc.). The main purpose of this step is to document the list of source text files used to compile the certified object. Step 5. Static signature analysis [30, 31] with respect to the set of source texts documented at step 4. The static analyzer used shall be able to search for potentially hazardous constructs in the source texts and form this list while assigning the CWE database identifier to each potentially hazardous construct identified. Step 6. Preliminary analysis of the assessed object. The preliminary analysis is carried out to: • Clarify the data obtained during the documentation examination; • Assess the documentation submitted to perform tests for compliance with the actually studied product; • Perform test actions that allow identifying incorrect operation of the assessed object; • Perform the test actions directed to the assessed object which allow identifying special attributes of the assessed object demonstrating the potential presence of certain varieties of code defects (vulnerabilities); • Define any additional undocumented ways of action on the assessed object which are potentially able to compromise the data integrity/availability/confidentiality. The preliminary analysis allows the expert to define the product purpose more accurately and understand which of the available skills might be of use in the further product analysis, as well as to develop the higher quality penetration tests. The data acquired during the preliminary analysis can influence the results obtained during the analysis of the assessed object documentation and sets of texts provided by the developer. While examining the information available in the open sources (regulatory database) the expert shall use the data obtained during the preliminary analysis and form the additional list of potential vulnerabilities in the assessed object. Moreover, in the course of preliminary analysis the expert shall use the data obtained from the static analysis of assessed object code and the results of security scanner operation. While performing the preliminary analysis, the expert shall analyze the results of static analyzer and security scanner operation thus minimizing false operations. The expert shall use the results 195 of preliminary analysis and documentation analysis to develop the data required for the second stage of this procedure. Stage 2. Preparation of the original list of potential vulnerabilities in the assessed object Step 7. Evaluation of the data obtained at stage 1. Step 8. Preparation of the list of potential vulnerabilities in the assessed object based on the findings of stage 1. Step 9. Identification of suspicious operations performed by the assessed object. Assessment of identified incidents for potential impact on the web application security (e.g. [10, 25, 32, 33]). Step 10. Preliminary fuzzing tests. This is a nonintelligent type of fuzzing tests aimed to obtain specified inputs for dynamic tests [20, 35]. Step 11. Processing of the obtained list of potentially hazardous constructs using the filtration criteria defined in section 6.1.2.1 of standard ISO/IEC TR 20004. Step 12. Preparation of the list of attack patterns relevant for the software under study using the sequence of actions defined in section 6.1 of ISO/IEC TR 20004. Stage 13. Creation of potential vulnerability/attack pattern pairs. Processing of the lists of potential vulnerabilities and attack patterns created at stage 2 using the sequences in section 6.1.2.2 of ISO/IEC TR 20004. Stage 3. Dynamic analysis of the assessed object code. Step 14. Identification of the code sections required to perform the code instrumentation. Step 15. Writing of instrumentation and profiling functions, embedding of the instrumentation and profiling functions into the code. Step 16. Development of the test set of input data. Step 17. Dynamic analysis of the code. Identification of suspicious operations of the functions tested. Preparation of the list of potential vulnerabilities. Step 18. Processing of the obtained list of potentially hazardous constructs using the filtration criteria defined in section 6.1.2.1 of ISO/IEC TR 20004. Comparison with the list created at stage 2 of this procedure. Stage 4. Update of the penetration test set based on the completed dynamic analysis of the assessed object. Step 19. Preparation of the list of attack patterns relevant for the software under study using the sequence of actions defined in section 6.1 of ISO/IEC TR 20004. Update of the tests obtained in step 10 of this procedure. Figure 2: Stages 3 and 4 of the software vulnerability analysis methodology Stage 5. Penetration testing. 196 Step 20. Analysis of the tests performed by the web application developers. Test optimization and improvement. Step 21. Development of penetration tests based on the developed list of potential vulnerabilities and attack patterns. Step 22. Installation of the test bench and performance of penetration tests using the developed tests. If new potential vulnerabilities are identified during the tests, new tests should added to the list of penetration tests. If it is found out during the test that it is necessary to specify the penetration test or extend it with any additional activities, the test should be corrected and repeated. Step 23. Correction of the test set taking into account the changed set of input data. Repeated performance of corrected tests, as necessary. Step 24. Determination of the relevant software vulnerabilities based on the penetration test results and preparation of reports. Figure 3: Stage 5 of the software vulnerability analysis methodology 3. Experimentation Experimental research of the adapted procedure for software vulnerability analysis was performed by the experts of certified test laboratory in 2019-2021 using the research facilities of NPO Echelon. The following objects were tested: • The software subject to theme-based and certification tests in a certified test laboratory (group N1, 157 assessed objects); • Open-source software (group N2, 91 assessed objects out of 157). The experts of test laboratory performed the signature analysis of source texts using AppChecker (developed by NPO Echelon). The experts of test laboratory carried out the penetration tests using the recommendations provided by various thematic resources (CAPEC, OWASP) and the tool Scanner-VS (developed by NPO Eсhelon) [35]. The test benches used for penetration tests (step 7) were installed and set up by the experts of test laboratory in strict compliance with the requirements of operation and technical documents for the study objects. 4. Results of experimental studies In the course of procedure approbation the experts of test laboratory identified 235 software vulnerabilities in the study objects of group N1. The relevance of all identified software vulnerabilities was confirmed by the software developer. Figure 4 shows the distribution of 197 identified vulnerabilities by types of successful attacks involving the identified vulnerability. A number of defects were found which can hardly be identified as intentional, though they can be used during cyber-attacks such as SQL code injection and incorrect operation of the access control mechanisms. The research has shown that the software includes explicit implants disguised as debugging tools such as embedded accounts and master passwords. Category Others includes less popular types of vulnerabilities such as XML injections or session fixation. Figure 4: Distribution of identified vulnerabilities by types of Web application attacks On average, it took the software developer one month to eliminate the vulnerability. It should be noted that modern software complexes include open-source software modules. The research of group N2 (open-source software) has shown that such programs also include vulnerabilities. The research findings include 328 software defects (confirmed by the developers), of which 112 are the defects causing the software vulnerability. The software defects were found both using the static signature analysis of the software source code and by the dynamic analysis of the software code. The distribution of identified vulnerabilities is shown in Figure 5. The most popular types of identified software defects are the errors in DBMS queries (CWE-89, Improper Neutralization of Special Elements used in an SQL Command) and improper work with input data used for web page generation (CWE-79 Improper Neutralization of Input During Web Page Generation) (e.g. [36]). Figure 5: Software vulnerabilities distribution (open-source software) by the types of CWE defects 198 5. The problem state in foreign certification systems It should be reminded that due to the innovations in foreign certification systems, reports of test laboratories, which provide an overview of the vulnerability analysis, are published on the official websites of the certification systems. The reports of test laboratories over the period of 2019-2021 were analyzed (sample group included 43 reports 3) published on the website of NIAP, the regulating agency of the US certification system. The analyzed reports mostly included reports on the tests for compliance with the requirements of security profiles for network devices (28 reports). The rest of reports (5 reports) reflected the findings of tests for compliance with the security profile requirements for application software, operating systems, controls of access privileges policy and mobile device security tools. The main findings of the completed analysis are given below. 1. In the course of all works, the test laboratories searched for the information about known vulnerabilities of the object to be certified in publicly available databases. Some test laboratories searched for known vulnerabilities not only by the key words directly relating to the object to be certified (the software name and version, software developer’s name) but also by the identification data relating to borrowed components. 2. Only in half of the studies the test laboratories carried out additional penetration tests. Most works use the standard set of tests applicable to almost all types of certification objects working with web applications (e.g. network port scanning). Only one study included the information about penetration tests performed on the basis of potential vulnerabilities of the object to be certified formulated considering the analysis of the developer’s evidence. 3. All studies related to the certification based on the security profile requirements for network devices included fuzzing tests. As a rule, automation software developed in-house was used in such cases. At the same time, the full-fledged dynamic analysis was not performed. 4. In their research, the test laboratories did not follow the guidelines of ISO/IEC TR 20004 pertaining to the development of the list of potential vulnerabilities based on CWE and CAPEC database analysis. This is due to the fact that the requirement to provide access to the source code of certified software is not mandatory in foreign certification systems. The analysis is carried out only within the scope compliant with the requirements of explanatory note; additional studies are performed only by a small number of test laboratories. 6. Conclusions Based on the results of this study, it can be concluded that the combined software vulnerability analysis is effective and should be implemented in daily activities of experts in certified test laboratories. The analysis of web application vulnerabilities should be the first activity performed within the scope of certification tests, as part of the software analysis the developer carries out before marketing the product, and as part of the check for compliance with modern security standards because identification of vulnerabilities in the assessed object at later stages (e.g. after the start of certification tests or at the product support stage) implies the repetition of complete cycle of product tests and significant costs incurred by the developer. It should be noted that in case of certification tests it is recommended that known (confirmed) vulnerabilities of the object to be certified should be identified both at the initial and at the final stages of certification tests. The following brief conclusions can be drawn based on the procedure approbation results: • The number of identified vulnerabilities depends a lot on the processes of secure software development cycle existing in the software development company. • The most critical vulnerabilities were found only if the access to software source code was provided. 3 Reports on the products working with web applications or containing web applications were analyzed. 199 • The major part of vulnerabilities identified during the study could have been identified by the software developer at early stage of the software development using the methods of static and dynamic analysis of the software source code. In order to reduce the number of vulnerabilities, it is recommended that web application developers should enhance the life cycle processes with the main activities aimed to develop secure software such as modeling of information security threats, static analysis of source texts, penetration tests. We believe that practical application of such procedures by Russian software developers will improve the security of created software and, consequently, will reduce significantly the number of information security incidents. 7. References [1] P. M. Parker. The 2022 Report on Software Security Testing: World Market Segmentation by City. ICON Group International, 2021, 502 p. [2] Petrenko S.A., Makoveichuk K.A., Olifirov A.V. Concept of cyber immunity of Industry 4.0. In: CEUR Workshop Proceedings. Selected Papers of the X Anniversary International Scientific and Technical Conference on Secure Information Technologies (BIT 2019). 2019. V. 2603. P. 93-99. [3] Petrenko S. La Administraciуn de la Ciberseguridad. Industria 4.0. Oviedo, Asturias. University of Oviedo, 2019, 294 p. [4] Petrenko A.A., Petrenko S.A., Makoveichuk K.A., Olifirov A.A. Methodological recommendations for the cyber risks management. In: CEUR Workshop Proceedings. 5. Ser. Selected Papers of the 5th International Scientific and Practical Conference Distance Learning Technologies - DLT 2020, 2021. V. 2914. P. 234-247. [5] Korneev, N., Merkulov, V. Intellectual analysis and basic modeling of complex threats. CEUR Workshop Proceedings. 2019, vol. 2603, pp. 23-28. [6] Dmitry P. Zegzhda, Igor Y. Zhukov. Aspects of information security of computer systems. In: CEUR Workshop Proceedings. Selected Papers of the XI Anniversary International Scientific and Technical Conference on Secure Information Technologies (BIT 2021). 2021. [7] Demidov R.A., Pechenkin A.I., Zegzhda P.D. An approach to vulnerability searching of integer overflows in the executable program code. Automatic Control and Computer Sciences. 2018. V. 52. No 8. P. 1022-1028. [8] A. Mazuera-Rozo, A. Mojica-Hanke, M. Linares-Vásquez and G. Bavota, "Shallow or Deep? An Empirical Study on Detecting Vulnerabilities using Deep Learning," 2021 IEEE/ACM 29th International Conference on Program Comprehension (ICPC), 2021, pp. 276-287, doi: 10.1109/ICPC52881.2021.00034. [9] Y. Benslimane, Z. Yang and B. Bahli, "Information Security between Standards, Certifications and Technologies: An Empirical Study," 2016 International Conference on Information Science and Security (ICISS), 2016, pp. 1-5, doi: 10.1109/ICISSEC.2016.7885859. [10] P. Stephanow and K. Khajehmoogahi, "Towards Continuous Security Certification of Software-as-a-Service Applications Using Web Application Testing Techniques," 2017 IEEE 31st International Conference on Advanced Information Networking and Applications (AINA), 2017, pp. 931-938, doi: 10.1109/AINA.2017.107. [11] J. L. Hernandez-Ramos, S. N. Matheu and A. Skarmeta, "The Challenges of Software Cybersecurity Certification [Building Security In]," in IEEE Security & Privacy, vol. 19, no. 1, pp. 99-102, Jan.-Feb. 2021, doi: 10.1109/MSEC.2020.3037845. [12] G. Ferreira, "Software Certification in Practice: How Are Standards Being Applied?," 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C), 2017, pp. 100-102, doi: 10.1109/ICSE-C.2017.156. 200 [13] Barabanov A., Markov A. Modern Trends in the Regulatory Framework of the Information Security Compliance Assessment in Russia Based on Common Criteria. In Proceedings of the 8th International Conference on Security of Information and Networks (Sochi, Russian Federation, September 08-10, 2015). SIN '15. ACM New York, NY, USA, 2015, pp. 30- 33. DOI: 10.1145/2799979.2799980. [14] S. Dupont et al., "Incremental Common Criteria Certification Processes using DevSecOps Practices," 2021 IEEE European Symposium on Security and Privacy Workshops (EuroS&PW), 2021, pp. 12-23, doi: 10.1109/EuroSPW54576.2021.00009. [15] M. Andrea, M. Philippe, D. Sbastien and G. Jeremy, "Towards Incremental Safety and Security Requirements Co-Certification," 2020 IEEE European Symposium on Security and Privacy Workshops (EuroS&PW), 2020, pp. 79-84, doi: 10.1109/EuroSPW51379.2020.00020. [16] K. Li et al., "Tool support for secure programming by security testing," 2015 IEEE Eighth International Conference on Software Testing, Verification and Validation Workshops (ICSTW), 2015, pp. 1-4, doi: 10.1109/ICSTW.2015.7107462. [17] C. Weir, I. Becker and L. Blair, "A Passion for Security: Intervening to Help Software Developers," 2021 IEEE/ACM 43rd International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP), 2021, pp. 21-30, doi: 10.1109/ICSE- SEIP52600.2021.00011. [18] Barabanov A., Grishin M., Markov A., Tsirlov V. Current Taxonomy of Information Security Threats in Software Development Life Cycle. In: 2018 IEEE 12th International Conference Application of Information and Communication Technologies (AICT). IEEE (17-19 Oct 2018, Almaty, Kazakhstan). 2018, pp. 356-361. DOI: 10.1109/ICAICT.2018.8747065. [19] Barabanov A., Markov A., Tsirlov V. On Systematics of the Information Security of Software Supply Chains. Advances in Intelligent Systems and Computing. 2020. V. 1294. P. 115-129. DOI: 10.1007/978-3-030-63322-6_9. [20] Barabanov A., Markov A., Fadin A., Tsirlov V., Shakhalov I. Synthesis of Secure Software Development Controls. In Proceedings of the 8th International Conference on Security of Information and Networks (Sochi, Russian Federation, September 08-10, 2015). SIN ‘15. ACM New York, NY, USA, 2015, pp. 93-97 DOI: 10.1145/2799979.2799998. [21] R. Trifonov, O. Nakov, G. Pavlova, S. Manolov, G. Tsochev and P. Nakov, "Analysis of the Principles and Criteria for Secure Software Development," 2020 28th National Conference with International Participation (TELECOM), 2020, pp. 125-128, doi: 10.1109/TELECOM50385.2020.9299567. [22] Taubenberger, S., Jürjens, J., Yu, Y. and Nuseibeh, B. (2013), "Resolving vulnerability identification errors using security requirements on business process models", Information Management & Computer Security, Vol. 21 No. 3, pp. 202-223. https://doi.org/10.1108/IMCS-09-2012-0054. [23] H. Chen, D. Bao, H. Gao and J. Cheng, "A Security Evaluation and Certification Management Database Based on ISO/IEC Standards," 2016 12th International Conference on Computational Intelligence and Security (CIS), 2016, pp. 249-253, doi: 10.1109/CIS.2016.0064. [24] D. Bao, W. Sun, Y. Goto and J. Cheng, "Development of Supporting Environment for IT System Security Evaluation Based on ISO/IEC 15408 and ISO/IEC 18045," 2018 IEEE SmartWorld, Ubiquitous Intelligence & Computing, Advanced & Trusted Computing, Scalable Computing & Communications, Cloud & Big Data Computing, Internet of People and Smart City Innovation (SmartWorld/SCALCOM/UIC/ATC/CBDCom/IOP/SCI), 2018, pp. 204-209, doi: 10.1109/SmartWorld.2018.00070. [25] Varenitca V. V., Markov A. S., Savchenko V. V. Recommended Practices for the Analysis of Web Application Vulnerabilities. CEUR Workshop Proceedings. 2019. Volume 2603, pp. 75-78. 201 [26] V. Mounika, X. Yuan and K. Bandaru, "Analyzing CVE Database Using Unsupervised Topic Modelling," 2019 International Conference on Computational Science and Computational Intelligence (CSCI), 2019, pp. 72-77, doi: 10.1109/CSCI49370.2019.00019. [27] V. Yosifova, A. Tasheva and R. Trifonov, "Predicting Vulnerability Type in Common Vulnerabilities and Exposures (CVE) Database with Machine Learning Classifiers," 2021 12th National Conference with International Participation (ELECTRONICA), 2021, pp. 1- 6, doi: 10.1109/ELECTRONICA52725.2021.9513723. [28] Varenitsa V., Markov A., Savchenko V., Tsirlov V. Practical Aspects of Vulnerability Detection During Certification Tests of Information Security Software. Voprosy kiberbezopasnosti [Cybersecurity issues]. 2021. No 5 (45), pp. 36-44. DOI: 10.21681/2311-3456-2021-5-36-44. [29] Barabanov A., Markov A., Fadin A., and Tsirlov V. 2015. A Production Model System for Detecting Vulnerabilities in the Software Source Code. In Proceedings of the 8th International Conference on Security of Information and Networks (SIN '15). ACM, New York, NY, USA, 98-99. DOI: http://dx.doi.org/10.1145/2799979.2800019. [30] Borzykh S., Markov A., Tsirlov V., Barabanov A. Detecting Code Security Breaches by Means of Dataflow Analysis. CEUR Workshop Proceedings, 2017. Vol. 2081. P. 15-20. [31] Markov A.S., Fadin A.A., Tsirlov V.L. Multilevel Metamodel for Heuristic Search of Vulnerabilities in the Software Source Code, International Journal of Control Theory and Applications, 2016, vol. 9, No 30, pp. 313-320. [32] F.M.Tudela and etc. On Combining Static, Dynamic and Interactive Analysis Security Testing Tools to Improve OWASP Top Ten Security Vulnerability Detection in Web Applications. Appl. Sci. 2020, 10(24), 9119; https://doi.org/10.3390/app10249119 [33] Barabanov A.V., Markov A.S., Tsirlov V.L. Information Security Controls Against Cross- Site Request Forgery Attacks On Software Application of Automated Systems. Journal of Physics: Conference Series. 2018. V. 1015. P. 042034. DOI :10.1088/1742- 6596/1015/4/042034 [34] Reber, G., Malmquist, K., Shcherbakov, A. 2014. Mapping the Application Security Terrain. Voprosy kiberbezopasnosti [Cybersecurity issues]. 2014. N 1(2). P. 36-39. DOI: 10.21681/2311-3456-2014-2-36-39. [35] Markov A., Fadin A., Shvets V., Tsirlov V. The experience of comparison of static security code analyzers. International Journal of Advanced Studies. 2015. V. 5. No 3. P. 55-63. DOI: 10.12731/2227-930x-2015-3-9 [36] D. Gonzalez, F. Alhenaki and M. Mirakhorli, "Architectural Security Weaknesses in Industrial Control Systems (ICS) an Empirical Study Based on Disclosed Software Vulnerabilities," 2019 IEEE International Conference on Software Architecture (ICSA), 2019, pp. 31-40, doi: 10.1109/ICSA.2019.00012. 202