The OpenNET Project / Index page

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



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

Оглавление

Раскрыты детали атаки Stack Сlash и 15 root-эксплоитов для р..., opennews (??), 19-Июн-17, (0) [смотреть все]

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


19. "Раскрыты детали атаки Stack Сlash и 15 root-эксплоитов для р..."  +/
Сообщение от Аноним84701 (ok), 19-Июн-17, 23:00 
> Там же неверняка накладные расходы на реализацию защищенной страницы не меньше?
> Объясните, а то для моих скудных познаний stack guard-page выглядит слишком костыльно.

http://wiki.osdev.org/Paging
Если вкратце, то проверки страниц проводятся так или иначе (причем, при каждом обращении программы к памяти -- взять ту же NX-фичу, которой уже лет эдак пятнадцать. Т.е. скорость проверки соответсвует потребностям)  и "guard" - это просто-напросто страница памяти без каких либо разрешений.


     PROT_NONE       No permissions at all.
     PROT_READ       The pages can be read.
     PROT_WRITE      The pages can be written.
     PROT_EXEC       The pages can be executed

И кончено, оно наамного быстрее костылей с проверками при каждой операции.
Единственно, памяти "тратится" минимум PAGE_SIZE

getconf PAGE_SIZE                                                            
4096

и поэтому лепить для защиты стековых переменных/фрейма выходит вроде как все еще несколько накладно.


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

32. "Раскрыты детали атаки Stack Сlash и 15 root-эксплоитов для р..."  +2 +/
Сообщение от Аноним (-), 20-Июн-17, 06:58 
>[оверквотинг удален]
>      PROT_EXEC      
> The pages can be executed
> И кончено, оно наамного быстрее костылей с проверками при каждой операции.
> Единственно, памяти "тратится" минимум PAGE_SIZE
>
 
> getconf PAGE_SIZE
> 4096
>

> и поэтому лепить для защиты стековых переменных/фрейма выходит вроде как все еще
> несколько накладно.

Стоит уточнить, что «тратится» из-за сторожевых страниц не просто память, а именно виртуальная; в физическую память это страницы не отображаются, поэтому все накладные расходы связаны с поддержанием служебных таблиц виртуальной памяти (чем они больше, чем чаще ЦП при обращении к ним промахивается мимо кэша и тем дольше их простой перебор).

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

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

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




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

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