LINUX.ORG.RU

Новый механизм выделения памяти в OpenBSD


0

0

Командой разработчиков OpenBSD предложен новый механизм выделения памяти, который будет включен в состав версии 3.8 этой операционной системы, что сделает её на порядок более защищенной по сравнению с другими ОС. Эта технология уже позволила найти ошибки при работе с памятью в большом количестве ПО, в т.ч. была обнаружена ошибка десятилетней давности в X11 сервере. Разработчики приглашают пользователей к тестированию.

>>> Подробности

★★★★★

Проверено: ivlad ()

Молодцы парни!

anonymous
()

ps: судя по стилю, Тео так и не научился банальной вежливости общения с людьми. видимо, это core feature :)

// wbr

klalafuda ★☆☆
()

> что сделает её на порядок более защищенной по сравнению с другими ОС

Ничьи лозунги не напоминает?

anonymous
()
Ответ на: комментарий от klalafuda

> ps: судя по стилю, Тео так и не научился банальной вежливости общения
> с людьми. видимо, это core feature :)

в батность разработчиком netbsd тео так часто просили to shut up что он наконец решил сделать свою операционку и гордо назвал ее open - в смысле она не shut up :)

учите историю

anonymous
()

Радует то, что от версии к версии OpenBSD становиться "выше и сильнее"
, чем тот же Linux, который становится "ленивее и толще" со своими
дистрибутивами, напоминающими лебедя,рака и щуку.
Удачи Theo!

anonymous
()

Кто всё это смотрел, чем это отличается от ln -s 'AJ' /etc/malloc.conf во фре?

Novel ★★★★
()
24 августа 2005 г.

Ну почему от этой OpenBSD всегда столько шума ? 

Теперь по пунктам:

"- We made the mmap(2) system call return random memory addresses. As well the kernel ensures that two objects are not mapped next to each other; in effect, this creates unallocated memory which we call a "guard page"."

Использование "guard page" отнюдь не новый прием.

"- We have changed malloc(3) to use mmap(2) instead of extending the data segment via brk()
- We also changed free(3) to return memory to the kernel, un-allocating them out of the process."

Ну, ну. Вместо вызова brk() только в случае отсутствия требуемого блока памяти будет ВСЕГДА использоваться mmap(). А при освобождении блока будет вызываться munmap(). Это обязательно снизит производительность ибо:
1) системные вызовы вещь недешевая;
2) в адресном пространство процесса будет много "дыр" что создаст дополнительную нагрузку на подсистему виртуальной памяти ОС.

"- As before, objects smaller than a page are allocated within shared
pages that malloc(3) maintains."

А вот это уже совсем плохо. Это называется внушать пользователю ложное чувство безопасности.

В общем достаточно спорное решение...

anonymous
()
Ответ на: комментарий от anonymous

>> его зовут Theo не Teo

> а если по русски ?

Наверно, Сео, Фео или ещё чёрт его знает как. Вообще, в этом папуасском языке (который аглицкий) есть чёткое правило произношения "th" или кто во что горазд?

anonymous
()
Ответ на: комментарий от anonymous

>Это обязательно снизит производительность ибо

Опену это не страшно: и так уже...

Pi ★★★★★
()
Ответ на: комментарий от anonymous

Если ты имеешь ввиду M$, то мимо кассы. У них что-то типа "Наша система стала еще лучше чем прежде." и т.д.

wbr...

anonymous
()
Ответ на: комментарий от klalafuda

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

wbr...

anonymous
()
Ответ на: комментарий от anonymous

за бозар то ответишь?
за какое число снапшот? или с -куррентом по жизни?

anonymous
()
Ответ на: комментарий от anonymous

> Не качайте!!!

> Я уже потестил - одни сегфолты!

читай внимательно :

I said that we were afraid to go ahead with guard pages, because a lot of software is just written to such low standards. Applications over-read memory all the time, go 1 byte too far, read 1 byte too early, access memory after free, etc etc etc.

и

We know that what this new malloc is doing is perfectly legal, __but that realistically some open source software is of such low quality that it is just not ready for these things to happen.__

да и вообще - прочиатй всё и внимательно прежде чем делать выводы о сегфолтах

bernoulli
()

Идея представляется разумной.

Кое-что из перечисленного (memory layout randomization, например) в Линуксе уже есть (selinux, grsecurity).

malloc через mmap это ново :))

В целом очень здравая идея -- заставлять девелоперов тестить свои нетленки на такой системе. Как я понимаю, изменения в основном касаются либц, а не ядра, и можно (и нужно) замутить что-то подобное в Линухе. А потом отлавливать сегфолты, путем LD_PRELOAD и пр.

Причем, возможно, и страницы не шарить -- тормозить будет, конечно, но если память под linked list выделяется по 8 байт 32000 раз, программисту все равно надо дать в ухо. (бьет себя по уху)

Хорошая новость. Что бы там про этого Тео не флудили, мозгами его Б-г не обидел :)

lodin ★★★★
()
Ответ на: комментарий от anonymous

> А при освобождении блока будет вызываться munmap(). Это

