The OpenNET Project / Index page

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



"Уязвимость в ядре Linux, позволяющая получить права root"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Отдельный RSS теперь доступен для каждого обсуждения в форуме и каждого минипортала.
. "Уязвимость в ядре Linux, позволяющая получить права root" –1 +/
Сообщение от andrcmdremail (?), 23-Фев-17, 18:17 
Микроядро породит неизбежные проблемы IPC взаимодействия между процессами, что более медленно из-за частой смены уровней привелегий в рамках процессов и сохранения контекста вызовов. Интерфейсы механизма IPC между процессами и микроядром только усложнят код и породят ещё больше ошибок. При этом не нужно забывать, что ядро Linux имеет хорошую модульность и продуманную архитектуру, не смотря на монолитность, в угоду простоте и скорости работы.

Проблема не в архитектуре ядра - проблема в устаревшей технологии программирования и разработки, когда используется прямой доступ к памяти с ручным опасным управлением её сегментами (ещё и c оператором goto) в привелегированном режиме процессора и это считается нормой в системной и embedded разработке! Опасная технология системной разработки в среде Linux возводится в ранк фетишизма, как бритьё с опасным лезвием.

Но есть альтернативы - языки Rust и D.
Взять Rust.
Rust более сложный general purpose язык чем Си (позиционируется как безопасная альтернатива C++), безопасность заложена концептуально в основу языка, при этом язык по настоящему системный, с прямым и безопасным! доступом к памяти, благодаря умным runtime указателям и деструкторам, которые подчищают неиспользуемую программно память, используя подсчёт ссылок и представлены как типы данных в языке, т.е. указатели типизированные! и всего их два вида, но есть и возможность небезопасного доступа к памяти через объявление unsafe блока кода.

https://doc.rust-lang.org/std/rc/struct.Rc.html - умный указатель с подсчётом ссылок для однопоточного кода

https://doc.rust-lang.org/std/sync/struct.Arc.html - tread-safe тип умных указателей с подсчётом ссылок для многопоточного кода

В Rust используется весьма эффективная давно забытая конструкторно-деструкторная техника программирования, называемая RAII в C++, изобретённая в конце 80-х.
В разной литературе она также называется CADR (Constructor Acquires, Destructor Releases, CADRe) или SBRM (Scope-based Resource Management).

https://en.wikipedia.org/wiki/Resource_acquisition_is_initia...

https://en.wikipedia.org/wiki/Automatic_variable

На Rust можно безопасно писать любые системные программы - драйверы, работающие с оборудованием, подключенным к компьютерным шинам, модули ядра, как интерфейс между двайверами и системными вызовами, API ОС, с её ядром, можно даже своё ядро написать - проект микроядерной ОС Redox на Rust уже есть.

https://redox-os.org

https://github.com/redox-os/redox/

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

Оглавление
Уязвимость в ядре Linux, позволяющая получить права root, opennews, 22-Фев-17, 21:19  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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