|
Эта публикация цитируется в 1 научной статье (всего в 1 статье)
Обнаружение ошибок, возникающих при использовании динамической памяти после её освобождения
С. А. Асрянa, С. С. Гайсарянbcde, Ш. Ф. Курмангалеевd, А. М. Агабалянf, Н. Г. Овсепянf, С. С. Саргсянf a Институт проблем информатики и автоматизации НАН РА
b МГУ имени М. В. Ломоносова
c Московский физико-технический институт
d Институт системного программирования им. В.П. Иванникова РАН
e Национальный исследовательский университет «Высшая школа экономики»
f Ереванский государственный университет
Аннотация:
Существенная часть программного обеспечения написана на языках программирования C/C++. Программы на этих языках часто содержат ошибки: использования памяти после освобождения (Use After Free, UAF), переполнения буфера (Buffer Overflow) и др. В статье предложен метод обнаружения ошибок UAF, основанный на динамическом анализе. Для каждого пути выполнения программы предлагаемый метод проверяет корректность операций создания и доступа, а также освобождения динамической памяти. Поскольку применяется динамический анализ, поиск ошибок производится только в той части кода, которая была непосредственно выполнена. Используется символьное исполнение программы с применением решателей SMT (Satisfiability Modulo Theories) [12]. Это позволяет сгенерировать данные, обработка которых приводит к обнаружению нового пути выполнения.
Ключевые слова:
динамический анализ программ, покрытие кода, use-after-free.
Образец цитирования:
С. А. Асрян, С. С. Гайсарян, Ш. Ф. Курмангалеев, А. М. Агабалян, Н. Г. Овсепян, С. С. Саргсян, “Обнаружение ошибок, возникающих при использовании динамической памяти после её освобождения”, Труды ИСП РАН, 30:3 (2018), 7–20
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/tisp321 https://www.mathnet.ru/rus/tisp/v30/i3/p7
|
Статистика просмотров: |
Страница аннотации: | 222 | PDF полного текста: | 58 | Список литературы: | 19 |
|