2015-07-22 5 views
2

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

Мой ответ был чем-то вроде наличия предварительно разделяемого ключа для наших процессов, и всякий раз, когда процесс отправляется, есть отдельный процесс, который запрашивает PSK. Если это правильно, то запись для этого PID выполняется в некоторой хеш-таблице, хранящейся в памяти, что это законный процесс. Я не знаю, насколько это правильно, и, конечно, эта схема требует изменений для всех процессов. Как я собираюсь даже достичь этого, я понятия не имел. Как вы считаете правильным решением.

+5

Как насчет нормального распределения памяти по каждому процессу. Когда программа пытается записать за пределами своей памяти, она отключается. – stark

+0

Хм ... но не ограничивается ли ... Как бы то ни было, если я хочу получить некоторую память из кучи. –

+2

Если вы можете выделить его, вы можете написать на нем. Также существуют ограничения на объем памяти, который может выделить процесс. – stark

ответ

4

Схема называется protected memory и обычно реализуется модулем управления памятью внутри вашего CPU, как запрограммировано ОС.

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