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

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

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



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






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


Труды института системного программирования РАН, 2015, том 27, выпуск 1, страницы 5–24
DOI: https://doi.org/10.15514/ISPRAS-2015-27(1)-1
(Mi tisp110)
 

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

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

М. К. Ермаков, С. П. Вартанов

Институт системного программирования РАН
Список литературы:
Аннотация: В настоящее время динамический анализ программ активно используется для контроля качества программных продуктов, задач профилирования и поиска уязвимостей. В данной работе рассматриваются особенности одного из методов обработки кода программы в рамках динамического анализа — статической инструментации исполняемого кода, подразумевающей предварительное изменение исполняемых файлов или файлов динамических библиотек. Предлагается метод статической инструментации, позволяющий обрабатывать файлы исполняемого кода в формате ELF для архитектуры ARM.
Предлагаемый метод включает возможности настройки инструментации с помощью пользовательских спецификаций, задающих точки внедрения кода и необходимый внедряемый код. В статье описываются основные шаги метода: обработка пользовательских спецификаций, разбор кода программы и создание блоков инструментационного кода по числу точек инструментации, внедрение блоков инструментационного кода в программу, модификация кода программы с целью осуществления передачи управления на инструментационный код во время выполнения программы.
Модификация файлов исполняемого кода программы проводится в рамках ограничений, накладываемых спецификациями формата ARM ELF — распределение кода, данных и управляющей информации по секциям и сегментам, обрабатываемым динамическим загрузчиком операционной системы, и дополнительными внешними и внутренними зависимостями между секциями, порождаемыми во время генерации исполняемого кода. Непосредственный метод инструментации включает замену блоков инструкций в точках инструментации на инструкции безусловного перехода на соответствующий блок инструментационного кода и перенос заменённых инструкций в блок инструментационного кода для сохранения исходной функциональности программы. Для поддержания корректности работы в блок инструментационного кода также добавляются инструкции сохранения и восстановления состояния и инструкция безусловного перехода для возврата управления после выполнения инструментационного кода. Дополнительно в статье описываются модификации, направленные на добавление информации о внешних символах, используемых в инструментационном коде. Данные модификации необходимы для поддержания корректности работы динамического загрузчика на этапе разрешения внешних зависимостей.
В статье приведены результаты практических экспериментов по применению разработанной программной системы, реализующей предлагаемый метод. На примере задачи подсчёта базовых блоков разработанная система показала более высокую производительность по сравнению с распространённым средством инструментации Valgrind.
Ключевые слова: статическая бинарная инструментация, динамический анализ, архитектура ARM, формат ELF, Android.
Реферативные базы данных:
Тип публикации: Статья
Образец цитирования: М. К. Ермаков, С. П. Вартанов, “Применение статической бинарной инструментации с целью проведения динамического анализа программ для платформы ARM”, Труды ИСП РАН, 27:1 (2015), 5–24
Цитирование в формате AMSBIB
\RBibitem{ErmVar15}
\by М.~К.~Ермаков, С.~П.~Вартанов
\paper Применение статической бинарной инструментации с целью проведения динамического анализа программ для платформы ARM
\jour Труды ИСП РАН
\yr 2015
\vol 27
\issue 1
\pages 5--24
\mathnet{http://mi.mathnet.ru/tisp110}
\crossref{https://doi.org/10.15514/ISPRAS-2015-27(1)-1}
\elib{https://elibrary.ru/item.asp?id=23420338}
Образцы ссылок на эту страницу:
  • https://www.mathnet.ru/rus/tisp110
  • https://www.mathnet.ru/rus/tisp/v27/i1/p5
  • Эта публикация цитируется в следующих 2 статьяx:
    Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Труды института системного программирования РАН
    Статистика просмотров:
    Страница аннотации:311
    PDF полного текста:196
    Список литературы:29
     
      Обратная связь:
     Пользовательское соглашение  Регистрация посетителей портала  Логотипы © Математический институт им. В. А. Стеклова РАН, 2024