Представен е RELEASE на свободната UNIX-подобна операционна система OpenBSD 7.3. Проектът OpenBSD е основан от Тео де Раадт (Theo de Raadt) през 1995 година след конфликт с разработчиците на NetBSD, в резултат на който за Тео е затворен достъпът до CVS репозитория NetBSD. След това Тео де Раадт с група съмишленици създава нова отворена операционна система на базата на дървото с изходен код на NetBSD, като основните цели на нейното развитие са преносимост (поддържат се 13 хардуерни платформи), стандартизация, коректна работа, проактивна сигурност и интегрирани криптографски средства. Размерът на пълния инсталационен ISO образ на базовата система OpenBSD 7.3 е 620 MB.
Освен самата операционна система, проектът OpenBSD е известен със своите компоненти, които са получили разпространение в други системи и са се утвърдили като едни от най-сигурните и качествени решения. Сред тях: LibreSSL (форк на OpenSSL), OpenSSH, пакетният филтър PF, демоните за маршрутизация OpenBGPD и OpenOSPFD, NTP-сървър OpenNTPD, пощенски сървър OpenSMTPD, мултиплексор на текстови терминали (аналог на GNU screen) tmux, демон идентификация идентификации с реализация на протокола IDENT, BSDL-алтернатива на пакета GNU groff — mandoc, протокол за организиране на отказоустойчиви системи CARP (Common Address Redundancy Protocol), лек http-сървър, утилита за синхронизация на файлове OpenRSYNC.
Основни подобрения:
- Реализирани са системни повиквания waitid (изчакване на промяна в състоянието на процеса), pinsyscall (за предаване на информация за точката на вход execve за защита от ROP експлоити), getthrname и setthrname (получаване и задаване на името на потока).
- За всички архитектури е задействан clockintr, планиращ инструмент за прекъсвания от таймер, независим от оборудването.
- Добавен е sysctl kern.autoconf_serial, който може да се използва за проследяване на промени в състоянието на дървото на устройства в ядрото от потребителското пространство.
- Усъвършенствана е поддръжката на многопроцесорни системи (SMP). Филтрите за събития за устройствата tun и tap са преведени на ниво mp-safe. Функциите 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 е добавена поддръжка за управление на фоновото осветление и е осигурена работата на 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.
Източник: opennet.ru
