Выпуск 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