The OpenNET Project / Index page

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



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

Исходное сообщение
"Уязвимость в гипервизоре VMM, развиваемом проектом OpenBSD"
Отправлено Аноним, 22-Фев-20 10:45 
> > > Реальность, увы, иная. JIT используется много где, и понятно зачем.
> > Желаю все оптимизировать во время компиляции под свой проц, а во время исполнения иметь гарантию неизменности кода.
> Это желания и только. Реальность есть реальность

У меня source based дистрибутив вопрошающий мои желания в реальность!

> > > К слову, не каждая реализация JIT должна требовать W|X
> > Исполнение ранее измеряемого кода - неприемлемо. Как и изменение прав x -> w -> x
> Где так написано? А то программисты не знают и по другому программы пишут. И, цука, иногда нужные. Да, сделано из г-на, но какую-то нужную проблему решает.

И по этому их программы люди не используют. Передай этим "программистам", что если использую JIT, то код должен ветвится на две ветки: без JIT и с JIT. Выбор используемой ветки должен проводится на этапе выполнения configure: параметрами --with-jit или --disable-jit. Все нормальные программисты уже так сделали, даже в Google со своим хромом.

CONFIG_PAX_MPROTECT=y
Enabling this option will prevent programs from
- changing the executable status of memory pages that were not originally created as executable,
- making read-only executable pages writable again,
- creating executable pages from anonymous memory,
- making read-only-after-relocations (RELRO) data pages writable again.

https://en.m.wikibooks.org/wiki/Grsecurity/Appendix/Grsecuri...

https://en.m.wikibooks.org/wiki/Grsecurity/Appendix/Grsecuri...

https://grsecurity.net/PaX-presentation.pdf

https://grsecurity.net/PaX-presentation.ppt

http://mainisusuallyafunction.blogspot.com/2012/11/attacking...

https://github.com/01org/jit-spray-poc-for-ksp

http://www.matasano.com/research/Attacking_Clientside_JIT_Co...

> Окей, как вы каменты на опеннете  оставляли до того, как вышла версия хрома с nojit?

На целевой системе нет firefox и chrome. Кроме них есть куча бровзеров которые по умолчанию ответственно относятся к безопасности и приватности пользователей.

Firefox JIT нужен только для поддержки расширений. Можно расширения устанавливать пакетным менеджером в систему и отключить их поддержку firefox. Это правильный и безопасный путь. Почему его не используют разработчики дистрибутивов?

> > > Их (гарантий) нет и в PAX. Можно отключить защиту как глобально, так и per app.
> > У тебя нет, а у меня есть, возможность глобально отключить PAX требует перезагрузки, но я эту опцию в настройках ядра не включил.
> Бессмысленная софистика. Принципиальная возможность - есть. Это абсолютно всё, что нужно знать.
> А что там кто-то для себя наколхозил - не интересно.

В целевой системе, при правильной настройке (x86_64+NX процессору верим ;) ), PaX отключить принципиально, теоретически и практически невозможно:

PAX=y
PAX_SOFTMODE is not set
PAX_EI_PAX is not set
PAX_PT_PAX_FLAGS is not set
PAX_XATTR_PAX_FLAGS is not set
PAX_HAVE_ACL_FLAGS=y
PAX_NOEXEC=y
PAX_PAGEEXEC=y
PAX_SEGMEXEC is not set
PAX_EMUTRAMP is not set
PAX_EMUSIGRT is not set
PAX_MPROTECT=y
PAX_MPROTECT_COMPAT is not set
PAX_ELFRELOCS is not set
PAX_ETEXECRELOCS is not set
PAX_EMUPLT is not set
PAX_DLRESOLVE is not set
PAX_KERNEXEC=y

PAX_ASLR=y
PAX_RANDKSTACK=y
PAX_RANDUSTACK=y
PAX_RANDMMAP=y

PAX_MEMORY_SANITIZE=y
PAX_MEMORY_STACKLEAK=y
PAX_MEMORY_STRUCTLEAK=y
PAX_MEMORY_UDEREF is not set
PAX_REFCOUNT=y
PAX_CONSTIFY_PLUGIN=y
PAX_USERCOPY=y
PAX_SIZE_OVERFLOW=y
PAX_LATENT_ENTROPY=y
PAX_RAP=y

> > По приложениям можно менять или заглавие ELF или xattr
> Не все хотят при каждом обновлении прописывать все флаги ручками, обычно это автоматизируется. Есть даже костыледемон paxd для этих целей. Т.е. можно ещё поколдовать со скриптами автоматизации или конфигами paxd. А не в лоб.

В моем дистрибутиве пакетный менеджер умеет, для кривого софта, выставлять нужные PAX флаги!

Костыледемон paxd похерит Integrity. А при ro / и вовсе бесполезен.

Лучше просто не использовать софт с JIT вовсе.

> > А у меня / смонтирован ro и ядро недаст его перемонтировать rw, потому что мое ядро следит чтобы диски тоже в режиме rw,exec не монтировались. А кроме того есть IMA которая заблокирует изменения ELF и есть EVM которая заблокирует изменения IMA и xattr. У меня есть 100% гарантия.
> Плохо, что ты думаешь, что у тебя 100% гарантия. Может это и так (я не знаю), но недоверие - это хорошо.

Плохо ты думаешь, гарантия зависит от того кто гарантирует (настраивал). Данный алгоритм, при правильной настройке, даст 100℅ гарантию не низменности, по файловых, настроек PAX в целевой системе.

> Опенбсдшники не патчили ff на предмет неиспользования jit. Ну, я про такое не слышал. Pledge туда добавили, да, и unveil.

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

 

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



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

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