Миронов С.В., Куликов Г.В. —
Технологии контроля безопасности автоматизированных систем на основе структурного и поведенческого тестирования программного обеспечения
// Кибернетика и программирование. – 2015. – № 5.
– С. 158 - 172.
DOI: 10.7256/2306-4196.2015.5.16934
URL: https://e-notabene.ru/kp/article_16934.html
Читать статью
Аннотация: Предметом исследования являются основные методы и принципы тестирования программных комплексов, применяемые в интересах оценивания и контроля безопасности автоматизированных систем. В результате проведенных исследований приведена информация по способам выявления методами тестирования программного обеспечения наиболее распространенных угроз безопасности для подсистем: межсетевого экранирования; аудита; контроля доступа; контроля целостности; парольной и криптографической. При этом считали, что в изделии могут присутствовать следующие уязвимости: переполнение буфера, некорректная обработка форматных средств, гонки.
Методы исследования включают методы теории программирования, теории надежности, программной инженерии, помехоустойчивого кодирования, информационной безопасности, системного анализа. Основным выводом проведенного исследования является то, что тестирование программного обеспечения является мощным средством для выявления как ошибок в работе программ, так и уязвимостей безопасности. Современные методы поведенческого тестирования позволяют выявлять уязвимости без исходных текстов программ и могут успешно применяться на российском рынке, для которого передача исходных текстов на тестирование задача почти невыполнимая.
Abstract: The subjects of the study are the basic methods and principles of testing software systems used in the interest of the safety evaluation and control of automated systems. The study provides recommendations on the methods of software testing for the most common threats to security subsystems such as firewall, audit; access control; integrity monitoring; password and encryption. The authors considered the possibility that the product could contain the following vulnerabilities: buffer overflow, incorrect handling of format means, race problems. The research methods include the methods of the theory of programming, theory of reliability, software engineering, error-correcting coding, information security, system analysis. The main conclusion of the study is that software testing is a powerful tool to detect both errors in the software and security vulnerabilities. Modern methods of behavioral testing allow to identify vulnerabilities without software source code and can be used successfully in the Russian market, where accessing the source code for testing purposes is almost impossible.
Миронов С.В., Куликов Г.В. —
Анализ потенциальных возможностей методов тестирования программного обеспечения без использования исходных текстов
// Программные системы и вычислительные методы. – 2015. – № 2.
– С. 150 - 162.
DOI: 10.7256/2454-0714.2015.2.16767
Читать статью
Аннотация: В статье рассмотрено сложившееся противоречие между природой реальных уязвимостей программного кода, ограничениями нормативно-методической базой испытаний по требованиям безопасности программного обеспечения и желанием разработчиков не предоставлять исходные тексты программ. Методы анализа программных продуктов, которые не требуют наличия исходных текстов программ, широко применяются за рубежом, а в нашей стране еще не получили широкого распространения. Исследуется вопрос: могут ли такие методы и средства повысить эффективность сертификационных испытаний программного обеспечения, а также определить необходимые изменения в нормативных документах, открывающие возможности применения методов тестирования программ без исходных кодов при сертификационных испытаний. Методы исследования: программная инженерия, анализ сложных систем, теория надежности сложных систем, синтез программного обеспечения, компиляция программного обеспечения. В результате исследования показано, что использование методов тестирования без исходных текстов позволяет находить распространенные уязвимости в программном обеспечении, которые эффективно не выявляются из-за ограничений нормативной базы на наличие исходных текстов; накопленный опыт сертификационных испытаний на отсутствие недекларированных возможностей и программных закладок, а также независимого тестирования программных продуктов позволяет определить приоритетные направления совершенствования нормативной базы, основанной на применении методов тестирования программ без исходных текстов.
Abstract: The article considers the prevailing contradictions between the nature of the vulnerabilities in source code, safety requirements limitations of regulatory and methodological basis of tests and software developers who do not provide the source code for testing purposes. Methods of software products analysis that do not require the source code of programs, are widely used abroad but in our country are not well known yet. The article investigates the question can such methods and means increase the effectiveness of certification testing of software. The authors determine the necessary changes in the regulations to open up the possibility of applying the methods of testing programs without source code in the certification tests. Methods used in the study: software engineering, analysis of complex systems, the theory of reliability of complex systems, the synthesis software, compiling software. The paper shows that the use of methods for testing without source code allows to find such common vulnerabilities in the software that can’t be effectively detected because of the regulatory restrictions for the presence of source code. The experience of certification tests on the absence of undeclared features and program bookmarks, as well as independent software testing allows to determine the priority areas for improvement of the regulatory, based on the application of the methods of testing software without source code.