РАСШИРЕНИЕ ВОЗМОЖНОСТЕЙ CLANG STATIC ANALYZER ДЛЯ ОБНАРУЖЕНИЯ НОВЫХ УЯЗВИМОСТЕЙ
Jazyk: | ruština |
---|---|
Rok vydání: | 2021 |
Předmět: | |
DOI: | 10.25633/etn.2021.07.13 |
Popis: | Тестирование и поиск ошибок в программном обеспечении является неотъемлемой частью цикла его разработки. Ошибки в программном коде несут угрозу работоспособности и безопасности программы. Для устранения последствий необходимо находить и устранять ошибки на ранних этапах разработки. Одним из методов поиска ошибок является статический анализ. В работе приведен обзор типов ошибок в коде, написанном на языках C и C++, которые способны находить инструменты статического анализа. Также приведен обзор основных методов и техник, применяемых в статическом анализе. В рамках исследования был проведен анализ возможностей статических анализаторов с открытым исходным кодом. Было выбрано несколько популярных инструментов статического анализа и база тестовых листингов кода, содержащая фрагменты программ на языках С и С++ с различными типами ошибок. На основании результатов, которые продемонстрировали статические анализаторы на тестовой базе, было сформировано представление о том, какие типы ошибок могут быть затруднительными для обнаружения исследуемыми инструментами. Среди найденных типов ошибок внимание было уделено тем, которые могут стать причиной появления уязвимости в программе. В работе предложен вариант расширения возможностей доступных на данный момент инструментов статического анализа с открытым исходным кодом для поиска небезопасного использования функции memcpy. Был разработан модуль статического анализа на основе инфраструктуры clang static analyzer, позволяющий обнаруживать выделенный тип ошибки. Analysis of software source code and bug fixing is an essentials part of Secure Software Development Lifecycle (SSDLC). Revealing software vulnerabilities is critical for providing trustworthy software. Fixing bugs in early stages of development is a priority, otherwise the corresponding costs will be significant. One of the method to find a software bugs is applying static analysis tool kits. This research work includes brief review of the most commonly encountered bugs in C and C++ code, and review of static analysis methods. The first part covers the analysis of the most popular open-source static analysis tools. One of the popular static analysis tool, called Clang Statis Analyzer has been chosen as a platform for the further improvement. The key competitive advantage of this proof-of-concept plugin is that it can revealed atype of bugs, which previously were skipped to analysis toolkits. The proposed paper shows how to expand the scope of open-source static analyzer tools for detecting unsafe usage of memcpy routine. The final result of this research is a new plugin for Clang Static Analyzer that can detect this type of error, which significantly expand the whole scope of updated Clang Static Analyzer. Естественные и технические науки, Выпуск 7 (158) 2021 |
Databáze: | OpenAIRE |
Externí odkaz: |