Сборники трудов ИСП РАН


Сравнительный анализ двух подходов к статическому анализу помеченных данных

М.В. Беляев (ИСП РАН, Москва, Россия)
Н.В. Шимчик (ИСП РАН, Москва, Россия)
В.Н. Игнатьев (ИСП РАН, Москва, Россия)
А.А. Белеванцев (ИСП РАН, Москва, Россия; МГУ, Москва, Россия)

Аннотация

В настоящее время одним из наиболее эффективных средств поиска проблем безопасности ПО является анализ помеченных данных. Он может быть реализован на основе статического анализа и успешно обнаруживать ошибки, приводящие к уязвимостям, таким как внедрение кода или утечка непубличных данных. Возможны несколько существенно различных подходов к реализации алгоритма распространения пометок по внутреннему представлению программы: на основе анализа потоков данных или на базе символьного исполнения. В данной работе описаны особенности реализации обоих подходов в рамках существующей инфраструктуры статического анализатора для поиска ошибок в программах на С#, а также проведено сравнение этих подходов в различных аспектах: область применения, качество результатов, производительность и требовательность к ресурсам. Поскольку оба подхода используют единую инфраструктуру доступа к информации о программе и реализованы одной командой разработчиков, результаты сравнения близки к объективным и могут быть использованы при выборе оптимального варианта в контексте поставленной задачи.

Ключевые слова

taint analysis; static analysis; IFDS; symbolic execution

Издание

Труды Института системного программирования РАН, том 29, вып. 3, 2017, стр. 99-116.

ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).

DOI: 10.15514/ISPRAS-2017-29(3)-7

Полный текст статьи в формате pdf Вернуться к содержанию тома