The OpenNET Project / Index page

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



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

Оглавление

Microsoft открыл CHERIoT, аппаратное решение для повышения безопасности кода на языке Си, opennews (??), 01-Мрт-23, (0) [смотреть все]

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


185. "Microsoft открыл CHERIoT, аппаратное решение для повышения б..."  –1 +/
Сообщение от maximnik0 (?), 01-Мрт-23, 21:50 
А в этом RISC-V >классические инструкции NX,

Я по быстрому просматривал документацию,этого там нет.(Pae вообще то это расширенная адресация памяти,к безопасности отношение не имеет).Но не все так однозначно -в памяти исполнение программы запрещено,все вычесление только через регистры.А для вычесленных результатов есть память с допуском на запись через процедуру сохранение регистров. Но если нужна защита есть хитрый атрибуты для  атомарной операции. И ещё можно запретить чужой программе записывать в память.

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

256. "Microsoft открыл CHERIoT, аппаратное решение для повышения б..."  –2 +/
Сообщение от Аноним (256), 02-Мрт-23, 19:37 
>> А в этом RISC-V классические инструкции NX,
> Я по быстрому просматривал документацию,этого там нет.

Значит RISC-V - _г_о_в_н_о_ проц.

> Но если нужна защита есть хитрый атрибуты для  атомарной операции.

И как ты без NX будешь защиту памяти писать в OS? Надо реализовать: https://www.opennet.me/openforum/vsluhforumID3/129886.html#253

Писали когда-то защиту и для 286 без NX, но с какими-то другими инструкциями, регистрами - тормоза, ад и израиль!

Переписывать ядра OS никто не будет. Защита памяти уже реализована постранично или посегментно. Если проц не умеет ни постранично ни посегментно, то такое _г_о_в_н_и_щ_е_ никому ненужно!

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

258. "Microsoft открыл CHERIoT, аппаратное решение для повышения б..."  +/
Сообщение от Аноним (258), 02-Мрт-23, 19:40 
И для виртуализации инструкции тоже необходимы.

Но NX нужнее.

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

305. "Microsoft открыл CHERIoT, аппаратное решение для повышения б..."  +/
Сообщение от Аноним (302), 03-Мрт-23, 19:03 
С виртуализацией у RISC-V прогрессивнее всех нас егодня. Она там многоуровневая.
Ответить | Правка | Наверх | Cообщить модератору

275. "Microsoft открыл CHERIoT, аппаратное решение для повышения б..."  +1 +/
Сообщение от Аноним (265), 02-Мрт-23, 21:49 
Проц поддерживает тэгирование памяти (3 бита), а это покруче чем просто защита от исполнения (1 бит). Адреса хранятся в дескрипторе (128 бит), а не в указателе (64 бит). Дескриптор содержит указатель, размер и смещение. Работа с дескриптором защищена.

Постранично, посегментно это манагер памяти. Вы уверены что этого нет? Или просто хотелось?

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

308. "Microsoft открыл CHERIoT, аппаратное решение для повышения б..."  +/
Сообщение от Аноним (308), 04-Мрт-23, 09:56 
> Проц поддерживает тэгирование памяти (3 бита), а это покруче чем просто защита от исполнения (1 бит)

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

> Постранично, посегментно это манагер памяти.

Это метод защиты памяти. Постранично, на процах с NX защита работает без накладных расходов. А посегментно всегда чуть тормозит. В средине нулевых, после серии бажных Pentium-4 от Intel которые не верно работали с NX многие перестали доверять защите от проца и перешли на посегментную защиту.

> Вы уверены что этого нет?

Я не уверен что это есть, по этому и спрашиваю.

> Или просто хотелось?

Нет. Мне это необходимо и является основным критерием для выбора архитектуры процессора.

Жду патчи на ядро Linux с реализацией постраничной защиты памяти для RISC-V и mprotect() умеющий https://www.opennet.me/openforum/vsluhforumID3/129886.html#253
А пока утверждаю, что в ядре Linux поддержки защещиты память даля RISC-V нет.
Может в NetBSD раньше появится. Если этот проц может паммять постранично защищать.

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

281. "Microsoft открыл CHERIoT, аппаратное решение для повышения б..."  +1 +/
Сообщение от maximnik0 (?), 02-Мрт-23, 22:19 
> И как ты без NX будешь защиту памяти писать в OS? Надо
> реализовать: https://www.opennet.me/openforum/vsluhforumID3/129886.html#253

Там есть 3 атрибута на память -Чтение,модификация и запись.Атомарные атрибуты-можно поставить барьеры - запретить другим процессам вмешиваться в работу памяти (или после завершение атомарной операции разрешить модификацию или чтение).А также можно выставить бит на запрет модификации -барьерных,атрибутных и других флагов.И проглядел более углубленно 128 битные регистры - у них зареверзировано поле расширенные атрибуты безопасности.И как бы это не то что мы читали новость.


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

312. "Microsoft открыл CHERIoT, аппаратное решение для повышения б..."  +/
Сообщение от Аноним (312), 04-Мрт-23, 12:10 
> Там есть 3 атрибута на память -Чтение,модификация и запись.

А надо - исполнение (запрет исполнения).

Еще раз, решили, что для обеспечения корректной работы ядра OS с памятью необходимо и достаточно:

  1. запрет изменения на исполняемую области памяти которая исполняемой не создавалась (W^X),
  2. запрет изменения на запись памяти которая выделена как исполняемая (W^X),
  3. запрет создания исполняемой памяти из анонимной памяти (W^X),
  4. запрет изменения на запись памяти выделеной только для чтения (RELRO).

