Se ha presentado la versión del sistema operativo gratuito similar a UNIX OpenBSD 7.3. El proyecto OpenBSD fue fundado por Theo de Raadt en 1995 tras un conflicto con los desarrolladores de NetBSD, que resultó en el cierre del acceso de Theo al repositorio CVS de NetBSD. Después de esto, Theo de Raadt junto con un grupo de colaboradores creó un nuevo sistema operativo abierto basado en el árbol de fuentes de NetBSD, cuyos principales objetivos de desarrollo son la portabilidad (se admiten 13 plataformas de hardware), la estandarización, el funcionamiento correcto, la seguridad proactiva y herramientas criptográficas integradas. El tamaño de la imagen ISO completa del sistema base OpenBSD 7.3 es de 620 MB.
Además del propio sistema operativo, el proyecto OpenBSD es conocido por sus componentes, que se han difundido en otros sistemas y se han consolidado como algunas de las soluciones más seguras y de calidad. Entre ellos se encuentran: LibreSSL (un fork de OpenSSL), OpenSSH, el filtro de paquetes PF, los demonios de enrutamiento OpenBGPD y OpenOSPFD, el servidor NTP OpenNTPD, el correo electrónico servidor OpenSMTPD, el multiplexor de terminales de texto (similar a GNU screen) tmux, el demonio identd con implementación del protocolo IDENT, la alternativa BSDL al paquete GNU groff — mandoc, el protocolo para la organización de sistemas tolerantes a fallos CARP (Common Address Redundancy Protocol), un servidor http ligero, la herramienta de sincronización de archivos OpenRSYNC.
Principales mejoras:
- Se han implementado llamadas al sistema waitid (esperando el cambio de estado del proceso), pinsyscall (para transmitir información sobre el punto de entrada execve para protegerse contra ROP exploits), getthrname y setthrname (para obtener y establecer el nombre del hilo).
- Para todas las arquitecturas se ha utilizado clockintr, un programador de interrupciones de temporizador independiente del hardware.
- Se ha añadido sysctl kern.autoconf_serial, que se puede utilizar para rastrear el cambio de estado del árbol de dispositivos en el núcleo desde el espacio de usuario.
- Se ha mejorado el soporte para sistemas multiprocesador (SMP). Se han trasladado a la categoría mp-safe los filtros de eventos para los dispositivos tun y tap. Se han eliminado los bloqueos de las funciones select, pselect, poll, ppoll, getsockopt, setsockopt, mmap, munmap, mprotect, sched_yield, minherit y utrace, así como ioctl SIOCGIFCONF, SIOCGIFGMEMB, SIOCGIFGATTR y SIOCGIFGLIST. Se ha mejorado la gestión de bloqueos en el filtro de paquetes pf. Se ha aumentado la capacidad del sistema y la pila de red en sistemas de múltiples núcleos.
- La implementación del marco drm (Direct Rendering Manager) se ha sincronizado con el núcleo Linux 6.1.15 (en la versión anterior era 5.15.69). En el controlador amdgpu se ha añadido soporte para la GPU Ryzen 7000 'Raphael', Ryzen 7020 'Mendocino', Ryzen 7045 'Dragon Range', Radeon RX 7900 XT/XTX 'Navi 31', Radeon RX 7600M (XT), 7700S y 7600S 'Navi 33'. Se ha añadido soporte para la gestión de la retroiluminación en amdgpu y se ha asegurado que xbacklight funcione al utilizar el controlador X.Org modesetting. En Mesa, la caché de shaders está habilitada por defecto.
- Se han realizado mejoras en el hipervisor VMM.
- Se han implementado capacidades para una protección adicional de la memoria de los procesos en el espacio de usuario: la llamada del sistema mimmutable y la función de biblioteca homónima asociada, que permite fijar los permisos de acceso al reflejar en la memoria (mapeos de memoria). Una vez fijados, los permisos establecidos para el área de memoria, como la prohibición de escritura y ejecución, no se pueden modificar posteriormente mediante llamadas a las funciones mmap(), mprotect() y munmap(), que al intentar una modificación emitirán el error EPERM.
- En la arquitectura AMD64, se ha incluido un mecanismo de protección RETGUARD para llamadas del sistema, orientado a complicar la ejecución de exploits basados en el uso de piezas de código y técnicas de programación orientada a retornos.
- Se ha activado la protección contra la explotación de vulnerabilidades basada en la reconfiguración aleatoria del archivo ejecutable sshd en cada arranque del sistema. La reconfiguración hace que los desplazamientos de las funciones en sshd sean poco predecibles, lo que dificulta la creación de exploits que utilicen métodos de programación orientada a retornos.
- Se ha garantizado una aleatorización más agresiva de la ubicación de la pila en sistemas de 64 bits.
- Se ha añadido protección contra la vulnerabilidad Spectre-BHB en las estructuras microarquitetónicas de los procesadores.
- En los procesadores ARM64, se ha activado la bandera DIT (Data Independent Timing) para el espacio de usuario y el núcleo, con el fin de bloquear ataques de canales laterales que manipulan la dependencia del tiempo de ejecución de las instrucciones en función de los datos procesados en estas instrucciones.
- Se ha proporcionado la posibilidad de utilizar lladdr al definir configuraciones de red. Por ejemplo, además de enlazar con el nombre de la interfaz (hostname.fxp0), se puede utilizar un enlace con la dirección MAC (hostname.00:00:6e:00:34:8f).
- Se ha mejorado el soporte para la transición a modo de suspensión en sistemas basados en la arquitectura ARM64.
- Se ha ampliado significativamente el soporte para los chips ARM de Apple.
- Se ha añadido soporte para nuevo hardware y se han incluido nuevos controladores.
- En el controlador bwfm para tarjetas inalámbricas basadas en chips Broadcom y Cypress se ha implementado soporte para cifrado de WEP.
- En el instalador, se ha mejorado la compatibilidad con RAID de software y se ha implementado soporte inicial para el cifrado de discos (Cifrado Guiado de Discos).
- En tmux («multiplexor de terminal») se han añadido nuevos comandos scroll-top y scroll-bottom para desplazar el cursor al inicio y al final. Se han actualizado los paquetes LibreSSL y OpenSSH. Se puede ver un resumen detallado de las mejoras en las reseñas de LibreSSL 3.7.0, OpenSSH 9.2 y OpenSSH 9.3.
- El número de puertos para la arquitectura AMD64 es 11764 (antes 11451), para aarch64 es 11561 (antes 11261), para i386 es 10572 (antes 10225). Entre las versiones de aplicaciones en los puertos:
- Asterisk 16.30.0, 18.17.0 y 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 y 11.2.0
- GHC 9.2.7
- GNOME 43.3
- Go 1.20.1
- JDK 8u362, 11.0.18 y 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 y 5.4.4
- MariaDB 10.9.4
- Mono 6.12.0.182
- Mozilla Firefox 111.0 y ESR 102.9.0
- Mozilla Thunderbird 102.9.0
- Mutt 2.2.9 y 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 y 8.2.3
- Postfix 3.5.17 y 3.7.3
- PostgreSQL 15.2
- Python 2.7.18, 3.9.16, 3.10.10 y 3.11.2
- Qt 5.15.8 y 6.4.2
- R 4.2.1
- Ruby 3.0.5, 3.1.3 y 3.2.1
- Rust 1.68.0
- SQLite 2.8.17 y 3.41.0
- Shotcut 22.12.21
- Sudo 1.9.13.3
- Suricata 6.0.10
- Tcl/Tk 8.5.19 y 8.6.13
- TeX Live 2022
- Vim 9.0.1388 y Neovim 0.8.3
- Xfce 4.18
- Se han actualizado los componentes de terceros incorporados en OpenBSD 7.3:
- La pila gráfica Xenocara basada en X.Org 7.7 con xserver 1.21.6 + parches, 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 (+ parches)
- GCC 4.2.1 (+ parches) y 3.3.6 (+ parches)
- Perl 5.36.1 (+ parches)
- NSD 4.6.1
- Unbound 1.17
- Ncurses 5.7
- Binutils 2.17 (+ parches)
- Gdb 6.3 (+ parche)
- Awk 12.9.2022
- Expat 2.5.0.
Fuente: opennet.ru
