The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Повышение безопасности Linux-ядра через использование доступ..., opennews (ok), 09-Ноя-10, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


19. "Повышение безопасности Linux-ядра через использование доступ..."  +/
Сообщение от Дима (??), 10-Ноя-10, 03:29 
>Ну а фигли - пытаются ставить NX bit на стек, а gcc туда сует трамплины.. вот и получаем бяку..

Ещё пять лет назад были патчи на glibc, gcc и остальных, заменящие такой код.

Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

25. "Повышение безопасности Linux-ядра через использование доступ..."  +/
Сообщение от Аноним (-), 10-Ноя-10, 06:20 
существуют - только тогда прийдется отказываться от nested functions
http://gcc.gnu.org/onlinedocs/gcc/Nested-Functions.html.

что приводит к нарушению стандарта на язык C.

Ответить | Правка | Наверх | Cообщить модератору

26. "Повышение безопасности Linux-ядра через использование доступ..."  +/
Сообщение от paxuser (ok), 10-Ноя-10, 07:03 
Во-первых, трамплины можно эмулировать: http://pax.grsecurity.net/docs/emutramp.txt
Во-вторых, вложенные функции для Си *не* стандартизированы и крайне редко встречаются. Но даже при отсутствии эмуляции код с вложенными функциями можно в порядке исключения (!) запускать на исполняемом стеке - paxctl и аналоги в помощь.
Ответить | Правка | Наверх | Cообщить модератору

35. "Повышение безопасности Linux-ядра через использование доступ..."  +/
Сообщение от JL2001 (ok), 10-Ноя-10, 13:26 
> Во-первых, трамплины можно эмулировать: http://pax.grsecurity.net/docs/emutramp.txt
> Во-вторых, вложенные функции для Си *не* стандартизированы и крайне редко встречаются.
> Но даже при отсутствии эмуляции код с вложенными функциями можно в
> порядке исключения (!) запускать на исполняемом стеке - paxctl и аналоги
> в помощь.

или я не понимаю что такое трамплины или вот им замена в x86
http://stfw.ru/page.php?id=9905
Команды передачи управления
JMP target Имеет пять форм, различающихся расстоянием назначения от текущего адреса, и способом задания целевого адреса. При работе в Windows используется в основном внутрисегментный переход (NEAR) в пределах 32-битного сегмента. Адрес перехода может задаваться непосредственно (в программе это метка) или косвенно, т.е. содержаться в ячейке памяти или регистре (JMP [EAX]).

тоесть можно осуществить переход по заданому в переменной (регистре) адресу, тоесть запись в сегмент кода не требуется !

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру