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

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

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



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






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


Труды института системного программирования РАН, 2021, том 33, выпуск 1, страницы 7–32
DOI: https://doi.org/10.15514/ISPRAS-2021-33(1)-1
(Mi tisp569)
 

Эта публикация цитируется в 3 научных статьях (всего в 3 статьях)

Поиск уязвимостей небезопасного использования помеченных данных в статическом анализаторе Svace

А. Е. Бородинa, А. В. Горемыкинba, С. П. Вартановa, А. А. Белеванцевba

a Институт системного программирования им. В.П. Иванникова РАН
b Московский государственный университет имени М.В. Ломоносова
Список литературы:
Аннотация: В статье рассматривается поиск ошибок помеченных данных в исходном коде программ, т.е. ошибок, вызванных небезопасным использованием данных, полученных из внешних источников, которые потенциально могут быть изменены злоумышленником. В качестве основы использовался межпроцедурный статический анализатор Svace. Анализатор осуществляет как поиск дефектов в программе, так и поиск подозрительных мест, в которых логика программы может быть нарушена. Целью является найти как можно больше ошибок при приемлемой скорости и низком уровне ложных срабатываний (< 20–35%). Для поиска ошибок Svace с помощью компилятора строит низкоуровневое типизированное промежуточное представление, которое подаётся на вход основному анализатору SvEng. Анализатор строит граф вызовов, после чего выполняет анализ на основе резюме. При таком анализе функции обходятся в соответствии с графом вызовов, начиная с листьев. После анализа функции создаётся её резюме, которое затем будет использовано для анализа инструкций вызова. Анализ имеет как высокую скорость, так и хорошую масштабируемость. Внутрипроцедурный анализ основан на символьном выполнении с объединением состояний в точках слияния путей. Для отсеивания несуществующих путей для некоторых детекторов может использоваться SMT-решатель. При этом SMT-решатель вызывается, только если есть подозрение на ошибку. Анализатор был расширен возможностью поиска дефектов, связанных с помеченными данными. Детекторы реализованы в виде плагинов по схеме источник-приёмник. В качестве источников используются вызовы библиотечных функций, получающих данные извне программы, а также аргументы функции main. Приёмниками являются обращение к массивам, использование переменных как шага или границы цикла, вызов функций, требующих проверенных аргументов. Реализованы детекторы, покрывающие большинство возможных типов уязвимостей, для непроверенных целых чисел и строк. Для оценки покрытия использовался проект Juliet. Уровень пропусков составил от 46.31% до 81.17% при незначительном количестве ложных срабатываний.
Ключевые слова: статический анализ, символьное выполнение, анализ помеченных данных, Svace, поиск ошибок, уязвимости.
Финансовая поддержка Номер гранта
Российский фонд фундаментальных исследований 20-01-00581
Работа выполнена при поддержке Российского фонда фундаментальных исследований, проект №20-01-00581 А
Тип публикации: Статья
Образец цитирования: А. Е. Бородин, А. В. Горемыкин, С. П. Вартанов, А. А. Белеванцев, “Поиск уязвимостей небезопасного использования помеченных данных в статическом анализаторе Svace”, Труды ИСП РАН, 33:1 (2021), 7–32
Цитирование в формате AMSBIB
\RBibitem{BorGorVar21}
\by А.~Е.~Бородин, А.~В.~Горемыкин, С.~П.~Вартанов, А.~А.~Белеванцев
\paper Поиск уязвимостей небезопасного использования помеченных данных в статическом анализаторе Svace
\jour Труды ИСП РАН
\yr 2021
\vol 33
\issue 1
\pages 7--32
\mathnet{http://mi.mathnet.ru/tisp569}
\crossref{https://doi.org/10.15514/ISPRAS-2021-33(1)-1}
Образцы ссылок на эту страницу:
  • https://www.mathnet.ru/rus/tisp569
  • https://www.mathnet.ru/rus/tisp/v33/i1/p7
  • Эта публикация цитируется в следующих 3 статьяx:
    Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Труды института системного программирования РАН
     
      Обратная связь:
     Пользовательское соглашение  Регистрация посетителей портала  Логотипы © Математический институт им. В. А. Стеклова РАН, 2024