Применение статической бинарной инструментации с целью проведения динамического анализа программ для платформы ARM
14 сентября 2018
245
Предметная область | — |
Выходные данные | — |
Ключевые слова | — |
Вид публикации | Статья |
Контактные данные автора публикации | М.К. Ермаков, С.П. Вартанов |
Ссылка на публикацию в интернете | www.ispras.ru/proceedings/docs/2015/27/1/isp_27_2015_1_5.pdf |
Аннотация
В настоящее время существует множество подходов к проведению автоматического анализа программного обеспечения путём проведения инструментации исполняемого кода. Внедряемый таким способом код позволяет получать необходимую для анализа информацию во время исполнения. В данной работе рассматриваются особенности про-ведения статической инструментации кода, подразумевающей предварительное измене-ние исполняемых файлов или файлов динамических библиотек с целью расширения функциональности. В качестве целевых объектов рассматриваются файлы исполняемого кода в формате ELF для архитектуры ARM. Данная работа описывает основной меха-низм модификации файлов в формате ARM ELF, позволяющий внедрять инструкции перехода на инструментационный код в заданных точках программы; в качестве ключе-вых компонентов механизма рассматриваются следующие — добавление дополнитель-ных секций кода и данных, модификация специальных секций для добавления внешних зависимостей (по символам и библиотекам), модификация исходного и инструментаци-онного кода для обеспечения корректности результирующего файла. В работе приводит-ся оценка расходов на выполнение инструментационного кода на примере внедрения модуля трассировки вызовов функций в набор стандартных библиотек платформы Android.
ПодробнееДля того чтобы оставить комментарий необходимо авторизоваться.