Выпуск OpenBSD 7.3
Представлен выпуск свободной UNIX-подобной операционной системы OpenBSD 7.3. Проект OpenBSD был основан Тэо де Раадтом (Theo de Raadt) в 1995 году после конфликта с разработчиками NetBSD, в результате которого для Тэо был закрыт доступ к CVS репозиторию NetBSD. После этого Тэо де Раадт с группой единомышленников создал на базе дерева исходных текстов NetBSD новую открытую операционную систему, главными целями развития которой стали переносимость (поддерживается 13 аппаратных платформ), стандартизация, корректная работа, проактивная безопасность и интегрированные криптографические средства. Размер полного установочного ISO-образа базовой системы OpenBSD 7.3 составляет 620 МБ.
Кроме непосредственно операционной системы, проект OpenBSD известен своими компонентами, которые получили распространение в других системах и зарекомендовали себя как одни из наиболее безопасных и качественных решений. Среди них: LibreSSL (форк OpenSSL), OpenSSH, пакетный фильтр PF, демоны маршрутизации OpenBGPD и OpenOSPFD, NTP-сервер OpenNTPD, почтовый сервер OpenSMTPD, мультиплексор текстового терминала (аналог GNU screen) tmux, демон identd с реализацией протокола IDENT, BSDL-альтернатива пакету GNU groff — mandoc, протокол для организации отказоустойчивых систем CARP (Common Address Redundancy Protocol), легковесный http-сервер, утилита синхронизации файлов OpenRSYNC.
Основные улучшения:
- Реализованы системные вызовы waitid (ожидание изменения состояния процесса), pinsyscall (добавление заглушки для определённого системного вызова), getthrname и setthrname (получение и установка имени потока).
Для всех архитектур задействован clockintr, независящий от оборудования планировщик прерываний от таймера.
- Добавлен sysctl kern.autoconf_serial, который можно использовать для отслеживания изменения состояния device tree в ядре из пространства пользователя.
Усовершенствована поддержка многопроцессорных систем (SMP). Переведены в разряд mp-safe фильтры событий для устройств tun и tap. Избавлены от блокировок функции select, pselect, poll, ppoll, getsockopt, setsockopt, mmap, munmap, mprotect, sched_yield, minherit и utrace, а также ioctl SIOCGIFCONF, SIOCGIFGMEMB, SIOCGIFGATTR и SIOCGIFGLIST. Улучшена работа с блокировками в пакетном фильтре pf.
Реализация фреймворка drm (Direct Rendering Manager) синхронизирована с ядром Linux 6.1.15 (в прошлом выпуске — 5.15.69). В драйвер amdgpu добавлена поддержка GPU Ryzen 7000 «Raphael», Ryzen 7020 «Mendocino», Ryzen 7045 «Dragon Range», Radeon RX 7900 XT/XTX «Navi 31», Radeon RX 7600M (XT), 7700S и 7600S «Navi 33». В amdgpu добавлена поддержка управления фоновой подсветкой и обеспечена работаg xbacklight при использовании X.Org-драйвера modesetting.
Внесены улучшения в гипервизор VMM.
Реализованы возможности для дополнительной защиты памяти процессов в пространстве пользователя: системный вызов mimmutable и связанная с ним одноимённая библиотечная функция, позволяющая зафиксировать права доступа при отражении в память (memory mappings). После фиксации, выставленные для области памяти права, например, запрет на запись и исполнение, невозможно в дальнейшем изменить через последующие вызовы функций mmap (), mprotect () и munmap (), которые при попытке изменения будут выдавать ошибку EPERM.
На архитектуре AMD64 для системных вызовов включён механизм защиты RETGUARD, нацеленный на усложнение выполнения эксплоитов, построенных с использованием заимствования кусков кода и приёмов возвратно-ориентированного программирования.
Включена защита от эксплуатации уязвимостей, основанная на случайной перекомпоновке исполняемого файла sshd при каждой загрузке системы. Перекомпоновка позволяет сделать малопредсказуемым смещения функций в sshd, что затруднит создание эксплоитов, использующих методы возвратно-ориентированного программирования.
- Добавлена защита от уязвимости Spectre-BHB в микроархитектурных структурах процессоров.
На процессорах ARM64 для пространства пользователя и ядра задействован флаг DIT (Data Independent Timing) для блокирования атак по сторонним каналам, манипулирующих зависимостью времени выполнения инструкций от обрабатываемых в этих инструкциях данных.
- Улучшена поддержка перехода в спящий режим для систем на базе архитектуры ARM64.
Значительно расширена поддержка ARM-чипов Apple.
- Добавлена поддержка нового оборудования и включены в состав новые драйверы.
- В драйвере bwfm для беспроводных карт на базе чипов Broadcom и Cypress реализована поддержка шифрования для WEP.
- В инсталляторе улучшена работа с программными RAID и реализована начальная поддержка шифрования дисковых разделов (Guided Disk Encryption).
В tmux («terminal multiplexer») добавлены новые команды scroll-top и scroll-bottom для прокрутки курсора в начало и конец
Обновлены пакеты LibreSSL и OpenSSH. Подробный обзор улучшений можно посмотреть в обзорах LibreSSL 3.7.0, OpenSSH 9.2 и OpenSSH 9.3.
- Число портов для архитектуры AMD64 составило 11764 (было 11451), для aarch64 — 11561 (было 11261), для i386 — 10572 (было 10225). Среди версий приложений в портах:
- Asterisk 16.30.0, 18.17.0 и 20.2.0
- Audacity 3.2.5
- CMake 3.25.2
- Chromium 111.0.5563.110
- Emacs 28.2
- FFmpeg 4.4.3
- GCC 8.4.0 и 11.2.0
- GHC 9.2.7
- GNOME 43.3
- Go 1.20.1
- JDK 8u362, 11.0.18 и 17.0.6
- KDE Gears 22.12.3
- KDE Frameworks 5.103.0
- Krita 5.1.5
- LLVM/Clang 13.0.0
- LibreOffice 7.5.1.2
- Lua 5.1.5, 5.2.4, 5.3.6 и 5.4.4
- MariaDB 10.9.4
- Mono 6.12.0.182
- Mozilla Firefox 111.0 и ESR 102.9.0
- Mozilla Thunderbird 102.9.0
- Mutt 2.2.9 и NeoMutt 20220429
- Node.js 18.15.0
- OCaml 4.12.1
- OpenLDAP 2.6.4
- PHP 7.4.33, 8.0.28, 8.1.16 и 8.2.3
- Postfix 3.5.17 и 3.7.3
- PostgreSQL 15.2
- Python 2.7.18, 3.9.16, 3.10.10 и 3.11.2
- Qt 5.15.8 и 6.4.2
- R 4.2.1
- Ruby 3.0.5, 3.1.3 и 3.2.1
- Rust 1.68.0
- SQLite 2.8.17 и 3.41.0
- Shotcut 22.12.21
- Sudo 1.9.13.3
- Suricata 6.0.10
- Tcl/Tk 8.5.19 и 8.6.13
- TeX Live 2022
- Vim 9.0.1388 и Neovim 0.8.3
- Xfce 4.18
- Обновлены компоненты от сторонних разработчиков, входящие в состав OpenBSD 7.3:
- Графический стек Xenocara на базе X.Org 7.7 с xserver 1.21.6 + патчи, freetype 2.12.1, fontconfig 2.14, Mesa 22.3.4, xterm 378, xkeyboard-config 2.20, fonttosfnt 1.2.2.
- LLVM/Clang 13.0.0 (+ патчи)
- GCC 4.2.1 (+ патчи) и 3.3.6 (+ патчи)
- Perl 5.36.1 (+ патчи)
- NSD 4.6.1
- Unbound 1.17
- Ncurses 5.7
- Binutils 2.17 (+ патчи)
- Gdb 6.3 (+ патч)
- Awk 12.9.2022
- Expat 2.5.0.
Источник: http://www.opennet.ru/opennews/art.shtml? num=58944
© OpenNet