Новости Новая угроза в .NET-бинарниках: стоит ли бояться R2R Stomping

NewsMaker

I'm just a script
Премиум
13,850
20
8 Ноя 2022
Тот случай, когда не стоит слепо доверять отладчику кода.


dalo8nkp9pfaaaokpzxdi3wz41pvr5fr.jpg


Исследователи из компании Check Point Для просмотра ссылки Войди или Зарегистрируйся новый метод скрытого внедрения кода в бинарные файлы .NET , скомпилированные принципом Ahead-Of-Time ( AOT ) в формате ReadyToRun ( R2R ). Новый метод внедрения получил название «R2R Stomping».

Формат компиляции R2R позволяет ускорить загрузку и снизить задержки при старте .NET приложений за счёт предварительной компиляции кода в нативный до ещё запуска приложения. Однако техника R2R Stomping использует особенности работы с R2R-бинарными файлами, чтобы внедрить вредоносный код, модифицировав исходный код сборки на промежуточном языке (Intermediate Language, IL -код) так, что он будет отличаться от предкомпилированного нативного кода внутри файла.

Из-за оптимизации .NET при выполнении приоритизируется именно предкомпилированный код, игнорируя изменения в IL-коде. Кроме того, в отладчиках типа dnSpy по умолчанию подавляется оптимизация JIT , что приводит к различиям в выполняемом коде в обычном режиме и при отладке.

Подобный принцип работы серьёзно усложняет анализ безопасности и реверс-инжиниринг таких R2R-бинарных файлов с использованием стандартных инструментов вроде dnSpy, которые работают только с IL-кодом.

Исследователи продемонстрировали два способа реализации R2R Stomping:

  1. замена оригинального IL-кода на поддельный, оставляя нативный предкомпилированный код без изменений;
  2. замена нативного предкомпилированного кода на вредоносный шелл-код, оставляя оригинальный IL-код.
Для анализа R2R бинарных файлов, подвергнутых таким изменениям, требуется использовать специализированные инструменты, позволяющие работать с нативным предкомпилированным кодом напрямую, такие как R2RDump и ILSpy. Они могут извлекать и отображать дизассемблированный нативный код скомпилированных методов.

На данный момент простого и надёжного способа автоматизированного обнаружения применения техники R2R Stomping не существует. Однако в случае внедрения вредоносного кода таким способом, детектирование на основе анализа поведения должно работать корректно.

Пока нет свидетельств использования R2R Stomping в реальных атаках, но нельзя исключать, что эта техника уже может применяться в изощренных арсеналах злоумышленников для внедрения скрытого вредоносного кода в безопасные, на первый взгляд, приложения.

Хотя на текущий момент это скорее проблема для реверс-инженеров, нежели реальный способ обхода систем безопасности, разработанные методы анализа так или иначе помогут специалистам по безопасности выявлять случаи применения R2R Stomping и реагировать на них соответствующим образом.
 
Источник новости
www.securitylab.ru

Похожие темы