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/Защита_памяти
ПРЕЗЕНТАЦИЯ
ВЫЯВЛЕНИЕ ОШИБОК В КОДЕ ПРОГРАММЫ С
ПОМОЩЬЮ СТАТИЧЕСКОГО АНАЛИЗАТОРА
Минаев С. А., Д.
А. Орлов Д. А.