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

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

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



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






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


Труды института системного программирования РАН, 2019, том 31, выпуск 6, страницы 65–88
DOI: https://doi.org/10.15514/ISPRAS-2019-31(6)-4
(Mi tisp470)
 

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

Декодирование машинных команд в задаче абстрактной интерпретации бинарного кода

М. А. Соловьевab, М. Г. Бакулинb, С. С. Макаровa, Д. В. Манушинa, В. А. Падарянab

a Московский государственный университет имени М.В. Ломоносова
b Институт системного программирования им. В.П. Иванникова РАН
Список литературы:
Аннотация: Программный инструментарий для работы с бинарным кодом востребован не только разработчиками: невозможно добиться достаточной безопасности современных программ без изучения свойств исполняемого кода. Базовым компонентом такого инструментария является декодер машинных команд. У разных процессорных архитектур реализации декодеров разнородны, результаты разбора команд несовместимы, а сопровождение затруднительно из-за повсеместной практики реализовывать декодеры в виде каскадов ветвлений. Дальнейший анализ бинарного кода (на уровне потоков данных и управления, символьная интерпретация и др.) оказывается непереносимым между различными процессорными архитектурами из-за ограничений и особенностей реализации декодеров. В статье предлагается подход к декодированию машинных команд, основанный на внешних спецификациях. Отличительной особенностью подхода является оригинальный способ представления декодированной команды в универсальном (т.е. не отличающемся от одной архитектуры к другой) виде. Декодирование осуществляется при помощи разработанной авторами абстрактной стековой машины. Несмотря на неизбежные накладные расходы, обусловленные большей универсальностью подхода, прототип реализации показывает скорость разбора лишь в 1,5-2,5 раза уступающую традиционным декодерам, с учетом времени разбора спецификации и формирования служебных структур данных. Предлагаемый подход к организации декодирования позволит в перспективе развернуть единый стек программных средств анализа бинарного кода, применимый к различным процессорным архитектурам. В статье обсуждаются вопросы дальнейшей трансляции декодированных команд в машинно-независимое промежуточное представление для анализа их операционной семантики и проведения абстрактной интерпретации. Приведены практически полезные примеры интерпретации: конкретная интерпретация для эмуляции бинарного кода и «направляющая» интерпретация, позволяющая увязать идею абстрактной интерпретации с задачей углубленного автоматического анализа отдельных путей в программе.
Ключевые слова: абстрактная интерпретация, анализ бинарного кода, динамический анализ, компиляторные технологии, обратная инженерия программного обеспечения, символьное выполнение, статический анализ.
Финансовая поддержка Номер гранта
Российский фонд фундаментальных исследований 18-07-01256
Работа поддержана грантом РФФИ № 18-07-01256.
Тип публикации: Статья
Образец цитирования: М. А. Соловьев, М. Г. Бакулин, С. С. Макаров, Д. В. Манушин, В. А. Падарян, “Декодирование машинных команд в задаче абстрактной интерпретации бинарного кода”, Труды ИСП РАН, 31:6 (2019), 65–88
Цитирование в формате AMSBIB
\RBibitem{SolBakMak19}
\by М.~А.~Соловьев, М.~Г.~Бакулин, С.~С.~Макаров, Д.~В.~Манушин, В.~А.~Падарян
\paper Декодирование машинных команд в задаче абстрактной интерпретации бинарного кода
\jour Труды ИСП РАН
\yr 2019
\vol 31
\issue 6
\pages 65--88
\mathnet{http://mi.mathnet.ru/tisp470}
\crossref{https://doi.org/10.15514/ISPRAS-2019-31(6)-4}
Образцы ссылок на эту страницу:
  • https://www.mathnet.ru/rus/tisp470
  • https://www.mathnet.ru/rus/tisp/v31/i6/p65
  • Эта публикация цитируется в следующих 1 статьяx:
    Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Труды института системного программирования РАН
    Статистика просмотров:
    Страница аннотации:111
    PDF полного текста:117
    Список литературы:18
     
      Обратная связь:
     Пользовательское соглашение  Регистрация посетителей портала  Логотипы © Математический институт им. В. А. Стеклова РАН, 2024