2012-06-27 2 views
-1

Мне очень сложно понять, зачем нам нужен DEP!Простой пример использования функции обеспечения безопасности выполнения данных (DEP)

Microsoft states это о DEP:

Основное преимущество DEP, чтобы помочь предотвратить выполнение кода из данных страниц.

Как правило, код не выполнен из кучи по умолчанию и стека. Аппаратный DEP обнаруживает код, который выполняется из этих местоположений, и вызывает исключение при выполнении.

Программный DEP может помочь предотвратить использование вредоносного кода Преимущество механизмов обработки исключений в Windows.

Что это значит?

Можете ли вы дать мне простой пример без кода для этого!

+0

Звучит как вопрос, который не следует задавать в соответствии с FAQ: [Какие вопросы я не могу задать здесь? - Вы должны задавать только практические, ответные вопросы, основанные на ** актуальных проблемах, с которыми вы сталкиваетесь **.] (Http://stackoverflow.com/faq#dontask). –

+1

не открытый вопрос, хотя .. я прошу пример. – Anirudha

+0

Итак, какая ** проблема ** у вас есть, что вам нужен пример? И [Что вы пробовали] (http://www.whathaveyoutried.com) –

ответ

4

Скажите, что я злоумышленник, и я обнаружил уязвимость, которая (единственно) позволяет мне установить EIP - счетчик программ - в ваше приложение. Классический способ использования этого заключается в том, чтобы написать небольшой код-заглушку («шелл-код») и отправить его в ваше приложение в качестве некоторого параметра (поэтому его можно поместить в поле «имя» в банковском приложении, например). Ваше приложение будет хранить его в буфере стека (или кучи), и я мог бы затем установить EIP - используя уязвимость, которую я нашел, - чтобы указать на начало этого буфера. Voila, моя заглушка кода выполнена, и ваша коробка выложена :)

Используя DEP, CPU знает, что отклоняет попытки выполнить эти данные, и вы немного безопаснее.

Это на практике сложнее, чем на практике, но в этом суть. Имеет ли это смысл?

+0

вот хороший пример ... спасибо – Anirudha

Смежные вопросы