The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Разработчики OpenBSD развивают новый метод защиты стека"
Отправлено Ordu, 12-Мрт-18 23:11 
> Положительные эффекты суммируются, когда они есть. IMHO, если ты не доверяешь запускаемому
> коду - заворачивай его в виртуалку или какую другую песочницу, где
> ты можешь настроить соотношение безопасность/геморрой. А если доверяешь - то защищать
> надо от тупости, и не более. А уж энфорсить в ядре
> защиту защиту приложений от их же дыр - это бред сивой
> кобылы.

Ну, так рассуждая, можно придти к выводу, что DOS лучшая операционная система, потому что она полностью доверяет приложениям. Они могут делать всё что угодно, и DOS им не мешает. Кстати да, когда я когда-то давно перелез из DOS в Windows, меня кошмарно раздражало, что Windows не пускает меня к видеопамяти, к контроллеру клавиатуры, к прерываниям таймера и прочим железкам. Со временем я привык и даже научился получать удовольствие от этих ограничений, но поначалу бесило ужасно: засунули меня в позорную ring3 песочницу, как ребёнка малого прям, и не выпускают оттуда. Одной из причин моего радостного перехода в linux было то, что в linux'е не нужно было платить денег за DDK, чтобы написать модуль, который будет по-взрослому работать в ring0. Но, как-то так выяснилось довольно быстро, что в ring0 мне делать нечего, и неинтересно. И я как ребёнок малый с тех пор сижу в песочнице ring3.

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

Не знаю даже почему. Потому, что память из mmap надо освобождать через munmap, а не через free? Ну, это неудобство, наверное, но я не думаю, что какое-то особое: все эти развлечения со стеком всё равно требуют либо asm'а, либо этих дурацких костыльных API, типа setjmp/longjmp или makecontext, то есть вокруг переключения контекстов по-любому приходится устраивать какие-то особые пляски с бубном, поэтому если добавить в эти пляски ещё и ритуал вызова munmap, вместо free, то это не сделает ситуацию хуже.

Я пользовался mmap и с другими целями -- чтобы не выделять из кучи больших кусков. При помощи malloc получается почти то же самое, но с лишними посредниками в виде алгоритмов кучи, и с невозможностью потом отдать память обратно системе. Ещё я использовал его, чтобы файлы открывать -- если забить на переносимость программы на железо с другим endianess, то очень удобно бинарный файл открыть через mmap, привести указатель к типу struct my_binary_file_format, и работать потом с результатом, не парясь на вычитывание из FILE* одного поля за другим, и в то же время подгружая в память с диска только то, что надо. Так вот, я не упомню, чтобы необходимость использования munmap вместо free создавала каких-либо проблем, даже несмотря на то, что всё это происходило в C, где нет возможности создать тип параметризованный аллокатором, с тем чтобы свалить на компилятор проблемы выбора между free и munmap.

> Сложная система выглядит как куча костылей, когда она используется за пределами тех
> областей, для которых предназначена,

Может быть. Но пускай в OpenBSD первой кинет камень та сложная система, которая не выходила за пределы своей области предназначения.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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