> обязательно снизит производительность ибо:

Ты забыл, Тхио всегда плевал на производительность в пользу сверического коня в вакууме, которого он зовет "безопасностью". Поэтому открытую бздню никто и не использует. И отсюда у него жуткие комплексы неполноценности, что вы ражается в псевтокрутоски и пальцанутости :) В общем - к психоаналитику его.

log1n
()
Ответ на: комментарий от anonymous

> Если ты имеешь ввиду M$, то мимо кассы.

Во, ты правильно понял :) Даже ты. Значит действительно похоже!

log1n
()
Ответ на: комментарий от log1n

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

OpenBSD для тех кому нужна стабильность,
а не скачки "галопам-па-Европам" в духе Linux.
Даже сложно представить зачем красноглазым, сидящих на ADSL на
однопроцессорных машинках с небольшой коллекцией мп3 с крутыми
свистелками-перделками так называемая "производительность" о
которой они так любят похвастать. Вы там что, c /dev/hda1 на
/dev/hdb1 файло в loop'е перекидываете 24 часа в сутки.
Проц у вас на 99% забит? Ну-ну!

anonymous
()
Ответ на: комментарий от anonymous

а зачем ставить "безопасную" бздю, когда тот же линух не сильно уступает ей по безопасности? так зачем ставить-то? ради фанатизма? ну нет спасибо ,лучше полностью рабочий linux, чем полудохлый одноглазый инвалид - OpenBSD

ИМХО чтобы поставить OpenBSD у человека может быть лишь одно оправдаение -- "Он фоннат OpenBSD" и на работоспособность, производительность и на факты ему нас рать

anonymous
()
Ответ на: комментарий от anonymous

>а зачем ставить "безопасную" бздю, когда тот же линух не сильно уступает ей по безопасности?

посмеялся. зачОт!

anonymous
()
Ответ на: комментарий от anonymous

Действительно. Есть же SElinux, а вот SEopenBSD - нет. Да и user-mode-bsd в природе не встречается. Так что ...

anonymous
()
Ответ на: комментарий от anonymous

> Вы там что, c /dev/hda1 на
> /dev/hdb1 файло в loop'е перекидываете 24 часа в сутки.
> Проц у вас на 99% забит? Ну-ну!

типа того. пара сотен активных коннектов к сквиду с кэшем на сотню гиг ?
примерно то же самое с самбой ? почтовик с прикрученным антивирем ? то же самое аэродинамическое моделирование что в треде рядом ? да хоть картинки в гимпе крутить или видео перекодировать ?

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

Tester ★★★
()
Ответ на: комментарий от anonymous

> Действительно. Есть же SElinux, а вот SEopenBSD - нет. Да и user-mode-bsd в природе не встречается. Так что ...

В гугле набери SEBSD .

Novel ★★★★
()
Ответ на: комментарий от Tester

>то же самое аэродинамическое моделирование

Оно конечно. Вот только когда потом выяснится, что рассчеты шли под контролем третьих лиц, то весь ит-отдел на х$й расстреляют и это будет правильно.

Sun-ch
()
Ответ на: комментарий от fly-away

> про jail слышал?

Именно поэтому и говорю. Линуксовые решения кроют убогий jail как бык овцу.

anonymous
()
Ответ на: комментарий от Novel

> В гугле набери SEBSD .

Неужто содрали наконец? Молодцы. Но в любом случае лучше пользоваться оригиналом.

anonymous
()
Ответ на: комментарий от anonymous

> а зачем ставить "безопасную" бздю, когда тот же линух не сильно

> уступает ей по безопасности? так зачем ставить-то?

Как это зачем? А с железом неопределяющимся поиб*цца? :-) Сексу ради. Вот зачем :-)

log1n
()

работаю с openbsd уже 6 лет. дак вот за всё время оставалось только хорошее впечатление: удобство администрирования, качество исходного кода. Т.е. openbsd меня никогда не подводила в работе, релизы только свежии накатываешь раз в 8 месяцев да и всё.

anonymous
()
Ответ на: комментарий от anonymous

Питаюсь морковью уже 7 лет. Дак вот все время оставалось хорошее впечатление и морковь меня никогда не подводила. Сбегаешь в нужник раз в три часа да и все.

anonymous
()
Ответ на: комментарий от Sun-ch

> Оно конечно. Вот только когда потом выяснится, что рассчеты шли под
> контролем третьих лиц, то весь ит-отдел на х$й расстреляют и это будет
> правильно.

отлично! это означает что для таких расчетов нужно использовать мсвс, альт и асп линукс (все сертифицировано даже), поскольку все остальные ОС идут лесом (третьи лица) а винда идет потому что еще нет кластер эдишн.

можно я этот аргумент у тебя возьму на вооружение ?

Tester ★★★
()
Ответ на: комментарий от anonymous

> работаю с openbsd уже 6 лет. дак вот за всё время оставалось

> только хорошее впечатление: удобство администрирования,

> качество исходного кода. Т.е. openbsd меня никогда не

> подводила в работе, релизы только свежии накатываешь раз в 8

>месяцев да и всё.

