BC/NW 2018 № 1 (32):11.2
ВЫЯВЛЕНИЕ ОШИБОК В КОДЕ ПРОГРАММЫ С ПОМОЩЬЮ СТАТИЧЕСКОГО АНАЛИЗАТОРА
Минаев С. А., Д. А. Орлов Д. А.
Проблема безопасности становится все более актуальной в связи с растущим объемом разрабатываемого программного обеспечения. Исходные тексты программ зачастую содержат различные ошибки. Эти ошибки приводят к нарушению нормальной работы программы, в том числе они могут являться причиной уязвимостей в программах.
Для выявления ошибок в программах широко применяется тестирование, однако, с ростом объема исходного кода программ, тестирование становится более трудоемким. Поэтому для выявления уязвимостей используют различные инструментальные средства, такие как статические анализаторы исходного кода программы [1].
Статический анализ кода — это анализ программного обеспечения, который производится над исходным кодом программ и реализуется без реального исполнения исследуемой программы [2].
Одним из наиболее распространенных классов уязвимостей программного обеспечения являются проблемы безопасности доступа к памяти. Множество программ, от которых требуется высокая производительность, реализованы на языках программирования С и С++, которые допускают ручное выделением и освобождением памяти, а также позволяют не проводить проверку индексов массивов, что может приводить к ошибкам в программах [3].
В данной работе решается задача обнаружения ошибок доступа к памяти за границами массивов. Ошибка выхода за границу массива возникает, если индекс, с помощью которого обращаются к элементам массива, превышает допустимое значение. Согласно стандарту языка C++, поведение программы в этом случае не определено. Для решения поставленной задачи выбран язык программирования С++ и статический анализатор кода Cppcheck, который реализует удобный инструментарий для анализа исходных текстов программ.
Предусмотрено проведение разработки модуля для Cppcheck, который будет выявлять ошибку доступа к памяти за границами массивов.
Литература
1. URL: www.codenet.ru/progr/other/code-analysers.php
2. URL: www.itweek.ru/security/article/detail.php?ID=156479
3. URL: https://ru.wikipedia.org/wiki/Защита_памяти
ПРЕЗЕНТАЦИЯ
ВЫЯВЛЕНИЕ ОШИБОК В КОДЕ ПРОГРАММЫ С ПОМОЩЬЮ СТАТИЧЕСКОГО АНАЛИЗАТОРА
Минаев С. А., Д. А. Орлов Д. А.