Re[14]: Нужна ли Оберон-ОС защита памяти?
От: AVC Россия  
Дата: 11.02.05 12:02
Оценка:
Здравствуйте, RailRoadMan, Вы писали:

RRM>Oberon язык компилируемый (если ошибся извините). Значит в скомпилированном модуле находятся машинные коды х86. Кто мешает мне вписать туда код на встроенном ассемблере? Для этого нужно испортирование какого-то модуля?

RRM>MOV BX,<левый адрес>
RRM>MOV [BX],<всякий мусор>
RRM>Проехались по чужой памяти.

В принципе, Оберон, конечно — язык компилируемый, хотя возможна и докомпиляция на стадии загрузки модуля. В Обероне изначально был способ переносить код между разными Оберон-системами (OMI), который впоследствии стал известен как JIT.

RRM>Я готов предположить, что просто так (без импорта каких либо модулей или дополнительных привилегий) нельзя писать код на встроенном ассемблере, но я ведь могу немного модифицировать уже скомпилированный двоичный файл и вписать туда приведенный код, ну или изменить адрес. Как такую ситуацию обработает ран-тайм? Эта пара интсрукций не является привеллегированной и в общем случае нельзя сказать, она допустима или нет.

RRM>Такая ситуация повалит всю систему, в системе с разделением памяти погибнет только один процесс.

Вопрос понятен и совершенно разумен.
Я и правда сначала не понял, на чем Вы делаете акцент.
Надо подумать...
В принципе, когда-то у меня возникал подобный вопрос, но я тогда решил, что в системах, критичных с точки зрения безопасности, никто не даст редактировать исполняемые файлы. (Система может это запрещать?)
А можно попробовать и другой способ. Например, проверять контрольную сумму на этапе загрузки, или еще что-нибудь.
Главное, согласен — такую возможность нельзя упускать из виду.

Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.

Хоар
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.