Сообщение Re[9]: Запуск нейтивного ассемблера из C# на лету от 04.02.2022 14:40
Изменено 07.02.2022 12:59 VladD2
Re[9]: Запуск нейтивного ассемблера из C# на лету
Здравствуйте, Sinclair, Вы писали:
S>Здравствуйте, _NN_, Вы писали:
_NN>>В Маке так и работает и ничего.
S>
_NN>>Если нет у приложения разрешения на JIT изначально то ему будет нельзя.
_NN>>То есть при подписи указываем в специальном файле, что будет у нас JIT и подписываем.
S>Но это же опять хрупко: смотрите, если гранулярность разрешения — приложение, то как мы отличим работу православного JIT от злоумышленного генератора в стиле топикстартера?
S>То есть мат ставится в три хода:
S>
S> Пишем нормальное, добронравное приложение, которое пользуется JIT. Подписываем официальным сертификатом благонадёжного разработчика. В приложении имеется дырка в стиле log4j, которая позволяет исполнять сторонний код (а способов такое сделать — много; тут и плагины, и уязвимости сторонних библиотек)
S>Засовываем через эту дырку сторонний код. Сам по себе этот код написан на IL, который обрабатывается всё ещё православным JIT.
S>Засунутый сторонний код порождает нативный код, который уже не является безопасным, и делает всякие нехорошести с приложением и его окружением.
S>
Хороший вопрос как различать.
Это надо как-то системе сообщать кто может менять страницу и дать права запуска кода.
И чувствуется, что и это можно обойти
Проще тогда просто запрещать JIT.
S>Здравствуйте, _NN_, Вы писали:
_NN>>В Маке так и работает и ничего.
S>
_NN>>Если нет у приложения разрешения на JIT изначально то ему будет нельзя.
_NN>>То есть при подписи указываем в специальном файле, что будет у нас JIT и подписываем.
S>Но это же опять хрупко: смотрите, если гранулярность разрешения — приложение, то как мы отличим работу православного JIT от злоумышленного генератора в стиле топикстартера?
S>То есть мат ставится в три хода:
S>
S> Пишем нормальное, добронравное приложение, которое пользуется JIT. Подписываем официальным сертификатом благонадёжного разработчика. В приложении имеется дырка в стиле log4j, которая позволяет исполнять сторонний код (а способов такое сделать — много; тут и плагины, и уязвимости сторонних библиотек)
S>Засовываем через эту дырку сторонний код. Сам по себе этот код написан на IL, который обрабатывается всё ещё православным JIT.
S>Засунутый сторонний код порождает нативный код, который уже не является безопасным, и делает всякие нехорошести с приложением и его окружением.
S>
Хороший вопрос как различать.
Это надо как-то системе сообщать кто может менять страницу и дать права запуска кода.
И чувствуется, что и это можно обойти
Проще тогда просто запрещать JIT.
Re[9]: Запуск нейтивного ассемблера из C# на лету
Здравствуйте, Sinclair, Вы писали:
S>То есть мат ставится в три хода:
S>* Пишем нормальное, добронравное приложение, которое пользуется JIT. Подписываем официальным сертификатом благонадёжного разработчика. В приложении имеется дырка в стиле log4j, которая позволяет исполнять сторонний код (а способов такое сделать — много; тут и плагины, и уязвимости сторонних библиотек)
S>*Засовываем через эту дырку сторонний код. Сам по себе этот код написан на IL, который обрабатывается всё ещё православным JIT.
S>*Засунутый сторонний код порождает нативный код, который уже не является безопасным, и делает всякие нехорошести с приложением и его окружением.
Хороший вопрос как различать.
Это надо как-то системе сообщать кто может менять страницу и дать права запуска кода.
И чувствуется, что и это можно обойти
Проще тогда просто запрещать JIT.
S>То есть мат ставится в три хода:
S>* Пишем нормальное, добронравное приложение, которое пользуется JIT. Подписываем официальным сертификатом благонадёжного разработчика. В приложении имеется дырка в стиле log4j, которая позволяет исполнять сторонний код (а способов такое сделать — много; тут и плагины, и уязвимости сторонних библиотек)
S>*Засовываем через эту дырку сторонний код. Сам по себе этот код написан на IL, который обрабатывается всё ещё православным JIT.
S>*Засунутый сторонний код порождает нативный код, который уже не является безопасным, и делает всякие нехорошести с приложением и его окружением.
Хороший вопрос как различать.
Это надо как-то системе сообщать кто может менять страницу и дать права запуска кода.
И чувствуется, что и это можно обойти
Проще тогда просто запрещать JIT.