Работаю с RedHat Linux уже 8 лет. дак вот за всё время оставалось только хорошее впечатление: удобство администрирования, качество исходного кода. Т.е. RedHat Linux меня никогда не подводила в работе, релизы только свежии накатываешь раз в 12-15 месяцев да и всё.

log1n
()
Ответ на: комментарий от log1n

> Работаю с RedHat Linux уже 8 лет. дак вот за всё время оставалось
> только хорошее впечатление: удобство администрирования, качество
> исходного кода. Т.е. RedHat Linux меня никогда не подводила в работе,
> релизы только свежии накатываешь раз в 12-15 месяцев да и всё.

работаю с дебианом уже 10 лет. недавно юбилей отмечал. дак вот за всё время оставалось только хорошее впечатление: удобство администрирования, качество исходного кода. Т.е. debian меня никогда не подводил в работе, апгрейды только накатываешь раз в 3 года и все

для танкистов - щютка

Tester ★★★
()
Ответ на: комментарий от Tester

> для танкистов - щютка

Так оно и понятно, что щютка. А вот я правду писал :-)

log1n
()
Ответ на: комментарий от anonymous

работаю на mac os x уже несколько лет, дак вот за всё время оставалось только хорошее впечатление: удобство администрирования, отсутствие необходимости в исходном коде. Т.е. mac os x меня никогда не подводила в работе, апдейты свежие накатываются сами когда им нужно, да и все.

anonymous
()
Ответ на: комментарий от anonymous

> апдейты свежие накатываются сами когда им нужно, да и все.

Ты с виндой не попутал? Это только там апдейты накатываются сами, т.к. чтобы накатить апдейт нужен хотябы зачаток интеллекта. Т.е. макос тоже для даунов?

log1n
()
Ответ на: комментарий от log1n

> Т.е. макос тоже для даунов?

Всегда такой была. Что тебя удивляет?

anonymous
()
Ответ на: комментарий от log1n

> Ты с виндой не попутал? Это только там апдейты накатываются сами, т.к. чтобы накатить апдейт нужен хотябы зачаток интеллекта. Т.е. макос тоже для даунов?

мальчик, это только в системах, где все надо постоянно контролировать, вот там - апдейты это проблема пользователя.

А по-хорошему - апдейты это проблема вендора. Именно так и сделано в mac os x и windows.

anonymous
()
Ответ на: комментарий от anonymous

> А по-хорошему - апдейты это проблема вендора

apt-get install apt-cron

PS речь идет об апгрейдах а не апдейтах - вот если вин98 сама проапрейдится до в2к3 - вот это будет фокус (или макось с девятки на десятку)

Tester ★★★
()
Ответ на: комментарий от anonymous

>Использование "guard page" отнюдь не новый прием.

Он не новый для ограничения стека, а VMA все распространенные ОС действительно лепят подряд(а нахрена фрагментировать таблицы страниц, чтобы терять лишнюю память под таблицы и фрагментировать само виртуальное адресное пр-во). Другое дело, что сомнительно, что это к чему-то хорошему приведет. Это не что-то из области "а мы подумали и придумали", а скорее "все в мире подумали и решили, что это нах не надо, а мы подумали и решили, что мы таки сделаем". ;)

>"- We have changed malloc(3) to use mmap(2) instead of extending the
>data segment via brk()

malloc во всех вменяемых libc(типа glibc) уже много лет выделяет зоны с mmap. Хотя можно собрать и без использования mmap.

>- We also changed free(3) to return memory to the kernel, un-allocatin
>them out of the process."

free не всегда может вернуть память ядру. :) А когда может - тогда действительно можно. Это можно было бы сделать не поведением by default, а опцией. Как промежуточное решение можно было бы делать страницу NO ACCESS, тогда и защита будет работать и страницы без необходимость не будут туда-сюда летать.


>"- As before, objects smaller than a page are allocated within shared
>pages that malloc(3) maintains."
>
>А вот это уже совсем плохо. Это называется внушать пользователю
>ложное чувство безопасности.

Я бы сказал, что это эквивалентно "тут мы ничего не поменяли, но все равно напишем". :)

anonymous
()
Ответ на: комментарий от anonymous

Опять флуд. У меня серваки стоят под Линуксом - работает и сквид с несколько гиговых кешем и все остальное. При этом любой необходимый мне софт есть в дистре, а если нет в дистре - либо компилится без боков, либо уже кем-то собран и выложен. С безопасностью проблем вроде бы не ощущаю. Локализация проста. На десктопе чудно работает. С оборудованием нет проблем (ни с USB, ни с SATA, ни с чем другим).

Вопрос: зачем мне переходить на ОпенБЗД, дабы в портах было мало пакетов (для сравнения в Дебиан более 16 тысяч пакетов ;) )

anonymous
()
Ответ на: комментарий от anonymous

чтобы присоединиться к незначительному кругу фанатиков! как тебе такая перспектива?

anonymous
()
Ответ на: комментарий от pop

> работаю, осталось хорошее впечатления, накатываю, впечатление еще лучше

Простите, что вы накатываете? =)

Novel ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.