Труды института системного программирования РАН
RUS  ENG    ЖУРНАЛЫ   ПЕРСОНАЛИИ   ОРГАНИЗАЦИИ   КОНФЕРЕНЦИИ   СЕМИНАРЫ   ВИДЕОТЕКА   ПАКЕТ AMSBIB  
Общая информация
Последний выпуск
Архив

Поиск публикаций
Поиск ссылок

RSS
Последний выпуск
Текущие выпуски
Архивные выпуски
Что такое RSS



Труды ИСП РАН:
Год:
Том:
Выпуск:
Страница:
Найти






Персональный вход:
Логин:
Пароль:
Запомнить пароль
Войти
Забыли пароль?
Регистрация


Труды института системного программирования РАН, 2018, том 30, выпуск 3, страницы 21–30
DOI: https://doi.org/10.15514/ISPRAS-2018-30(3)-2
(Mi tisp322)
 

Buffer overflow detection via static analysis: expectations vs. reality
[Статический анализ для поиска переполнения буфера: актуальные направления развития]

I. A. Dudinaab

a Lomonosov Moscow State University
b Ivannikov Institute for System Programming, Russian Academy of Sciences
Список литературы:
Аннотация: В последние десятилетия переполнение буфера остаётся одним из главных источников программных ошибок и эксплуатируемых уязвимостей. Среди прочих подходов к устранению подобных дефектов активное развитие получили различные методы статического анализа. В работе рассматриваются основные подходы и инструменты, используемые для решения этой задачи, с целью выявить наиболее популярные методы и типы обнаруживаемых ошибок. Также исследованы наборы синтетических тестов (Juliet Test Suite, Toyota ITC benchmark) и выборка фрагментов кода реальных приложений, содержащих эксплуатируемую ошибку переполнения буфера. Для понимания направлений развития промышленного статического анализатора важно рассматривать оба эти источника примеров ошибочных программ. Наборы тестов очерчивают круг ситуаций, которые необходимо поддержать в анализаторе, при этом их легко понять, классифицировать и проверить. С другой стороны, они не отражают распределение таких ситуаций в реальном коде. Выборка уязвимостей из промышленных проектов также представляет интерес для исследования, но оказывается смещённой в сторону эксплуатируемых ошибок и к тому же не включает ошибки, исправленные на стадии разработки (возможно, как раз с использованием статического анализатора). Полученные данные были использованы для выделения основных шаблонов дефектов, которые должен обнаруживать статической анализатор с точки зрения пользователя. В результате исследования к наиболее важным возможностям статического анализатора были отнесены межпроцедурный путе- и контекстно-чувствительный анализ, а также базовая поддержка циклов. Кроме того, полезными оказываются отслеживание аффинных отношений между переменными и моделирование строк как важного случая использования массивов. Результаты данного исследования используются для улучшения детектора переполнения буфера, реализованного в рамках инфраструктуры статического анализатора Svace. На данный момент используется межпроцедурный чувствительный к путям и контексту анализ, позволяющий обнаруживать переполнения буфера на стеке и в статической памяти с долей истинных срабатываний 65%. По результатам исследования наиболее перспективными направлениями представляются поддержка строковых операций и внедрение анализа помеченных данных в имеющиеся подходы.
Ключевые слова: анализ программ, статический анализ, переполнение буфера.
Реферативные базы данных:
Тип публикации: Статья
Язык публикации: английский
Образец цитирования: I. A. Dudina, “Buffer overflow detection via static analysis: expectations vs. reality”, Труды ИСП РАН, 30:3 (2018), 21–30
Цитирование в формате AMSBIB
\RBibitem{Dud18}
\by I.~A.~Dudina
\paper Buffer overflow detection via static analysis: expectations vs. reality
\jour Труды ИСП РАН
\yr 2018
\vol 30
\issue 3
\pages 21--30
\mathnet{http://mi.mathnet.ru/tisp322}
\crossref{https://doi.org/10.15514/ISPRAS-2018-30(3)-2}
\elib{https://elibrary.ru/item.asp?id=35192491}
Образцы ссылок на эту страницу:
  • https://www.mathnet.ru/rus/tisp322
  • https://www.mathnet.ru/rus/tisp/v30/i3/p21
  • Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Труды института системного программирования РАН
    Статистика просмотров:
    Страница аннотации:164
    PDF полного текста:234
    Список литературы:15
     
      Обратная связь:
     Пользовательское соглашение  Регистрация посетителей портала  Логотипы © Математический институт им. В. А. Стеклова РАН, 2024