У читывая что память выделяет ядро OS которое работает на процессоре, процесор должен иметь такие инструкции, чтобы максимально упростить написание ядра OS без потери производительности. И при этом процессор не должен быть переусложнённым.

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

315. "Microsoft открыл CHERIoT, аппаратное решение для повышения б..."  +/
Сообщение от maximnik0 (?), 04-Мрт-23, 22:06 
>И при этом процессор не должен быть переусложнённым.

Что то из перечисленного как мне кажется лишнее.Не забывайте что у RISC-V нет извращений для работы с памятью. Т.е  вычисления и другие операции минуя регистры запрещены.По крайне мере так я понял документацию.(Не забывайте что базовый набор команд совсем небольшой.) А насчет неисполняемого бита - еще для х86 было такое замечательное решение PaX .А насчет W^X с OpenBSD.В статье Криса Касперского "переполнение буфера на системах с неисполняемым стеком" говориться что эта защита обходиться множественным вызовом функции mmprotect.

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

323. "Microsoft открыл CHERIoT, аппаратное решение для повышения б..."  +2 +/
Сообщение от Аноним (323), 06-Мрт-23, 15:37 
> Что то из перечисленного как мне кажется лишнее.

Нет. В этом вся суть ИТ индустрии. Николая Вирт писал об этом в средине 1980-тых. Инструкции процессора NX _просты_ и необходимы для написания _простого_ ядра OS с защитой памати без потери производительности. Это база, основы.

То, что в RISC-V засунули 3 бита для чтения, изменения, записи вместо чтения, ИСПОЛНЕНЯ, записи - выглядит как умышленное вредительство, аппаратный троян.

А сабж от M$ явно лишний. И простым его не назовешь.

> Не забывайте что базовый набор команд совсем небольшой.

Необходимый NX зажидили, но при этом инструкции виртуализации и сабж, включили.

> А насчет неисполняемого бита - еще для х86 было такое замечательное решение PaX.

Оно и сегодня есть и не только для x86 - это пример правельной, эталонной, реализации защиты памяти ядром OS на процессорах с NX (alpha, avr32,  i386, ia64, parisc, sparc, sparc64, x86_64) или поддерживающих посегментную работу с памятью: https://www.opennet.me/openforum/vsluhforumID3/129886.html#309

> А насчет W^X с OpenBSD.В статье Криса Касперского "переполнение буфера на системах с неисполняемым стеком" говориться что эта защита обходиться множественным вызовом функции mmprotect.

В OpenBSD есть НЕ корректная реализация защиты памяти, с дырявым дизайном.

Можешь попробовать эксплоиты для обхода W^X в OS c корректной реализацией защиты памяти:

Linux+PAX  -  https://mirror.yandex.ru/mirrors/ftp.linux.kiev.ua/Linux/CD/.../

NetBSD. -  https://netbsd.org

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

354. "Microsoft открыл CHERIoT, аппаратное решение для повышения б..."  +1 +/
Сообщение от Аноним (354), 13-Май-23, 18:52 
> То, что в RISC-V засунули 3 бита для чтения, изменения, записи вместо
> чтения, ИСПОЛНЕНЯ, записи - выглядит как умышленное вредительство, аппаратный троян.
> Необходимый NX зажидили, но при этом инструкции виртуализации и сабж, включили.
>> А насчет неисполняемого бита - еще для х86 было такое замечательное решение PaX.

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

(Figure 4.15) The permission bits, R, W, and X, indicate whether the page is readable, writable, and executable, respectively.

https://riscv.org/wp-content/uploads/2017/05/riscv-privilege...

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

355. "Microsoft открыл CHERIoT, аппаратное решение для повышения б..."  +/
Сообщение от Аноним (355), 24-Июн-23, 08:58 
Тесты RISC-V покажи: https://www.opennet.me/openforum/vsluhforumID3/129886.html#309

Важно иметь архитектуру CPU + ядро OS. В ядре OS тоже необходимо реализовать DAC для защиты оперативной памяти.

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

356. "Microsoft открыл CHERIoT, аппаратное решение для повышения б..."  +/
Сообщение от Аноним (356), 17-Сен-23, 17:01 
>[оверквотинг удален]
>> Я по быстрому просматривал документацию,этого там нет.
> Значит RISC-V - _г_о_в_н_о_ проц.
>> Но если нужна защита есть хитрый атрибуты для  атомарной операции.
> И как ты без NX будешь защиту памяти писать в OS? Надо
> реализовать: https://www.opennet.me/openforum/vsluhforumID3/129886.html#253
> Писали когда-то защиту и для 286 без NX, но с какими-то другими
> инструкциями, регистрами - тормоза, ад и израиль!
> Переписывать ядра OS никто не будет. Защита памяти уже реализована постранично или
> посегментно. Если проц не умеет ни постранично ни посегментно, то такое
> _г_о_в_н_и_щ_е_ никому ненужно!

Не было там никаких тормозов, NX можно реализовать через отдельный tlb для выполнения, там было что-то вроде выставить атрибуты страницы, выполнить инструкцию или выставить и прочитать, тогда в кеше для выполнения и чтения/записи были разные атрибуты страницы (no_access/rw) что-то в этом роде

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

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

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




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

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