по
Кибернетика и программирование
12+
Меню журнала
> Архив номеров > Рубрики > О журнале > Авторы > О журнале > Требования к статьям > Редакция и редакционный совет > Порядок рецензирования статей > Политика издания > Ретракция статей > Этические принципы > Политика открытого доступа > Оплата за публикации в открытом доступе > Online First Pre-Publication > Политика авторских прав и лицензий > Политика цифрового хранения публикации > Политика идентификации статей > Политика проверки на плагиат
Журналы индексируются
Реквизиты журнала

ГЛАВНАЯ > Вернуться к содержанию
Статьи автора Велижанин Анатолий Сергеевич
Кибернетика и программирование, 2019-2
Ревнивых А.В., Велижанин А.С. - Методика автоматизированного формирования структуры дизассемблированного листинга c. 1-16

DOI:
10.25136/2644-5522.2019.2.28272

Аннотация: Предмет исследования – методика разбиения дизассемблированного кода на логические блоки в автоматическом режиме, поиск уязвимостей программного обеспечения без использования исходного кода (с использованием бинарного файла либо его эквивалента, полученного реверс-инжинирингом). Объектом исследования являются существующие анализаторы кода и особенности их функционала. Целью исследования является рассмотреть возможность разбиения дизассемблированного кода на логические блоки в автоматическом режиме и некоторые связанные с этим возможные сложности. Постановка проблемы. Сложность анализа больших программных продуктов на уровне машинного кода обуславливает необходимость автоматизации данного процесса. Методология исследования основана на сочетании теоретического и эмпирического подходов с применением методов статического и динамического анализа, сравнения, обобщения, алгоритмизации, моделировании, синтеза. Ключевые выводы. Разбиение кода на блоки путем последовательного в режиме «строчка за строчкой» анализа машинного кода в некоторых случаях может привести к неверной интерпретации. Кроме того, анализ кода согласно выводам функций так же не гарантирует правильности определения границ функций. Однако в целом матричный метод может быть применен для анализа зависимостей функций по выделенным таким образом блокам кода. Научная новизна связана с определением автором перспективных векторов исследования программного кода на уязвимости, обоснованием подхода (построение матрицы переходов из целочисленных значений), который может являться начальной стадией подготовки к автоматизированному анализу дизассемблированного кода.
Кибернетика и программирование, 2018-6
Ревнивых А.В., Велижанин А.С. - Метод автоматизированного исследования структуры дизассемблированного представления программного кода с уязвимостью на переполнение буфера с использованием матричного подхода c. 11-30

DOI:
10.25136/2644-5522.2018.6.28288

Аннотация: Предметом исследования являются алгоритмы оптимизации автоматизированного поиска зависимостей на дизассемблированном коде. Объектом исследования выступают зависимые блоки кода на х64 архитектуре процессоров производства корпорации «Intel» и листинги, полученные в результате реверс-инжиниринга программного обеспечения компиляторами с различными настройками в Windows и Linux. Цель исследования. Целью исследования является рассмотреть возможность использования математических матриц для построения карты машинного кода, а также сделать обзор возможных проблем для автоматического анализа, совершить поиск путей следования информационных потоков. Методы исследования. В работе использовался компилятор Visual C++. Рассматривается архитектура, в которой передача информации может быть осуществлена способами: регистр-память, память-регистр, регистр-регистр. Для анализа был избран метод формирования списка функций, вызываемых до исследуемого потенциально опасного блока кода, сформированный для каждого рассматриваемого пути к исследуемому блоку. Описываются и развиваются методы реализации матричного подхода. Новизна и ключевые выводы. Метод математических матриц может быть использован для построения карты машинного кода. Однако для определения путей достижимости отдельных блоков кода может потребоваться значительное количество ресурсов. Кроме того, машинный код может быть подвергнут воздействию упаковщиков и обфускаторов, что так же вносит дополнительные сложности. Был выделен ряд потенциально опасных функций стандартной библиотеки языка программирования С/С++.
Другие сайты издательства:
Официальный сайт издательства NotaBene / Aurora Group s.r.o.