|
Эта публикация цитируется в 2 научных статьях (всего в 2 статьях)
О представлении результатов обратной инженерии бинарного кода
В. А. Падарянab a Московский государственный университет имени М.В. Ломоносова
b Институт системного программирования РАН
Аннотация:
В статье рассматривается вопрос представления кода алгоритмов, извлекаемых из бинарного кода в рамках задачи обратной инженерии: как промежуточные представления для автоматического анализа, так и конечные представления, передаваемые пользователю. Разбираются две ключевых подзадачи в области обратной инженерии: автоматический поиск эксплуатируемых дефектов и выявление НДВ. Описана общая схема системы, реализующей автоматический поиск эксплуатируемых дефектов, указаны ключевые свойства промежуточного представления, позволяющего решать такую задачу с точки зрения эффективной генерации системы уравнений для SMT-решателя. Представлен тракт работы системы по выявлению НДВ, состоящий из трех этапов: локализация алгоритма, его представление в удобной для анализа форме и исследование его свойств. Для автоматизации первого этапа применяется построение статико-динамического представления, выделяются события уровня ОС и вызовы библиотечных функций, являющиеся «якорями», от которых отталкивается аналитик при локализации алгоритма. Дальнейшая поддержка локализации осуществляется за счет построения срезов и средств навигации. После того, как локализация алгоритма выполнена, дальнейшая работа разделяется на два направления: диалоговое построение компактного аннотированного представления алгоритма в виде блок-схемы и автоматизированное изучение свойств алгоритма в части определения декларированных и недекларированных потоков данных. Представление алгоритма в виде блок-схемы базируется на построении упрощенных моделей функций, учитывающих входные и выходные буферы, и автоматически выявляемыми связями по данным между буферами различных вызовов функций. Описан общий сценарий работы аналитика с подобной блок-схемой в контексте задачи выявления НДВ, основанный на аннотировании декларированных потоков данных и автоматическом выявлении недекларированных потоков. В завершение статьи приводится пример получаемого представления и перечисляются направления дальнейшей работы.
Ключевые слова:
бинарный код, комбинированный анализ, промежуточное представление.
Образец цитирования:
В. А. Падарян, “О представлении результатов обратной инженерии бинарного кода”, Труды ИСП РАН, 29:3 (2017), 31–42
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/tisp220 https://www.mathnet.ru/rus/tisp/v29/i3/p31
|
Статистика просмотров: |
Страница аннотации: | 177 | PDF полного текста: | 87 | Список литературы: | 32 |
|