Как включить DEP или ASLR для моего приложения.NET?
1 ответ
Да, флаг NXCOMPAT включен стандартными компиляторами языка.NET начиная с.NET 2.0 SP1.
ASLR по сути автоматический в программах.NET благодаря JIT-компилятору. Где это будет размещено, JIT-скомпилированный машинный код непредсказуем. Хотя это, вероятно, будет повторяться на той же машине с точно таким же номером ревизии CLR и точно таким же потоком кода запуска и точно такими же DLL-библиотеками, внедряемыми в процесс. Не легко нацелены вредоносными программами, хотя. Сборки ngen-ed .NET поддерживают ASLR начиная с версии.NET 3.5 SP1.
Гораздо более мощным является ASLR для данных, что является более важной мерой противодействия атакам. Важно, потому что подавляющее большинство атак начинается с вредоносных данных. Каждый раз, когда вы запускаете вашу программу, меняется расположение стека потока, кучи GC и статических данных. Может быть довольно больно, что вы пытаетесь отладить AVE, кстати.
ASLR защищает от известных неисправимых недостатков безопасности. Сначала должен существовать недостаток безопасности, необычный в проверяемом коде.