|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Zahar Kiselev 2:5030/382.1 25 Oct 2004 18:57:00 To : Igor Plekhov Subject : Re: неисполняемый стэк в 2.4 ? --------------------------------------------------------------------------------
Oct 25 15:11 04, Igor Plekhov wrote to Zahar Kiselev:
>> В любом случае намеренное неиспользование _имеющихся_ в процессоре
>> средств защиты от обязательно присутствующих(случайно или
>> преднамеренно) в любых программах ошибок - я не считаю технически
>> грамотным решением.
IP> Линус Торвальдс про неисполняемый стек:
IP> http://old.lwn.net/1998/0806/a/linus-noexec.html
Линус несомненно прав - одним только неисполняемым стэком не проблему не решить.
Однако если тот буфер, который он упоминает в своем примере, будет помещен не в
общий стэк программы, а в отдельный сегмент данных - то _первый_ же байт,
вылезший за границу отведенного места - вызовет ошибку защиты и будет отловлен.
Примеры как это делать - в свое время распространялись как приложения к
учебникам по использованию защищенного режима интеловских процессоров. То, что
данная возможность процессора не использована - это явный технический недостаток
ядра линукса. Другое дело - что очень немного людей, способных написать и
отладить соответствующий код. Я вот например во времена доса с защищенным
режимом возился и мелкие программки даже писал - но переделать ядро Линукса я
точно не возьмусь - и объем велик, и _простых_ инструментальных средств нет.
Поэтому пользуюсь тем что есть и благодарен тем кто все это создал.
Zahar(@spbdept.rbc.ru) Остров Большой Березовый: http://birch-island.spb.ru
--- Msged/LNX 6.1.1
* Origin: N:60.20' E:28.37' (2:5030/382.1)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/3288417d4eba.html, оценка из 5, голосов 10
|