Тот случай, когда не стоит слепо доверять отладчику кода.
Исследователи из компании 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:
На данный момент простого и надёжного способа автоматизированного обнаружения применения техники R2R Stomping не существует. Однако в случае внедрения вредоносного кода таким способом, детектирование на основе анализа поведения должно работать корректно.
Пока нет свидетельств использования R2R Stomping в реальных атаках, но нельзя исключать, что эта техника уже может применяться в изощренных арсеналах злоумышленников для внедрения скрытого вредоносного кода в безопасные, на первый взгляд, приложения.
Хотя на текущий момент это скорее проблема для реверс-инженеров, нежели реальный способ обхода систем безопасности, разработанные методы анализа так или иначе помогут специалистам по безопасности выявлять случаи применения R2R Stomping и реагировать на них соответствующим образом.
Исследователи из компании Check Point Для просмотра ссылки Войди
Формат компиляции R2R позволяет ускорить загрузку и снизить задержки при старте .NET приложений за счёт предварительной компиляции кода в нативный до ещё запуска приложения. Однако техника R2R Stomping использует особенности работы с R2R-бинарными файлами, чтобы внедрить вредоносный код, модифицировав исходный код сборки на промежуточном языке (Intermediate Language, IL -код) так, что он будет отличаться от предкомпилированного нативного кода внутри файла.
Из-за оптимизации .NET при выполнении приоритизируется именно предкомпилированный код, игнорируя изменения в IL-коде. Кроме того, в отладчиках типа dnSpy по умолчанию подавляется оптимизация JIT , что приводит к различиям в выполняемом коде в обычном режиме и при отладке.
Подобный принцип работы серьёзно усложняет анализ безопасности и реверс-инжиниринг таких R2R-бинарных файлов с использованием стандартных инструментов вроде dnSpy, которые работают только с IL-кодом.
Исследователи продемонстрировали два способа реализации R2R Stomping:
- замена оригинального IL-кода на поддельный, оставляя нативный предкомпилированный код без изменений;
- замена нативного предкомпилированного кода на вредоносный шелл-код, оставляя оригинальный IL-код.
На данный момент простого и надёжного способа автоматизированного обнаружения применения техники R2R Stomping не существует. Однако в случае внедрения вредоносного кода таким способом, детектирование на основе анализа поведения должно работать корректно.
Пока нет свидетельств использования R2R Stomping в реальных атаках, но нельзя исключать, что эта техника уже может применяться в изощренных арсеналах злоумышленников для внедрения скрытого вредоносного кода в безопасные, на первый взгляд, приложения.
Хотя на текущий момент это скорее проблема для реверс-инженеров, нежели реальный способ обхода систем безопасности, разработанные методы анализа так или иначе помогут специалистам по безопасности выявлять случаи применения R2R Stomping и реагировать на них соответствующим образом.
- Источник новости
- www.securitylab.ru