Представено издание свободната 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 е добавена поддръжка за управление на фоновото осветление и е осигурена работата на 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
