Найти тему
Проект OpenNet

Выпуск 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 (для передачи информации о точке входа execve для защиты от ROP-эксплоитов), 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. В Mesa по умолчанию включено кэширование шейдеров.
  • Внесены улучшения в гипервизор VMM.
  • Реализованы возможности для дополнительной защиты памяти процессов в пространстве пользователя: системный вызов mimmutable и связанная с ним одноимённая библиотечная функция, позволяющая зафиксировать права доступа при отражении в память (memory mappings). После фиксации, выставленные для области памяти права, например, запрет на запись и исполнение, невозможно в дальнейшем изменить через последующие вызовы функций mmap(), mprotect() и munmap(), которые при попытке изменения будут выдавать ошибку EPERM.
  • На архитектуре AMD64 для системных вызовов включён механизм защиты RETGUARD, нацеленный на усложнение выполнения эксплоитов, построенных с использованием заимствования кусков кода и приёмов возвратно-ориентированного программирования.
  • Включена защита от эксплуатации уязвимостей, основанная на случайной перекомпоновке исполняемого файла sshd при каждой загрузке системы. Перекомпоновка позволяет сделать малопредсказуемым смещения функций в sshd, что затруднит создание эксплоитов, использующих методы возвратно-ориентированного программирования.
  • Обеспечена более агрессивная рандомизация расположения стека на 64-разрядных системах.
  • Добавлена защита от уязвимости Spectre-BHB в микроархитектурных структурах процессоров.
  • На процессорах ARM64 для пространства пользователя и ядра задействован флаг DIT (Data Independent Timing) для блокирования атак по сторонним каналам, манипулирующих зависимостью времени выполнения инструкций от обрабатываемых в этих инструкциях данных.
  • Предоставления возможность использования lladdr при определении сетевых конфигураций. Например, помимо привязки к имени интерфейса (hostname.fxp0) можно использовать привязку к MAC-адресу (hostname.00:00:6e:00:34:8f).
  • Улучшена поддержка перехода в спящий режим для систем на базе архитектуры 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.